diff --git a/Classes/PluginConf.py b/Classes/PluginConf.py index c64b462c8..1f200138d 100644 --- a/Classes/PluginConf.py +++ b/Classes/PluginConf.py @@ -31,13 +31,14 @@ "Services": { "Order": 1, "param": { + "MatomoOptIn": {"type": "bool","default": 1,"current": None,"restart": 0,"hidden": False,"Advanced": False,}, "enablegroupmanagement": { "type": "bool", "default": 0, "current": None, "restart": 1, "hidden": False, "Advanced": False, }, "enableReadAttributes": { "type": "bool", "default": 0, "current": None, "restart": 1, "hidden": True, "Advanced": True, }, "internetAccess": { "type": "bool", "default": 1, "current": None, "restart": 1, "hidden": False, "Advanced": False, }, "CheckSSLCertificateValidity": { "type": "bool", "default": 0, "current": None, "restart": 1, "hidden": False, "Advanced": False, }, "allowOTA": { "type": "bool", "default": 1, "current": None, "restart": 1, "hidden": True, "Advanced": False, }, "pingDevices": { "type": "bool", "default": 1, "current": None, "restart": 1, "hidden": False, "Advanced": True, }, - "PluginAnalytics": { "type": "bool", "default": -1, "current": None, "restart": 0, "hidden": False, "Advanced": False, }, + "PluginAnalytics": { "type": "bool", "default": -1, "current": None, "restart": 0, "hidden": True, "Advanced": False, }, "DomoticzCustomMenu": { "type": "bool", "default": 1, "current": None, "restart": 1, "hidden": False, "Advanced": False, }, "NightShift": { "type": "bool", "default": 0, "current": None, "restart": 0, "hidden": False, "Advanced": False, } }, @@ -202,7 +203,6 @@ "PluginConfiguration": { "Order": 12, "param": { - "MatomoOptIn": {"type": "bool","default": 1,"current": None,"restart": 0,"hidden": False,"Advanced": True,}, "PosixPathUpdate": {"type": "bool","default": 1,"current": None,"restart": 0,"hidden": True,"Advanced": True,}, "storeDomoticzDatabase": {"type": "bool","default": 0,"current": None,"restart": 0,"hidden": False,"Advanced": True,}, "useDomoticzDatabase": {"type": "bool","default": 0,"current": None,"restart": 0,"hidden": False,"Advanced": True,}, @@ -547,8 +547,8 @@ def _load_Settings(self): if is_domoticz_db_available(self): _domoticz_pluginConf = getConfigItem(Key="PluginConf") if "TimeStamp" in _domoticz_pluginConf: - dz_timestamp = _domoticz_pluginConf["TimeStamp"] - _domoticz_pluginConf = _domoticz_pluginConf["b64Settings"] + dz_timestamp = _domoticz_pluginConf.get("TimeStamp",0) + _domoticz_pluginConf = _domoticz_pluginConf.get("b64Settings",{}) Domoticz.Log( "Plugin data loaded where saved on %s" % (time.strftime("%A, %Y-%m-%d %H:%M:%S", time.localtime(dz_timestamp))) diff --git a/Classes/WebServer/WebServer.py b/Classes/WebServer/WebServer.py index 1f931fb61..eaf3d4efd 100644 --- a/Classes/WebServer/WebServer.py +++ b/Classes/WebServer/WebServer.py @@ -31,8 +31,7 @@ domoticz_error_api, domoticz_log_api, domoticz_status_api) -from Modules.matomo_request import (matomo_opt_in_action, - matomo_opt_out_action) +from Modules.matomo_request import matomo_opt_in_action, matomo_opt_out_action from Modules.sendZigateCommand import sendZigateCmd from Modules.tools import get_device_nickname, is_hex from Modules.txPower import set_TxPower @@ -86,6 +85,7 @@ class WebServer(object): from Classes.WebServer.rest_CfgReporting import ( rest_cfgrpt_ondemand, rest_cfgrpt_ondemand_with_config) from Classes.WebServer.rest_change_ModelName import rest_change_model_name + from Classes.WebServer.rest_device_params import rest_device_param from Classes.WebServer.rest_Device_Settings_Help import \ rest_device_settings_help from Classes.WebServer.rest_Energy import (rest_req_nwk_full, diff --git a/Classes/WebServer/dispatcher.py b/Classes/WebServer/dispatcher.py index 0fe69bb3a..c90a2f4b9 100644 --- a/Classes/WebServer/dispatcher.py +++ b/Classes/WebServer/dispatcher.py @@ -19,146 +19,148 @@ def setup_list_rest_commands( self ): - + list_rest_commands = [ - ( {"Name": "battery-state", "Verbs": {"GET"}, "function": self.rest_battery_state} ), - ( {"Name": "bind-lst-cluster", "Verbs": {"GET"}, "function": self.rest_bindLSTcluster} ), - ( {"Name": "bind-lst-device", "Verbs": {"GET"}, "function": self.rest_bindLSTdevice} ), - ( {"Name": "binding", "Verbs": {"PUT"}, "function": self.rest_binding} ), - ( {"Name": "binding-table-req", "Verbs": {"GET"}, "function": self.rest_binding_table_req} ), - ( {"Name": "binding-table-disp", "Verbs": {"GET"}, "function": self.rest_binding_table_disp} ), - ( {"Name": "binding-group", "Verbs": {"PUT"}, "function": self.rest_group_binding} ), - ( {"Name": "casaia-list-devices", "Verbs": {"GET"}, "function": self.rest_casa_device_list } ), - ( {"Name": "casaia-update-ircode", "Verbs": {"PUT"}, "function": self.rest_casa_device_ircode_update } ), - ( {"Name": "cfgrpt-ondemand", "Verbs": {"GET"}, "function": self.rest_cfgrpt_ondemand} ), - ( {"Name": "cfgrpt-ondemand-config", "Verbs": { "GET", "PUT", "DELETE" }, "function": self.rest_cfgrpt_ondemand_with_config} ), - ( {"Name": "change-channel", "Verbs": {"PUT"}, "function": self.rest_change_channel} ), - ( {"Name": "change-model", "Verbs": {"PUT"}, "function": self.rest_change_model_name} ), - ( {"Name": "clear-error-history", "Verbs": {"GET"}, "function": self.rest_logErrorHistoryClear } ), - ( {"Name": "dev-cap", "Verbs": {"GET"}, "function": self.rest_dev_capabilities} ), - ( {"Name": "dev-command", "Verbs": {"PUT"}, "function": self.rest_dev_command} ), - ( {"Name": "device", "Verbs": {"GET"}, "function": self.rest_Device} ), - ( {"Name": "device-settings-help", "Verbs": {"GET"}, "function": self.rest_device_settings_help} ), - ( {"Name": "domoticz-env", "Verbs": {"GET"}, "function": self.rest_domoticz_env} ), - ( {"Name": "help", "Verbs": {"GET"}, "function": None} ), - ( {"Name": "full-reprovisionning", "Verbs": {"PUT"}, "function": self.rest_full_reprovisionning} ), - ( {"Name": "log-error-history", "Verbs": {"GET"}, "function": self.rest_logErrorHistory} ), - ( {"Name": "new-hrdwr", "Verbs": {"GET"}, "function": self.rest_new_hrdwr} ), - ( {"Name": "nwk-stat", "Verbs": {"GET", "DELETE"}, "function": self.rest_nwk_stat} ), - ( {"Name": "non-optmize-device-configuration", "Verbs": {"GET"}, "function": self.non_optmize_device_configuration} ), - ( {"Name": "ota-firmware-device-list", "Verbs": {"GET"}, "function": self.rest_ota_devices_for_manufcode } ), - ( {"Name": "ota-firmware-list", "Verbs": {"GET"}, "function": self.rest_ota_firmware_list} ), - ( {"Name": "ota-firmware-update", "Verbs": {"PUT"}, "function": self.rest_ota_firmware_update } ), - ( {"Name": "permit-to-join", "Verbs": {"GET", "PUT"}, "function": self.rest_PermitToJoin} ), - ( {"Name": "plugin-ping", "Verbs": {"GET"}, "function": self.rest_plugin_ping} ), - ( {"Name": "plugin-health", "Verbs": {"GET"}, "function": self.rest_plugin_health} ), - ( {"Name": "plugin-log", "Verbs": {"GET"}, "function": self.rest_logPlugin} ), - ( {"Name": "plugin-upgrade", "Verbs": {"GET"}, "function": self.rest_plugin_upgrade} ), - ( {"Name": "plugin-restart", "Verbs": {"GET"}, "function": self.rest_plugin_restart} ), - ( {"Name": "plugin-stat", "Verbs": {"GET"}, "function": self.rest_plugin_stat} ), - ( {"Name": "plugin", "Verbs": {"GET"}, "function": self.rest_PluginEnv} ), - ( {"Name": "raw-command", "Verbs": {"PUT"}, "function": self.rest_raw_command} ), - ( {"Name": "raw-zigbee", "Verbs": {"PUT"}, "function": self.rest_raw_zigbee} ), - ( {"Name": "rcv-nw-hrdwr", "Verbs": {"GET"}, "function": self.rest_rcv_nw_hrdwr} ), - ( {"Name": "recreate-widgets", "Verbs": {"PUT"}, "function": self.rest_recreate_widgets} ), - ( {"Name": "reload-device-conf", "Verbs": {"GET"}, "function": self.rest_reload_device_conf} ), - ( {"Name": "req-nwk-full", "Verbs": {"GET"}, "function": self.rest_req_nwk_full} ), - ( {"Name": "req-nwk-inter", "Verbs": {"GET"}, "function": self.rest_req_nwk_inter} ), - ( {"Name": "req-topologie", "Verbs": {"GET"}, "function": self.rest_req_topologie} ), - ( {"Name": "rescan-groups", "Verbs": {"GET"}, "function": self.rest_rescan_group} ), - ( {"Name": "restart-needed", "Verbs": {"GET"}, "function": self.rest_restart_needed} ), - ( {"Name": "scan-device-for-grp", "Verbs": {"PUT"}, "function": self.rest_scan_devices_for_group } ), - ( {"Name": "setting-debug", "Verbs": {"GET", "PUT"}, "function": self.rest_Settings_with_debug} ), - ( {"Name": "setting", "Verbs": {"GET", "PUT"}, "function": self.rest_Settings_wo_debug} ), - ( {"Name": "sw-reset-zigate", "Verbs": {"GET"}, "function": self.rest_reset_zigate} ), - ( {"Name": "sw-reset-coordinator", "Verbs": {"GET"}, "function": self.rest_reset_zigate} ), - ( {"Name": "topologie", "Verbs": {"GET", "DELETE"}, "function": self.rest_netTopologie} ), - ( {"Name": "unbinding", "Verbs": {"PUT"}, "function": self.rest_unbinding} ), - ( {"Name": "unbinding-group", "Verbs": {"PUT"}, "function": self.rest_group_unbinding} ), - ( {"Name": "upgrade-certified-devices", "Verbs": {"GET"}, "function": self.rest_certified_devices_update} ), - ( {"Name": "zdevice-name", "Verbs": {"GET", "PUT", "DELETE"}, "function": self.rest_zDevice_name} ), - ( {"Name": "zdevice-raw", "Verbs": {"GET", "PUT"}, "function": self.rest_zDevice_raw} ), - ( {"Name": "zdevice", "Verbs": {"GET", "DELETE"}, "function": self.rest_zDevice} ), - ( {"Name": "zgroup-list-available-device", "Verbs": {"GET"}, "function": self.rest_zGroup_lst_avlble_dev } ), - ( {"Name": "zgroup", "Verbs": {"GET", "PUT"}, "function": self.rest_zGroup} ), - ( {"Name": "zigate-erase-PDM", "Verbs": {"GET"}, "function": self.rest_zigate_erase_PDM} ), - ( {"Name": "zigate-mode", "Verbs": {"GET"}, "function": self.rest_zigate_mode} ), - ( {"Name": "zigate", "Verbs": {"GET"}, "function": self.rest_zigate } ), - ( {"Name": "zlinky", "Verbs": {"GET"}, "function": self.rest_zlinky } ), - ( {"Name": "coordinator-erase-PDM", "Verbs": {"GET"}, "function": self.rest_zigate_erase_PDM} ), - ( {"Name": "coordinator-mode", "Verbs": {"GET"}, "function": self.rest_zigate_mode} ), - ( {"Name": "coordinator", "Verbs": {"GET"}, "function": self.rest_zigate} ), + {"Name": "battery-state", "Verbs": {"GET"}, "function": self.rest_battery_state}, + {"Name": "bind-lst-cluster", "Verbs": {"GET"}, "function": self.rest_bindLSTcluster}, + {"Name": "bind-lst-device", "Verbs": {"GET"}, "function": self.rest_bindLSTdevice}, + {"Name": "binding", "Verbs": {"PUT"}, "function": self.rest_binding}, + {"Name": "binding-table-req", "Verbs": {"GET"}, "function": self.rest_binding_table_req}, + {"Name": "binding-table-disp", "Verbs": {"GET"}, "function": self.rest_binding_table_disp}, + {"Name": "binding-group", "Verbs": {"PUT"}, "function": self.rest_group_binding}, + {"Name": "casaia-list-devices", "Verbs": {"GET"}, "function": self.rest_casa_device_list }, + {"Name": "casaia-update-ircode", "Verbs": {"PUT"}, "function": self.rest_casa_device_ircode_update }, + {"Name": "cfgrpt-ondemand", "Verbs": {"GET"}, "function": self.rest_cfgrpt_ondemand}, + {"Name": "cfgrpt-ondemand-config", "Verbs": { "GET", "PUT", "DELETE" }, "function": self.rest_cfgrpt_ondemand_with_config}, + {"Name": "change-channel", "Verbs": {"PUT"}, "function": self.rest_change_channel}, + {"Name": "change-model", "Verbs": {"PUT"}, "function": self.rest_change_model_name}, + {"Name": "clear-error-history", "Verbs": {"GET"}, "function": self.rest_logErrorHistoryClear }, + {"Name": "dev-cap", "Verbs": {"GET"}, "function": self.rest_dev_capabilities}, + {"Name": "dev-command", "Verbs": {"PUT"}, "function": self.rest_dev_command}, + {"Name": "device", "Verbs": {"GET"}, "function": self.rest_Device}, + {"Name": "device-param", "Verbs": {"GET", "PUT"}, "function": self.rest_device_param}, + {"Name": "device-settings-help", "Verbs": {"GET"}, "function": self.rest_device_settings_help}, + {"Name": "domoticz-env", "Verbs": {"GET"}, "function": self.rest_domoticz_env}, + {"Name": "help", "Verbs": {"GET"}, "function": None}, + {"Name": "full-reprovisionning", "Verbs": {"PUT"}, "function": self.rest_full_reprovisionning}, + {"Name": "log-error-history", "Verbs": {"GET"}, "function": self.rest_logErrorHistory}, + {"Name": "new-hrdwr", "Verbs": {"GET"}, "function": self.rest_new_hrdwr}, + {"Name": "nwk-stat", "Verbs": {"GET", "DELETE"}, "function": self.rest_nwk_stat}, + {"Name": "non-optmize-device-configuration", "Verbs": {"GET"}, "function": self.non_optmize_device_configuration}, + {"Name": "ota-firmware-device-list", "Verbs": {"GET"}, "function": self.rest_ota_devices_for_manufcode }, + {"Name": "ota-firmware-list", "Verbs": {"GET"}, "function": self.rest_ota_firmware_list}, + {"Name": "ota-firmware-update", "Verbs": {"PUT"}, "function": self.rest_ota_firmware_update }, + {"Name": "permit-to-join", "Verbs": {"GET", "PUT"}, "function": self.rest_PermitToJoin}, + {"Name": "plugin-ping", "Verbs": {"GET"}, "function": self.rest_plugin_ping}, + {"Name": "plugin-health", "Verbs": {"GET"}, "function": self.rest_plugin_health}, + {"Name": "plugin-log", "Verbs": {"GET"}, "function": self.rest_logPlugin}, + {"Name": "plugin-upgrade", "Verbs": {"GET"}, "function": self.rest_plugin_upgrade}, + {"Name": "plugin-restart", "Verbs": {"GET"}, "function": self.rest_plugin_restart}, + {"Name": "plugin-stat", "Verbs": {"GET"}, "function": self.rest_plugin_stat}, + {"Name": "plugin", "Verbs": {"GET"}, "function": self.rest_PluginEnv}, + {"Name": "raw-command", "Verbs": {"PUT"}, "function": self.rest_raw_command}, + {"Name": "raw-zigbee", "Verbs": {"PUT"}, "function": self.rest_raw_zigbee}, + {"Name": "rcv-nw-hrdwr", "Verbs": {"GET"}, "function": self.rest_rcv_nw_hrdwr}, + {"Name": "recreate-widgets", "Verbs": {"PUT"}, "function": self.rest_recreate_widgets}, + {"Name": "reload-device-conf", "Verbs": {"GET"}, "function": self.rest_reload_device_conf}, + {"Name": "req-nwk-full", "Verbs": {"GET"}, "function": self.rest_req_nwk_full}, + {"Name": "req-nwk-inter", "Verbs": {"GET"}, "function": self.rest_req_nwk_inter}, + {"Name": "req-topologie", "Verbs": {"GET"}, "function": self.rest_req_topologie}, + {"Name": "rescan-groups", "Verbs": {"GET"}, "function": self.rest_rescan_group}, + {"Name": "restart-needed", "Verbs": {"GET"}, "function": self.rest_restart_needed}, + {"Name": "scan-device-for-grp", "Verbs": {"PUT"}, "function": self.rest_scan_devices_for_group }, + {"Name": "setting-debug", "Verbs": {"GET", "PUT"}, "function": self.rest_Settings_with_debug}, + {"Name": "setting", "Verbs": {"GET", "PUT"}, "function": self.rest_Settings_wo_debug}, + {"Name": "sw-reset-zigate", "Verbs": {"GET"}, "function": self.rest_reset_zigate}, + {"Name": "sw-reset-coordinator", "Verbs": {"GET"}, "function": self.rest_reset_zigate}, + {"Name": "topologie", "Verbs": {"GET", "DELETE"}, "function": self.rest_netTopologie}, + {"Name": "unbinding", "Verbs": {"PUT"}, "function": self.rest_unbinding}, + {"Name": "unbinding-group", "Verbs": {"PUT"}, "function": self.rest_group_unbinding}, + {"Name": "upgrade-certified-devices", "Verbs": {"GET"}, "function": self.rest_certified_devices_update}, + {"Name": "zdevice-name", "Verbs": {"GET", "PUT", "DELETE"}, "function": self.rest_zDevice_name}, + {"Name": "zdevice-raw", "Verbs": {"GET", "PUT"}, "function": self.rest_zDevice_raw}, + {"Name": "zdevice", "Verbs": {"GET", "DELETE"}, "function": self.rest_zDevice}, + {"Name": "zgroup-list-available-device", "Verbs": {"GET"}, "function": self.rest_zGroup_lst_avlble_dev }, + {"Name": "zgroup", "Verbs": {"GET", "PUT"}, "function": self.rest_zGroup}, + {"Name": "zigate-erase-PDM", "Verbs": {"GET"}, "function": self.rest_zigate_erase_PDM}, + {"Name": "zigate-mode", "Verbs": {"GET"}, "function": self.rest_zigate_mode}, + {"Name": "zigate", "Verbs": {"GET"}, "function": self.rest_zigate }, + {"Name": "zlinky", "Verbs": {"GET"}, "function": self.rest_zlinky }, + {"Name": "coordinator-erase-PDM", "Verbs": {"GET"}, "function": self.rest_zigate_erase_PDM}, + {"Name": "coordinator-mode", "Verbs": {"GET"}, "function": self.rest_zigate_mode}, + {"Name": "coordinator", "Verbs": {"GET"}, "function": self.rest_zigate}, ] - - for command in list_rest_commands: - _name = command["Name"] - _verbs = command["Verbs"] - _function = command["function"] - if _name in REST_COMMANDS: - self.logging("Error", "setup_list_rest_commands - %s already loaded" %_name) - REST_COMMANDS[ _name ] = { "Name": _name, "Verbs": _verbs, "function": _function} + + for rest_command in list_rest_commands: + name = rest_command["Name"] + if name in REST_COMMANDS: + self.logging("Error", f"setup_list_rest_commands - {name} already loaded") + else: + REST_COMMANDS[name] = { + "Name": name, + "Verbs": rest_command["Verbs"], + "function": rest_command["function"] + } + def do_rest(self, Connection, verb, data, version, command, parameters): - - self.logging("Debug", "do_rest - Verb: %s, Command: %s, Param: %s" % (verb, command, parameters)) + self.logging("Debug", f"do_rest - Verb: {verb}, Command: {command}, Param: {parameters}") - HTTPresponse = {} + HTTPresponse = None if command in REST_COMMANDS and verb in REST_COMMANDS[command]["Verbs"]: - self.logging("Debug", "do_rest - Verb: %s, Command: %s, Param: %s found ready to execute" % (verb, command, parameters)) + self.logging("Debug", f"do_rest - Verb: {verb}, Command: {command}, Param: {parameters} found, ready to execute") HTTPresponse = execute_rest_command(self, verb, data, version, command, parameters) - else: - self.logging("Error", "do_rest - Verb: %s, Command: %s, Param: %s not found !" % (verb, command, parameters)) + self.logging("Error", f"do_rest - Verb: {verb}, Command: {command}, Param: {parameters} not found!") - self.logging("Debug", "==> return HTTPresponse: %s" % (HTTPresponse)) - if HTTPresponse == {} or HTTPresponse is None: - # We reach here due to failure ! + # Handle missing or invalid response + if not HTTPresponse: + self.logging("Debug", "do_rest - No valid HTTPresponse, preparing error message") HTTPresponse = prepare_error_message(self, command) - self.logging("Debug", "==> sending HTTPresponse: %s to %s" % (HTTPresponse, Connection)) + self.logging("Debug", f"==> sending HTTPresponse: {HTTPresponse} to {Connection}") self.sendResponse(Connection, HTTPresponse) def execute_rest_command(self, verb, data, version, command, parameters): response = setupHeadersResponse() - if self.pluginconf.pluginConf["enableKeepalive"]: - response["Headers"]["Connection"] = "Keep-alive" - else: - response["Headers"]["Connection"] = "Close" - response["Headers"]["Cache-Control"] = "no-cache, no-store, must-revalidate" - response["Headers"]["Pragma"] = "no-cache" - response["Headers"]["Expires"] = "0" - response["Headers"]["Accept"] = "*/*" - + connection_status = "Keep-alive" if self.pluginconf.pluginConf["enableKeepalive"] else "Close" + response["Headers"].update({ + "Connection": connection_status, + "Cache-Control": "no-cache, no-store, must-revalidate", + "Pragma": "no-cache", + "Expires": "0", + "Accept": "*/*", + }) + if command == "help": - response = prepare_help_response(self) + return prepare_help_response(self) - elif version == "1" and REST_COMMANDS[command]["function"]: - self.logging("Debug", "do_rest - calling REST_COMMANDS[%s]['function'] with %s %s %s" % (command, verb, data, parameters)) - response = REST_COMMANDS[command]["function"](verb, data, parameters) + if version == "1" and (func := REST_COMMANDS[command].get("function")): + self.logging("Debug", f"do_rest - calling REST_COMMANDS[{command}]['function'] with {verb}, {data}, {parameters}") + return func(verb, data, parameters) - elif version == "2" and REST_COMMANDS[command]["functionv2"]: - response = REST_COMMANDS[command]["functionv2"](verb, data, parameters) + if version == "2" and (func_v2 := REST_COMMANDS[command].get("functionv2")): + return func_v2(verb, data, parameters) return response def prepare_help_response(self): response = prepResponseMessage(self, setupHeadersResponse()) - _data = {} - for x in REST_COMMANDS: - _data[x] = {"Verbs": []} - for y in REST_COMMANDS[x]["Verbs"]: - _data[x]["Verbs"].append(y) - response["Data"] = json.dumps(_data) + response["Data"] = json.dumps({ + x: {"Verbs": REST_COMMANDS[x]["Verbs"]} for x in REST_COMMANDS + }) return response - + def prepare_error_message(self, command): response = prepResponseMessage(self, setupHeadersResponse()) - response["Status"] = "400 BAD REQUEST" - response["Data"] = "Unknown REST command: %s" % command + response.update({ + "Status": "400 BAD REQUEST", + "Data": f"Unknown REST command: {command}", + }) response["Headers"]["Content-Type"] = "text/plain; charset=utf-8" return response diff --git a/Classes/WebServer/rest_PluginUpgrade.py b/Classes/WebServer/rest_PluginUpgrade.py index bdd16d390..25176a1dd 100644 --- a/Classes/WebServer/rest_PluginUpgrade.py +++ b/Classes/WebServer/rest_PluginUpgrade.py @@ -14,6 +14,7 @@ import os import subprocess # nosec from pathlib import Path +import sys import distro import z4d_certified_devices @@ -35,10 +36,14 @@ def rest_plugin_upgrade(self, verb, data, parameters): pluginFolder = Path(self.pluginParameters["HomeFolder"]) upgrade_script = str( pluginFolder / PLUGIN_UPGRADE_SCRIPT) + # Identify the current Python version + python_version = f"{sys.version_info.major}.{sys.version_info.minor}" + self.logging("Log", f"Current Python version: {python_version}") + self.logging("Log", "Plugin Upgrade starting: %s" %(upgrade_script)) process = subprocess.run( - upgrade_script , + f"{upgrade_script} {python_version}", cwd=self.pluginParameters["HomeFolder"], universal_newlines=True, text=True, diff --git a/Classes/WebServer/rest_device_params.py b/Classes/WebServer/rest_device_params.py new file mode 100644 index 000000000..2e4d659a0 --- /dev/null +++ b/Classes/WebServer/rest_device_params.py @@ -0,0 +1,94 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# +# Implementation of Zigbee for Domoticz plugin. +# +# This file is part of Zigbee for Domoticz plugin. https://github.com/zigbeefordomoticz/Domoticz-Zigbee +# (C) 2015-2024 +# +# Initial authors: zaraki673 & pipiche38 +# +# SPDX-License-Identifier: GPL-3.0 license + +import json +from time import time + +from Classes.WebServer.headerResponse import (prepResponseMessage, + setupHeadersResponse) +from Modules.paramDevice import sanity_check_of_param + + +def rest_device_param(self, verb, data, parameters): + + self.logging("Log", "rest_update_device_param -->Verb: %s Data: %s Parameters: %s" % (verb, data, parameters)) + if verb == "GET": + return rest_get_device_param(self, parameters) + + elif verb == "PUT": + return rest_update_device_param(self, data) + + return prepResponseMessage(self, setupHeadersResponse()) + + +def rest_get_device_param( self, parameters): + + _response = prepResponseMessage(self, setupHeadersResponse()) + + if len(parameters) != 1: + return _log_and_return_with_error(self, "rest_get_device_param - unexpected parameter: %s", parameters, "unexpected parameter %s ", _response, ) + + nwkid = parameters[0] + if len(nwkid) == 16: + # We are assuming that is an ieee instead of nwkid + nwkid = self.IEEE2NWK.get( nwkid ) + + if nwkid not in self.ListOfDevices: + return _log_and_return_with_error(self, "rest_get_device_param - Unknown device %s ", nwkid, "unknown device %s ", _response, ) + device_info = self.ListOfDevices.get( nwkid ) + device_param = device_info.get("Param", "{}") + + _response["Data"] = json.dumps(device_param, sort_keys=False) + return _response + + +def rest_update_device_param(self, data): + + # curl -X PUT -d '{ + # "Param": {'Disabled': 0, 'resetMotiondelay': 0, 'ConfigurationReportChunk': 3, 'ReadAttributeChunk': 4}, + # "NWKID": "1234" + # }' http://127.0.0.1:9441/rest-z4d/1/device-param + + _response = prepResponseMessage(self, setupHeadersResponse()) + + data = data.decode("utf8") + data = eval(data) + self.logging( "Log", "rest_update_device_param - Data: %s" % data) + + parameter = data.get("Param") + nwkid = data.get("NWKID") + ieee = data.get("IEEE") + + if nwkid is None and ieee is None: + return _log_and_return_with_error(self, "rest_update_device_param - missing IEEE or NWKID", "unexpected parameter %s ", _response, ) + + if ieee: + nwkid = self.IEEE2NWK.get( ieee ) + + if parameter is None or nwkid is None: + return _log_and_return_with_error(self, "rest_update_device_param - unexpected parameter: %s", data, "unexpected parameter %s ", _response, ) + if nwkid not in self.ListOfDevices: + return _log_and_return_with_error(self, "rest_update_device_param - Unknown device %s ", nwkid, "unknown device %s ", _response, ) + old_parameter = self.ListOfDevices[ nwkid ].get("Param") + _response["Data"] = {"NwkId %s set Param from: %s to %s" % (nwkid, old_parameter, parameter)} + + self.ListOfDevices[ nwkid ]["Param"] = parameter + + sanity_check_of_param(self, nwkid) + + return _response + + +def _log_and_return_with_error(self, arg0, arg1, arg2, _response): + self.logging("Error", arg0 % arg1) + _response["Data"] = {arg2 % arg1} + return _response diff --git a/Modules/database.py b/Modules/database.py index 7e6c71889..2c3b561dc 100644 --- a/Modules/database.py +++ b/Modules/database.py @@ -284,8 +284,8 @@ def _read_DeviceList_Domoticz(self): ListOfDevices_from_Domoticz = getConfigItem(Key="ListOfDevices", Attribute="Devices") time_stamp = 0 if "TimeStamp" in ListOfDevices_from_Domoticz: - time_stamp = ListOfDevices_from_Domoticz["TimeStamp"] - ListOfDevices_from_Domoticz = ListOfDevices_from_Domoticz["Devices"] + time_stamp = ListOfDevices_from_Domoticz.get("TimeStamp",0) + ListOfDevices_from_Domoticz = ListOfDevices_from_Domoticz.get("Devices",{}) self.log.logging( "Database", "Log", diff --git a/Tools/big-clean-git.sh b/Tools/big-clean-git.sh deleted file mode 100644 index a42dd8624..000000000 --- a/Tools/big-clean-git.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - - -rm -rf .flake8 .github .gitmodules IMPORTANT.md CONTRIBUTING.md LICENSE.txt MANIFEST.in -rm -rf Conf/Certified -rm -rf Classes -rm -rf Modules -rm -rf Tools -rm -rf Zigbee -rm -rf Zigate-Firmware -rm -rf bellows -rm -rf zigpy -rm -rf zigpy_znp -rm -rf zigpy_deconz -rm -rf external - - -git config --add submodule.recurse true -git reset --hard diff --git a/Tools/clean-git.sh b/Tools/clean-git.sh deleted file mode 100644 index eabd6055b..000000000 --- a/Tools/clean-git.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -#Cleans and resets a git repo and its submodules - -git reset --hard -git submodule sync --recursive -git submodule update --init --force --recursive diff --git a/Tools/cleaning-repository.sh b/Tools/cleaning-repository.sh new file mode 100644 index 000000000..a7c83bde8 --- /dev/null +++ b/Tools/cleaning-repository.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +# This script performs a cleanup in the local repository to allow a git pull without issues. + +# Ensure the script is run from the correct directory +if [ ! -d ".git" ]; then + echo "This script must be run from the root of the git repository." + exit 1 +fi + +# Warning message +echo "WARNING: This script will remove all local changes and reset the repository." +echo "If you have made any local updates, they will be removed." +read -p "Do you want to continue? (YES/no): " choice + +if [ "$choice" != "YES" ]; then + echo "Operation cancelled." + exit 0 +fi + +echo "" +echo "Removing directories tracked by git, except Data, Conf, and OTAFirmware..." +# Remove directories tracked by git, except Data and Conf +for dir in $(git ls-tree -d --name-only HEAD); do + if [ "$dir" != "Data" ] && [ "$dir" != "Conf" ] && [ "$dir" != "OTAFirmware" ]; then + echo "Removing $dir..." + rm -rf "$dir" + fi +done + +echo "Resetting the repository..." +git reset --hard + +echo "Pulling the latest changes from the repository..." +git pull + +echo "" +echo "Cleanup and update process completed." + +echo "" +echo "Repository status:" +git status + +echo "" +echo "Current branch:" +git branch --show-current + +echo "" +echo "Latest commits:" +git log -n 5 --oneline \ No newline at end of file diff --git a/Tools/plugin-auto-upgrade.sh b/Tools/plugin-auto-upgrade.sh index 2835c04d5..95c02a614 100755 --- a/Tools/plugin-auto-upgrade.sh +++ b/Tools/plugin-auto-upgrade.sh @@ -7,85 +7,158 @@ exec 2>&1 echo "Starting Zigbee for Domoticz plugin Upgrade process." echo "----------------------------------------------------" - -if [ -z ${HOME} ]; then - export HOME=$(pwd) -fi - -env -echo " " - -/usr/bin/id -echo " " - -/usr/bin/whoami -echo " " - -PIP_OPTIONS="--no-input install -r requirements.txt --ignore-requires-python --upgrade" - -if command -v lsb_release &> /dev/null; then - DISTRIB_ID=$(lsb_release -is) - DISTRIB_RELEASE=$(lsb_release -rs) - if [ "$DISTRIB_ID" = "Debian" ] && [ "$DISTRIB_RELEASE" = "12" ]; then - PIP_OPTIONS="$PIP_OPTIONS --break-system-packages" +# Function to set HOME environment variable if not set +set_home() { + if [ -z ${HOME} ]; then + export HOME=$(pwd) fi -fi -echo "PIP Options: $PIP_OPTIONS" - - - -echo "Current version : $(cat .hidden/VERSION)" -echo "latest git commit: $(git log --pretty=oneline -1)" -echo "" - -echo "(1) git config --global --add safe.directory" -git config --global --add safe.directory $(pwd) -git config --global --add safe.directory $(pwd)/external/zigpy -git config --global --add safe.directory $(pwd)/external/zigpy-znp -git config --global --add safe.directory $(pwd)/external/zigpy-zigate -git config --global --add safe.directory $(pwd)/external/zigpy-deconz -git config --global --add safe.directory $(pwd)/external/bellows - -echo " " -echo "(2) updating Zigbee for Domoticz plugin" -echo "" -echo "Setup submodule.recurse $(git config --add submodule.recurse true)" -echo "" -git pull --recurse-submodules -#git pull --recurse-submodules && git submodule update --recursive -ret="$?" -if [ "$ret" != "0" ] ; then - echo "ERROR while running command 'git pull --recurse-submodules'." - echo "Git Status: $(git status)" - exit -1 -fi - -echo " " -echo "(3) update python3 modules if needed" -echo "" -if [ "$(whoami)" == "root" ]; then - # Si l'utilisateur est root - python3 -m pip $PIP_OPTIONS -else - # Si l'utilisateur n'est pas root, utilisez sudo - sudo python3 -m pip $PIP_OPTIONS -fi -ret="$?" -if [ "$ret" != "0" ] ; then - echo "ERROR while running command 'sudo python3 -m pip --no-input install -r requirements.txt --ignore-requires-python --upgrade'." - echo "Is sudo available for this user without password ?" - exit -2 -fi - -echo " " -echo "(4) git config --global --unset safe.directory" -git config --global --unset-all safe.directory $(pwd)/external/bellows -git config --global --unset-all safe.directory $(pwd)/external/zigpy-deconz -git config --global --unset-all safe.directory $(pwd)/external/zigpy-zigate -git config --global --unset-all safe.directory $(pwd)/external/zigpy-znp -git config --global --unset-all safe.directory $(pwd)/external/zigpy -git config --global --unset-all safe.directory $(pwd) +} + +# Function to print environment details +print_env_details() { + env + echo " " + /usr/bin/id + echo " " + /usr/bin/whoami + echo " " +} + +# Function to set PIP options based on the distribution +set_pip_options() { + PIP_OPTIONS="--no-input install -r requirements.txt --ignore-requires-python --upgrade" + if command -v lsb_release &> /dev/null; then + DISTRIB_ID=$(lsb_release -is) + DISTRIB_RELEASE=$(lsb_release -rs) + if [ "$DISTRIB_ID" = "Debian" ] && [ "$DISTRIB_RELEASE" = "12" ]; then + PIP_OPTIONS="$PIP_OPTIONS --break-system-packages" + fi + fi + echo "PIP Options: $PIP_OPTIONS" +} + +# Function to check if pip is installed in the virtual environment +check_pip_in_venv() { + if [ ! -f "$VENV_PATH/bin/$PYTHON_VERSION" ]; then + echo "pip is not installed in the virtual environment. Installing pip..." + install_pip + $PYTHON_VERSION -m venv $VENV_PATH + fi +} + +# Function to install pip +install_pip() { + if command -v lsb_release &> /dev/null && [ "$(lsb_release -is)" = "Debian" ] || [ "$(lsb_release -is)" = "Ubuntu" ]; then + echo "We are expecting the user to properly install python3-pip package. if not yet done !!" + else + $PYTHON_VERSION -m ensurepip + $PYTHON_VERSION -m pip install --upgrade pip virtualenv -t $VENV_PATH + fi +} + +# Function to activate virtual environment +activate_venv() { + echo "Using virtual environment at: $VENV_PATH" + source $VENV_PATH/bin/activate +} + +# Function to check and activate virtual environment +check_and_activate_venv() { + if [ -n "$PYTHONPATH" ]; then + echo "PYTHONPATH is set to: $PYTHONPATH" + VENV_PATH=$(echo $PYTHONPATH | cut -d':' -f1) + if [ -d "$VENV_PATH/bin" ]; then + check_pip_in_venv + else + echo "Virtual environment path $VENV_PATH does not exist" + echo "pip is not installed in the virtual environment. Installing pip..." + install_pip + $PYTHON_VERSION -m venv $VENV_PATH + fi + VENV_ACTIVATED=true + activate_venv + else + echo "PYTHONPATH is not set" + VENV_ACTIVATED=false + fi +} + +# Function to install python3-pip on Debian if necessary +install_pip_on_debian() { + if command -v lsb_release &> /dev/null; then + DISTRIB_ID=$(lsb_release -is) + DISTRIB_RELEASE=$(lsb_release -rs) + if [ "$DISTRIB_ID" = "Debian" ] && [ "$DISTRIB_RELEASE" = "12" ]; then + if ! command -v pip3 &> /dev/null; then + echo "pip3 is not installed. Installing python3-pip..." + sudo apt-get update + sudo apt-get install -y python3-pip + fi + fi + fi +} + +# Function to update git configuration +update_git_config() { + echo "(1) git config --global --add safe.directory" + git config --global --add safe.directory $(pwd) +} + +# Function to update python modules +update_python_modules() { + echo " " + echo "(2) update $PYTHON_VERSION modules if needed" + echo "" + if [ "$VENV_ACTIVATED" = true ]; then + $VENV_PATH/bin/python3 -m pip $PIP_OPTIONS -t $VENV_PATH + else + if [ "$(whoami)" == "root" ]; then + $PYTHON_VERSION -m pip $PIP_OPTIONS + else + sudo $PYTHON_VERSION -m pip $PIP_OPTIONS + fi + fi + ret="$?" + if [ "$ret" != "0" ] ; then + echo "ERROR while running command '$PYTHON_VERSION -m pip $PIP_OPTIONS'." + echo "Is sudo available for this user without password ?" + exit -2 + fi +} + +# Function to print current version and latest git commit +print_version_info() { + echo "Current version : $(cat .hidden/VERSION)" + echo "latest git commit: $(git log --pretty=oneline -1)" + echo "" +} + +# Main script execution +PYTHON_VERSION="python${1:-3}" +PIP_VERSION="python${1:-3}" + +set_home +print_env_details +set_pip_options +#install_pip_on_debian +check_and_activate_venv +print_version_info +update_git_config +update_python_modules echo " " echo "Plugin Upgrade process completed without errors." exit 0 + +# Documentation: +# This script automates the upgrade process for the Zigbee for Domoticz plugin. +# It performs the following steps: +# 1. Sets the HOME environment variable if not already set. +# 2. Prints environment details for debugging purposes. +# 3. Sets PIP options based on the distribution. +# 4. Checks if PYTHONPATH is set and activates the virtual environment if available. +# 5. Installs python3-pip on Debian if necessary. +# 6. Updates the git configuration to add the current directory as a safe directory. +# 7. Updates Python modules using pip. +# 8. Prints the current version and latest git commit of the plugin. +# 9. Completes the upgrade process and exits. diff --git a/Tools/printLOD.py b/Tools/printLOD.py index 6bb49798a..44233661d 100644 --- a/Tools/printLOD.py +++ b/Tools/printLOD.py @@ -1,37 +1,57 @@ -import os.path - - -while 1: - print("Enter the DeviceList.txt filename: ") - filename=input() - if os.path.exists(filename): - break - - -nb = 0 -with open( filename, 'r') as myfile2: - for line in myfile2: - if not line.strip() : - #Empty line - continue - (key, val) = line.split(":",1) - key = key.replace(" ","") - key = key.replace("'","") +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# +# Implementation of Zigbee for Domoticz plugin. +# +# This file is part of Zigbee for Domoticz plugin. https://github.com/zigbeefordomoticz/Domoticz-Zigbee +# (C) 2015-2024 +# +# Initial authors: zaraki673 & pipiche38 +# +# SPDX-License-Identifier: GPL-3.0 license - dlVal=eval(val) - print("%-10s %s" %('NwkID', key)) - for i, j in dlVal.items(): - if 'Ep' == i: - # Ep {'01': {'0000': {}, 'ClusterType': {'576': 'ColorControl'}, '0003': {}, '0004': {}, '0005': {}, '0006': '00', '0008': {}, '0300': {}, '0b05': {}, '1000': {}}} - print("Ep") - j = eval(str(j)) - for k,l in j.items(): - print(" %-10s %s" %(k,l)) - else: - print("%-10s %s" %(i,j)) - - print("======") - - -myfile2.close() +import os.path +def main(): + """ + Main function to prompt the user for a filename and process the DeviceList.txt file. + """ + while True: + print("Enter the DeviceList.txt filename: ") + filename = input() + if os.path.exists(filename): + break + + process_file(filename) + +def process_file(filename): + """ + Process the given DeviceList.txt file and print its contents in a formatted manner. + + Args: + filename (str): The name of the DeviceList.txt file to process. + """ + with open(filename, 'r') as myfile2: + for line in myfile2: + if not line.strip(): + # Empty line + continue + key, val = line.split(":", 1) + key = key.replace(" ", "").replace("'", "") + + dlVal = eval(val) + print("%-10s %s" % ('NwkID', key)) + for i, j in dlVal.items(): + if i == 'Ep': + # Ep {'01': {'0000': {}, 'ClusterType': {'576': 'ColorControl'}, '0003': {}, '0004': {}, '0005': {}, '0006': '00', '0008': {}, '0300': {}, '0b05': {}, '1000': {}}} + print("Ep") + j = eval(str(j)) + for k, l in j.items(): + print(" %-10s %s" % (k, l)) + else: + print("%-10s %s" % (i, j)) + + print("======") + +if __name__ == "__main__": + main() diff --git a/plugin.py b/plugin.py index 0c245cae1..3a78a9991 100644 --- a/plugin.py +++ b/plugin.py @@ -310,6 +310,13 @@ def __init__(self): def onStart(self): Domoticz.Status( "Welcome to Zigbee for Domoticz (Z4D) plugin.") + + # Print PYTHONPATH if set + pythonpath = os.getenv('PYTHONPATH') + if pythonpath: + Domoticz.Status(f"PYTHONPATH is set to: {pythonpath}") + else: + Domoticz.Status("PYTHONPATH is not set") _current_python_version_major = sys.version_info.major _current_python_version_minor = sys.version_info.minor @@ -395,6 +402,9 @@ def onStart(self): self.zigbee_communication, self.VersionNewFashion, self.DomoticzMajor, self.DomoticzMinor, Parameters["HomeFolder"], self.HardwareID ) + self.pluginconf.pluginConf["useDomoticzDatabase"] = False + self.pluginconf.pluginConf["storeDomoticzDatabase"] = False + if self.internet_available is None: self.internet_available = is_internet_available() @@ -1343,6 +1353,7 @@ def zigateInit_Phase3(self): self.iaszonemgt.setZigateIEEE(self.ControllerIEEE) if self.internet_available and self.pluginconf.pluginConf["MatomoOptIn"]: + self.log.logging("Plugin", "Status", "Sending Analytics information. (disable the MatomoOptIn parameter to stop this)") matomo_plugin_started(self) if self.internet_available and self.pluginconf.pluginConf["MatomoOptIn"]: diff --git a/www/z4d/12.445878b6b97c587c.js b/www/z4d/12.9b43b1ddebc052a8.js similarity index 99% rename from www/z4d/12.445878b6b97c587c.js rename to www/z4d/12.9b43b1ddebc052a8.js index b93f7a9fe..d720e6681 100644 --- a/www/z4d/12.445878b6b97c587c.js +++ b/www/z4d/12.9b43b1ddebc052a8.js @@ -1 +1 @@ -"use strict";(self.webpackChunkz4d_plugin=self.webpackChunkz4d_plugin||[]).push([[12],{55012:(z,F,c)=>{c.r(F),c.d(F,{DeviceModule:()=>U});var l=c(89417),g=c(93887),d=c(93331),_=c(38117),e=c(54438),u=c(3366),m=c(19664),v=c(88652),h=c(45794),f=c(83801),E=c(60177),p=c(46247),y=c(5779),k=c(22242),I=c(81141);let j=(()=>{class n{iconName;static \u0275fac=function(a){return new(a||n)};static \u0275cmp=e.VBU({type:n,selectors:[["shared-custom-icon"]],inputs:{iconName:"iconName"},decls:5,vars:1,consts:[["preserveAspectRatio","xMidYMid meet","viewBox","0 0 64 64",1,"w-25"]],template:function(a,i){1&a&&(e.qSk(),e.j41(0,"svg",0),e.EFF(1,"\n "),e.nrm(2,"use"),e.EFF(3,"\n"),e.k0s(),e.EFF(4,"\n")),2&a&&(e.R7$(2),e.BMQ("href","assets/icons.svg#"+i.iconName,null,"xlink"))},encapsulation:2})}return n})();const C=()=>["_NwkId","IEEE","Model","WidgetList","ZDeviceName","MacCapa","Status","Health"],T=()=>[10,25,50];function N(n,r){if(1&n){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"div",14),e.EFF(2,"\n "),e.j41(3,"span",15),e.EFF(4,"\n "),e.nrm(5,"i",16),e.EFF(6,"\n "),e.j41(7,"input",17),e.nI1(8,"translate"),e.bIt("input",function(i){e.eBV(t),e.XpG();const o=e.sdS(18);return e.Njj(o.filterGlobal(i.target.value,"contains"))}),e.k0s(),e.EFF(9,"\n "),e.k0s(),e.EFF(10,"\n "),e.k0s(),e.EFF(11,"\n ")}if(2&n){e.XpG();const t=e.sdS(18);e.R7$(7),e.FS9("placeholder",e.bMT(8,2,"device.byname.placeholder")),e.Y8G("value",null==t.filters.global?null:t.filters.global.value)}}function D(n,r){1&n&&(e.EFF(0,"\n "),e.j41(1,"th",38),e.EFF(2),e.nI1(3,"translate"),e.nrm(4,"p-sortIcon",39),e.EFF(5,"\n "),e.k0s(),e.EFF(6,"\n ")),2&n&&(e.R7$(2),e.SpI("\n ",e.bMT(3,1,"device.byname.rssi.column"),""))}function R(n,r){if(1&n&&(e.EFF(0,"\n "),e.j41(1,"tr"),e.EFF(2,"\n "),e.j41(3,"th",18),e.EFF(4),e.nI1(5,"translate"),e.k0s(),e.EFF(6,"\n "),e.j41(7,"th",18),e.EFF(8),e.nI1(9,"translate"),e.k0s(),e.EFF(10,"\n "),e.j41(11,"th",19),e.EFF(12),e.nI1(13,"translate"),e.nrm(14,"p-sortIcon",20),e.EFF(15,"\n "),e.k0s(),e.EFF(16,"\n "),e.j41(17,"th",21),e.EFF(18),e.nI1(19,"translate"),e.nrm(20,"p-sortIcon",22),e.EFF(21,"\n "),e.k0s(),e.EFF(22,"\n "),e.j41(23,"th",23),e.EFF(24),e.nI1(25,"translate"),e.nrm(26,"p-sortIcon",24),e.EFF(27,"\n "),e.k0s(),e.EFF(28,"\n "),e.j41(29,"th",25),e.EFF(30),e.nI1(31,"translate"),e.nrm(32,"p-sortIcon",26),e.EFF(33,"\n "),e.k0s(),e.EFF(34,"\n "),e.j41(35,"th",27),e.EFF(36),e.nI1(37,"translate"),e.nrm(38,"p-sortIcon",28),e.EFF(39,"\n "),e.k0s(),e.EFF(40,"\n "),e.j41(41,"th",29),e.EFF(42),e.nI1(43,"translate"),e.nrm(44,"p-sortIcon",30),e.EFF(45,"\n "),e.k0s(),e.EFF(46,"\n "),e.j41(47,"th",31),e.EFF(48),e.nI1(49,"translate"),e.nrm(50,"p-sortIcon",32),e.EFF(51,"\n "),e.k0s(),e.EFF(52,"\n "),e.DNE(53,D,7,3),e.j41(54,"th",33),e.EFF(55),e.nI1(56,"translate"),e.nrm(57,"p-sortIcon",34),e.EFF(58,"\n "),e.k0s(),e.EFF(59,"\n "),e.j41(60,"th",35),e.EFF(61),e.nI1(62,"translate"),e.nrm(63,"p-sortIcon",36),e.EFF(64,"\n "),e.k0s(),e.EFF(65,"\n "),e.j41(66,"th",37),e.EFF(67),e.nI1(68,"translate"),e.k0s(),e.EFF(69,"\n "),e.k0s(),e.EFF(70,"\n ")),2&n){const t=e.XpG();e.R7$(4),e.SpI("\n ",e.bMT(5,13,"device.byname.trash.column"),"\n "),e.R7$(4),e.SpI("\n ",e.bMT(9,15,"device.byname.optimized.column"),"\n "),e.R7$(4),e.SpI("\n ",e.bMT(13,17,"device.byname.shortid.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(19,19,"device.byname.ieee.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(25,21,"device.byname.model.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(31,23,"device.byname.widget.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(37,25,"device.byname.devicename.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(43,27,"device.byname.capabilities.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(49,29,"device.byname.lqi.column"),""),e.R7$(5),e.vxM(53,t.showRSSI?53:-1),e.R7$(2),e.SpI("\n ",e.bMT(56,31,"device.byname.status.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(62,33,"device.byname.health.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(68,35,"device.byname.devicename.param"),"\n ")}}function S(n,r){if(1&n&&e.nrm(0,"button",48),2&n){const t=e.XpG(),i=t.expanded;e.Y8G("pRowToggler",t.$implicit)("icon",i?"pi pi-chevron-down":"pi pi-chevron-right")}}function w(n,r){if(1&n){const t=e.RV6();e.j41(0,"i",49),e.nI1(1,"translate"),e.bIt("click",function(){e.eBV(t);const i=e.XpG().$implicit,o=e.XpG(),s=e.sdS(34);return o.rowToDelete=i,e.Njj(o.open(s))}),e.k0s()}2&n&&e.FS9("title",e.bMT(1,1,"device.byname.delete.colum"))}function B(n,r){if(1&n){const t=e.RV6();e.qex(0),e.EFF(1,"\n "),e.j41(2,"div",50),e.bIt("click",function(){e.eBV(t);const i=e.XpG().$implicit,o=e.XpG();return e.Njj(o.copy(i))}),e.EFF(3,"\n "),e.j41(4,"div",51),e.EFF(5,"\n "),e.j41(6,"shared-custom-icon",52),e.nI1(7,"translate"),e.nI1(8,"translate"),e.EFF(9,"\n "),e.k0s(),e.EFF(10,"\n "),e.k0s(),e.EFF(11,"\n "),e.k0s(),e.EFF(12,"\n "),e.bVm()}2&n&&(e.R7$(6),e.FS9("ngbPopover",e.bMT(7,2,"device.byname.optimized.popover.text.ok")),e.FS9("popoverTitle",e.bMT(8,4,"device.byname.optimized.popover.title.ok")))}function M(n,r){if(1&n){const t=e.RV6();e.qex(0),e.EFF(1,"\n "),e.j41(2,"div",50),e.bIt("click",function(){e.eBV(t);const i=e.XpG().$implicit,o=e.XpG();return e.Njj(o.copy(i))}),e.EFF(3,"\n "),e.j41(4,"div",51),e.EFF(5,"\n "),e.j41(6,"shared-custom-icon",53),e.nI1(7,"translate"),e.nI1(8,"translate"),e.EFF(9,"\n "),e.k0s(),e.EFF(10,"\n "),e.k0s(),e.EFF(11,"\n "),e.k0s(),e.EFF(12,"\n "),e.bVm()}2&n&&(e.R7$(6),e.FS9("ngbPopover",e.bMT(7,2,"device.byname.optimized.popover.text.ko")),e.FS9("popoverTitle",e.bMT(8,4,"device.byname.optimized.popover.title.ko")))}function $(n,r){if(1&n&&(e.j41(0,"div"),e.EFF(1),e.k0s()),2&n){const t=r.$implicit;e.R7$(),e.SpI("\n ",t,"\n ")}}function x(n,r){if(1&n){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"input",54),e.mxI("ngModelChange",function(i){e.eBV(t);const o=e.XpG().$implicit;return e.DH7(o.ZDeviceName,i)||(o.ZDeviceName=i),e.Njj(i)}),e.bIt("input",function(){e.eBV(t);const i=e.XpG(2);return e.Njj(i.hasEditing=!0)}),e.k0s(),e.EFF(2,"\n ")}if(2&n){const t=e.XpG().$implicit;e.R7$(),e.R50("ngModel",t.ZDeviceName)}}function G(n,r){if(1&n){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"input",54),e.mxI("ngModelChange",function(i){e.eBV(t);const o=e.XpG().$implicit;return e.DH7(o.ZDeviceName,i)||(o.ZDeviceName=i),e.Njj(i)}),e.bIt("input",function(){e.eBV(t);const i=e.XpG(2);return e.Njj(i.hasEditing=!0)}),e.k0s(),e.EFF(2,"\n ")}if(2&n){const t=e.XpG().$implicit;e.R7$(),e.R50("ngModel",t.ZDeviceName)}}function V(n,r){if(1&n&&(e.j41(0,"div"),e.EFF(1),e.k0s()),2&n){const t=r.$implicit;e.R7$(),e.SpI("\n ",t,"\n ")}}function P(n,r){if(1&n&&(e.EFF(0,"\n "),e.j41(1,"td"),e.EFF(2),e.k0s(),e.EFF(3,"\n ")),2&n){const t=e.XpG().$implicit;e.R7$(2),e.JRh(t.RSSI)}}function X(n,r){if(1&n){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"tr"),e.EFF(2,"\n "),e.j41(3,"td"),e.EFF(4,"\n "),e.DNE(5,S,1,2,"button",40),e.EFF(6,"\n "),e.DNE(7,w,2,3,"i",41),e.EFF(8,"\n "),e.k0s(),e.EFF(9,"\n "),e.j41(10,"td"),e.EFF(11,"\n "),e.DNE(12,B,13,6,"ng-container",42),e.EFF(13,"\n "),e.DNE(14,M,13,6,"ng-container",42),e.EFF(15,"\n "),e.k0s(),e.EFF(16,"\n "),e.j41(17,"td"),e.EFF(18),e.k0s(),e.EFF(19,"\n "),e.j41(20,"td"),e.EFF(21),e.k0s(),e.EFF(22,"\n "),e.j41(23,"td"),e.EFF(24),e.k0s(),e.EFF(25,"\n "),e.j41(26,"td"),e.EFF(27,"\n "),e.DNE(28,$,2,1,"div",43),e.EFF(29,"\n "),e.k0s(),e.EFF(30,"\n "),e.j41(31,"td",44),e.EFF(32,"\n "),e.j41(33,"p-cellEditor"),e.EFF(34,"\n "),e.DNE(35,x,3,1,"ng-template",45),e.EFF(36,"\n "),e.DNE(37,G,3,1,"ng-template",46),e.EFF(38,"\n "),e.k0s(),e.EFF(39,"\n "),e.k0s(),e.EFF(40,"\n "),e.j41(41,"td"),e.EFF(42,"\n "),e.DNE(43,V,2,1,"div",43),e.EFF(44,"\n "),e.k0s(),e.EFF(45,"\n "),e.j41(46,"td"),e.EFF(47),e.k0s(),e.EFF(48,"\n "),e.DNE(49,P,4,1),e.j41(50,"td"),e.EFF(51),e.k0s(),e.EFF(52,"\n "),e.j41(53,"td"),e.EFF(54),e.k0s(),e.EFF(55,"\n "),e.j41(56,"td"),e.EFF(57,"\n "),e.j41(58,"i",47),e.nI1(59,"translate"),e.nI1(60,"translate"),e.bIt("click",function(){const i=e.eBV(t).$implicit,o=e.XpG(),s=e.sdS(37);return o.rowParameter=i,e.Njj(o.editParameter(s))}),e.k0s(),e.EFF(61,"\n "),e.k0s(),e.EFF(62,"\n "),e.k0s(),e.EFF(63,"\n ")}if(2&n){const t=r.$implicit,a=e.XpG();e.R7$(5),e.Y8G("ngIf","{}"!==t.Param),e.R7$(2),e.Y8G("ngIf","not in DZ"===t.ConsistencyCheck||"Bad Pairing"===t.ConsistencyCheck||!t.WidgetList||0===t.WidgetList.length),e.R7$(5),e.Y8G("ngIf",t.CertifiedDevice),e.R7$(2),e.Y8G("ngIf",!t.CertifiedDevice),e.R7$(4),e.JRh(t._NwkId),e.R7$(3),e.JRh(t.IEEE),e.R7$(3),e.JRh(t.Model),e.R7$(4),e.Y8G("ngForOf",t.WidgetList),e.R7$(3),e.Y8G("pEditableColumn",t.ZDeviceName),e.R7$(12),e.Y8G("ngForOf",t.MacCapa),e.R7$(4),e.JRh(t.LQI),e.R7$(2),e.vxM(49,a.showRSSI?49:-1),e.R7$(2),e.JRh(t.Status),e.R7$(3),e.JRh(t.Health),e.R7$(4),e.xc7("color",t.CheckParam?"orange":"green"),e.FS9("ngbPopover",e.bMT(59,18,"device.byname.parameter.popover.text")),e.FS9("popoverTitle",e.bMT(60,20,"device.byname.parameter.popover.title"))}}function O(n,r){if(1&n&&(e.EFF(0,"\n "),e.j41(1,"tr"),e.EFF(2,"\n "),e.j41(3,"td",55),e.EFF(4,"\n "),e.j41(5,"div",56),e.EFF(6,"\n "),e.j41(7,"div"),e.EFF(8,"\n "),e.j41(9,"strong"),e.EFF(10),e.nI1(11,"translate"),e.k0s(),e.EFF(12),e.k0s(),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n "),e.k0s(),e.EFF(15,"\n "),e.k0s(),e.EFF(16,"\n ")),2&n){const t=r.$implicit;e.R7$(10),e.SpI("",e.bMT(11,2,"device.byname.devicename.param")," : "),e.R7$(2),e.SpI(" ",t.Param,"\n ")}}function L(n,r){if(1&n){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"div",57),e.EFF(2,"\n "),e.nrm(3,"h4",58),e.EFF(4,"\n "),e.j41(5,"button",59),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.dismiss("Cross click"))}),e.k0s(),e.EFF(6,"\n "),e.k0s(),e.EFF(7,"\n "),e.nrm(8,"div",60),e.EFF(9,"\n "),e.j41(10,"div",61),e.EFF(11,"\n "),e.j41(12,"button",62),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.close("erase"))}),e.k0s(),e.EFF(13,"\n "),e.j41(14,"button",63),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.dismiss("cancel"))}),e.k0s(),e.EFF(15,"\n "),e.k0s(),e.EFF(16,"\n")}}function Y(n,r){if(1&n){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"div",57),e.EFF(2,"\n "),e.nrm(3,"h4",64),e.EFF(4,"\n "),e.j41(5,"button",59),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.close("cancel"))}),e.k0s(),e.EFF(6,"\n "),e.k0s(),e.EFF(7,"\n "),e.j41(8,"div",65),e.EFF(9,"\n "),e.nrm(10,"div",66),e.nI1(11,"translate"),e.EFF(12,"\n "),e.j41(13,"div",67),e.EFF(14,"\n "),e.j41(15,"input",68),e.bIt("click",function(){e.eBV(t);const i=e.XpG();return e.Njj(i.onChangeEnabled())}),e.k0s(),e.EFF(16,"\n "),e.nrm(17,"label",69),e.EFF(18,"\n "),e.k0s(),e.EFF(19,"\n "),e.j41(20,"div",70),e.EFF(21),e.nI1(22,"translate"),e.k0s(),e.EFF(23,"\n "),e.j41(24,"textarea",71),e.mxI("ngModelChange",function(i){e.eBV(t);const o=e.XpG();return e.DH7(o.parameter,i)||(o.parameter=i),e.Njj(i)}),e.k0s(),e.EFF(25,"\n "),e.k0s(),e.EFF(26,"\n "),e.j41(27,"div",61),e.EFF(28,"\n "),e.j41(29,"button",72),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.dismiss("cancel"))}),e.k0s(),e.EFF(30,"\n "),e.j41(31,"button",73),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.close("save"))}),e.k0s(),e.EFF(32,"\n "),e.k0s(),e.EFF(33,"\n")}if(2&n){const t=e.XpG();e.R7$(10),e.Y8G("innerHTML",e.bMT(11,4,"device.byname.parameter.alert.subject"),e.npT),e.R7$(5),e.Y8G("checked",t.enabled),e.R7$(6),e.SpI("",e.bMT(22,6,"device.byname.devicename.param")," :"),e.R7$(3),e.R50("ngModel",t.parameter)}}const b=new _.Vy("DeviceByNameComponent");let Z=(()=>{class n{apiService;translate;modalService;toastr;clipboard;devices;rows=[];hasEditing=!1;rowToDelete;rowParameter;parameter;expanded={};enabled=!1;prefixEnabled="Disabled";enabledTrue="'Disabled': 0";enabledFalse="'Disabled': 1";showRSSI=!1;constructor(t,a,i,o,s){this.apiService=t,this.translate=a,this.modalService=i,this.toastr=o,this.clipboard=s}ngOnChanges(t){t.devices.currentValue!==t.devices.previousValue&&(this.rows=this.devices,this.showRSSI=this.devices.filter(a=>a.RSSI).length>0)}open(t){this.modalService.open(t,{ariaLabelledBy:"modal-basic-title"}).result.then(()=>{this.delete()})}editParameter(t){this.parameter=this.rowParameter.Param,this.enabled=!this.parameter.includes(this.enabledFalse),this.enabled?(this.parameter=this.parameter.replace(this.enabledTrue.concat(","),""),this.parameter=this.parameter.replace(this.enabledTrue,"")):(this.parameter=this.parameter.replace(this.enabledFalse.concat(","),""),this.parameter=this.parameter.replace(this.enabledFalse,"")),this.modalService.open(t,{ariaLabelledBy:"modal-basic-title"}).result.then(()=>{this.parameter.includes(this.prefixEnabled)?this.toastr.error(this.translate.instant("device.byname.error.notify")):(this.parameter=this.parameter.replace("{",this.enabled?"{".concat(this.enabledTrue).concat(", "):"{".concat(this.enabledFalse).concat(", ")),this.updateValueJson(this.parameter,"Param",this.rowParameter._NwkId))})}onChangeEnabled(){this.enabled=!this.enabled}delete(){this.apiService.deleteZDeviceName(this.rowToDelete._NwkId).subscribe(()=>{const t=this.rows.indexOf(this.rowToDelete,0);this.rowToDelete=null,t>-1&&(this.rows.splice(t,1),this.rows=[...this.rows])})}updateValue(t,a,i){this.updateValueJson(t.target.value,a,i)}updateValueJson(t,a,i){this.hasEditing=!0;const o=this.rows.find(s=>s._NwkId===i);o?o[a]=t:b.error("row not found")}updateDevices(){this.apiService.putZDeviceName(this.rows).subscribe(t=>{b.debug(t),this.hasEditing=!1,this.toastr.success(this.translate.instant("api.global.succes.saved.notify"))})}copy(t){this.apiService.getNonOptimizedDevice(t._NwkId).subscribe(a=>this.clipboard.copy(JSON.stringify(a)))}static \u0275fac=function(a){return new(a||n)(e.rXU(u.G),e.rXU(m.c$),e.rXU(v.Bq),e.rXU(h.tw),e.rXU(f.B0))};static \u0275cmp=e.VBU({type:n,selectors:[["app-device-by-name"]],inputs:{devices:"devices"},features:[e.OA$],decls:39,vars:26,consts:[["dt1",""],["content",""],["editContent",""],[1,"card"],[1,"card-header","fw-bold"],[1,"btn","btn-primary","float-end",3,"click","disabled","translate"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],["styleClass","p-datatable-sm","dataKey","_NwkId","responsiveLayout","scroll","stateStorage","local","stateKey","device",3,"globalFilterFields","rowHover","showCurrentPageReport","currentPageReportTemplate","rowsPerPageOptions","value","rows","paginator","scrollable"],["pTemplate","caption"],["pTemplate","header"],["pTemplate","body"],["pTemplate","rowexpansion"],[1,"flex"],[1,"p-input-icon-left","ml-auto"],[1,"pi","pi-search"],["pInputText","","type","text",3,"input","value","placeholder"],[2,"width","1rem"],["pSortableColumn","_NwkId",2,"width","7rem"],["field","_NwkId"],["pSortableColumn","IEEE",2,"width","5rem"],["field","IEEE"],["pSortableColumn","Model",2,"width","13rem"],["field","Model"],["pSortableColumn","WidgetList",2,"width","15rem"],["field","WidgetList"],["pSortableColumn","ZDeviceName",2,"width","20rem"],["field","ZDeviceName"],["pSortableColumn","MacCapa",2,"width","10rem"],["field","MacCapa"],["pSortableColumn","LQI",2,"width","5rem"],["field","LQI"],["pSortableColumn","Status",2,"width","7rem"],["field","Status"],["pSortableColumn","Health",2,"width","6rem"],["field","Health"],[2,"width","2rem"],["pSortableColumn","RSSI",2,"width","5rem"],["field","RSSI"],["type","button","pButton","","pRipple","","class","p-button-text p-button-rounded p-button-plain",3,"pRowToggler","icon",4,"ngIf"],["class","fa fa-trash","style","cursor: pointer",3,"title","click",4,"ngIf"],[4,"ngIf"],[4,"ngFor","ngForOf"],["pEditableColumnField","ZDeviceName",3,"pEditableColumn"],["pTemplate","input"],["pTemplate","output"],["triggers","mouseenter:mouseleave",1,"fas","fa-cog",2,"cursor","pointer",3,"click","ngbPopover","popoverTitle"],["type","button","pButton","","pRipple","",1,"p-button-text","p-button-rounded","p-button-plain",3,"pRowToggler","icon"],[1,"fa","fa-trash",2,"cursor","pointer",3,"click","title"],[3,"click"],[1,"container"],["triggers","mouseenter:mouseleave","iconName","CHECK_ICON",1,"container__icon","container__icon--green",3,"ngbPopover","popoverTitle"],["triggers","mouseenter:mouseleave","iconName","X_ICON",1,"container__icon","container__icon--orange",3,"ngbPopover","popoverTitle"],["pInputText","","type","text",3,"ngModelChange","input","ngModel"],["colspan","12"],[2,"padding-left","35px"],[1,"modal-header"],["id","modal-basic-title","translate","device.byname.alert.title",1,"modal-title"],["type","button","aria-label","Close",1,"btn-close",3,"click"],["translate","device.byname.alert.subject",1,"modal-body"],[1,"modal-footer"],["type","button","translate","device.byname.alert.delete",1,"btn","btn-primary",3,"click"],["type","button","translate","device.byname.alert.cancel",1,"btn","btn-outline-dark",3,"click"],["id","modal-basic-title","translate","device.byname.parameter.alert.title",1,"modal-title"],[1,"modal-body"],[3,"innerHTML"],[1,"switch","switch-sm","mt-3","me-2","pe-3"],["type","checkbox","id","switch-enabled",3,"click","checked"],["for","switch-enabled","translate","device.byname.devicename.enabled",1,"mb-0"],[1,"mt-3"],["name","parameter","rows","5",3,"ngModelChange","ngModel"],["type","button","translate","device.byname.parameter.alert.cancel",1,"btn","btn-outline-dark",3,"click"],["type","button","translate","device.byname.parameter.alert.save",1,"btn","btn-primary",3,"click"]],template:function(a,i){if(1&a){const o=e.RV6();e.j41(0,"div",3),e.EFF(1,"\n "),e.j41(2,"div",4),e.EFF(3),e.nI1(4,"translate"),e.j41(5,"button",5),e.nI1(6,"translate"),e.bIt("click",function(){return e.eBV(o),e.Njj(i.updateDevices())}),e.k0s(),e.EFF(7,"\n "),e.k0s(),e.EFF(8,"\n "),e.j41(9,"div",6),e.EFF(10,"\n "),e.nrm(11,"p",7),e.nI1(12,"translate"),e.nI1(13,"translate"),e.EFF(14,"\n "),e.j41(15,"div",8),e.EFF(16,"\n "),e.j41(17,"p-table",9,0),e.nI1(19,"translate"),e.EFF(20,"\n "),e.DNE(21,N,12,4,"ng-template",10),e.EFF(22,"\n "),e.DNE(23,R,71,37,"ng-template",11),e.EFF(24,"\n "),e.DNE(25,X,64,22,"ng-template",12),e.EFF(26,"\n "),e.DNE(27,O,17,4,"ng-template",13),e.EFF(28,"\n "),e.k0s(),e.EFF(29,"\n "),e.k0s(),e.EFF(30,"\n "),e.k0s(),e.EFF(31,"\n"),e.k0s(),e.EFF(32,"\n\n"),e.DNE(33,L,17,0,"ng-template",null,1,e.C5r),e.EFF(35,"\n\n"),e.DNE(36,Y,34,8,"ng-template",null,2,e.C5r),e.EFF(38,"\n")}2&a&&(e.R7$(3),e.SpI("\n ",e.bMT(4,14,"device.byname.header"),"\n "),e.R7$(2),e.FS9("translate",e.bMT(6,16,"device.byname.validate.button")),e.Y8G("disabled",!i.hasEditing),e.R7$(6),e.Y8G("innerHTML",e.bMT(12,18,"group.create.subtitle"),e.npT)("innerHTML",e.bMT(13,20,"device.byname.subtitle"),e.npT),e.R7$(6),e.FS9("currentPageReportTemplate",e.bMT(19,22,"TOTAL")),e.Y8G("globalFilterFields",e.lJ4(24,C))("rowHover",!0)("showCurrentPageReport",!0)("rowsPerPageOptions",e.lJ4(25,T))("value",i.rows)("rows",10)("paginator",!0)("scrollable",!0))},dependencies:[E.Sq,E.bT,l.me,l.BC,l.vS,v.ZM,m.Mm,p.XI,y.Ei,p.Tg,p.FP,p.hp,p.c5,p.yc,k.S,I._f,j,m.D9],styles:[".container[_ngcontent-%COMP%]{display:flex}.container--green[_ngcontent-%COMP%]{color:green}.container--primary-color[_ngcontent-%COMP%]{color:var(--primary-color)}.container__icon[_ngcontent-%COMP%]{flex:1}.container__icon--orange[_ngcontent-%COMP%]{color:orange}.container__icon--green[_ngcontent-%COMP%]{color:green}textarea[_ngcontent-%COMP%]{width:100%}"]})}return n})();const H=[{path:"",component:(()=>{class n{apiService;formBuilder;translate;form;devices;constructor(t,a,i){this.apiService=t,this.formBuilder=a,this.translate=i}ngOnInit(){this.form=this.formBuilder.group({devices:this.formBuilder.group({}),permit:this.formBuilder.group({})}),this.apiService.getZDeviceName().subscribe(t=>{this.devices=t})}static \u0275fac=function(a){return new(a||n)(e.rXU(u.G),e.rXU(l.ok),e.rXU(m.c$))};static \u0275cmp=e.VBU({type:n,selectors:[["app-device"]],decls:5,vars:2,consts:[[3,"formGroup"],[3,"devices"]],template:function(a,i){1&a&&(e.j41(0,"form",0),e.EFF(1,"\n "),e.nrm(2,"app-device-by-name",1),e.EFF(3,"\n"),e.k0s(),e.EFF(4,"\n")),2&a&&(e.Y8G("formGroup",i.form),e.R7$(2),e.Y8G("devices",i.devices))},dependencies:[l.qT,l.cb,l.j4,Z]})}return n})(),data:{title:(0,_.o6)("device")}}];let J=(()=>{class n{static \u0275fac=function(a){return new(a||n)};static \u0275mod=e.$C({type:n});static \u0275inj=e.G2t({imports:[d.iI.forChild(H),d.iI]})}return n})(),U=(()=>{class n{static \u0275fac=function(a){return new(a||n)};static \u0275mod=e.$C({type:n});static \u0275inj=e.G2t({imports:[J,g.G,l.YN]})}return n})()}}]); \ No newline at end of file +"use strict";(self.webpackChunkz4d_plugin=self.webpackChunkz4d_plugin||[]).push([[12],{55012:(z,F,c)=>{c.r(F),c.d(F,{DeviceModule:()=>U});var l=c(89417),g=c(93887),d=c(99062),_=c(38117),e=c(54438),u=c(3366),m=c(19664),v=c(88652),h=c(45794),f=c(83801),E=c(60177),p=c(46247),y=c(5779),k=c(22242),I=c(81141);let j=(()=>{class n{iconName;static \u0275fac=function(a){return new(a||n)};static \u0275cmp=e.VBU({type:n,selectors:[["shared-custom-icon"]],inputs:{iconName:"iconName"},decls:5,vars:1,consts:[["preserveAspectRatio","xMidYMid meet","viewBox","0 0 64 64",1,"w-25"]],template:function(a,i){1&a&&(e.qSk(),e.j41(0,"svg",0),e.EFF(1,"\n "),e.nrm(2,"use"),e.EFF(3,"\n"),e.k0s(),e.EFF(4,"\n")),2&a&&(e.R7$(2),e.BMQ("href","assets/icons.svg#"+i.iconName,null,"xlink"))},encapsulation:2})}return n})();const C=()=>["_NwkId","IEEE","Model","WidgetList","ZDeviceName","MacCapa","Status","Health"],T=()=>[10,25,50];function N(n,r){if(1&n){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"div",14),e.EFF(2,"\n "),e.j41(3,"span",15),e.EFF(4,"\n "),e.nrm(5,"i",16),e.EFF(6,"\n "),e.j41(7,"input",17),e.nI1(8,"translate"),e.bIt("input",function(i){e.eBV(t),e.XpG();const o=e.sdS(18);return e.Njj(o.filterGlobal(i.target.value,"contains"))}),e.k0s(),e.EFF(9,"\n "),e.k0s(),e.EFF(10,"\n "),e.k0s(),e.EFF(11,"\n ")}if(2&n){e.XpG();const t=e.sdS(18);e.R7$(7),e.FS9("placeholder",e.bMT(8,2,"device.byname.placeholder")),e.Y8G("value",null==t.filters.global?null:t.filters.global.value)}}function D(n,r){1&n&&(e.EFF(0,"\n "),e.j41(1,"th",38),e.EFF(2),e.nI1(3,"translate"),e.nrm(4,"p-sortIcon",39),e.EFF(5,"\n "),e.k0s(),e.EFF(6,"\n ")),2&n&&(e.R7$(2),e.SpI("\n ",e.bMT(3,1,"device.byname.rssi.column"),""))}function R(n,r){if(1&n&&(e.EFF(0,"\n "),e.j41(1,"tr"),e.EFF(2,"\n "),e.j41(3,"th",18),e.EFF(4),e.nI1(5,"translate"),e.k0s(),e.EFF(6,"\n "),e.j41(7,"th",18),e.EFF(8),e.nI1(9,"translate"),e.k0s(),e.EFF(10,"\n "),e.j41(11,"th",19),e.EFF(12),e.nI1(13,"translate"),e.nrm(14,"p-sortIcon",20),e.EFF(15,"\n "),e.k0s(),e.EFF(16,"\n "),e.j41(17,"th",21),e.EFF(18),e.nI1(19,"translate"),e.nrm(20,"p-sortIcon",22),e.EFF(21,"\n "),e.k0s(),e.EFF(22,"\n "),e.j41(23,"th",23),e.EFF(24),e.nI1(25,"translate"),e.nrm(26,"p-sortIcon",24),e.EFF(27,"\n "),e.k0s(),e.EFF(28,"\n "),e.j41(29,"th",25),e.EFF(30),e.nI1(31,"translate"),e.nrm(32,"p-sortIcon",26),e.EFF(33,"\n "),e.k0s(),e.EFF(34,"\n "),e.j41(35,"th",27),e.EFF(36),e.nI1(37,"translate"),e.nrm(38,"p-sortIcon",28),e.EFF(39,"\n "),e.k0s(),e.EFF(40,"\n "),e.j41(41,"th",29),e.EFF(42),e.nI1(43,"translate"),e.nrm(44,"p-sortIcon",30),e.EFF(45,"\n "),e.k0s(),e.EFF(46,"\n "),e.j41(47,"th",31),e.EFF(48),e.nI1(49,"translate"),e.nrm(50,"p-sortIcon",32),e.EFF(51,"\n "),e.k0s(),e.EFF(52,"\n "),e.DNE(53,D,7,3),e.j41(54,"th",33),e.EFF(55),e.nI1(56,"translate"),e.nrm(57,"p-sortIcon",34),e.EFF(58,"\n "),e.k0s(),e.EFF(59,"\n "),e.j41(60,"th",35),e.EFF(61),e.nI1(62,"translate"),e.nrm(63,"p-sortIcon",36),e.EFF(64,"\n "),e.k0s(),e.EFF(65,"\n "),e.j41(66,"th",37),e.EFF(67),e.nI1(68,"translate"),e.k0s(),e.EFF(69,"\n "),e.k0s(),e.EFF(70,"\n ")),2&n){const t=e.XpG();e.R7$(4),e.SpI("\n ",e.bMT(5,13,"device.byname.trash.column"),"\n "),e.R7$(4),e.SpI("\n ",e.bMT(9,15,"device.byname.optimized.column"),"\n "),e.R7$(4),e.SpI("\n ",e.bMT(13,17,"device.byname.shortid.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(19,19,"device.byname.ieee.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(25,21,"device.byname.model.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(31,23,"device.byname.widget.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(37,25,"device.byname.devicename.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(43,27,"device.byname.capabilities.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(49,29,"device.byname.lqi.column"),""),e.R7$(5),e.vxM(53,t.showRSSI?53:-1),e.R7$(2),e.SpI("\n ",e.bMT(56,31,"device.byname.status.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(62,33,"device.byname.health.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(68,35,"device.byname.devicename.param"),"\n ")}}function S(n,r){if(1&n&&e.nrm(0,"button",48),2&n){const t=e.XpG(),i=t.expanded;e.Y8G("pRowToggler",t.$implicit)("icon",i?"pi pi-chevron-down":"pi pi-chevron-right")}}function w(n,r){if(1&n){const t=e.RV6();e.j41(0,"i",49),e.nI1(1,"translate"),e.bIt("click",function(){e.eBV(t);const i=e.XpG().$implicit,o=e.XpG(),s=e.sdS(34);return o.rowToDelete=i,e.Njj(o.open(s))}),e.k0s()}2&n&&e.FS9("title",e.bMT(1,1,"device.byname.delete.colum"))}function B(n,r){if(1&n){const t=e.RV6();e.qex(0),e.EFF(1,"\n "),e.j41(2,"div",50),e.bIt("click",function(){e.eBV(t);const i=e.XpG().$implicit,o=e.XpG();return e.Njj(o.copy(i))}),e.EFF(3,"\n "),e.j41(4,"div",51),e.EFF(5,"\n "),e.j41(6,"shared-custom-icon",52),e.nI1(7,"translate"),e.nI1(8,"translate"),e.EFF(9,"\n "),e.k0s(),e.EFF(10,"\n "),e.k0s(),e.EFF(11,"\n "),e.k0s(),e.EFF(12,"\n "),e.bVm()}2&n&&(e.R7$(6),e.FS9("ngbPopover",e.bMT(7,2,"device.byname.optimized.popover.text.ok")),e.FS9("popoverTitle",e.bMT(8,4,"device.byname.optimized.popover.title.ok")))}function M(n,r){if(1&n){const t=e.RV6();e.qex(0),e.EFF(1,"\n "),e.j41(2,"div",50),e.bIt("click",function(){e.eBV(t);const i=e.XpG().$implicit,o=e.XpG();return e.Njj(o.copy(i))}),e.EFF(3,"\n "),e.j41(4,"div",51),e.EFF(5,"\n "),e.j41(6,"shared-custom-icon",53),e.nI1(7,"translate"),e.nI1(8,"translate"),e.EFF(9,"\n "),e.k0s(),e.EFF(10,"\n "),e.k0s(),e.EFF(11,"\n "),e.k0s(),e.EFF(12,"\n "),e.bVm()}2&n&&(e.R7$(6),e.FS9("ngbPopover",e.bMT(7,2,"device.byname.optimized.popover.text.ko")),e.FS9("popoverTitle",e.bMT(8,4,"device.byname.optimized.popover.title.ko")))}function $(n,r){if(1&n&&(e.j41(0,"div"),e.EFF(1),e.k0s()),2&n){const t=r.$implicit;e.R7$(),e.SpI("\n ",t,"\n ")}}function x(n,r){if(1&n){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"input",54),e.mxI("ngModelChange",function(i){e.eBV(t);const o=e.XpG().$implicit;return e.DH7(o.ZDeviceName,i)||(o.ZDeviceName=i),e.Njj(i)}),e.bIt("input",function(){e.eBV(t);const i=e.XpG(2);return e.Njj(i.hasEditing=!0)}),e.k0s(),e.EFF(2,"\n ")}if(2&n){const t=e.XpG().$implicit;e.R7$(),e.R50("ngModel",t.ZDeviceName)}}function G(n,r){if(1&n){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"input",54),e.mxI("ngModelChange",function(i){e.eBV(t);const o=e.XpG().$implicit;return e.DH7(o.ZDeviceName,i)||(o.ZDeviceName=i),e.Njj(i)}),e.bIt("input",function(){e.eBV(t);const i=e.XpG(2);return e.Njj(i.hasEditing=!0)}),e.k0s(),e.EFF(2,"\n ")}if(2&n){const t=e.XpG().$implicit;e.R7$(),e.R50("ngModel",t.ZDeviceName)}}function V(n,r){if(1&n&&(e.j41(0,"div"),e.EFF(1),e.k0s()),2&n){const t=r.$implicit;e.R7$(),e.SpI("\n ",t,"\n ")}}function P(n,r){if(1&n&&(e.EFF(0,"\n "),e.j41(1,"td"),e.EFF(2),e.k0s(),e.EFF(3,"\n ")),2&n){const t=e.XpG().$implicit;e.R7$(2),e.JRh(t.RSSI)}}function X(n,r){if(1&n){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"tr"),e.EFF(2,"\n "),e.j41(3,"td"),e.EFF(4,"\n "),e.DNE(5,S,1,2,"button",40),e.EFF(6,"\n "),e.DNE(7,w,2,3,"i",41),e.EFF(8,"\n "),e.k0s(),e.EFF(9,"\n "),e.j41(10,"td"),e.EFF(11,"\n "),e.DNE(12,B,13,6,"ng-container",42),e.EFF(13,"\n "),e.DNE(14,M,13,6,"ng-container",42),e.EFF(15,"\n "),e.k0s(),e.EFF(16,"\n "),e.j41(17,"td"),e.EFF(18),e.k0s(),e.EFF(19,"\n "),e.j41(20,"td"),e.EFF(21),e.k0s(),e.EFF(22,"\n "),e.j41(23,"td"),e.EFF(24),e.k0s(),e.EFF(25,"\n "),e.j41(26,"td"),e.EFF(27,"\n "),e.DNE(28,$,2,1,"div",43),e.EFF(29,"\n "),e.k0s(),e.EFF(30,"\n "),e.j41(31,"td",44),e.EFF(32,"\n "),e.j41(33,"p-cellEditor"),e.EFF(34,"\n "),e.DNE(35,x,3,1,"ng-template",45),e.EFF(36,"\n "),e.DNE(37,G,3,1,"ng-template",46),e.EFF(38,"\n "),e.k0s(),e.EFF(39,"\n "),e.k0s(),e.EFF(40,"\n "),e.j41(41,"td"),e.EFF(42,"\n "),e.DNE(43,V,2,1,"div",43),e.EFF(44,"\n "),e.k0s(),e.EFF(45,"\n "),e.j41(46,"td"),e.EFF(47),e.k0s(),e.EFF(48,"\n "),e.DNE(49,P,4,1),e.j41(50,"td"),e.EFF(51),e.k0s(),e.EFF(52,"\n "),e.j41(53,"td"),e.EFF(54),e.k0s(),e.EFF(55,"\n "),e.j41(56,"td"),e.EFF(57,"\n "),e.j41(58,"i",47),e.nI1(59,"translate"),e.nI1(60,"translate"),e.bIt("click",function(){const i=e.eBV(t).$implicit,o=e.XpG(),s=e.sdS(37);return o.rowParameter=i,e.Njj(o.editParameter(s))}),e.k0s(),e.EFF(61,"\n "),e.k0s(),e.EFF(62,"\n "),e.k0s(),e.EFF(63,"\n ")}if(2&n){const t=r.$implicit,a=e.XpG();e.R7$(5),e.Y8G("ngIf","{}"!==t.Param),e.R7$(2),e.Y8G("ngIf","not in DZ"===t.ConsistencyCheck||"Bad Pairing"===t.ConsistencyCheck||!t.WidgetList||0===t.WidgetList.length),e.R7$(5),e.Y8G("ngIf",t.CertifiedDevice),e.R7$(2),e.Y8G("ngIf",!t.CertifiedDevice),e.R7$(4),e.JRh(t._NwkId),e.R7$(3),e.JRh(t.IEEE),e.R7$(3),e.JRh(t.Model),e.R7$(4),e.Y8G("ngForOf",t.WidgetList),e.R7$(3),e.Y8G("pEditableColumn",t.ZDeviceName),e.R7$(12),e.Y8G("ngForOf",t.MacCapa),e.R7$(4),e.JRh(t.LQI),e.R7$(2),e.vxM(49,a.showRSSI?49:-1),e.R7$(2),e.JRh(t.Status),e.R7$(3),e.JRh(t.Health),e.R7$(4),e.xc7("color",t.CheckParam?"orange":"green"),e.FS9("ngbPopover",e.bMT(59,18,"device.byname.parameter.popover.text")),e.FS9("popoverTitle",e.bMT(60,20,"device.byname.parameter.popover.title"))}}function O(n,r){if(1&n&&(e.EFF(0,"\n "),e.j41(1,"tr"),e.EFF(2,"\n "),e.j41(3,"td",55),e.EFF(4,"\n "),e.j41(5,"div",56),e.EFF(6,"\n "),e.j41(7,"div"),e.EFF(8,"\n "),e.j41(9,"strong"),e.EFF(10),e.nI1(11,"translate"),e.k0s(),e.EFF(12),e.k0s(),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n "),e.k0s(),e.EFF(15,"\n "),e.k0s(),e.EFF(16,"\n ")),2&n){const t=r.$implicit;e.R7$(10),e.SpI("",e.bMT(11,2,"device.byname.devicename.param")," : "),e.R7$(2),e.SpI(" ",t.Param,"\n ")}}function L(n,r){if(1&n){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"div",57),e.EFF(2,"\n "),e.nrm(3,"h4",58),e.EFF(4,"\n "),e.j41(5,"button",59),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.dismiss("Cross click"))}),e.k0s(),e.EFF(6,"\n "),e.k0s(),e.EFF(7,"\n "),e.nrm(8,"div",60),e.EFF(9,"\n "),e.j41(10,"div",61),e.EFF(11,"\n "),e.j41(12,"button",62),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.close("erase"))}),e.k0s(),e.EFF(13,"\n "),e.j41(14,"button",63),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.dismiss("cancel"))}),e.k0s(),e.EFF(15,"\n "),e.k0s(),e.EFF(16,"\n")}}function Y(n,r){if(1&n){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"div",57),e.EFF(2,"\n "),e.nrm(3,"h4",64),e.EFF(4,"\n "),e.j41(5,"button",59),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.close("cancel"))}),e.k0s(),e.EFF(6,"\n "),e.k0s(),e.EFF(7,"\n "),e.j41(8,"div",65),e.EFF(9,"\n "),e.nrm(10,"div",66),e.nI1(11,"translate"),e.EFF(12,"\n "),e.j41(13,"div",67),e.EFF(14,"\n "),e.j41(15,"input",68),e.bIt("click",function(){e.eBV(t);const i=e.XpG();return e.Njj(i.onChangeEnabled())}),e.k0s(),e.EFF(16,"\n "),e.nrm(17,"label",69),e.EFF(18,"\n "),e.k0s(),e.EFF(19,"\n "),e.j41(20,"div",70),e.EFF(21),e.nI1(22,"translate"),e.k0s(),e.EFF(23,"\n "),e.j41(24,"textarea",71),e.mxI("ngModelChange",function(i){e.eBV(t);const o=e.XpG();return e.DH7(o.parameter,i)||(o.parameter=i),e.Njj(i)}),e.k0s(),e.EFF(25,"\n "),e.k0s(),e.EFF(26,"\n "),e.j41(27,"div",61),e.EFF(28,"\n "),e.j41(29,"button",72),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.dismiss("cancel"))}),e.k0s(),e.EFF(30,"\n "),e.j41(31,"button",73),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.close("save"))}),e.k0s(),e.EFF(32,"\n "),e.k0s(),e.EFF(33,"\n")}if(2&n){const t=e.XpG();e.R7$(10),e.Y8G("innerHTML",e.bMT(11,4,"device.byname.parameter.alert.subject"),e.npT),e.R7$(5),e.Y8G("checked",t.enabled),e.R7$(6),e.SpI("",e.bMT(22,6,"device.byname.devicename.param")," :"),e.R7$(3),e.R50("ngModel",t.parameter)}}const b=new _.Vy("DeviceByNameComponent");let Z=(()=>{class n{apiService;translate;modalService;toastr;clipboard;devices;rows=[];hasEditing=!1;rowToDelete;rowParameter;parameter;expanded={};enabled=!1;prefixEnabled="Disabled";enabledTrue="'Disabled': 0";enabledFalse="'Disabled': 1";showRSSI=!1;constructor(t,a,i,o,s){this.apiService=t,this.translate=a,this.modalService=i,this.toastr=o,this.clipboard=s}ngOnChanges(t){t.devices.currentValue!==t.devices.previousValue&&(this.rows=this.devices,this.showRSSI=this.devices.filter(a=>a.RSSI).length>0)}open(t){this.modalService.open(t,{ariaLabelledBy:"modal-basic-title"}).result.then(()=>{this.delete()})}editParameter(t){this.parameter=this.rowParameter.Param,this.enabled=!this.parameter.includes(this.enabledFalse),this.enabled?(this.parameter=this.parameter.replace(this.enabledTrue.concat(","),""),this.parameter=this.parameter.replace(this.enabledTrue,"")):(this.parameter=this.parameter.replace(this.enabledFalse.concat(","),""),this.parameter=this.parameter.replace(this.enabledFalse,"")),this.modalService.open(t,{ariaLabelledBy:"modal-basic-title"}).result.then(()=>{this.parameter.includes(this.prefixEnabled)?this.toastr.error(this.translate.instant("device.byname.error.notify")):(this.parameter=this.parameter.replace("{",this.enabled?"{".concat(this.enabledTrue).concat(", "):"{".concat(this.enabledFalse).concat(", ")),this.updateValueJson(this.parameter,"Param",this.rowParameter._NwkId))})}onChangeEnabled(){this.enabled=!this.enabled}delete(){this.apiService.deleteZDeviceName(this.rowToDelete._NwkId).subscribe(()=>{const t=this.rows.indexOf(this.rowToDelete,0);this.rowToDelete=null,t>-1&&(this.rows.splice(t,1),this.rows=[...this.rows])})}updateValue(t,a,i){this.updateValueJson(t.target.value,a,i)}updateValueJson(t,a,i){this.hasEditing=!0;const o=this.rows.find(s=>s._NwkId===i);o?o[a]=t:b.error("row not found")}updateDevices(){this.apiService.putZDeviceName(this.rows).subscribe(t=>{b.debug(t),this.hasEditing=!1,this.toastr.success(this.translate.instant("api.global.succes.saved.notify"))})}copy(t){this.apiService.getNonOptimizedDevice(t._NwkId).subscribe(a=>this.clipboard.copy(JSON.stringify(a)))}static \u0275fac=function(a){return new(a||n)(e.rXU(u.G),e.rXU(m.c$),e.rXU(v.Bq),e.rXU(h.tw),e.rXU(f.B0))};static \u0275cmp=e.VBU({type:n,selectors:[["app-device-by-name"]],inputs:{devices:"devices"},features:[e.OA$],decls:39,vars:26,consts:[["dt1",""],["content",""],["editContent",""],[1,"card"],[1,"card-header","fw-bold"],[1,"btn","btn-primary","float-end",3,"click","disabled","translate"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],["styleClass","p-datatable-sm","dataKey","_NwkId","responsiveLayout","scroll","stateStorage","local","stateKey","device",3,"globalFilterFields","rowHover","showCurrentPageReport","currentPageReportTemplate","rowsPerPageOptions","value","rows","paginator","scrollable"],["pTemplate","caption"],["pTemplate","header"],["pTemplate","body"],["pTemplate","rowexpansion"],[1,"flex"],[1,"p-input-icon-left","ml-auto"],[1,"pi","pi-search"],["pInputText","","type","text",3,"input","value","placeholder"],[2,"width","1rem"],["pSortableColumn","_NwkId",2,"width","7rem"],["field","_NwkId"],["pSortableColumn","IEEE",2,"width","5rem"],["field","IEEE"],["pSortableColumn","Model",2,"width","13rem"],["field","Model"],["pSortableColumn","WidgetList",2,"width","15rem"],["field","WidgetList"],["pSortableColumn","ZDeviceName",2,"width","20rem"],["field","ZDeviceName"],["pSortableColumn","MacCapa",2,"width","10rem"],["field","MacCapa"],["pSortableColumn","LQI",2,"width","5rem"],["field","LQI"],["pSortableColumn","Status",2,"width","7rem"],["field","Status"],["pSortableColumn","Health",2,"width","6rem"],["field","Health"],[2,"width","2rem"],["pSortableColumn","RSSI",2,"width","5rem"],["field","RSSI"],["type","button","pButton","","pRipple","","class","p-button-text p-button-rounded p-button-plain",3,"pRowToggler","icon",4,"ngIf"],["class","fa fa-trash","style","cursor: pointer",3,"title","click",4,"ngIf"],[4,"ngIf"],[4,"ngFor","ngForOf"],["pEditableColumnField","ZDeviceName",3,"pEditableColumn"],["pTemplate","input"],["pTemplate","output"],["triggers","mouseenter:mouseleave",1,"fas","fa-cog",2,"cursor","pointer",3,"click","ngbPopover","popoverTitle"],["type","button","pButton","","pRipple","",1,"p-button-text","p-button-rounded","p-button-plain",3,"pRowToggler","icon"],[1,"fa","fa-trash",2,"cursor","pointer",3,"click","title"],[3,"click"],[1,"container"],["triggers","mouseenter:mouseleave","iconName","CHECK_ICON",1,"container__icon","container__icon--green",3,"ngbPopover","popoverTitle"],["triggers","mouseenter:mouseleave","iconName","X_ICON",1,"container__icon","container__icon--orange",3,"ngbPopover","popoverTitle"],["pInputText","","type","text",3,"ngModelChange","input","ngModel"],["colspan","12"],[2,"padding-left","35px"],[1,"modal-header"],["id","modal-basic-title","translate","device.byname.alert.title",1,"modal-title"],["type","button","aria-label","Close",1,"btn-close",3,"click"],["translate","device.byname.alert.subject",1,"modal-body"],[1,"modal-footer"],["type","button","translate","device.byname.alert.delete",1,"btn","btn-primary",3,"click"],["type","button","translate","device.byname.alert.cancel",1,"btn","btn-outline-dark",3,"click"],["id","modal-basic-title","translate","device.byname.parameter.alert.title",1,"modal-title"],[1,"modal-body"],[3,"innerHTML"],[1,"switch","switch-sm","mt-3","me-2","pe-3"],["type","checkbox","id","switch-enabled",3,"click","checked"],["for","switch-enabled","translate","device.byname.devicename.enabled",1,"mb-0"],[1,"mt-3"],["name","parameter","rows","5",3,"ngModelChange","ngModel"],["type","button","translate","device.byname.parameter.alert.cancel",1,"btn","btn-outline-dark",3,"click"],["type","button","translate","device.byname.parameter.alert.save",1,"btn","btn-primary",3,"click"]],template:function(a,i){if(1&a){const o=e.RV6();e.j41(0,"div",3),e.EFF(1,"\n "),e.j41(2,"div",4),e.EFF(3),e.nI1(4,"translate"),e.j41(5,"button",5),e.nI1(6,"translate"),e.bIt("click",function(){return e.eBV(o),e.Njj(i.updateDevices())}),e.k0s(),e.EFF(7,"\n "),e.k0s(),e.EFF(8,"\n "),e.j41(9,"div",6),e.EFF(10,"\n "),e.nrm(11,"p",7),e.nI1(12,"translate"),e.nI1(13,"translate"),e.EFF(14,"\n "),e.j41(15,"div",8),e.EFF(16,"\n "),e.j41(17,"p-table",9,0),e.nI1(19,"translate"),e.EFF(20,"\n "),e.DNE(21,N,12,4,"ng-template",10),e.EFF(22,"\n "),e.DNE(23,R,71,37,"ng-template",11),e.EFF(24,"\n "),e.DNE(25,X,64,22,"ng-template",12),e.EFF(26,"\n "),e.DNE(27,O,17,4,"ng-template",13),e.EFF(28,"\n "),e.k0s(),e.EFF(29,"\n "),e.k0s(),e.EFF(30,"\n "),e.k0s(),e.EFF(31,"\n"),e.k0s(),e.EFF(32,"\n\n"),e.DNE(33,L,17,0,"ng-template",null,1,e.C5r),e.EFF(35,"\n\n"),e.DNE(36,Y,34,8,"ng-template",null,2,e.C5r),e.EFF(38,"\n")}2&a&&(e.R7$(3),e.SpI("\n ",e.bMT(4,14,"device.byname.header"),"\n "),e.R7$(2),e.FS9("translate",e.bMT(6,16,"device.byname.validate.button")),e.Y8G("disabled",!i.hasEditing),e.R7$(6),e.Y8G("innerHTML",e.bMT(12,18,"group.create.subtitle"),e.npT)("innerHTML",e.bMT(13,20,"device.byname.subtitle"),e.npT),e.R7$(6),e.FS9("currentPageReportTemplate",e.bMT(19,22,"TOTAL")),e.Y8G("globalFilterFields",e.lJ4(24,C))("rowHover",!0)("showCurrentPageReport",!0)("rowsPerPageOptions",e.lJ4(25,T))("value",i.rows)("rows",10)("paginator",!0)("scrollable",!0))},dependencies:[E.Sq,E.bT,l.me,l.BC,l.vS,v.ZM,m.Mm,p.XI,y.Ei,p.Tg,p.FP,p.hp,p.c5,p.yc,k.S,I._f,j,m.D9],styles:[".container[_ngcontent-%COMP%]{display:flex}.container--green[_ngcontent-%COMP%]{color:green}.container--primary-color[_ngcontent-%COMP%]{color:var(--primary-color)}.container__icon[_ngcontent-%COMP%]{flex:1}.container__icon--orange[_ngcontent-%COMP%]{color:orange}.container__icon--green[_ngcontent-%COMP%]{color:green}textarea[_ngcontent-%COMP%]{width:100%}"]})}return n})();const H=[{path:"",component:(()=>{class n{apiService;formBuilder;translate;form;devices;constructor(t,a,i){this.apiService=t,this.formBuilder=a,this.translate=i}ngOnInit(){this.form=this.formBuilder.group({devices:this.formBuilder.group({}),permit:this.formBuilder.group({})}),this.apiService.getZDeviceName().subscribe(t=>{this.devices=t})}static \u0275fac=function(a){return new(a||n)(e.rXU(u.G),e.rXU(l.ok),e.rXU(m.c$))};static \u0275cmp=e.VBU({type:n,selectors:[["app-device"]],decls:5,vars:2,consts:[[3,"formGroup"],[3,"devices"]],template:function(a,i){1&a&&(e.j41(0,"form",0),e.EFF(1,"\n "),e.nrm(2,"app-device-by-name",1),e.EFF(3,"\n"),e.k0s(),e.EFF(4,"\n")),2&a&&(e.Y8G("formGroup",i.form),e.R7$(2),e.Y8G("devices",i.devices))},dependencies:[l.qT,l.cb,l.j4,Z]})}return n})(),data:{title:(0,_.o6)("device")}}];let J=(()=>{class n{static \u0275fac=function(a){return new(a||n)};static \u0275mod=e.$C({type:n});static \u0275inj=e.G2t({imports:[d.iI.forChild(H),d.iI]})}return n})(),U=(()=>{class n{static \u0275fac=function(a){return new(a||n)};static \u0275mod=e.$C({type:n});static \u0275inj=e.G2t({imports:[J,g.G,l.YN]})}return n})()}}]); \ No newline at end of file diff --git a/www/z4d/317.59bbe14d2339e649.js b/www/z4d/317.8348e1df39faeac7.js similarity index 99% rename from www/z4d/317.59bbe14d2339e649.js rename to www/z4d/317.8348e1df39faeac7.js index 7689e1dc0..36b2eed6b 100644 --- a/www/z4d/317.59bbe14d2339e649.js +++ b/www/z4d/317.8348e1df39faeac7.js @@ -1 +1 @@ -"use strict";(self.webpackChunkz4d_plugin=self.webpackChunkz4d_plugin||[]).push([[317],{22317:(V,m,l)=>{l.r(m),l.d(m,{ManufacturerModule:()=>z});var h=l(93887),u=l(93331),d=l(38117);class _{IRCode;NwkId;constructor(o,t){this.IRCode=o,this.NwkId=t}}var e=l(54438),E=l(3366),g=l(45794),p=l(19664),F=l(89417),i=l(46247),I=l(5779),k=l(22242);const v=()=>["NwkId","Name","IEEE","Model","IRCode"],b=()=>[10,25,50];function T(n,o){if(1&n){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"div",13),e.EFF(2,"\n "),e.j41(3,"span",14),e.EFF(4,"\n "),e.nrm(5,"i",15),e.EFF(6,"\n "),e.j41(7,"input",16),e.nI1(8,"translate"),e.bIt("input",function(s){e.eBV(t),e.XpG();const r=e.sdS(21);return e.Njj(r.filterGlobal(s.target.value,"contains"))}),e.k0s(),e.EFF(9,"\n "),e.k0s(),e.EFF(10,"\n "),e.k0s(),e.EFF(11,"\n ")}if(2&n){e.XpG();const t=e.sdS(21);e.R7$(7),e.FS9("placeholder",e.bMT(8,2,"manufacturer.casaia.placeholder")),e.Y8G("value",null==t.filters.global?null:t.filters.global.value)}}function R(n,o){1&n&&(e.EFF(0,"\n "),e.j41(1,"tr"),e.EFF(2,"\n "),e.j41(3,"th",17),e.EFF(4),e.nI1(5,"translate"),e.nrm(6,"p-sortIcon",18),e.EFF(7,"\n "),e.k0s(),e.EFF(8,"\n "),e.j41(9,"th",19),e.EFF(10),e.nI1(11,"translate"),e.nrm(12,"p-sortIcon",20),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n "),e.j41(15,"th",21),e.EFF(16),e.nI1(17,"translate"),e.nrm(18,"p-sortIcon",22),e.EFF(19,"\n "),e.k0s(),e.EFF(20,"\n "),e.j41(21,"th",23),e.EFF(22),e.nI1(23,"translate"),e.nrm(24,"p-sortIcon",24),e.EFF(25,"\n "),e.k0s(),e.EFF(26,"\n "),e.j41(27,"th",25),e.EFF(28),e.nI1(29,"translate"),e.nrm(30,"p-sortIcon",26),e.EFF(31,"\n "),e.k0s(),e.EFF(32,"\n "),e.k0s(),e.EFF(33,"\n ")),2&n&&(e.R7$(4),e.SpI("\n ",e.bMT(5,5,"manufacturer.casaia.nwkid"),""),e.R7$(6),e.SpI("\n ",e.bMT(11,7,"manufacturer.casaia.name"),""),e.R7$(6),e.SpI("\n ",e.bMT(17,9,"manufacturer.casaia.ieee"),""),e.R7$(6),e.SpI("\n ",e.bMT(23,11,"manufacturer.casaia.model"),""),e.R7$(6),e.SpI("\n ",e.bMT(29,13,"manufacturer.casaia.ircode"),""))}function y(n,o){if(1&n){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"input",30),e.mxI("ngModelChange",function(s){e.eBV(t);const r=e.XpG().$implicit;return e.DH7(r.IRCode,s)||(r.IRCode=s),e.Njj(s)}),e.bIt("change",function(s){e.eBV(t);const r=e.XpG().$implicit,c=e.XpG();return e.Njj(c.updateIRCode(s,r.NwkId))}),e.k0s(),e.EFF(2,"\n ")}if(2&n){const t=e.XpG().$implicit;e.R7$(),e.R50("ngModel",t.IRCode)}}function j(n,o){if(1&n){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"input",30),e.mxI("ngModelChange",function(s){e.eBV(t);const r=e.XpG().$implicit;return e.DH7(r.IRCode,s)||(r.IRCode=s),e.Njj(s)}),e.bIt("change",function(s){e.eBV(t);const r=e.XpG().$implicit,c=e.XpG();return e.Njj(c.updateIRCode(s,r.NwkId))}),e.k0s(),e.EFF(2,"\n ")}if(2&n){const t=e.XpG().$implicit;e.R7$(),e.R50("ngModel",t.IRCode)}}function w(n,o){if(1&n&&(e.EFF(0,"\n "),e.j41(1,"tr"),e.EFF(2,"\n "),e.j41(3,"td"),e.EFF(4),e.k0s(),e.EFF(5,"\n "),e.j41(6,"td"),e.EFF(7),e.k0s(),e.EFF(8,"\n "),e.j41(9,"td"),e.EFF(10),e.k0s(),e.EFF(11,"\n "),e.j41(12,"td"),e.EFF(13),e.k0s(),e.EFF(14,"\n "),e.j41(15,"td",27),e.EFF(16,"\n "),e.j41(17,"p-cellEditor"),e.EFF(18,"\n "),e.DNE(19,y,3,1,"ng-template",28),e.EFF(20,"\n "),e.DNE(21,j,3,1,"ng-template",29),e.EFF(22,"\n "),e.k0s(),e.EFF(23,"\n "),e.k0s()()),2&n){const t=o.$implicit;e.R7$(4),e.SpI("\n ",t.NwkId,"\n "),e.R7$(3),e.SpI("\n ",t.Name,"\n "),e.R7$(3),e.SpI("\n ",t.IEEE,"\n "),e.R7$(3),e.SpI("\n ",t.Model,"\n "),e.R7$(2),e.Y8G("pEditableColumn",t.IRCode)}}let S=(()=>{class n{apiService;toastr;translate;rows;temp=[];hasEditing=!1;constructor(t,a,s){this.apiService=t,this.toastr=a,this.translate=s}ngOnInit(){this.getCasaiaDevices()}updateIRCode(t,a){this.hasEditing=!0,this.rows.find(r=>r.NwkId===a).IRCode=t.target.value}updateCasaiaDevices(){const t=[];this.rows.forEach(a=>{t.push(new _(a.IRCode,a.NwkId))}),this.apiService.putCasiaIrcode(t).subscribe(()=>{this.hasEditing=!1,this.getCasaiaDevices(),this.toastr.success(this.translate.instant("api.global.succes.update.notify"))})}getCasaiaDevices(){this.apiService.getCasiaDevices().subscribe(t=>{this.rows=t,this.temp=[...this.rows]})}static \u0275fac=function(a){return new(a||n)(e.rXU(E.G),e.rXU(g.tw),e.rXU(p.c$))};static \u0275cmp=e.VBU({type:n,selectors:[["app-manufacturer-casaia"]],decls:36,vars:23,consts:[["dt1",""],[1,"row","row-cols-1","row-cols-xxl-2","row-cols-xl-1","g-4"],[1,"col"],[1,"card"],[1,"card-header"],[1,"btn","btn-primary","float-end",3,"click","disabled","translate"],[1,"card-body"],[1,"card-title",3,"innerHTML"],[1,"card-text"],["styleClass","p-datatable-sm","dataKey","NwkId","responsiveLayout","scroll","stateStorage","local","stateKey","casaia",3,"globalFilterFields","rowHover","showCurrentPageReport","currentPageReportTemplate","rowsPerPageOptions","value","rows","paginator","scrollable"],["pTemplate","caption"],["pTemplate","header"],["pTemplate","body"],[1,"flex"],[1,"p-input-icon-left","ml-auto"],[1,"pi","pi-search"],["pInputText","","type","text",3,"input","value","placeholder"],["pSortableColumn","NwkId"],["field","NwkId"],["pSortableColumn","Name"],["field","Name"],["pSortableColumn","IEEE"],["field","IEEE"],["pSortableColumn","Model"],["field","Model"],["pSortableColumn","IRCode",2,"width","8rem"],["field","IRCode"],["pEditableColumnField","IRCode",3,"pEditableColumn"],["pTemplate","input"],["pTemplate","output"],["pInputText","","type","text",3,"ngModelChange","change","ngModel"]],template:function(a,s){if(1&a){const r=e.RV6();e.j41(0,"div",1),e.EFF(1,"\n "),e.j41(2,"div",2),e.EFF(3,"\n "),e.j41(4,"div",3),e.EFF(5,"\n "),e.j41(6,"div",4),e.EFF(7),e.nI1(8,"translate"),e.j41(9,"button",5),e.nI1(10,"translate"),e.bIt("click",function(){return e.eBV(r),e.Njj(s.updateCasaiaDevices())}),e.k0s(),e.EFF(11,"\n "),e.k0s(),e.EFF(12,"\n "),e.j41(13,"div",6),e.EFF(14,"\n "),e.nrm(15,"h5",7),e.nI1(16,"translate"),e.EFF(17,"\n "),e.j41(18,"div",8),e.EFF(19,"\n "),e.j41(20,"p-table",9,0),e.nI1(22,"translate"),e.EFF(23,"\n "),e.DNE(24,T,12,4,"ng-template",10),e.EFF(25,"\n "),e.DNE(26,R,34,15,"ng-template",11),e.EFF(27,"\n "),e.DNE(28,w,24,5,"ng-template",12),e.EFF(29,"\n "),e.k0s(),e.EFF(30,"\n "),e.k0s(),e.EFF(31,"\n "),e.k0s(),e.EFF(32,"\n "),e.k0s(),e.EFF(33,"\n "),e.k0s(),e.EFF(34,"\n"),e.k0s(),e.EFF(35,"\n")}2&a&&(e.R7$(7),e.SpI("\n ",e.bMT(8,13,"manufacturer.casaia.header"),"\n "),e.R7$(2),e.FS9("translate",e.bMT(10,15,"manufacturer.casaia.validate.button")),e.Y8G("disabled",!s.hasEditing),e.R7$(6),e.Y8G("innerHTML",e.bMT(16,17,"manufacturer.casaia.subtitle"),e.npT),e.R7$(5),e.FS9("currentPageReportTemplate",e.bMT(22,19,"TOTAL")),e.Y8G("globalFilterFields",e.lJ4(21,v))("rowHover",!0)("showCurrentPageReport",!0)("rowsPerPageOptions",e.lJ4(22,b))("value",s.rows)("rows",10)("paginator",!0)("scrollable",!0))},dependencies:[F.me,F.BC,F.vS,p.Mm,i.XI,I.Ei,i.Tg,i.hp,i.c5,i.yc,k.S,p.D9]})}return n})();class M{key;value}var N=l(96354),f=l(60177),C=l(97013);const $=()=>[10,25,50];function D(n,o){if(1&n&&(e.EFF(0,"\n "),e.j41(1,"span"),e.EFF(2," "),e.j41(3,"b"),e.EFF(4,"Name"),e.k0s(),e.EFF(5),e.j41(6,"b"),e.EFF(7,"NwkId"),e.k0s(),e.EFF(8),e.k0s(),e.EFF(9,"\n ")),2&n){const t=o.item;e.R7$(5),e.SpI(" : ",t.ZDeviceName," - "),e.R7$(3),e.SpI(" : ",t.Nwkid,"")}}function P(n,o){if(1&n&&(e.j41(0,"p",12),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&n){const t=e.XpG();e.R7$(),e.SpI("\n ",e.bMT(2,1,"manufacturer.zlinky.".concat(t.deviceSelected.protocole)),"\n ")}}function G(n,o){1&n&&(e.EFF(0,"\n "),e.j41(1,"tr"),e.EFF(2,"\n "),e.j41(3,"th"),e.EFF(4),e.nI1(5,"translate"),e.k0s(),e.EFF(6,"\n "),e.j41(7,"th"),e.EFF(8),e.nI1(9,"translate"),e.k0s(),e.EFF(10,"\n "),e.k0s(),e.EFF(11,"\n ")),2&n&&(e.R7$(4),e.SpI("\n ",e.bMT(5,2,"manufacturer.zlinky.key"),"\n "),e.R7$(4),e.SpI("\n ",e.bMT(9,4,"manufacturer.zlinky.value"),"\n "))}function x(n,o){if(1&n&&(e.EFF(0,"\n "),e.j41(1,"tr"),e.EFF(2,"\n "),e.j41(3,"td"),e.EFF(4),e.nI1(5,"translate"),e.k0s(),e.EFF(6,"\n "),e.j41(7,"td"),e.EFF(8),e.k0s(),e.EFF(9,"\n "),e.k0s()),2&n){const t=o.$implicit;e.R7$(4),e.SpI("\n ",e.bMT(5,2,"manufacturer.zlinky.".concat(t.key)),"\n "),e.R7$(4),e.SpI("\n ",t.value,"\n ")}}function X(n,o){if(1&n&&(e.j41(0,"p-table",13,0),e.nI1(2,"translate"),e.EFF(3,"\n "),e.DNE(4,G,12,6,"ng-template",14),e.EFF(5,"\n "),e.DNE(6,x,10,4,"ng-template",15),e.EFF(7,"\n "),e.k0s()),2&n){const t=e.XpG();e.FS9("currentPageReportTemplate",e.bMT(2,8,"TOTAL")),e.Y8G("rowHover",!0)("showCurrentPageReport",!0)("rowsPerPageOptions",e.lJ4(10,$))("value",t.deviceSelected.ParametersForDisplay)("rows",10)("paginator",!0)("scrollable",!0)}}let O=(()=>{class n{apiService;toastr;translate;zlinkys$;deviceSelected;constructor(t,a,s){this.apiService=t,this.toastr=a,this.translate=s}ngOnInit(){this.zlinkys$=this.apiService.getZlinky().pipe((0,N.T)(t=>(t.forEach(a=>{a.protocole="PROTOCOL_LINKY_"+a["PROTOCOL Linky"],a.ParametersForDisplay=[],a.Parameters.forEach(s=>{const r=new M;r.key=Object.keys(s)[0],r.value=Object.values(s)[0],a.ParametersForDisplay.push(r)})}),t)))}getConfiguration(t){this.deviceSelected=t}static \u0275fac=function(a){return new(a||n)(e.rXU(E.G),e.rXU(g.tw),e.rXU(p.c$))};static \u0275cmp=e.VBU({type:n,selectors:[["app-manufacturer-zlinky"]],decls:33,vars:17,consts:[["dt1",""],[1,"row","row-cols-1","row-cols-xxl-2","row-cols-xl-1","g-4"],[1,"col"],[1,"card"],[1,"card-header"],[1,"card-body"],[1,"card-title",3,"innerHTML"],[1,"card-text"],["bindLabel","ZDeviceName","appendTo","body",1,"w-25",3,"change","clear","items","multiple","closeOnSelect","searchable","placeholder"],["ng-option-tmp",""],["class","mt-3 mb-3 font-weight-bold",4,"ngIf"],["styleClass","p-datatable-sm","responsiveLayout","scroll","stateStorage","local","stateKey","zlinky",3,"rowHover","showCurrentPageReport","currentPageReportTemplate","rowsPerPageOptions","value","rows","paginator","scrollable",4,"ngIf"],[1,"mt-3","mb-3","font-weight-bold"],["styleClass","p-datatable-sm","responsiveLayout","scroll","stateStorage","local","stateKey","zlinky",3,"rowHover","showCurrentPageReport","currentPageReportTemplate","rowsPerPageOptions","value","rows","paginator","scrollable"],["pTemplate","header"],["pTemplate","body"]],template:function(a,s){1&a&&(e.j41(0,"div",1),e.EFF(1,"\n "),e.j41(2,"div",2),e.EFF(3,"\n "),e.j41(4,"div",3),e.EFF(5,"\n "),e.j41(6,"div",4),e.EFF(7),e.nI1(8,"translate"),e.k0s(),e.EFF(9,"\n "),e.j41(10,"div",5),e.EFF(11,"\n "),e.nrm(12,"h5",6),e.nI1(13,"translate"),e.EFF(14,"\n "),e.j41(15,"div",7),e.EFF(16,"\n "),e.j41(17,"ng-select",8),e.nI1(18,"translate"),e.nI1(19,"async"),e.bIt("change",function(c){return s.getConfiguration(c)})("clear",function(){return s.deviceSelected=null}),e.EFF(20,"\n "),e.DNE(21,D,10,2,"ng-template",9),e.EFF(22,"\n "),e.k0s(),e.EFF(23,"\n\n "),e.DNE(24,P,3,3,"p",10),e.EFF(25,"\n\n "),e.DNE(26,X,8,11,"p-table",11),e.EFF(27,"\n "),e.k0s(),e.EFF(28,"\n "),e.k0s(),e.EFF(29,"\n "),e.k0s(),e.EFF(30,"\n "),e.k0s(),e.EFF(31,"\n"),e.k0s(),e.EFF(32,"\n")),2&a&&(e.R7$(7),e.SpI("\n ",e.bMT(8,9,"manufacturer.zlinky.header"),"\n "),e.R7$(5),e.Y8G("innerHTML",e.bMT(13,11,"manufacturer.zlinky.subtitle"),e.npT),e.R7$(5),e.FS9("placeholder",e.bMT(18,13,"manufacturer.zlinky.placeholder")),e.Y8G("items",e.bMT(19,15,s.zlinkys$))("multiple",!1)("closeOnSelect",!0)("searchable",!0),e.R7$(7),e.Y8G("ngIf",s.deviceSelected),e.R7$(2),e.Y8G("ngIf",s.deviceSelected))},dependencies:[f.bT,C.vr,C.Uq,i.XI,I.Ei,f.Jj,p.D9]})}return n})();const L=[{path:"casaia",component:S,data:{title:(0,d.o6)("manufacturer.casaia")}},{path:"zlinky",component:O,data:{title:(0,d.o6)("manufacturer.zlinky")}}];let Z=(()=>{class n{static \u0275fac=function(a){return new(a||n)};static \u0275mod=e.$C({type:n});static \u0275inj=e.G2t({imports:[u.iI.forChild(L),u.iI]})}return n})(),z=(()=>{class n{static \u0275fac=function(a){return new(a||n)};static \u0275mod=e.$C({type:n});static \u0275inj=e.G2t({imports:[Z,h.G]})}return n})()}}]); \ No newline at end of file +"use strict";(self.webpackChunkz4d_plugin=self.webpackChunkz4d_plugin||[]).push([[317],{22317:(V,m,l)=>{l.r(m),l.d(m,{ManufacturerModule:()=>z});var h=l(93887),u=l(99062),d=l(38117);class _{IRCode;NwkId;constructor(o,t){this.IRCode=o,this.NwkId=t}}var e=l(54438),E=l(3366),g=l(45794),p=l(19664),F=l(89417),i=l(46247),I=l(5779),k=l(22242);const v=()=>["NwkId","Name","IEEE","Model","IRCode"],b=()=>[10,25,50];function T(n,o){if(1&n){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"div",13),e.EFF(2,"\n "),e.j41(3,"span",14),e.EFF(4,"\n "),e.nrm(5,"i",15),e.EFF(6,"\n "),e.j41(7,"input",16),e.nI1(8,"translate"),e.bIt("input",function(s){e.eBV(t),e.XpG();const r=e.sdS(21);return e.Njj(r.filterGlobal(s.target.value,"contains"))}),e.k0s(),e.EFF(9,"\n "),e.k0s(),e.EFF(10,"\n "),e.k0s(),e.EFF(11,"\n ")}if(2&n){e.XpG();const t=e.sdS(21);e.R7$(7),e.FS9("placeholder",e.bMT(8,2,"manufacturer.casaia.placeholder")),e.Y8G("value",null==t.filters.global?null:t.filters.global.value)}}function R(n,o){1&n&&(e.EFF(0,"\n "),e.j41(1,"tr"),e.EFF(2,"\n "),e.j41(3,"th",17),e.EFF(4),e.nI1(5,"translate"),e.nrm(6,"p-sortIcon",18),e.EFF(7,"\n "),e.k0s(),e.EFF(8,"\n "),e.j41(9,"th",19),e.EFF(10),e.nI1(11,"translate"),e.nrm(12,"p-sortIcon",20),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n "),e.j41(15,"th",21),e.EFF(16),e.nI1(17,"translate"),e.nrm(18,"p-sortIcon",22),e.EFF(19,"\n "),e.k0s(),e.EFF(20,"\n "),e.j41(21,"th",23),e.EFF(22),e.nI1(23,"translate"),e.nrm(24,"p-sortIcon",24),e.EFF(25,"\n "),e.k0s(),e.EFF(26,"\n "),e.j41(27,"th",25),e.EFF(28),e.nI1(29,"translate"),e.nrm(30,"p-sortIcon",26),e.EFF(31,"\n "),e.k0s(),e.EFF(32,"\n "),e.k0s(),e.EFF(33,"\n ")),2&n&&(e.R7$(4),e.SpI("\n ",e.bMT(5,5,"manufacturer.casaia.nwkid"),""),e.R7$(6),e.SpI("\n ",e.bMT(11,7,"manufacturer.casaia.name"),""),e.R7$(6),e.SpI("\n ",e.bMT(17,9,"manufacturer.casaia.ieee"),""),e.R7$(6),e.SpI("\n ",e.bMT(23,11,"manufacturer.casaia.model"),""),e.R7$(6),e.SpI("\n ",e.bMT(29,13,"manufacturer.casaia.ircode"),""))}function y(n,o){if(1&n){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"input",30),e.mxI("ngModelChange",function(s){e.eBV(t);const r=e.XpG().$implicit;return e.DH7(r.IRCode,s)||(r.IRCode=s),e.Njj(s)}),e.bIt("change",function(s){e.eBV(t);const r=e.XpG().$implicit,c=e.XpG();return e.Njj(c.updateIRCode(s,r.NwkId))}),e.k0s(),e.EFF(2,"\n ")}if(2&n){const t=e.XpG().$implicit;e.R7$(),e.R50("ngModel",t.IRCode)}}function j(n,o){if(1&n){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"input",30),e.mxI("ngModelChange",function(s){e.eBV(t);const r=e.XpG().$implicit;return e.DH7(r.IRCode,s)||(r.IRCode=s),e.Njj(s)}),e.bIt("change",function(s){e.eBV(t);const r=e.XpG().$implicit,c=e.XpG();return e.Njj(c.updateIRCode(s,r.NwkId))}),e.k0s(),e.EFF(2,"\n ")}if(2&n){const t=e.XpG().$implicit;e.R7$(),e.R50("ngModel",t.IRCode)}}function w(n,o){if(1&n&&(e.EFF(0,"\n "),e.j41(1,"tr"),e.EFF(2,"\n "),e.j41(3,"td"),e.EFF(4),e.k0s(),e.EFF(5,"\n "),e.j41(6,"td"),e.EFF(7),e.k0s(),e.EFF(8,"\n "),e.j41(9,"td"),e.EFF(10),e.k0s(),e.EFF(11,"\n "),e.j41(12,"td"),e.EFF(13),e.k0s(),e.EFF(14,"\n "),e.j41(15,"td",27),e.EFF(16,"\n "),e.j41(17,"p-cellEditor"),e.EFF(18,"\n "),e.DNE(19,y,3,1,"ng-template",28),e.EFF(20,"\n "),e.DNE(21,j,3,1,"ng-template",29),e.EFF(22,"\n "),e.k0s(),e.EFF(23,"\n "),e.k0s()()),2&n){const t=o.$implicit;e.R7$(4),e.SpI("\n ",t.NwkId,"\n "),e.R7$(3),e.SpI("\n ",t.Name,"\n "),e.R7$(3),e.SpI("\n ",t.IEEE,"\n "),e.R7$(3),e.SpI("\n ",t.Model,"\n "),e.R7$(2),e.Y8G("pEditableColumn",t.IRCode)}}let S=(()=>{class n{apiService;toastr;translate;rows;temp=[];hasEditing=!1;constructor(t,a,s){this.apiService=t,this.toastr=a,this.translate=s}ngOnInit(){this.getCasaiaDevices()}updateIRCode(t,a){this.hasEditing=!0,this.rows.find(r=>r.NwkId===a).IRCode=t.target.value}updateCasaiaDevices(){const t=[];this.rows.forEach(a=>{t.push(new _(a.IRCode,a.NwkId))}),this.apiService.putCasiaIrcode(t).subscribe(()=>{this.hasEditing=!1,this.getCasaiaDevices(),this.toastr.success(this.translate.instant("api.global.succes.update.notify"))})}getCasaiaDevices(){this.apiService.getCasiaDevices().subscribe(t=>{this.rows=t,this.temp=[...this.rows]})}static \u0275fac=function(a){return new(a||n)(e.rXU(E.G),e.rXU(g.tw),e.rXU(p.c$))};static \u0275cmp=e.VBU({type:n,selectors:[["app-manufacturer-casaia"]],decls:36,vars:23,consts:[["dt1",""],[1,"row","row-cols-1","row-cols-xxl-2","row-cols-xl-1","g-4"],[1,"col"],[1,"card"],[1,"card-header"],[1,"btn","btn-primary","float-end",3,"click","disabled","translate"],[1,"card-body"],[1,"card-title",3,"innerHTML"],[1,"card-text"],["styleClass","p-datatable-sm","dataKey","NwkId","responsiveLayout","scroll","stateStorage","local","stateKey","casaia",3,"globalFilterFields","rowHover","showCurrentPageReport","currentPageReportTemplate","rowsPerPageOptions","value","rows","paginator","scrollable"],["pTemplate","caption"],["pTemplate","header"],["pTemplate","body"],[1,"flex"],[1,"p-input-icon-left","ml-auto"],[1,"pi","pi-search"],["pInputText","","type","text",3,"input","value","placeholder"],["pSortableColumn","NwkId"],["field","NwkId"],["pSortableColumn","Name"],["field","Name"],["pSortableColumn","IEEE"],["field","IEEE"],["pSortableColumn","Model"],["field","Model"],["pSortableColumn","IRCode",2,"width","8rem"],["field","IRCode"],["pEditableColumnField","IRCode",3,"pEditableColumn"],["pTemplate","input"],["pTemplate","output"],["pInputText","","type","text",3,"ngModelChange","change","ngModel"]],template:function(a,s){if(1&a){const r=e.RV6();e.j41(0,"div",1),e.EFF(1,"\n "),e.j41(2,"div",2),e.EFF(3,"\n "),e.j41(4,"div",3),e.EFF(5,"\n "),e.j41(6,"div",4),e.EFF(7),e.nI1(8,"translate"),e.j41(9,"button",5),e.nI1(10,"translate"),e.bIt("click",function(){return e.eBV(r),e.Njj(s.updateCasaiaDevices())}),e.k0s(),e.EFF(11,"\n "),e.k0s(),e.EFF(12,"\n "),e.j41(13,"div",6),e.EFF(14,"\n "),e.nrm(15,"h5",7),e.nI1(16,"translate"),e.EFF(17,"\n "),e.j41(18,"div",8),e.EFF(19,"\n "),e.j41(20,"p-table",9,0),e.nI1(22,"translate"),e.EFF(23,"\n "),e.DNE(24,T,12,4,"ng-template",10),e.EFF(25,"\n "),e.DNE(26,R,34,15,"ng-template",11),e.EFF(27,"\n "),e.DNE(28,w,24,5,"ng-template",12),e.EFF(29,"\n "),e.k0s(),e.EFF(30,"\n "),e.k0s(),e.EFF(31,"\n "),e.k0s(),e.EFF(32,"\n "),e.k0s(),e.EFF(33,"\n "),e.k0s(),e.EFF(34,"\n"),e.k0s(),e.EFF(35,"\n")}2&a&&(e.R7$(7),e.SpI("\n ",e.bMT(8,13,"manufacturer.casaia.header"),"\n "),e.R7$(2),e.FS9("translate",e.bMT(10,15,"manufacturer.casaia.validate.button")),e.Y8G("disabled",!s.hasEditing),e.R7$(6),e.Y8G("innerHTML",e.bMT(16,17,"manufacturer.casaia.subtitle"),e.npT),e.R7$(5),e.FS9("currentPageReportTemplate",e.bMT(22,19,"TOTAL")),e.Y8G("globalFilterFields",e.lJ4(21,v))("rowHover",!0)("showCurrentPageReport",!0)("rowsPerPageOptions",e.lJ4(22,b))("value",s.rows)("rows",10)("paginator",!0)("scrollable",!0))},dependencies:[F.me,F.BC,F.vS,p.Mm,i.XI,I.Ei,i.Tg,i.hp,i.c5,i.yc,k.S,p.D9]})}return n})();class M{key;value}var N=l(96354),f=l(60177),C=l(97013);const $=()=>[10,25,50];function D(n,o){if(1&n&&(e.EFF(0,"\n "),e.j41(1,"span"),e.EFF(2," "),e.j41(3,"b"),e.EFF(4,"Name"),e.k0s(),e.EFF(5),e.j41(6,"b"),e.EFF(7,"NwkId"),e.k0s(),e.EFF(8),e.k0s(),e.EFF(9,"\n ")),2&n){const t=o.item;e.R7$(5),e.SpI(" : ",t.ZDeviceName," - "),e.R7$(3),e.SpI(" : ",t.Nwkid,"")}}function P(n,o){if(1&n&&(e.j41(0,"p",12),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&n){const t=e.XpG();e.R7$(),e.SpI("\n ",e.bMT(2,1,"manufacturer.zlinky.".concat(t.deviceSelected.protocole)),"\n ")}}function G(n,o){1&n&&(e.EFF(0,"\n "),e.j41(1,"tr"),e.EFF(2,"\n "),e.j41(3,"th"),e.EFF(4),e.nI1(5,"translate"),e.k0s(),e.EFF(6,"\n "),e.j41(7,"th"),e.EFF(8),e.nI1(9,"translate"),e.k0s(),e.EFF(10,"\n "),e.k0s(),e.EFF(11,"\n ")),2&n&&(e.R7$(4),e.SpI("\n ",e.bMT(5,2,"manufacturer.zlinky.key"),"\n "),e.R7$(4),e.SpI("\n ",e.bMT(9,4,"manufacturer.zlinky.value"),"\n "))}function x(n,o){if(1&n&&(e.EFF(0,"\n "),e.j41(1,"tr"),e.EFF(2,"\n "),e.j41(3,"td"),e.EFF(4),e.nI1(5,"translate"),e.k0s(),e.EFF(6,"\n "),e.j41(7,"td"),e.EFF(8),e.k0s(),e.EFF(9,"\n "),e.k0s()),2&n){const t=o.$implicit;e.R7$(4),e.SpI("\n ",e.bMT(5,2,"manufacturer.zlinky.".concat(t.key)),"\n "),e.R7$(4),e.SpI("\n ",t.value,"\n ")}}function X(n,o){if(1&n&&(e.j41(0,"p-table",13,0),e.nI1(2,"translate"),e.EFF(3,"\n "),e.DNE(4,G,12,6,"ng-template",14),e.EFF(5,"\n "),e.DNE(6,x,10,4,"ng-template",15),e.EFF(7,"\n "),e.k0s()),2&n){const t=e.XpG();e.FS9("currentPageReportTemplate",e.bMT(2,8,"TOTAL")),e.Y8G("rowHover",!0)("showCurrentPageReport",!0)("rowsPerPageOptions",e.lJ4(10,$))("value",t.deviceSelected.ParametersForDisplay)("rows",10)("paginator",!0)("scrollable",!0)}}let O=(()=>{class n{apiService;toastr;translate;zlinkys$;deviceSelected;constructor(t,a,s){this.apiService=t,this.toastr=a,this.translate=s}ngOnInit(){this.zlinkys$=this.apiService.getZlinky().pipe((0,N.T)(t=>(t.forEach(a=>{a.protocole="PROTOCOL_LINKY_"+a["PROTOCOL Linky"],a.ParametersForDisplay=[],a.Parameters.forEach(s=>{const r=new M;r.key=Object.keys(s)[0],r.value=Object.values(s)[0],a.ParametersForDisplay.push(r)})}),t)))}getConfiguration(t){this.deviceSelected=t}static \u0275fac=function(a){return new(a||n)(e.rXU(E.G),e.rXU(g.tw),e.rXU(p.c$))};static \u0275cmp=e.VBU({type:n,selectors:[["app-manufacturer-zlinky"]],decls:33,vars:17,consts:[["dt1",""],[1,"row","row-cols-1","row-cols-xxl-2","row-cols-xl-1","g-4"],[1,"col"],[1,"card"],[1,"card-header"],[1,"card-body"],[1,"card-title",3,"innerHTML"],[1,"card-text"],["bindLabel","ZDeviceName","appendTo","body",1,"w-25",3,"change","clear","items","multiple","closeOnSelect","searchable","placeholder"],["ng-option-tmp",""],["class","mt-3 mb-3 font-weight-bold",4,"ngIf"],["styleClass","p-datatable-sm","responsiveLayout","scroll","stateStorage","local","stateKey","zlinky",3,"rowHover","showCurrentPageReport","currentPageReportTemplate","rowsPerPageOptions","value","rows","paginator","scrollable",4,"ngIf"],[1,"mt-3","mb-3","font-weight-bold"],["styleClass","p-datatable-sm","responsiveLayout","scroll","stateStorage","local","stateKey","zlinky",3,"rowHover","showCurrentPageReport","currentPageReportTemplate","rowsPerPageOptions","value","rows","paginator","scrollable"],["pTemplate","header"],["pTemplate","body"]],template:function(a,s){1&a&&(e.j41(0,"div",1),e.EFF(1,"\n "),e.j41(2,"div",2),e.EFF(3,"\n "),e.j41(4,"div",3),e.EFF(5,"\n "),e.j41(6,"div",4),e.EFF(7),e.nI1(8,"translate"),e.k0s(),e.EFF(9,"\n "),e.j41(10,"div",5),e.EFF(11,"\n "),e.nrm(12,"h5",6),e.nI1(13,"translate"),e.EFF(14,"\n "),e.j41(15,"div",7),e.EFF(16,"\n "),e.j41(17,"ng-select",8),e.nI1(18,"translate"),e.nI1(19,"async"),e.bIt("change",function(c){return s.getConfiguration(c)})("clear",function(){return s.deviceSelected=null}),e.EFF(20,"\n "),e.DNE(21,D,10,2,"ng-template",9),e.EFF(22,"\n "),e.k0s(),e.EFF(23,"\n\n "),e.DNE(24,P,3,3,"p",10),e.EFF(25,"\n\n "),e.DNE(26,X,8,11,"p-table",11),e.EFF(27,"\n "),e.k0s(),e.EFF(28,"\n "),e.k0s(),e.EFF(29,"\n "),e.k0s(),e.EFF(30,"\n "),e.k0s(),e.EFF(31,"\n"),e.k0s(),e.EFF(32,"\n")),2&a&&(e.R7$(7),e.SpI("\n ",e.bMT(8,9,"manufacturer.zlinky.header"),"\n "),e.R7$(5),e.Y8G("innerHTML",e.bMT(13,11,"manufacturer.zlinky.subtitle"),e.npT),e.R7$(5),e.FS9("placeholder",e.bMT(18,13,"manufacturer.zlinky.placeholder")),e.Y8G("items",e.bMT(19,15,s.zlinkys$))("multiple",!1)("closeOnSelect",!0)("searchable",!0),e.R7$(7),e.Y8G("ngIf",s.deviceSelected),e.R7$(2),e.Y8G("ngIf",s.deviceSelected))},dependencies:[f.bT,C.vr,C.Uq,i.XI,I.Ei,f.Jj,p.D9]})}return n})();const L=[{path:"casaia",component:S,data:{title:(0,d.o6)("manufacturer.casaia")}},{path:"zlinky",component:O,data:{title:(0,d.o6)("manufacturer.zlinky")}}];let Z=(()=>{class n{static \u0275fac=function(a){return new(a||n)};static \u0275mod=e.$C({type:n});static \u0275inj=e.G2t({imports:[u.iI.forChild(L),u.iI]})}return n})(),z=(()=>{class n{static \u0275fac=function(a){return new(a||n)};static \u0275mod=e.$C({type:n});static \u0275inj=e.G2t({imports:[Z,h.G]})}return n})()}}]); \ No newline at end of file diff --git a/www/z4d/3rdpartylicenses.txt b/www/z4d/3rdpartylicenses.txt index 2a4369f29..a8435dfd9 100644 --- a/www/z4d/3rdpartylicenses.txt +++ b/www/z4d/3rdpartylicenses.txt @@ -546,9 +546,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -ngx-matomo-client -MIT - ngx-scrollbar MIT diff --git a/www/z4d/521.3fdfd13040e64239.js b/www/z4d/521.3fdfd13040e64239.js new file mode 100644 index 000000000..8735cf73e --- /dev/null +++ b/www/z4d/521.3fdfd13040e64239.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkz4d_plugin=self.webpackChunkz4d_plugin||[]).push([[521],{16521:(w,g,a)=>{a.r(g),a.d(g,{SettingsModule:()=>V});var f=a(93887),p=a(99062),v=a(38117),t=a(54438),_=a(88652),E=a(3366),r=a(89417),h=a(45794),b=a(38852),l=a(19664),m=a(60177),k=a(97013);function j(e,o){if(1&e&&(t.j41(0,"div",4),t.EFF(1,"\n "),t.nrm(2,"label",5),t.EFF(3,"\n "),t.j41(4,"div",6),t.EFF(5,"\n "),t.nrm(6,"input",7),t.EFF(7,"\n "),t.k0s(),t.EFF(8,"\n "),t.k0s()),2&e){const n=t.XpG(2);t.R7$(2),t.FS9("translate",n.setting.Name)}}function S(e,o){if(1&e&&(t.j41(0,"div",4),t.EFF(1,"\n "),t.nrm(2,"label",5),t.EFF(3,"\n "),t.j41(4,"div",6),t.EFF(5,"\n "),t.nrm(6,"input",7),t.EFF(7,"\n "),t.k0s(),t.EFF(8,"\n "),t.k0s()),2&e){const n=t.XpG(2);t.R7$(2),t.FS9("translate",n.setting.Name)}}function T(e,o){if(1&e&&(t.j41(0,"div",4),t.EFF(1,"\n "),t.nrm(2,"label",5),t.EFF(3,"\n "),t.j41(4,"div",6),t.EFF(5,"\n "),t.nrm(6,"input",8),t.EFF(7,"\n "),t.k0s(),t.EFF(8,"\n "),t.k0s()),2&e){const n=t.XpG(2);t.R7$(2),t.FS9("translate",n.setting.Name)}}function C(e,o){if(1&e&&(t.j41(0,"div",4),t.EFF(1,"\n "),t.nrm(2,"label",5),t.EFF(3,"\n "),t.j41(4,"div",6),t.EFF(5,"\n "),t.nrm(6,"input",9),t.EFF(7,"\n "),t.k0s(),t.EFF(8,"\n "),t.k0s()),2&e){const n=t.XpG(2);t.R7$(2),t.FS9("translate",n.setting.Name)}}function G(e,o){if(1&e&&(t.j41(0,"div",4),t.EFF(1,"\n "),t.nrm(2,"label",5),t.EFF(3,"\n "),t.j41(4,"div",6),t.EFF(5,"\n "),t.j41(6,"ng-select",10),t.EFF(7,"\n "),t.k0s(),t.EFF(8,"\n "),t.k0s(),t.EFF(9,"\n "),t.k0s()),2&e){const n=t.XpG(2);t.R7$(2),t.FS9("translate",n.setting.Name),t.R7$(4),t.Y8G("items",n.list)("compareWith",n.compareNumeric)("closeOnSelect",!0)}}function N(e,o){if(1&e&&(t.j41(0,"div",11),t.EFF(1,"\n "),t.nrm(2,"input",12),t.EFF(3,"\n "),t.nrm(4,"label",13),t.EFF(5,"\n "),t.k0s()),2&e){const n=t.XpG(2);t.R7$(2),t.FS9("id",n.setting.Name),t.R7$(2),t.FS9("for",n.setting.Name),t.FS9("translate",n.setting.Name)}}function R(e,o){if(1&e&&(t.j41(0,"div",1),t.EFF(1,"\n "),t.DNE(2,j,9,1,"div",2),t.EFF(3,"\n "),t.DNE(4,S,9,1,"div",2),t.EFF(5,"\n "),t.DNE(6,T,9,1,"div",2),t.EFF(7,"\n "),t.DNE(8,C,9,1,"div",2),t.EFF(9,"\n "),t.DNE(10,G,10,4,"div",2),t.EFF(11,"\n "),t.DNE(12,N,6,3,"div",3),t.EFF(13,"\n"),t.k0s()),2&e){const n=t.XpG();t.Y8G("formGroupName",n.setting.Name),t.R7$(2),t.Y8G("ngIf","str"===n.setting.DataType),t.R7$(2),t.Y8G("ngIf","path"===n.setting.DataType),t.R7$(2),t.Y8G("ngIf","int"===n.setting.DataType),t.R7$(2),t.Y8G("ngIf","hex"===n.setting.DataType),t.R7$(2),t.Y8G("ngIf","list"===n.setting.DataType),t.R7$(2),t.Y8G("ngIf","bool"===n.setting.DataType)}}let y=(()=>{class e{formBuilder;fgd;translate;setting;advanced;list=[];constructor(n,i,s){this.formBuilder=n,this.fgd=i,this.translate=s}ngOnChanges(n){let i;if(n.setting&&n.setting.currentValue){this.setting=n.setting.currentValue,"hex"===this.setting.DataType?i=this.formBuilder.group({current:["",r.k0.compose([r.k0.required,r.k0.pattern("^[0-9A-Fa-f]+")])]}):"bool"===this.setting.DataType?i=this.formBuilder.group({current:[]}):"list"===this.setting.DataType?(i=this.formBuilder.group({current:[null,r.k0.required]}),this.list=[],this.setting.list.forEach(c=>{const F=Object.keys(c)[0],u=Object.values(c)[0];this.list.push({label:F,value:u})})):i=this.formBuilder.group({current:["",r.k0.required]}),this.fgd.form.addControl(this.setting.Name,i);const s=""!==this.setting.current_value?this.setting.current_value:this.setting.default_value;this.fgd.form.get(this.setting.Name).get("current").patchValue(s)}}compareNumeric(n,i){return isNaN(n.value)?n.value===i:n.value===Number(i)}static \u0275fac=function(i){return new(i||e)(t.rXU(r.ok),t.rXU(r.j4),t.rXU(l.c$))};static \u0275cmp=t.VBU({type:e,selectors:[["app-setting"]],inputs:{setting:"setting",advanced:"advanced"},features:[t.Jv_([],[{provide:r.ZU,useExisting:r.j4}]),t.OA$],decls:2,vars:1,consts:[[3,"formGroupName",4,"ngIf"],[3,"formGroupName"],["class","form-group row mt-2",4,"ngIf"],["class","form-check form-check-inline mt-2",4,"ngIf"],[1,"form-group","row","mt-2"],["for","current",1,"col-sm-6","col-form-label",3,"translate"],[1,"col-sm"],["type","text","formControlName","current",1,"w-100","form-control"],["type","number","formControlName","current",1,"w-50","form-control"],["type","text","formControlName","current",1,"w-50","form-control"],["bindLabel","label","bindValue","value","formControlName","current",3,"items","compareWith","closeOnSelect"],[1,"form-check","form-check-inline","mt-2"],["formControlName","current","type","checkbox",1,"form-check-input",3,"id"],[1,"form-check-label",3,"for","translate"]],template:function(i,s){1&i&&(t.DNE(0,R,14,7,"div",0),t.EFF(1,"\n")),2&i&&t.Y8G("ngIf",!1===s.setting.Advanced||s.advanced===s.setting.Advanced)},dependencies:[m.bT,r.me,r.Q0,r.Zm,r.BC,r.cb,r.JD,r.$R,k.vr,l.Mm],styles:["was-validated[_ngcontent-%COMP%] .custom-control-input[_ngcontent-%COMP%]:valid ~ .custom-control-label[_ngcontent-%COMP%], .custom-control-input.is-valid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%]{color:#000}"]})}return e})();const d=["contentRestart"];function $(e,o){if(1&e&&(t.qex(0),t.EFF(1,"\n "),t.nrm(2,"app-setting",25),t.EFF(3,"\n "),t.bVm()),2&e){const n=o.$implicit,i=t.XpG(4);t.R7$(2),t.Y8G("setting",n)("advanced",i.advanced)}}function x(e,o){if(1&e&&(t.j41(0,"div",21),t.EFF(1,"\n "),t.nrm(2,"div",22),t.EFF(3,"\n "),t.j41(4,"div",23),t.EFF(5,"\n "),t.nrm(6,"p",17),t.EFF(7,"\n "),t.j41(8,"div",24),t.EFF(9,"\n "),t.DNE(10,$,4,2,"ng-container",19),t.EFF(11,"\n "),t.k0s(),t.EFF(12,"\n "),t.k0s(),t.EFF(13,"\n "),t.k0s()),2&e){const n=t.XpG().$implicit,i=t.XpG(2);t.R7$(2),t.Y8G("innerHTML",i.getTranslation("setting.header.",n._Theme),t.npT),t.R7$(4),t.Y8G("innerHTML",i.getTranslation("setting.subtitle.",n._Theme),t.npT),t.R7$(4),t.Y8G("ngForOf",n.ListOfSettings)}}function B(e,o){if(1&e&&(t.j41(0,"div"),t.EFF(1,"\n "),t.DNE(2,x,14,3,"div",20),t.EFF(3,"\n "),t.k0s()),2&e){const n=o.$implicit,i=t.XpG(2);t.R7$(2),t.Y8G("ngIf",i.hasBasicSettings(n.ListOfSettings))}}function I(e,o){if(1&e){const n=t.RV6();t.j41(0,"form",4),t.EFF(1,"\n "),t.j41(2,"fieldset",5),t.EFF(3,"\n "),t.j41(4,"legend"),t.EFF(5,"\n "),t.j41(6,"div",6),t.EFF(7,"\n "),t.nrm(8,"h5",7),t.nI1(9,"translate"),t.EFF(10,"\n "),t.j41(11,"div",8),t.EFF(12,"\n "),t.j41(13,"div",9),t.EFF(14,"\n "),t.j41(15,"div",10),t.EFF(16,"\n "),t.j41(17,"button",11),t.bIt("click",function(){t.eBV(n);const s=t.XpG();return t.Njj(s.updateSettings())}),t.k0s(),t.EFF(18,"\n "),t.k0s(),t.EFF(19,"\n "),t.j41(20,"div",12),t.EFF(21,"\n "),t.j41(22,"button",13),t.bIt("click",function(){t.eBV(n);const s=t.XpG();return t.Njj(s.reinitSettings())}),t.k0s(),t.EFF(23,"\n "),t.k0s(),t.EFF(24,"\n "),t.j41(25,"div",14),t.EFF(26,"\n "),t.j41(27,"input",15),t.bIt("click",function(s){t.eBV(n);const c=t.XpG();return t.Njj(c.advancedSettings(s))}),t.k0s(),t.EFF(28,"\n "),t.nrm(29,"label",16),t.EFF(30,"\n "),t.k0s(),t.EFF(31,"\n "),t.k0s(),t.EFF(32,"\n "),t.k0s(),t.EFF(33,"\n "),t.k0s(),t.EFF(34,"\n "),t.k0s(),t.EFF(35,"\n "),t.nrm(36,"p",17),t.nI1(37,"translate"),t.EFF(38,"\n "),t.k0s(),t.EFF(39,"\n "),t.j41(40,"div",18),t.EFF(41,"\n "),t.DNE(42,B,4,1,"div",19),t.EFF(43,"\n "),t.k0s(),t.EFF(44,"\n"),t.k0s()}if(2&e){const n=t.XpG();t.Y8G("formGroup",n.form),t.R7$(8),t.Y8G("innerHTML",t.bMT(9,6,"setting.help.legend"),t.npT),t.R7$(9),t.Y8G("disabled",!n.form.valid),t.R7$(10),t.Y8G("checked",n.advanced),t.R7$(9),t.Y8G("innerHTML",t.bMT(37,8,"setting.help.link"),t.npT),t.R7$(6),t.Y8G("ngForOf",n.settings)}}function O(e,o){if(1&e){const n=t.RV6();t.EFF(0,"\n "),t.j41(1,"div",26),t.EFF(2,"\n "),t.nrm(3,"h4",27),t.EFF(4,"\n "),t.j41(5,"button",28),t.bIt("click",function(){const s=t.eBV(n).$implicit;return t.Njj(s.dismiss("Cross click"))}),t.k0s(),t.EFF(6,"\n "),t.k0s(),t.EFF(7,"\n "),t.nrm(8,"div",29),t.EFF(9,"\n "),t.j41(10,"div",30),t.EFF(11,"\n "),t.j41(12,"button",31),t.bIt("click",function(){const s=t.eBV(n).$implicit;return t.Njj(s.dismiss("cancel"))}),t.k0s(),t.EFF(13,"\n "),t.k0s(),t.EFF(14,"\n")}}function D(e,o){if(1&e){const n=t.RV6();t.EFF(0,"\n "),t.j41(1,"div",26),t.EFF(2,"\n "),t.nrm(3,"h4",32),t.EFF(4,"\n "),t.j41(5,"button",28),t.bIt("click",function(){const s=t.eBV(n).$implicit;return t.Njj(s.dismiss("Cross click"))}),t.k0s(),t.EFF(6,"\n "),t.k0s(),t.EFF(7,"\n "),t.nrm(8,"div",33),t.EFF(9,"\n "),t.j41(10,"div",30),t.EFF(11,"\n "),t.j41(12,"button",34),t.bIt("click",function(){const s=t.eBV(n).$implicit;return t.Njj(s.dismiss("cancel"))}),t.k0s(),t.EFF(13,"\n "),t.k0s(),t.EFF(14,"\n")}}function X(e,o){if(1&e){const n=t.RV6();t.EFF(0,"\n "),t.j41(1,"div",26),t.EFF(2,"\n "),t.nrm(3,"h4",35),t.EFF(4,"\n "),t.j41(5,"button",28),t.bIt("click",function(){const s=t.eBV(n).$implicit;return t.Njj(s.dismiss("Cross click"))}),t.k0s(),t.EFF(6,"\n "),t.k0s(),t.EFF(7,"\n "),t.nrm(8,"div",36),t.EFF(9,"\n "),t.j41(10,"div",30),t.EFF(11,"\n "),t.j41(12,"button",37),t.bIt("click",function(){const s=t.eBV(n).$implicit;return t.Njj(s.dismiss("cancel"))}),t.k0s(),t.EFF(13,"\n "),t.k0s(),t.EFF(14,"\n")}}const M=[{path:"",component:(()=>{class e{modalService;apiService;formBuilder;toastr;headerService;translate;contentRestart;contentReset;contentErase;form;settings;advanced=!1;constructor(n,i,s,c,F,u){this.modalService=n,this.apiService=i,this.formBuilder=s,this.toastr=c,this.headerService=F,this.translate=u}ngOnInit(){this.form=this.formBuilder.group({}),this.apiService.getSettings().subscribe(n=>{this.settings=n,this.settings.sort((i,s)=>i._Order-s._Order)})}reinitSettings(){this.settings.forEach(n=>{const i=[];n.ListOfSettings.forEach(s=>{"path"!==s.DataType&&(s.current_value=s.default_value),i.push(Object.assign({},s))}),n.ListOfSettings=i}),this.settings=[...this.settings],this.form.markAsTouched()}advancedSettings(n){this.advanced=!!n.currentTarget.checked}updateSettings(){this.form.invalid?this.form.markAsTouched():(Object.keys(this.form.value).forEach(n=>{!0===this.form.value[n].current?this.form.value[n].current=1:!1===this.form.value[n].current&&(this.form.value[n].current=0)}),this.apiService.putSettings(this.form.value).subscribe(()=>{this.form.markAsPristine(),this.toastr.success(this.translate.instant("api.global.succes.saved.notify")),this.apiService.getSettings().subscribe(n=>{this.settings=n,this.settings.sort((i,s)=>i._Order-s._Order)}),this.apiService.getRestartNeeded().subscribe(n=>{1===n.RestartNeeded?(this.headerService.setRestart(!0),this.open(this.contentRestart)):2===n.RestartNeeded?this.open(this.contentReset):3===n.RestartNeeded&&this.open(this.contentErase)})}))}open(n){this.modalService.open(n,{ariaLabelledBy:"modal-basic-title"}).result.then()}hasBasicSettings(n){return!!this.advanced||n.filter(i=>!1===i.Advanced).length>0}getTranslation(n,i){return this.translate.instant(n.concat(i))}static \u0275fac=function(i){return new(i||e)(t.rXU(_.Bq),t.rXU(E.G),t.rXU(r.ok),t.rXU(h.tw),t.rXU(b.d),t.rXU(l.c$))};static \u0275cmp=t.VBU({type:e,selectors:[["app-settings"]],viewQuery:function(i,s){if(1&i&&(t.GBs(d,5),t.GBs(d,5),t.GBs(d,5)),2&i){let c;t.mGM(c=t.lsd())&&(s.contentRestart=c.first),t.mGM(c=t.lsd())&&(s.contentReset=c.first),t.mGM(c=t.lsd())&&(s.contentErase=c.first)}},decls:11,vars:1,consts:[["contentRestart",""],["contentReset",""],["contentErase",""],[3,"formGroup",4,"ngIf"],[3,"formGroup"],[1,"h-100"],[1,"row"],[1,"col-sm-8",3,"innerHTML"],[1,"col-sm-4"],[1,"d-flex","flex-row-reverse","align-items-center"],[1,"p-2"],["translate","setting.validate.button",1,"btn","btn-primary",3,"click","disabled"],[1,"p-2","ms-3"],["translate","setting.reinit.button",1,"btn","btn-secondary",3,"click"],[1,"switch","switch-sm"],["type","checkbox","id","switch-advanced",1,"switch",3,"click","checked"],["for","switch-advanced","translate","setting.advanced.button",1,"mb-0"],[1,"card-text",3,"innerHTML"],[1,"row","row-cols-1","row-cols-md-3","g-4","mt-2"],[4,"ngFor","ngForOf"],["class","card h-100",4,"ngIf"],[1,"card","h-100"],[1,"card-header","fw-bold",3,"innerHTML"],[1,"card-body"],[1,"card-text"],[3,"setting","advanced"],[1,"modal-header"],["id","modal-basic-title","translate","setting.reloadplugin.alert.title",1,"modal-title"],["type","button","aria-label","Close",1,"btn-close",3,"click"],["translate","setting.reloadplugin.alert.subject",1,"modal-body"],[1,"modal-footer"],["type","button","translate","setting.reloadplugin.alert.cancel",1,"btn","btn-outline-dark",3,"click"],["id","modal-basic-title","translate","setting.resetplugin.alert.title",1,"modal-title"],["translate","setting.resetplugin.alert.subject",1,"modal-body"],["type","button","translate","setting.resetplugin.alert.cancel",1,"btn","btn-outline-dark",3,"click"],["id","modal-basic-title","translate","setting.eraseplugin.alert.title",1,"modal-title"],["translate","setting.eraseplugin.alert.subject",1,"modal-body"],["type","button","translate","setting.eraseplugin.alert.cancel",1,"btn","btn-outline-dark",3,"click"]],template:function(i,s){1&i&&(t.DNE(0,I,45,10,"form",3),t.EFF(1,"\n\n"),t.DNE(2,O,15,0,"ng-template",null,0,t.C5r),t.EFF(4,"\n\n"),t.DNE(5,D,15,0,"ng-template",null,1,t.C5r),t.EFF(7,"\n\n"),t.DNE(8,X,15,0,"ng-template",null,2,t.C5r),t.EFF(10,"\n")),2&i&&t.Y8G("ngIf",s.settings)},dependencies:[m.Sq,m.bT,r.qT,r.cb,r.j4,l.Mm,y,l.D9],styles:[".btn-secondary[_ngcontent-%COMP%]{--bs-btn-color: white}"]})}return e})(),data:{title:(0,v.o6)("settings")}}];let Y=(()=>{class e{static \u0275fac=function(i){return new(i||e)};static \u0275mod=t.$C({type:e});static \u0275inj=t.G2t({imports:[p.iI.forChild(M),p.iI]})}return e})(),V=(()=>{class e{static \u0275fac=function(i){return new(i||e)};static \u0275mod=t.$C({type:e});static \u0275inj=t.G2t({imports:[Y,f.G]})}return e})()}}]); \ No newline at end of file diff --git a/www/z4d/521.4a2e700ea1ed6d2d.js b/www/z4d/521.4a2e700ea1ed6d2d.js deleted file mode 100644 index c4d967d63..000000000 --- a/www/z4d/521.4a2e700ea1ed6d2d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkz4d_plugin=self.webpackChunkz4d_plugin||[]).push([[521],{16521:(w,g,a)=>{a.r(g),a.d(g,{SettingsModule:()=>L});var f=a(93887),p=a(93331),v=a(38117),t=a(54438),_=a(88652),E=a(3366),r=a(89417),h=a(45794),b=a(38852),l=a(19664),k=a(37542),d=a(60177),j=a(97013);function S(e,c){if(1&e&&(t.j41(0,"div",4),t.EFF(1,"\n "),t.nrm(2,"label",5),t.EFF(3,"\n "),t.j41(4,"div",6),t.EFF(5,"\n "),t.nrm(6,"input",7),t.EFF(7,"\n "),t.k0s(),t.EFF(8,"\n "),t.k0s()),2&e){const n=t.XpG(2);t.R7$(2),t.FS9("translate",n.setting.Name)}}function T(e,c){if(1&e&&(t.j41(0,"div",4),t.EFF(1,"\n "),t.nrm(2,"label",5),t.EFF(3,"\n "),t.j41(4,"div",6),t.EFF(5,"\n "),t.nrm(6,"input",7),t.EFF(7,"\n "),t.k0s(),t.EFF(8,"\n "),t.k0s()),2&e){const n=t.XpG(2);t.R7$(2),t.FS9("translate",n.setting.Name)}}function C(e,c){if(1&e&&(t.j41(0,"div",4),t.EFF(1,"\n "),t.nrm(2,"label",5),t.EFF(3,"\n "),t.j41(4,"div",6),t.EFF(5,"\n "),t.nrm(6,"input",8),t.EFF(7,"\n "),t.k0s(),t.EFF(8,"\n "),t.k0s()),2&e){const n=t.XpG(2);t.R7$(2),t.FS9("translate",n.setting.Name)}}function G(e,c){if(1&e&&(t.j41(0,"div",4),t.EFF(1,"\n "),t.nrm(2,"label",5),t.EFF(3,"\n "),t.j41(4,"div",6),t.EFF(5,"\n "),t.nrm(6,"input",9),t.EFF(7,"\n "),t.k0s(),t.EFF(8,"\n "),t.k0s()),2&e){const n=t.XpG(2);t.R7$(2),t.FS9("translate",n.setting.Name)}}function N(e,c){if(1&e&&(t.j41(0,"div",4),t.EFF(1,"\n "),t.nrm(2,"label",5),t.EFF(3,"\n "),t.j41(4,"div",6),t.EFF(5,"\n "),t.j41(6,"ng-select",10),t.EFF(7,"\n "),t.k0s(),t.EFF(8,"\n "),t.k0s(),t.EFF(9,"\n "),t.k0s()),2&e){const n=t.XpG(2);t.R7$(2),t.FS9("translate",n.setting.Name),t.R7$(4),t.Y8G("items",n.list)("compareWith",n.compareNumeric)("closeOnSelect",!0)}}function R(e,c){if(1&e&&(t.j41(0,"div",11),t.EFF(1,"\n "),t.nrm(2,"input",12),t.EFF(3,"\n "),t.nrm(4,"label",13),t.EFF(5,"\n "),t.k0s()),2&e){const n=t.XpG(2);t.R7$(2),t.FS9("id",n.setting.Name),t.R7$(2),t.FS9("for",n.setting.Name),t.FS9("translate",n.setting.Name)}}function y(e,c){if(1&e&&(t.j41(0,"div",1),t.EFF(1,"\n "),t.DNE(2,S,9,1,"div",2),t.EFF(3,"\n "),t.DNE(4,T,9,1,"div",2),t.EFF(5,"\n "),t.DNE(6,C,9,1,"div",2),t.EFF(7,"\n "),t.DNE(8,G,9,1,"div",2),t.EFF(9,"\n "),t.DNE(10,N,10,4,"div",2),t.EFF(11,"\n "),t.DNE(12,R,6,3,"div",3),t.EFF(13,"\n"),t.k0s()),2&e){const n=t.XpG();t.Y8G("formGroupName",n.setting.Name),t.R7$(2),t.Y8G("ngIf","str"===n.setting.DataType),t.R7$(2),t.Y8G("ngIf","path"===n.setting.DataType),t.R7$(2),t.Y8G("ngIf","int"===n.setting.DataType),t.R7$(2),t.Y8G("ngIf","hex"===n.setting.DataType),t.R7$(2),t.Y8G("ngIf","list"===n.setting.DataType),t.R7$(2),t.Y8G("ngIf","bool"===n.setting.DataType)}}let $=(()=>{class e{formBuilder;fgd;translate;setting;advanced;list=[];constructor(n,i,s){this.formBuilder=n,this.fgd=i,this.translate=s}ngOnChanges(n){let i;if(n.setting&&n.setting.currentValue){this.setting=n.setting.currentValue,"hex"===this.setting.DataType?i=this.formBuilder.group({current:["",r.k0.compose([r.k0.required,r.k0.pattern("^[0-9A-Fa-f]+")])]}):"bool"===this.setting.DataType?i=this.formBuilder.group({current:[]}):"list"===this.setting.DataType?(i=this.formBuilder.group({current:[null,r.k0.required]}),this.list=[],this.setting.list.forEach(o=>{const m=Object.keys(o)[0],u=Object.values(o)[0];this.list.push({label:m,value:u})})):i=this.formBuilder.group({current:["",r.k0.required]}),this.fgd.form.addControl(this.setting.Name,i);const s=""!==this.setting.current_value?this.setting.current_value:this.setting.default_value;this.fgd.form.get(this.setting.Name).get("current").patchValue(s)}}compareNumeric(n,i){return isNaN(n.value)?n.value===i:n.value===Number(i)}static \u0275fac=function(i){return new(i||e)(t.rXU(r.ok),t.rXU(r.j4),t.rXU(l.c$))};static \u0275cmp=t.VBU({type:e,selectors:[["app-setting"]],inputs:{setting:"setting",advanced:"advanced"},features:[t.Jv_([],[{provide:r.ZU,useExisting:r.j4}]),t.OA$],decls:2,vars:1,consts:[[3,"formGroupName",4,"ngIf"],[3,"formGroupName"],["class","form-group row mt-2",4,"ngIf"],["class","form-check form-check-inline mt-2",4,"ngIf"],[1,"form-group","row","mt-2"],["for","current",1,"col-sm-6","col-form-label",3,"translate"],[1,"col-sm"],["type","text","formControlName","current",1,"w-100","form-control"],["type","number","formControlName","current",1,"w-50","form-control"],["type","text","formControlName","current",1,"w-50","form-control"],["bindLabel","label","bindValue","value","formControlName","current",3,"items","compareWith","closeOnSelect"],[1,"form-check","form-check-inline","mt-2"],["formControlName","current","type","checkbox",1,"form-check-input",3,"id"],[1,"form-check-label",3,"for","translate"]],template:function(i,s){1&i&&(t.DNE(0,y,14,7,"div",0),t.EFF(1,"\n")),2&i&&t.Y8G("ngIf",!1===s.setting.Advanced||s.advanced===s.setting.Advanced)},dependencies:[d.bT,r.me,r.Q0,r.Zm,r.BC,r.cb,r.JD,r.$R,j.vr,l.Mm],styles:["was-validated[_ngcontent-%COMP%] .custom-control-input[_ngcontent-%COMP%]:valid ~ .custom-control-label[_ngcontent-%COMP%], .custom-control-input.is-valid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%]{color:#000}"]})}return e})();const F=["contentRestart"];function x(e,c){if(1&e&&(t.qex(0),t.EFF(1,"\n "),t.nrm(2,"app-setting",25),t.EFF(3,"\n "),t.bVm()),2&e){const n=c.$implicit,i=t.XpG(4);t.R7$(2),t.Y8G("setting",n)("advanced",i.advanced)}}function O(e,c){if(1&e&&(t.j41(0,"div",21),t.EFF(1,"\n "),t.nrm(2,"div",22),t.EFF(3,"\n "),t.j41(4,"div",23),t.EFF(5,"\n "),t.nrm(6,"p",17),t.EFF(7,"\n "),t.j41(8,"div",24),t.EFF(9,"\n "),t.DNE(10,x,4,2,"ng-container",19),t.EFF(11,"\n "),t.k0s(),t.EFF(12,"\n "),t.k0s(),t.EFF(13,"\n "),t.k0s()),2&e){const n=t.XpG().$implicit,i=t.XpG(2);t.R7$(2),t.Y8G("innerHTML",i.getTranslation("setting.header.",n._Theme),t.npT),t.R7$(4),t.Y8G("innerHTML",i.getTranslation("setting.subtitle.",n._Theme),t.npT),t.R7$(4),t.Y8G("ngForOf",n.ListOfSettings)}}function B(e,c){if(1&e&&(t.j41(0,"div"),t.EFF(1,"\n "),t.DNE(2,O,14,3,"div",20),t.EFF(3,"\n "),t.k0s()),2&e){const n=c.$implicit,i=t.XpG(2);t.R7$(2),t.Y8G("ngIf",i.hasBasicSettings(n.ListOfSettings))}}function I(e,c){if(1&e){const n=t.RV6();t.j41(0,"form",4),t.EFF(1,"\n "),t.j41(2,"fieldset",5),t.EFF(3,"\n "),t.j41(4,"legend"),t.EFF(5,"\n "),t.j41(6,"div",6),t.EFF(7,"\n "),t.nrm(8,"h5",7),t.nI1(9,"translate"),t.EFF(10,"\n "),t.j41(11,"div",8),t.EFF(12,"\n "),t.j41(13,"div",9),t.EFF(14,"\n "),t.j41(15,"div",10),t.EFF(16,"\n "),t.j41(17,"button",11),t.bIt("click",function(){t.eBV(n);const s=t.XpG();return t.Njj(s.updateSettings())}),t.k0s(),t.EFF(18,"\n "),t.k0s(),t.EFF(19,"\n "),t.j41(20,"div",12),t.EFF(21,"\n "),t.j41(22,"button",13),t.bIt("click",function(){t.eBV(n);const s=t.XpG();return t.Njj(s.reinitSettings())}),t.k0s(),t.EFF(23,"\n "),t.k0s(),t.EFF(24,"\n "),t.j41(25,"div",14),t.EFF(26,"\n "),t.j41(27,"input",15),t.bIt("click",function(s){t.eBV(n);const o=t.XpG();return t.Njj(o.advancedSettings(s))}),t.k0s(),t.EFF(28,"\n "),t.nrm(29,"label",16),t.EFF(30,"\n "),t.k0s(),t.EFF(31,"\n "),t.k0s(),t.EFF(32,"\n "),t.k0s(),t.EFF(33,"\n "),t.k0s(),t.EFF(34,"\n "),t.k0s(),t.EFF(35,"\n "),t.nrm(36,"p",17),t.nI1(37,"translate"),t.EFF(38,"\n "),t.k0s(),t.EFF(39,"\n "),t.j41(40,"div",18),t.EFF(41,"\n "),t.DNE(42,B,4,1,"div",19),t.EFF(43,"\n "),t.k0s(),t.EFF(44,"\n"),t.k0s()}if(2&e){const n=t.XpG();t.Y8G("formGroup",n.form),t.R7$(8),t.Y8G("innerHTML",t.bMT(9,6,"setting.help.legend"),t.npT),t.R7$(9),t.Y8G("disabled",!n.form.valid),t.R7$(10),t.Y8G("checked",n.advanced),t.R7$(9),t.Y8G("innerHTML",t.bMT(37,8,"setting.help.link"),t.npT),t.R7$(6),t.Y8G("ngForOf",n.settings)}}function D(e,c){if(1&e){const n=t.RV6();t.EFF(0,"\n "),t.j41(1,"div",26),t.EFF(2,"\n "),t.nrm(3,"h4",27),t.EFF(4,"\n "),t.j41(5,"button",28),t.bIt("click",function(){const s=t.eBV(n).$implicit;return t.Njj(s.dismiss("Cross click"))}),t.k0s(),t.EFF(6,"\n "),t.k0s(),t.EFF(7,"\n "),t.nrm(8,"div",29),t.EFF(9,"\n "),t.j41(10,"div",30),t.EFF(11,"\n "),t.j41(12,"button",31),t.bIt("click",function(){const s=t.eBV(n).$implicit;return t.Njj(s.dismiss("cancel"))}),t.k0s(),t.EFF(13,"\n "),t.k0s(),t.EFF(14,"\n")}}function X(e,c){if(1&e){const n=t.RV6();t.EFF(0,"\n "),t.j41(1,"div",26),t.EFF(2,"\n "),t.nrm(3,"h4",32),t.EFF(4,"\n "),t.j41(5,"button",28),t.bIt("click",function(){const s=t.eBV(n).$implicit;return t.Njj(s.dismiss("Cross click"))}),t.k0s(),t.EFF(6,"\n "),t.k0s(),t.EFF(7,"\n "),t.nrm(8,"div",33),t.EFF(9,"\n "),t.j41(10,"div",30),t.EFF(11,"\n "),t.j41(12,"button",34),t.bIt("click",function(){const s=t.eBV(n).$implicit;return t.Njj(s.dismiss("cancel"))}),t.k0s(),t.EFF(13,"\n "),t.k0s(),t.EFF(14,"\n")}}function M(e,c){if(1&e){const n=t.RV6();t.EFF(0,"\n "),t.j41(1,"div",26),t.EFF(2,"\n "),t.nrm(3,"h4",35),t.EFF(4,"\n "),t.j41(5,"button",28),t.bIt("click",function(){const s=t.eBV(n).$implicit;return t.Njj(s.dismiss("Cross click"))}),t.k0s(),t.EFF(6,"\n "),t.k0s(),t.EFF(7,"\n "),t.nrm(8,"div",36),t.EFF(9,"\n "),t.j41(10,"div",30),t.EFF(11,"\n "),t.j41(12,"button",37),t.bIt("click",function(){const s=t.eBV(n).$implicit;return t.Njj(s.dismiss("cancel"))}),t.k0s(),t.EFF(13,"\n "),t.k0s(),t.EFF(14,"\n")}}const Y=[{path:"",component:(()=>{class e{modalService;apiService;formBuilder;toastr;headerService;translate;tracker;contentRestart;contentReset;contentErase;form;settings;advanced=!1;constructor(n,i,s,o,m,u,U){this.modalService=n,this.apiService=i,this.formBuilder=s,this.toastr=o,this.headerService=m,this.translate=u,this.tracker=U}ngOnInit(){this.form=this.formBuilder.group({}),this.apiService.getSettings().subscribe(n=>{this.settings=n,this.settings.sort((i,s)=>i._Order-s._Order)})}reinitSettings(){this.settings.forEach(n=>{const i=[];n.ListOfSettings.forEach(s=>{"path"!==s.DataType&&(s.current_value=s.default_value),i.push(Object.assign({},s))}),n.ListOfSettings=i}),this.settings=[...this.settings],this.form.markAsTouched()}advancedSettings(n){this.advanced=!!n.currentTarget.checked}updateSettings(){this.form.invalid?this.form.markAsTouched():(Object.keys(this.form.value).forEach(n=>{!0===this.form.value[n].current?this.form.value[n].current=1:!1===this.form.value[n].current&&(this.form.value[n].current=0)}),this.apiService.putSettings(this.form.value).subscribe(()=>{this.form.markAsPristine(),this.toastr.success(this.translate.instant("api.global.succes.saved.notify")),this.apiService.getSettings().subscribe(n=>{this.settings=n,this.settings.sort((i,s)=>i._Order-s._Order),n.forEach(i=>{i.ListOfSettings.forEach(o=>{"PluginAnalytics"===o.Name&&(1===o.current_value?(this.tracker.setConsentGiven(),this.tracker.rememberConsentGiven()):this.tracker.forgetConsentGiven())})})}),this.apiService.getRestartNeeded().subscribe(n=>{1===n.RestartNeeded?(this.headerService.setRestart(!0),this.open(this.contentRestart)):2===n.RestartNeeded?this.open(this.contentReset):3===n.RestartNeeded&&this.open(this.contentErase)})}))}open(n){this.modalService.open(n,{ariaLabelledBy:"modal-basic-title"}).result.then()}hasBasicSettings(n){return!!this.advanced||n.filter(i=>!1===i.Advanced).length>0}getTranslation(n,i){return this.translate.instant(n.concat(i))}static \u0275fac=function(i){return new(i||e)(t.rXU(_.Bq),t.rXU(E.G),t.rXU(r.ok),t.rXU(h.tw),t.rXU(b.d),t.rXU(l.c$),t.rXU(k.kA))};static \u0275cmp=t.VBU({type:e,selectors:[["app-settings"]],viewQuery:function(i,s){if(1&i&&(t.GBs(F,5),t.GBs(F,5),t.GBs(F,5)),2&i){let o;t.mGM(o=t.lsd())&&(s.contentRestart=o.first),t.mGM(o=t.lsd())&&(s.contentReset=o.first),t.mGM(o=t.lsd())&&(s.contentErase=o.first)}},decls:11,vars:1,consts:[["contentRestart",""],["contentReset",""],["contentErase",""],[3,"formGroup",4,"ngIf"],[3,"formGroup"],[1,"h-100"],[1,"row"],[1,"col-sm-8",3,"innerHTML"],[1,"col-sm-4"],[1,"d-flex","flex-row-reverse","align-items-center"],[1,"p-2"],["translate","setting.validate.button",1,"btn","btn-primary",3,"click","disabled"],[1,"p-2","ms-3"],["translate","setting.reinit.button",1,"btn","btn-secondary",3,"click"],[1,"switch","switch-sm"],["type","checkbox","id","switch-advanced",1,"switch",3,"click","checked"],["for","switch-advanced","translate","setting.advanced.button",1,"mb-0"],[1,"card-text",3,"innerHTML"],[1,"row","row-cols-1","row-cols-md-3","g-4","mt-2"],[4,"ngFor","ngForOf"],["class","card h-100",4,"ngIf"],[1,"card","h-100"],[1,"card-header","fw-bold",3,"innerHTML"],[1,"card-body"],[1,"card-text"],[3,"setting","advanced"],[1,"modal-header"],["id","modal-basic-title","translate","setting.reloadplugin.alert.title",1,"modal-title"],["type","button","aria-label","Close",1,"btn-close",3,"click"],["translate","setting.reloadplugin.alert.subject",1,"modal-body"],[1,"modal-footer"],["type","button","translate","setting.reloadplugin.alert.cancel",1,"btn","btn-outline-dark",3,"click"],["id","modal-basic-title","translate","setting.resetplugin.alert.title",1,"modal-title"],["translate","setting.resetplugin.alert.subject",1,"modal-body"],["type","button","translate","setting.resetplugin.alert.cancel",1,"btn","btn-outline-dark",3,"click"],["id","modal-basic-title","translate","setting.eraseplugin.alert.title",1,"modal-title"],["translate","setting.eraseplugin.alert.subject",1,"modal-body"],["type","button","translate","setting.eraseplugin.alert.cancel",1,"btn","btn-outline-dark",3,"click"]],template:function(i,s){1&i&&(t.DNE(0,I,45,10,"form",3),t.EFF(1,"\n\n"),t.DNE(2,D,15,0,"ng-template",null,0,t.C5r),t.EFF(4,"\n\n"),t.DNE(5,X,15,0,"ng-template",null,1,t.C5r),t.EFF(7,"\n\n"),t.DNE(8,M,15,0,"ng-template",null,2,t.C5r),t.EFF(10,"\n")),2&i&&t.Y8G("ngIf",s.settings)},dependencies:[d.Sq,d.bT,r.qT,r.cb,r.j4,l.Mm,$,l.D9],styles:[".btn-secondary[_ngcontent-%COMP%]{--bs-btn-color: white}"]})}return e})(),data:{title:(0,v.o6)("settings")}}];let V=(()=>{class e{static \u0275fac=function(i){return new(i||e)};static \u0275mod=t.$C({type:e});static \u0275inj=t.G2t({imports:[p.iI.forChild(Y),p.iI]})}return e})(),L=(()=>{class e{static \u0275fac=function(i){return new(i||e)};static \u0275mod=t.$C({type:e});static \u0275inj=t.G2t({imports:[V,f.G]})}return e})()}}]); \ No newline at end of file diff --git a/www/z4d/577.d8ab166ec1c4b8d8.js b/www/z4d/577.fa69d399ab88eb5c.js similarity index 99% rename from www/z4d/577.d8ab166ec1c4b8d8.js rename to www/z4d/577.fa69d399ab88eb5c.js index 5df3cc3c3..c25ec7ffd 100644 --- a/www/z4d/577.d8ab166ec1c4b8d8.js +++ b/www/z4d/577.fa69d399ab88eb5c.js @@ -1 +1 @@ -"use strict";(self.webpackChunkz4d_plugin=self.webpackChunkz4d_plugin||[]).push([[577],{74577:(B,m,s)=>{s.r(m),s.d(m,{GroupModule:()=>D});var p=s(89417),g=s(93887),F=s(93331),h=s(38117),_=s(12298),f=s(28990),t=s(54438),G=s(88652),b=s(3366),d=s(19664),v=s(45794),I=s(38852),E=s(97013),c=s(46247),j=s(5779),k=s(22242);const C=["content"],N=()=>["_GroupId","GroupName"],T=()=>[10,25,50];function S(i,l){if(1&i){const e=t.RV6();t.EFF(0,"\n "),t.j41(1,"div",12),t.EFF(2,"\n "),t.j41(3,"span",13),t.EFF(4,"\n "),t.nrm(5,"i",14),t.EFF(6,"\n "),t.j41(7,"input",15),t.nI1(8,"translate"),t.bIt("input",function(o){t.eBV(e),t.XpG();const r=t.sdS(16);return t.Njj(r.filterGlobal(o.target.value,"contains"))}),t.k0s(),t.EFF(9,"\n "),t.k0s(),t.EFF(10,"\n "),t.j41(11,"button",16),t.bIt("click",function(){t.eBV(e);const o=t.XpG();return t.Njj(o.add())}),t.k0s(),t.EFF(12,"\n "),t.k0s(),t.EFF(13,"\n ")}if(2&i){t.XpG();const e=t.sdS(16);t.R7$(7),t.FS9("placeholder",t.bMT(8,2,"device.byname.placeholder")),t.Y8G("value",null==e.filters.global?null:e.filters.global.value)}}function w(i,l){1&i&&(t.EFF(0,"\n "),t.j41(1,"tr"),t.EFF(2,"\n "),t.nrm(3,"th"),t.EFF(4,"\n "),t.j41(5,"th",17),t.EFF(6),t.nI1(7,"translate"),t.nrm(8,"p-sortIcon",18),t.EFF(9,"\n "),t.k0s(),t.EFF(10,"\n "),t.j41(11,"th",19),t.EFF(12),t.nI1(13,"translate"),t.nrm(14,"p-sortIcon",20),t.EFF(15,"\n "),t.k0s(),t.EFF(16,"\n "),t.j41(17,"th"),t.EFF(18),t.nI1(19,"translate"),t.k0s(),t.EFF(20,"\n "),t.j41(21,"th"),t.EFF(22),t.nI1(23,"translate"),t.k0s(),t.EFF(24,"\n "),t.k0s(),t.EFF(25,"\n ")),2&i&&(t.R7$(6),t.SpI("\n ",t.bMT(7,4,"group.create.shortid.column"),""),t.R7$(6),t.SpI("\n ",t.bMT(13,6,"group.create.groupname.column"),""),t.R7$(6),t.SpI("\n ",t.bMT(19,8,"group.create.devices.column"),"\n "),t.R7$(4),t.SpI("\n ",t.bMT(23,10,"group.create.coordinator.column"),"\n "))}function R(i,l){if(1&i){const e=t.RV6();t.EFF(0,"\n "),t.j41(1,"input",29),t.mxI("ngModelChange",function(o){t.eBV(e);const r=t.XpG().$implicit;return t.DH7(r.GroupName,o)||(r.GroupName=o),t.Njj(o)}),t.bIt("change",function(o){t.eBV(e);const r=t.XpG().$implicit,a=t.XpG();return t.Njj(a.updateValue(o,r._GroupId))}),t.k0s(),t.EFF(2,"\n ")}if(2&i){const e=t.XpG().$implicit;t.R7$(),t.R50("ngModel",e.GroupName)}}function $(i,l){if(1&i){const e=t.RV6();t.EFF(0,"\n "),t.j41(1,"input",29),t.mxI("ngModelChange",function(o){t.eBV(e);const r=t.XpG().$implicit;return t.DH7(r.GroupName,o)||(r.GroupName=o),t.Njj(o)}),t.bIt("change",function(o){t.eBV(e);const r=t.XpG().$implicit,a=t.XpG();return t.Njj(a.updateValue(o,r._GroupId))}),t.k0s(),t.EFF(2,"\n ")}if(2&i){const e=t.XpG().$implicit;t.R7$(),t.R50("ngModel",e.GroupName)}}function M(i,l){if(1&i&&(t.EFF(0,"\n "),t.j41(1,"span"),t.EFF(2,"\n "),t.j41(3,"b"),t.EFF(4,"Widget"),t.k0s(),t.EFF(5),t.j41(6,"b"),t.EFF(7,"IEEE"),t.k0s(),t.EFF(8),t.j41(9,"b"),t.EFF(10,"Ep"),t.k0s(),t.EFF(11),t.j41(12,"b"),t.EFF(13,"Id"),t.k0s(),t.EFF(14),t.j41(15,"b"),t.EFF(16),t.k0s(),t.EFF(17,"\n "),t.k0s(),t.EFF(18,"\n ")),2&i){const e=l.item;t.R7$(5),t.SpI(" : ",e.Name," - "),t.R7$(3),t.SpI(" : ",e.IEEE," - "),t.R7$(3),t.SpI(" : ",e.Ep," -\n "),t.R7$(3),t.SpI(" : ",e._ID," -\n "),t.R7$(2),t.JRh(e.ZDeviceName)}}function y(i,l){if(1&i){const e=t.RV6();t.EFF(0,"\n "),t.j41(1,"tr"),t.EFF(2,"\n "),t.j41(3,"td"),t.EFF(4,"\n "),t.j41(5,"i",21),t.nI1(6,"translate"),t.bIt("click",function(){const o=t.eBV(e).$implicit,r=t.XpG();return t.Njj(r.delete(o))}),t.k0s(),t.EFF(7,"\n "),t.k0s(),t.EFF(8,"\n "),t.j41(9,"td"),t.EFF(10),t.k0s(),t.EFF(11,"\n "),t.j41(12,"td",22),t.EFF(13,"\n "),t.j41(14,"p-cellEditor"),t.EFF(15,"\n "),t.DNE(16,R,3,1,"ng-template",23),t.EFF(17,"\n "),t.DNE(18,$,3,1,"ng-template",24),t.EFF(19,"\n "),t.k0s(),t.EFF(20,"\n "),t.k0s(),t.EFF(21,"\n "),t.j41(22,"td"),t.EFF(23,"\n "),t.j41(24,"ng-select",25),t.mxI("ngModelChange",function(o){const r=t.eBV(e).$implicit;return t.DH7(r.devicesSelected,o)||(r.devicesSelected=o),t.Njj(o)}),t.bIt("change",function(){t.eBV(e);const o=t.XpG();return t.Njj(o.isFormValid())}),t.EFF(25,"\n "),t.DNE(26,M,19,5,"ng-template",26),t.EFF(27,"\n "),t.k0s(),t.EFF(28,"\n "),t.k0s(),t.EFF(29,"\n "),t.j41(30,"td"),t.EFF(31,"\n "),t.j41(32,"div",27),t.EFF(33,"\n "),t.j41(34,"input",28),t.bIt("click",function(o){const r=t.eBV(e).$implicit,a=t.XpG();return t.Njj(a.updateCoordinator(o,r))}),t.k0s(),t.EFF(35,"\n "),t.k0s(),t.EFF(36,"\n "),t.k0s()()}if(2&i){const e=l.$implicit,n=t.XpG();t.R7$(5),t.FS9("title",t.bMT(6,9,"group.create.delete.button")),t.R7$(5),t.SpI("\n ",e._GroupId,"\n "),t.R7$(2),t.Y8G("pEditableColumn",e.GroupName),t.R7$(12),t.Y8G("items",n.devices)("multiple",!0)("closeOnSelect",!1)("searchable",!0),t.R50("ngModel",e.devicesSelected),t.R7$(10),t.Y8G("checked",e.coordinatorInside)}}function V(i,l){if(1&i){const e=t.RV6();t.EFF(0,"\n "),t.j41(1,"div",30),t.EFF(2,"\n "),t.nrm(3,"h4",31),t.EFF(4,"\n "),t.j41(5,"button",32),t.bIt("click",function(){const o=t.eBV(e).$implicit;return t.Njj(o.dismiss("Cross click"))}),t.k0s(),t.EFF(6,"\n "),t.k0s(),t.EFF(7,"\n "),t.nrm(8,"div",33),t.EFF(9,"\n "),t.j41(10,"div",34),t.EFF(11,"\n "),t.j41(12,"button",35),t.bIt("click",function(){const o=t.eBV(e).$implicit;return t.Njj(o.dismiss("cancel"))}),t.k0s(),t.EFF(13,"\n "),t.k0s(),t.EFF(14,"\n ")}}const x=[{path:"",component:(()=>{class i extends f.U{modalService;apiService;formBuilder;translate;toastr;headerService;content;form;rows=[];rowsTemp=[];devices;temp=[];hasEditing=!1;waiting=!1;constructor(e,n,o,r,a,u){super(),this.modalService=e,this.apiService=n,this.formBuilder=o,this.translate=r,this.toastr=a,this.headerService=u}ngOnInit(){this.apiService.getZGroupDevicesAvalaible().subscribe(e=>{const n=[];e&&e.length>0&&(e.forEach(o=>{o.WidgetList.forEach(r=>{if("0000"!==o._NwkId){const a=new _.ij;a.Ep=r.Ep,a.IEEE=r.IEEE,a.Name=r.Name,a.ZDeviceName=r.ZDeviceName,a._ID=r._ID,a._NwkId=o._NwkId,n.push(a)}})}),this.devices=[...n],this.getGroups())})}updateValue(e,n){this.hasEditing=!0,this.rows.find(r=>r._GroupId===n).GroupName=e.target.value}updateDevices(){this.rows.forEach(e=>{e.coordinatorInside&&(e.devicesSelected||(e.devicesSelected=[]),e.devicesSelected.push({Ep:"01",_NwkId:"0000"}))}),this.isFormValid&&this.apiService.putZGroups(this.rows).subscribe(()=>{this.hasEditing=!1,this.toastr.success(this.translate.instant("api.global.succes.saved.notify")),this.apiService.getRestartNeeded().subscribe(e=>{1===e.RestartNeeded&&(this.headerService.setRestart(!0),this.open(this.content))}),this.waiting=!0,setTimeout(()=>{this.getGroups(),this.waiting=!1},1e3)})}delete(e){const n=this.rows.indexOf(e,0);n>-1&&(this.rows.splice(n,1),this.rows=[...this.rows],this.temp=[...this.rows])}add(){const e=new _.YJ;e.GroupName="",e.coordinatorInside=!1,this.rows.push(e),this.rows=[...this.rows],this.temp=[...this.rows]}updateCoordinator(e,n){n.coordinatorInside=e.currentTarget.checked}open(e){this.modalService.open(e,{ariaLabelledBy:"modal-basic-title"}).result.then()}isFormValid(){let e=!0;return this.rows.forEach(n=>{n.GroupName&&(n.coordinatorInside||n.devicesSelected&&0!==n.devicesSelected.length)||(e=!1)}),!this.waiting&&e}getGroups(){this.apiService.getZGroups().subscribe(e=>{e&&e.length>0&&(e.forEach(n=>{const o=[];n.coordinatorInside=!1,n.Devices.forEach(r=>{if("0000"===r._NwkId)n.coordinatorInside=!0;else{const a=this.devices.find(u=>u._NwkId===r._NwkId&&u.Ep===r.Ep);null!=a&&o.push(a)}}),n.devicesSelected=o}),this.rows=[...e],this.temp=[...e])})}static \u0275fac=function(n){return new(n||i)(t.rXU(G.Bq),t.rXU(b.G),t.rXU(p.ok),t.rXU(d.c$),t.rXU(v.tw),t.rXU(I.d))};static \u0275cmp=t.VBU({type:i,selectors:[["app-group"]],viewQuery:function(n,o){if(1&n&&t.GBs(C,5),2&n){let r;t.mGM(r=t.lsd())&&(o.content=r.first)}},features:[t.Vt3],decls:32,vars:20,consts:[["dt1",""],["content",""],[1,"card"],[1,"card-header","fw-bold"],["translate","group.create.validate.button",1,"btn","btn-primary","float-end",3,"click","disabled"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],["styleClass","p-datatable-sm","dataKey","_GroupId","responsiveLayout","scroll","stateStorage","local","stateKey","group",3,"globalFilterFields","rowHover","showCurrentPageReport","currentPageReportTemplate","rowsPerPageOptions","value","rows","paginator","scrollable"],["pTemplate","caption"],["pTemplate","header"],["pTemplate","body"],[1,"d-flex","justify-content-between"],[1,"p-input-icon-left","ml-auto"],[1,"pi","pi-search"],["pInputText","","type","text",1,"w-75",3,"input","value","placeholder"],["translate","group.create.add.button",1,"btn","btn-primary",3,"click"],["pSortableColumn","_GroupId",2,"width","8rem"],["field","_GroupId"],["pSortableColumn","GroupName",2,"width","10rem"],["field","GroupName"],[1,"fa","fa-trash",2,"cursor","pointer",3,"click","title"],["pEditableColumnField","GroupName",3,"pEditableColumn"],["pTemplate","input"],["pTemplate","output"],["bindLabel","Name","placeholder","Choose device","appendTo","body",3,"ngModelChange","change","items","multiple","closeOnSelect","searchable","ngModel"],["ng-option-tmp",""],[1,"form-check"],["type","checkbox",1,"form-check-input",3,"click","checked"],["pInputText","","type","text",3,"ngModelChange","change","ngModel"],[1,"modal-header"],["id","modal-basic-title","translate","group.reloadplugin.alert.title",1,"modal-title"],["type","button","aria-label","Close",1,"btn-close",3,"click"],["translate","group.reloadplugin.alert.subject",1,"modal-body"],[1,"modal-footer"],["type","button","translate","group.reloadplugin.alert.cancel",1,"btn","btn-outline-dark",3,"click"]],template:function(n,o){if(1&n){const r=t.RV6();t.j41(0,"div",2),t.EFF(1,"\n "),t.j41(2,"div",3),t.EFF(3),t.nI1(4,"translate"),t.j41(5,"button",4),t.bIt("click",function(){return t.eBV(r),t.Njj(o.updateDevices())}),t.k0s(),t.EFF(6,"\n "),t.k0s(),t.EFF(7,"\n "),t.j41(8,"div",5),t.EFF(9,"\n "),t.nrm(10,"p",6),t.nI1(11,"translate"),t.EFF(12,"\n "),t.j41(13,"div",7),t.EFF(14,"\n "),t.j41(15,"p-table",8,0),t.nI1(17,"translate"),t.EFF(18,"\n "),t.DNE(19,S,14,4,"ng-template",9),t.EFF(20,"\n "),t.DNE(21,w,26,12,"ng-template",10),t.EFF(22,"\n "),t.DNE(23,y,37,11,"ng-template",11),t.EFF(24,"\n "),t.k0s(),t.EFF(25,"\n "),t.k0s(),t.EFF(26,"\n "),t.k0s(),t.EFF(27,"\n\n "),t.DNE(28,V,15,0,"ng-template",null,1,t.C5r),t.EFF(30,"\n"),t.k0s(),t.EFF(31,"\n")}2&n&&(t.R7$(3),t.SpI("\n ",t.bMT(4,12,"group.create.header"),""),t.R7$(2),t.Y8G("disabled",!o.isFormValid()),t.R7$(5),t.Y8G("innerHTML",t.bMT(11,14,"group.create.subtitle"),t.npT),t.R7$(5),t.FS9("currentPageReportTemplate",t.bMT(17,16,"TOTAL")),t.Y8G("globalFilterFields",t.lJ4(18,N))("rowHover",!0)("showCurrentPageReport",!0)("rowsPerPageOptions",t.lJ4(19,T))("value",o.rows)("rows",10)("paginator",!0)("scrollable",!0))},dependencies:[p.me,p.BC,p.vS,E.vr,E.Uq,d.Mm,c.XI,j.Ei,c.Tg,c.hp,c.c5,c.yc,k.S,d.D9]})}return i})(),data:{title:(0,h.o6)("group")}}];let X=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275mod=t.$C({type:i});static \u0275inj=t.G2t({imports:[F.iI.forChild(x),F.iI]})}return i})(),D=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275mod=t.$C({type:i});static \u0275inj=t.G2t({imports:[X,g.G,p.YN]})}return i})()}}]); \ No newline at end of file +"use strict";(self.webpackChunkz4d_plugin=self.webpackChunkz4d_plugin||[]).push([[577],{74577:(B,m,s)=>{s.r(m),s.d(m,{GroupModule:()=>D});var p=s(89417),g=s(93887),F=s(99062),h=s(38117),_=s(12298),f=s(28990),t=s(54438),G=s(88652),b=s(3366),d=s(19664),v=s(45794),I=s(38852),E=s(97013),c=s(46247),j=s(5779),k=s(22242);const C=["content"],N=()=>["_GroupId","GroupName"],T=()=>[10,25,50];function S(i,l){if(1&i){const e=t.RV6();t.EFF(0,"\n "),t.j41(1,"div",12),t.EFF(2,"\n "),t.j41(3,"span",13),t.EFF(4,"\n "),t.nrm(5,"i",14),t.EFF(6,"\n "),t.j41(7,"input",15),t.nI1(8,"translate"),t.bIt("input",function(o){t.eBV(e),t.XpG();const r=t.sdS(16);return t.Njj(r.filterGlobal(o.target.value,"contains"))}),t.k0s(),t.EFF(9,"\n "),t.k0s(),t.EFF(10,"\n "),t.j41(11,"button",16),t.bIt("click",function(){t.eBV(e);const o=t.XpG();return t.Njj(o.add())}),t.k0s(),t.EFF(12,"\n "),t.k0s(),t.EFF(13,"\n ")}if(2&i){t.XpG();const e=t.sdS(16);t.R7$(7),t.FS9("placeholder",t.bMT(8,2,"device.byname.placeholder")),t.Y8G("value",null==e.filters.global?null:e.filters.global.value)}}function w(i,l){1&i&&(t.EFF(0,"\n "),t.j41(1,"tr"),t.EFF(2,"\n "),t.nrm(3,"th"),t.EFF(4,"\n "),t.j41(5,"th",17),t.EFF(6),t.nI1(7,"translate"),t.nrm(8,"p-sortIcon",18),t.EFF(9,"\n "),t.k0s(),t.EFF(10,"\n "),t.j41(11,"th",19),t.EFF(12),t.nI1(13,"translate"),t.nrm(14,"p-sortIcon",20),t.EFF(15,"\n "),t.k0s(),t.EFF(16,"\n "),t.j41(17,"th"),t.EFF(18),t.nI1(19,"translate"),t.k0s(),t.EFF(20,"\n "),t.j41(21,"th"),t.EFF(22),t.nI1(23,"translate"),t.k0s(),t.EFF(24,"\n "),t.k0s(),t.EFF(25,"\n ")),2&i&&(t.R7$(6),t.SpI("\n ",t.bMT(7,4,"group.create.shortid.column"),""),t.R7$(6),t.SpI("\n ",t.bMT(13,6,"group.create.groupname.column"),""),t.R7$(6),t.SpI("\n ",t.bMT(19,8,"group.create.devices.column"),"\n "),t.R7$(4),t.SpI("\n ",t.bMT(23,10,"group.create.coordinator.column"),"\n "))}function R(i,l){if(1&i){const e=t.RV6();t.EFF(0,"\n "),t.j41(1,"input",29),t.mxI("ngModelChange",function(o){t.eBV(e);const r=t.XpG().$implicit;return t.DH7(r.GroupName,o)||(r.GroupName=o),t.Njj(o)}),t.bIt("change",function(o){t.eBV(e);const r=t.XpG().$implicit,a=t.XpG();return t.Njj(a.updateValue(o,r._GroupId))}),t.k0s(),t.EFF(2,"\n ")}if(2&i){const e=t.XpG().$implicit;t.R7$(),t.R50("ngModel",e.GroupName)}}function $(i,l){if(1&i){const e=t.RV6();t.EFF(0,"\n "),t.j41(1,"input",29),t.mxI("ngModelChange",function(o){t.eBV(e);const r=t.XpG().$implicit;return t.DH7(r.GroupName,o)||(r.GroupName=o),t.Njj(o)}),t.bIt("change",function(o){t.eBV(e);const r=t.XpG().$implicit,a=t.XpG();return t.Njj(a.updateValue(o,r._GroupId))}),t.k0s(),t.EFF(2,"\n ")}if(2&i){const e=t.XpG().$implicit;t.R7$(),t.R50("ngModel",e.GroupName)}}function M(i,l){if(1&i&&(t.EFF(0,"\n "),t.j41(1,"span"),t.EFF(2,"\n "),t.j41(3,"b"),t.EFF(4,"Widget"),t.k0s(),t.EFF(5),t.j41(6,"b"),t.EFF(7,"IEEE"),t.k0s(),t.EFF(8),t.j41(9,"b"),t.EFF(10,"Ep"),t.k0s(),t.EFF(11),t.j41(12,"b"),t.EFF(13,"Id"),t.k0s(),t.EFF(14),t.j41(15,"b"),t.EFF(16),t.k0s(),t.EFF(17,"\n "),t.k0s(),t.EFF(18,"\n ")),2&i){const e=l.item;t.R7$(5),t.SpI(" : ",e.Name," - "),t.R7$(3),t.SpI(" : ",e.IEEE," - "),t.R7$(3),t.SpI(" : ",e.Ep," -\n "),t.R7$(3),t.SpI(" : ",e._ID," -\n "),t.R7$(2),t.JRh(e.ZDeviceName)}}function y(i,l){if(1&i){const e=t.RV6();t.EFF(0,"\n "),t.j41(1,"tr"),t.EFF(2,"\n "),t.j41(3,"td"),t.EFF(4,"\n "),t.j41(5,"i",21),t.nI1(6,"translate"),t.bIt("click",function(){const o=t.eBV(e).$implicit,r=t.XpG();return t.Njj(r.delete(o))}),t.k0s(),t.EFF(7,"\n "),t.k0s(),t.EFF(8,"\n "),t.j41(9,"td"),t.EFF(10),t.k0s(),t.EFF(11,"\n "),t.j41(12,"td",22),t.EFF(13,"\n "),t.j41(14,"p-cellEditor"),t.EFF(15,"\n "),t.DNE(16,R,3,1,"ng-template",23),t.EFF(17,"\n "),t.DNE(18,$,3,1,"ng-template",24),t.EFF(19,"\n "),t.k0s(),t.EFF(20,"\n "),t.k0s(),t.EFF(21,"\n "),t.j41(22,"td"),t.EFF(23,"\n "),t.j41(24,"ng-select",25),t.mxI("ngModelChange",function(o){const r=t.eBV(e).$implicit;return t.DH7(r.devicesSelected,o)||(r.devicesSelected=o),t.Njj(o)}),t.bIt("change",function(){t.eBV(e);const o=t.XpG();return t.Njj(o.isFormValid())}),t.EFF(25,"\n "),t.DNE(26,M,19,5,"ng-template",26),t.EFF(27,"\n "),t.k0s(),t.EFF(28,"\n "),t.k0s(),t.EFF(29,"\n "),t.j41(30,"td"),t.EFF(31,"\n "),t.j41(32,"div",27),t.EFF(33,"\n "),t.j41(34,"input",28),t.bIt("click",function(o){const r=t.eBV(e).$implicit,a=t.XpG();return t.Njj(a.updateCoordinator(o,r))}),t.k0s(),t.EFF(35,"\n "),t.k0s(),t.EFF(36,"\n "),t.k0s()()}if(2&i){const e=l.$implicit,n=t.XpG();t.R7$(5),t.FS9("title",t.bMT(6,9,"group.create.delete.button")),t.R7$(5),t.SpI("\n ",e._GroupId,"\n "),t.R7$(2),t.Y8G("pEditableColumn",e.GroupName),t.R7$(12),t.Y8G("items",n.devices)("multiple",!0)("closeOnSelect",!1)("searchable",!0),t.R50("ngModel",e.devicesSelected),t.R7$(10),t.Y8G("checked",e.coordinatorInside)}}function V(i,l){if(1&i){const e=t.RV6();t.EFF(0,"\n "),t.j41(1,"div",30),t.EFF(2,"\n "),t.nrm(3,"h4",31),t.EFF(4,"\n "),t.j41(5,"button",32),t.bIt("click",function(){const o=t.eBV(e).$implicit;return t.Njj(o.dismiss("Cross click"))}),t.k0s(),t.EFF(6,"\n "),t.k0s(),t.EFF(7,"\n "),t.nrm(8,"div",33),t.EFF(9,"\n "),t.j41(10,"div",34),t.EFF(11,"\n "),t.j41(12,"button",35),t.bIt("click",function(){const o=t.eBV(e).$implicit;return t.Njj(o.dismiss("cancel"))}),t.k0s(),t.EFF(13,"\n "),t.k0s(),t.EFF(14,"\n ")}}const x=[{path:"",component:(()=>{class i extends f.U{modalService;apiService;formBuilder;translate;toastr;headerService;content;form;rows=[];rowsTemp=[];devices;temp=[];hasEditing=!1;waiting=!1;constructor(e,n,o,r,a,u){super(),this.modalService=e,this.apiService=n,this.formBuilder=o,this.translate=r,this.toastr=a,this.headerService=u}ngOnInit(){this.apiService.getZGroupDevicesAvalaible().subscribe(e=>{const n=[];e&&e.length>0&&(e.forEach(o=>{o.WidgetList.forEach(r=>{if("0000"!==o._NwkId){const a=new _.ij;a.Ep=r.Ep,a.IEEE=r.IEEE,a.Name=r.Name,a.ZDeviceName=r.ZDeviceName,a._ID=r._ID,a._NwkId=o._NwkId,n.push(a)}})}),this.devices=[...n],this.getGroups())})}updateValue(e,n){this.hasEditing=!0,this.rows.find(r=>r._GroupId===n).GroupName=e.target.value}updateDevices(){this.rows.forEach(e=>{e.coordinatorInside&&(e.devicesSelected||(e.devicesSelected=[]),e.devicesSelected.push({Ep:"01",_NwkId:"0000"}))}),this.isFormValid&&this.apiService.putZGroups(this.rows).subscribe(()=>{this.hasEditing=!1,this.toastr.success(this.translate.instant("api.global.succes.saved.notify")),this.apiService.getRestartNeeded().subscribe(e=>{1===e.RestartNeeded&&(this.headerService.setRestart(!0),this.open(this.content))}),this.waiting=!0,setTimeout(()=>{this.getGroups(),this.waiting=!1},1e3)})}delete(e){const n=this.rows.indexOf(e,0);n>-1&&(this.rows.splice(n,1),this.rows=[...this.rows],this.temp=[...this.rows])}add(){const e=new _.YJ;e.GroupName="",e.coordinatorInside=!1,this.rows.push(e),this.rows=[...this.rows],this.temp=[...this.rows]}updateCoordinator(e,n){n.coordinatorInside=e.currentTarget.checked}open(e){this.modalService.open(e,{ariaLabelledBy:"modal-basic-title"}).result.then()}isFormValid(){let e=!0;return this.rows.forEach(n=>{n.GroupName&&(n.coordinatorInside||n.devicesSelected&&0!==n.devicesSelected.length)||(e=!1)}),!this.waiting&&e}getGroups(){this.apiService.getZGroups().subscribe(e=>{e&&e.length>0&&(e.forEach(n=>{const o=[];n.coordinatorInside=!1,n.Devices.forEach(r=>{if("0000"===r._NwkId)n.coordinatorInside=!0;else{const a=this.devices.find(u=>u._NwkId===r._NwkId&&u.Ep===r.Ep);null!=a&&o.push(a)}}),n.devicesSelected=o}),this.rows=[...e],this.temp=[...e])})}static \u0275fac=function(n){return new(n||i)(t.rXU(G.Bq),t.rXU(b.G),t.rXU(p.ok),t.rXU(d.c$),t.rXU(v.tw),t.rXU(I.d))};static \u0275cmp=t.VBU({type:i,selectors:[["app-group"]],viewQuery:function(n,o){if(1&n&&t.GBs(C,5),2&n){let r;t.mGM(r=t.lsd())&&(o.content=r.first)}},features:[t.Vt3],decls:32,vars:20,consts:[["dt1",""],["content",""],[1,"card"],[1,"card-header","fw-bold"],["translate","group.create.validate.button",1,"btn","btn-primary","float-end",3,"click","disabled"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],["styleClass","p-datatable-sm","dataKey","_GroupId","responsiveLayout","scroll","stateStorage","local","stateKey","group",3,"globalFilterFields","rowHover","showCurrentPageReport","currentPageReportTemplate","rowsPerPageOptions","value","rows","paginator","scrollable"],["pTemplate","caption"],["pTemplate","header"],["pTemplate","body"],[1,"d-flex","justify-content-between"],[1,"p-input-icon-left","ml-auto"],[1,"pi","pi-search"],["pInputText","","type","text",1,"w-75",3,"input","value","placeholder"],["translate","group.create.add.button",1,"btn","btn-primary",3,"click"],["pSortableColumn","_GroupId",2,"width","8rem"],["field","_GroupId"],["pSortableColumn","GroupName",2,"width","10rem"],["field","GroupName"],[1,"fa","fa-trash",2,"cursor","pointer",3,"click","title"],["pEditableColumnField","GroupName",3,"pEditableColumn"],["pTemplate","input"],["pTemplate","output"],["bindLabel","Name","placeholder","Choose device","appendTo","body",3,"ngModelChange","change","items","multiple","closeOnSelect","searchable","ngModel"],["ng-option-tmp",""],[1,"form-check"],["type","checkbox",1,"form-check-input",3,"click","checked"],["pInputText","","type","text",3,"ngModelChange","change","ngModel"],[1,"modal-header"],["id","modal-basic-title","translate","group.reloadplugin.alert.title",1,"modal-title"],["type","button","aria-label","Close",1,"btn-close",3,"click"],["translate","group.reloadplugin.alert.subject",1,"modal-body"],[1,"modal-footer"],["type","button","translate","group.reloadplugin.alert.cancel",1,"btn","btn-outline-dark",3,"click"]],template:function(n,o){if(1&n){const r=t.RV6();t.j41(0,"div",2),t.EFF(1,"\n "),t.j41(2,"div",3),t.EFF(3),t.nI1(4,"translate"),t.j41(5,"button",4),t.bIt("click",function(){return t.eBV(r),t.Njj(o.updateDevices())}),t.k0s(),t.EFF(6,"\n "),t.k0s(),t.EFF(7,"\n "),t.j41(8,"div",5),t.EFF(9,"\n "),t.nrm(10,"p",6),t.nI1(11,"translate"),t.EFF(12,"\n "),t.j41(13,"div",7),t.EFF(14,"\n "),t.j41(15,"p-table",8,0),t.nI1(17,"translate"),t.EFF(18,"\n "),t.DNE(19,S,14,4,"ng-template",9),t.EFF(20,"\n "),t.DNE(21,w,26,12,"ng-template",10),t.EFF(22,"\n "),t.DNE(23,y,37,11,"ng-template",11),t.EFF(24,"\n "),t.k0s(),t.EFF(25,"\n "),t.k0s(),t.EFF(26,"\n "),t.k0s(),t.EFF(27,"\n\n "),t.DNE(28,V,15,0,"ng-template",null,1,t.C5r),t.EFF(30,"\n"),t.k0s(),t.EFF(31,"\n")}2&n&&(t.R7$(3),t.SpI("\n ",t.bMT(4,12,"group.create.header"),""),t.R7$(2),t.Y8G("disabled",!o.isFormValid()),t.R7$(5),t.Y8G("innerHTML",t.bMT(11,14,"group.create.subtitle"),t.npT),t.R7$(5),t.FS9("currentPageReportTemplate",t.bMT(17,16,"TOTAL")),t.Y8G("globalFilterFields",t.lJ4(18,N))("rowHover",!0)("showCurrentPageReport",!0)("rowsPerPageOptions",t.lJ4(19,T))("value",o.rows)("rows",10)("paginator",!0)("scrollable",!0))},dependencies:[p.me,p.BC,p.vS,E.vr,E.Uq,d.Mm,c.XI,j.Ei,c.Tg,c.hp,c.c5,c.yc,k.S,d.D9]})}return i})(),data:{title:(0,h.o6)("group")}}];let X=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275mod=t.$C({type:i});static \u0275inj=t.G2t({imports:[F.iI.forChild(x),F.iI]})}return i})(),D=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275mod=t.$C({type:i});static \u0275inj=t.G2t({imports:[X,g.G,p.YN]})}return i})()}}]); \ No newline at end of file diff --git a/www/z4d/644.e5bbcc7e1d18b79d.js b/www/z4d/644.06ec887a183e3377.js similarity index 99% rename from www/z4d/644.e5bbcc7e1d18b79d.js rename to www/z4d/644.06ec887a183e3377.js index 7d812377b..4a00c9811 100644 --- a/www/z4d/644.e5bbcc7e1d18b79d.js +++ b/www/z4d/644.06ec887a183e3377.js @@ -1 +1 @@ -"use strict";(self.webpackChunkz4d_plugin=self.webpackChunkz4d_plugin||[]).push([[644],{60644:(y,E,s)=>{s.r(E),s.d(E,{AboutModule:()=>w});var r=s(60177),o=s(19664),l=s(93331),u=s(38117),m=s(20546),n=s(54438);let c=(()=>{class e{version=JSON.parse(sessionStorage.getItem("plugin")).PluginVersion;static \u0275fac=function(F){return new(F||e)};static \u0275cmp=n.VBU({type:e,selectors:[["app-about-en"]],decls:194,vars:1,consts:[[1,"text-center"],["translate",""],[1,"far","fa-bookmark"],[1,"mt-5","row"],[1,"col-sm","text-center"],["href","https://zigbeefordomoticz.github.io/wiki/en-eng","target","_blank"],["href","https://zigbeefordomoticz.github.io/wiki/en-eng/WebUI_About",1,"fas","fa-info-circle","me-2"],[1,"mt-3","row"],[1,"mt-3"],[1,"col-sm-2"],[1,"col-sm","text-justify"],["href","https://www.domoticz.com/forum/viewforum.php?f=68","target","_blank"],["href","https://keybase.io/team/zigateforum","target","_blank"],["href","https://zigate.fr/","target","_blank"],["href","https://shop.electrolama.com/","target","_blank"],["href","https://elelabs.com/","target","_blank"],["href","https://casaia.fr/boutique/","target","_blank"],["href","https://www.paypal.com/paypalme/pipiche","target","_blank"]],template:function(F,i){1&F&&(n.j41(0,"div",0),n.EFF(1,"\n "),n.j41(2,"h1"),n.EFF(3,"\n "),n.j41(4,"span",1),n.EFF(5,"APP_NAME"),n.k0s(),n.EFF(6,"\n "),n.k0s(),n.EFF(7,"\n "),n.j41(8,"p"),n.nrm(9,"i",2),n.EFF(10," "),n.j41(11,"span",1),n.EFF(12,"Version"),n.k0s(),n.EFF(13),n.k0s(),n.EFF(14,"\n"),n.k0s(),n.EFF(15,"\n"),n.j41(16,"div",3),n.EFF(17,"\n "),n.j41(18,"div",4),n.EFF(19,"\n The aim of the plugin is to bridge a ZigBee coordinator to the Domoticz Home Automation in order to communicate with\n objects using the ZigBee protocol.\n "),n.j41(20,"p"),n.EFF(21,"\n For information around the Zigbee for DomoticZ Plugin, please refer to\n "),n.j41(22,"a",5),n.EFF(23," Plugin Wiki (in english) "),n.k0s(),n.EFF(24,"\n "),n.k0s(),n.EFF(25,"\n "),n.j41(26,"p"),n.EFF(27,"\n The small icone\n "),n.nrm(28,"a",6),n.EFF(29,"\n links to the informations on the Wiki.\n "),n.k0s(),n.EFF(30,"\n "),n.k0s(),n.EFF(31,"\n"),n.k0s(),n.EFF(32,"\n"),n.j41(33,"div",7),n.EFF(34,"\n "),n.j41(35,"div",4),n.EFF(36,"\n "),n.j41(37,"h3",8),n.EFF(38,"How to deal with issues and Questions"),n.k0s(),n.EFF(39,"\n "),n.k0s(),n.EFF(40,"\n"),n.k0s(),n.EFF(41,"\n"),n.j41(42,"div",7),n.EFF(43,"\n "),n.nrm(44,"div",9),n.EFF(45,"\n "),n.j41(46,"div",10),n.EFF(47,"\n "),n.j41(48,"ul"),n.EFF(49,"\n "),n.j41(50,"li"),n.EFF(51,"\n In case of question and problem please use the Domoticz Forum to ask your questions and/or problem.\n "),n.j41(52,"p"),n.EFF(53,"\n You can either use the\n "),n.j41(54,"a",11),n.EFF(55,"English Domoticz forum"),n.k0s(),n.EFF(56,"\n "),n.k0s(),n.EFF(57,"\n "),n.k0s(),n.EFF(58,"\n "),n.k0s(),n.EFF(59,"\n "),n.k0s(),n.EFF(60,"\n "),n.nrm(61,"div",9),n.EFF(62,"\n"),n.k0s(),n.EFF(63,"\n"),n.j41(64,"div",7),n.EFF(65,"\n "),n.j41(66,"div",4),n.EFF(67,"\n "),n.j41(68,"h3",8),n.EFF(69,"Come and discuss with us !"),n.k0s(),n.EFF(70,"\n "),n.k0s(),n.EFF(71,"\n"),n.k0s(),n.EFF(72,"\n"),n.j41(73,"div",7),n.EFF(74,"\n "),n.nrm(75,"div",9),n.EFF(76,"\n "),n.j41(77,"div",10),n.EFF(78,"\n "),n.j41(79,"p"),n.EFF(80,"We are a small team of enthusiasts who share the pleasure of using DomoticZ with ZigBee coordinators."),n.k0s(),n.EFF(81,"\n "),n.j41(82,"p"),n.EFF(83,"\n Meet us on "),n.j41(84,"a",12),n.EFF(85,"keybase.io"),n.k0s(),n.EFF(86," for real time discussions.\n "),n.k0s(),n.EFF(87,"\n "),n.k0s(),n.EFF(88,"\n "),n.nrm(89,"div",9),n.EFF(90,"\n"),n.k0s(),n.EFF(91,"\n"),n.nrm(92,"hr"),n.EFF(93,"\n"),n.j41(94,"div",7),n.EFF(95,"\n "),n.j41(96,"div",4),n.EFF(97,"\n "),n.j41(98,"h3",8),n.EFF(99,"Thanks"),n.k0s(),n.EFF(100,"\n "),n.k0s(),n.EFF(101,"\n"),n.k0s(),n.EFF(102,"\n"),n.j41(103,"div",7),n.EFF(104,"\n "),n.nrm(105,"div",9),n.EFF(106,"\n "),n.j41(107,"div",10),n.EFF(108,"\n We would like to thank the manufacturers for providing us with equipment for developments :"),n.nrm(109,"br")(110,"br"),n.EFF(111,"\n "),n.j41(112,"ul"),n.EFF(113,"\n "),n.j41(114,"li"),n.EFF(115,"\n @Fred from Lixee for "),n.j41(116,"a",13),n.EFF(117,"ZiGate"),n.k0s(),n.EFF(118," coordinators and Lixee objects.\n "),n.k0s(),n.EFF(119,"\n "),n.j41(120,"li"),n.EFF(121,"\n @Omer from electrolama for\n "),n.j41(122,"a",14),n.EFF(123,"zzh Multiprotocol RF"),n.k0s(),n.EFF(124," coordinators.\n "),n.k0s(),n.EFF(125,"\n "),n.j41(126,"li"),n.EFF(127,"\n @NilsBohr from Elelabs for "),n.j41(128,"a",15),n.EFF(129,"Elelabs Zigbee USB Adapter"),n.k0s(),n.EFF(130,"\n Silicon Labs EZSP objects.\n "),n.k0s(),n.EFF(131,"\n "),n.j41(132,"li"),n.EFF(133,"@Fabrice whom kindly provided a set of Legrand objects."),n.k0s(),n.EFF(134,"\n "),n.j41(135,"li"),n.EFF(136,"\n @erwan whom kindly provided a set of "),n.j41(137,"a",16),n.EFF(138,"Casa.IA"),n.k0s(),n.EFF(139,"\n objects\n "),n.k0s(),n.EFF(140,"\n "),n.k0s(),n.EFF(141,"\n\n "),n.nrm(142,"br"),n.EFF(143,"\n We would like to thank those who contributed to the project. In particular :"),n.nrm(144,"br")(145,"br"),n.EFF(146,"\n "),n.j41(147,"ul"),n.EFF(148,"\n "),n.j41(149,"li"),n.EFF(150,"\n Plugin developpers : @zaraki673, @Pipiche38, @2m2, @d2e2n2o, @karstenbakker, @ricky74,\n @sbhc68, @thiklop, @deufo et @badz\n "),n.k0s(),n.EFF(151,"\n "),n.j41(152,"li"),n.EFF(153,"Web Admin interface developer : @ben33880"),n.k0s(),n.EFF(154,"\n "),n.j41(155,"li"),n.EFF(156,"\n Web Admin interface translation : @gemies et @marktn (for Dutch translation), @martial83, @hydci\n et @jp-keros (for French translation)\n "),n.k0s(),n.EFF(157,"\n "),n.j41(158,"li"),n.EFF(159,"Wiki writters : @Pipiche38 et @jp-keros"),n.k0s(),n.EFF(160,"\n "),n.j41(161,"li"),n.EFF(162,"\n Wiki translation : @karstenbakker (for Dutch translation), @jp-keros et @newturtle (for French\n translation), @erwan (for Spanish translation)\n "),n.k0s(),n.EFF(163,"\n "),n.k0s(),n.EFF(164,"\n But also all the testers and users who have given us information on the forums or via Keybase.\n "),n.nrm(165,"br"),n.EFF(166,"\n "),n.nrm(167,"br"),n.EFF(168,"\n "),n.nrm(169,"br"),n.EFF(170,"\n "),n.j41(171,"p"),n.EFF(172,"\n Last I would like to express my gratitude to the great users whom have supported (by donation) this project. It\n helping to purchase devices in order to test, integrate and certify them.\n "),n.k0s(),n.EFF(173,"\n "),n.k0s(),n.EFF(174,"\n "),n.nrm(175,"div",9),n.EFF(176,"\n"),n.k0s(),n.EFF(177,"\n"),n.j41(178,"div",7),n.EFF(179,"\n "),n.j41(180,"div",4),n.EFF(181,"\n "),n.j41(182,"a",17),n.EFF(183,"Paypal Cagnotte pipiche"),n.k0s(),n.EFF(184,"\n "),n.k0s(),n.EFF(185,"\n"),n.k0s(),n.EFF(186,"\n\n"),n.nrm(187,"hr"),n.EFF(188,"\n"),n.j41(189,"div",0),n.EFF(190,"@pipiche38 - 2018 - 2024"),n.k0s(),n.EFF(191,"\n"),n.nrm(192,"br"),n.EFF(193,"\n")),2&F&&(n.R7$(13),n.SpI(" ",i.version,""))},dependencies:[o.Mm]})}return e})(),k=(()=>{class e{version=JSON.parse(sessionStorage.getItem("plugin")).PluginVersion;static \u0275fac=function(F){return new(F||e)};static \u0275cmp=n.VBU({type:e,selectors:[["app-about-es"]],decls:194,vars:1,consts:[[1,"text-center"],["translate",""],[1,"far","fa-bookmark"],[1,"mt-5","row"],[1,"col-sm","text-center"],["href","https://zigbeefordomoticz.github.io/wiki/en-eng","target","_blank"],["href","https://zigbeefordomoticz.github.io/wiki/en-engWebUI_About",1,"fas","fa-info-circle","me-2"],[1,"mt-3","row"],[1,"mt-3"],[1,"col-sm-2"],[1,"col-sm","text-justify"],["href","https://www.domoticz.com/forum/viewforum.php?f=68","target","_blank"],["href","https://keybase.io","target","_blank"],["href","https://zigate.fr/","target","_blank"],["href","https://shop.electrolama.com/","target","_blank"],["href","https://elelabs.com/","target","_blank"],["href","https://casaia.fr/boutique/","target","_blank"],["href","https://www.paypal.com/paypalme/pipiche","target","_blank"]],template:function(F,i){1&F&&(n.j41(0,"div",0),n.EFF(1,"\n "),n.j41(2,"h1"),n.EFF(3,"\n "),n.j41(4,"span",1),n.EFF(5,"APP_NAME"),n.k0s(),n.EFF(6,"\n "),n.k0s(),n.EFF(7,"\n "),n.j41(8,"p"),n.nrm(9,"i",2),n.EFF(10," "),n.j41(11,"span",1),n.EFF(12,"Version"),n.k0s(),n.EFF(13),n.k0s(),n.EFF(14,"\n"),n.k0s(),n.EFF(15,"\n"),n.j41(16,"div",3),n.EFF(17,"\n "),n.j41(18,"div",4),n.EFF(19,"\n The aim of the plugin is to bridge a ZigBee coordinator to the Domoticz Home Automation in order to communicate with\n objects using the ZigBee protocol.\n "),n.j41(20,"p"),n.EFF(21,"\n For information around the Zigate Plugin, please refer to\n "),n.j41(22,"a",5),n.EFF(23," Plugin Wiki (in english) "),n.k0s(),n.EFF(24,"\n "),n.k0s(),n.EFF(25,"\n "),n.j41(26,"p"),n.EFF(27,"\n The small icone\n "),n.nrm(28,"a",6),n.EFF(29,"\n links to the informations on the Wiki.\n "),n.k0s(),n.EFF(30,"\n "),n.k0s(),n.EFF(31,"\n"),n.k0s(),n.EFF(32,"\n"),n.j41(33,"div",7),n.EFF(34,"\n "),n.j41(35,"div",4),n.EFF(36,"\n "),n.j41(37,"h3",8),n.EFF(38,"How to deal with issues and Questions"),n.k0s(),n.EFF(39,"\n "),n.k0s(),n.EFF(40,"\n"),n.k0s(),n.EFF(41,"\n"),n.j41(42,"div",7),n.EFF(43,"\n "),n.nrm(44,"div",9),n.EFF(45,"\n "),n.j41(46,"div",10),n.EFF(47,"\n "),n.j41(48,"ul"),n.EFF(49,"\n "),n.j41(50,"li"),n.EFF(51,"\n In case of question and problem please use the Domoticz Forum to ask your questions and/or problem.\n "),n.j41(52,"p"),n.EFF(53,"\n You can either use the\n "),n.j41(54,"a",11),n.EFF(55,"English Domoticz forum"),n.k0s(),n.EFF(56," or if\n you want to interact in French you might want to use\n "),n.k0s(),n.EFF(57,"\n "),n.k0s(),n.EFF(58,"\n "),n.k0s(),n.EFF(59,"\n "),n.k0s(),n.EFF(60,"\n "),n.nrm(61,"div",9),n.EFF(62,"\n"),n.k0s(),n.EFF(63,"\n"),n.j41(64,"div",7),n.EFF(65,"\n "),n.j41(66,"div",4),n.EFF(67,"\n "),n.j41(68,"h3",8),n.EFF(69,"Come and discuss with us !"),n.k0s(),n.EFF(70,"\n "),n.k0s(),n.EFF(71,"\n"),n.k0s(),n.EFF(72,"\n"),n.j41(73,"div",7),n.EFF(74,"\n "),n.nrm(75,"div",9),n.EFF(76,"\n "),n.j41(77,"div",10),n.EFF(78,"\n "),n.j41(79,"p"),n.EFF(80,"\n We are a small team We are a small team of enthusiasts who share the pleasure of using DomoticZ with ZigBee\n coordinators.\n "),n.k0s(),n.EFF(81,"\n "),n.j41(82,"p"),n.EFF(83,"\n Meet us on "),n.j41(84,"a",12),n.EFF(85,"keybase.io"),n.k0s(),n.EFF(86," (team Zigate) for real time discussions.\n "),n.k0s(),n.EFF(87,"\n "),n.k0s(),n.EFF(88,"\n "),n.nrm(89,"div",9),n.EFF(90,"\n"),n.k0s(),n.EFF(91,"\n"),n.nrm(92,"hr"),n.EFF(93,"\n"),n.j41(94,"div",7),n.EFF(95,"\n "),n.j41(96,"div",4),n.EFF(97,"\n "),n.j41(98,"h3",8),n.EFF(99,"Thanks"),n.k0s(),n.EFF(100,"\n "),n.k0s(),n.EFF(101,"\n"),n.k0s(),n.EFF(102,"\n"),n.j41(103,"div",7),n.EFF(104,"\n "),n.nrm(105,"div",9),n.EFF(106,"\n "),n.j41(107,"div",10),n.EFF(108,"\n We would like to thank the manufacturers for providing us with equipment for developments :"),n.nrm(109,"br")(110,"br"),n.EFF(111,"\n "),n.j41(112,"ul"),n.EFF(113,"\n "),n.j41(114,"li"),n.EFF(115,"@Fred from Lixee for "),n.j41(116,"a",13),n.EFF(117,"ZiGate"),n.k0s(),n.EFF(118," and Lixee objects."),n.k0s(),n.EFF(119,"\n "),n.j41(120,"li"),n.EFF(121,"\n @Omer from electrolama for\n "),n.j41(122,"a",14),n.EFF(123,"zzh Multiprotocol RF Stick"),n.k0s(),n.EFF(124," objects.\n "),n.k0s(),n.EFF(125,"\n "),n.j41(126,"li"),n.EFF(127,"\n @NilsBohr from Elelabs for "),n.j41(128,"a",15),n.EFF(129,"Elelabs Zigbee USB Adapter"),n.k0s(),n.EFF(130,"\n Silicon Labs EZSP objects.\n "),n.k0s(),n.EFF(131,"\n "),n.j41(132,"li"),n.EFF(133,"@Fabrice whom kindly provided a set of Legrand objects."),n.k0s(),n.EFF(134,"\n "),n.j41(135,"li"),n.EFF(136,"\n @erwan whom kindly provided a set of "),n.j41(137,"a",16),n.EFF(138,"Casa.IA"),n.k0s(),n.EFF(139,"\n objects\n "),n.k0s(),n.EFF(140,"\n "),n.k0s(),n.EFF(141,"\n\n "),n.nrm(142,"br"),n.EFF(143,"\n We would like to thank those who contributed to the project. In particular :"),n.nrm(144,"br")(145,"br"),n.EFF(146,"\n "),n.j41(147,"ul"),n.EFF(148,"\n "),n.j41(149,"li"),n.EFF(150,"\n Plugin developpers : @zaraki673, @Pipiche38, @2m2, @d2e2n2o, @karstenbakker, @ricky74,\n @sbhc68, @thiklop, @deufo et @badz\n "),n.k0s(),n.EFF(151,"\n "),n.j41(152,"li"),n.EFF(153,"Web Admin interface developer : @ben33880"),n.k0s(),n.EFF(154,"\n "),n.j41(155,"li"),n.EFF(156,"\n Web Admin interface translation : @gemies et @marktn (for Dutch translation), @martial83, @hydci\n et @jp-keros (for French translation)\n "),n.k0s(),n.EFF(157,"\n "),n.j41(158,"li"),n.EFF(159,"Wiki writters : @Pipiche38 et @jp-keros"),n.k0s(),n.EFF(160,"\n "),n.j41(161,"li"),n.EFF(162,"\n Wik translation : @karstenbakker (for Dutch translation), @jp-keros et @newturtle (for French\n translation), @erwan (for Spanish translation)\n "),n.k0s(),n.EFF(163,"\n "),n.k0s(),n.EFF(164,"\n But also all the testers and users who have given us information on the forums or via Keybase.\n "),n.nrm(165,"br"),n.EFF(166,"\n "),n.nrm(167,"br"),n.EFF(168,"\n "),n.nrm(169,"br"),n.EFF(170,"\n "),n.j41(171,"p"),n.EFF(172,"\n Last I would like to express my gratitude to the great users whom have supported (by donation) this project. It\n helping to purchase devices in order to test, integrate and certify them.\n "),n.k0s(),n.EFF(173,"\n "),n.k0s(),n.EFF(174,"\n "),n.nrm(175,"div",9),n.EFF(176,"\n"),n.k0s(),n.EFF(177,"\n"),n.j41(178,"div",7),n.EFF(179,"\n "),n.j41(180,"div",4),n.EFF(181,"\n "),n.j41(182,"a",17),n.EFF(183,"Paypal Cagnotte pipiche"),n.k0s(),n.EFF(184,"\n "),n.k0s(),n.EFF(185,"\n"),n.k0s(),n.EFF(186,"\n\n"),n.nrm(187,"hr"),n.EFF(188,"\n"),n.j41(189,"div",0),n.EFF(190,"@pipiche38 - 2018 - 2024"),n.k0s(),n.EFF(191,"\n"),n.nrm(192,"br"),n.EFF(193,"\n")),2&F&&(n.R7$(13),n.SpI(" ",i.version,""))},dependencies:[o.Mm]})}return e})(),p=(()=>{class e{version=JSON.parse(sessionStorage.getItem("plugin")).PluginVersion;static \u0275fac=function(F){return new(F||e)};static \u0275cmp=n.VBU({type:e,selectors:[["app-about-nl"]],decls:194,vars:1,consts:[[1,"text-center"],["translate",""],[1,"far","fa-bookmark"],[1,"mt-5","row"],[1,"col-sm","text-center"],["href","https://zigbeefordomoticz.github.io/wiki/en-eng","target","_blank"],["href","https://zigbeefordomoticz.github.io/wiki/en-eng/WebUI_About",1,"fas","fa-info-circle","me-2"],[1,"mt-3","row"],[1,"mt-3"],[1,"col-sm-2"],[1,"col-sm","text-justify"],["href","https://www.domoticz.com/forum/viewforum.php?f=68","target","_blank"],["href","https://keybase.io","target","_blank"],["href","https://zigate.fr/","target","_blank"],["href","https://shop.electrolama.com/","target","_blank"],["href","https://elelabs.com/","target","_blank"],["href","https://casaia.fr/boutique/","target","_blank"],["href","https://www.paypal.com/paypalme/pipiche","target","_blank"]],template:function(F,i){1&F&&(n.j41(0,"div",0),n.EFF(1,"\n "),n.j41(2,"h1"),n.EFF(3,"\n "),n.j41(4,"span",1),n.EFF(5,"APP_NAME"),n.k0s(),n.EFF(6,"\n "),n.k0s(),n.EFF(7,"\n "),n.j41(8,"p"),n.nrm(9,"i",2),n.EFF(10," "),n.j41(11,"span",1),n.EFF(12,"Version"),n.k0s(),n.EFF(13),n.k0s(),n.EFF(14,"\n"),n.k0s(),n.EFF(15,"\n"),n.j41(16,"div",3),n.EFF(17,"\n "),n.j41(18,"div",4),n.EFF(19,"\n The aim of the plugin is to bridge a ZigBee coordinator to the Domoticz Home Automation in order to communicate with\n objects using the ZigBee protocol.\n "),n.j41(20,"p"),n.EFF(21,"\n For information around the Zigate Plugin, please refer to\n "),n.j41(22,"a",5),n.EFF(23," Plugin Wiki (in english) "),n.k0s(),n.EFF(24,"\n "),n.k0s(),n.EFF(25,"\n "),n.j41(26,"p"),n.EFF(27,"\n The small icone\n "),n.nrm(28,"a",6),n.EFF(29,"\n links to the informations on the Wiki.\n "),n.k0s(),n.EFF(30,"\n "),n.k0s(),n.EFF(31,"\n"),n.k0s(),n.EFF(32,"\n"),n.j41(33,"div",7),n.EFF(34,"\n "),n.j41(35,"div",4),n.EFF(36,"\n "),n.j41(37,"h3",8),n.EFF(38,"How to deal with issues and Questions"),n.k0s(),n.EFF(39,"\n "),n.k0s(),n.EFF(40,"\n"),n.k0s(),n.EFF(41,"\n"),n.j41(42,"div",7),n.EFF(43,"\n "),n.nrm(44,"div",9),n.EFF(45,"\n "),n.j41(46,"div",10),n.EFF(47,"\n "),n.j41(48,"ul"),n.EFF(49,"\n "),n.j41(50,"li"),n.EFF(51,"\n In case of question and problem please use the Domoticz Forum to ask your questions and/or problem.\n "),n.j41(52,"p"),n.EFF(53,"\n You can either use the\n "),n.j41(54,"a",11),n.EFF(55,"English Domoticz forum"),n.k0s(),n.EFF(56," or if\n you want to interact in French you might want to use\n "),n.k0s(),n.EFF(57,"\n "),n.k0s(),n.EFF(58,"\n "),n.k0s(),n.EFF(59,"\n "),n.k0s(),n.EFF(60,"\n "),n.nrm(61,"div",9),n.EFF(62,"\n"),n.k0s(),n.EFF(63,"\n"),n.j41(64,"div",7),n.EFF(65,"\n "),n.j41(66,"div",4),n.EFF(67,"\n "),n.j41(68,"h3",8),n.EFF(69,"Come and discuss with us !"),n.k0s(),n.EFF(70,"\n "),n.k0s(),n.EFF(71,"\n"),n.k0s(),n.EFF(72,"\n"),n.j41(73,"div",7),n.EFF(74,"\n "),n.nrm(75,"div",9),n.EFF(76,"\n "),n.j41(77,"div",10),n.EFF(78,"\n "),n.j41(79,"p"),n.EFF(80,"\n We are a small team We are a small team of enthusiasts who share the pleasure of using DomoticZ with ZigBee\n coordinators.\n "),n.k0s(),n.EFF(81,"\n "),n.j41(82,"p"),n.EFF(83,"\n Meet us on "),n.j41(84,"a",12),n.EFF(85,"keybase.io"),n.k0s(),n.EFF(86," (team Zigate) for real time discussions.\n "),n.k0s(),n.EFF(87,"\n "),n.k0s(),n.EFF(88,"\n "),n.nrm(89,"div",9),n.EFF(90,"\n"),n.k0s(),n.EFF(91,"\n"),n.nrm(92,"hr"),n.EFF(93,"\n"),n.j41(94,"div",7),n.EFF(95,"\n "),n.j41(96,"div",4),n.EFF(97,"\n "),n.j41(98,"h3",8),n.EFF(99,"Thanks"),n.k0s(),n.EFF(100,"\n "),n.k0s(),n.EFF(101,"\n"),n.k0s(),n.EFF(102,"\n"),n.j41(103,"div",7),n.EFF(104,"\n "),n.nrm(105,"div",9),n.EFF(106,"\n "),n.j41(107,"div",10),n.EFF(108,"\n We would like to thank the manufacturers for providing us with equipment for developments :"),n.nrm(109,"br")(110,"br"),n.EFF(111,"\n "),n.j41(112,"ul"),n.EFF(113,"\n "),n.j41(114,"li"),n.EFF(115,"@Fred from Lixee for "),n.j41(116,"a",13),n.EFF(117,"ZiGate"),n.k0s(),n.EFF(118," and Lixee objects."),n.k0s(),n.EFF(119,"\n "),n.j41(120,"li"),n.EFF(121,"\n @Omer from electrolama for\n "),n.j41(122,"a",14),n.EFF(123,"zzh Multiprotocol RF Stick"),n.k0s(),n.EFF(124," objects.\n "),n.k0s(),n.EFF(125,"\n "),n.j41(126,"li"),n.EFF(127,"\n @NilsBohr from Elelabs for "),n.j41(128,"a",15),n.EFF(129,"Elelabs Zigbee USB Adapter"),n.k0s(),n.EFF(130,"\n Silicon Labs EZSP objects.\n "),n.k0s(),n.EFF(131,"\n "),n.j41(132,"li"),n.EFF(133,"@Fabrice whom kindly provided a set of Legrand objects."),n.k0s(),n.EFF(134,"\n "),n.j41(135,"li"),n.EFF(136,"\n @erwan whom kindly provided a set of "),n.j41(137,"a",16),n.EFF(138,"Casa.IA"),n.k0s(),n.EFF(139,"\n objects\n "),n.k0s(),n.EFF(140,"\n "),n.k0s(),n.EFF(141,"\n\n "),n.nrm(142,"br"),n.EFF(143,"\n We would like to thank those who contributed to the project. In particular :"),n.nrm(144,"br")(145,"br"),n.EFF(146,"\n "),n.j41(147,"ul"),n.EFF(148,"\n "),n.j41(149,"li"),n.EFF(150,"\n Plugin developpers : @zaraki673, @Pipiche38, @2m2, @d2e2n2o, @karstenbakker, @ricky74,\n @sbhc68, @thiklop, @deufo et @badz\n "),n.k0s(),n.EFF(151,"\n "),n.j41(152,"li"),n.EFF(153,"Web Admin interface developer : @ben33880"),n.k0s(),n.EFF(154,"\n "),n.j41(155,"li"),n.EFF(156,"\n Web Admin interface translation : @gemies et @marktn (for Dutch translation), @martial83, @hydci\n et @jp-keros (for French translation)\n "),n.k0s(),n.EFF(157,"\n "),n.j41(158,"li"),n.EFF(159,"Wiki writters : @Pipiche38 et @jp-keros"),n.k0s(),n.EFF(160,"\n "),n.j41(161,"li"),n.EFF(162,"\n Wik translation : @karstenbakker (for Dutch translation), @jp-keros et @newturtle (for French\n translation), @erwan (for Spanish translation)\n "),n.k0s(),n.EFF(163,"\n "),n.k0s(),n.EFF(164,"\n But also all the testers and users who have given us information on the forums or via Keybase.\n "),n.nrm(165,"br"),n.EFF(166,"\n "),n.nrm(167,"br"),n.EFF(168,"\n "),n.nrm(169,"br"),n.EFF(170,"\n "),n.j41(171,"p"),n.EFF(172,"\n Last I would like to express my gratitude to the great users whom have supported (by donation) this project. It\n helping to purchase devices in order to test, integrate and certify them.\n "),n.k0s(),n.EFF(173,"\n "),n.k0s(),n.EFF(174,"\n "),n.nrm(175,"div",9),n.EFF(176,"\n"),n.k0s(),n.EFF(177,"\n"),n.j41(178,"div",7),n.EFF(179,"\n "),n.j41(180,"div",4),n.EFF(181,"\n "),n.j41(182,"a",17),n.EFF(183,"Paypal Cagnotte pipiche"),n.k0s(),n.EFF(184,"\n "),n.k0s(),n.EFF(185,"\n"),n.k0s(),n.EFF(186,"\n\n"),n.nrm(187,"hr"),n.EFF(188,"\n"),n.j41(189,"div",0),n.EFF(190,"@pipiche38 - 2018 - 2024"),n.k0s(),n.EFF(191,"\n"),n.nrm(192,"br"),n.EFF(193,"\n")),2&F&&(n.R7$(13),n.SpI(" ",i.version,""))},dependencies:[o.Mm]})}return e})(),d=(()=>{class e{version=JSON.parse(sessionStorage.getItem("plugin")).PluginVersion;static \u0275fac=function(F){return new(F||e)};static \u0275cmp=n.VBU({type:e,selectors:[["app-about-fr"]],decls:218,vars:1,consts:[[1,"text-center"],["translate",""],[1,"far","fa-bookmark"],[1,"mt-5","row"],[1,"col-sm","text-center"],["href","https://zigbeefordomoticz.github.io/wiki/fr-fr","target","_blank"],["href","https://zigbeefordomoticz.github.io/wiki/en-eng","target","_blank"],["href","https://zigbeefordomoticz.github.io/wiki/fr-fr/WebUI_A-propos",1,"fas","fa-info-circle","me-2"],[1,"mt-3","row"],[1,"mt-3"],[1,"col-sm-2"],[1,"col-sm","text-justify"],["href","https://easydomoticz.com/forum/viewforum.php?f=28","target","_blank"],["href","https://easydomoticz.com/forum/viewtopic.php?f=28&t=10886","target","_blank"],["href","https://www.domoticz.com/forum/viewforum.php?f=68","target","_blank"],["href","https://keybase.io/team/zigate","target","_blank"],["href","https://zigate.fr/","target","_blank"],["href","https://shop.electrolama.com/","target","_blank"],["href","https://elelabs.com/","target","_blank"],["href","https://casaia.fr/boutique/","target","_blank"],["href","https://www.paypal.com/paypalme/pipiche","target","_blank"]],template:function(F,i){1&F&&(n.j41(0,"div",0),n.EFF(1,"\n "),n.j41(2,"h1"),n.EFF(3,"\n "),n.j41(4,"span",1),n.EFF(5,"APP_NAME"),n.k0s(),n.EFF(6,"\n "),n.k0s(),n.EFF(7,"\n "),n.j41(8,"p"),n.nrm(9,"i",2),n.EFF(10," "),n.j41(11,"span",1),n.EFF(12,"Version"),n.k0s(),n.EFF(13),n.k0s(),n.EFF(14,"\n"),n.k0s(),n.EFF(15,"\n"),n.j41(16,"div",3),n.EFF(17,"\n "),n.j41(18,"div",4),n.EFF(19,"\n Ce plugin permet d'utiliser un coordinateur ZigBee avec le logiciel DomoticZ afin de pouvoir communiquer avec des\n objets utilisant le protocole ZigBee.\n "),n.j41(20,"p"),n.EFF(21,"\n Retrouver toutes les informations pour utiliser ce plugin sur\n "),n.j41(22,"a",5),n.EFF(23," le Wiki du plugin "),n.k0s(),n.EFF(24,"\n (en fran\xe7ais)."),n.nrm(25,"br"),n.EFF(26,"\n Refer to\n "),n.j41(27,"a",6),n.EFF(28," the plugin Wiki "),n.k0s(),n.EFF(29,"\n for more informations (in english).\n "),n.k0s(),n.EFF(30,"\n "),n.j41(31,"p"),n.EFF(32,"\n La petite ic\xf4ne\n "),n.nrm(33,"a",7),n.EFF(34,"\n renvoit vers les informations sur le Wiki fran\xe7ais.\n "),n.k0s(),n.EFF(35,"\n "),n.k0s(),n.EFF(36,"\n"),n.k0s(),n.EFF(37,"\n"),n.j41(38,"div",8),n.EFF(39,"\n "),n.j41(40,"div",4),n.EFF(41,"\n "),n.j41(42,"h3",9),n.EFF(43,"En cas de probl\xe8mes"),n.k0s(),n.EFF(44,"\n "),n.k0s(),n.EFF(45,"\n"),n.k0s(),n.EFF(46,"\n"),n.j41(47,"div",8),n.EFF(48,"\n "),n.nrm(49,"div",10),n.EFF(50,"\n "),n.j41(51,"div",11),n.EFF(52,"\n "),n.j41(53,"ul"),n.EFF(54,"\n "),n.j41(55,"li"),n.EFF(56,"\n V\xe9rifiez les logs de DomoticZ, ils contiennent de nombreuses informations utiles \xe0 la compr\xe9hension du(es)\n dysfonctionnements.\n "),n.k0s(),n.EFF(57,"\n "),n.nrm(58,"br"),n.EFF(59,"\n "),n.j41(60,"li"),n.EFF(61,"Venez en discuter sur les forums :"),n.k0s(),n.EFF(62,"\n "),n.j41(63,"ul"),n.EFF(64,"\n "),n.j41(65,"li"),n.EFF(66,"\n "),n.j41(67,"a",12),n.EFF(68,"Le forum fran\xe7ais"),n.k0s(),n.EFF(69,"\n en suivant le\n "),n.j41(70,"a",13),n.EFF(71,"Guide pour bien formuler une demande"),n.k0s(),n.EFF(72,"\n afin que nous ayons un maximum d'informations d\xe9s le d\xe9part.\n "),n.k0s(),n.EFF(73,"\n "),n.j41(74,"li"),n.EFF(75,"\n "),n.j41(76,"a",14),n.EFF(77,"Le forum anglais"),n.k0s(),n.EFF(78,"\n "),n.k0s(),n.EFF(79,"\n "),n.k0s(),n.EFF(80,"\n "),n.nrm(81,"br"),n.EFF(82,"\n "),n.k0s(),n.EFF(83,"\n "),n.k0s(),n.EFF(84,"\n "),n.nrm(85,"div",10),n.EFF(86,"\n"),n.k0s(),n.EFF(87,"\n"),n.j41(88,"div",8),n.EFF(89,"\n "),n.j41(90,"div",4),n.EFF(91,"\n "),n.j41(92,"h3",9),n.EFF(93,"Venez discuter avec nous !"),n.k0s(),n.EFF(94,"\n "),n.k0s(),n.EFF(95,"\n"),n.k0s(),n.EFF(96,"\n"),n.j41(97,"div",8),n.EFF(98,"\n "),n.nrm(99,"div",10),n.EFF(100,"\n "),n.j41(101,"div",11),n.EFF(102,"\n "),n.j41(103,"p"),n.EFF(104,"\n Nous sommes une petite \xe9quipe de passionn\xe9s qui partageons le plaisir d'utiliser DomoticZ avec les coordinateur\n ZigBee.\n "),n.k0s(),n.EFF(105,"\n "),n.j41(106,"p"),n.EFF(107,"\n Retrouvez-nous sur "),n.j41(108,"a",15),n.EFF(109,"keybase.io"),n.k0s(),n.EFF(110," pour des discussions en\n temps r\xe9el.\n "),n.k0s(),n.EFF(111,"\n "),n.k0s(),n.EFF(112,"\n "),n.nrm(113,"div",10),n.EFF(114,"\n"),n.k0s(),n.EFF(115,"\n"),n.nrm(116,"hr"),n.EFF(117,"\n"),n.j41(118,"div",8),n.EFF(119,"\n "),n.j41(120,"div",4),n.EFF(121,"\n "),n.j41(122,"h3",9),n.EFF(123,"Remerciements"),n.k0s(),n.EFF(124,"\n "),n.k0s(),n.EFF(125,"\n"),n.k0s(),n.EFF(126,"\n"),n.j41(127,"div",8),n.EFF(128,"\n "),n.nrm(129,"div",10),n.EFF(130,"\n "),n.j41(131,"div",11),n.EFF(132,"\n Nous souhaitons remercier les fabricants pour nous avoir mis \xe0 disposition du mat\xe9riel pour les d\xe9veloppements :"),n.nrm(133,"br")(134,"br"),n.EFF(135,"\n "),n.j41(136,"ul"),n.EFF(137,"\n "),n.j41(138,"li"),n.EFF(139,"\n @Fred de Lixee.fr pour la fourniture de coordinateurs\n "),n.j41(140,"a",16),n.EFF(141,"ZiGates"),n.k0s(),n.EFF(142," et autres objects.\n "),n.k0s(),n.EFF(143,"\n "),n.j41(144,"li"),n.EFF(145,"\n @Omer de electrolama pour la fourniture de coordinateurs\n "),n.j41(146,"a",17),n.EFF(147,"zzh Multiprotocol RF"),n.k0s(),n.EFF(148,".\n "),n.k0s(),n.EFF(149,"\n "),n.j41(150,"li"),n.EFF(151,"\n @NilsBohr de Elelabs pour la fourniture de coordinateurs\n "),n.j41(152,"a",18),n.EFF(153,"Elelabs Zigbee USB Adapter"),n.k0s(),n.EFF(154," Silicon Labs EZSP objects.\n "),n.k0s(),n.EFF(155,"\n "),n.j41(156,"li"),n.EFF(157,"@Fabrice pour avoir fournit gracieusement des objets Legrand-Netatmo."),n.k0s(),n.EFF(158,"\n "),n.j41(159,"li"),n.EFF(160,"\n @erwan pour avoir fournit gracieusement des objets\n "),n.j41(161,"a",19),n.EFF(162,"Casa.IA"),n.k0s(),n.EFF(163,".\n "),n.k0s(),n.EFF(164,"\n "),n.k0s(),n.EFF(165,"\n\n "),n.nrm(166,"br"),n.EFF(167,"\n Nous souhaitons remercier les personnes ayant contribu\xe9 au projet. En particulier :"),n.nrm(168,"br")(169,"br"),n.EFF(170,"\n "),n.j41(171,"ul"),n.EFF(172,"\n "),n.j41(173,"li"),n.EFF(174,"\n Les d\xe9veloppeurs du plugin : @zaraki673, @Pipiche38, @2m2, @d2e2n2o, @karstenbakker,\n @ricky74, @sbhc68, @thiklop, @deufo et @badz\n "),n.k0s(),n.EFF(175,"\n "),n.j41(176,"li"),n.EFF(177,"le d\xe9veloppeur de l'interface Web : @ben33880"),n.k0s(),n.EFF(178,"\n "),n.j41(179,"li"),n.EFF(180,"\n Les traducteurs de l'interface web : @gemies et @marktn (pour la version allemande), @martial83,\n @hydci et @jp-keros (pour la version fran\xe7aise)\n "),n.k0s(),n.EFF(181,"\n "),n.j41(182,"li"),n.EFF(183,"Les r\xe9dacteurs du wiki : @Pipiche38 et @jp-keros"),n.k0s(),n.EFF(184,"\n "),n.j41(185,"li"),n.EFF(186,"\n Les traducteurs du wiki : @karstenbakker (pour la version allemande), @jp-keros et @newturtle (pour\n la version fran\xe7aise), @erwan (for Spanish translation)\n "),n.k0s(),n.EFF(187,"\n "),n.k0s(),n.EFF(188,"\n Mais aussi tous les testeurs et utilisateurs qui nous ont remont\xe9 des infos sur les forums ou via Keybase.\n "),n.nrm(189,"br"),n.EFF(190,"\n "),n.nrm(191,"br"),n.EFF(192,"\n "),n.nrm(193,"br"),n.EFF(194,"\n "),n.j41(195,"p"),n.EFF(196,"\n Pour terminer, nous souhaiterions remercier tous les donateurs qui ont support\xe9 le projet. Cela permet l'achat de\n nouveaux objets pour les tester, les int\xe9grer et les certifier.\n "),n.k0s(),n.EFF(197,"\n "),n.k0s(),n.EFF(198,"\n "),n.nrm(199,"div",10),n.EFF(200,"\n"),n.k0s(),n.EFF(201,"\n"),n.j41(202,"div",8),n.EFF(203,"\n "),n.j41(204,"div",4),n.EFF(205,"\n "),n.j41(206,"a",20),n.EFF(207,"Cagnotte Paypal pipiche"),n.k0s(),n.EFF(208,"\n "),n.k0s(),n.EFF(209,"\n"),n.k0s(),n.EFF(210,"\n\n"),n.nrm(211,"hr"),n.EFF(212,"\n"),n.j41(213,"div",0),n.EFF(214,"@pipiche38 - 2018 - 2024"),n.k0s(),n.EFF(215,"\n\n"),n.nrm(216,"br"),n.EFF(217,"\n")),2&F&&(n.R7$(13),n.SpI(" ",i.version,""))},dependencies:[o.Mm]})}return e})();function h(e,a){1&e&&(n.qex(0),n.EFF(1,"\n "),n.nrm(2,"app-about-fr"),n.EFF(3,"\n "),n.bVm())}function f(e,a){1&e&&(n.qex(0),n.EFF(1,"\n "),n.nrm(2,"app-about-nl"),n.EFF(3,"\n "),n.bVm())}function j(e,a){1&e&&(n.qex(0),n.EFF(1,"\n "),n.nrm(2,"app-about-es"),n.EFF(3,"\n "),n.bVm())}function b(e,a){1&e&&(n.qex(0),n.EFF(1,"\n "),n.nrm(2,"app-about-en"),n.EFF(3,"\n "),n.bVm())}const g=[{path:"",component:(()=>{class e{i18nService;version=m.c.version;constructor(t){this.i18nService=t}static \u0275fac=function(F){return new(F||e)(n.rXU(u.W4))};static \u0275cmp=n.VBU({type:e,selectors:[["app-about"]],decls:11,vars:4,consts:[[3,"ngSwitch"],[4,"ngSwitchCase"],[4,"ngSwitchDefault"]],template:function(F,i){1&F&&(n.qex(0,0),n.EFF(1,"\n "),n.DNE(2,h,4,0,"ng-container",1),n.EFF(3,"\n "),n.DNE(4,f,4,0,"ng-container",1),n.EFF(5,"\n "),n.DNE(6,j,4,0,"ng-container",1),n.EFF(7,"\n "),n.DNE(8,b,4,0,"ng-container",2),n.EFF(9,"\n"),n.bVm(),n.EFF(10,"\n")),2&F&&(n.Y8G("ngSwitch",i.i18nService.language),n.R7$(2),n.Y8G("ngSwitchCase",i.i18nService.supportedLanguages[1].code),n.R7$(2),n.Y8G("ngSwitchCase",i.i18nService.supportedLanguages[2].code),n.R7$(2),n.Y8G("ngSwitchCase",i.i18nService.supportedLanguages[3].code))},dependencies:[r.ux,r.e1,r.fG,c,k,p,d]})}return e})(),data:{title:(0,u.o6)("About")}}];let v=(()=>{class e{static \u0275fac=function(F){return new(F||e)};static \u0275mod=n.$C({type:e});static \u0275inj=n.G2t({imports:[l.iI.forChild(g),l.iI]})}return e})(),w=(()=>{class e{static \u0275fac=function(F){return new(F||e)};static \u0275mod=n.$C({type:e});static \u0275inj=n.G2t({imports:[r.MD,o.h,v]})}return e})()}}]); \ No newline at end of file +"use strict";(self.webpackChunkz4d_plugin=self.webpackChunkz4d_plugin||[]).push([[644],{60644:(y,E,s)=>{s.r(E),s.d(E,{AboutModule:()=>w});var r=s(60177),o=s(19664),l=s(99062),u=s(38117),m=s(20546),n=s(54438);let c=(()=>{class e{version=JSON.parse(sessionStorage.getItem("plugin")).PluginVersion;static \u0275fac=function(F){return new(F||e)};static \u0275cmp=n.VBU({type:e,selectors:[["app-about-en"]],decls:194,vars:1,consts:[[1,"text-center"],["translate",""],[1,"far","fa-bookmark"],[1,"mt-5","row"],[1,"col-sm","text-center"],["href","https://zigbeefordomoticz.github.io/wiki/en-eng","target","_blank"],["href","https://zigbeefordomoticz.github.io/wiki/en-eng/WebUI_About",1,"fas","fa-info-circle","me-2"],[1,"mt-3","row"],[1,"mt-3"],[1,"col-sm-2"],[1,"col-sm","text-justify"],["href","https://www.domoticz.com/forum/viewforum.php?f=68","target","_blank"],["href","https://keybase.io/team/zigateforum","target","_blank"],["href","https://zigate.fr/","target","_blank"],["href","https://shop.electrolama.com/","target","_blank"],["href","https://elelabs.com/","target","_blank"],["href","https://casaia.fr/boutique/","target","_blank"],["href","https://www.paypal.com/paypalme/pipiche","target","_blank"]],template:function(F,i){1&F&&(n.j41(0,"div",0),n.EFF(1,"\n "),n.j41(2,"h1"),n.EFF(3,"\n "),n.j41(4,"span",1),n.EFF(5,"APP_NAME"),n.k0s(),n.EFF(6,"\n "),n.k0s(),n.EFF(7,"\n "),n.j41(8,"p"),n.nrm(9,"i",2),n.EFF(10," "),n.j41(11,"span",1),n.EFF(12,"Version"),n.k0s(),n.EFF(13),n.k0s(),n.EFF(14,"\n"),n.k0s(),n.EFF(15,"\n"),n.j41(16,"div",3),n.EFF(17,"\n "),n.j41(18,"div",4),n.EFF(19,"\n The aim of the plugin is to bridge a ZigBee coordinator to the Domoticz Home Automation in order to communicate with\n objects using the ZigBee protocol.\n "),n.j41(20,"p"),n.EFF(21,"\n For information around the Zigbee for DomoticZ Plugin, please refer to\n "),n.j41(22,"a",5),n.EFF(23," Plugin Wiki (in english) "),n.k0s(),n.EFF(24,"\n "),n.k0s(),n.EFF(25,"\n "),n.j41(26,"p"),n.EFF(27,"\n The small icone\n "),n.nrm(28,"a",6),n.EFF(29,"\n links to the informations on the Wiki.\n "),n.k0s(),n.EFF(30,"\n "),n.k0s(),n.EFF(31,"\n"),n.k0s(),n.EFF(32,"\n"),n.j41(33,"div",7),n.EFF(34,"\n "),n.j41(35,"div",4),n.EFF(36,"\n "),n.j41(37,"h3",8),n.EFF(38,"How to deal with issues and Questions"),n.k0s(),n.EFF(39,"\n "),n.k0s(),n.EFF(40,"\n"),n.k0s(),n.EFF(41,"\n"),n.j41(42,"div",7),n.EFF(43,"\n "),n.nrm(44,"div",9),n.EFF(45,"\n "),n.j41(46,"div",10),n.EFF(47,"\n "),n.j41(48,"ul"),n.EFF(49,"\n "),n.j41(50,"li"),n.EFF(51,"\n In case of question and problem please use the Domoticz Forum to ask your questions and/or problem.\n "),n.j41(52,"p"),n.EFF(53,"\n You can either use the\n "),n.j41(54,"a",11),n.EFF(55,"English Domoticz forum"),n.k0s(),n.EFF(56,"\n "),n.k0s(),n.EFF(57,"\n "),n.k0s(),n.EFF(58,"\n "),n.k0s(),n.EFF(59,"\n "),n.k0s(),n.EFF(60,"\n "),n.nrm(61,"div",9),n.EFF(62,"\n"),n.k0s(),n.EFF(63,"\n"),n.j41(64,"div",7),n.EFF(65,"\n "),n.j41(66,"div",4),n.EFF(67,"\n "),n.j41(68,"h3",8),n.EFF(69,"Come and discuss with us !"),n.k0s(),n.EFF(70,"\n "),n.k0s(),n.EFF(71,"\n"),n.k0s(),n.EFF(72,"\n"),n.j41(73,"div",7),n.EFF(74,"\n "),n.nrm(75,"div",9),n.EFF(76,"\n "),n.j41(77,"div",10),n.EFF(78,"\n "),n.j41(79,"p"),n.EFF(80,"We are a small team of enthusiasts who share the pleasure of using DomoticZ with ZigBee coordinators."),n.k0s(),n.EFF(81,"\n "),n.j41(82,"p"),n.EFF(83,"\n Meet us on "),n.j41(84,"a",12),n.EFF(85,"keybase.io"),n.k0s(),n.EFF(86," for real time discussions.\n "),n.k0s(),n.EFF(87,"\n "),n.k0s(),n.EFF(88,"\n "),n.nrm(89,"div",9),n.EFF(90,"\n"),n.k0s(),n.EFF(91,"\n"),n.nrm(92,"hr"),n.EFF(93,"\n"),n.j41(94,"div",7),n.EFF(95,"\n "),n.j41(96,"div",4),n.EFF(97,"\n "),n.j41(98,"h3",8),n.EFF(99,"Thanks"),n.k0s(),n.EFF(100,"\n "),n.k0s(),n.EFF(101,"\n"),n.k0s(),n.EFF(102,"\n"),n.j41(103,"div",7),n.EFF(104,"\n "),n.nrm(105,"div",9),n.EFF(106,"\n "),n.j41(107,"div",10),n.EFF(108,"\n We would like to thank the manufacturers for providing us with equipment for developments :"),n.nrm(109,"br")(110,"br"),n.EFF(111,"\n "),n.j41(112,"ul"),n.EFF(113,"\n "),n.j41(114,"li"),n.EFF(115,"\n @Fred from Lixee for "),n.j41(116,"a",13),n.EFF(117,"ZiGate"),n.k0s(),n.EFF(118," coordinators and Lixee objects.\n "),n.k0s(),n.EFF(119,"\n "),n.j41(120,"li"),n.EFF(121,"\n @Omer from electrolama for\n "),n.j41(122,"a",14),n.EFF(123,"zzh Multiprotocol RF"),n.k0s(),n.EFF(124," coordinators.\n "),n.k0s(),n.EFF(125,"\n "),n.j41(126,"li"),n.EFF(127,"\n @NilsBohr from Elelabs for "),n.j41(128,"a",15),n.EFF(129,"Elelabs Zigbee USB Adapter"),n.k0s(),n.EFF(130,"\n Silicon Labs EZSP objects.\n "),n.k0s(),n.EFF(131,"\n "),n.j41(132,"li"),n.EFF(133,"@Fabrice whom kindly provided a set of Legrand objects."),n.k0s(),n.EFF(134,"\n "),n.j41(135,"li"),n.EFF(136,"\n @erwan whom kindly provided a set of "),n.j41(137,"a",16),n.EFF(138,"Casa.IA"),n.k0s(),n.EFF(139,"\n objects\n "),n.k0s(),n.EFF(140,"\n "),n.k0s(),n.EFF(141,"\n\n "),n.nrm(142,"br"),n.EFF(143,"\n We would like to thank those who contributed to the project. In particular :"),n.nrm(144,"br")(145,"br"),n.EFF(146,"\n "),n.j41(147,"ul"),n.EFF(148,"\n "),n.j41(149,"li"),n.EFF(150,"\n Plugin developpers : @zaraki673, @Pipiche38, @2m2, @d2e2n2o, @karstenbakker, @ricky74,\n @sbhc68, @thiklop, @deufo et @badz\n "),n.k0s(),n.EFF(151,"\n "),n.j41(152,"li"),n.EFF(153,"Web Admin interface developer : @ben33880"),n.k0s(),n.EFF(154,"\n "),n.j41(155,"li"),n.EFF(156,"\n Web Admin interface translation : @gemies et @marktn (for Dutch translation), @martial83, @hydci\n et @jp-keros (for French translation)\n "),n.k0s(),n.EFF(157,"\n "),n.j41(158,"li"),n.EFF(159,"Wiki writters : @Pipiche38 et @jp-keros"),n.k0s(),n.EFF(160,"\n "),n.j41(161,"li"),n.EFF(162,"\n Wiki translation : @karstenbakker (for Dutch translation), @jp-keros et @newturtle (for French\n translation), @erwan (for Spanish translation)\n "),n.k0s(),n.EFF(163,"\n "),n.k0s(),n.EFF(164,"\n But also all the testers and users who have given us information on the forums or via Keybase.\n "),n.nrm(165,"br"),n.EFF(166,"\n "),n.nrm(167,"br"),n.EFF(168,"\n "),n.nrm(169,"br"),n.EFF(170,"\n "),n.j41(171,"p"),n.EFF(172,"\n Last I would like to express my gratitude to the great users whom have supported (by donation) this project. It\n helping to purchase devices in order to test, integrate and certify them.\n "),n.k0s(),n.EFF(173,"\n "),n.k0s(),n.EFF(174,"\n "),n.nrm(175,"div",9),n.EFF(176,"\n"),n.k0s(),n.EFF(177,"\n"),n.j41(178,"div",7),n.EFF(179,"\n "),n.j41(180,"div",4),n.EFF(181,"\n "),n.j41(182,"a",17),n.EFF(183,"Paypal Cagnotte pipiche"),n.k0s(),n.EFF(184,"\n "),n.k0s(),n.EFF(185,"\n"),n.k0s(),n.EFF(186,"\n\n"),n.nrm(187,"hr"),n.EFF(188,"\n"),n.j41(189,"div",0),n.EFF(190,"@pipiche38 - 2018 - 2024"),n.k0s(),n.EFF(191,"\n"),n.nrm(192,"br"),n.EFF(193,"\n")),2&F&&(n.R7$(13),n.SpI(" ",i.version,""))},dependencies:[o.Mm]})}return e})(),k=(()=>{class e{version=JSON.parse(sessionStorage.getItem("plugin")).PluginVersion;static \u0275fac=function(F){return new(F||e)};static \u0275cmp=n.VBU({type:e,selectors:[["app-about-es"]],decls:194,vars:1,consts:[[1,"text-center"],["translate",""],[1,"far","fa-bookmark"],[1,"mt-5","row"],[1,"col-sm","text-center"],["href","https://zigbeefordomoticz.github.io/wiki/en-eng","target","_blank"],["href","https://zigbeefordomoticz.github.io/wiki/en-engWebUI_About",1,"fas","fa-info-circle","me-2"],[1,"mt-3","row"],[1,"mt-3"],[1,"col-sm-2"],[1,"col-sm","text-justify"],["href","https://www.domoticz.com/forum/viewforum.php?f=68","target","_blank"],["href","https://keybase.io","target","_blank"],["href","https://zigate.fr/","target","_blank"],["href","https://shop.electrolama.com/","target","_blank"],["href","https://elelabs.com/","target","_blank"],["href","https://casaia.fr/boutique/","target","_blank"],["href","https://www.paypal.com/paypalme/pipiche","target","_blank"]],template:function(F,i){1&F&&(n.j41(0,"div",0),n.EFF(1,"\n "),n.j41(2,"h1"),n.EFF(3,"\n "),n.j41(4,"span",1),n.EFF(5,"APP_NAME"),n.k0s(),n.EFF(6,"\n "),n.k0s(),n.EFF(7,"\n "),n.j41(8,"p"),n.nrm(9,"i",2),n.EFF(10," "),n.j41(11,"span",1),n.EFF(12,"Version"),n.k0s(),n.EFF(13),n.k0s(),n.EFF(14,"\n"),n.k0s(),n.EFF(15,"\n"),n.j41(16,"div",3),n.EFF(17,"\n "),n.j41(18,"div",4),n.EFF(19,"\n The aim of the plugin is to bridge a ZigBee coordinator to the Domoticz Home Automation in order to communicate with\n objects using the ZigBee protocol.\n "),n.j41(20,"p"),n.EFF(21,"\n For information around the Zigate Plugin, please refer to\n "),n.j41(22,"a",5),n.EFF(23," Plugin Wiki (in english) "),n.k0s(),n.EFF(24,"\n "),n.k0s(),n.EFF(25,"\n "),n.j41(26,"p"),n.EFF(27,"\n The small icone\n "),n.nrm(28,"a",6),n.EFF(29,"\n links to the informations on the Wiki.\n "),n.k0s(),n.EFF(30,"\n "),n.k0s(),n.EFF(31,"\n"),n.k0s(),n.EFF(32,"\n"),n.j41(33,"div",7),n.EFF(34,"\n "),n.j41(35,"div",4),n.EFF(36,"\n "),n.j41(37,"h3",8),n.EFF(38,"How to deal with issues and Questions"),n.k0s(),n.EFF(39,"\n "),n.k0s(),n.EFF(40,"\n"),n.k0s(),n.EFF(41,"\n"),n.j41(42,"div",7),n.EFF(43,"\n "),n.nrm(44,"div",9),n.EFF(45,"\n "),n.j41(46,"div",10),n.EFF(47,"\n "),n.j41(48,"ul"),n.EFF(49,"\n "),n.j41(50,"li"),n.EFF(51,"\n In case of question and problem please use the Domoticz Forum to ask your questions and/or problem.\n "),n.j41(52,"p"),n.EFF(53,"\n You can either use the\n "),n.j41(54,"a",11),n.EFF(55,"English Domoticz forum"),n.k0s(),n.EFF(56," or if\n you want to interact in French you might want to use\n "),n.k0s(),n.EFF(57,"\n "),n.k0s(),n.EFF(58,"\n "),n.k0s(),n.EFF(59,"\n "),n.k0s(),n.EFF(60,"\n "),n.nrm(61,"div",9),n.EFF(62,"\n"),n.k0s(),n.EFF(63,"\n"),n.j41(64,"div",7),n.EFF(65,"\n "),n.j41(66,"div",4),n.EFF(67,"\n "),n.j41(68,"h3",8),n.EFF(69,"Come and discuss with us !"),n.k0s(),n.EFF(70,"\n "),n.k0s(),n.EFF(71,"\n"),n.k0s(),n.EFF(72,"\n"),n.j41(73,"div",7),n.EFF(74,"\n "),n.nrm(75,"div",9),n.EFF(76,"\n "),n.j41(77,"div",10),n.EFF(78,"\n "),n.j41(79,"p"),n.EFF(80,"\n We are a small team We are a small team of enthusiasts who share the pleasure of using DomoticZ with ZigBee\n coordinators.\n "),n.k0s(),n.EFF(81,"\n "),n.j41(82,"p"),n.EFF(83,"\n Meet us on "),n.j41(84,"a",12),n.EFF(85,"keybase.io"),n.k0s(),n.EFF(86," (team Zigate) for real time discussions.\n "),n.k0s(),n.EFF(87,"\n "),n.k0s(),n.EFF(88,"\n "),n.nrm(89,"div",9),n.EFF(90,"\n"),n.k0s(),n.EFF(91,"\n"),n.nrm(92,"hr"),n.EFF(93,"\n"),n.j41(94,"div",7),n.EFF(95,"\n "),n.j41(96,"div",4),n.EFF(97,"\n "),n.j41(98,"h3",8),n.EFF(99,"Thanks"),n.k0s(),n.EFF(100,"\n "),n.k0s(),n.EFF(101,"\n"),n.k0s(),n.EFF(102,"\n"),n.j41(103,"div",7),n.EFF(104,"\n "),n.nrm(105,"div",9),n.EFF(106,"\n "),n.j41(107,"div",10),n.EFF(108,"\n We would like to thank the manufacturers for providing us with equipment for developments :"),n.nrm(109,"br")(110,"br"),n.EFF(111,"\n "),n.j41(112,"ul"),n.EFF(113,"\n "),n.j41(114,"li"),n.EFF(115,"@Fred from Lixee for "),n.j41(116,"a",13),n.EFF(117,"ZiGate"),n.k0s(),n.EFF(118," and Lixee objects."),n.k0s(),n.EFF(119,"\n "),n.j41(120,"li"),n.EFF(121,"\n @Omer from electrolama for\n "),n.j41(122,"a",14),n.EFF(123,"zzh Multiprotocol RF Stick"),n.k0s(),n.EFF(124," objects.\n "),n.k0s(),n.EFF(125,"\n "),n.j41(126,"li"),n.EFF(127,"\n @NilsBohr from Elelabs for "),n.j41(128,"a",15),n.EFF(129,"Elelabs Zigbee USB Adapter"),n.k0s(),n.EFF(130,"\n Silicon Labs EZSP objects.\n "),n.k0s(),n.EFF(131,"\n "),n.j41(132,"li"),n.EFF(133,"@Fabrice whom kindly provided a set of Legrand objects."),n.k0s(),n.EFF(134,"\n "),n.j41(135,"li"),n.EFF(136,"\n @erwan whom kindly provided a set of "),n.j41(137,"a",16),n.EFF(138,"Casa.IA"),n.k0s(),n.EFF(139,"\n objects\n "),n.k0s(),n.EFF(140,"\n "),n.k0s(),n.EFF(141,"\n\n "),n.nrm(142,"br"),n.EFF(143,"\n We would like to thank those who contributed to the project. In particular :"),n.nrm(144,"br")(145,"br"),n.EFF(146,"\n "),n.j41(147,"ul"),n.EFF(148,"\n "),n.j41(149,"li"),n.EFF(150,"\n Plugin developpers : @zaraki673, @Pipiche38, @2m2, @d2e2n2o, @karstenbakker, @ricky74,\n @sbhc68, @thiklop, @deufo et @badz\n "),n.k0s(),n.EFF(151,"\n "),n.j41(152,"li"),n.EFF(153,"Web Admin interface developer : @ben33880"),n.k0s(),n.EFF(154,"\n "),n.j41(155,"li"),n.EFF(156,"\n Web Admin interface translation : @gemies et @marktn (for Dutch translation), @martial83, @hydci\n et @jp-keros (for French translation)\n "),n.k0s(),n.EFF(157,"\n "),n.j41(158,"li"),n.EFF(159,"Wiki writters : @Pipiche38 et @jp-keros"),n.k0s(),n.EFF(160,"\n "),n.j41(161,"li"),n.EFF(162,"\n Wik translation : @karstenbakker (for Dutch translation), @jp-keros et @newturtle (for French\n translation), @erwan (for Spanish translation)\n "),n.k0s(),n.EFF(163,"\n "),n.k0s(),n.EFF(164,"\n But also all the testers and users who have given us information on the forums or via Keybase.\n "),n.nrm(165,"br"),n.EFF(166,"\n "),n.nrm(167,"br"),n.EFF(168,"\n "),n.nrm(169,"br"),n.EFF(170,"\n "),n.j41(171,"p"),n.EFF(172,"\n Last I would like to express my gratitude to the great users whom have supported (by donation) this project. It\n helping to purchase devices in order to test, integrate and certify them.\n "),n.k0s(),n.EFF(173,"\n "),n.k0s(),n.EFF(174,"\n "),n.nrm(175,"div",9),n.EFF(176,"\n"),n.k0s(),n.EFF(177,"\n"),n.j41(178,"div",7),n.EFF(179,"\n "),n.j41(180,"div",4),n.EFF(181,"\n "),n.j41(182,"a",17),n.EFF(183,"Paypal Cagnotte pipiche"),n.k0s(),n.EFF(184,"\n "),n.k0s(),n.EFF(185,"\n"),n.k0s(),n.EFF(186,"\n\n"),n.nrm(187,"hr"),n.EFF(188,"\n"),n.j41(189,"div",0),n.EFF(190,"@pipiche38 - 2018 - 2024"),n.k0s(),n.EFF(191,"\n"),n.nrm(192,"br"),n.EFF(193,"\n")),2&F&&(n.R7$(13),n.SpI(" ",i.version,""))},dependencies:[o.Mm]})}return e})(),p=(()=>{class e{version=JSON.parse(sessionStorage.getItem("plugin")).PluginVersion;static \u0275fac=function(F){return new(F||e)};static \u0275cmp=n.VBU({type:e,selectors:[["app-about-nl"]],decls:194,vars:1,consts:[[1,"text-center"],["translate",""],[1,"far","fa-bookmark"],[1,"mt-5","row"],[1,"col-sm","text-center"],["href","https://zigbeefordomoticz.github.io/wiki/en-eng","target","_blank"],["href","https://zigbeefordomoticz.github.io/wiki/en-eng/WebUI_About",1,"fas","fa-info-circle","me-2"],[1,"mt-3","row"],[1,"mt-3"],[1,"col-sm-2"],[1,"col-sm","text-justify"],["href","https://www.domoticz.com/forum/viewforum.php?f=68","target","_blank"],["href","https://keybase.io","target","_blank"],["href","https://zigate.fr/","target","_blank"],["href","https://shop.electrolama.com/","target","_blank"],["href","https://elelabs.com/","target","_blank"],["href","https://casaia.fr/boutique/","target","_blank"],["href","https://www.paypal.com/paypalme/pipiche","target","_blank"]],template:function(F,i){1&F&&(n.j41(0,"div",0),n.EFF(1,"\n "),n.j41(2,"h1"),n.EFF(3,"\n "),n.j41(4,"span",1),n.EFF(5,"APP_NAME"),n.k0s(),n.EFF(6,"\n "),n.k0s(),n.EFF(7,"\n "),n.j41(8,"p"),n.nrm(9,"i",2),n.EFF(10," "),n.j41(11,"span",1),n.EFF(12,"Version"),n.k0s(),n.EFF(13),n.k0s(),n.EFF(14,"\n"),n.k0s(),n.EFF(15,"\n"),n.j41(16,"div",3),n.EFF(17,"\n "),n.j41(18,"div",4),n.EFF(19,"\n The aim of the plugin is to bridge a ZigBee coordinator to the Domoticz Home Automation in order to communicate with\n objects using the ZigBee protocol.\n "),n.j41(20,"p"),n.EFF(21,"\n For information around the Zigate Plugin, please refer to\n "),n.j41(22,"a",5),n.EFF(23," Plugin Wiki (in english) "),n.k0s(),n.EFF(24,"\n "),n.k0s(),n.EFF(25,"\n "),n.j41(26,"p"),n.EFF(27,"\n The small icone\n "),n.nrm(28,"a",6),n.EFF(29,"\n links to the informations on the Wiki.\n "),n.k0s(),n.EFF(30,"\n "),n.k0s(),n.EFF(31,"\n"),n.k0s(),n.EFF(32,"\n"),n.j41(33,"div",7),n.EFF(34,"\n "),n.j41(35,"div",4),n.EFF(36,"\n "),n.j41(37,"h3",8),n.EFF(38,"How to deal with issues and Questions"),n.k0s(),n.EFF(39,"\n "),n.k0s(),n.EFF(40,"\n"),n.k0s(),n.EFF(41,"\n"),n.j41(42,"div",7),n.EFF(43,"\n "),n.nrm(44,"div",9),n.EFF(45,"\n "),n.j41(46,"div",10),n.EFF(47,"\n "),n.j41(48,"ul"),n.EFF(49,"\n "),n.j41(50,"li"),n.EFF(51,"\n In case of question and problem please use the Domoticz Forum to ask your questions and/or problem.\n "),n.j41(52,"p"),n.EFF(53,"\n You can either use the\n "),n.j41(54,"a",11),n.EFF(55,"English Domoticz forum"),n.k0s(),n.EFF(56," or if\n you want to interact in French you might want to use\n "),n.k0s(),n.EFF(57,"\n "),n.k0s(),n.EFF(58,"\n "),n.k0s(),n.EFF(59,"\n "),n.k0s(),n.EFF(60,"\n "),n.nrm(61,"div",9),n.EFF(62,"\n"),n.k0s(),n.EFF(63,"\n"),n.j41(64,"div",7),n.EFF(65,"\n "),n.j41(66,"div",4),n.EFF(67,"\n "),n.j41(68,"h3",8),n.EFF(69,"Come and discuss with us !"),n.k0s(),n.EFF(70,"\n "),n.k0s(),n.EFF(71,"\n"),n.k0s(),n.EFF(72,"\n"),n.j41(73,"div",7),n.EFF(74,"\n "),n.nrm(75,"div",9),n.EFF(76,"\n "),n.j41(77,"div",10),n.EFF(78,"\n "),n.j41(79,"p"),n.EFF(80,"\n We are a small team We are a small team of enthusiasts who share the pleasure of using DomoticZ with ZigBee\n coordinators.\n "),n.k0s(),n.EFF(81,"\n "),n.j41(82,"p"),n.EFF(83,"\n Meet us on "),n.j41(84,"a",12),n.EFF(85,"keybase.io"),n.k0s(),n.EFF(86," (team Zigate) for real time discussions.\n "),n.k0s(),n.EFF(87,"\n "),n.k0s(),n.EFF(88,"\n "),n.nrm(89,"div",9),n.EFF(90,"\n"),n.k0s(),n.EFF(91,"\n"),n.nrm(92,"hr"),n.EFF(93,"\n"),n.j41(94,"div",7),n.EFF(95,"\n "),n.j41(96,"div",4),n.EFF(97,"\n "),n.j41(98,"h3",8),n.EFF(99,"Thanks"),n.k0s(),n.EFF(100,"\n "),n.k0s(),n.EFF(101,"\n"),n.k0s(),n.EFF(102,"\n"),n.j41(103,"div",7),n.EFF(104,"\n "),n.nrm(105,"div",9),n.EFF(106,"\n "),n.j41(107,"div",10),n.EFF(108,"\n We would like to thank the manufacturers for providing us with equipment for developments :"),n.nrm(109,"br")(110,"br"),n.EFF(111,"\n "),n.j41(112,"ul"),n.EFF(113,"\n "),n.j41(114,"li"),n.EFF(115,"@Fred from Lixee for "),n.j41(116,"a",13),n.EFF(117,"ZiGate"),n.k0s(),n.EFF(118," and Lixee objects."),n.k0s(),n.EFF(119,"\n "),n.j41(120,"li"),n.EFF(121,"\n @Omer from electrolama for\n "),n.j41(122,"a",14),n.EFF(123,"zzh Multiprotocol RF Stick"),n.k0s(),n.EFF(124," objects.\n "),n.k0s(),n.EFF(125,"\n "),n.j41(126,"li"),n.EFF(127,"\n @NilsBohr from Elelabs for "),n.j41(128,"a",15),n.EFF(129,"Elelabs Zigbee USB Adapter"),n.k0s(),n.EFF(130,"\n Silicon Labs EZSP objects.\n "),n.k0s(),n.EFF(131,"\n "),n.j41(132,"li"),n.EFF(133,"@Fabrice whom kindly provided a set of Legrand objects."),n.k0s(),n.EFF(134,"\n "),n.j41(135,"li"),n.EFF(136,"\n @erwan whom kindly provided a set of "),n.j41(137,"a",16),n.EFF(138,"Casa.IA"),n.k0s(),n.EFF(139,"\n objects\n "),n.k0s(),n.EFF(140,"\n "),n.k0s(),n.EFF(141,"\n\n "),n.nrm(142,"br"),n.EFF(143,"\n We would like to thank those who contributed to the project. In particular :"),n.nrm(144,"br")(145,"br"),n.EFF(146,"\n "),n.j41(147,"ul"),n.EFF(148,"\n "),n.j41(149,"li"),n.EFF(150,"\n Plugin developpers : @zaraki673, @Pipiche38, @2m2, @d2e2n2o, @karstenbakker, @ricky74,\n @sbhc68, @thiklop, @deufo et @badz\n "),n.k0s(),n.EFF(151,"\n "),n.j41(152,"li"),n.EFF(153,"Web Admin interface developer : @ben33880"),n.k0s(),n.EFF(154,"\n "),n.j41(155,"li"),n.EFF(156,"\n Web Admin interface translation : @gemies et @marktn (for Dutch translation), @martial83, @hydci\n et @jp-keros (for French translation)\n "),n.k0s(),n.EFF(157,"\n "),n.j41(158,"li"),n.EFF(159,"Wiki writters : @Pipiche38 et @jp-keros"),n.k0s(),n.EFF(160,"\n "),n.j41(161,"li"),n.EFF(162,"\n Wik translation : @karstenbakker (for Dutch translation), @jp-keros et @newturtle (for French\n translation), @erwan (for Spanish translation)\n "),n.k0s(),n.EFF(163,"\n "),n.k0s(),n.EFF(164,"\n But also all the testers and users who have given us information on the forums or via Keybase.\n "),n.nrm(165,"br"),n.EFF(166,"\n "),n.nrm(167,"br"),n.EFF(168,"\n "),n.nrm(169,"br"),n.EFF(170,"\n "),n.j41(171,"p"),n.EFF(172,"\n Last I would like to express my gratitude to the great users whom have supported (by donation) this project. It\n helping to purchase devices in order to test, integrate and certify them.\n "),n.k0s(),n.EFF(173,"\n "),n.k0s(),n.EFF(174,"\n "),n.nrm(175,"div",9),n.EFF(176,"\n"),n.k0s(),n.EFF(177,"\n"),n.j41(178,"div",7),n.EFF(179,"\n "),n.j41(180,"div",4),n.EFF(181,"\n "),n.j41(182,"a",17),n.EFF(183,"Paypal Cagnotte pipiche"),n.k0s(),n.EFF(184,"\n "),n.k0s(),n.EFF(185,"\n"),n.k0s(),n.EFF(186,"\n\n"),n.nrm(187,"hr"),n.EFF(188,"\n"),n.j41(189,"div",0),n.EFF(190,"@pipiche38 - 2018 - 2024"),n.k0s(),n.EFF(191,"\n"),n.nrm(192,"br"),n.EFF(193,"\n")),2&F&&(n.R7$(13),n.SpI(" ",i.version,""))},dependencies:[o.Mm]})}return e})(),d=(()=>{class e{version=JSON.parse(sessionStorage.getItem("plugin")).PluginVersion;static \u0275fac=function(F){return new(F||e)};static \u0275cmp=n.VBU({type:e,selectors:[["app-about-fr"]],decls:218,vars:1,consts:[[1,"text-center"],["translate",""],[1,"far","fa-bookmark"],[1,"mt-5","row"],[1,"col-sm","text-center"],["href","https://zigbeefordomoticz.github.io/wiki/fr-fr","target","_blank"],["href","https://zigbeefordomoticz.github.io/wiki/en-eng","target","_blank"],["href","https://zigbeefordomoticz.github.io/wiki/fr-fr/WebUI_A-propos",1,"fas","fa-info-circle","me-2"],[1,"mt-3","row"],[1,"mt-3"],[1,"col-sm-2"],[1,"col-sm","text-justify"],["href","https://easydomoticz.com/forum/viewforum.php?f=28","target","_blank"],["href","https://easydomoticz.com/forum/viewtopic.php?f=28&t=10886","target","_blank"],["href","https://www.domoticz.com/forum/viewforum.php?f=68","target","_blank"],["href","https://keybase.io/team/zigate","target","_blank"],["href","https://zigate.fr/","target","_blank"],["href","https://shop.electrolama.com/","target","_blank"],["href","https://elelabs.com/","target","_blank"],["href","https://casaia.fr/boutique/","target","_blank"],["href","https://www.paypal.com/paypalme/pipiche","target","_blank"]],template:function(F,i){1&F&&(n.j41(0,"div",0),n.EFF(1,"\n "),n.j41(2,"h1"),n.EFF(3,"\n "),n.j41(4,"span",1),n.EFF(5,"APP_NAME"),n.k0s(),n.EFF(6,"\n "),n.k0s(),n.EFF(7,"\n "),n.j41(8,"p"),n.nrm(9,"i",2),n.EFF(10," "),n.j41(11,"span",1),n.EFF(12,"Version"),n.k0s(),n.EFF(13),n.k0s(),n.EFF(14,"\n"),n.k0s(),n.EFF(15,"\n"),n.j41(16,"div",3),n.EFF(17,"\n "),n.j41(18,"div",4),n.EFF(19,"\n Ce plugin permet d'utiliser un coordinateur ZigBee avec le logiciel DomoticZ afin de pouvoir communiquer avec des\n objets utilisant le protocole ZigBee.\n "),n.j41(20,"p"),n.EFF(21,"\n Retrouver toutes les informations pour utiliser ce plugin sur\n "),n.j41(22,"a",5),n.EFF(23," le Wiki du plugin "),n.k0s(),n.EFF(24,"\n (en fran\xe7ais)."),n.nrm(25,"br"),n.EFF(26,"\n Refer to\n "),n.j41(27,"a",6),n.EFF(28," the plugin Wiki "),n.k0s(),n.EFF(29,"\n for more informations (in english).\n "),n.k0s(),n.EFF(30,"\n "),n.j41(31,"p"),n.EFF(32,"\n La petite ic\xf4ne\n "),n.nrm(33,"a",7),n.EFF(34,"\n renvoit vers les informations sur le Wiki fran\xe7ais.\n "),n.k0s(),n.EFF(35,"\n "),n.k0s(),n.EFF(36,"\n"),n.k0s(),n.EFF(37,"\n"),n.j41(38,"div",8),n.EFF(39,"\n "),n.j41(40,"div",4),n.EFF(41,"\n "),n.j41(42,"h3",9),n.EFF(43,"En cas de probl\xe8mes"),n.k0s(),n.EFF(44,"\n "),n.k0s(),n.EFF(45,"\n"),n.k0s(),n.EFF(46,"\n"),n.j41(47,"div",8),n.EFF(48,"\n "),n.nrm(49,"div",10),n.EFF(50,"\n "),n.j41(51,"div",11),n.EFF(52,"\n "),n.j41(53,"ul"),n.EFF(54,"\n "),n.j41(55,"li"),n.EFF(56,"\n V\xe9rifiez les logs de DomoticZ, ils contiennent de nombreuses informations utiles \xe0 la compr\xe9hension du(es)\n dysfonctionnements.\n "),n.k0s(),n.EFF(57,"\n "),n.nrm(58,"br"),n.EFF(59,"\n "),n.j41(60,"li"),n.EFF(61,"Venez en discuter sur les forums :"),n.k0s(),n.EFF(62,"\n "),n.j41(63,"ul"),n.EFF(64,"\n "),n.j41(65,"li"),n.EFF(66,"\n "),n.j41(67,"a",12),n.EFF(68,"Le forum fran\xe7ais"),n.k0s(),n.EFF(69,"\n en suivant le\n "),n.j41(70,"a",13),n.EFF(71,"Guide pour bien formuler une demande"),n.k0s(),n.EFF(72,"\n afin que nous ayons un maximum d'informations d\xe9s le d\xe9part.\n "),n.k0s(),n.EFF(73,"\n "),n.j41(74,"li"),n.EFF(75,"\n "),n.j41(76,"a",14),n.EFF(77,"Le forum anglais"),n.k0s(),n.EFF(78,"\n "),n.k0s(),n.EFF(79,"\n "),n.k0s(),n.EFF(80,"\n "),n.nrm(81,"br"),n.EFF(82,"\n "),n.k0s(),n.EFF(83,"\n "),n.k0s(),n.EFF(84,"\n "),n.nrm(85,"div",10),n.EFF(86,"\n"),n.k0s(),n.EFF(87,"\n"),n.j41(88,"div",8),n.EFF(89,"\n "),n.j41(90,"div",4),n.EFF(91,"\n "),n.j41(92,"h3",9),n.EFF(93,"Venez discuter avec nous !"),n.k0s(),n.EFF(94,"\n "),n.k0s(),n.EFF(95,"\n"),n.k0s(),n.EFF(96,"\n"),n.j41(97,"div",8),n.EFF(98,"\n "),n.nrm(99,"div",10),n.EFF(100,"\n "),n.j41(101,"div",11),n.EFF(102,"\n "),n.j41(103,"p"),n.EFF(104,"\n Nous sommes une petite \xe9quipe de passionn\xe9s qui partageons le plaisir d'utiliser DomoticZ avec les coordinateur\n ZigBee.\n "),n.k0s(),n.EFF(105,"\n "),n.j41(106,"p"),n.EFF(107,"\n Retrouvez-nous sur "),n.j41(108,"a",15),n.EFF(109,"keybase.io"),n.k0s(),n.EFF(110," pour des discussions en\n temps r\xe9el.\n "),n.k0s(),n.EFF(111,"\n "),n.k0s(),n.EFF(112,"\n "),n.nrm(113,"div",10),n.EFF(114,"\n"),n.k0s(),n.EFF(115,"\n"),n.nrm(116,"hr"),n.EFF(117,"\n"),n.j41(118,"div",8),n.EFF(119,"\n "),n.j41(120,"div",4),n.EFF(121,"\n "),n.j41(122,"h3",9),n.EFF(123,"Remerciements"),n.k0s(),n.EFF(124,"\n "),n.k0s(),n.EFF(125,"\n"),n.k0s(),n.EFF(126,"\n"),n.j41(127,"div",8),n.EFF(128,"\n "),n.nrm(129,"div",10),n.EFF(130,"\n "),n.j41(131,"div",11),n.EFF(132,"\n Nous souhaitons remercier les fabricants pour nous avoir mis \xe0 disposition du mat\xe9riel pour les d\xe9veloppements :"),n.nrm(133,"br")(134,"br"),n.EFF(135,"\n "),n.j41(136,"ul"),n.EFF(137,"\n "),n.j41(138,"li"),n.EFF(139,"\n @Fred de Lixee.fr pour la fourniture de coordinateurs\n "),n.j41(140,"a",16),n.EFF(141,"ZiGates"),n.k0s(),n.EFF(142," et autres objects.\n "),n.k0s(),n.EFF(143,"\n "),n.j41(144,"li"),n.EFF(145,"\n @Omer de electrolama pour la fourniture de coordinateurs\n "),n.j41(146,"a",17),n.EFF(147,"zzh Multiprotocol RF"),n.k0s(),n.EFF(148,".\n "),n.k0s(),n.EFF(149,"\n "),n.j41(150,"li"),n.EFF(151,"\n @NilsBohr de Elelabs pour la fourniture de coordinateurs\n "),n.j41(152,"a",18),n.EFF(153,"Elelabs Zigbee USB Adapter"),n.k0s(),n.EFF(154," Silicon Labs EZSP objects.\n "),n.k0s(),n.EFF(155,"\n "),n.j41(156,"li"),n.EFF(157,"@Fabrice pour avoir fournit gracieusement des objets Legrand-Netatmo."),n.k0s(),n.EFF(158,"\n "),n.j41(159,"li"),n.EFF(160,"\n @erwan pour avoir fournit gracieusement des objets\n "),n.j41(161,"a",19),n.EFF(162,"Casa.IA"),n.k0s(),n.EFF(163,".\n "),n.k0s(),n.EFF(164,"\n "),n.k0s(),n.EFF(165,"\n\n "),n.nrm(166,"br"),n.EFF(167,"\n Nous souhaitons remercier les personnes ayant contribu\xe9 au projet. En particulier :"),n.nrm(168,"br")(169,"br"),n.EFF(170,"\n "),n.j41(171,"ul"),n.EFF(172,"\n "),n.j41(173,"li"),n.EFF(174,"\n Les d\xe9veloppeurs du plugin : @zaraki673, @Pipiche38, @2m2, @d2e2n2o, @karstenbakker,\n @ricky74, @sbhc68, @thiklop, @deufo et @badz\n "),n.k0s(),n.EFF(175,"\n "),n.j41(176,"li"),n.EFF(177,"le d\xe9veloppeur de l'interface Web : @ben33880"),n.k0s(),n.EFF(178,"\n "),n.j41(179,"li"),n.EFF(180,"\n Les traducteurs de l'interface web : @gemies et @marktn (pour la version allemande), @martial83,\n @hydci et @jp-keros (pour la version fran\xe7aise)\n "),n.k0s(),n.EFF(181,"\n "),n.j41(182,"li"),n.EFF(183,"Les r\xe9dacteurs du wiki : @Pipiche38 et @jp-keros"),n.k0s(),n.EFF(184,"\n "),n.j41(185,"li"),n.EFF(186,"\n Les traducteurs du wiki : @karstenbakker (pour la version allemande), @jp-keros et @newturtle (pour\n la version fran\xe7aise), @erwan (for Spanish translation)\n "),n.k0s(),n.EFF(187,"\n "),n.k0s(),n.EFF(188,"\n Mais aussi tous les testeurs et utilisateurs qui nous ont remont\xe9 des infos sur les forums ou via Keybase.\n "),n.nrm(189,"br"),n.EFF(190,"\n "),n.nrm(191,"br"),n.EFF(192,"\n "),n.nrm(193,"br"),n.EFF(194,"\n "),n.j41(195,"p"),n.EFF(196,"\n Pour terminer, nous souhaiterions remercier tous les donateurs qui ont support\xe9 le projet. Cela permet l'achat de\n nouveaux objets pour les tester, les int\xe9grer et les certifier.\n "),n.k0s(),n.EFF(197,"\n "),n.k0s(),n.EFF(198,"\n "),n.nrm(199,"div",10),n.EFF(200,"\n"),n.k0s(),n.EFF(201,"\n"),n.j41(202,"div",8),n.EFF(203,"\n "),n.j41(204,"div",4),n.EFF(205,"\n "),n.j41(206,"a",20),n.EFF(207,"Cagnotte Paypal pipiche"),n.k0s(),n.EFF(208,"\n "),n.k0s(),n.EFF(209,"\n"),n.k0s(),n.EFF(210,"\n\n"),n.nrm(211,"hr"),n.EFF(212,"\n"),n.j41(213,"div",0),n.EFF(214,"@pipiche38 - 2018 - 2024"),n.k0s(),n.EFF(215,"\n\n"),n.nrm(216,"br"),n.EFF(217,"\n")),2&F&&(n.R7$(13),n.SpI(" ",i.version,""))},dependencies:[o.Mm]})}return e})();function h(e,a){1&e&&(n.qex(0),n.EFF(1,"\n "),n.nrm(2,"app-about-fr"),n.EFF(3,"\n "),n.bVm())}function f(e,a){1&e&&(n.qex(0),n.EFF(1,"\n "),n.nrm(2,"app-about-nl"),n.EFF(3,"\n "),n.bVm())}function j(e,a){1&e&&(n.qex(0),n.EFF(1,"\n "),n.nrm(2,"app-about-es"),n.EFF(3,"\n "),n.bVm())}function b(e,a){1&e&&(n.qex(0),n.EFF(1,"\n "),n.nrm(2,"app-about-en"),n.EFF(3,"\n "),n.bVm())}const g=[{path:"",component:(()=>{class e{i18nService;version=m.c.version;constructor(t){this.i18nService=t}static \u0275fac=function(F){return new(F||e)(n.rXU(u.W4))};static \u0275cmp=n.VBU({type:e,selectors:[["app-about"]],decls:11,vars:4,consts:[[3,"ngSwitch"],[4,"ngSwitchCase"],[4,"ngSwitchDefault"]],template:function(F,i){1&F&&(n.qex(0,0),n.EFF(1,"\n "),n.DNE(2,h,4,0,"ng-container",1),n.EFF(3,"\n "),n.DNE(4,f,4,0,"ng-container",1),n.EFF(5,"\n "),n.DNE(6,j,4,0,"ng-container",1),n.EFF(7,"\n "),n.DNE(8,b,4,0,"ng-container",2),n.EFF(9,"\n"),n.bVm(),n.EFF(10,"\n")),2&F&&(n.Y8G("ngSwitch",i.i18nService.language),n.R7$(2),n.Y8G("ngSwitchCase",i.i18nService.supportedLanguages[1].code),n.R7$(2),n.Y8G("ngSwitchCase",i.i18nService.supportedLanguages[2].code),n.R7$(2),n.Y8G("ngSwitchCase",i.i18nService.supportedLanguages[3].code))},dependencies:[r.ux,r.e1,r.fG,c,k,p,d]})}return e})(),data:{title:(0,u.o6)("About")}}];let v=(()=>{class e{static \u0275fac=function(F){return new(F||e)};static \u0275mod=n.$C({type:e});static \u0275inj=n.G2t({imports:[l.iI.forChild(g),l.iI]})}return e})(),w=(()=>{class e{static \u0275fac=function(F){return new(F||e)};static \u0275mod=n.$C({type:e});static \u0275inj=n.G2t({imports:[r.MD,o.h,v]})}return e})()}}]); \ No newline at end of file diff --git a/www/z4d/837.e9d5b18d020927e4.js b/www/z4d/837.bb9840a9999b6259.js similarity index 99% rename from www/z4d/837.e9d5b18d020927e4.js rename to www/z4d/837.bb9840a9999b6259.js index 3088d1750..ad8c06cc8 100644 --- a/www/z4d/837.e9d5b18d020927e4.js +++ b/www/z4d/837.bb9840a9999b6259.js @@ -1 +1 @@ -(self.webpackChunkz4d_plugin=self.webpackChunkz4d_plugin||[]).push([[837],{86837:(nt,_t,X)=>{"use strict";X.r(_t),X.d(_t,{NetworkModule:()=>xo});var ht=X(93887),et=X(91346),Q=X(12168),S=X(69820),K=X(38833),O=X(2501),I=X(55782),E=X(10467),t=X(54438),T=X(71985),N=X(43236),j=X(39974),P=X(54360),c=X(58750),m=X(41584);var f=X(88141),k=X(96354),n=X(33726),s=X(25558),d=X(7673),l=X(56977),g=X(84412),b=X(57786),p=X(23294),v=X(91986),D=X(983),r=X(70980);function u(o,F=!1){return(0,j.N)((e,i)=>{let a=0;e.subscribe((0,P._)(i,M=>{const x=o(M,a++);(x||F)&&i.next(M),!x&&i.complete()}))})}var C=X(30536),y=X(60177);let A;try{A=typeof Intl<"u"&&Intl.v8BreakIterator}catch{A=!1}let z=(()=>{class o{constructor(e){this._platformId=e,this.isBrowser=this._platformId?(0,y.UE)(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!A)&&typeof CSS<"u"&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}static#t=this.\u0275fac=function(i){return new(i||o)(t.KVO(t.Agw))};static#e=this.\u0275prov=t.jDH({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();var U=function(o){return o[o.NORMAL=0]="NORMAL",o[o.NEGATED=1]="NEGATED",o[o.INVERTED=2]="INVERTED",o}(U||{});let G;const gt=new t.nKC("cdk-dir-doc",{providedIn:"root",factory:function St(){return(0,t.WQX)(y.qQ)}}),dt=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;let mt=(()=>{class o{constructor(e){this.value="ltr",this.change=new t.bkB,e&&(this.value=function ct(o){const F=o?.toLowerCase()||"";return"auto"===F&&typeof navigator<"u"&&navigator?.language?dt.test(navigator.language)?"rtl":"ltr":"rtl"===F?"rtl":"ltr"}((e.body?e.body.dir:null)||(e.documentElement?e.documentElement.dir:null)||"ltr"))}ngOnDestroy(){this.change.complete()}static#t=this.\u0275fac=function(i){return new(i||o)(t.KVO(gt,8))};static#e=this.\u0275prov=t.jDH({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();var kt=X(89079),Qt=X(21413),me=X(96697),ve=X(85412);const ke="function"==typeof Float32Array;function Zt(o,F){return 1-3*F+3*o}function Kt(o,F){return 3*F-6*o}function qt(o){return 3*o}function At(o,F,e){return((Zt(F,e)*o+Kt(F,e))*o+qt(F))*o}function Jt(o,F,e){return 3*Zt(F,e)*o*o+2*Kt(F,e)*o+qt(F)}function Fe(o){return o}function Me(o,F,e,i){if(!(0<=o&&o<=1&&0<=e&&e<=1))throw new Error("bezier x values must be in [0, 1] range");if(o===F&&e===i)return Fe;const a=ke?new Float32Array(11):new Array(11);for(let x=0;x<11;++x)a[x]=At(.1*x,o,e);return function(L){return 0===L?0:1===L?1:At(function M(x){let L=0,R=1;for(;10!==R&&a[R]<=x;++R)L+=.1;--R;const ut=L+(x-a[R])/(a[R+1]-a[R])*.1,wt=Jt(ut,o,e);return wt>=.001?function Ce(o,F,e,i){for(let a=0;a<4;++a){const M=Jt(F,e,i);if(0===M)return F;F-=(At(F,e,i)-o)/M}return F}(x,ut,o,e):0===wt?ut:function xe(o,F,e,i,a){let M,x,L=0;do{x=F+(e-F)/2,M=At(x,i,a)-o,M>0?e=x:F=x}while(Math.abs(M)>1e-7&&++L<10);return x}(x,L,L+.1,o,e)}(L),F,i)}}const Ee=new t.nKC("SMOOTH_SCROLL_OPTIONS");let Pe=(()=>{class o{get _w(){return this._document.defaultView}get _now(){return this._w.performance?.now?.bind(this._w.performance)||Date.now}constructor(e,i,a){this._document=e,this._platform=i,this.rtlScrollAxisType=function tt(){if("object"!=typeof document||!document)return U.NORMAL;if(null==G){const o=document.createElement("div"),F=o.style;o.dir="rtl",F.width="1px",F.overflow="auto",F.visibility="hidden",F.pointerEvents="none",F.position="absolute";const e=document.createElement("div"),i=e.style;i.width="2px",i.height="1px",o.appendChild(e),document.body.appendChild(o),G=U.NORMAL,0===o.scrollLeft&&(o.scrollLeft=1,G=0===o.scrollLeft?U.NEGATED:U.INVERTED),o.remove()}return G}(),this._onGoingScrolls=new Map,this._defaultOptions={duration:468,easing:{x1:.42,y1:0,x2:.58,y2:1},...a}}_scrollElement(e,i,a){e.scrollLeft=i,e.scrollTop=a}_getElement(e,i){return"string"==typeof e?(i||this._document).querySelector(e):function zt(o){return o instanceof t.aKT?o.nativeElement:o}(e)}_initSmoothScroll(e){return this._onGoingScrolls.has(e)&&this._onGoingScrolls.get(e).next(),this._onGoingScrolls.set(e,new Qt.B).get(e)}_isFinished(e,i,a){return e.currentX!==e.x||e.currentY!==e.y||(i.next(),a(),!1)}_interrupted(e,i){return(0,b.h)((0,n.R)(e,"wheel",{passive:!0,capture:!0}),(0,n.R)(e,"touchmove",{passive:!0,capture:!0}),i).pipe((0,me.s)(1))}_destroy(e,i){i.complete(),this._onGoingScrolls.delete(e)}_step(e){return new T.c(i=>{let a=(this._now()-e.startTime)/e.duration;a=a>1?1:a;const M=e.easing(a);e.currentX=e.startX+(e.x-e.startX)*M,e.currentY=e.startY+(e.y-e.startY)*M,this._scrollElement(e.scrollable,e.currentX,e.currentY),C.X.schedule(()=>i.next(e))})}_applyScrollToOptions(e,i){if(!i.duration)return this._scrollElement(e,i.left,i.top),Promise.resolve();const a=this._initSmoothScroll(e),M={scrollable:e,startTime:this._now(),startX:e.scrollLeft,startY:e.scrollTop,x:null==i.left?e.scrollLeft:~~i.left,y:null==i.top?e.scrollTop:~~i.top,duration:i.duration,easing:Me(i.easing.x1,i.easing.y1,i.easing.x2,i.easing.y2)};return new Promise(x=>{(0,d.of)(null).pipe(function be(o,F=1/0,e){return F=(F||0)<1?1/0:F,(0,j.N)((i,a)=>(0,ve.h)(i,a,o,F,void 0,!0,e))}(()=>this._step(M).pipe(u(L=>this._isFinished(L,a,x)))),(0,l.Q)(this._interrupted(e,a)),(0,r.j)(()=>this._destroy(e,a))).subscribe()})}scrollTo(e,i){if((0,y.UE)(this._platform)){const a=this._getElement(e),M="rtl"===getComputedStyle(a).direction,x={...this._defaultOptions,...i,left:null==i.left?M?i.end:i.start:i.left,right:null==i.right?M?i.start:i.end:i.right};return null!=x.bottom&&(x.top=a.scrollHeight-a.clientHeight-x.bottom),M&&this.rtlScrollAxisType!==U.NORMAL?(null!=x.left&&(x.right=a.scrollWidth-a.clientWidth-x.left),this.rtlScrollAxisType===U.INVERTED?x.left=x.right:this.rtlScrollAxisType===U.NEGATED&&(x.left=x.right?-x.right:x.right)):null!=x.right&&(x.left=a.scrollWidth-a.clientWidth-x.right),this._applyScrollToOptions(a,x)}return Promise.resolve()}scrollToElement(e,i,a={}){const M=this._getElement(e),x=this._getElement(i,M),L={...a,left:x.offsetLeft+(a.left||0),top:x.offsetTop+(a.top||0)};return x?this.scrollTo(M,L):Promise.resolve()}static#t=this.\u0275fac=function(i){return new(i||o)(t.KVO(y.qQ),t.KVO(t.Agw),t.KVO(Ee,8))};static#e=this.\u0275prov=t.jDH({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();const Ne=["scrollbarButton",""];function Oe(o,F){if(1&o&&t.nrm(0,"button",5)(1,"button",6),2&o){const e=t.XpG();t.ZvI("ng-scrollbar-button ",e.cmp.buttonClass,""),t.R7$(),t.ZvI("ng-scrollbar-button ",e.cmp.buttonClass,"")}}function Te(o,F){if(1&o&&t.nrm(0,"button",5)(1,"button",6),2&o){const e=t.XpG();t.ZvI("ng-scrollbar-button ",e.cmp.buttonClass,""),t.R7$(),t.ZvI("ng-scrollbar-button ",e.cmp.buttonClass,"")}}function Ie(o,F){1&o&&t.nrm(0,"scrollbar-y")}function Le(o,F){1&o&&t.nrm(0,"scrollbar-x")}const je=["contentWrapper"],Re=["*"];let ze=(()=>{class o{constructor(){this.nativeElement=(0,t.WQX)(t.aKT).nativeElement}static#t=this.\u0275fac=function(i){return new(i||o)};static#e=this.\u0275dir=t.FsC({type:o,selectors:[["","scrollViewport",""]],standalone:!0})}return o})();var It=function(o){return o.AfterInit="AfterInit",o.Resized="ResizeObserver",o}(It||{});const te=new t.nKC("NG_SCROLLBAR_OPTIONS"),ee=new t.nKC("NG_SCROLLBAR_POLYFILL");function oe({element:o,contentWrapper:F,throttleDuration:e}){let a,i=It.AfterInit;const M=new T.c(x=>(a=new ResizeObserver(()=>{x.next(i),i=It.Resized}),a.observe(o),F&&a.observe(F),()=>{a?.disconnect()}));return e?M.pipe(function _(o,F=N.E,e){const i=(0,m.O)(o,F);return function h(o,F){return(0,j.N)((e,i)=>{const{leading:a=!0,trailing:M=!1}=F??{};let x=!1,L=null,R=null,W=!1;const yt=()=>{R?.unsubscribe(),R=null,M&&(ge(),W&&i.complete())},ut=()=>{R=null,W&&i.complete()},wt=Mt=>R=(0,c.Tg)(o(Mt)).subscribe((0,P._)(i,yt,ut)),ge=()=>{if(x){x=!1;const Mt=L;L=null,i.next(Mt),!W&&wt(Mt)}};e.subscribe((0,P._)(i,Mt=>{x=!0,L=Mt,(!R||R.closed)&&(a?ge():wt(Mt))},()=>{W=!0,(!(M&&x&&R)||R.closed)&&i.complete()}))})}(()=>i,e)}(e,null,{leading:!0,trailing:!0})):M}function Yt(o){return(0,f.M)(()=>o.onselectstart=()=>!1)}function Wt(o){return(0,f.M)(()=>o.onselectstart=null)}function Nt(){return(0,f.M)(o=>{o.preventDefault(),o.stopPropagation()})}var Ut=function(o){return o.Viewport="ng-scroll-viewport",o.Content="ng-scroll-content",o}(Ut||{});class Be{constructor(){this.initialized=(0,t.vPA)(!1)}get offsetHeight(){return this.nativeElement.getBoundingClientRect().height}get offsetWidth(){return this.nativeElement.getBoundingClientRect().width}get scrollTop(){return this.nativeElement.scrollTop}get scrollLeft(){return this.nativeElement.scrollLeft}get contentHeight(){return this.contentWrapperElement.getBoundingClientRect().height}get contentWidth(){return this.contentWrapperElement.getBoundingClientRect().width}get scrollMaxX(){return this.contentWidth-this.offsetWidth}get scrollMaxY(){return this.contentHeight-this.offsetHeight}init(F,e,i){F.classList.add(Ut.Viewport),this.nativeElement=F,e.classList.add(Ut.Content),i?(i.style.position="relative",this.contentWrapperElement=i):this.contentWrapperElement=e,this.initialized.set(!0)}scrollYTo(F){this.nativeElement.scrollTop=F}scrollXTo(F){this.nativeElement.scrollLeft=F}}const Lt=new t.nKC("NG_SCROLLBAR"),re={trackClass:"",thumbClass:"",buttonClass:"",orientation:"auto",appearance:"native",visibility:"native",position:"native",trackScrollDuration:50,sensorThrottleTime:0,disableSensor:!1,disableInteraction:!1,buttons:!1};let Ae=(()=>{class o{constructor(){this.injectedOptions=(0,t.WQX)(te,{optional:!0}),this.options=this.injectedOptions?{...re,...this.injectedOptions}:re,this.zone=(0,t.WQX)(t.SKi),this.platform=(0,t.WQX)(z),this.injector=(0,t.WQX)(t.zZn),this.isMobile=this.platform.IOS||this.platform.ANDROID,this.dir=(0,t.WQX)(mt),this.smoothScroll=(0,t.WQX)(Pe),this.nativeElement=(0,t.WQX)(t.aKT).nativeElement,this.dragging=(0,t.vPA)("none"),this.orientation=(0,t.hFB)(this.options.orientation),this.visibility=(0,t.hFB)(this.options.visibility),this.buttons=(0,t.hFB)(this.options.buttons,{transform:t.L39}),this.disableInteraction=(0,t.hFB)(this.options.disableInteraction,{transform:t.L39}),this.disableSensor=(0,t.hFB)(this.options.disableSensor,{transform:t.L39}),this.sensorThrottleTime=(0,t.hFB)(this.options.sensorThrottleTime,{transform:t.Udg}),this.viewportDimension=(0,t.vPA)({contentHeight:0,contentWidth:0,offsetHeight:0,offsetWidth:0}),this.state=(0,t.EWP)(()=>{let e=!1,i=!1,a=!1,M=!1;const x=this.orientation(),L=this.visibility(),R=this.viewportDimension();return("auto"===x||"vertical"===x)&&(a=R.contentHeight>R.offsetHeight,e="visible"===L||a),("auto"===x||"horizontal"===x)&&(M=R.contentWidth>R.offsetWidth,i="visible"===L||M),{verticalUsed:e,horizontalUsed:i,isVerticallyScrollable:a,isHorizontallyScrollable:M}}),this.isVerticallyScrollable=(0,t.EWP)(()=>this.state().isVerticallyScrollable),this.isHorizontallyScrollable=(0,t.EWP)(()=>this.state().isHorizontallyScrollable),this.verticalUsed=(0,t.EWP)(()=>this.state().verticalUsed),this.horizontalUsed=(0,t.EWP)(()=>this.state().horizontalUsed),this.trackScrollDuration=this.options.trackScrollDuration,this.appearance=this.options.appearance,this.position=this.options.position,this.trackClass=this.options.trackClass,this.thumbClass=this.options.thumbClass,this.buttonClass=this.options.thumbClass,this.afterInit=new t.bkB,this.afterUpdate=new t.bkB,this.viewport=new Be}ngOnInit(){(0,t.N4e)(this.injector,()=>{this.direction=(0,kt.ot)(this.dir.change.pipe((0,k.T)(()=>this.dir.value)),{initialValue:this.dir.value}),(0,t.QZP)(e=>{this.disableSensor()?this.sizeChangeSub?.unsubscribe():this.platform.isBrowser&&this.viewport.initialized()&&(this.sizeChangeSub?.unsubscribe(),this.zone.runOutsideAngular(()=>{this.sizeChangeSub=oe({element:this.viewport.nativeElement,contentWrapper:this.viewport.contentWrapperElement,throttleDuration:this.sensorThrottleTime()}).pipe((0,f.M)(i=>this.update(i))).subscribe()})),e(()=>this.sizeChangeSub?.unsubscribe())})})}ngAfterViewInit(){this.platform.isBrowser&&this.disableSensor()&&requestAnimationFrame(()=>{this.update(It.AfterInit)})}update(e){this.updateCSSVariables(),this.zone.run(()=>{this.viewportDimension.set({contentHeight:this.viewport.contentHeight,contentWidth:this.viewport.contentWidth,offsetHeight:this.viewport.offsetHeight,offsetWidth:this.viewport.offsetWidth}),e===It.AfterInit?this.afterInit.emit():this.afterUpdate.emit()})}scrollTo(e){return this.smoothScroll.scrollTo(this.viewport.nativeElement,e)}scrollToElement(e,i){return this.smoothScroll.scrollToElement(this.viewport.nativeElement,e,i)}updateCSSVariables(){this.nativeElement.style.setProperty("--content-height",`${this.viewport.contentHeight}`),this.nativeElement.style.setProperty("--content-width",`${this.viewport.contentWidth}`),this.nativeElement.style.setProperty("--viewport-height",`${this.viewport.offsetHeight}`),this.nativeElement.style.setProperty("--viewport-width",`${this.viewport.offsetWidth}`)}static#t=this.\u0275fac=function(i){return new(i||o)};static#e=this.\u0275dir=t.FsC({type:o,hostVars:14,hostBindings:function(i,a){2&i&&(t.BMQ("verticalUsed",a.verticalUsed())("horizontalUsed",a.horizontalUsed())("isVerticallyScrollable",a.isVerticallyScrollable())("isHorizontallyScrollable",a.isHorizontallyScrollable())("mobile",a.isMobile)("dir",a.direction())("position",a.position)("dragging",a.dragging())("appearance",a.appearance)("visibility",a.visibility())("orientation",a.orientation())("disableInteraction",a.disableInteraction()),t.AVh("ng-scrollbar",!0))},inputs:{orientation:[t.Mj6.SignalBased,"orientation"],visibility:[t.Mj6.SignalBased,"visibility"],buttons:[t.Mj6.SignalBased,"buttons"],disableInteraction:[t.Mj6.SignalBased,"disableInteraction"],disableSensor:[t.Mj6.SignalBased,"disableSensor"],sensorThrottleTime:[t.Mj6.SignalBased,"sensorThrottleTime"],trackScrollDuration:[t.Mj6.HasDecoratorInputTransform,"trackScrollDuration","trackScrollDuration",t.Udg],appearance:"appearance",position:"position",trackClass:"trackClass",thumbClass:"thumbClass",buttonClass:"buttonClass"},outputs:{afterInit:"afterInit",afterUpdate:"afterUpdate"},features:[t.Jv_([{provide:Lt,useExisting:o}]),t.GFd]})}return o})(),ie=(()=>{class o{constructor(){this.isBrowser=(0,y.UE)((0,t.WQX)(t.Agw)),this._polyfillUrl=(0,t.WQX)(ee,{optional:!0})||"https://flackr.github.io/scroll-timeline/dist/scroll-timeline.js",this.document=(0,t.WQX)(y.qQ),this.window=this.document.defaultView,this.scrollTimelinePolyfill=(0,t.vPA)(null),this.isBrowser&&(!this.window.ScrollTimeline||!CSS.supports("animation-timeline","scroll()"))&&this.initPolyfill()}initPolyfill(){var e=this;return(0,E.A)(function*(){try{const i=e.document.createElement("script");i.src=e._polyfillUrl,yield new Promise((a,M)=>{i.onload=a,i.onerror=M,e.document.head.appendChild(i)}),e.window.ScrollTimeline?e.scrollTimelinePolyfill.set(e.window.ScrollTimeline):console.error("[NgScrollbar]: ScrollTimeline is not attached to the window object.")}catch(i){console.error("[NgScrollbar]: Error loading ScrollTimeline script:",i)}})()}static#t=this.\u0275fac=function(i){return new(i||o)};static#e=this.\u0275prov=t.jDH({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();const Gt=new t.nKC("SCROLLBAR_CONTROL");let se=(()=>{class o{constructor(){this.cmp=(0,t.WQX)(Lt)}static#t=this.\u0275fac=function(i){return new(i||o)};static#e=this.\u0275dir=t.FsC({type:o})}return o})(),Vt=(()=>{class o{constructor(){this.cmp=(0,t.WQX)(Lt),this.control=(0,t.WQX)(Gt),this.document=(0,t.WQX)(y.qQ),this.zone=(0,t.WQX)(t.SKi),this.nativeElement=(0,t.WQX)(t.aKT).nativeElement,(0,t.QZP)(e=>{this.cmp.disableInteraction()?this._pointerEventsSub?.unsubscribe():this.zone.runOutsideAngular(()=>{this._pointerEventsSub=this.pointerEvents.subscribe()}),e(()=>this._pointerEventsSub?.unsubscribe())})}static#t=this.\u0275fac=function(i){return new(i||o)};static#e=this.\u0275dir=t.FsC({type:o})}return o})(),jt=(()=>{class o extends Vt{get trackMax(){return this.track.size-this.size}get clientRect(){return this.nativeElement.getBoundingClientRect()}get pointerEvents(){return(0,n.R)(this.nativeElement,"pointerdown").pipe(Nt(),Yt(this.document),(0,s.n)(e=>{let i,a;const M=(0,d.of)(e).pipe((0,f.M)(()=>{i=this.trackMax,a=this.control.viewportScrollMax,this.setDragging(this.control.axis)})),x=(0,n.R)(this.document,"pointermove").pipe(Nt()),L=(0,n.R)(this.document,"pointerup",{capture:!0}).pipe(Nt(),Wt(this.document),(0,f.M)(()=>this.setDragging("none")));return M.pipe((0,k.T)(R=>R[this.control.clientProperty]),(0,k.T)(R=>R-this.dragStartOffset),(0,s.n)(R=>x.pipe((0,k.T)(W=>W[this.control.clientProperty]),(0,k.T)(W=>W-this.track.offset),(0,k.T)(W=>a*(W-R)/i),(0,f.M)(W=>this.control.instantScrollTo(W,a)),(0,l.Q)(L))))}))}constructor(){(0,t.QZP)(()=>{const e=this.manager.scrollTimelinePolyfill();e&&!this._animation&&(this._animation=function Ye(o,F,e,i){return F.animate({translate:["var(--_scrollbar-thumb-transform-from)","var(--_scrollbar-thumb-transform-to)"]},{fill:"both",easing:"linear",timeline:new o({source:e,axis:i})})}(e,this.nativeElement,this.cmp.viewport.nativeElement,this.control.axis))}),super(),this.manager=(0,t.WQX)(ie),this.track=(0,t.WQX)(Rt)}setDragging(e){this.zone.run(()=>this.cmp.dragging.set(e))}static#t=this.\u0275fac=function(i){return new(i||o)};static#e=this.\u0275dir=t.FsC({type:o,features:[t.Vt3]})}return o})(),Rt=(()=>{class o extends Vt{get clientRect(){return this.nativeElement.getBoundingClientRect()}get pointerEvents(){const e=(0,n.R)(this.nativeElement,"pointerdown").pipe(Nt(),Yt(this.document)),i=(0,n.R)(this.document,"pointerup",{passive:!0}).pipe(Wt(this.document)),a=(0,n.R)(this.nativeElement,"pointermove",{passive:!0}).pipe((0,k.T)(L=>(this.currMousePosition=L[this.control.clientProperty],!0))),M=(0,n.R)(this.nativeElement,"pointerout",{passive:!0}).pipe((0,k.T)(()=>!1)),x=new g.t(!0);return e.pipe((0,s.n)(L=>((0,b.h)(a,M).pipe((0,p.F)(),(0,f.M)(R=>x.next(R)),(0,l.Q)(i)).subscribe(),(0,n.R)(this.thumb.nativeElement,"pointermove").pipe(Nt(),(0,l.Q)(i)).subscribe(),this.onTrackFirstClick(L).pipe((0,v.c)(200),(0,s.n)(()=>x.pipe((0,s.n)(R=>{const W=this.getScrollDirection(this.currMousePosition);return R&&this.scrollDirection===W?this.onTrackOngoingMousedown():D.w}),(0,r.j)(()=>{x.next(!0)}))),(0,l.Q)(i)))))}constructor(){(0,t.QZP)(e=>{this.cmp.disableSensor()?(this.update(),this.sizeChangeSub?.unsubscribe()):this.zone.runOutsideAngular(()=>{this.sizeChangeSub=oe({element:this.nativeElement,throttleDuration:this.cmp.sensorThrottleTime()}).pipe((0,f.M)(()=>this.update())).subscribe()}),e(()=>this.sizeChangeSub?.unsubscribe())}),super()}update(){this.cmp.nativeElement.style.setProperty(this.cssLengthProperty,`${this.size}`)}onTrackFirstClick(e){let i;if(this.currMousePosition=e[this.control.clientProperty],this.scrollDirection=this.getScrollDirection(this.currMousePosition),this.scrollMax=this.control.viewportScrollMax,"forward"===this.scrollDirection){const a=this.getScrollForwardIncrement();i=a>=this.scrollMax?this.scrollMax:a}else{const a=this.getScrollBackwardIncrement();i=a<=0?0:a}return this.scrollTo(i)}onTrackOngoingMousedown(){let e,i,a;({position:e,nextPosition:i,endPosition:a}="forward"===this.scrollDirection?this.getOnGoingScrollForward():this.getOnGoingScrollBackward());const M=this.isFinalStep(e);return this.scrollTo(M?a:i).pipe(u(()=>!M),(0,s.n)(()=>this.onTrackOngoingMousedown()))}getCurrPosition(e){return"forward"===this.scrollDirection?Math.abs(e):Math.abs(e+this.thumb.size-this.viewportScrollSize)}isFinalStep(e){const i=this.viewportScrollSize-this.thumb.size-this.getCurrPosition(e);return 0===Math.floor(i/this.viewportSize)}static#t=this.\u0275fac=function(i){return new(i||o)};static#e=this.\u0275dir=t.FsC({type:o,contentQueries:function(i,a,M){if(1&i&&t.wni(M,jt,5),2&i){let x;t.mGM(x=t.lsd())&&(a.thumb=x.first)}},features:[t.Vt3]})}return o})(),We=(()=>{class o extends Rt{constructor(){super(...arguments),this.cssLengthProperty="--track-x-length"}get offset(){return this.clientRect.left}get size(){return this.clientRect.width}get viewportScrollSize(){return this.cmp.viewport.contentWidth}get viewportSize(){return this.cmp.viewport.offsetWidth}getScrollDirection(e){return"rtl"===this.cmp.direction()?e-this.thumb.offset<0?"forward":"backward":e-this.thumb.offset>0?"forward":"backward"}scrollTo(e){return(0,c.Sx)(this.cmp.scrollTo({left:e,duration:this.cmp.trackScrollDuration}))}getScrollForwardIncrement(){return"rtl"===this.cmp.direction()?this.scrollMax- -(this.control.viewportScrollOffset-this.viewportSize):this.control.viewportScrollOffset+this.viewportSize}getScrollBackwardIncrement(){return"rtl"===this.cmp.direction()?this.scrollMax- -(this.control.viewportScrollOffset+this.viewportSize):this.control.viewportScrollOffset-this.viewportSize}getOnGoingScrollForward(){if("rtl"===this.cmp.direction()){const i=this.control.viewportScrollOffset-this.viewportSize;return{position:i,nextPosition:this.scrollMax+i,endPosition:0}}const e=this.control.viewportScrollOffset+this.viewportSize;return{position:e,nextPosition:e,endPosition:this.scrollMax}}getOnGoingScrollBackward(){if("rtl"===this.cmp.direction()){const i=this.control.viewportScrollOffset+this.viewportSize;return{position:i,nextPosition:this.scrollMax+i,endPosition:this.scrollMax}}const e=this.control.viewportScrollOffset-this.viewportSize;return{position:e,nextPosition:e,endPosition:0}}static#t=this.\u0275fac=(()=>{let e;return function(a){return(e||(e=t.xGo(o)))(a||o)}})();static#e=this.\u0275dir=t.FsC({type:o,selectors:[["","scrollbarTrackX",""]],standalone:!0,features:[t.Jv_([{provide:Rt,useExisting:o}]),t.Vt3]})}return o})(),Ue=(()=>{class o extends Rt{constructor(){super(...arguments),this.cssLengthProperty="--track-y-length"}get offset(){return this.clientRect.top}get size(){return this.clientRect.height}get viewportScrollSize(){return this.cmp.viewport.contentHeight}get viewportSize(){return this.cmp.viewport.offsetHeight}getScrollDirection(e){return e-this.thumb.offset>0?"forward":"backward"}scrollTo(e){return(0,c.Sx)(this.cmp.scrollTo({top:e,duration:this.cmp.trackScrollDuration}))}getScrollForwardIncrement(){return this.control.viewportScrollOffset+this.viewportSize}getScrollBackwardIncrement(){return this.control.viewportScrollOffset-this.viewportSize}getOnGoingScrollForward(){const e=this.control.viewportScrollOffset+this.viewportSize;return{position:e,nextPosition:e,endPosition:this.scrollMax}}getOnGoingScrollBackward(){const e=this.control.viewportScrollOffset-this.viewportSize;return{position:e,nextPosition:e,endPosition:0}}static#t=this.\u0275fac=(()=>{let e;return function(a){return(e||(e=t.xGo(o)))(a||o)}})();static#e=this.\u0275dir=t.FsC({type:o,selectors:[["","scrollbarTrackY",""]],standalone:!0,features:[t.Jv_([{provide:Rt,useExisting:o}]),t.Vt3]})}return o})(),Ge=(()=>{class o extends jt{get offset(){return this.clientRect.left}get size(){return this.clientRect.width}get dragStartOffset(){return this.offset+this.document.defaultView.scrollX}static#t=this.\u0275fac=(()=>{let e;return function(a){return(e||(e=t.xGo(o)))(a||o)}})();static#e=this.\u0275dir=t.FsC({type:o,selectors:[["","scrollbarThumbX",""]],standalone:!0,features:[t.Jv_([{provide:jt,useExisting:o}]),t.Vt3]})}return o})(),Ve=(()=>{class o extends jt{get offset(){return this.clientRect.top}get size(){return this.clientRect.height}get dragStartOffset(){return this.offset+this.document.defaultView.scrollY}static#t=this.\u0275fac=(()=>{let e;return function(a){return(e||(e=t.xGo(o)))(a||o)}})();static#e=this.\u0275dir=t.FsC({type:o,selectors:[["","scrollbarThumbY",""]],standalone:!0,features:[t.Jv_([{provide:jt,useExisting:o}]),t.Vt3]})}return o})(),ne=(()=>{class o extends Vt{constructor(){super(...arguments),this.injector=(0,t.WQX)(t.zZn),this.afterFirstClickDelay=120,this.firstClickDuration=100,this.scrollBy=50,this.onGoingScrollBy=12,this.canScrollFunc={forward:(e,i)=>Math.abs(e)Math.abs(e)>0},this.scrollStepFunc={forward:(e,i)=>i+e,backward:(e,i)=>i-e},this.horizontalScrollStepFunc={rtl:{forward:(e,i,a)=>a+i-e,backward:(e,i,a)=>a+i+e},ltr:this.scrollStepFunc}}get pointerEvents(){const e=(0,n.R)(this.nativeElement,"pointerdown").pipe(Nt(),Yt(this.document)),i=(0,n.R)(this.document,"pointerup",{passive:!0}).pipe(Wt(this.document)),a=(0,n.R)(this.nativeElement,"pointerleave",{passive:!0}),M=(0,b.h)(i,a);return e.pipe((0,s.n)(()=>this.firstScrollStep().pipe((0,v.c)(this.afterFirstClickDelay),(0,s.n)(()=>this.onOngoingPointerdown()),(0,l.Q)(M))))}ngOnInit(){this.canScroll=this.canScrollFunc[this.scrollDirection],"x"===this.control.axis?(0,t.N4e)(this.injector,()=>{(0,t.QZP)(()=>{const e=this.cmp.direction();this.nextStep=this.horizontalScrollStepFunc[e][this.scrollDirection]})}):this.nextStep=this.scrollStepFunc[this.scrollDirection]}firstScrollStep(){const e=this.nextStep(this.scrollBy,this.control.viewportScrollOffset,this.control.viewportScrollMax);return this.control.scrollTo(e,this.firstClickDuration)}onGoingScrollStep(){const e=this.control.viewportScrollMax,i=this.nextStep(this.onGoingScrollBy,this.control.viewportScrollOffset,e);this.control.instantScrollTo(i,e)}onOngoingPointerdown(){return function w(o=0,F=N.E){return o<0&&(o=0),(0,m.O)(o,o,F)}(0,C.X).pipe(u(()=>this.canScroll(this.control.viewportScrollOffset,this.control.viewportScrollMax)),(0,f.M)(()=>this.onGoingScrollStep()))}static#t=this.\u0275fac=(()=>{let e;return function(a){return(e||(e=t.xGo(o)))(a||o)}})();static#e=this.\u0275cmp=t.VBU({type:o,selectors:[["button","scrollbarButton",""]],inputs:{scrollbarButton:"scrollbarButton",scrollDirection:"scrollDirection"},standalone:!0,features:[t.Vt3,t.aNF],attrs:Ne,decls:3,vars:0,consts:[[1,"ng-scrollbar-button-icon"],["viewBox","0 0 512 512","xmlns","http://www.w3.org/2000/svg"],["d","M413.1,327.3l-1.8-2.1l-136-156.5c-4.6-5.3-11.5-8.6-19.2-8.6c-7.7,0-14.6,3.4-19.2,8.6L101,324.9l-2.3,2.6 C97,330,96,333,96,336.2c0,8.7,7.4,15.8,16.6,15.8v0h286.8v0c9.2,0,16.6-7.1,16.6-15.8C416,332.9,414.9,329.8,413.1,327.3z"]],template:function(i,a){1&i&&(t.j41(0,"div",0),t.qSk(),t.j41(1,"svg",1),t.nrm(2,"path",2),t.k0s()())},styles:["[_nghost-%COMP%]{--scrollbar-button-size: 20px;position:relative;border:none;margin:0;padding:0;border-radius:0;appearance:none;background-color:var(--scrollbar-button-color)}[_nghost-%COMP%] svg[_ngcontent-%COMP%]{fill:var(--scrollbar-button-fill)}[_nghost-%COMP%]:hover{background:var(--scrollbar-button-hover-color)}[_nghost-%COMP%]:hover svg[_ngcontent-%COMP%]{fill:var(--scrollbar-button-hover-fill)}[_nghost-%COMP%]:active{background:var(--scrollbar-button-active-color)}[_nghost-%COMP%]:active svg[_ngcontent-%COMP%]{fill:var(--scrollbar-button-active-fill)}[scrollbarButton=top][_nghost-%COMP%], [scrollbarButton=start][_nghost-%COMP%]{order:1}[scrollbarButton=bottom][_nghost-%COMP%], [scrollbarButton=end][_nghost-%COMP%]{order:3}[scrollbarButton=top][_nghost-%COMP%], [scrollbarButton=bottom][_nghost-%COMP%]{width:100%;height:var(--scrollbar-button-size)}[scrollbarButton=start][_nghost-%COMP%], [scrollbarButton=end][_nghost-%COMP%]{width:var(--scrollbar-button-size);height:100%}[scrollbarButton=bottom][_nghost-%COMP%]{--_button-rotate: 180deg}[scrollbarButton=start][_nghost-%COMP%]{--_button-rotate: -90deg}[scrollbarButton=start][_nghost-%COMP%] .ng-scrollbar-button-icon[_ngcontent-%COMP%]{writing-mode:vertical-lr}[scrollbarButton=end][_nghost-%COMP%]{--_button-rotate: 90deg}[scrollbarButton=end][_nghost-%COMP%] .ng-scrollbar-button-icon[_ngcontent-%COMP%]{writing-mode:vertical-rl}.ng-scrollbar-button-icon[_ngcontent-%COMP%]{rotate:var(--_button-rotate);display:flex;place-content:center;place-items:center;width:100%;height:100%}"],changeDetection:0})}return o})(),$e=(()=>{class o extends se{constructor(){super(...arguments),this.clientProperty="clientY",this.axis="y"}get viewportScrollMax(){return this.cmp.viewport.scrollMaxY}get viewportScrollOffset(){return this.cmp.viewport.scrollTop}scrollTo(e,i){return(0,c.Sx)(this.cmp.scrollTo({top:e,duration:i}))}instantScrollTo(e){this.cmp.viewport.scrollYTo(e)}static#t=this.\u0275fac=(()=>{let e;return function(a){return(e||(e=t.xGo(o)))(a||o)}})();static#e=this.\u0275cmp=t.VBU({type:o,selectors:[["scrollbar-y"]],standalone:!0,features:[t.Jv_([{provide:Gt,useExisting:o}]),t.Vt3,t.aNF],decls:6,vars:7,consts:[["sticky",""],[1,"ng-scrollbar-sticky"],[1,"ng-scrollbar-track-wrapper"],["scrollbarTrackY",""],["scrollbarThumbY",""],["scrollbarButton","top","scrollDirection","backward"],["scrollbarButton","bottom","scrollDirection","forward"]],template:function(i,a){1&i&&(t.j41(0,"div",1,0)(2,"div",2)(3,"div",3),t.nrm(4,"div",4),t.k0s(),t.DNE(5,Oe,2,6),t.k0s()()),2&i&&(t.R7$(3),t.ZvI("ng-scrollbar-track ",a.cmp.trackClass,""),t.R7$(),t.ZvI("ng-scrollbar-thumb ",a.cmp.thumbClass,""),t.R7$(),t.vxM(5,a.cmp.buttons()?5:-1))},dependencies:[Ue,Ve,ne],styles:["[_nghost-%COMP%]{position:absolute;inset:0;pointer-events:none;min-width:calc(var(--viewport-width) * 1px);min-height:calc(var(--viewport-height) * 1px)}.ng-scrollbar-sticky[_ngcontent-%COMP%]{top:calc(var(--_scrollbar-wrapper-top) * 1px);left:calc(var(--_scrollbar-wrapper-left) * 1px);right:calc(var(--_scrollbar-wrapper-right) * 1px);height:calc(var(--_scrollbar-wrapper-height) * 1px);width:calc(var(--_scrollbar-wrapper-width) * 1px);position:sticky;z-index:100;opacity:var(--_scrollbar-hover-opacity);transition:var(--_scrollbar-opacity-transition)}.ng-scrollbar-track-wrapper[_ngcontent-%COMP%]{touch-action:none;-webkit-user-select:none;user-select:none;top:var(--_scrollbar-track-top);bottom:var(--_scrollbar-track-bottom);right:var(--_scrollbar-track-right);left:var(--_scrollbar-track-left);pointer-events:var(--_scrollbar-pointer-events);transition:var(--scrollbar-track-wrapper-transition);position:absolute;overflow:hidden;display:flex;place-items:center}.ng-scrollbar-track[_ngcontent-%COMP%]{position:relative;width:100%;height:100%;background-color:var(--scrollbar-track-color);transition:var(--scrollbar-track-transition);border-radius:var(--scrollbar-border-radius);cursor:default;z-index:1;order:2}.ng-scrollbar-thumb[_ngcontent-%COMP%]{box-sizing:border-box;position:absolute;transition:var(--scrollbar-thumb-transition);border-radius:var(--scrollbar-border-radius);height:var(--_thumb-height);width:var(--_thumb-width);animation-name:_ngcontent-%COMP%_scrollbarThumbAnimation;animation-duration:1ms;animation-timing-function:linear}@keyframes _ngcontent-%COMP%_scrollbarThumbAnimation{0%{translate:var(--_scrollbar-thumb-transform-from)}to{translate:var(--_scrollbar-thumb-transform-to)}}","[_nghost-%COMP%]{--_scrollbar-wrapper-top: 0;--_scrollbar-wrapper-left: var(--_scrollbar-wrapper-y-left);--_scrollbar-wrapper-right: var(--_scrollbar-wrapper-y-right);--_scrollbar-wrapper-height: var(--viewport-height);--_scrollbar-wrapper-width: var(--_scrollbar-thickness);--_scrollbar-track-top: var(--_vertical-top);--_scrollbar-track-bottom: var(--_vertical-bottom);--_scrollbar-track-right: var(--_vertical-right);--_scrollbar-track-left: var(--_vertical-left);--_thumb-height: calc(var(--thumb-y-length) * 1px);--_thumb-width: 100%;--_scrollbar-thumb-transform-from: 0 0;--_scrollbar-thumb-transform-to: 0 calc(var(--_scrollbar-y-thumb-transform-to-value) * 1px)}.ng-scrollbar-track-wrapper[_ngcontent-%COMP%]{width:var(--_track-y-thickness);flex-direction:column}.ng-scrollbar-track-wrapper[_ngcontent-%COMP%]:hover{--_track-y-thickness: var(--_scrollbar-hover-thickness-px);--_thumb-y-color: var(--scrollbar-thumb-hover-color)}.ng-scrollbar-thumb[_ngcontent-%COMP%]{animation-timeline:var(--_animation-timeline-y);min-height:calc(var(--scrollbar-thumb-min-size) * 1px);display:var(--_vertical-thumb-display);background-color:var(--_thumb-y-color)}"],changeDetection:0})}return o})(),He=(()=>{class o extends se{get viewportScrollMax(){return this.cmp.viewport.scrollMaxX}get viewportScrollOffset(){return this.cmp.viewport.scrollLeft}constructor(){(0,t.QZP)(()=>{this.handlePosition="rtl"===this.cmp.direction()?(e,i)=>-(i-e):e=>e}),super(),this.manager=(0,t.WQX)(ie),this.clientProperty="clientX",this.axis="x"}scrollTo(e,i){return(0,c.Sx)(this.cmp.scrollTo({left:e,duration:i}))}instantScrollTo(e,i){this.cmp.viewport.scrollXTo(this.handlePosition(e,i))}static#t=this.\u0275fac=function(i){return new(i||o)};static#e=this.\u0275cmp=t.VBU({type:o,selectors:[["scrollbar-x"]],hostVars:1,hostBindings:function(i,a){2&i&&t.BMQ("dir",a.cmp.direction())},standalone:!0,features:[t.Jv_([{provide:Gt,useExisting:o}]),t.Vt3,t.aNF],decls:6,vars:7,consts:[["sticky",""],[1,"ng-scrollbar-sticky"],[1,"ng-scrollbar-track-wrapper"],["scrollbarTrackX",""],["scrollbarThumbX",""],["scrollbarButton","start","scrollDirection","backward"],["scrollbarButton","end","scrollDirection","forward"]],template:function(i,a){1&i&&(t.j41(0,"div",1,0)(2,"div",2)(3,"div",3),t.nrm(4,"div",4),t.k0s(),t.DNE(5,Te,2,6),t.k0s()()),2&i&&(t.R7$(3),t.ZvI("ng-scrollbar-track ",a.cmp.trackClass,""),t.R7$(),t.ZvI("ng-scrollbar-thumb ",a.cmp.thumbClass,""),t.R7$(),t.vxM(5,a.cmp.buttons()?5:-1))},dependencies:[We,Ge,ne],styles:["[_nghost-%COMP%]{position:absolute;inset:0;pointer-events:none;min-width:calc(var(--viewport-width) * 1px);min-height:calc(var(--viewport-height) * 1px)}.ng-scrollbar-sticky[_ngcontent-%COMP%]{top:calc(var(--_scrollbar-wrapper-top) * 1px);left:calc(var(--_scrollbar-wrapper-left) * 1px);right:calc(var(--_scrollbar-wrapper-right) * 1px);height:calc(var(--_scrollbar-wrapper-height) * 1px);width:calc(var(--_scrollbar-wrapper-width) * 1px);position:sticky;z-index:100;opacity:var(--_scrollbar-hover-opacity);transition:var(--_scrollbar-opacity-transition)}.ng-scrollbar-track-wrapper[_ngcontent-%COMP%]{touch-action:none;-webkit-user-select:none;user-select:none;top:var(--_scrollbar-track-top);bottom:var(--_scrollbar-track-bottom);right:var(--_scrollbar-track-right);left:var(--_scrollbar-track-left);pointer-events:var(--_scrollbar-pointer-events);transition:var(--scrollbar-track-wrapper-transition);position:absolute;overflow:hidden;display:flex;place-items:center}.ng-scrollbar-track[_ngcontent-%COMP%]{position:relative;width:100%;height:100%;background-color:var(--scrollbar-track-color);transition:var(--scrollbar-track-transition);border-radius:var(--scrollbar-border-radius);cursor:default;z-index:1;order:2}.ng-scrollbar-thumb[_ngcontent-%COMP%]{box-sizing:border-box;position:absolute;transition:var(--scrollbar-thumb-transition);border-radius:var(--scrollbar-border-radius);height:var(--_thumb-height);width:var(--_thumb-width);animation-name:_ngcontent-%COMP%_scrollbarThumbAnimation;animation-duration:1ms;animation-timing-function:linear}@keyframes _ngcontent-%COMP%_scrollbarThumbAnimation{0%{translate:var(--_scrollbar-thumb-transform-from)}to{translate:var(--_scrollbar-thumb-transform-to)}}","[_nghost-%COMP%]{--_scrollbar-wrapper-top: var(--_scrollbar-wrapper-x-top);--_scrollbar-wrapper-left: 0;--_scrollbar-wrapper-right: 0;--_scrollbar-wrapper-height: var(--_scrollbar-thickness);--_scrollbar-wrapper-width: var(--viewport-width);--_scrollbar-track-top: var(--_horizontal-top);--_scrollbar-track-bottom: var(--_horizontal-bottom);--_scrollbar-track-right: var(--_horizontal-right);--_scrollbar-track-left: var(--_horizontal-left);--_thumb-height: 100%;--_thumb-width: calc(var(--thumb-x-length) * 1px);--_scrollbar-thumb-transform-from: 0;--_scrollbar-thumb-transform-to: calc(var(--_scrollbar-x-thumb-transform-to-value) * 1px)}[_nghost-%COMP%] .ng-scrollbar-button[scrollbarButton=start][_ngcontent-%COMP%]{_--button-rotate:90}[_nghost-%COMP%] .ng-scrollbar-button[scrollbarButton=end][_ngcontent-%COMP%]{_--button-rotate:-90}[dir=rtl][_nghost-%COMP%] .ng-scrollbar-thumb[_ngcontent-%COMP%]{animation-name:_ngcontent-%COMP%_scrollbarThumbRTLAnimation;will-change:right;--_scrollbar-thumb-transform-to: calc(var(--_scrollbar-x-thumb-transform-to-value) * -1px)}[dir=rtl][_nghost-%COMP%] .ng-scrollbar-button[scrollbarButton=start][_ngcontent-%COMP%]{--_button-rotate: 90deg}[dir=rtl][_nghost-%COMP%] .ng-scrollbar-button[scrollbarButton=end][_ngcontent-%COMP%]{--_button-rotate: -90deg}.ng-scrollbar-track-wrapper[_ngcontent-%COMP%]{height:var(--_track-x-thickness);flex-direction:row}.ng-scrollbar-track-wrapper[_ngcontent-%COMP%]:hover{--_track-x-thickness: var(--_scrollbar-hover-thickness-px);--_thumb-x-color: var(--scrollbar-thumb-hover-color)}.ng-scrollbar-thumb[_ngcontent-%COMP%]{animation-timeline:var(--_animation-timeline-x);min-width:calc(var(--scrollbar-thumb-min-size) * 1px);display:var(--_horizontal-thumb-display);background-color:var(--_thumb-x-color)}@keyframes _ngcontent-%COMP%_scrollbarThumbRTLAnimation{0%{right:var(--_scrollbar-thumb-transform-from)}to{right:calc(var(--_scrollbar-thumb-transform-to) * -1)}}"],changeDetection:0})}return o})(),ae=(()=>{class o{constructor(){this.cmp=(0,t.WQX)(Lt)}static#t=this.\u0275fac=function(i){return new(i||o)};static#e=this.\u0275cmp=t.VBU({type:o,selectors:[["scrollbars"]],standalone:!0,features:[t.aNF],decls:2,vars:2,template:function(i,a){1&i&&t.DNE(0,Ie,1,0,"scrollbar-y")(1,Le,1,0,"scrollbar-x"),2&i&&(t.vxM(0,a.cmp.verticalUsed()?0:-1),t.R7$(),t.vxM(1,a.cmp.horizontalUsed()?1:-1))},dependencies:[He,$e],styles:["[_nghost-%COMP%]{display:contents}"],changeDetection:0})}return o})(),le=(()=>{class o extends Ae{ngOnInit(){this.viewport.init(this.nativeElement,this.contentWrapper.nativeElement),super.ngOnInit()}static#t=this.\u0275fac=(()=>{let e;return function(a){return(e||(e=t.xGo(o)))(a||o)}})();static#e=this.\u0275cmp=t.VBU({type:o,selectors:[["ng-scrollbar",3,"externalViewport",""]],viewQuery:function(i,a){if(1&i&&(t.GBs(je,7),t.GBs(ae,7)),2&i){let M;t.mGM(M=t.lsd())&&(a.contentWrapper=M.first),t.mGM(M=t.lsd())&&(a._scrollbars=M.first)}},exportAs:["ngScrollbar"],standalone:!0,features:[t.Jv_([{provide:Lt,useExisting:o}]),t.nM4([ze]),t.Vt3,t.aNF],ngContentSelectors:Re,decls:4,vars:0,consts:[["contentWrapper",""]],template:function(i,a){1&i&&(t.NAR(),t.j41(0,"div",null,0),t.SdG(2),t.nrm(3,"scrollbars"),t.k0s())},dependencies:[ae],styles:["[_nghost-%COMP%]{display:block;position:relative;max-height:100%;max-width:100%;--scrollbar-border-radius: 0px;--scrollbar-thickness: 5;--scrollbar-offset: 0;--scrollbar-track-wrapper-transition: width 60ms linear, height 60ms linear;--scrollbar-track-color: transparent;--scrollbar-track-transition: none;--scrollbar-thumb-color: rgb(0 0 0 / 20%);--scrollbar-thumb-hover-color: var(--scrollbar-thumb-color);--scrollbar-hover-thickness: var(--scrollbar-thickness);--scrollbar-thumb-transition: none;--scrollbar-thumb-min-size: 20;--scrollbar-button-color: var(--scrollbar-thumb-color);--scrollbar-button-hover-color: var(--scrollbar-button-color);--scrollbar-button-active-color: var(--scrollbar-button-hover-color);--scrollbar-button-fill: white;--scrollbar-button-hover-fill: var(--scrollbar-button-fill);--scrollbar-button-active-fill: var(--scrollbar-button-hover-fill);--scrollbar-hover-opacity-transition-enter-duration: 0;--scrollbar-hover-opacity-transition-leave-duration: .4s;--scrollbar-hover-opacity-transition-leave-delay: 1s;--scrollbar-overscroll-behavior: initial;--scrollbar-mobile-overscroll-behavior: none;--_scrollbar-thickness: calc(var(--scrollbar-thickness) + var(--scrollbar-offset) * 2);--_scrollbar-pointer-events: auto;--_scrollbar-offset-px: calc(var(--scrollbar-offset) * 1px);--_scrollbar-thickness-px: calc(var(--scrollbar-thickness) * 1px);--_scrollbar-hover-thickness-px: calc(var(--scrollbar-hover-thickness) * 1px);--_viewport-padding-top: 0;--_viewport-padding-bottom: 0;--_viewport-padding-left: 0;--_viewport-padding-right: 0;--_horizontal-thumb-display: block;--_vertical-thumb-display: block;--_viewport-overflow: auto;--_thumb-x-color: var(--scrollbar-thumb-color);--_thumb-y-color: var(--scrollbar-thumb-color);--_track-y-thickness: var(--_scrollbar-thickness-px);--_track-x-thickness: var(--_scrollbar-thickness-px);--_viewport-overscroll-behavior: var(--scrollbar-overscroll-behavior);--_scrollbar-content-width: fit-content}[_nghost-%COMP%]{--_vertical-top: var(--_scrollbar-offset-px);--_vertical-bottom: var(--_scrollbar-offset-px);--_horizontal-left: var(--_scrollbar-offset-px);--_horizontal-right: var(--_scrollbar-offset-px);--_horizontal-top: initial;--_horizontal-bottom: var(--_scrollbar-offset-px);--_scrollbar-wrapper-x-top: calc(var(--viewport-height) - var(--_scrollbar-thickness));--reached-offset: 1px;--reached-offset-top: var(--reached-offset);--reached-offset-bottom: var(--reached-offset);--reached-offset-start: var(--reached-offset);--reached-offset-end: var(--reached-offset);--_viewport_scroll-timeline: unset;--_animation-timeline-y: unset;--_scrollbar-y-thumb-transform-to-value: unset;--_scrollbar-x-thumb-transform-to-value: unset;--_scrollbar-thumb-transform-from: unset;--_scrollbar-thumb-transform-to: unset}.ng-scrollbar-external-viewport[_nghost-%COMP%] .ng-scroll-viewport{min-height:100%;min-width:100%;height:100%;max-height:100%;max-width:100%}.ng-scroll-viewport[_nghost-%COMP%], .ng-scrollbar-external-viewport[_nghost-%COMP%] .ng-scroll-viewport{position:relative;overflow:var(--_viewport-overflow);scroll-timeline:var(--_viewport_scroll-timeline);box-sizing:border-box!important;-webkit-overflow-scrolling:touch;will-change:scroll-position;-webkit-user-select:var(--_viewport-user-select);user-select:var(--_viewport-user-select);overscroll-behavior:var(--_viewport-overscroll-behavior)}.ng-scroll-viewport[_nghost-%COMP%] > .ng-scroll-content[_ngcontent-%COMP%], .ng-scrollbar-external-viewport[_nghost-%COMP%] .ng-scroll-viewport>.ng-scroll-content{width:var(--_scrollbar-content-width);z-index:1;min-width:100%;min-height:100%;contain:content;padding:var(--_viewport-padding-top, 0) var(--_viewport-padding-right, 0) var(--_viewport-padding-bottom, 0) var(--_viewport-padding-left, 0)}.ng-scroll-viewport[_nghost-%COMP%], .ng-scrollbar-external-viewport[_nghost-%COMP%] .ng-scroll-viewport{scrollbar-width:none!important}.ng-scroll-viewport[_nghost-%COMP%]::-webkit-scrollbar, .ng-scrollbar-external-viewport[_nghost-%COMP%] .ng-scroll-viewport::-webkit-scrollbar{display:none!important}[position=invertX][_nghost-%COMP%], [position=invertAll][_nghost-%COMP%]{--_horizontal-top: var(--_scrollbar-offset-px);--_horizontal-bottom: initial;--_scrollbar-wrapper-x-top: 0}[dir=ltr][_nghost-%COMP%]{--_scrollbar-wrapper-y-right: initial;--_vertical-right: var(--_scrollbar-offset-px);--_vertical-left: initial;--_scrollbar-wrapper-y-left: calc(var(--viewport-width) - var(--_scrollbar-thickness))}[dir=ltr][position=invertY][_nghost-%COMP%], [dir=ltr][position=invertAll][_nghost-%COMP%]{--_vertical-left: var(--_scrollbar-offset-px);--_vertical-right: initial;--_scrollbar-wrapper-y-left: 0}[dir=rtl][_nghost-%COMP%]{--_scrollbar-wrapper-y-left: initial;--_vertical-left: var(--_scrollbar-offset-px);--_vertical-right: initial;--_scrollbar-wrapper-y-right: calc(var(--viewport-width) - var(--_scrollbar-thickness))}[dir=rtl][position=invertY][_nghost-%COMP%], [dir=rtl][position=invertAll][_nghost-%COMP%]{--_vertical-right: var(--_scrollbar-offset-px);--_vertical-left: initial;--_scrollbar-wrapper-y-right: 0}[verticalUsed=true][horizontalUsed=true][_nghost-%COMP%]{--_scrollbar-thickness-margin: calc(var(--scrollbar-thickness) + var(--scrollbar-offset) * 3);--_scrollbar-thickness-margin-px: calc(var(--_scrollbar-thickness-margin) * 1px)}[horizontalUsed=true][_nghost-%COMP%]{--_vertical-top: var(--_scrollbar-offset-px);--_vertical-bottom: var(--_scrollbar-thickness-margin-px)}[horizontalUsed=true][position=invertX][_nghost-%COMP%], [horizontalUsed=true][position=invertAll][_nghost-%COMP%]{--_vertical-top: var(--_scrollbar-thickness-margin-px);--_vertical-bottom: var(--_scrollbar-offset-px)}[verticalUsed=true][dir=ltr][_nghost-%COMP%]{--_horizontal-left: var(--_scrollbar-offset-px);--_horizontal-right: var(--_scrollbar-thickness-margin-px)}[verticalUsed=true][dir=rtl][_nghost-%COMP%]{--_horizontal-left: var(--_scrollbar-thickness-margin-px);--_horizontal-right: var(--_scrollbar-offset-px)}[verticalUsed=true][position=invertY][dir=ltr][_nghost-%COMP%], [verticalUsed=true][position=invertAll][dir=ltr][_nghost-%COMP%]{--_horizontal-left: var(--_scrollbar-thickness-margin-px);--_horizontal-right: var(--_scrollbar-offset-px)}[verticalUsed=true][position=invertY][dir=rtl][_nghost-%COMP%], [verticalUsed=true][position=invertAll][dir=rtl][_nghost-%COMP%]{--_horizontal-left: var(--_scrollbar-offset-px);--_horizontal-right: var(--_scrollbar-thickness-margin-px)}[appearance=native][verticalUsed=true][dir=ltr][_nghost-%COMP%]{--_viewport-padding-left: 0;--_viewport-padding-right: calc(var(--_scrollbar-thickness) * 1px)}[appearance=native][verticalUsed=true][dir=rtl][_nghost-%COMP%]{--_viewport-padding-left: calc(var(--_scrollbar-thickness) * 1px);--_viewport-padding-right: 0}[appearance=native][verticalUsed=true][position=invertY][dir=ltr][_nghost-%COMP%], [appearance=native][verticalUsed=true][position=invertAll][dir=ltr][_nghost-%COMP%]{--_viewport-padding-left: calc(var(--_scrollbar-thickness) * 1px);--_viewport-padding-right: 0}[appearance=native][verticalUsed=true][position=invertY][dir=rtl][_nghost-%COMP%], [appearance=native][verticalUsed=true][position=invertAll][dir=rtl][_nghost-%COMP%]{--_viewport-padding-left: 0;--_viewport-padding-right: calc(var(--_scrollbar-thickness) * 1px)}[appearance=native][horizontalUsed=true][_nghost-%COMP%]{--_viewport-padding-top: 0;--_viewport-padding-bottom: calc(var(--_scrollbar-thickness) * 1px)}[appearance=native][horizontalUsed=true][position=invertX][_nghost-%COMP%], [appearance=native][horizontalUsed=true][position=invertAll][_nghost-%COMP%]{--_viewport-padding-top: calc(var(--_scrollbar-thickness) * 1px);--_viewport-padding-bottom: 0}[visibility=hover][_nghost-%COMP%]{--_scrollbar-hover-opacity: 0;--_scrollbar-opacity-transition: opacity var(--scrollbar-hover-opacity-transition-leave-duration) var(--scrollbar-hover-opacity-transition-leave-delay)}[visibility=hover][_nghost-%COMP%]:hover, [visibility=hover][_nghost-%COMP%]:active, [visibility=hover][_nghost-%COMP%]:focus{--_scrollbar-hover-opacity: 1;--_scrollbar-opacity-transition: opacity var(--scrollbar-hover-opacity-transition-enter-duration)}[dir=ltr][_nghost-%COMP%] .scroll-reached-trigger-element[trigger=start]{left:0;right:unset}[dir=ltr][_nghost-%COMP%] .scroll-reached-trigger-element[trigger=end]{right:0;left:unset}[dir=rtl][_nghost-%COMP%] .scroll-reached-trigger-element[trigger=start]{right:0;left:unset}[dir=rtl][_nghost-%COMP%] .scroll-reached-trigger-element[trigger=end]{left:0;right:unset}[_nghost-%COMP%] .ng-scroll-reached-wrapper, [_nghost-%COMP%] .scroll-reached-trigger-element{position:absolute;-webkit-user-select:none;user-select:none;pointer-events:none;z-index:-9999}[_nghost-%COMP%] .ng-scroll-reached-wrapper{visibility:hidden;inset:0;min-width:calc(var(--viewport-width) * 1px);min-height:calc(var(--viewport-height) * 1px)}[_nghost-%COMP%] [isHorizontallyScrollable=false] .scroll-reached-trigger-element[trigger=end]{display:none}[_nghost-%COMP%] [isVerticallyScrollable=false] .scroll-reached-trigger-element[trigger=bottom]{display:none}[_nghost-%COMP%] .scroll-reached-trigger-element{background:red}[_nghost-%COMP%] .scroll-reached-trigger-element[trigger=top], [_nghost-%COMP%] .scroll-reached-trigger-element[trigger=bottom]{left:0;right:0}[_nghost-%COMP%] .scroll-reached-trigger-element[trigger=start], [_nghost-%COMP%] .scroll-reached-trigger-element[trigger=end]{top:0;bottom:0}[_nghost-%COMP%] .scroll-reached-trigger-element[trigger=top]{top:0;height:var(--reached-offset-top)}[_nghost-%COMP%] .scroll-reached-trigger-element[trigger=bottom]{bottom:0;height:var(--reached-offset-bottom)}[_nghost-%COMP%] .scroll-reached-trigger-element[trigger=start]{width:var(--reached-offset-start)}[_nghost-%COMP%] .scroll-reached-trigger-element[trigger=end]{width:var(--reached-offset-end)}[verticalUsed=true][_nghost-%COMP%]{--_timeline-scope: --scrollerY;--_animation-timeline-y: --scrollerY;--_viewport_scroll-timeline: --scrollerY y;--_scrollbar-y-thumb-transform-to-value: calc(var(--track-y-length) - var(--thumb-y-length))}[horizontalUsed=true][_nghost-%COMP%]{--_timeline-scope: --scrollerX;--_animation-timeline-x: --scrollerX;--_viewport_scroll-timeline: --scrollerX x;--_scrollbar-x-thumb-transform-to-value: calc(var(--track-x-length) - var(--thumb-x-length))}[verticalUsed=true][horizontalUsed=true][_nghost-%COMP%]{--_timeline-scope: --scrollerX, --scrollerY;--_viewport_scroll-timeline: --scrollerX x, --scrollerY y}[orientation=vertical][_nghost-%COMP%]{--_viewport-overflow: hidden auto;--_scrollbar-content-width: unset}[orientation=horizontal][_nghost-%COMP%]{--_viewport-overflow: auto hidden}[disableInteraction=true][_nghost-%COMP%]{--_scrollbar-pointer-events: none}[isVerticallyScrollable=false][_nghost-%COMP%]{--_vertical-thumb-display: none}[isHorizontallyScrollable=false][_nghost-%COMP%]{--_horizontal-thumb-display: none}[dragging=x][_nghost-%COMP%], [dragging=y][_nghost-%COMP%]{--_viewport-user-select: none}[horizontalUsed=true][_nghost-%COMP%]{--thumb-x-length: max(calc(var(--viewport-width) * var(--track-x-length) / var(--content-width)), var(--scrollbar-thumb-min-size))}[verticalUsed=true][_nghost-%COMP%]{--thumb-y-length: max(calc(var(--viewport-height) * var(--track-y-length) / var(--content-height)), var(--scrollbar-thumb-min-size))}[dragging=x][_nghost-%COMP%]{--_track-x-thickness: calc(var(--scrollbar-hover-thickness) * 1px);--_thumb-x-color: var(--scrollbar-thumb-hover-color)}[dragging=y][_nghost-%COMP%]{--_track-y-thickness: calc(var(--scrollbar-hover-thickness) * 1px);--_thumb-y-color: var(--scrollbar-thumb-hover-color)}[mobile=true][_nghost-%COMP%]{--_viewport-overscroll-behavior: var(--scrollbar-mobile-overscroll-behavior)}"],changeDetection:0})}return o})(),Qe=(()=>{class o{static#t=this.\u0275fac=function(i){return new(i||o)};static#e=this.\u0275mod=t.$C({type:o});static#o=this.\u0275inj=t.G2t({})}return o})();var ce=X(93331),he=X(38117);function de(o,F){const e=/(\d+)|(\D+)/g,i=/\d+/,M=F.value,x=String(o.value).match(e),L=String(M).match(e);for(;x.length&&L.length;){const R=x.shift(),W=L.shift();if(i.test(R)||i.test(W)){if(!i.test(R))return-1;if(!i.test(W))return 1;if(R!==W)return Number(W)-Number(R)}else if(R!==W)return W.localeCompare(R)}return L.length-x.length}var Ct=X(3366),it=X(19664),$t=X(45794);let Ze=(()=>{class o{apiService;toastr;translate;stats$;constructor(e,i,a){this.apiService=e,this.toastr=i,this.translate=a}reqInter(){this.apiService.getReqInter().subscribe(()=>{this.toastr.success(this.translate.instant("api.global.succes.scanlaunched.notify"))})}static \u0275fac=function(i){return new(i||o)(t.rXU(Ct.G),t.rXU($t.tw),t.rXU(it.c$))};static \u0275cmp=t.VBU({type:o,selectors:[["app-req-network-inter"]],decls:16,vars:3,consts:[[1,"card"],["translate","network.inter.req.header",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-footer","d-flex","justify-content-end"],["translate","network.inter.req.button",1,"btn","btn-light",3,"click"]],template:function(i,a){1&i&&(t.j41(0,"div",0),t.EFF(1,"\n "),t.nrm(2,"div",1),t.EFF(3,"\n "),t.j41(4,"div",2),t.EFF(5,"\n "),t.nrm(6,"p",3),t.nI1(7,"translate"),t.EFF(8,"\n "),t.k0s(),t.EFF(9,"\n "),t.j41(10,"div",4),t.EFF(11,"\n "),t.j41(12,"button",5),t.bIt("click",function(){return a.reqInter()}),t.k0s(),t.EFF(13,"\n "),t.k0s(),t.EFF(14,"\n"),t.k0s(),t.EFF(15,"\n")),2&i&&(t.R7$(6),t.Y8G("innerHTML",t.bMT(7,1,"network.inter.req.subtitle"),t.npT))},dependencies:[it.Mm,it.D9]})}return o})();var pe=X(28990),ue=X(21264);function Ke(o,F){if(1&o&&(t.j41(0,"div",4),t.EFF(1,"\n "),t.nrm(2,"div",5),t.EFF(3,"\n "),t.j41(4,"div",6),t.EFF(5,"\n "),t.nrm(6,"p",7),t.nI1(7,"translate"),t.EFF(8,"\n "),t.j41(9,"div",8),t.EFF(10,"\n "),t.nrm(11,"div",9),t.EFF(12,"\n "),t.k0s(),t.EFF(13,"\n "),t.k0s(),t.EFF(14,"\n "),t.k0s()),2&o){const e=t.XpG(2);t.R7$(6),t.Y8G("innerHTML",t.bMT(7,2,"network.stats.detail.visu.subtitle"),t.npT),t.R7$(5),t.Y8G("chart",e.chart)}}function qe(o,F){if(1&o&&(t.j41(0,"div",2),t.EFF(1,"\n "),t.DNE(2,Ke,15,4,"div",3),t.EFF(3,"\n "),t.k0s()),2&o){const e=t.XpG();t.R7$(2),t.Y8G("ngIf",e.chart)}}function Je(o,F){if(1&o&&(t.j41(0,"div",4),t.EFF(1,"\n "),t.nrm(2,"div",5),t.EFF(3,"\n "),t.j41(4,"div",6),t.EFF(5,"\n "),t.nrm(6,"p",7),t.nI1(7,"translate"),t.EFF(8,"\n "),t.j41(9,"div",8),t.EFF(10,"\n "),t.nrm(11,"div",10),t.EFF(12,"\n "),t.k0s(),t.EFF(13,"\n "),t.k0s(),t.EFF(14,"\n "),t.k0s()),2&o){const e=t.XpG();t.R7$(6),t.Y8G("innerHTML",t.bMT(7,2,"network.stats.detail.visu.subtitle"),t.npT),t.R7$(5),t.Y8G("chart",e.chart2)}}let to=(()=>{class o extends pe.U{apiService;translate;timeStamp;chart;chart2;devices$;totalTx;totalFail;plugin;constructor(e,i){super(),this.apiService=e,this.translate=i}ngOnInit(){this.devices$=this.apiService.getDevices(),setTimeout(()=>{this.plugin=JSON.parse(sessionStorage.getItem("plugin"))},500)}ngOnChanges(e){e.timeStamp.currentValue!==e.timeStamp.previousValue&&this.apiService.getNwkStatsByTimeStamp(this.timeStamp).subscribe(i=>{this.createChart(i),this.createChart2(i)})}createChart(e){const i=[],a=[],M=[],x=[];e.forEach(W=>{const yt=W.Channels;yt.sort((ut,wt)=>Number(ut.Channel)-Number(wt.Channel)),W.Channels=yt}),e[0].Channels.forEach(W=>{a.push(W.Channel)}),e.forEach(W=>{const yt=[];let ut=0;W.Channels.forEach(wt=>{yt.push(wt.Level),x[ut]=x[ut]?Number(x[ut])+Number(wt.Level):Number(wt.Level),ut++}),i.push({name:W.ZDeviceName?W.ZDeviceName:W._NwkId,data:yt})}),x.forEach(W=>{W/=e.length,W=Number(W).toFixed(2),M.push(Number(W))});const L=i;L.push({name:"Average",data:M,type:"spline",marker:{lineWidth:2,lineColor:ue.getOptions().colors[3],fillColor:"white"}});const R=new et.t1({chart:{type:"column",height:"20%"},title:{text:this.translate.instant("network.stats.detail.visu.chart.title")},xAxis:{categories:a},yAxis:{title:{text:this.translate.instant("network.stats.detail.visu.chart.y-axis")}},credits:{enabled:!1},series:L});this.chart=R,this.subs.add(R.ref$.subscribe())}createChart2(e){const i=[],a=[];e.forEach(x=>{const L=x.Channels;L.sort((R,W)=>Number(R.Channel)-Number(W.Channel)),x.Channels=L}),e[0].Channels.forEach(x=>{a.push(x.Channel)}),e.forEach(x=>{const L=[];x.Channels.forEach(R=>{L.push(R.Level)}),i.push({name:x.ZDeviceName?x.ZDeviceName:x._NwkId,data:L,pointPlacement:"on"})});const M=new et.t1({chart:{height:"90%",polar:!0,type:"line"},pane:{},title:{text:this.translate.instant("network.stats.detail.visu.chart.title")},xAxis:{categories:a,tickmarkPlacement:"on",lineWidth:0},yAxis:{gridLineInterpolation:"polygon",lineWidth:0,min:0},tooltip:{shared:!0,pointFormat:'{series.name}: {point.y:,.0f}
'},legend:{align:"left",verticalAlign:"bottom"},credits:{enabled:!1},series:i,responsive:{rules:[{condition:{maxWidth:600},chartOptions:{legend:{align:"center",verticalAlign:"bottom"},pane:{size:"80%"}}}]}});this.chart2=M,this.subs.add(M.ref$.subscribe())}static \u0275fac=function(i){return new(i||o)(t.rXU(Ct.G),t.rXU(it.c$))};static \u0275cmp=t.VBU({type:o,selectors:[["app-detail-nwk-stat"]],inputs:{timeStamp:"timeStamp"},features:[t.Vt3,t.OA$],decls:10,vars:2,consts:[[1,"row","row-cols-1","row-cols-md-2","g-4","mt-1"],["class","col",4,"ngIf"],[1,"col"],["class","card",4,"ngIf"],[1,"card"],["translate","network.stats.detail.visu.header",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],[1,"text-center",3,"chart"],[3,"chart"]],template:function(i,a){1&i&&(t.j41(0,"div",0),t.EFF(1,"\n "),t.DNE(2,qe,4,1,"div",1),t.EFF(3,"\n "),t.j41(4,"div",2),t.EFF(5,"\n "),t.DNE(6,Je,15,4,"div",3),t.EFF(7,"\n "),t.k0s(),t.EFF(8,"\n"),t.k0s(),t.EFF(9,"\n")),2&i&&(t.R7$(2),t.Y8G("ngIf",!(null!=a.plugin&&a.plugin.Zigpy)),t.R7$(4),t.Y8G("ngIf",a.chart2))},dependencies:[y.bT,it.Mm,et.S6,it.D9]})}return o})(),eo=(()=>{class o{apiService;toastr;translate;stats$;constructor(e,i,a){this.apiService=e,this.toastr=i,this.translate=a}reqFull(){this.apiService.getNwkFull().subscribe(()=>{this.toastr.success(this.translate.instant("api.global.succes.scanlaunched.notify"))})}static \u0275fac=function(i){return new(i||o)(t.rXU(Ct.G),t.rXU($t.tw),t.rXU(it.c$))};static \u0275cmp=t.VBU({type:o,selectors:[["app-req-network-full"]],decls:16,vars:3,consts:[[1,"card"],["translate","network.full.req.header",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-footer","d-flex","justify-content-end"],["translate","network.full.req.button",1,"btn","btn-light",3,"click"]],template:function(i,a){1&i&&(t.j41(0,"div",0),t.EFF(1,"\n "),t.nrm(2,"div",1),t.EFF(3,"\n "),t.j41(4,"div",2),t.EFF(5,"\n "),t.nrm(6,"p",3),t.nI1(7,"translate"),t.EFF(8,"\n "),t.k0s(),t.EFF(9,"\n "),t.j41(10,"div",4),t.EFF(11,"\n "),t.j41(12,"button",5),t.bIt("click",function(){return a.reqFull()}),t.k0s(),t.EFF(13,"\n "),t.k0s(),t.EFF(14,"\n"),t.k0s(),t.EFF(15,"\n")),2&i&&(t.R7$(6),t.Y8G("innerHTML",t.bMT(7,1,"network.full.req.subtitle"),t.npT))},dependencies:[it.Mm,it.D9]})}return o})();function oo(o,F){if(1&o){const e=t.RV6();t.j41(0,"span",14),t.EFF(1,"\n "),t.j41(2,"div",15),t.EFF(3,"\n "),t.j41(4,"button",16),t.bIt("click",function(){const a=t.eBV(e).$implicit,M=t.XpG(2);return t.Njj(M.nwkStatByDate(a.value))}),t.EFF(5),t.nI1(6,"date"),t.k0s(),t.EFF(7,"\n "),t.k0s(),t.EFF(8,"\n "),t.j41(9,"div",15),t.EFF(10,"\n "),t.j41(11,"button",17),t.nI1(12,"translate"),t.bIt("click",function(){const a=t.eBV(e).$implicit,M=t.XpG(2);return t.Njj(M.deleteNwkStatByDate(a.value))}),t.EFF(13,"\n "),t.nrm(14,"i",18),t.EFF(15,"\n "),t.k0s(),t.EFF(16,"\n "),t.k0s(),t.EFF(17,"\n "),t.k0s()}if(2&o){const e=F.$implicit;t.R7$(5),t.SpI("\n ",t.i5U(6,2,1e3*e.value,"dd/MM/yyyy HH:mm:ss"),"\n "),t.R7$(6),t.FS9("title",t.bMT(12,5,"network.stats.visu.delete.button"))}}function ro(o,F){if(1&o&&(t.j41(0,"div",4),t.EFF(1,"\n "),t.nrm(2,"div",5),t.EFF(3,"\n "),t.j41(4,"div",6),t.EFF(5,"\n "),t.nrm(6,"p",7),t.nI1(7,"translate"),t.EFF(8,"\n "),t.j41(9,"div",8),t.EFF(10,"\n "),t.j41(11,"div",9),t.EFF(12,"\n "),t.j41(13,"div",10),t.EFF(14,"\n "),t.j41(15,"ng-scrollbar",11),t.EFF(16,"\n "),t.j41(17,"div",12),t.EFF(18,"\n "),t.DNE(19,oo,18,7,"span",13),t.nI1(20,"keyvalue"),t.EFF(21,"\n "),t.k0s(),t.EFF(22,"\n "),t.k0s(),t.EFF(23,"\n "),t.k0s(),t.EFF(24,"\n "),t.k0s(),t.EFF(25,"\n "),t.k0s(),t.EFF(26,"\n "),t.k0s(),t.EFF(27,"\n "),t.k0s()),2&o){const e=F.ngIf,i=t.XpG();t.R7$(6),t.Y8G("innerHTML",t.bMT(7,2,"network.stats.subtitle"),t.npT),t.R7$(13),t.Y8G("ngForOf",t.i5U(20,4,e,i.sortDesc))}}function io(o,F){1&o&&t.nrm(0,"app-req-network-full")}function so(o,F){if(1&o&&(t.j41(0,"div"),t.nrm(1,"app-detail-nwk-stat",19),t.k0s()),2&o){const e=t.XpG();t.R7$(),t.Y8G("timeStamp",e.timeStamp)}}let no=(()=>{class o{apiService;cdr;stats$;listSubject$=new Qt.B;timeStamp;plugin;constructor(e,i){this.apiService=e,this.cdr=i}ngOnInit(){this.stats$=this.apiService.getNwkStats(),setTimeout(()=>{this.plugin=JSON.parse(sessionStorage.getItem("plugin"))},500)}sortDesc(e,i){return de(e,i)}nwkStatByDate(e){this.timeStamp=e}deleteNwkStatByDate(e){this.apiService.deleteNwkStatsByTimeStamp(e).subscribe(()=>{this.stats$=this.apiService.getNwkStats(),this.cdr.detectChanges()})}static \u0275fac=function(i){return new(i||o)(t.rXU(Ct.G),t.rXU(t.gRc))};static \u0275cmp=t.VBU({type:o,selectors:[["app-nwk-stats"]],decls:17,vars:5,consts:[[1,"row","row-cols-1","row-cols-xxl-5","row-cols-xl-4","row-cols-lg-3","row-cols-md-2","row-cols-sm-1","g-4"],[1,"col"],["class","card",4,"ngIf"],[4,"ngIf"],[1,"card"],["translate","network.stats.header",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],[1,"vertical-container"],[1,"content-container"],[1,"scroll-container"],[1,"scrollable-content"],["class","row d-flex align-items-center",4,"ngFor","ngForOf"],[1,"row","d-flex","align-items-center"],[1,"col-sm"],[1,"btn","btn-light",3,"click"],[1,"btn","btn-light",3,"click","title"],[1,"fa","fa-trash"],[3,"timeStamp"]],template:function(i,a){1&i&&(t.j41(0,"div",0),t.EFF(1,"\n "),t.j41(2,"div",1),t.EFF(3,"\n "),t.DNE(4,ro,28,7,"div",2),t.nI1(5,"async"),t.EFF(6,"\n "),t.k0s(),t.EFF(7,"\n "),t.j41(8,"div",1),t.nrm(9,"app-req-network-inter"),t.k0s(),t.EFF(10,"\n "),t.j41(11,"div",1),t.DNE(12,io,1,0,"app-req-network-full",3),t.k0s(),t.EFF(13,"\n"),t.k0s(),t.EFF(14,"\n"),t.DNE(15,so,2,1,"div",3),t.EFF(16,"\n")),2&i&&(t.R7$(4),t.Y8G("ngIf",t.bMT(5,3,a.stats$)),t.R7$(8),t.Y8G("ngIf",!(null!=a.plugin&&a.plugin.Zigpy)),t.R7$(3),t.Y8G("ngIf",a.timeStamp))},dependencies:[y.Sq,y.bT,it.Mm,le,Ze,to,eo,y.Jj,y.vh,y.lG,it.D9],styles:[".content-container[_ngcontent-%COMP%]{position:relative;overflow:auto;height:150px;min-height:0}.vertical-container[_ngcontent-%COMP%], .horizontal-container[_ngcontent-%COMP%]{min-height:0}.scroll-container[_ngcontent-%COMP%]{position:relative}.scrollable-content[_ngcontent-%COMP%]{padding:16px;margin:0}"]})}return o})();var Ft=X(89417),fe=X(97013),Ht=X(46247),ao=X(5779);const lo=o=>({deviceSelected:o}),co=()=>[10,25,50];function ho(o,F){if(1&o&&(t.j41(0,"div",4),t.EFF(1,"\n "),t.nrm(2,"div",5),t.EFF(3,"\n "),t.j41(4,"div",6),t.EFF(5,"\n "),t.nrm(6,"p",7),t.nI1(7,"translate"),t.EFF(8,"\n "),t.nrm(9,"div",8),t.EFF(10,"\n "),t.k0s(),t.EFF(11,"\n "),t.k0s()),2&o){const e=t.XpG();t.R7$(6),t.Y8G("innerHTML",t.bMT(7,2,"network.topo.visu.subtitle"),t.npT),t.R7$(3),t.Y8G("chart",e.chart1)}}function po(o,F){if(1&o&&(t.EFF(0,"\n "),t.j41(1,"span"),t.EFF(2,"\n "),t.j41(3,"b"),t.EFF(4,"Name"),t.k0s(),t.EFF(5),t.j41(6,"b"),t.EFF(7,"IEEE"),t.k0s(),t.EFF(8),t.j41(9,"b"),t.EFF(10,"Model"),t.k0s(),t.EFF(11),t.k0s(),t.EFF(12,"\n ")),2&o){const e=F.item;t.R7$(5),t.SpI(" : ",e.ZDeviceName," - "),t.R7$(3),t.SpI(" : ",e.IEEE," - "),t.R7$(3),t.SpI(" :\n ",e.Model,"\n ")}}function uo(o,F){1&o&&(t.EFF(0,"\n "),t.j41(1,"tr"),t.EFF(2,"\n "),t.j41(3,"th",22),t.EFF(4),t.nI1(5,"translate"),t.nrm(6,"p-sortIcon",23),t.EFF(7,"\n "),t.k0s(),t.EFF(8,"\n "),t.j41(9,"th",24),t.EFF(10),t.nI1(11,"translate"),t.nrm(12,"p-sortIcon",25),t.EFF(13,"\n "),t.k0s(),t.EFF(14,"\n "),t.j41(15,"th",26),t.EFF(16),t.nI1(17,"translate"),t.nrm(18,"p-sortIcon",27),t.EFF(19,"\n "),t.k0s(),t.EFF(20,"\n "),t.j41(21,"th",28),t.EFF(22),t.nI1(23,"translate"),t.nrm(24,"p-sortIcon",29),t.EFF(25,"\n "),t.k0s(),t.EFF(26,"\n "),t.j41(27,"th",30),t.EFF(28),t.nI1(29,"translate"),t.nrm(30,"p-sortIcon",31),t.EFF(31,"\n "),t.k0s(),t.EFF(32,"\n "),t.j41(33,"th",32),t.EFF(34),t.nI1(35,"translate"),t.nrm(36,"p-sortIcon",33),t.EFF(37,"\n "),t.k0s(),t.EFF(38,"\n "),t.k0s(),t.EFF(39,"\n ")),2&o&&(t.R7$(4),t.SpI("\n ",t.bMT(5,6,"network.topo.visu.network.relation.to"),""),t.R7$(6),t.SpI("\n ",t.bMT(11,8,"network.topo.visu.network.relation.weight"),""),t.R7$(6),t.SpI("\n ",t.bMT(17,10,"network.topo.visu.network.relation.model"),""),t.R7$(6),t.SpI("\n ",t.bMT(23,12,"network.topo.visu.network.relation.status"),""),t.R7$(6),t.SpI("\n ",t.bMT(29,14,"network.topo.visu.network.relation.health"),""),t.R7$(6),t.SpI("\n ",t.bMT(35,16,"network.topo.visu.network.relation.battery"),""))}function fo(o,F){if(1&o&&(t.EFF(0,"\n "),t.j41(1,"tr"),t.EFF(2,"\n "),t.j41(3,"td"),t.EFF(4),t.k0s(),t.EFF(5,"\n "),t.j41(6,"td"),t.EFF(7),t.k0s(),t.EFF(8,"\n "),t.j41(9,"td"),t.EFF(10),t.k0s(),t.EFF(11,"\n "),t.j41(12,"td"),t.EFF(13),t.k0s(),t.EFF(14,"\n "),t.j41(15,"td"),t.EFF(16),t.k0s(),t.EFF(17,"\n "),t.j41(18,"td"),t.EFF(19),t.k0s(),t.EFF(20,"\n "),t.k0s()),2&o){const e=F.$implicit;t.R7$(4),t.SpI("\n ",e.to,"\n "),t.R7$(3),t.SpI("\n ",e.weight,"\n "),t.R7$(3),t.SpI("\n ",e.Model,"\n "),t.R7$(3),t.SpI("\n ",e.Status,"\n "),t.R7$(3),t.SpI("\n ",e.Health,"\n "),t.R7$(3),t.SpI("\n ",e.Battery,"\n ")}}function go(o,F){if(1&o&&(t.j41(0,"div",17),t.EFF(1,"\n "),t.j41(2,"div",2),t.EFF(3,"\n "),t.j41(4,"div",4),t.EFF(5,"\n "),t.nrm(6,"div",18),t.EFF(7,"\n "),t.j41(8,"div",6),t.EFF(9,"\n "),t.nrm(10,"p",7),t.nI1(11,"translate"),t.EFF(12,"\n "),t.j41(13,"div",10),t.EFF(14,"\n "),t.j41(15,"p-table",19,0),t.nI1(17,"translate"),t.EFF(18,"\n "),t.DNE(19,uo,40,18,"ng-template",20),t.EFF(20,"\n "),t.DNE(21,fo,21,6,"ng-template",21),t.EFF(22,"\n "),t.k0s(),t.EFF(23,"\n "),t.k0s(),t.EFF(24,"\n "),t.k0s(),t.EFF(25,"\n "),t.k0s(),t.EFF(26,"\n "),t.k0s(),t.EFF(27,"\n "),t.k0s()),2&o){const e=t.XpG(2);t.R7$(6),t.Y8G("translateParams",t.eq3(14,lo,e.selectedPoint.name)),t.R7$(4),t.Y8G("innerHTML",t.bMT(11,10,"network.topo.visu.network.relation.subtitle"),t.npT),t.R7$(5),t.FS9("currentPageReportTemplate",t.bMT(17,12,"TOTAL")),t.Y8G("rowHover",!0)("showCurrentPageReport",!0)("rowsPerPageOptions",t.lJ4(16,co))("value",e.relationsSelected)("rows",10)("paginator",!0)("scrollable",!0)}}function mo(o,F){if(1&o&&(t.j41(0,"div",4),t.EFF(1,"\n "),t.nrm(2,"div",9),t.EFF(3,"\n "),t.j41(4,"div",6),t.EFF(5,"\n "),t.nrm(6,"p",7),t.nI1(7,"translate"),t.EFF(8,"\n "),t.j41(9,"div",10),t.EFF(10,"\n "),t.j41(11,"div"),t.EFF(12,"\n "),t.j41(13,"form",11),t.EFF(14,"\n "),t.nrm(15,"input",12),t.EFF(16,"\n "),t.j41(17,"ng-select",13),t.nI1(18,"translate"),t.EFF(19,"\n "),t.DNE(20,po,13,3,"ng-template",14),t.EFF(21,"\n "),t.k0s(),t.EFF(22,"\n "),t.k0s(),t.EFF(23,"\n "),t.k0s(),t.EFF(24,"\n "),t.nrm(25,"div",15),t.EFF(26,"\n "),t.DNE(27,go,28,17,"div",16),t.EFF(28,"\n "),t.k0s(),t.EFF(29,"\n "),t.k0s(),t.EFF(30,"\n "),t.k0s()),2&o){const e=t.XpG();t.R7$(6),t.Y8G("innerHTML",t.bMT(7,9,"network.topo.visu.network.subtitle"),t.npT),t.R7$(7),t.Y8G("formGroup",e.form),t.R7$(4),t.FS9("placeholder",t.bMT(18,11,"network.topo.visu.network.filter")),t.Y8G("items",e.devices)("multiple",!1)("closeOnSelect",!0)("searchable",!0),t.R7$(8),t.Y8G("chart",e.chart2),t.R7$(2),t.Y8G("ngIf",e.relationsSelected)}}let vo=(()=>{class o extends pe.U{apiService;translate;formBuilder;timeStamp;chart1;chart2;form;datas;devices;showDetail=!1;device;data;relationsSelected;selectedPoint;constructor(e,i,a){super(),this.apiService=e,this.translate=i,this.formBuilder=a}ngOnInit(){this.form=this.formBuilder.group({nodeToFilter:[null],detail:[null]}),this.apiService.getZDeviceName().subscribe(e=>{this.devices=e,this.devices.unshift({IEEE:"",MacCapa:[""],Model:"",Health:"",Status:"",WidgetList:[""],ZDeviceName:"Zigbee Coordinator",_NwkId:""})}),this.subs.sink=this.form.get("nodeToFilter").valueChanges.subscribe(e=>{this.createChart2(e)}),this.subs.add(this.form.get("detail").valueChanges.subscribe(()=>{const e=[];this.selectedPoint=this.chart2.ref.hoverPoint,this.selectedPoint.linksFrom.map(M=>M.options).map(M=>{const x=this.devices.find(L=>L.ZDeviceName===M.to||L._NwkId===M.to);e.push({to:M.to,from:M.from,weight:M.weight,Model:x.Model,Status:x.Status,Health:x.Health,Battery:x.Battery})}),this.selectedPoint.linksTo.map(M=>M.options).map(M=>{if(!e.some(x=>x.to===M.from)){const x=this.devices.find(L=>L.ZDeviceName===M.from||L._NwkId===M.from);e.push({to:M.from,from:M.from,weight:x.LQI,Model:x.Model,Status:x.Status,Health:x.Health,Battery:x.Battery})}}),this.relationsSelected=e}))}ngOnChanges(e){e.timeStamp.currentValue!==e.timeStamp.previousValue&&this.apiService.getTopologieByTimeStamp(this.timeStamp).subscribe(i=>{this.datas=i,this.createChart1(),this.createChart2()})}createChart1(){const e=this.datas.map(a=>{const M=Object.values(a);return M.splice(1,1),M}),i=new et.t1({chart:{type:"dependencywheel",height:"80%"},title:{text:this.translate.instant("network.topo.device.visu.chart.title")},credits:{enabled:!1},series:[{type:void 0,keys:["to","from","weight"],data:e}]});this.chart1=i}createChart2(e){let i=this.datas.map(x=>{const L=Object.values(x);return L.splice(1,1),L});e&&(i=i.filter(x=>x[0].toLowerCase()===e.toLowerCase()||x[1].toLowerCase()===e.toLowerCase()));const a=[{nodes:void 0,type:void 0,keys:["to","from","weight"],dataLabels:{enabled:!0,linkFormat:""},data:i}];this.test(a);const M=new et.t1({chart:{type:"networkgraph",height:"80%"},title:{text:this.translate.instant("network.topo.device.visu.network.chart.title")},credits:{enabled:!1},plotOptions:{networkgraph:{keys:["to","from","weight"],layoutAlgorithm:{enableSimulation:!0,integration:"verlet"}},series:{point:{events:{click:function(){document.getElementById("detail").dispatchEvent(new Event("input",{bubbles:!0}))}}}}},series:a});this.chart2=M}test(e){const i=ue.getOptions().colors;let a=0;const M={"Zigbee Coordinator":{id:"Zigbee Coordinator",marker:{radius:20}}},x=this.datas.filter(R=>"Zigbee Coordinator"===R.Child),L=[];x.forEach(R=>{M[R.Father]={id:R.Father,marker:{radius:10},color:i[a++]},L.push(R.Father)}),this.colorNode(M,L),e[0].nodes=Object.keys(M).map(function(R){return M[R]})}colorNode(e,i){i.forEach(a=>{const M=[];this.datas.filter(L=>L.Child===a).forEach(L=>{e[L.Father]||(e[L.Father]={id:L.Father,color:e[L.Child].color},M.push(L.Father))}),M.length>0&&this.colorNode(e,M)})}static \u0275fac=function(i){return new(i||o)(t.rXU(Ct.G),t.rXU(it.c$),t.rXU(Ft.ok))};static \u0275cmp=t.VBU({type:o,selectors:[["app-detail-topology"]],inputs:{timeStamp:"timeStamp"},features:[t.Vt3,t.OA$],decls:13,vars:2,consts:[["dt1",""],[1,"row","row-cols-1","row-cols-lg-2","g-4","mt-1"],[1,"col"],["class","card",4,"ngIf"],[1,"card"],["translate","network.topo.visu.header",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text",3,"chart"],["translate","network.topo.visu.network.header",1,"card-header","fw-bold"],[1,"card-text"],[3,"formGroup"],["type","hidden","formControlName","detail","id","detail"],["bindLabel","ZDeviceName","bindValue","ZDeviceName","appendTo","body","formControlName","nodeToFilter",3,"items","multiple","closeOnSelect","searchable","placeholder"],["ng-option-tmp",""],[3,"chart"],["class","row",4,"ngIf"],[1,"row"],["translate","network.topo.visu.network.relation.header",1,"card-header","fw-bold",3,"translateParams"],["styleClass","p-datatable-sm","responsiveLayout","scroll","stateStorage","local","stateKey","topology",3,"rowHover","showCurrentPageReport","currentPageReportTemplate","rowsPerPageOptions","value","rows","paginator","scrollable"],["pTemplate","header"],["pTemplate","body"],["pSortableColumn","to"],["field","to"],["pSortableColumn","weight"],["field","weight"],["pSortableColumn","Model",2,"width","8rem"],["field","Model"],["pSortableColumn","Status",2,"width","10rem"],["field","Status"],["pSortableColumn","Health"],["field","Health"],["pSortableColumn","Battery"],["field","Battery"]],template:function(i,a){1&i&&(t.j41(0,"div",1),t.EFF(1,"\n "),t.j41(2,"div",2),t.EFF(3,"\n "),t.DNE(4,ho,12,4,"div",3),t.EFF(5,"\n "),t.k0s(),t.EFF(6,"\n "),t.j41(7,"div",2),t.EFF(8,"\n "),t.DNE(9,mo,31,13,"div",3),t.EFF(10,"\n "),t.k0s(),t.EFF(11,"\n"),t.k0s(),t.EFF(12,"\n")),2&i&&(t.R7$(4),t.Y8G("ngIf",a.chart1),t.R7$(5),t.Y8G("ngIf",a.chart2))},dependencies:[y.bT,Ft.qT,Ft.me,Ft.BC,Ft.cb,Ft.j4,Ft.JD,fe.vr,fe.Uq,it.Mm,Ht.XI,ao.Ei,Ht.Tg,Ht.yc,et.S6,it.D9]})}return o})(),bo=(()=>{class o{apiService;toastr;translate;stats$;constructor(e,i,a){this.apiService=e,this.toastr=i,this.translate=a}reqTopology(){this.apiService.getReqTopologie().subscribe(()=>{this.toastr.success(this.translate.instant("api.global.succes.scanlaunched.notify"))})}static \u0275fac=function(i){return new(i||o)(t.rXU(Ct.G),t.rXU($t.tw),t.rXU(it.c$))};static \u0275cmp=t.VBU({type:o,selectors:[["app-req-topology"]],decls:16,vars:3,consts:[[1,"card"],["translate","network.topology.req.header",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-footer","d-flex","justify-content-end"],["translate","network.topology.req.button",1,"btn","btn-light",3,"click"]],template:function(i,a){1&i&&(t.j41(0,"div",0),t.EFF(1,"\n "),t.nrm(2,"div",1),t.EFF(3,"\n "),t.j41(4,"div",2),t.EFF(5,"\n "),t.nrm(6,"p",3),t.nI1(7,"translate"),t.EFF(8,"\n "),t.k0s(),t.EFF(9,"\n "),t.j41(10,"div",4),t.EFF(11,"\n "),t.j41(12,"button",5),t.bIt("click",function(){return a.reqTopology()}),t.k0s(),t.EFF(13,"\n "),t.k0s(),t.EFF(14,"\n"),t.k0s(),t.EFF(15,"\n")),2&i&&(t.R7$(6),t.Y8G("innerHTML",t.bMT(7,1,"network.topology.req.subtitle"),t.npT))},dependencies:[it.Mm,it.D9]})}return o})();function yo(o,F){if(1&o){const e=t.RV6();t.j41(0,"span",14),t.EFF(1,"\n "),t.j41(2,"button",15),t.bIt("click",function(){const a=t.eBV(e).$implicit,M=t.XpG(2);return t.Njj(M.topologyByDate(a.value))}),t.EFF(3),t.nI1(4,"date"),t.k0s(),t.EFF(5,"\n "),t.j41(6,"button",16),t.nI1(7,"translate"),t.bIt("click",function(){const a=t.eBV(e).$implicit,M=t.XpG(2);return t.Njj(M.deleteTopologyByDate(a.value))}),t.EFF(8,"\n "),t.nrm(9,"i",17),t.EFF(10,"\n "),t.k0s(),t.EFF(11,"\n "),t.k0s()}if(2&o){const e=F.$implicit;t.R7$(3),t.SpI("\n ",t.i5U(4,2,1e3*e.value,"dd/MM/yyyy HH:mm:ss"),"\n "),t.R7$(3),t.FS9("title",t.bMT(7,5,"network.topo.visu.delete.button"))}}function wo(o,F){if(1&o&&(t.j41(0,"div",4),t.EFF(1,"\n "),t.nrm(2,"div",5),t.EFF(3,"\n "),t.j41(4,"div",6),t.EFF(5,"\n "),t.nrm(6,"p",7),t.nI1(7,"translate"),t.EFF(8,"\n "),t.j41(9,"div",8),t.EFF(10,"\n "),t.j41(11,"div",9),t.EFF(12,"\n "),t.j41(13,"div",10),t.EFF(14,"\n "),t.j41(15,"ng-scrollbar",11),t.EFF(16,"\n "),t.j41(17,"div",12),t.EFF(18,"\n "),t.DNE(19,yo,12,7,"span",13),t.nI1(20,"keyvalue"),t.EFF(21,"\n "),t.k0s(),t.EFF(22,"\n "),t.k0s(),t.EFF(23,"\n "),t.k0s(),t.EFF(24,"\n "),t.k0s(),t.EFF(25,"\n "),t.k0s(),t.EFF(26,"\n "),t.k0s(),t.EFF(27,"\n "),t.k0s()),2&o){const e=F.ngIf,i=t.XpG();t.R7$(6),t.Y8G("innerHTML",t.bMT(7,2,"network.topo.subtitle"),t.npT),t.R7$(13),t.Y8G("ngForOf",t.i5U(20,4,e,i.sortDesc))}}function _o(o,F){if(1&o&&(t.j41(0,"div"),t.nrm(1,"app-detail-topology",18),t.k0s()),2&o){const e=t.XpG();t.R7$(),t.Y8G("timeStamp",e.timeStamp)}}const So=[{path:"topology",component:(()=>{class o{apiService;cdr;timeStamp;topologies$;constructor(e,i){this.apiService=e,this.cdr=i}ngOnInit(){this.topologies$=this.apiService.getTopologie()}sortDesc(e,i){return de(e,i)}topologyByDate(e){this.timeStamp=e}deleteTopologyByDate(e){this.apiService.deleteTopologieByTimeStamp(e).subscribe(()=>{this.topologies$=this.apiService.getTopologie(),this.cdr.detectChanges()})}static \u0275fac=function(i){return new(i||o)(t.rXU(Ct.G),t.rXU(t.gRc))};static \u0275cmp=t.VBU({type:o,selectors:[["app-topology"]],decls:14,vars:4,consts:[[1,"row","row-cols-1","row-cols-xxl-5","row-cols-xl-4","row-cols-lg-3","row-cols-md-2","row-cols-sm-1","g-4"],[1,"col"],["class","card",4,"ngIf"],[4,"ngIf"],[1,"card"],["translate","network.topo.header",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],[1,"vertical-container"],[1,"content-container"],[1,"scroll-container"],[1,"scrollable-content"],["class","d-sm-flex gap-2",4,"ngFor","ngForOf"],[1,"d-sm-flex","gap-2"],[1,"btn","btn-light",3,"click"],[1,"btn","btn-light",3,"click","title"],[1,"fa","fa-trash"],[3,"timeStamp"]],template:function(i,a){1&i&&(t.j41(0,"div",0),t.EFF(1,"\n "),t.j41(2,"div",1),t.EFF(3,"\n "),t.DNE(4,wo,28,7,"div",2),t.nI1(5,"async"),t.EFF(6,"\n "),t.k0s(),t.EFF(7,"\n "),t.j41(8,"div"),t.nrm(9,"app-req-topology"),t.k0s(),t.EFF(10,"\n"),t.k0s(),t.EFF(11,"\n"),t.DNE(12,_o,2,1,"div",3),t.EFF(13,"\n")),2&i&&(t.R7$(4),t.Y8G("ngIf",t.bMT(5,2,a.topologies$)),t.R7$(8),t.Y8G("ngIf",a.timeStamp))},dependencies:[y.Sq,y.bT,it.Mm,le,vo,bo,y.Jj,y.vh,y.lG,it.D9],styles:[".content-container[_ngcontent-%COMP%]{position:relative;overflow:auto;height:150px;min-height:0}.vertical-container[_ngcontent-%COMP%], .horizontal-container[_ngcontent-%COMP%]{min-height:0}.scroll-container[_ngcontent-%COMP%]{position:relative}.scrollable-content[_ngcontent-%COMP%]{padding:16px;margin:0}"]})}return o})(),data:{title:(0,he.o6)("network.topo")}},{path:"energy-level",component:no,data:{title:(0,he.o6)("network.energy")}}];let ko=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=t.$C({type:o});static \u0275inj=t.G2t({imports:[ce.iI.forChild(So),ce.iI]})}return o})(),xo=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=t.$C({type:o});static \u0275inj=t.G2t({providers:[{provide:et.SV,useFactory:()=>[Q,K,I,S,O]}],imports:[ko,ht.G,et.Fr,Qe]})}return o})()},69820:(nt,_t,X)=>{var ht,et,Q;Q=function(Q){"use strict";var S=Q?Q._modules:{};function K(O,I,E,t){O.hasOwnProperty(I)||(O[I]=t.apply(null,E),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:I,module:O[I]}})))}K(S,"Series/DependencyWheel/DependencyWheelPoint.js",[S["Core/Series/SeriesRegistry.js"],S["Core/Utilities.js"]],function(O,I){const{sankey:{prototype:{pointClass:E}}}=O.seriesTypes,{pInt:t,wrap:T}=I;return class N extends E{getDataLabelPath(P){const c=this,h=c.series.chart.renderer,m=c.shapeArgs,_=c.angle<0||c.angle>Math.PI,f=m.start||0,k=m.end||0;return c.dataLabelPath?(c.dataLabelPath=c.dataLabelPath.destroy(),delete c.dataLabelPath):T(P,"destroy",function(n){return c.dataLabelPath&&(c.dataLabelPath=c.dataLabelPath.destroy()),n.call(this)}),c.dataLabelPath=h.arc({open:!0,longArc:Math.abs(Math.abs(f)-Math.abs(k)){v.graphic&&v.graphic.animate({opacity:1},{duration:b})},b*p++))}for(const v of l.points){const D=v.graphic;!v.isNode&&D&&D.attr({opacity:0}).animate({opacity:1},l.options.animation)}}}createNode(d){const l=super.createNode(d);return l.getSum=()=>l.linksFrom.concat(l.linksTo).reduce((g,b)=>g+b.weight,0),l.offset=g=>{const b=r=>r.fromNode===l?r.toNode:r.fromNode;let D,p=0,v=l.linksFrom.concat(l.linksTo);v.sort((r,u)=>b(r).index-b(u).index);for(let r=0;rl.index){v=v.slice(0,r).reverse().concat(v.slice(r).reverse()),D=!0;break}D||v.reverse();for(let r=0;r{const G=g*B,H=Math.cos(p+G)*(z+1),rt=Math.sin(p+G)*(z+1);return $=l.curveFactor||0,Y=Math.abs(q.linkBase[3-U]*g-G),Y>Math.PI&&(Y=2*Math.PI-Y),Y*=z,Y{var ht,et,Q;Q=function(Q){"use strict";var S=Q?Q._modules:{};function K(O,I,E,t){O.hasOwnProperty(I)||(O[I]=t.apply(null,E),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:I,module:O[I]}})))}K(S,"Series/DragNodesComposition.js",[S["Core/Globals.js"],S["Core/Utilities.js"]],function(O,I){const{composed:E}=O,{addEvent:t,pushUnique:T}=I;function j(){const f=this;let k,n,s;f.container&&(k=t(f.container,"mousedown",d=>{const l=f.hoverPoint;l&&l.series&&l.series.hasDraggableNodes&&l.series.options.draggable&&(l.series.onMouseDown(l,d),n=t(f.container,"mousemove",g=>l&&l.series&&l.series.onMouseMove(l,g)),s=t(f.container.ownerDocument,"mouseup",g=>(n(),s(),l&&l.series&&l.series.onMouseUp(l,g))))})),t(f,"destroy",function(){k()})}return{compose:function N(f){T(E,"DragNodes")&&t(f,"load",j)},onMouseDown:function P(f,k){const n=this.chart.pointer?.normalize(k)||k;f.fixedPosition={chartX:n.chartX,chartY:n.chartY,plotX:f.plotX,plotY:f.plotY},f.inDragMode=!0},onMouseMove:function c(f,k){if(f.fixedPosition&&f.inDragMode){const s=this.chart,d=s.pointer?.normalize(k)||k,l=f.fixedPosition.chartX-d.chartX,g=f.fixedPosition.chartY-d.chartY,b=s.graphLayoutsLookup;let p,v;(Math.abs(l)>5||Math.abs(g)>5)&&(p=f.fixedPosition.plotX-l,v=f.fixedPosition.plotY-g,s.isInsidePlot(p,v)&&(f.plotX=p,f.plotY=v,f.hasDragged=!0,this.redrawHalo(f),b.forEach(D=>{D.restartSimulation()})))}},onMouseUp:function h(f){f.fixedPosition&&(f.hasDragged&&(this.layout.enableSimulation?this.layout.start():this.chart.redraw()),f.inDragMode=f.hasDragged=!1,this.options.fixedDraggable||delete f.fixedPosition)},redrawHalo:function m(f){f&&this.halo&&this.halo.attr({d:f.haloPath(this.options.states.hover.halo.size)})}}}),K(S,"Series/GraphLayoutComposition.js",[S["Core/Animation/AnimationUtilities.js"],S["Core/Globals.js"],S["Core/Utilities.js"]],function(O,I,E){const{setAnimation:t}=O,{composed:T}=I,{addEvent:N,pushUnique:j}=E;function m(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(s=>{s.updateSimulation()}),this.redraw())}function _(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(s=>{s.updateSimulation(!1)}),this.redraw())}function f(){this.graphLayoutsLookup&&this.graphLayoutsLookup.forEach(s=>{s.stop()})}function k(){let s,d=!1;const l=g=>{g.maxIterations--&&isFinite(g.temperature)&&!g.isStable()&&!g.enableSimulation&&(g.beforeStep&&g.beforeStep(),g.step(),s=!1,d=!0)};if(this.graphLayoutsLookup){for(t(!1,this),this.graphLayoutsLookup.forEach(g=>g.start());!s;)s=!0,this.graphLayoutsLookup.forEach(l);d&&this.series.forEach(g=>{g&&g.layout&&g.render()})}}return{compose:function h(s){j(T,"GraphLayout")&&(N(s,"afterPrint",m),N(s,"beforePrint",_),N(s,"predraw",f),N(s,"render",k))},integrations:{},layouts:{}}}),K(S,"Series/NodesComposition.js",[S["Core/Series/SeriesRegistry.js"],S["Core/Utilities.js"]],function(O,I){const{series:{prototype:E,prototype:{pointClass:{prototype:t}}}}=O,{defined:T,extend:N,find:j,merge:P,pick:c}=I;var h;return function(m){function k(){return this.data=[].concat(this.points||[],this.nodes),E.destroy.apply(this,arguments)}function s(){this.nodes&&(this.nodes.forEach(g=>{g.destroy()}),this.nodes.length=0),E.setData.apply(this,arguments)}function d(g){const b=arguments,p=this.isNode?this.linksTo.concat(this.linksFrom):[this.fromNode,this.toNode];"select"!==g&&p.forEach(v=>{v&&v.series&&(t.setState.apply(v,b),v.isNode||(v.fromNode.graphic&&t.setState.apply(v.fromNode,b),v.toNode&&v.toNode.graphic&&t.setState.apply(v.toNode,b)))}),t.setState.apply(this,b)}function l(g,b,p,v){const D=this.series.options.nodes,r=this.series.options.data,u=r&&r.length||0,w=r&&r[this.index];if(t.update.call(this,g,!this.isNode&&b,p,v),this.isNode){const C=(D||[]).reduce((A,z,V)=>this.id===z.id?V:A,-1),y=P(D&&D[C]||{},r&&r[this.index]||{});r&&(w?r[this.index]=w:r.length=u),D?C>=0?D[C]=y:D.push(y):this.series.options.nodes=[y],c(b,!0)&&this.series.chart.redraw(p)}}m.compose=function _(g,b){const p=g.prototype,v=b.prototype;return p.setNodeState=d,p.setState=d,p.update=l,v.destroy=k,v.setData=s,b},m.createNode=function f(g){const b=this.pointClass,p=(r,u)=>j(r,w=>w.id===u);let D,v=p(this.nodes,g);if(!v){D=this.options.nodes&&p(this.options.nodes,g);const r=new b(this,N({className:"highcharts-node",isNode:!0,id:g,y:1},D));r.linksTo=[],r.linksFrom=[],r.getSum=function(){let u=0,w=0;return r.linksTo.forEach(C=>{u+=C.weight||0}),r.linksFrom.forEach(C=>{w+=C.weight||0}),Math.max(u,w)},r.offset=function(u,w){let C=0;for(let y=0;y{w.outgoing&&u++}),!r.linksTo.length||u!==r.linksTo.length},r.index=this.nodes.push(r)-1,v=r}return v.formatPrefix="node",v.name=v.name||v.options.id||"",v.mass=c(v.options.mass,v.options.marker&&v.options.marker.radius,this.options.marker&&this.options.marker.radius,4),v},m.destroy=k,m.generatePoints=function n(){const g=this.chart,b={};E.generatePoints.call(this),this.nodes||(this.nodes=[]),this.colorCounter=0,this.nodes.forEach(p=>{p.linksFrom.length=0,p.linksTo.length=0,p.level=p.options.level}),this.points.forEach(p=>{T(p.from)&&(b[p.from]||(b[p.from]=this.createNode(p.from)),b[p.from].linksFrom.push(p),p.fromNode=b[p.from],g.styledMode?p.colorIndex=c(p.options.colorIndex,b[p.from].colorIndex):p.color=p.options.color||b[p.from].color),T(p.to)&&(b[p.to]||(b[p.to]=this.createNode(p.to)),b[p.to].linksTo.push(p),p.toNode=b[p.to]),p.name=p.name||p.id},this),this.nodeLookup=b},m.setNodeState=d,m.updateNode=l}(h||(h={})),h}),K(S,"Series/Networkgraph/NetworkgraphPoint.js",[S["Series/NodesComposition.js"],S["Core/Series/SeriesRegistry.js"],S["Core/Utilities.js"]],function(O,I,E){const{series:{prototype:t,prototype:{pointClass:T}}}=I,{addEvent:N,css:j,defined:P,extend:c,pick:h}=E;class m extends T{destroy(){return this.isNode&&this.linksFrom.concat(this.linksTo).forEach(function(f){f.destroyElements&&f.destroyElements()}),this.series.layout.removeElementFromCollection(this,this.series.layout[this.isNode?"nodes":"links"]),T.prototype.destroy.apply(this,arguments)}getDegree(){const f=this.isNode?this.linksFrom.length+this.linksTo.length:0;return 0===f?1:f}getLinkAttributes(){const f=this.series.options.link,k=this.options;return{"stroke-width":h(k.width,f.width),stroke:k.color||f.color,dashstyle:k.dashStyle||f.dashStyle,opacity:h(k.opacity,f.opacity,1)}}getLinkPath(){let f=this.fromNode,k=this.toNode;return f.plotX>k.plotX&&(f=this.toNode,k=this.fromNode),[["M",f.plotX||0,f.plotY||0],["L",k.plotX||0,k.plotY||0]]}getMass(){const f=this.fromNode.mass,k=this.toNode.mass,n=f+k;return{fromNode:1-f/n,toNode:1-k/n}}constructor(f,k,n){super(f,k,n),this.series.options.draggable&&!this.series.chart.styledMode&&(N(this,"mouseOver",function(){j(this.series.chart.container,{cursor:"move"})}),N(this,"mouseOut",function(){j(this.series.chart.container,{cursor:"default"})}))}isValid(){return!this.isNode||P(this.id)}redrawLink(){let k,f=this.getLinkPath();if(this.graphic){this.shapeArgs={d:f},this.series.chart.styledMode||(k=this.series.pointAttribs(this),this.graphic.attr(k),(this.dataLabels||[]).forEach(function(d){d&&d.attr({opacity:k.opacity})})),this.graphic.animate(this.shapeArgs);const n=f[0],s=f[1];"M"===n[0]&&"L"===s[0]&&(this.plotX=(n[1]+s[1])/2,this.plotY=(n[2]+s[2])/2)}}remove(f,k){let l,n=this,s=n.series,d=s.options.nodes||[],g=d.length;if(n.isNode){for(s.points=[],[].concat(n.linksFrom).concat(n.linksTo).forEach(function(b){l=b.fromNode.linksFrom.indexOf(b),l>-1&&b.fromNode.linksFrom.splice(l,1),l=b.toNode.linksTo.indexOf(b),l>-1&&b.toNode.linksTo.splice(l,1),t.removePoint.call(s,s.data.indexOf(b),!1,!1)}),s.points=s.data.slice(),s.nodes.splice(s.nodes.indexOf(n),1);g--;)if(d[g].id===n.options.id){s.options.nodes.splice(g,1);break}n&&n.destroy(),s.isDirty=!0,s.isDirtyData=!0,f&&s.chart.redraw(f)}else s.removePoint(s.data.indexOf(n),f,k)}renderLink(){let f;this.graphic||(this.graphic=this.series.chart.renderer.path(this.getLinkPath()).addClass(this.getClassName(),!0).add(this.series.group),this.series.chart.styledMode||(f=this.series.pointAttribs(this),this.graphic.attr(f),(this.dataLabels||[]).forEach(function(k){k&&k.attr({opacity:f.opacity})})))}}return c(m.prototype,{setState:O.setNodeState}),m}),K(S,"Series/Networkgraph/NetworkgraphSeriesDefaults.js",[],function(){return{stickyTracking:!1,inactiveOtherPoints:!0,marker:{enabled:!0,states:{inactive:{opacity:.3,animation:{duration:50}}}},states:{inactive:{linkOpacity:.3,animation:{duration:50}}},dataLabels:{formatter:function(){return this.key},linkFormatter:function(){return this.point.fromNode.name+"
"+this.point.toNode.name},linkTextPath:{enabled:!0},textPath:{enabled:!1},style:{transition:"opacity 2000ms"},defer:!0,animation:{defer:1e3}},link:{color:"rgba(100, 100, 100, 0.5)",width:1},draggable:!0,layoutAlgorithm:{initialPositions:"circle",initialPositionRadius:1,enableSimulation:!1,theta:.5,maxSpeed:10,approximation:"none",type:"reingold-fruchterman",integration:"euler",maxIterations:1e3,gravitationalConstant:.0625,friction:-.981},showInLegend:!1}}),K(S,"Series/Networkgraph/EulerIntegration.js",[],function(){return{attractive:function O(c,h,m,_){const f=c.getMass(),k=m.x/_*h,n=m.y/_*h;c.fromNode.fixedPosition||(c.fromNode.dispX-=k*f.fromNode/c.fromNode.degree,c.fromNode.dispY-=n*f.fromNode/c.fromNode.degree),c.toNode.fixedPosition||(c.toNode.dispX+=k*f.toNode/c.toNode.degree,c.toNode.dispY+=n*f.toNode/c.toNode.degree)},attractiveForceFunction:function I(c,h){return c*c/h},barycenter:function E(){const c=this.options.gravitationalConstant,h=this.barycenter.xFactor,m=this.barycenter.yFactor;this.nodes.forEach(function(_){if(!_.fixedPosition){const f=_.getDegree(),k=f*(1+f/2);_.dispX+=(h-_.plotX)*c*k/_.degree,_.dispY+=(m-_.plotY)*c*k/_.degree}})},getK:function t(c){return Math.pow(c.box.width*c.box.height/c.nodes.length,.3)},integrate:function T(c,h){let m;h.dispX+=h.dispX*c.options.friction,h.dispY+=h.dispY*c.options.friction,m=h.temperature=c.vectorLength({x:h.dispX,y:h.dispY}),0!==m&&(h.plotX+=h.dispX/m*Math.min(Math.abs(h.dispX),c.temperature),h.plotY+=h.dispY/m*Math.min(Math.abs(h.dispY),c.temperature))},repulsive:function N(c,h,m,_){c.dispX+=m.x/_*h/c.degree,c.dispY+=m.y/_*h/c.degree},repulsiveForceFunction:function j(c,h){return h*h/c}}}),K(S,"Series/Networkgraph/QuadTreeNode.js",[],function(){class O{constructor(E){this.body=!1,this.isEmpty=!1,this.isInternal=!1,this.nodes=[],this.box=E,this.boxSize=Math.min(E.width,E.height)}divideBox(){const E=this.box.width/2,t=this.box.height/2;this.nodes[0]=new O({left:this.box.left,top:this.box.top,width:E,height:t}),this.nodes[1]=new O({left:this.box.left+E,top:this.box.top,width:E,height:t}),this.nodes[2]=new O({left:this.box.left+E,top:this.box.top+t,width:E,height:t}),this.nodes[3]=new O({left:this.box.left,top:this.box.top+t,width:E,height:t})}getBoxPosition(E){const T=E.plotYc?1:0)}}}),K(S,"Series/Networkgraph/ReingoldFruchtermanLayout.js",[S["Series/Networkgraph/EulerIntegration.js"],S["Core/Globals.js"],S["Series/GraphLayoutComposition.js"],S["Series/Networkgraph/QuadTree.js"],S["Core/Utilities.js"],S["Series/Networkgraph/VerletIntegration.js"]],function(O,I,E,t,T,N){const{win:j}=I,{clamp:P,defined:c,isFunction:h,fireEvent:m,pick:_}=T;class f{constructor(){this.box={},this.currentStep=0,this.initialRendering=!0,this.links=[],this.nodes=[],this.series=[],this.simulation=!1}static compose(n){E.compose(n),E.integrations.euler=O,E.integrations.verlet=N,E.layouts["reingold-fruchterman"]=f}init(n){this.options=n,this.nodes=[],this.links=[],this.series=[],this.box={x:0,y:0,width:0,height:0},this.setInitialRendering(!0),this.integration=E.integrations[n.integration],this.enableSimulation=n.enableSimulation,this.attractiveForce=_(n.attractiveForce,this.integration.attractiveForceFunction),this.repulsiveForce=_(n.repulsiveForce,this.integration.repulsiveForceFunction),this.approximation=n.approximation}updateSimulation(n){this.enableSimulation=_(n,this.options.enableSimulation)}start(){const n=this,s=this.series,d=this.options;n.currentStep=0,n.forces=s[0]&&s[0].forces||[],n.chart=s[0]&&s[0].chart,n.initialRendering&&(n.initPositions(),s.forEach(function(l){l.finishedAnimating=!0,l.render()})),n.setK(),n.resetSimulation(d),n.enableSimulation&&n.step()}step(){const n=this,s=this.series;this.currentStep++,"barnes-hut"===this.approximation&&(this.createQuadTree(),this.quadTree.calculateMassAndCenter());for(const d of this.forces||[])n[d+"Forces"](this.temperature);if(this.applyLimits(),this.temperature=this.coolDown(this.startTemperature,this.diffTemperature,this.currentStep),this.prevSystemTemperature=this.systemTemperature,this.systemTemperature=this.getSystemTemperature(),this.enableSimulation){for(const d of s)d.chart&&d.render();this.maxIterations--&&isFinite(this.temperature)&&!this.isStable()?(this.simulation&&j.cancelAnimationFrame(this.simulation),this.simulation=j.requestAnimationFrame(()=>this.step())):(this.simulation=!1,this.series.forEach(d=>{m(d,"afterSimulation")}))}}stop(){this.simulation&&j.cancelAnimationFrame(this.simulation)}setArea(n,s,d,l){this.box={left:n,top:s,width:d,height:l}}setK(){this.k=this.options.linkLength||this.integration.getK(this)}addElementsToCollection(n,s){for(const d of n)-1===s.indexOf(d)&&s.push(d)}removeElementFromCollection(n,s){const d=s.indexOf(n);-1!==d&&s.splice(d,1)}clear(){this.nodes.length=0,this.links.length=0,this.series.length=0,this.resetSimulation()}resetSimulation(){this.forcedStop=!1,this.systemTemperature=0,this.setMaxIterations(),this.setTemperature(),this.setDiffTemperature()}restartSimulation(){this.simulation?this.resetSimulation():(this.setInitialRendering(!1),this.enableSimulation?this.start():this.setMaxIterations(1),this.chart&&this.chart.redraw(),this.setInitialRendering(!0))}setMaxIterations(n){this.maxIterations=_(n,this.options.maxIterations)}setTemperature(){this.temperature=this.startTemperature=Math.sqrt(this.nodes.length)}setDiffTemperature(){this.diffTemperature=this.startTemperature/(this.options.maxIterations+1)}setInitialRendering(n){this.initialRendering=n}createQuadTree(){this.quadTree=new t(this.box.left,this.box.top,this.box.width,this.box.height),this.quadTree.insertNodes(this.nodes)}initPositions(){const n=this.options.initialPositions;if(h(n)){n.call(this);for(const s of this.nodes)c(s.prevX)||(s.prevX=s.plotX),c(s.prevY)||(s.prevY=s.plotY),s.dispX=0,s.dispY=0}else"circle"===n?this.setCircularPositions():this.setRandomPositions()}setCircularPositions(){const n=this.box,s=this.nodes,l=2*Math.PI/(s.length+1),g=s.filter(function(u){return 0===u.linksTo.length}),b={},p=this.options.initialPositionRadius,v=u=>{for(const w of u.linksFrom||[])b[w.toNode.id]||(b[w.toNode.id]=!0,D.push(w.toNode),v(w.toNode))};let r,D=[];for(const u of g)D.push(u),v(u);if(D.length)for(const u of s)-1===D.indexOf(u)&&D.push(u);else D=s;for(let u=0,w=D.length;u{let p=b*b/Math.PI;return p-=Math.floor(p),p};let g;for(let b=0,p=s.length;bthis.barnesHutApproximation(n,s));else{let n,s,d;for(const l of this.nodes)for(const g of this.nodes)l!==g&&!l.fixedPosition&&(d=this.getDistXY(l,g),s=this.vectorLength(d),0!==s&&(n=this.repulsiveForce(s,this.k),this.force("repulsive",l,n*g.mass,d,s)))}}attractiveForces(){let n,s,d;for(const l of this.links)l.fromNode&&l.toNode&&(n=this.getDistXY(l.fromNode,l.toNode),s=this.vectorLength(n),0!==s&&(d=this.attractiveForce(s,this.k),this.force("attractive",l,d,n,s)))}applyLimits(){const n=this.nodes;for(const s of n){if(s.fixedPosition)return;this.integration.integrate(this,s),this.applyLimitBox(s,this.box),s.dispX=0,s.dispY=0}}applyLimitBox(n,s){const d=n.radius;n.plotX=P(n.plotX,s.left+d,s.width-d),n.plotY=P(n.plotY,s.top+d,s.height-d)}coolDown(n,s,d){return n-s*d}isStable(){return Math.abs(this.systemTemperature-this.prevSystemTemperature)<1e-5||this.temperature<=0}getSystemTemperature(){let n=0;for(const s of this.nodes)n+=s.temperature;return n}vectorLength(n){return Math.sqrt(n.x*n.x+n.y*n.y)}getDistR(n,s){const d=this.getDistXY(n,s);return this.vectorLength(d)}getDistXY(n,s){const d=n.plotX-s.plotX,l=n.plotY-s.plotY;return{x:d,y:l,absX:Math.abs(d),absY:Math.abs(l)}}}return f}),K(S,"Series/SimulationSeriesUtilities.js",[S["Core/Utilities.js"],S["Core/Animation/AnimationUtilities.js"]],function(O,I){const{merge:E,syncTimeout:t}=O,{animObject:T}=I;return{initDataLabels:function j(){const c=this,h=c.options.dataLabels;if(!c.dataLabelsGroup){const m=this.initDataLabelsGroup();return!c.chart.styledMode&&h?.style&&m.css(h.style),m.attr({opacity:0}),c.visible&&m.show(),m}return c.dataLabelsGroup.attr(E({opacity:1},this.getPlotBox("data-labels"))),c.dataLabelsGroup},initDataLabelsDefer:function N(){const c=this.options.dataLabels;c?.defer&&this.options.layoutAlgorithm?.enableSimulation?t(()=>{this.deferDataLabels=!1},c?T(c.animation).defer:0):this.deferDataLabels=!1}}}),K(S,"Series/Networkgraph/NetworkgraphSeries.js",[S["Series/DragNodesComposition.js"],S["Series/GraphLayoutComposition.js"],S["Core/Globals.js"],S["Series/Networkgraph/NetworkgraphPoint.js"],S["Series/Networkgraph/NetworkgraphSeriesDefaults.js"],S["Series/NodesComposition.js"],S["Series/Networkgraph/ReingoldFruchtermanLayout.js"],S["Core/Series/SeriesRegistry.js"],S["Series/SimulationSeriesUtilities.js"],S["Core/Utilities.js"]],function(O,I,E,t,T,N,j,P,c,h){const{noop:m}=E,{series:_,seriesTypes:{column:{prototype:f},line:{prototype:k}}}=P,{initDataLabels:n,initDataLabelsDefer:s}=c,{addEvent:d,defined:l,extend:g,merge:b,pick:p}=h;class v extends _{constructor(){super(...arguments),this.deferDataLabels=!0}static compose(r){O.compose(r),j.compose(r)}deferLayout(){let y,r=this.options.layoutAlgorithm,u=this.chart.graphLayoutsStorage,w=this.chart.graphLayoutsLookup,C=this.chart.options.chart;this.visible&&(u||(this.chart.graphLayoutsStorage=u={},this.chart.graphLayoutsLookup=w=[]),y=u[r.type],y||(r.enableSimulation=l(C.forExport)?!C.forExport:r.enableSimulation,u[r.type]=y=new I.layouts[r.type],y.init(r),w.splice(y.index,0,y)),this.layout=y,y.setArea(0,0,this.chart.plotWidth,this.chart.plotHeight),y.addElementsToCollection([this],y.series),y.addElementsToCollection(this.nodes,y.nodes),y.addElementsToCollection(this.points,y.links))}destroy(){this.layout&&this.layout.removeElementFromCollection(this,this.layout.series),N.destroy.call(this)}drawDataLabels(){if(this.deferDataLabels)return;const r=this.options.dataLabels;let u;r?.textPath&&(u=r.textPath),_.prototype.drawDataLabels.call(this,this.nodes),r?.linkTextPath&&(r.textPath=r.linkTextPath),_.prototype.drawDataLabels.call(this,this.data),r?.textPath&&(r.textPath=u)}generatePoints(){let r,u;for(N.generatePoints.apply(this,arguments),this.options.nodes&&this.options.nodes.forEach(function(w){this.nodeLookup[w.id]||(this.nodeLookup[w.id]=this.createNode(w.id))},this),u=this.nodes.length-1;u>=0;u--)r=this.nodes[u],r.degree=r.getDegree(),r.radius=p(r.marker&&r.marker.radius,this.options.marker&&this.options.marker.radius,0),this.nodeLookup[r.id]||r.remove();this.data.forEach(function(w){w.formatPrefix="link"}),this.indexateNodes()}getPointsCollection(){return this.nodes||[]}indexateNodes(){this.nodes.forEach(function(r,u){r.index=u})}init(r,u){return super.init(r,u),s.call(this),d(this,"updatedData",()=>{this.layout&&this.layout.stop()}),d(this,"afterUpdate",()=>{this.nodes.forEach(w=>{w&&w.series&&w.resolveColor()})}),d(this,"afterSimulation",function(){this.deferDataLabels=!1,this.drawDataLabels()}),this}markerAttribs(r,u){const w=_.prototype.markerAttribs.call(this,r,u);return l(r.plotY)||(w.y=0),w.x=(r.plotX||0)-(w.width||0)/2,w}pointAttribs(r,u){let w=u||r&&r.state||"normal",C=_.prototype.pointAttribs.call(this,r,w),y=this.options.states[w];return r&&!r.isNode&&(C=r.getLinkAttributes(),y&&(C={stroke:y.linkColor||C.stroke,dashstyle:y.linkDashStyle||C.dashstyle,opacity:p(y.linkOpacity,C.opacity),"stroke-width":y.linkColor||C["stroke-width"]})),C}render(){const r=this,u=r.points,w=r.chart.hoverPoint,C=[];r.points=r.nodes,k.render.call(this),r.points=u,u.forEach(function(y){y.fromNode&&y.toNode&&(y.renderLink(),y.redrawLink())}),w&&w.series===r&&r.redrawHalo(w),r.chart.hasRendered&&!r.options.dataLabels.allowOverlap&&(r.nodes.concat(r.points).forEach(function(y){y.dataLabel&&C.push(y.dataLabel)}),r.chart.hideOverlappingLabels(C))}setState(r,u){u?(this.points=this.nodes.concat(this.data),_.prototype.setState.apply(this,arguments),this.points=this.data):_.prototype.setState.apply(this,arguments),!this.layout.simulation&&!r&&this.render()}translate(){this.processedXData||this.processData(),this.generatePoints(),this.deferLayout(),this.nodes.forEach(function(r){r.isInside=!0,r.linksFrom.forEach(function(u){u.shapeType="path",u.y=1})})}}return v.defaultOptions=b(_.defaultOptions,T),g(v.prototype,{pointClass:t,animate:void 0,directTouch:!0,drawGraph:void 0,forces:["barycenter","repulsive","attractive"],hasDraggableNodes:!0,isCartesian:!1,noSharedTooltip:!0,pointArrayMap:["from","to"],requireSorting:!1,trackerGroups:["group","markerGroup","dataLabelsGroup"],initDataLabels:n,buildKDTree:m,createNode:N.createNode,drawTracker:f.drawTracker,onMouseDown:O.onMouseDown,onMouseMove:O.onMouseMove,onMouseUp:O.onMouseUp,redrawHalo:O.redrawHalo}),P.registerSeriesType("networkgraph",v),v}),K(S,"masters/modules/networkgraph.src.js",[S["Core/Globals.js"],S["Series/Networkgraph/NetworkgraphSeries.js"]],function(O,I){return I.compose(O.Chart),O})},nt.exports?(Q.default=Q,nt.exports=Q):(ht=[X(21264)],void 0!==(et=function(S){return Q(S),Q.Highcharts=S,Q}.apply(_t,ht))&&(nt.exports=et))},95606:(nt,_t,X)=>{var ht,et,Q;Q=function(Q){"use strict";var S=Q?Q._modules:{};function K(O,I,E,t){O.hasOwnProperty(I)||(O[I]=t.apply(null,E),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:I,module:O[I]}})))}K(S,"Series/NodesComposition.js",[S["Core/Series/SeriesRegistry.js"],S["Core/Utilities.js"]],function(O,I){var E;let{series:{prototype:t,prototype:{pointClass:{prototype:T}}}}=O,{defined:N,extend:j,find:P,merge:c,pick:h}=I;return function(m){function _(){return this.data=[].concat(this.points||[],this.nodes),t.destroy.apply(this,arguments)}function f(){this.nodes&&(this.nodes.forEach(s=>{s.destroy()}),this.nodes.length=0),t.setData.apply(this,arguments)}function k(s){let d=arguments,l=this.isNode?this.linksTo.concat(this.linksFrom):[this.fromNode,this.toNode];"select"!==s&&l.forEach(g=>{g&&g.series&&(T.setState.apply(g,d),!g.isNode&&(g.fromNode.graphic&&T.setState.apply(g.fromNode,d),g.toNode&&g.toNode.graphic&&T.setState.apply(g.toNode,d)))}),T.setState.apply(this,d)}function n(s,d,l,g){let b=this.series.options.nodes,p=this.series.options.data,v=p&&p.length||0,D=p&&p[this.index];if(T.update.call(this,s,!this.isNode&&d,l,g),this.isNode){let r=(b||[]).reduce((w,C,y)=>this.id===C.id?y:w,-1),u=c(b&&b[r]||{},p&&p[this.index]||{});p&&(D?p[this.index]=D:p.length=v),b?r>=0?b[r]=u:b.push(u):this.series.options.nodes=[u],h(d,!0)&&this.series.chart.redraw(l)}}m.compose=function(s,d){let l=s.prototype,g=d.prototype;return l.setNodeState=k,l.setState=k,l.update=n,g.destroy=_,g.setData=f,d},m.createNode=function(s){let b,d=this.pointClass,l=(p,v)=>P(p,D=>D.id===v),g=l(this.nodes,s);if(!g){b=this.options.nodes&&l(this.options.nodes,s);let p=new d(this,j({className:"highcharts-node",isNode:!0,id:s,y:1},b));p.linksTo=[],p.linksFrom=[],p.getSum=function(){let v=0,D=0;return p.linksTo.forEach(r=>{v+=r.weight||0}),p.linksFrom.forEach(r=>{D+=r.weight||0}),Math.max(v,D)},p.offset=function(v,D){let r=0;for(let u=0;u{D.outgoing&&v++}),!p.linksTo.length||v!==p.linksTo.length},p.index=this.nodes.push(p)-1,g=p}return g.formatPrefix="node",g.name=g.name||g.options.id||"",g.mass=h(g.options.mass,g.options.marker&&g.options.marker.radius,this.options.marker&&this.options.marker.radius,4),g},m.destroy=_,m.generatePoints=function(){let s=this.chart,d={};t.generatePoints.call(this),this.nodes||(this.nodes=[]),this.colorCounter=0,this.nodes.forEach(l=>{l.linksFrom.length=0,l.linksTo.length=0,l.level=l.options.level}),this.points.forEach(l=>{N(l.from)&&(d[l.from]||(d[l.from]=this.createNode(l.from)),d[l.from].linksFrom.push(l),l.fromNode=d[l.from],s.styledMode?l.colorIndex=h(l.options.colorIndex,d[l.from].colorIndex):l.color=l.options.color||d[l.from].color),N(l.to)&&(d[l.to]||(d[l.to]=this.createNode(l.to)),d[l.to].linksTo.push(l),l.toNode=d[l.to]),l.name=l.name||l.id},this),this.nodeLookup=d},m.setNodeState=k,m.updateNode=n}(E||(E={})),E}),K(S,"Series/Sankey/SankeyPoint.js",[S["Core/Series/Point.js"],S["Core/Series/SeriesRegistry.js"],S["Core/Utilities.js"]],function(O,I,E){let{column:t}=I.seriesTypes,{defined:T}=E;return class N extends t.prototype.pointClass{applyOptions(P,c){return O.prototype.applyOptions.call(this,P,c),T(this.options.level)&&(this.options.column=this.column=this.options.level),this}getClassName(){return(this.isNode?"highcharts-node ":"highcharts-link ")+O.prototype.getClassName.call(this)}getFromNode(){let c,P=-1;for(let h=0;hP&&m.fromNode!==this&&(P=(c=m.fromNode).column)}return{fromNode:c,fromColumn:P}}setNodeColumn(){T(this.options.column)||(this.column=0===this.linksTo.length?0:this.getFromNode().fromColumn+1)}isValid(){return this.isNode||"number"==typeof this.weight}}}),K(S,"Series/Sankey/SankeySeriesDefaults.js",[],function(){return{borderWidth:0,colorByPoint:!0,curveFactor:.33,dataLabels:{enabled:!0,backgroundColor:"none",crop:!1,nodeFormat:void 0,nodeFormatter:function(){return this.point.name},format:void 0,formatter:function(){},inside:!0},inactiveOtherPoints:!0,linkColorMode:"from",linkOpacity:.5,opacity:1,minLinkWidth:0,nodeAlignment:"center",nodeWidth:20,nodePadding:10,nodeDistance:30,showInLegend:!1,states:{hover:{linkOpacity:1,opacity:1},inactive:{linkOpacity:.1,opacity:.1,animation:{duration:50}}},tooltip:{followPointer:!0,headerFormat:'{series.name}
',pointFormat:"{point.fromNode.name} \u2192 {point.toNode.name}: {point.weight}
",nodeFormat:"{point.name}: {point.sum}
"}}}),K(S,"Series/Sankey/SankeyColumnComposition.js",[S["Core/Utilities.js"]],function(O){var I;let{defined:E,relativeLength:t}=O;return function(T){T.compose=function(j,P){return j.sankeyColumn=new N(j,P),j};class N{constructor(P,c){this.points=P,this.series=c}getTranslationFactor(P){let f,n,c=this.points,h=c.slice(),_=P.options.minLinkWidth||0,k=0,s=(P.chart.plotSizeY||0)-(P.options.borderWidth||0)-(c.length-1)*P.nodePadding;for(;c.length;){for(k=s/c.sankeyColumn.sum(),f=!1,n=c.length;n--;)c[n].getSum()*k<_&&(c.splice(n,1),s=Math.max(0,s-_),f=!0);if(!f)break}for(let d of(c.length=0,h))c.push(d);return k}top(P){let c=this.series,h=c.nodePadding,m=this.points.reduce((_,f)=>(_>0&&(_+=h),_+Math.max(f.getSum()*P,c.options.minLinkWidth||0)),0);return{top:0,center:.5,bottom:1}[c.options.nodeAlignment||"center"]*((c.chart.plotSizeY||0)-m)}left(P){let c=this.series,h=c.chart,m=c.options.equalNodes,_=h.inverted?h.plotHeight:h.plotWidth,f=c.nodePadding,k=this.points.reduce((n,s)=>(n>0&&(n+=f),n+(m?_/s.series.nodes.length-f:Math.max(s.getSum()*P,c.options.minLinkWidth||0))),0);return((h.plotSizeX||0)-Math.round(k))/2}sum(){return this.points.reduce((P,c)=>P+c.getSum(),0)}offset(P,c){let k,h=this.points,m=this.series,_=m.nodePadding,f=0;if(m.is("organization")&&P.hangsFrom)return{absoluteTop:P.hangsFrom.nodeY};for(let n=0;n{let y=f&&f.colorVariation;return y&&"brightness"===y.key&&l&&r?O.parse(C).brighten(y.to*(l/r)).get():C})(b),v.color)),d=P(_&&_.options.colorIndex,f&&f.colorIndex,n,p,m.colorIndex)),{color:s,colorIndex:d}},getLevelOptions:function(h){let _,f,k,n,s,d,m={};if(N(h))for(n=T(h.from)?h.from:1,d=h.levels,f={},_=N(h.defaults)?h.defaults:{},t(d)&&(f=d.reduce((l,g)=>{let b,p,v;return N(g)&&T(g.level)&&(p=P((v=j({},g)).levelIsConstant,_.levelIsConstant),delete v.levelIsConstant,delete v.level,N(l[b=g.level+(p?0:n-1)])?j(!0,l[b],v):l[b]=v),l},{})),s=T(h.to)?h.to:1,k=0;k<=s;k++)m[k]=j({},_,N(f[k])?f[k]:{});return m},getNodeWidth:function(h,m){let{chart:_,options:f}=h,{nodeDistance:k=0,nodeWidth:n=0}=f,{plotSizeX:s=1}=_;if("auto"===n){if("string"==typeof k&&/%$/.test(k))return s/(m+parseFloat(k)/100*(m-1));let d=Number(k);return(s+d)/(m||1)-d}return c(n,s)},setTreeValues:function h(m,_){let f=_.before,k=_.idRoot,d=_.points[m.i],l=d&&d.options||{},g=[],b=0;m.levelDynamic=m.level-(!1!==_.levelIsConstant?0:_.mapIdToNode[k].level),m.name=P(d&&d.name,""),m.visible=k===m.id||!0===_.visible,"function"==typeof f&&(m=f(m,_)),m.children.forEach((v,D)=>{let r=E({},_);E(r,{index:D,siblings:m.children.length,visible:m.visible}),v=h(v,r),g.push(v),v.visible&&(b+=v.val)});let p=P(l.value,b);return m.visible=p>=0&&(b>0||m.visible),m.children=g,m.childrenTotal=b,m.isLeaf=m.visible&&!b,m.val=p,m},updateRootId:function(h){let m,_;return N(h)&&(_=N(h.options)?h.options:{},m=P(h.rootNode,_.rootId,""),N(h.userOptions)&&(h.userOptions.rootId=m),h.rootNode=m),m}}}),K(S,"Series/Sankey/SankeySeries.js",[S["Core/Globals.js"],S["Series/NodesComposition.js"],S["Series/Sankey/SankeyPoint.js"],S["Series/Sankey/SankeySeriesDefaults.js"],S["Core/Series/SeriesRegistry.js"],S["Series/Sankey/SankeyColumnComposition.js"],S["Core/Color/Color.js"],S["Series/TreeUtilities.js"],S["Core/Utilities.js"]],function(O,I,E,t,T,N,j,P,c){let{column:h,line:m}=T.seriesTypes,{parse:_}=j,{getLevelOptions:f,getNodeWidth:k}=P,{clamp:n,extend:s,isObject:d,merge:l,pick:g,relativeLength:b,stableSort:p}=c;class v extends h{static getDLOptions(r){let u=d(r.optionsPoint)?r.optionsPoint.dataLabels:{};return l({style:{}},d(r.level)?r.level.dataLabels:{},u)}createNodeColumns(){let r=[];for(let u of this.nodes)u.setNodeColumn(),r[u.column]||(r[u.column]=N.compose([],this)),r[u.column].push(u);for(let u=0;ur.level-u.level)}}getNodePadding(){let r=this.options.nodePadding||0;if(this.nodeColumns){let u=this.nodeColumns.reduce((w,C)=>Math.max(w,C.length),0);u*r>this.chart.plotSizeY&&(r=this.chart.plotSizeY/u)}return r}hasData(){return!!this.processedXData.length}pointAttribs(r,u){if(!r)return{};let w=this,y=w.mapOptionsToLevel[(r.isNode?r.level:r.fromNode.level)||0]||{},A=r.options,z=y.states&&y.states[u||""]||{},V=["colorByPoint","borderColor","borderWidth","linkOpacity","opacity"].reduce((q,$)=>(q[$]=g(z[$],A[$],y[$],w.options[$]),q),{}),Z=g(z.color,A.color,V.colorByPoint?r.color:y.color);return r.isNode?{fill:Z,stroke:V.borderColor,"stroke-width":V.borderWidth,opacity:V.opacity}:{fill:j.parse(Z).setOpacity(V.linkOpacity).get()}}drawTracker(){h.prototype.drawTracker.call(this,this.points),h.prototype.drawTracker.call(this,this.nodes)}drawPoints(){h.prototype.drawPoints.call(this,this.points),h.prototype.drawPoints.call(this,this.nodes)}drawDataLabels(){h.prototype.drawDataLabels.call(this,this.points),h.prototype.drawDataLabels.call(this,this.nodes)}translate(){this.processedXData||this.processData(),this.generatePoints(),this.nodeColumns=this.createNodeColumns();let r=this,u=this.chart,w=this.options,C=this.nodeColumns,y=C.length;for(let A of(this.nodeWidth=k(this,y),this.nodePadding=this.getNodePadding(),this.translationFactor=C.reduce((z,V)=>Math.min(z,V.sankeyColumn.getTranslationFactor(r)),1/0),this.colDistance=(u.plotSizeX-this.nodeWidth-w.borderWidth)/Math.max(1,C.length-1),r.mapOptionsToLevel=f({from:1,levels:w.levels,to:C.length-1,defaults:{borderColor:w.borderColor,borderRadius:w.borderRadius,borderWidth:w.borderWidth,color:r.color,colorByPoint:w.colorByPoint,levelIsConstant:!0,linkColor:w.linkColor,linkLineWidth:w.linkLineWidth,linkOpacity:w.linkOpacity,states:w.states}}),C))for(let z of A)r.translateNode(z,A);for(let A of this.nodes)for(let z of A.linksFrom)(z.weight||z.isNull)&&z.to&&(r.translateLink(z),z.allowShadow=!1)}translateLink(r){let u=(tt,ot)=>{let st=tt.offset(r,ot)*z;return Math.min(tt.nodeY+st,tt.nodeY+(tt.shapeArgs&&tt.shapeArgs.height||0)-B)},w=r.fromNode,C=r.toNode,y=this.chart,{inverted:A}=y,z=this.translationFactor,V=this.options,Z=g(r.linkColorMode,V.linkColorMode),q=(y.inverted?-this.colDistance:this.colDistance)*V.curveFactor,$=w.nodeX,Y=C.nodeX,J=r.outgoing,B=Math.max(r.weight*z,this.options.minLinkWidth),U=u(w,"linksFrom"),G=u(C,"linksTo"),H=this.nodeWidth,rt=Y>$+H;if(y.inverted&&(U=y.plotSizeY-U,G=(y.plotSizeY||0)-G,H=-H,B=-B,rt=$>Y),r.shapeType="path",r.linkBase=[U,U+B,G,G+B],rt&&"number"==typeof G)r.shapeArgs={d:[["M",$+H,U],["C",$+H+q,U,Y-q,G,Y,G],["L",Y+(J?H:0),G+B/2],["L",Y,G+B],["C",Y-q,G+B,$+H+q,U+B,$+H,U+B],["Z"]]};else if("number"==typeof G){let ot=Y-20-B,st=Y-20,at=$+H,lt=at+20,ft=lt+B,gt=U+B,St=gt+20,dt=St+(y.plotHeight-U-B),ct=dt+20,mt=ct+B,bt=G+B,kt=bt+20,Et=ct+.7*B,Pt=Y-.7*B,Tt=at+.7*B;r.shapeArgs={d:[["M",at,U],["C",Tt,U,ft,gt-.7*B,ft,St],["L",ft,dt],["C",ft,Et,Tt,mt,at,mt],["L",Y,mt],["C",Pt,mt,ot,Et,ot,dt],["L",ot,kt],["C",ot,bt-.7*B,Pt,G,Y,G],["L",Y,bt],["C",st,bt,st,bt,st,kt],["L",st,dt],["C",st,ct,st,ct,Y,ct],["L",at,ct],["C",lt,ct,lt,ct,lt,dt],["L",lt,St],["C",lt,gt,lt,gt,at,gt],["Z"]]}}if(r.dlBox={x:$+(Y-$+H)/2,y:U+(G-U)/2,height:B,width:0},r.tooltipPos=y.inverted?[y.plotSizeY-r.dlBox.y-B/2,y.plotSizeX-r.dlBox.x]:[r.dlBox.x,r.dlBox.y+B/2],r.y=r.plotY=1,r.x=r.plotX=1,!r.options.color)if("from"===Z)r.color=w.color;else if("to"===Z)r.color=C.color;else if("gradient"===Z){let tt=_(w.color).get(),ot=_(C.color).get();r.color={linearGradient:{x1:1,x2:0,y1:0,y2:0},stops:[[0,A?tt:ot],[1,A?ot:tt]]}}}translateNode(r,u){let w=this.translationFactor,C=this.chart,y=this.options,{borderRadius:A,borderWidth:z=0}=y,V=r.getSum(),Z=Math.max(Math.round(V*w),this.options.minLinkWidth),q=Math.round(this.nodeWidth),$=Math.round(z)%2/2,Y=u.sankeyColumn.offset(r,w),J=Math.floor(g(Y.absoluteTop,u.sankeyColumn.top(w)+Y.relativeTop))+$,B=Math.floor(this.colDistance*r.column+z/2)+b(r.options[C.inverted?"offsetVertical":"offsetHorizontal"]||0,q)+$,U=C.inverted?C.plotSizeX-B:B;if(r.sum=V,V){r.shapeType="roundedRect",r.nodeX=U,r.nodeY=J;let G=U,H=J,rt=r.options.width||y.width||q,tt=r.options.height||y.height||Z,ot=n(b("object"==typeof A?A.radius:A||0,rt),0,Z/2);C.inverted&&(G=U-q,H=C.plotSizeY-J-Z,rt=r.options.height||y.height||q,tt=r.options.width||y.width||Z),r.dlOptions=v.getDLOptions({level:this.mapOptionsToLevel[r.level],optionsPoint:r.options}),r.plotX=1,r.plotY=1,r.tooltipPos=C.inverted?[C.plotSizeY-H-tt/2,C.plotSizeX-G-rt/2]:[G+rt/2,H+tt/2],r.shapeArgs={x:G,y:H,width:rt,height:tt,r:ot,display:r.hasShape()?"":"none"}}else r.dlOptions={enabled:!1}}}return v.defaultOptions=l(h.defaultOptions,t),I.compose(E,v),s(v.prototype,{animate:m.prototype.animate,createNode:I.createNode,forceDL:!0,invertible:!0,isCartesian:!1,orderNodes:!0,noSharedTooltip:!0,pointArrayMap:["from","to","weight"],pointClass:E,searchPoint:O.noop}),T.registerSeriesType("sankey",v),v}),K(S,"masters/modules/sankey.src.js",[S["Core/Globals.js"]],function(O){return O})},nt.exports?(Q.default=Q,nt.exports=Q):(ht=[X(21264)],void 0!==(et=function(S){return Q(S),Q.Highcharts=S,Q}.apply(_t,ht))&&(nt.exports=et))},55782:(nt,_t,X)=>{var ht,et,Q;Q=function(Q){"use strict";var S=Q?Q._modules:{};function K(O,I,E,t){O.hasOwnProperty(I)||(O[I]=t.apply(null,E),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:I,module:O[I]}})))}K(S,"Series/NodesComposition.js",[S["Core/Series/SeriesRegistry.js"],S["Core/Utilities.js"]],function(O,I){const{series:{prototype:E,prototype:{pointClass:{prototype:t}}}}=O,{defined:T,extend:N,find:j,merge:P,pick:c}=I;var h;return function(m){function k(){return this.data=[].concat(this.points||[],this.nodes),E.destroy.apply(this,arguments)}function s(){this.nodes&&(this.nodes.forEach(g=>{g.destroy()}),this.nodes.length=0),E.setData.apply(this,arguments)}function d(g){const b=arguments,p=this.isNode?this.linksTo.concat(this.linksFrom):[this.fromNode,this.toNode];"select"!==g&&p.forEach(v=>{v&&v.series&&(t.setState.apply(v,b),v.isNode||(v.fromNode.graphic&&t.setState.apply(v.fromNode,b),v.toNode&&v.toNode.graphic&&t.setState.apply(v.toNode,b)))}),t.setState.apply(this,b)}function l(g,b,p,v){const D=this.series.options.nodes,r=this.series.options.data,u=r&&r.length||0,w=r&&r[this.index];if(t.update.call(this,g,!this.isNode&&b,p,v),this.isNode){const C=(D||[]).reduce((A,z,V)=>this.id===z.id?V:A,-1),y=P(D&&D[C]||{},r&&r[this.index]||{});r&&(w?r[this.index]=w:r.length=u),D?C>=0?D[C]=y:D.push(y):this.series.options.nodes=[y],c(b,!0)&&this.series.chart.redraw(p)}}m.compose=function _(g,b){const p=g.prototype,v=b.prototype;return p.setNodeState=d,p.setState=d,p.update=l,v.destroy=k,v.setData=s,b},m.createNode=function f(g){const b=this.pointClass,p=(r,u)=>j(r,w=>w.id===u);let D,v=p(this.nodes,g);if(!v){D=this.options.nodes&&p(this.options.nodes,g);const r=new b(this,N({className:"highcharts-node",isNode:!0,id:g,y:1},D));r.linksTo=[],r.linksFrom=[],r.getSum=function(){let u=0,w=0;return r.linksTo.forEach(C=>{u+=C.weight||0}),r.linksFrom.forEach(C=>{w+=C.weight||0}),Math.max(u,w)},r.offset=function(u,w){let C=0;for(let y=0;y{w.outgoing&&u++}),!r.linksTo.length||u!==r.linksTo.length},r.index=this.nodes.push(r)-1,v=r}return v.formatPrefix="node",v.name=v.name||v.options.id||"",v.mass=c(v.options.mass,v.options.marker&&v.options.marker.radius,this.options.marker&&this.options.marker.radius,4),v},m.destroy=k,m.generatePoints=function n(){const g=this.chart,b={};E.generatePoints.call(this),this.nodes||(this.nodes=[]),this.colorCounter=0,this.nodes.forEach(p=>{p.linksFrom.length=0,p.linksTo.length=0,p.level=p.options.level}),this.points.forEach(p=>{T(p.from)&&(b[p.from]||(b[p.from]=this.createNode(p.from)),b[p.from].linksFrom.push(p),p.fromNode=b[p.from],g.styledMode?p.colorIndex=c(p.options.colorIndex,b[p.from].colorIndex):p.color=p.options.color||b[p.from].color),T(p.to)&&(b[p.to]||(b[p.to]=this.createNode(p.to)),b[p.to].linksTo.push(p),p.toNode=b[p.to]),p.name=p.name||p.id},this),this.nodeLookup=b},m.setNodeState=d,m.updateNode=l}(h||(h={})),h}),K(S,"Series/Sankey/SankeyPoint.js",[S["Core/Series/Point.js"],S["Core/Series/SeriesRegistry.js"],S["Core/Utilities.js"]],function(O,I,E){const{column:t}=I.seriesTypes,{defined:T}=E;return class N extends t.prototype.pointClass{applyOptions(P,c){return O.prototype.applyOptions.call(this,P,c),T(this.options.level)&&(this.options.column=this.column=this.options.level),this}getClassName(){return(this.isNode?"highcharts-node ":"highcharts-link ")+O.prototype.getClassName.call(this)}getFromNode(){const P=this;let h,c=-1;for(let m=0;mc&&_.fromNode!==P&&(h=_.fromNode,c=h.column)}return{fromNode:h,fromColumn:c}}setNodeColumn(){const P=this;T(P.options.column)||(P.column=0===P.linksTo.length?0:P.getFromNode().fromColumn+1)}isValid(){return this.isNode||"number"==typeof this.weight}}}),K(S,"Series/Sankey/SankeySeriesDefaults.js",[],function(){return{borderWidth:0,colorByPoint:!0,curveFactor:.33,dataLabels:{enabled:!0,backgroundColor:"none",crop:!1,nodeFormat:void 0,nodeFormatter:function(){return this.point.name},format:void 0,formatter:function(){},inside:!0},inactiveOtherPoints:!0,linkColorMode:"from",linkOpacity:.5,opacity:1,minLinkWidth:0,nodeAlignment:"center",nodeWidth:20,nodePadding:10,nodeDistance:30,showInLegend:!1,states:{hover:{linkOpacity:1,opacity:1},inactive:{linkOpacity:.1,opacity:.1,animation:{duration:50}}},tooltip:{followPointer:!0,headerFormat:'{series.name}
',pointFormat:"{point.fromNode.name} \u2192 {point.toNode.name}: {point.weight}
",nodeFormat:"{point.name}: {point.sum}
"}}}),K(S,"Series/Sankey/SankeyColumnComposition.js",[S["Core/Utilities.js"]],function(O){const{defined:I,relativeLength:E}=O;var t;return function(T){T.compose=function N(P,c){const h=P;return h.sankeyColumn=new j(h,c),h};class j{constructor(c,h){this.points=c,this.series=h}getTranslationFactor(c){const h=this.points,m=h.slice(),f=c.options.minLinkWidth||0;let k,s,n=0,d=(c.chart.plotSizeY||0)-(c.options.borderWidth||0)-(h.length-1)*c.nodePadding;for(;h.length;){for(n=d/h.sankeyColumn.sum(),k=!1,s=h.length;s--;)h[s].getSum()*n(f>0&&(f+=m),f+Math.max(k.getSum()*c,h.options.minLinkWidth||0)),0);return{top:0,center:.5,bottom:1}[h.options.nodeAlignment||"center"]*((h.chart.plotSizeY||0)-_)}left(c){const h=this.series,m=h.chart,_=h.options.equalNodes,f=m.inverted?m.plotHeight:m.plotWidth,k=h.nodePadding,n=this.points.reduce((s,d)=>(s>0&&(s+=k),s+(_?f/d.series.nodes.length-k:Math.max(d.getSum()*c,h.options.minLinkWidth||0))),0);return((m.plotSizeX||0)-Math.round(n))/2}sum(){return this.points.reduce((c,h)=>c+h.getSum(),0)}offset(c,h){const m=this.points,_=this.series,f=_.nodePadding;let n,k=0;if(_.is("organization")&&c.hangsFrom)return{absoluteTop:c.hangsFrom.nodeY};for(let s=0;s{const J=A&&A.colorVariation;return J&&"brightness"===J.key&&l&&r?O.parse(Y).brighten(J.to*(l/r)).get():Y})(b),v.color)),q=P(y&&y.options.colorIndex,A&&A.colorIndex,V,p,d.colorIndex)),{color:Z,colorIndex:q}},getLevelOptions:function m(s){let l,g,b,p,v,D,d={};if(N(s))for(p=T(s.from)?s.from:1,D=s.levels,g={},l=N(s.defaults)?s.defaults:{},t(D)&&(g=D.reduce((r,u)=>{let w,C,y;return N(u)&&T(u.level)&&(y=j({},u),C=P(y.levelIsConstant,l.levelIsConstant),delete y.levelIsConstant,delete y.level,w=u.level+(C?0:p-1),N(r[w])?j(!0,r[w],y):r[w]=y),r},{})),v=T(s.to)?s.to:1,b=0;b<=v;b++)d[b]=j({},l,N(g[b])?g[b]:{});return d},getNodeWidth:function k(s,d){const{chart:l,options:g}=s,{nodeDistance:b=0,nodeWidth:p=0}=g,{plotSizeX:v=1}=l;if("auto"===p){if("string"==typeof b&&/%$/.test(b))return v/(d+parseFloat(b)/100*(d-1));const D=Number(b);return(v+D)/(d||1)-D}return c(p,v)},setTreeValues:function _(s,d){const l=d.before,g=d.idRoot,r=d.points[s.i],u=r&&r.options||{},w=[];let C=0;s.levelDynamic=s.level-(!1!==d.levelIsConstant?0:d.mapIdToNode[g].level),s.name=P(r&&r.name,""),s.visible=g===s.id||!0===d.visible,"function"==typeof l&&(s=l(s,d)),s.children.forEach((A,z)=>{const V=E({},d);E(V,{index:z,siblings:s.children.length,visible:s.visible}),A=_(A,V),w.push(A),A.visible&&(C+=A.val)});const y=P(u.value,C);return s.visible=y>=0&&(C>0||s.visible),s.children=w,s.childrenTotal=C,s.isLeaf=s.visible&&!C,s.val=y,s},updateRootId:function f(s){let d,l;return N(s)&&(l=N(s.options)?s.options:{},d=P(s.rootNode,l.rootId,""),N(s.userOptions)&&(s.userOptions.rootId=d),s.rootNode=d),d}}}),K(S,"Series/Sankey/SankeySeries.js",[S["Core/Globals.js"],S["Series/NodesComposition.js"],S["Series/Sankey/SankeyPoint.js"],S["Series/Sankey/SankeySeriesDefaults.js"],S["Core/Series/SeriesRegistry.js"],S["Series/Sankey/SankeyColumnComposition.js"],S["Core/Color/Color.js"],S["Series/TreeUtilities.js"],S["Core/Utilities.js"]],function(O,I,E,t,T,N,j,P,c){const{column:h,line:m}=T.seriesTypes,{parse:_}=j,{getLevelOptions:f,getNodeWidth:k}=P,{clamp:n,extend:s,isObject:d,merge:l,pick:g,relativeLength:b,stableSort:p}=c;class v extends h{static getDLOptions(r){const u=d(r.optionsPoint)?r.optionsPoint.dataLabels:{},w=d(r.level)?r.level.dataLabels:{};return l({style:{}},w,u)}createNodeColumns(){const r=[];for(const u of this.nodes)u.setNodeColumn(),r[u.column]||(r[u.column]=N.compose([],this)),r[u.column].push(u);for(let u=0;u"u"&&(r[u]=N.compose([],this));return r}order(r,u){const w=this;if(typeof r.level>"u"){r.level=u;for(const C of r.linksFrom)C.toNode&&w.order(C.toNode,u+1)}}generatePoints(){if(I.generatePoints.apply(this,arguments),this.orderNodes){for(const r of this.nodes)0===r.linksTo.length&&this.order(r,0);p(this.nodes,(r,u)=>r.level-u.level)}}getNodePadding(){let r=this.options.nodePadding||0;if(this.nodeColumns){const u=this.nodeColumns.reduce((w,C)=>Math.max(w,C.length),0);u*r>this.chart.plotSizeY&&(r=this.chart.plotSizeY/u)}return r}hasData(){return!!this.processedXData.length}pointAttribs(r,u){if(!r)return{};const w=this,y=w.mapOptionsToLevel[(r.isNode?r.level:r.fromNode.level)||0]||{},A=r.options,z=y.states&&y.states[u||""]||{},V=["colorByPoint","borderColor","borderWidth","linkOpacity","opacity"].reduce((q,$)=>(q[$]=g(z[$],A[$],y[$],w.options[$]),q),{}),Z=g(z.color,A.color,V.colorByPoint?r.color:y.color);return r.isNode?{fill:Z,stroke:V.borderColor,"stroke-width":V.borderWidth,opacity:V.opacity}:{fill:j.parse(Z).setOpacity(V.linkOpacity).get()}}drawTracker(){h.prototype.drawTracker.call(this,this.points),h.prototype.drawTracker.call(this,this.nodes)}drawPoints(){h.prototype.drawPoints.call(this,this.points),h.prototype.drawPoints.call(this,this.nodes)}drawDataLabels(){h.prototype.drawDataLabels.call(this,this.points),h.prototype.drawDataLabels.call(this,this.nodes)}translate(){this.processedXData||this.processData(),this.generatePoints(),this.nodeColumns=this.createNodeColumns();const r=this,u=this.chart,w=this.options,C=this.nodeColumns;this.nodeWidth=k(this,C.length),this.nodePadding=this.getNodePadding(),this.translationFactor=C.reduce((A,z)=>Math.min(A,z.sankeyColumn.getTranslationFactor(r)),1/0),this.colDistance=(u.plotSizeX-this.nodeWidth-w.borderWidth)/Math.max(1,C.length-1),r.mapOptionsToLevel=f({from:1,levels:w.levels,to:C.length-1,defaults:{borderColor:w.borderColor,borderRadius:w.borderRadius,borderWidth:w.borderWidth,color:r.color,colorByPoint:w.colorByPoint,levelIsConstant:!0,linkColor:w.linkColor,linkLineWidth:w.linkLineWidth,linkOpacity:w.linkOpacity,states:w.states}});for(const A of C)for(const z of A)r.translateNode(z,A);for(const A of this.nodes)for(const z of A.linksFrom)(z.weight||z.isNull)&&z.to&&(r.translateLink(z),z.allowShadow=!1)}translateLink(r){const u=(tt,ot)=>{const st=tt.offset(r,ot)*z;return Math.min(tt.nodeY+st,tt.nodeY+(tt.shapeArgs&&tt.shapeArgs.height||0)-B)},w=r.fromNode,C=r.toNode,y=this.chart,{inverted:A}=y,z=this.translationFactor,V=this.options,Z=g(r.linkColorMode,V.linkColorMode),q=(y.inverted?-this.colDistance:this.colDistance)*V.curveFactor,$=w.nodeX,Y=C.nodeX,J=r.outgoing;let B=Math.max(r.weight*z,this.options.minLinkWidth),U=u(w,"linksFrom"),G=u(C,"linksTo"),H=this.nodeWidth,rt=Y>$+H;if(y.inverted&&(U=y.plotSizeY-U,G=(y.plotSizeY||0)-G,H=-H,B=-B,rt=$>Y),r.shapeType="path",r.linkBase=[U,U+B,G,G+B],rt&&"number"==typeof G)r.shapeArgs={d:[["M",$+H,U],["C",$+H+q,U,Y-q,G,Y,G],["L",Y+(J?H:0),G+B/2],["L",Y,G+B],["C",Y-q,G+B,$+H+q,U+B,$+H,U+B],["Z"]]};else if("number"==typeof G){const st=Y-20-B,at=Y-20,ft=$+H,vt=ft+20,gt=vt+B,dt=U+B,ct=dt+20,mt=ct+(y.plotHeight-U-B),pt=mt+20,bt=pt+B,xt=G+B,Et=xt+20,Pt=pt+.7*B,zt=Y-.7*B,Xt=ft+.7*B;r.shapeArgs={d:[["M",ft,U],["C",Xt,U,gt,dt-.7*B,gt,ct],["L",gt,mt],["C",gt,Pt,Xt,bt,ft,bt],["L",Y,bt],["C",zt,bt,st,Pt,st,mt],["L",st,Et],["C",st,xt-.7*B,zt,G,Y,G],["L",Y,xt],["C",at,xt,at,xt,at,Et],["L",at,mt],["C",at,pt,at,pt,Y,pt],["L",ft,pt],["C",vt,pt,vt,pt,vt,mt],["L",vt,ct],["C",vt,dt,vt,dt,ft,dt],["Z"]]}}if(r.dlBox={x:$+(Y-$+H)/2,y:U+(G-U)/2,height:B,width:0},r.tooltipPos=y.inverted?[y.plotSizeY-r.dlBox.y-B/2,y.plotSizeX-r.dlBox.x]:[r.dlBox.x,r.dlBox.y+B/2],r.y=r.plotY=1,r.x=r.plotX=1,!r.options.color)if("from"===Z)r.color=w.color;else if("to"===Z)r.color=C.color;else if("gradient"===Z){const tt=_(w.color).get(),ot=_(C.color).get();r.color={linearGradient:{x1:1,x2:0,y1:0,y2:0},stops:[[0,A?tt:ot],[1,A?ot:tt]]}}}translateNode(r,u){const w=this.translationFactor,C=this.chart,y=this.options,{borderRadius:A,borderWidth:z=0}=y,V=r.getSum(),Z=Math.max(Math.round(V*w),this.options.minLinkWidth),q=Math.round(this.nodeWidth),$=Math.round(z)%2/2,Y=u.sankeyColumn.offset(r,w),J=Math.floor(g(Y.absoluteTop,u.sankeyColumn.top(w)+Y.relativeTop))+$,B=Math.floor(this.colDistance*r.column+z/2)+b(r.options[C.inverted?"offsetVertical":"offsetHorizontal"]||0,q)+$,U=C.inverted?C.plotSizeX-B:B;if(r.sum=V,V){r.shapeType="roundedRect",r.nodeX=U,r.nodeY=J;let G=U,H=J,rt=r.options.width||y.width||q,tt=r.options.height||y.height||Z;const ot=n(b("object"==typeof A?A.radius:A||0,rt),0,Z/2);C.inverted&&(G=U-q,H=C.plotSizeY-J-Z,rt=r.options.height||y.height||q,tt=r.options.width||y.width||Z),r.dlOptions=v.getDLOptions({level:this.mapOptionsToLevel[r.level],optionsPoint:r.options}),r.plotX=1,r.plotY=1,r.tooltipPos=C.inverted?[C.plotSizeY-H-tt/2,C.plotSizeX-G-rt/2]:[G+rt/2,H+tt/2],r.shapeArgs={x:G,y:H,width:rt,height:tt,r:ot,display:r.hasShape()?"":"none"}}else r.dlOptions={enabled:!1}}}return v.defaultOptions=l(h.defaultOptions,t),I.compose(E,v),s(v.prototype,{animate:m.prototype.animate,createNode:I.createNode,forceDL:!0,invertible:!0,isCartesian:!1,orderNodes:!0,noSharedTooltip:!0,pointArrayMap:["from","to","weight"],pointClass:E,searchPoint:O.noop}),T.registerSeriesType("sankey",v),v}),K(S,"masters/modules/sankey.src.js",[S["Core/Globals.js"]],function(O){return O})},nt.exports?(Q.default=Q,nt.exports=Q):(ht=[X(21264)],void 0!==(et=function(S){return Q(S),Q.Highcharts=S,Q}.apply(_t,ht))&&(nt.exports=et))}}]); \ No newline at end of file +(self.webpackChunkz4d_plugin=self.webpackChunkz4d_plugin||[]).push([[837],{86837:(nt,_t,X)=>{"use strict";X.r(_t),X.d(_t,{NetworkModule:()=>xo});var ht=X(93887),et=X(91346),Q=X(12168),S=X(69820),K=X(38833),O=X(2501),I=X(55782),E=X(10467),t=X(54438),T=X(71985),N=X(43236),j=X(39974),P=X(54360),c=X(58750),m=X(41584);var f=X(88141),k=X(96354),n=X(33726),s=X(25558),d=X(7673),l=X(56977),g=X(84412),b=X(57786),p=X(23294),v=X(91986),D=X(983),r=X(70980);function u(o,F=!1){return(0,j.N)((e,i)=>{let a=0;e.subscribe((0,P._)(i,M=>{const x=o(M,a++);(x||F)&&i.next(M),!x&&i.complete()}))})}var C=X(30536),y=X(60177);let A;try{A=typeof Intl<"u"&&Intl.v8BreakIterator}catch{A=!1}let z=(()=>{class o{constructor(e){this._platformId=e,this.isBrowser=this._platformId?(0,y.UE)(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!A)&&typeof CSS<"u"&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}static#t=this.\u0275fac=function(i){return new(i||o)(t.KVO(t.Agw))};static#e=this.\u0275prov=t.jDH({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();var U=function(o){return o[o.NORMAL=0]="NORMAL",o[o.NEGATED=1]="NEGATED",o[o.INVERTED=2]="INVERTED",o}(U||{});let G;const gt=new t.nKC("cdk-dir-doc",{providedIn:"root",factory:function St(){return(0,t.WQX)(y.qQ)}}),dt=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;let mt=(()=>{class o{constructor(e){this.value="ltr",this.change=new t.bkB,e&&(this.value=function ct(o){const F=o?.toLowerCase()||"";return"auto"===F&&typeof navigator<"u"&&navigator?.language?dt.test(navigator.language)?"rtl":"ltr":"rtl"===F?"rtl":"ltr"}((e.body?e.body.dir:null)||(e.documentElement?e.documentElement.dir:null)||"ltr"))}ngOnDestroy(){this.change.complete()}static#t=this.\u0275fac=function(i){return new(i||o)(t.KVO(gt,8))};static#e=this.\u0275prov=t.jDH({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();var kt=X(89079),Qt=X(21413),me=X(96697),ve=X(85412);const ke="function"==typeof Float32Array;function Zt(o,F){return 1-3*F+3*o}function Kt(o,F){return 3*F-6*o}function qt(o){return 3*o}function At(o,F,e){return((Zt(F,e)*o+Kt(F,e))*o+qt(F))*o}function Jt(o,F,e){return 3*Zt(F,e)*o*o+2*Kt(F,e)*o+qt(F)}function Fe(o){return o}function Me(o,F,e,i){if(!(0<=o&&o<=1&&0<=e&&e<=1))throw new Error("bezier x values must be in [0, 1] range");if(o===F&&e===i)return Fe;const a=ke?new Float32Array(11):new Array(11);for(let x=0;x<11;++x)a[x]=At(.1*x,o,e);return function(L){return 0===L?0:1===L?1:At(function M(x){let L=0,R=1;for(;10!==R&&a[R]<=x;++R)L+=.1;--R;const ut=L+(x-a[R])/(a[R+1]-a[R])*.1,wt=Jt(ut,o,e);return wt>=.001?function Ce(o,F,e,i){for(let a=0;a<4;++a){const M=Jt(F,e,i);if(0===M)return F;F-=(At(F,e,i)-o)/M}return F}(x,ut,o,e):0===wt?ut:function xe(o,F,e,i,a){let M,x,L=0;do{x=F+(e-F)/2,M=At(x,i,a)-o,M>0?e=x:F=x}while(Math.abs(M)>1e-7&&++L<10);return x}(x,L,L+.1,o,e)}(L),F,i)}}const Ee=new t.nKC("SMOOTH_SCROLL_OPTIONS");let Pe=(()=>{class o{get _w(){return this._document.defaultView}get _now(){return this._w.performance?.now?.bind(this._w.performance)||Date.now}constructor(e,i,a){this._document=e,this._platform=i,this.rtlScrollAxisType=function tt(){if("object"!=typeof document||!document)return U.NORMAL;if(null==G){const o=document.createElement("div"),F=o.style;o.dir="rtl",F.width="1px",F.overflow="auto",F.visibility="hidden",F.pointerEvents="none",F.position="absolute";const e=document.createElement("div"),i=e.style;i.width="2px",i.height="1px",o.appendChild(e),document.body.appendChild(o),G=U.NORMAL,0===o.scrollLeft&&(o.scrollLeft=1,G=0===o.scrollLeft?U.NEGATED:U.INVERTED),o.remove()}return G}(),this._onGoingScrolls=new Map,this._defaultOptions={duration:468,easing:{x1:.42,y1:0,x2:.58,y2:1},...a}}_scrollElement(e,i,a){e.scrollLeft=i,e.scrollTop=a}_getElement(e,i){return"string"==typeof e?(i||this._document).querySelector(e):function zt(o){return o instanceof t.aKT?o.nativeElement:o}(e)}_initSmoothScroll(e){return this._onGoingScrolls.has(e)&&this._onGoingScrolls.get(e).next(),this._onGoingScrolls.set(e,new Qt.B).get(e)}_isFinished(e,i,a){return e.currentX!==e.x||e.currentY!==e.y||(i.next(),a(),!1)}_interrupted(e,i){return(0,b.h)((0,n.R)(e,"wheel",{passive:!0,capture:!0}),(0,n.R)(e,"touchmove",{passive:!0,capture:!0}),i).pipe((0,me.s)(1))}_destroy(e,i){i.complete(),this._onGoingScrolls.delete(e)}_step(e){return new T.c(i=>{let a=(this._now()-e.startTime)/e.duration;a=a>1?1:a;const M=e.easing(a);e.currentX=e.startX+(e.x-e.startX)*M,e.currentY=e.startY+(e.y-e.startY)*M,this._scrollElement(e.scrollable,e.currentX,e.currentY),C.X.schedule(()=>i.next(e))})}_applyScrollToOptions(e,i){if(!i.duration)return this._scrollElement(e,i.left,i.top),Promise.resolve();const a=this._initSmoothScroll(e),M={scrollable:e,startTime:this._now(),startX:e.scrollLeft,startY:e.scrollTop,x:null==i.left?e.scrollLeft:~~i.left,y:null==i.top?e.scrollTop:~~i.top,duration:i.duration,easing:Me(i.easing.x1,i.easing.y1,i.easing.x2,i.easing.y2)};return new Promise(x=>{(0,d.of)(null).pipe(function be(o,F=1/0,e){return F=(F||0)<1?1/0:F,(0,j.N)((i,a)=>(0,ve.h)(i,a,o,F,void 0,!0,e))}(()=>this._step(M).pipe(u(L=>this._isFinished(L,a,x)))),(0,l.Q)(this._interrupted(e,a)),(0,r.j)(()=>this._destroy(e,a))).subscribe()})}scrollTo(e,i){if((0,y.UE)(this._platform)){const a=this._getElement(e),M="rtl"===getComputedStyle(a).direction,x={...this._defaultOptions,...i,left:null==i.left?M?i.end:i.start:i.left,right:null==i.right?M?i.start:i.end:i.right};return null!=x.bottom&&(x.top=a.scrollHeight-a.clientHeight-x.bottom),M&&this.rtlScrollAxisType!==U.NORMAL?(null!=x.left&&(x.right=a.scrollWidth-a.clientWidth-x.left),this.rtlScrollAxisType===U.INVERTED?x.left=x.right:this.rtlScrollAxisType===U.NEGATED&&(x.left=x.right?-x.right:x.right)):null!=x.right&&(x.left=a.scrollWidth-a.clientWidth-x.right),this._applyScrollToOptions(a,x)}return Promise.resolve()}scrollToElement(e,i,a={}){const M=this._getElement(e),x=this._getElement(i,M),L={...a,left:x.offsetLeft+(a.left||0),top:x.offsetTop+(a.top||0)};return x?this.scrollTo(M,L):Promise.resolve()}static#t=this.\u0275fac=function(i){return new(i||o)(t.KVO(y.qQ),t.KVO(t.Agw),t.KVO(Ee,8))};static#e=this.\u0275prov=t.jDH({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();const Ne=["scrollbarButton",""];function Oe(o,F){if(1&o&&t.nrm(0,"button",5)(1,"button",6),2&o){const e=t.XpG();t.ZvI("ng-scrollbar-button ",e.cmp.buttonClass,""),t.R7$(),t.ZvI("ng-scrollbar-button ",e.cmp.buttonClass,"")}}function Te(o,F){if(1&o&&t.nrm(0,"button",5)(1,"button",6),2&o){const e=t.XpG();t.ZvI("ng-scrollbar-button ",e.cmp.buttonClass,""),t.R7$(),t.ZvI("ng-scrollbar-button ",e.cmp.buttonClass,"")}}function Ie(o,F){1&o&&t.nrm(0,"scrollbar-y")}function Le(o,F){1&o&&t.nrm(0,"scrollbar-x")}const je=["contentWrapper"],Re=["*"];let ze=(()=>{class o{constructor(){this.nativeElement=(0,t.WQX)(t.aKT).nativeElement}static#t=this.\u0275fac=function(i){return new(i||o)};static#e=this.\u0275dir=t.FsC({type:o,selectors:[["","scrollViewport",""]],standalone:!0})}return o})();var It=function(o){return o.AfterInit="AfterInit",o.Resized="ResizeObserver",o}(It||{});const te=new t.nKC("NG_SCROLLBAR_OPTIONS"),ee=new t.nKC("NG_SCROLLBAR_POLYFILL");function oe({element:o,contentWrapper:F,throttleDuration:e}){let a,i=It.AfterInit;const M=new T.c(x=>(a=new ResizeObserver(()=>{x.next(i),i=It.Resized}),a.observe(o),F&&a.observe(F),()=>{a?.disconnect()}));return e?M.pipe(function _(o,F=N.E,e){const i=(0,m.O)(o,F);return function h(o,F){return(0,j.N)((e,i)=>{const{leading:a=!0,trailing:M=!1}=F??{};let x=!1,L=null,R=null,W=!1;const yt=()=>{R?.unsubscribe(),R=null,M&&(ge(),W&&i.complete())},ut=()=>{R=null,W&&i.complete()},wt=Mt=>R=(0,c.Tg)(o(Mt)).subscribe((0,P._)(i,yt,ut)),ge=()=>{if(x){x=!1;const Mt=L;L=null,i.next(Mt),!W&&wt(Mt)}};e.subscribe((0,P._)(i,Mt=>{x=!0,L=Mt,(!R||R.closed)&&(a?ge():wt(Mt))},()=>{W=!0,(!(M&&x&&R)||R.closed)&&i.complete()}))})}(()=>i,e)}(e,null,{leading:!0,trailing:!0})):M}function Yt(o){return(0,f.M)(()=>o.onselectstart=()=>!1)}function Wt(o){return(0,f.M)(()=>o.onselectstart=null)}function Nt(){return(0,f.M)(o=>{o.preventDefault(),o.stopPropagation()})}var Ut=function(o){return o.Viewport="ng-scroll-viewport",o.Content="ng-scroll-content",o}(Ut||{});class Be{constructor(){this.initialized=(0,t.vPA)(!1)}get offsetHeight(){return this.nativeElement.getBoundingClientRect().height}get offsetWidth(){return this.nativeElement.getBoundingClientRect().width}get scrollTop(){return this.nativeElement.scrollTop}get scrollLeft(){return this.nativeElement.scrollLeft}get contentHeight(){return this.contentWrapperElement.getBoundingClientRect().height}get contentWidth(){return this.contentWrapperElement.getBoundingClientRect().width}get scrollMaxX(){return this.contentWidth-this.offsetWidth}get scrollMaxY(){return this.contentHeight-this.offsetHeight}init(F,e,i){F.classList.add(Ut.Viewport),this.nativeElement=F,e.classList.add(Ut.Content),i?(i.style.position="relative",this.contentWrapperElement=i):this.contentWrapperElement=e,this.initialized.set(!0)}scrollYTo(F){this.nativeElement.scrollTop=F}scrollXTo(F){this.nativeElement.scrollLeft=F}}const Lt=new t.nKC("NG_SCROLLBAR"),re={trackClass:"",thumbClass:"",buttonClass:"",orientation:"auto",appearance:"native",visibility:"native",position:"native",trackScrollDuration:50,sensorThrottleTime:0,disableSensor:!1,disableInteraction:!1,buttons:!1};let Ae=(()=>{class o{constructor(){this.injectedOptions=(0,t.WQX)(te,{optional:!0}),this.options=this.injectedOptions?{...re,...this.injectedOptions}:re,this.zone=(0,t.WQX)(t.SKi),this.platform=(0,t.WQX)(z),this.injector=(0,t.WQX)(t.zZn),this.isMobile=this.platform.IOS||this.platform.ANDROID,this.dir=(0,t.WQX)(mt),this.smoothScroll=(0,t.WQX)(Pe),this.nativeElement=(0,t.WQX)(t.aKT).nativeElement,this.dragging=(0,t.vPA)("none"),this.orientation=(0,t.hFB)(this.options.orientation),this.visibility=(0,t.hFB)(this.options.visibility),this.buttons=(0,t.hFB)(this.options.buttons,{transform:t.L39}),this.disableInteraction=(0,t.hFB)(this.options.disableInteraction,{transform:t.L39}),this.disableSensor=(0,t.hFB)(this.options.disableSensor,{transform:t.L39}),this.sensorThrottleTime=(0,t.hFB)(this.options.sensorThrottleTime,{transform:t.Udg}),this.viewportDimension=(0,t.vPA)({contentHeight:0,contentWidth:0,offsetHeight:0,offsetWidth:0}),this.state=(0,t.EWP)(()=>{let e=!1,i=!1,a=!1,M=!1;const x=this.orientation(),L=this.visibility(),R=this.viewportDimension();return("auto"===x||"vertical"===x)&&(a=R.contentHeight>R.offsetHeight,e="visible"===L||a),("auto"===x||"horizontal"===x)&&(M=R.contentWidth>R.offsetWidth,i="visible"===L||M),{verticalUsed:e,horizontalUsed:i,isVerticallyScrollable:a,isHorizontallyScrollable:M}}),this.isVerticallyScrollable=(0,t.EWP)(()=>this.state().isVerticallyScrollable),this.isHorizontallyScrollable=(0,t.EWP)(()=>this.state().isHorizontallyScrollable),this.verticalUsed=(0,t.EWP)(()=>this.state().verticalUsed),this.horizontalUsed=(0,t.EWP)(()=>this.state().horizontalUsed),this.trackScrollDuration=this.options.trackScrollDuration,this.appearance=this.options.appearance,this.position=this.options.position,this.trackClass=this.options.trackClass,this.thumbClass=this.options.thumbClass,this.buttonClass=this.options.thumbClass,this.afterInit=new t.bkB,this.afterUpdate=new t.bkB,this.viewport=new Be}ngOnInit(){(0,t.N4e)(this.injector,()=>{this.direction=(0,kt.ot)(this.dir.change.pipe((0,k.T)(()=>this.dir.value)),{initialValue:this.dir.value}),(0,t.QZP)(e=>{this.disableSensor()?this.sizeChangeSub?.unsubscribe():this.platform.isBrowser&&this.viewport.initialized()&&(this.sizeChangeSub?.unsubscribe(),this.zone.runOutsideAngular(()=>{this.sizeChangeSub=oe({element:this.viewport.nativeElement,contentWrapper:this.viewport.contentWrapperElement,throttleDuration:this.sensorThrottleTime()}).pipe((0,f.M)(i=>this.update(i))).subscribe()})),e(()=>this.sizeChangeSub?.unsubscribe())})})}ngAfterViewInit(){this.platform.isBrowser&&this.disableSensor()&&requestAnimationFrame(()=>{this.update(It.AfterInit)})}update(e){this.updateCSSVariables(),this.zone.run(()=>{this.viewportDimension.set({contentHeight:this.viewport.contentHeight,contentWidth:this.viewport.contentWidth,offsetHeight:this.viewport.offsetHeight,offsetWidth:this.viewport.offsetWidth}),e===It.AfterInit?this.afterInit.emit():this.afterUpdate.emit()})}scrollTo(e){return this.smoothScroll.scrollTo(this.viewport.nativeElement,e)}scrollToElement(e,i){return this.smoothScroll.scrollToElement(this.viewport.nativeElement,e,i)}updateCSSVariables(){this.nativeElement.style.setProperty("--content-height",`${this.viewport.contentHeight}`),this.nativeElement.style.setProperty("--content-width",`${this.viewport.contentWidth}`),this.nativeElement.style.setProperty("--viewport-height",`${this.viewport.offsetHeight}`),this.nativeElement.style.setProperty("--viewport-width",`${this.viewport.offsetWidth}`)}static#t=this.\u0275fac=function(i){return new(i||o)};static#e=this.\u0275dir=t.FsC({type:o,hostVars:14,hostBindings:function(i,a){2&i&&(t.BMQ("verticalUsed",a.verticalUsed())("horizontalUsed",a.horizontalUsed())("isVerticallyScrollable",a.isVerticallyScrollable())("isHorizontallyScrollable",a.isHorizontallyScrollable())("mobile",a.isMobile)("dir",a.direction())("position",a.position)("dragging",a.dragging())("appearance",a.appearance)("visibility",a.visibility())("orientation",a.orientation())("disableInteraction",a.disableInteraction()),t.AVh("ng-scrollbar",!0))},inputs:{orientation:[t.Mj6.SignalBased,"orientation"],visibility:[t.Mj6.SignalBased,"visibility"],buttons:[t.Mj6.SignalBased,"buttons"],disableInteraction:[t.Mj6.SignalBased,"disableInteraction"],disableSensor:[t.Mj6.SignalBased,"disableSensor"],sensorThrottleTime:[t.Mj6.SignalBased,"sensorThrottleTime"],trackScrollDuration:[t.Mj6.HasDecoratorInputTransform,"trackScrollDuration","trackScrollDuration",t.Udg],appearance:"appearance",position:"position",trackClass:"trackClass",thumbClass:"thumbClass",buttonClass:"buttonClass"},outputs:{afterInit:"afterInit",afterUpdate:"afterUpdate"},features:[t.Jv_([{provide:Lt,useExisting:o}]),t.GFd]})}return o})(),ie=(()=>{class o{constructor(){this.isBrowser=(0,y.UE)((0,t.WQX)(t.Agw)),this._polyfillUrl=(0,t.WQX)(ee,{optional:!0})||"https://flackr.github.io/scroll-timeline/dist/scroll-timeline.js",this.document=(0,t.WQX)(y.qQ),this.window=this.document.defaultView,this.scrollTimelinePolyfill=(0,t.vPA)(null),this.isBrowser&&(!this.window.ScrollTimeline||!CSS.supports("animation-timeline","scroll()"))&&this.initPolyfill()}initPolyfill(){var e=this;return(0,E.A)(function*(){try{const i=e.document.createElement("script");i.src=e._polyfillUrl,yield new Promise((a,M)=>{i.onload=a,i.onerror=M,e.document.head.appendChild(i)}),e.window.ScrollTimeline?e.scrollTimelinePolyfill.set(e.window.ScrollTimeline):console.error("[NgScrollbar]: ScrollTimeline is not attached to the window object.")}catch(i){console.error("[NgScrollbar]: Error loading ScrollTimeline script:",i)}})()}static#t=this.\u0275fac=function(i){return new(i||o)};static#e=this.\u0275prov=t.jDH({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();const Gt=new t.nKC("SCROLLBAR_CONTROL");let se=(()=>{class o{constructor(){this.cmp=(0,t.WQX)(Lt)}static#t=this.\u0275fac=function(i){return new(i||o)};static#e=this.\u0275dir=t.FsC({type:o})}return o})(),Vt=(()=>{class o{constructor(){this.cmp=(0,t.WQX)(Lt),this.control=(0,t.WQX)(Gt),this.document=(0,t.WQX)(y.qQ),this.zone=(0,t.WQX)(t.SKi),this.nativeElement=(0,t.WQX)(t.aKT).nativeElement,(0,t.QZP)(e=>{this.cmp.disableInteraction()?this._pointerEventsSub?.unsubscribe():this.zone.runOutsideAngular(()=>{this._pointerEventsSub=this.pointerEvents.subscribe()}),e(()=>this._pointerEventsSub?.unsubscribe())})}static#t=this.\u0275fac=function(i){return new(i||o)};static#e=this.\u0275dir=t.FsC({type:o})}return o})(),jt=(()=>{class o extends Vt{get trackMax(){return this.track.size-this.size}get clientRect(){return this.nativeElement.getBoundingClientRect()}get pointerEvents(){return(0,n.R)(this.nativeElement,"pointerdown").pipe(Nt(),Yt(this.document),(0,s.n)(e=>{let i,a;const M=(0,d.of)(e).pipe((0,f.M)(()=>{i=this.trackMax,a=this.control.viewportScrollMax,this.setDragging(this.control.axis)})),x=(0,n.R)(this.document,"pointermove").pipe(Nt()),L=(0,n.R)(this.document,"pointerup",{capture:!0}).pipe(Nt(),Wt(this.document),(0,f.M)(()=>this.setDragging("none")));return M.pipe((0,k.T)(R=>R[this.control.clientProperty]),(0,k.T)(R=>R-this.dragStartOffset),(0,s.n)(R=>x.pipe((0,k.T)(W=>W[this.control.clientProperty]),(0,k.T)(W=>W-this.track.offset),(0,k.T)(W=>a*(W-R)/i),(0,f.M)(W=>this.control.instantScrollTo(W,a)),(0,l.Q)(L))))}))}constructor(){(0,t.QZP)(()=>{const e=this.manager.scrollTimelinePolyfill();e&&!this._animation&&(this._animation=function Ye(o,F,e,i){return F.animate({translate:["var(--_scrollbar-thumb-transform-from)","var(--_scrollbar-thumb-transform-to)"]},{fill:"both",easing:"linear",timeline:new o({source:e,axis:i})})}(e,this.nativeElement,this.cmp.viewport.nativeElement,this.control.axis))}),super(),this.manager=(0,t.WQX)(ie),this.track=(0,t.WQX)(Rt)}setDragging(e){this.zone.run(()=>this.cmp.dragging.set(e))}static#t=this.\u0275fac=function(i){return new(i||o)};static#e=this.\u0275dir=t.FsC({type:o,features:[t.Vt3]})}return o})(),Rt=(()=>{class o extends Vt{get clientRect(){return this.nativeElement.getBoundingClientRect()}get pointerEvents(){const e=(0,n.R)(this.nativeElement,"pointerdown").pipe(Nt(),Yt(this.document)),i=(0,n.R)(this.document,"pointerup",{passive:!0}).pipe(Wt(this.document)),a=(0,n.R)(this.nativeElement,"pointermove",{passive:!0}).pipe((0,k.T)(L=>(this.currMousePosition=L[this.control.clientProperty],!0))),M=(0,n.R)(this.nativeElement,"pointerout",{passive:!0}).pipe((0,k.T)(()=>!1)),x=new g.t(!0);return e.pipe((0,s.n)(L=>((0,b.h)(a,M).pipe((0,p.F)(),(0,f.M)(R=>x.next(R)),(0,l.Q)(i)).subscribe(),(0,n.R)(this.thumb.nativeElement,"pointermove").pipe(Nt(),(0,l.Q)(i)).subscribe(),this.onTrackFirstClick(L).pipe((0,v.c)(200),(0,s.n)(()=>x.pipe((0,s.n)(R=>{const W=this.getScrollDirection(this.currMousePosition);return R&&this.scrollDirection===W?this.onTrackOngoingMousedown():D.w}),(0,r.j)(()=>{x.next(!0)}))),(0,l.Q)(i)))))}constructor(){(0,t.QZP)(e=>{this.cmp.disableSensor()?(this.update(),this.sizeChangeSub?.unsubscribe()):this.zone.runOutsideAngular(()=>{this.sizeChangeSub=oe({element:this.nativeElement,throttleDuration:this.cmp.sensorThrottleTime()}).pipe((0,f.M)(()=>this.update())).subscribe()}),e(()=>this.sizeChangeSub?.unsubscribe())}),super()}update(){this.cmp.nativeElement.style.setProperty(this.cssLengthProperty,`${this.size}`)}onTrackFirstClick(e){let i;if(this.currMousePosition=e[this.control.clientProperty],this.scrollDirection=this.getScrollDirection(this.currMousePosition),this.scrollMax=this.control.viewportScrollMax,"forward"===this.scrollDirection){const a=this.getScrollForwardIncrement();i=a>=this.scrollMax?this.scrollMax:a}else{const a=this.getScrollBackwardIncrement();i=a<=0?0:a}return this.scrollTo(i)}onTrackOngoingMousedown(){let e,i,a;({position:e,nextPosition:i,endPosition:a}="forward"===this.scrollDirection?this.getOnGoingScrollForward():this.getOnGoingScrollBackward());const M=this.isFinalStep(e);return this.scrollTo(M?a:i).pipe(u(()=>!M),(0,s.n)(()=>this.onTrackOngoingMousedown()))}getCurrPosition(e){return"forward"===this.scrollDirection?Math.abs(e):Math.abs(e+this.thumb.size-this.viewportScrollSize)}isFinalStep(e){const i=this.viewportScrollSize-this.thumb.size-this.getCurrPosition(e);return 0===Math.floor(i/this.viewportSize)}static#t=this.\u0275fac=function(i){return new(i||o)};static#e=this.\u0275dir=t.FsC({type:o,contentQueries:function(i,a,M){if(1&i&&t.wni(M,jt,5),2&i){let x;t.mGM(x=t.lsd())&&(a.thumb=x.first)}},features:[t.Vt3]})}return o})(),We=(()=>{class o extends Rt{constructor(){super(...arguments),this.cssLengthProperty="--track-x-length"}get offset(){return this.clientRect.left}get size(){return this.clientRect.width}get viewportScrollSize(){return this.cmp.viewport.contentWidth}get viewportSize(){return this.cmp.viewport.offsetWidth}getScrollDirection(e){return"rtl"===this.cmp.direction()?e-this.thumb.offset<0?"forward":"backward":e-this.thumb.offset>0?"forward":"backward"}scrollTo(e){return(0,c.Sx)(this.cmp.scrollTo({left:e,duration:this.cmp.trackScrollDuration}))}getScrollForwardIncrement(){return"rtl"===this.cmp.direction()?this.scrollMax- -(this.control.viewportScrollOffset-this.viewportSize):this.control.viewportScrollOffset+this.viewportSize}getScrollBackwardIncrement(){return"rtl"===this.cmp.direction()?this.scrollMax- -(this.control.viewportScrollOffset+this.viewportSize):this.control.viewportScrollOffset-this.viewportSize}getOnGoingScrollForward(){if("rtl"===this.cmp.direction()){const i=this.control.viewportScrollOffset-this.viewportSize;return{position:i,nextPosition:this.scrollMax+i,endPosition:0}}const e=this.control.viewportScrollOffset+this.viewportSize;return{position:e,nextPosition:e,endPosition:this.scrollMax}}getOnGoingScrollBackward(){if("rtl"===this.cmp.direction()){const i=this.control.viewportScrollOffset+this.viewportSize;return{position:i,nextPosition:this.scrollMax+i,endPosition:this.scrollMax}}const e=this.control.viewportScrollOffset-this.viewportSize;return{position:e,nextPosition:e,endPosition:0}}static#t=this.\u0275fac=(()=>{let e;return function(a){return(e||(e=t.xGo(o)))(a||o)}})();static#e=this.\u0275dir=t.FsC({type:o,selectors:[["","scrollbarTrackX",""]],standalone:!0,features:[t.Jv_([{provide:Rt,useExisting:o}]),t.Vt3]})}return o})(),Ue=(()=>{class o extends Rt{constructor(){super(...arguments),this.cssLengthProperty="--track-y-length"}get offset(){return this.clientRect.top}get size(){return this.clientRect.height}get viewportScrollSize(){return this.cmp.viewport.contentHeight}get viewportSize(){return this.cmp.viewport.offsetHeight}getScrollDirection(e){return e-this.thumb.offset>0?"forward":"backward"}scrollTo(e){return(0,c.Sx)(this.cmp.scrollTo({top:e,duration:this.cmp.trackScrollDuration}))}getScrollForwardIncrement(){return this.control.viewportScrollOffset+this.viewportSize}getScrollBackwardIncrement(){return this.control.viewportScrollOffset-this.viewportSize}getOnGoingScrollForward(){const e=this.control.viewportScrollOffset+this.viewportSize;return{position:e,nextPosition:e,endPosition:this.scrollMax}}getOnGoingScrollBackward(){const e=this.control.viewportScrollOffset-this.viewportSize;return{position:e,nextPosition:e,endPosition:0}}static#t=this.\u0275fac=(()=>{let e;return function(a){return(e||(e=t.xGo(o)))(a||o)}})();static#e=this.\u0275dir=t.FsC({type:o,selectors:[["","scrollbarTrackY",""]],standalone:!0,features:[t.Jv_([{provide:Rt,useExisting:o}]),t.Vt3]})}return o})(),Ge=(()=>{class o extends jt{get offset(){return this.clientRect.left}get size(){return this.clientRect.width}get dragStartOffset(){return this.offset+this.document.defaultView.scrollX}static#t=this.\u0275fac=(()=>{let e;return function(a){return(e||(e=t.xGo(o)))(a||o)}})();static#e=this.\u0275dir=t.FsC({type:o,selectors:[["","scrollbarThumbX",""]],standalone:!0,features:[t.Jv_([{provide:jt,useExisting:o}]),t.Vt3]})}return o})(),Ve=(()=>{class o extends jt{get offset(){return this.clientRect.top}get size(){return this.clientRect.height}get dragStartOffset(){return this.offset+this.document.defaultView.scrollY}static#t=this.\u0275fac=(()=>{let e;return function(a){return(e||(e=t.xGo(o)))(a||o)}})();static#e=this.\u0275dir=t.FsC({type:o,selectors:[["","scrollbarThumbY",""]],standalone:!0,features:[t.Jv_([{provide:jt,useExisting:o}]),t.Vt3]})}return o})(),ne=(()=>{class o extends Vt{constructor(){super(...arguments),this.injector=(0,t.WQX)(t.zZn),this.afterFirstClickDelay=120,this.firstClickDuration=100,this.scrollBy=50,this.onGoingScrollBy=12,this.canScrollFunc={forward:(e,i)=>Math.abs(e)Math.abs(e)>0},this.scrollStepFunc={forward:(e,i)=>i+e,backward:(e,i)=>i-e},this.horizontalScrollStepFunc={rtl:{forward:(e,i,a)=>a+i-e,backward:(e,i,a)=>a+i+e},ltr:this.scrollStepFunc}}get pointerEvents(){const e=(0,n.R)(this.nativeElement,"pointerdown").pipe(Nt(),Yt(this.document)),i=(0,n.R)(this.document,"pointerup",{passive:!0}).pipe(Wt(this.document)),a=(0,n.R)(this.nativeElement,"pointerleave",{passive:!0}),M=(0,b.h)(i,a);return e.pipe((0,s.n)(()=>this.firstScrollStep().pipe((0,v.c)(this.afterFirstClickDelay),(0,s.n)(()=>this.onOngoingPointerdown()),(0,l.Q)(M))))}ngOnInit(){this.canScroll=this.canScrollFunc[this.scrollDirection],"x"===this.control.axis?(0,t.N4e)(this.injector,()=>{(0,t.QZP)(()=>{const e=this.cmp.direction();this.nextStep=this.horizontalScrollStepFunc[e][this.scrollDirection]})}):this.nextStep=this.scrollStepFunc[this.scrollDirection]}firstScrollStep(){const e=this.nextStep(this.scrollBy,this.control.viewportScrollOffset,this.control.viewportScrollMax);return this.control.scrollTo(e,this.firstClickDuration)}onGoingScrollStep(){const e=this.control.viewportScrollMax,i=this.nextStep(this.onGoingScrollBy,this.control.viewportScrollOffset,e);this.control.instantScrollTo(i,e)}onOngoingPointerdown(){return function w(o=0,F=N.E){return o<0&&(o=0),(0,m.O)(o,o,F)}(0,C.X).pipe(u(()=>this.canScroll(this.control.viewportScrollOffset,this.control.viewportScrollMax)),(0,f.M)(()=>this.onGoingScrollStep()))}static#t=this.\u0275fac=(()=>{let e;return function(a){return(e||(e=t.xGo(o)))(a||o)}})();static#e=this.\u0275cmp=t.VBU({type:o,selectors:[["button","scrollbarButton",""]],inputs:{scrollbarButton:"scrollbarButton",scrollDirection:"scrollDirection"},standalone:!0,features:[t.Vt3,t.aNF],attrs:Ne,decls:3,vars:0,consts:[[1,"ng-scrollbar-button-icon"],["viewBox","0 0 512 512","xmlns","http://www.w3.org/2000/svg"],["d","M413.1,327.3l-1.8-2.1l-136-156.5c-4.6-5.3-11.5-8.6-19.2-8.6c-7.7,0-14.6,3.4-19.2,8.6L101,324.9l-2.3,2.6 C97,330,96,333,96,336.2c0,8.7,7.4,15.8,16.6,15.8v0h286.8v0c9.2,0,16.6-7.1,16.6-15.8C416,332.9,414.9,329.8,413.1,327.3z"]],template:function(i,a){1&i&&(t.j41(0,"div",0),t.qSk(),t.j41(1,"svg",1),t.nrm(2,"path",2),t.k0s()())},styles:["[_nghost-%COMP%]{--scrollbar-button-size: 20px;position:relative;border:none;margin:0;padding:0;border-radius:0;appearance:none;background-color:var(--scrollbar-button-color)}[_nghost-%COMP%] svg[_ngcontent-%COMP%]{fill:var(--scrollbar-button-fill)}[_nghost-%COMP%]:hover{background:var(--scrollbar-button-hover-color)}[_nghost-%COMP%]:hover svg[_ngcontent-%COMP%]{fill:var(--scrollbar-button-hover-fill)}[_nghost-%COMP%]:active{background:var(--scrollbar-button-active-color)}[_nghost-%COMP%]:active svg[_ngcontent-%COMP%]{fill:var(--scrollbar-button-active-fill)}[scrollbarButton=top][_nghost-%COMP%], [scrollbarButton=start][_nghost-%COMP%]{order:1}[scrollbarButton=bottom][_nghost-%COMP%], [scrollbarButton=end][_nghost-%COMP%]{order:3}[scrollbarButton=top][_nghost-%COMP%], [scrollbarButton=bottom][_nghost-%COMP%]{width:100%;height:var(--scrollbar-button-size)}[scrollbarButton=start][_nghost-%COMP%], [scrollbarButton=end][_nghost-%COMP%]{width:var(--scrollbar-button-size);height:100%}[scrollbarButton=bottom][_nghost-%COMP%]{--_button-rotate: 180deg}[scrollbarButton=start][_nghost-%COMP%]{--_button-rotate: -90deg}[scrollbarButton=start][_nghost-%COMP%] .ng-scrollbar-button-icon[_ngcontent-%COMP%]{writing-mode:vertical-lr}[scrollbarButton=end][_nghost-%COMP%]{--_button-rotate: 90deg}[scrollbarButton=end][_nghost-%COMP%] .ng-scrollbar-button-icon[_ngcontent-%COMP%]{writing-mode:vertical-rl}.ng-scrollbar-button-icon[_ngcontent-%COMP%]{rotate:var(--_button-rotate);display:flex;place-content:center;place-items:center;width:100%;height:100%}"],changeDetection:0})}return o})(),$e=(()=>{class o extends se{constructor(){super(...arguments),this.clientProperty="clientY",this.axis="y"}get viewportScrollMax(){return this.cmp.viewport.scrollMaxY}get viewportScrollOffset(){return this.cmp.viewport.scrollTop}scrollTo(e,i){return(0,c.Sx)(this.cmp.scrollTo({top:e,duration:i}))}instantScrollTo(e){this.cmp.viewport.scrollYTo(e)}static#t=this.\u0275fac=(()=>{let e;return function(a){return(e||(e=t.xGo(o)))(a||o)}})();static#e=this.\u0275cmp=t.VBU({type:o,selectors:[["scrollbar-y"]],standalone:!0,features:[t.Jv_([{provide:Gt,useExisting:o}]),t.Vt3,t.aNF],decls:6,vars:7,consts:[["sticky",""],[1,"ng-scrollbar-sticky"],[1,"ng-scrollbar-track-wrapper"],["scrollbarTrackY",""],["scrollbarThumbY",""],["scrollbarButton","top","scrollDirection","backward"],["scrollbarButton","bottom","scrollDirection","forward"]],template:function(i,a){1&i&&(t.j41(0,"div",1,0)(2,"div",2)(3,"div",3),t.nrm(4,"div",4),t.k0s(),t.DNE(5,Oe,2,6),t.k0s()()),2&i&&(t.R7$(3),t.ZvI("ng-scrollbar-track ",a.cmp.trackClass,""),t.R7$(),t.ZvI("ng-scrollbar-thumb ",a.cmp.thumbClass,""),t.R7$(),t.vxM(5,a.cmp.buttons()?5:-1))},dependencies:[Ue,Ve,ne],styles:["[_nghost-%COMP%]{position:absolute;inset:0;pointer-events:none;min-width:calc(var(--viewport-width) * 1px);min-height:calc(var(--viewport-height) * 1px)}.ng-scrollbar-sticky[_ngcontent-%COMP%]{top:calc(var(--_scrollbar-wrapper-top) * 1px);left:calc(var(--_scrollbar-wrapper-left) * 1px);right:calc(var(--_scrollbar-wrapper-right) * 1px);height:calc(var(--_scrollbar-wrapper-height) * 1px);width:calc(var(--_scrollbar-wrapper-width) * 1px);position:sticky;z-index:100;opacity:var(--_scrollbar-hover-opacity);transition:var(--_scrollbar-opacity-transition)}.ng-scrollbar-track-wrapper[_ngcontent-%COMP%]{touch-action:none;-webkit-user-select:none;user-select:none;top:var(--_scrollbar-track-top);bottom:var(--_scrollbar-track-bottom);right:var(--_scrollbar-track-right);left:var(--_scrollbar-track-left);pointer-events:var(--_scrollbar-pointer-events);transition:var(--scrollbar-track-wrapper-transition);position:absolute;overflow:hidden;display:flex;place-items:center}.ng-scrollbar-track[_ngcontent-%COMP%]{position:relative;width:100%;height:100%;background-color:var(--scrollbar-track-color);transition:var(--scrollbar-track-transition);border-radius:var(--scrollbar-border-radius);cursor:default;z-index:1;order:2}.ng-scrollbar-thumb[_ngcontent-%COMP%]{box-sizing:border-box;position:absolute;transition:var(--scrollbar-thumb-transition);border-radius:var(--scrollbar-border-radius);height:var(--_thumb-height);width:var(--_thumb-width);animation-name:_ngcontent-%COMP%_scrollbarThumbAnimation;animation-duration:1ms;animation-timing-function:linear}@keyframes _ngcontent-%COMP%_scrollbarThumbAnimation{0%{translate:var(--_scrollbar-thumb-transform-from)}to{translate:var(--_scrollbar-thumb-transform-to)}}","[_nghost-%COMP%]{--_scrollbar-wrapper-top: 0;--_scrollbar-wrapper-left: var(--_scrollbar-wrapper-y-left);--_scrollbar-wrapper-right: var(--_scrollbar-wrapper-y-right);--_scrollbar-wrapper-height: var(--viewport-height);--_scrollbar-wrapper-width: var(--_scrollbar-thickness);--_scrollbar-track-top: var(--_vertical-top);--_scrollbar-track-bottom: var(--_vertical-bottom);--_scrollbar-track-right: var(--_vertical-right);--_scrollbar-track-left: var(--_vertical-left);--_thumb-height: calc(var(--thumb-y-length) * 1px);--_thumb-width: 100%;--_scrollbar-thumb-transform-from: 0 0;--_scrollbar-thumb-transform-to: 0 calc(var(--_scrollbar-y-thumb-transform-to-value) * 1px)}.ng-scrollbar-track-wrapper[_ngcontent-%COMP%]{width:var(--_track-y-thickness);flex-direction:column}.ng-scrollbar-track-wrapper[_ngcontent-%COMP%]:hover{--_track-y-thickness: var(--_scrollbar-hover-thickness-px);--_thumb-y-color: var(--scrollbar-thumb-hover-color)}.ng-scrollbar-thumb[_ngcontent-%COMP%]{animation-timeline:var(--_animation-timeline-y);min-height:calc(var(--scrollbar-thumb-min-size) * 1px);display:var(--_vertical-thumb-display);background-color:var(--_thumb-y-color)}"],changeDetection:0})}return o})(),He=(()=>{class o extends se{get viewportScrollMax(){return this.cmp.viewport.scrollMaxX}get viewportScrollOffset(){return this.cmp.viewport.scrollLeft}constructor(){(0,t.QZP)(()=>{this.handlePosition="rtl"===this.cmp.direction()?(e,i)=>-(i-e):e=>e}),super(),this.manager=(0,t.WQX)(ie),this.clientProperty="clientX",this.axis="x"}scrollTo(e,i){return(0,c.Sx)(this.cmp.scrollTo({left:e,duration:i}))}instantScrollTo(e,i){this.cmp.viewport.scrollXTo(this.handlePosition(e,i))}static#t=this.\u0275fac=function(i){return new(i||o)};static#e=this.\u0275cmp=t.VBU({type:o,selectors:[["scrollbar-x"]],hostVars:1,hostBindings:function(i,a){2&i&&t.BMQ("dir",a.cmp.direction())},standalone:!0,features:[t.Jv_([{provide:Gt,useExisting:o}]),t.Vt3,t.aNF],decls:6,vars:7,consts:[["sticky",""],[1,"ng-scrollbar-sticky"],[1,"ng-scrollbar-track-wrapper"],["scrollbarTrackX",""],["scrollbarThumbX",""],["scrollbarButton","start","scrollDirection","backward"],["scrollbarButton","end","scrollDirection","forward"]],template:function(i,a){1&i&&(t.j41(0,"div",1,0)(2,"div",2)(3,"div",3),t.nrm(4,"div",4),t.k0s(),t.DNE(5,Te,2,6),t.k0s()()),2&i&&(t.R7$(3),t.ZvI("ng-scrollbar-track ",a.cmp.trackClass,""),t.R7$(),t.ZvI("ng-scrollbar-thumb ",a.cmp.thumbClass,""),t.R7$(),t.vxM(5,a.cmp.buttons()?5:-1))},dependencies:[We,Ge,ne],styles:["[_nghost-%COMP%]{position:absolute;inset:0;pointer-events:none;min-width:calc(var(--viewport-width) * 1px);min-height:calc(var(--viewport-height) * 1px)}.ng-scrollbar-sticky[_ngcontent-%COMP%]{top:calc(var(--_scrollbar-wrapper-top) * 1px);left:calc(var(--_scrollbar-wrapper-left) * 1px);right:calc(var(--_scrollbar-wrapper-right) * 1px);height:calc(var(--_scrollbar-wrapper-height) * 1px);width:calc(var(--_scrollbar-wrapper-width) * 1px);position:sticky;z-index:100;opacity:var(--_scrollbar-hover-opacity);transition:var(--_scrollbar-opacity-transition)}.ng-scrollbar-track-wrapper[_ngcontent-%COMP%]{touch-action:none;-webkit-user-select:none;user-select:none;top:var(--_scrollbar-track-top);bottom:var(--_scrollbar-track-bottom);right:var(--_scrollbar-track-right);left:var(--_scrollbar-track-left);pointer-events:var(--_scrollbar-pointer-events);transition:var(--scrollbar-track-wrapper-transition);position:absolute;overflow:hidden;display:flex;place-items:center}.ng-scrollbar-track[_ngcontent-%COMP%]{position:relative;width:100%;height:100%;background-color:var(--scrollbar-track-color);transition:var(--scrollbar-track-transition);border-radius:var(--scrollbar-border-radius);cursor:default;z-index:1;order:2}.ng-scrollbar-thumb[_ngcontent-%COMP%]{box-sizing:border-box;position:absolute;transition:var(--scrollbar-thumb-transition);border-radius:var(--scrollbar-border-radius);height:var(--_thumb-height);width:var(--_thumb-width);animation-name:_ngcontent-%COMP%_scrollbarThumbAnimation;animation-duration:1ms;animation-timing-function:linear}@keyframes _ngcontent-%COMP%_scrollbarThumbAnimation{0%{translate:var(--_scrollbar-thumb-transform-from)}to{translate:var(--_scrollbar-thumb-transform-to)}}","[_nghost-%COMP%]{--_scrollbar-wrapper-top: var(--_scrollbar-wrapper-x-top);--_scrollbar-wrapper-left: 0;--_scrollbar-wrapper-right: 0;--_scrollbar-wrapper-height: var(--_scrollbar-thickness);--_scrollbar-wrapper-width: var(--viewport-width);--_scrollbar-track-top: var(--_horizontal-top);--_scrollbar-track-bottom: var(--_horizontal-bottom);--_scrollbar-track-right: var(--_horizontal-right);--_scrollbar-track-left: var(--_horizontal-left);--_thumb-height: 100%;--_thumb-width: calc(var(--thumb-x-length) * 1px);--_scrollbar-thumb-transform-from: 0;--_scrollbar-thumb-transform-to: calc(var(--_scrollbar-x-thumb-transform-to-value) * 1px)}[_nghost-%COMP%] .ng-scrollbar-button[scrollbarButton=start][_ngcontent-%COMP%]{_--button-rotate:90}[_nghost-%COMP%] .ng-scrollbar-button[scrollbarButton=end][_ngcontent-%COMP%]{_--button-rotate:-90}[dir=rtl][_nghost-%COMP%] .ng-scrollbar-thumb[_ngcontent-%COMP%]{animation-name:_ngcontent-%COMP%_scrollbarThumbRTLAnimation;will-change:right;--_scrollbar-thumb-transform-to: calc(var(--_scrollbar-x-thumb-transform-to-value) * -1px)}[dir=rtl][_nghost-%COMP%] .ng-scrollbar-button[scrollbarButton=start][_ngcontent-%COMP%]{--_button-rotate: 90deg}[dir=rtl][_nghost-%COMP%] .ng-scrollbar-button[scrollbarButton=end][_ngcontent-%COMP%]{--_button-rotate: -90deg}.ng-scrollbar-track-wrapper[_ngcontent-%COMP%]{height:var(--_track-x-thickness);flex-direction:row}.ng-scrollbar-track-wrapper[_ngcontent-%COMP%]:hover{--_track-x-thickness: var(--_scrollbar-hover-thickness-px);--_thumb-x-color: var(--scrollbar-thumb-hover-color)}.ng-scrollbar-thumb[_ngcontent-%COMP%]{animation-timeline:var(--_animation-timeline-x);min-width:calc(var(--scrollbar-thumb-min-size) * 1px);display:var(--_horizontal-thumb-display);background-color:var(--_thumb-x-color)}@keyframes _ngcontent-%COMP%_scrollbarThumbRTLAnimation{0%{right:var(--_scrollbar-thumb-transform-from)}to{right:calc(var(--_scrollbar-thumb-transform-to) * -1)}}"],changeDetection:0})}return o})(),ae=(()=>{class o{constructor(){this.cmp=(0,t.WQX)(Lt)}static#t=this.\u0275fac=function(i){return new(i||o)};static#e=this.\u0275cmp=t.VBU({type:o,selectors:[["scrollbars"]],standalone:!0,features:[t.aNF],decls:2,vars:2,template:function(i,a){1&i&&t.DNE(0,Ie,1,0,"scrollbar-y")(1,Le,1,0,"scrollbar-x"),2&i&&(t.vxM(0,a.cmp.verticalUsed()?0:-1),t.R7$(),t.vxM(1,a.cmp.horizontalUsed()?1:-1))},dependencies:[He,$e],styles:["[_nghost-%COMP%]{display:contents}"],changeDetection:0})}return o})(),le=(()=>{class o extends Ae{ngOnInit(){this.viewport.init(this.nativeElement,this.contentWrapper.nativeElement),super.ngOnInit()}static#t=this.\u0275fac=(()=>{let e;return function(a){return(e||(e=t.xGo(o)))(a||o)}})();static#e=this.\u0275cmp=t.VBU({type:o,selectors:[["ng-scrollbar",3,"externalViewport",""]],viewQuery:function(i,a){if(1&i&&(t.GBs(je,7),t.GBs(ae,7)),2&i){let M;t.mGM(M=t.lsd())&&(a.contentWrapper=M.first),t.mGM(M=t.lsd())&&(a._scrollbars=M.first)}},exportAs:["ngScrollbar"],standalone:!0,features:[t.Jv_([{provide:Lt,useExisting:o}]),t.nM4([ze]),t.Vt3,t.aNF],ngContentSelectors:Re,decls:4,vars:0,consts:[["contentWrapper",""]],template:function(i,a){1&i&&(t.NAR(),t.j41(0,"div",null,0),t.SdG(2),t.nrm(3,"scrollbars"),t.k0s())},dependencies:[ae],styles:["[_nghost-%COMP%]{display:block;position:relative;max-height:100%;max-width:100%;--scrollbar-border-radius: 0px;--scrollbar-thickness: 5;--scrollbar-offset: 0;--scrollbar-track-wrapper-transition: width 60ms linear, height 60ms linear;--scrollbar-track-color: transparent;--scrollbar-track-transition: none;--scrollbar-thumb-color: rgb(0 0 0 / 20%);--scrollbar-thumb-hover-color: var(--scrollbar-thumb-color);--scrollbar-hover-thickness: var(--scrollbar-thickness);--scrollbar-thumb-transition: none;--scrollbar-thumb-min-size: 20;--scrollbar-button-color: var(--scrollbar-thumb-color);--scrollbar-button-hover-color: var(--scrollbar-button-color);--scrollbar-button-active-color: var(--scrollbar-button-hover-color);--scrollbar-button-fill: white;--scrollbar-button-hover-fill: var(--scrollbar-button-fill);--scrollbar-button-active-fill: var(--scrollbar-button-hover-fill);--scrollbar-hover-opacity-transition-enter-duration: 0;--scrollbar-hover-opacity-transition-leave-duration: .4s;--scrollbar-hover-opacity-transition-leave-delay: 1s;--scrollbar-overscroll-behavior: initial;--scrollbar-mobile-overscroll-behavior: none;--_scrollbar-thickness: calc(var(--scrollbar-thickness) + var(--scrollbar-offset) * 2);--_scrollbar-pointer-events: auto;--_scrollbar-offset-px: calc(var(--scrollbar-offset) * 1px);--_scrollbar-thickness-px: calc(var(--scrollbar-thickness) * 1px);--_scrollbar-hover-thickness-px: calc(var(--scrollbar-hover-thickness) * 1px);--_viewport-padding-top: 0;--_viewport-padding-bottom: 0;--_viewport-padding-left: 0;--_viewport-padding-right: 0;--_horizontal-thumb-display: block;--_vertical-thumb-display: block;--_viewport-overflow: auto;--_thumb-x-color: var(--scrollbar-thumb-color);--_thumb-y-color: var(--scrollbar-thumb-color);--_track-y-thickness: var(--_scrollbar-thickness-px);--_track-x-thickness: var(--_scrollbar-thickness-px);--_viewport-overscroll-behavior: var(--scrollbar-overscroll-behavior);--_scrollbar-content-width: fit-content}[_nghost-%COMP%]{--_vertical-top: var(--_scrollbar-offset-px);--_vertical-bottom: var(--_scrollbar-offset-px);--_horizontal-left: var(--_scrollbar-offset-px);--_horizontal-right: var(--_scrollbar-offset-px);--_horizontal-top: initial;--_horizontal-bottom: var(--_scrollbar-offset-px);--_scrollbar-wrapper-x-top: calc(var(--viewport-height) - var(--_scrollbar-thickness));--reached-offset: 1px;--reached-offset-top: var(--reached-offset);--reached-offset-bottom: var(--reached-offset);--reached-offset-start: var(--reached-offset);--reached-offset-end: var(--reached-offset);--_viewport_scroll-timeline: unset;--_animation-timeline-y: unset;--_scrollbar-y-thumb-transform-to-value: unset;--_scrollbar-x-thumb-transform-to-value: unset;--_scrollbar-thumb-transform-from: unset;--_scrollbar-thumb-transform-to: unset}.ng-scrollbar-external-viewport[_nghost-%COMP%] .ng-scroll-viewport{min-height:100%;min-width:100%;height:100%;max-height:100%;max-width:100%}.ng-scroll-viewport[_nghost-%COMP%], .ng-scrollbar-external-viewport[_nghost-%COMP%] .ng-scroll-viewport{position:relative;overflow:var(--_viewport-overflow);scroll-timeline:var(--_viewport_scroll-timeline);box-sizing:border-box!important;-webkit-overflow-scrolling:touch;will-change:scroll-position;-webkit-user-select:var(--_viewport-user-select);user-select:var(--_viewport-user-select);overscroll-behavior:var(--_viewport-overscroll-behavior)}.ng-scroll-viewport[_nghost-%COMP%] > .ng-scroll-content[_ngcontent-%COMP%], .ng-scrollbar-external-viewport[_nghost-%COMP%] .ng-scroll-viewport>.ng-scroll-content{width:var(--_scrollbar-content-width);z-index:1;min-width:100%;min-height:100%;contain:content;padding:var(--_viewport-padding-top, 0) var(--_viewport-padding-right, 0) var(--_viewport-padding-bottom, 0) var(--_viewport-padding-left, 0)}.ng-scroll-viewport[_nghost-%COMP%], .ng-scrollbar-external-viewport[_nghost-%COMP%] .ng-scroll-viewport{scrollbar-width:none!important}.ng-scroll-viewport[_nghost-%COMP%]::-webkit-scrollbar, .ng-scrollbar-external-viewport[_nghost-%COMP%] .ng-scroll-viewport::-webkit-scrollbar{display:none!important}[position=invertX][_nghost-%COMP%], [position=invertAll][_nghost-%COMP%]{--_horizontal-top: var(--_scrollbar-offset-px);--_horizontal-bottom: initial;--_scrollbar-wrapper-x-top: 0}[dir=ltr][_nghost-%COMP%]{--_scrollbar-wrapper-y-right: initial;--_vertical-right: var(--_scrollbar-offset-px);--_vertical-left: initial;--_scrollbar-wrapper-y-left: calc(var(--viewport-width) - var(--_scrollbar-thickness))}[dir=ltr][position=invertY][_nghost-%COMP%], [dir=ltr][position=invertAll][_nghost-%COMP%]{--_vertical-left: var(--_scrollbar-offset-px);--_vertical-right: initial;--_scrollbar-wrapper-y-left: 0}[dir=rtl][_nghost-%COMP%]{--_scrollbar-wrapper-y-left: initial;--_vertical-left: var(--_scrollbar-offset-px);--_vertical-right: initial;--_scrollbar-wrapper-y-right: calc(var(--viewport-width) - var(--_scrollbar-thickness))}[dir=rtl][position=invertY][_nghost-%COMP%], [dir=rtl][position=invertAll][_nghost-%COMP%]{--_vertical-right: var(--_scrollbar-offset-px);--_vertical-left: initial;--_scrollbar-wrapper-y-right: 0}[verticalUsed=true][horizontalUsed=true][_nghost-%COMP%]{--_scrollbar-thickness-margin: calc(var(--scrollbar-thickness) + var(--scrollbar-offset) * 3);--_scrollbar-thickness-margin-px: calc(var(--_scrollbar-thickness-margin) * 1px)}[horizontalUsed=true][_nghost-%COMP%]{--_vertical-top: var(--_scrollbar-offset-px);--_vertical-bottom: var(--_scrollbar-thickness-margin-px)}[horizontalUsed=true][position=invertX][_nghost-%COMP%], [horizontalUsed=true][position=invertAll][_nghost-%COMP%]{--_vertical-top: var(--_scrollbar-thickness-margin-px);--_vertical-bottom: var(--_scrollbar-offset-px)}[verticalUsed=true][dir=ltr][_nghost-%COMP%]{--_horizontal-left: var(--_scrollbar-offset-px);--_horizontal-right: var(--_scrollbar-thickness-margin-px)}[verticalUsed=true][dir=rtl][_nghost-%COMP%]{--_horizontal-left: var(--_scrollbar-thickness-margin-px);--_horizontal-right: var(--_scrollbar-offset-px)}[verticalUsed=true][position=invertY][dir=ltr][_nghost-%COMP%], [verticalUsed=true][position=invertAll][dir=ltr][_nghost-%COMP%]{--_horizontal-left: var(--_scrollbar-thickness-margin-px);--_horizontal-right: var(--_scrollbar-offset-px)}[verticalUsed=true][position=invertY][dir=rtl][_nghost-%COMP%], [verticalUsed=true][position=invertAll][dir=rtl][_nghost-%COMP%]{--_horizontal-left: var(--_scrollbar-offset-px);--_horizontal-right: var(--_scrollbar-thickness-margin-px)}[appearance=native][verticalUsed=true][dir=ltr][_nghost-%COMP%]{--_viewport-padding-left: 0;--_viewport-padding-right: calc(var(--_scrollbar-thickness) * 1px)}[appearance=native][verticalUsed=true][dir=rtl][_nghost-%COMP%]{--_viewport-padding-left: calc(var(--_scrollbar-thickness) * 1px);--_viewport-padding-right: 0}[appearance=native][verticalUsed=true][position=invertY][dir=ltr][_nghost-%COMP%], [appearance=native][verticalUsed=true][position=invertAll][dir=ltr][_nghost-%COMP%]{--_viewport-padding-left: calc(var(--_scrollbar-thickness) * 1px);--_viewport-padding-right: 0}[appearance=native][verticalUsed=true][position=invertY][dir=rtl][_nghost-%COMP%], [appearance=native][verticalUsed=true][position=invertAll][dir=rtl][_nghost-%COMP%]{--_viewport-padding-left: 0;--_viewport-padding-right: calc(var(--_scrollbar-thickness) * 1px)}[appearance=native][horizontalUsed=true][_nghost-%COMP%]{--_viewport-padding-top: 0;--_viewport-padding-bottom: calc(var(--_scrollbar-thickness) * 1px)}[appearance=native][horizontalUsed=true][position=invertX][_nghost-%COMP%], [appearance=native][horizontalUsed=true][position=invertAll][_nghost-%COMP%]{--_viewport-padding-top: calc(var(--_scrollbar-thickness) * 1px);--_viewport-padding-bottom: 0}[visibility=hover][_nghost-%COMP%]{--_scrollbar-hover-opacity: 0;--_scrollbar-opacity-transition: opacity var(--scrollbar-hover-opacity-transition-leave-duration) var(--scrollbar-hover-opacity-transition-leave-delay)}[visibility=hover][_nghost-%COMP%]:hover, [visibility=hover][_nghost-%COMP%]:active, [visibility=hover][_nghost-%COMP%]:focus{--_scrollbar-hover-opacity: 1;--_scrollbar-opacity-transition: opacity var(--scrollbar-hover-opacity-transition-enter-duration)}[dir=ltr][_nghost-%COMP%] .scroll-reached-trigger-element[trigger=start]{left:0;right:unset}[dir=ltr][_nghost-%COMP%] .scroll-reached-trigger-element[trigger=end]{right:0;left:unset}[dir=rtl][_nghost-%COMP%] .scroll-reached-trigger-element[trigger=start]{right:0;left:unset}[dir=rtl][_nghost-%COMP%] .scroll-reached-trigger-element[trigger=end]{left:0;right:unset}[_nghost-%COMP%] .ng-scroll-reached-wrapper, [_nghost-%COMP%] .scroll-reached-trigger-element{position:absolute;-webkit-user-select:none;user-select:none;pointer-events:none;z-index:-9999}[_nghost-%COMP%] .ng-scroll-reached-wrapper{visibility:hidden;inset:0;min-width:calc(var(--viewport-width) * 1px);min-height:calc(var(--viewport-height) * 1px)}[_nghost-%COMP%] [isHorizontallyScrollable=false] .scroll-reached-trigger-element[trigger=end]{display:none}[_nghost-%COMP%] [isVerticallyScrollable=false] .scroll-reached-trigger-element[trigger=bottom]{display:none}[_nghost-%COMP%] .scroll-reached-trigger-element{background:red}[_nghost-%COMP%] .scroll-reached-trigger-element[trigger=top], [_nghost-%COMP%] .scroll-reached-trigger-element[trigger=bottom]{left:0;right:0}[_nghost-%COMP%] .scroll-reached-trigger-element[trigger=start], [_nghost-%COMP%] .scroll-reached-trigger-element[trigger=end]{top:0;bottom:0}[_nghost-%COMP%] .scroll-reached-trigger-element[trigger=top]{top:0;height:var(--reached-offset-top)}[_nghost-%COMP%] .scroll-reached-trigger-element[trigger=bottom]{bottom:0;height:var(--reached-offset-bottom)}[_nghost-%COMP%] .scroll-reached-trigger-element[trigger=start]{width:var(--reached-offset-start)}[_nghost-%COMP%] .scroll-reached-trigger-element[trigger=end]{width:var(--reached-offset-end)}[verticalUsed=true][_nghost-%COMP%]{--_timeline-scope: --scrollerY;--_animation-timeline-y: --scrollerY;--_viewport_scroll-timeline: --scrollerY y;--_scrollbar-y-thumb-transform-to-value: calc(var(--track-y-length) - var(--thumb-y-length))}[horizontalUsed=true][_nghost-%COMP%]{--_timeline-scope: --scrollerX;--_animation-timeline-x: --scrollerX;--_viewport_scroll-timeline: --scrollerX x;--_scrollbar-x-thumb-transform-to-value: calc(var(--track-x-length) - var(--thumb-x-length))}[verticalUsed=true][horizontalUsed=true][_nghost-%COMP%]{--_timeline-scope: --scrollerX, --scrollerY;--_viewport_scroll-timeline: --scrollerX x, --scrollerY y}[orientation=vertical][_nghost-%COMP%]{--_viewport-overflow: hidden auto;--_scrollbar-content-width: unset}[orientation=horizontal][_nghost-%COMP%]{--_viewport-overflow: auto hidden}[disableInteraction=true][_nghost-%COMP%]{--_scrollbar-pointer-events: none}[isVerticallyScrollable=false][_nghost-%COMP%]{--_vertical-thumb-display: none}[isHorizontallyScrollable=false][_nghost-%COMP%]{--_horizontal-thumb-display: none}[dragging=x][_nghost-%COMP%], [dragging=y][_nghost-%COMP%]{--_viewport-user-select: none}[horizontalUsed=true][_nghost-%COMP%]{--thumb-x-length: max(calc(var(--viewport-width) * var(--track-x-length) / var(--content-width)), var(--scrollbar-thumb-min-size))}[verticalUsed=true][_nghost-%COMP%]{--thumb-y-length: max(calc(var(--viewport-height) * var(--track-y-length) / var(--content-height)), var(--scrollbar-thumb-min-size))}[dragging=x][_nghost-%COMP%]{--_track-x-thickness: calc(var(--scrollbar-hover-thickness) * 1px);--_thumb-x-color: var(--scrollbar-thumb-hover-color)}[dragging=y][_nghost-%COMP%]{--_track-y-thickness: calc(var(--scrollbar-hover-thickness) * 1px);--_thumb-y-color: var(--scrollbar-thumb-hover-color)}[mobile=true][_nghost-%COMP%]{--_viewport-overscroll-behavior: var(--scrollbar-mobile-overscroll-behavior)}"],changeDetection:0})}return o})(),Qe=(()=>{class o{static#t=this.\u0275fac=function(i){return new(i||o)};static#e=this.\u0275mod=t.$C({type:o});static#o=this.\u0275inj=t.G2t({})}return o})();var ce=X(99062),he=X(38117);function de(o,F){const e=/(\d+)|(\D+)/g,i=/\d+/,M=F.value,x=String(o.value).match(e),L=String(M).match(e);for(;x.length&&L.length;){const R=x.shift(),W=L.shift();if(i.test(R)||i.test(W)){if(!i.test(R))return-1;if(!i.test(W))return 1;if(R!==W)return Number(W)-Number(R)}else if(R!==W)return W.localeCompare(R)}return L.length-x.length}var Ct=X(3366),it=X(19664),$t=X(45794);let Ze=(()=>{class o{apiService;toastr;translate;stats$;constructor(e,i,a){this.apiService=e,this.toastr=i,this.translate=a}reqInter(){this.apiService.getReqInter().subscribe(()=>{this.toastr.success(this.translate.instant("api.global.succes.scanlaunched.notify"))})}static \u0275fac=function(i){return new(i||o)(t.rXU(Ct.G),t.rXU($t.tw),t.rXU(it.c$))};static \u0275cmp=t.VBU({type:o,selectors:[["app-req-network-inter"]],decls:16,vars:3,consts:[[1,"card"],["translate","network.inter.req.header",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-footer","d-flex","justify-content-end"],["translate","network.inter.req.button",1,"btn","btn-light",3,"click"]],template:function(i,a){1&i&&(t.j41(0,"div",0),t.EFF(1,"\n "),t.nrm(2,"div",1),t.EFF(3,"\n "),t.j41(4,"div",2),t.EFF(5,"\n "),t.nrm(6,"p",3),t.nI1(7,"translate"),t.EFF(8,"\n "),t.k0s(),t.EFF(9,"\n "),t.j41(10,"div",4),t.EFF(11,"\n "),t.j41(12,"button",5),t.bIt("click",function(){return a.reqInter()}),t.k0s(),t.EFF(13,"\n "),t.k0s(),t.EFF(14,"\n"),t.k0s(),t.EFF(15,"\n")),2&i&&(t.R7$(6),t.Y8G("innerHTML",t.bMT(7,1,"network.inter.req.subtitle"),t.npT))},dependencies:[it.Mm,it.D9]})}return o})();var pe=X(28990),ue=X(21264);function Ke(o,F){if(1&o&&(t.j41(0,"div",4),t.EFF(1,"\n "),t.nrm(2,"div",5),t.EFF(3,"\n "),t.j41(4,"div",6),t.EFF(5,"\n "),t.nrm(6,"p",7),t.nI1(7,"translate"),t.EFF(8,"\n "),t.j41(9,"div",8),t.EFF(10,"\n "),t.nrm(11,"div",9),t.EFF(12,"\n "),t.k0s(),t.EFF(13,"\n "),t.k0s(),t.EFF(14,"\n "),t.k0s()),2&o){const e=t.XpG(2);t.R7$(6),t.Y8G("innerHTML",t.bMT(7,2,"network.stats.detail.visu.subtitle"),t.npT),t.R7$(5),t.Y8G("chart",e.chart)}}function qe(o,F){if(1&o&&(t.j41(0,"div",2),t.EFF(1,"\n "),t.DNE(2,Ke,15,4,"div",3),t.EFF(3,"\n "),t.k0s()),2&o){const e=t.XpG();t.R7$(2),t.Y8G("ngIf",e.chart)}}function Je(o,F){if(1&o&&(t.j41(0,"div",4),t.EFF(1,"\n "),t.nrm(2,"div",5),t.EFF(3,"\n "),t.j41(4,"div",6),t.EFF(5,"\n "),t.nrm(6,"p",7),t.nI1(7,"translate"),t.EFF(8,"\n "),t.j41(9,"div",8),t.EFF(10,"\n "),t.nrm(11,"div",10),t.EFF(12,"\n "),t.k0s(),t.EFF(13,"\n "),t.k0s(),t.EFF(14,"\n "),t.k0s()),2&o){const e=t.XpG();t.R7$(6),t.Y8G("innerHTML",t.bMT(7,2,"network.stats.detail.visu.subtitle"),t.npT),t.R7$(5),t.Y8G("chart",e.chart2)}}let to=(()=>{class o extends pe.U{apiService;translate;timeStamp;chart;chart2;devices$;totalTx;totalFail;plugin;constructor(e,i){super(),this.apiService=e,this.translate=i}ngOnInit(){this.devices$=this.apiService.getDevices(),setTimeout(()=>{this.plugin=JSON.parse(sessionStorage.getItem("plugin"))},500)}ngOnChanges(e){e.timeStamp.currentValue!==e.timeStamp.previousValue&&this.apiService.getNwkStatsByTimeStamp(this.timeStamp).subscribe(i=>{this.createChart(i),this.createChart2(i)})}createChart(e){const i=[],a=[],M=[],x=[];e.forEach(W=>{const yt=W.Channels;yt.sort((ut,wt)=>Number(ut.Channel)-Number(wt.Channel)),W.Channels=yt}),e[0].Channels.forEach(W=>{a.push(W.Channel)}),e.forEach(W=>{const yt=[];let ut=0;W.Channels.forEach(wt=>{yt.push(wt.Level),x[ut]=x[ut]?Number(x[ut])+Number(wt.Level):Number(wt.Level),ut++}),i.push({name:W.ZDeviceName?W.ZDeviceName:W._NwkId,data:yt})}),x.forEach(W=>{W/=e.length,W=Number(W).toFixed(2),M.push(Number(W))});const L=i;L.push({name:"Average",data:M,type:"spline",marker:{lineWidth:2,lineColor:ue.getOptions().colors[3],fillColor:"white"}});const R=new et.t1({chart:{type:"column",height:"20%"},title:{text:this.translate.instant("network.stats.detail.visu.chart.title")},xAxis:{categories:a},yAxis:{title:{text:this.translate.instant("network.stats.detail.visu.chart.y-axis")}},credits:{enabled:!1},series:L});this.chart=R,this.subs.add(R.ref$.subscribe())}createChart2(e){const i=[],a=[];e.forEach(x=>{const L=x.Channels;L.sort((R,W)=>Number(R.Channel)-Number(W.Channel)),x.Channels=L}),e[0].Channels.forEach(x=>{a.push(x.Channel)}),e.forEach(x=>{const L=[];x.Channels.forEach(R=>{L.push(R.Level)}),i.push({name:x.ZDeviceName?x.ZDeviceName:x._NwkId,data:L,pointPlacement:"on"})});const M=new et.t1({chart:{height:"90%",polar:!0,type:"line"},pane:{},title:{text:this.translate.instant("network.stats.detail.visu.chart.title")},xAxis:{categories:a,tickmarkPlacement:"on",lineWidth:0},yAxis:{gridLineInterpolation:"polygon",lineWidth:0,min:0},tooltip:{shared:!0,pointFormat:'{series.name}: {point.y:,.0f}
'},legend:{align:"left",verticalAlign:"bottom"},credits:{enabled:!1},series:i,responsive:{rules:[{condition:{maxWidth:600},chartOptions:{legend:{align:"center",verticalAlign:"bottom"},pane:{size:"80%"}}}]}});this.chart2=M,this.subs.add(M.ref$.subscribe())}static \u0275fac=function(i){return new(i||o)(t.rXU(Ct.G),t.rXU(it.c$))};static \u0275cmp=t.VBU({type:o,selectors:[["app-detail-nwk-stat"]],inputs:{timeStamp:"timeStamp"},features:[t.Vt3,t.OA$],decls:10,vars:2,consts:[[1,"row","row-cols-1","row-cols-md-2","g-4","mt-1"],["class","col",4,"ngIf"],[1,"col"],["class","card",4,"ngIf"],[1,"card"],["translate","network.stats.detail.visu.header",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],[1,"text-center",3,"chart"],[3,"chart"]],template:function(i,a){1&i&&(t.j41(0,"div",0),t.EFF(1,"\n "),t.DNE(2,qe,4,1,"div",1),t.EFF(3,"\n "),t.j41(4,"div",2),t.EFF(5,"\n "),t.DNE(6,Je,15,4,"div",3),t.EFF(7,"\n "),t.k0s(),t.EFF(8,"\n"),t.k0s(),t.EFF(9,"\n")),2&i&&(t.R7$(2),t.Y8G("ngIf",!(null!=a.plugin&&a.plugin.Zigpy)),t.R7$(4),t.Y8G("ngIf",a.chart2))},dependencies:[y.bT,it.Mm,et.S6,it.D9]})}return o})(),eo=(()=>{class o{apiService;toastr;translate;stats$;constructor(e,i,a){this.apiService=e,this.toastr=i,this.translate=a}reqFull(){this.apiService.getNwkFull().subscribe(()=>{this.toastr.success(this.translate.instant("api.global.succes.scanlaunched.notify"))})}static \u0275fac=function(i){return new(i||o)(t.rXU(Ct.G),t.rXU($t.tw),t.rXU(it.c$))};static \u0275cmp=t.VBU({type:o,selectors:[["app-req-network-full"]],decls:16,vars:3,consts:[[1,"card"],["translate","network.full.req.header",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-footer","d-flex","justify-content-end"],["translate","network.full.req.button",1,"btn","btn-light",3,"click"]],template:function(i,a){1&i&&(t.j41(0,"div",0),t.EFF(1,"\n "),t.nrm(2,"div",1),t.EFF(3,"\n "),t.j41(4,"div",2),t.EFF(5,"\n "),t.nrm(6,"p",3),t.nI1(7,"translate"),t.EFF(8,"\n "),t.k0s(),t.EFF(9,"\n "),t.j41(10,"div",4),t.EFF(11,"\n "),t.j41(12,"button",5),t.bIt("click",function(){return a.reqFull()}),t.k0s(),t.EFF(13,"\n "),t.k0s(),t.EFF(14,"\n"),t.k0s(),t.EFF(15,"\n")),2&i&&(t.R7$(6),t.Y8G("innerHTML",t.bMT(7,1,"network.full.req.subtitle"),t.npT))},dependencies:[it.Mm,it.D9]})}return o})();function oo(o,F){if(1&o){const e=t.RV6();t.j41(0,"span",14),t.EFF(1,"\n "),t.j41(2,"div",15),t.EFF(3,"\n "),t.j41(4,"button",16),t.bIt("click",function(){const a=t.eBV(e).$implicit,M=t.XpG(2);return t.Njj(M.nwkStatByDate(a.value))}),t.EFF(5),t.nI1(6,"date"),t.k0s(),t.EFF(7,"\n "),t.k0s(),t.EFF(8,"\n "),t.j41(9,"div",15),t.EFF(10,"\n "),t.j41(11,"button",17),t.nI1(12,"translate"),t.bIt("click",function(){const a=t.eBV(e).$implicit,M=t.XpG(2);return t.Njj(M.deleteNwkStatByDate(a.value))}),t.EFF(13,"\n "),t.nrm(14,"i",18),t.EFF(15,"\n "),t.k0s(),t.EFF(16,"\n "),t.k0s(),t.EFF(17,"\n "),t.k0s()}if(2&o){const e=F.$implicit;t.R7$(5),t.SpI("\n ",t.i5U(6,2,1e3*e.value,"dd/MM/yyyy HH:mm:ss"),"\n "),t.R7$(6),t.FS9("title",t.bMT(12,5,"network.stats.visu.delete.button"))}}function ro(o,F){if(1&o&&(t.j41(0,"div",4),t.EFF(1,"\n "),t.nrm(2,"div",5),t.EFF(3,"\n "),t.j41(4,"div",6),t.EFF(5,"\n "),t.nrm(6,"p",7),t.nI1(7,"translate"),t.EFF(8,"\n "),t.j41(9,"div",8),t.EFF(10,"\n "),t.j41(11,"div",9),t.EFF(12,"\n "),t.j41(13,"div",10),t.EFF(14,"\n "),t.j41(15,"ng-scrollbar",11),t.EFF(16,"\n "),t.j41(17,"div",12),t.EFF(18,"\n "),t.DNE(19,oo,18,7,"span",13),t.nI1(20,"keyvalue"),t.EFF(21,"\n "),t.k0s(),t.EFF(22,"\n "),t.k0s(),t.EFF(23,"\n "),t.k0s(),t.EFF(24,"\n "),t.k0s(),t.EFF(25,"\n "),t.k0s(),t.EFF(26,"\n "),t.k0s(),t.EFF(27,"\n "),t.k0s()),2&o){const e=F.ngIf,i=t.XpG();t.R7$(6),t.Y8G("innerHTML",t.bMT(7,2,"network.stats.subtitle"),t.npT),t.R7$(13),t.Y8G("ngForOf",t.i5U(20,4,e,i.sortDesc))}}function io(o,F){1&o&&t.nrm(0,"app-req-network-full")}function so(o,F){if(1&o&&(t.j41(0,"div"),t.nrm(1,"app-detail-nwk-stat",19),t.k0s()),2&o){const e=t.XpG();t.R7$(),t.Y8G("timeStamp",e.timeStamp)}}let no=(()=>{class o{apiService;cdr;stats$;listSubject$=new Qt.B;timeStamp;plugin;constructor(e,i){this.apiService=e,this.cdr=i}ngOnInit(){this.stats$=this.apiService.getNwkStats(),setTimeout(()=>{this.plugin=JSON.parse(sessionStorage.getItem("plugin"))},500)}sortDesc(e,i){return de(e,i)}nwkStatByDate(e){this.timeStamp=e}deleteNwkStatByDate(e){this.apiService.deleteNwkStatsByTimeStamp(e).subscribe(()=>{this.stats$=this.apiService.getNwkStats(),this.cdr.detectChanges()})}static \u0275fac=function(i){return new(i||o)(t.rXU(Ct.G),t.rXU(t.gRc))};static \u0275cmp=t.VBU({type:o,selectors:[["app-nwk-stats"]],decls:17,vars:5,consts:[[1,"row","row-cols-1","row-cols-xxl-5","row-cols-xl-4","row-cols-lg-3","row-cols-md-2","row-cols-sm-1","g-4"],[1,"col"],["class","card",4,"ngIf"],[4,"ngIf"],[1,"card"],["translate","network.stats.header",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],[1,"vertical-container"],[1,"content-container"],[1,"scroll-container"],[1,"scrollable-content"],["class","row d-flex align-items-center",4,"ngFor","ngForOf"],[1,"row","d-flex","align-items-center"],[1,"col-sm"],[1,"btn","btn-light",3,"click"],[1,"btn","btn-light",3,"click","title"],[1,"fa","fa-trash"],[3,"timeStamp"]],template:function(i,a){1&i&&(t.j41(0,"div",0),t.EFF(1,"\n "),t.j41(2,"div",1),t.EFF(3,"\n "),t.DNE(4,ro,28,7,"div",2),t.nI1(5,"async"),t.EFF(6,"\n "),t.k0s(),t.EFF(7,"\n "),t.j41(8,"div",1),t.nrm(9,"app-req-network-inter"),t.k0s(),t.EFF(10,"\n "),t.j41(11,"div",1),t.DNE(12,io,1,0,"app-req-network-full",3),t.k0s(),t.EFF(13,"\n"),t.k0s(),t.EFF(14,"\n"),t.DNE(15,so,2,1,"div",3),t.EFF(16,"\n")),2&i&&(t.R7$(4),t.Y8G("ngIf",t.bMT(5,3,a.stats$)),t.R7$(8),t.Y8G("ngIf",!(null!=a.plugin&&a.plugin.Zigpy)),t.R7$(3),t.Y8G("ngIf",a.timeStamp))},dependencies:[y.Sq,y.bT,it.Mm,le,Ze,to,eo,y.Jj,y.vh,y.lG,it.D9],styles:[".content-container[_ngcontent-%COMP%]{position:relative;overflow:auto;height:150px;min-height:0}.vertical-container[_ngcontent-%COMP%], .horizontal-container[_ngcontent-%COMP%]{min-height:0}.scroll-container[_ngcontent-%COMP%]{position:relative}.scrollable-content[_ngcontent-%COMP%]{padding:16px;margin:0}"]})}return o})();var Ft=X(89417),fe=X(97013),Ht=X(46247),ao=X(5779);const lo=o=>({deviceSelected:o}),co=()=>[10,25,50];function ho(o,F){if(1&o&&(t.j41(0,"div",4),t.EFF(1,"\n "),t.nrm(2,"div",5),t.EFF(3,"\n "),t.j41(4,"div",6),t.EFF(5,"\n "),t.nrm(6,"p",7),t.nI1(7,"translate"),t.EFF(8,"\n "),t.nrm(9,"div",8),t.EFF(10,"\n "),t.k0s(),t.EFF(11,"\n "),t.k0s()),2&o){const e=t.XpG();t.R7$(6),t.Y8G("innerHTML",t.bMT(7,2,"network.topo.visu.subtitle"),t.npT),t.R7$(3),t.Y8G("chart",e.chart1)}}function po(o,F){if(1&o&&(t.EFF(0,"\n "),t.j41(1,"span"),t.EFF(2,"\n "),t.j41(3,"b"),t.EFF(4,"Name"),t.k0s(),t.EFF(5),t.j41(6,"b"),t.EFF(7,"IEEE"),t.k0s(),t.EFF(8),t.j41(9,"b"),t.EFF(10,"Model"),t.k0s(),t.EFF(11),t.k0s(),t.EFF(12,"\n ")),2&o){const e=F.item;t.R7$(5),t.SpI(" : ",e.ZDeviceName," - "),t.R7$(3),t.SpI(" : ",e.IEEE," - "),t.R7$(3),t.SpI(" :\n ",e.Model,"\n ")}}function uo(o,F){1&o&&(t.EFF(0,"\n "),t.j41(1,"tr"),t.EFF(2,"\n "),t.j41(3,"th",22),t.EFF(4),t.nI1(5,"translate"),t.nrm(6,"p-sortIcon",23),t.EFF(7,"\n "),t.k0s(),t.EFF(8,"\n "),t.j41(9,"th",24),t.EFF(10),t.nI1(11,"translate"),t.nrm(12,"p-sortIcon",25),t.EFF(13,"\n "),t.k0s(),t.EFF(14,"\n "),t.j41(15,"th",26),t.EFF(16),t.nI1(17,"translate"),t.nrm(18,"p-sortIcon",27),t.EFF(19,"\n "),t.k0s(),t.EFF(20,"\n "),t.j41(21,"th",28),t.EFF(22),t.nI1(23,"translate"),t.nrm(24,"p-sortIcon",29),t.EFF(25,"\n "),t.k0s(),t.EFF(26,"\n "),t.j41(27,"th",30),t.EFF(28),t.nI1(29,"translate"),t.nrm(30,"p-sortIcon",31),t.EFF(31,"\n "),t.k0s(),t.EFF(32,"\n "),t.j41(33,"th",32),t.EFF(34),t.nI1(35,"translate"),t.nrm(36,"p-sortIcon",33),t.EFF(37,"\n "),t.k0s(),t.EFF(38,"\n "),t.k0s(),t.EFF(39,"\n ")),2&o&&(t.R7$(4),t.SpI("\n ",t.bMT(5,6,"network.topo.visu.network.relation.to"),""),t.R7$(6),t.SpI("\n ",t.bMT(11,8,"network.topo.visu.network.relation.weight"),""),t.R7$(6),t.SpI("\n ",t.bMT(17,10,"network.topo.visu.network.relation.model"),""),t.R7$(6),t.SpI("\n ",t.bMT(23,12,"network.topo.visu.network.relation.status"),""),t.R7$(6),t.SpI("\n ",t.bMT(29,14,"network.topo.visu.network.relation.health"),""),t.R7$(6),t.SpI("\n ",t.bMT(35,16,"network.topo.visu.network.relation.battery"),""))}function fo(o,F){if(1&o&&(t.EFF(0,"\n "),t.j41(1,"tr"),t.EFF(2,"\n "),t.j41(3,"td"),t.EFF(4),t.k0s(),t.EFF(5,"\n "),t.j41(6,"td"),t.EFF(7),t.k0s(),t.EFF(8,"\n "),t.j41(9,"td"),t.EFF(10),t.k0s(),t.EFF(11,"\n "),t.j41(12,"td"),t.EFF(13),t.k0s(),t.EFF(14,"\n "),t.j41(15,"td"),t.EFF(16),t.k0s(),t.EFF(17,"\n "),t.j41(18,"td"),t.EFF(19),t.k0s(),t.EFF(20,"\n "),t.k0s()),2&o){const e=F.$implicit;t.R7$(4),t.SpI("\n ",e.to,"\n "),t.R7$(3),t.SpI("\n ",e.weight,"\n "),t.R7$(3),t.SpI("\n ",e.Model,"\n "),t.R7$(3),t.SpI("\n ",e.Status,"\n "),t.R7$(3),t.SpI("\n ",e.Health,"\n "),t.R7$(3),t.SpI("\n ",e.Battery,"\n ")}}function go(o,F){if(1&o&&(t.j41(0,"div",17),t.EFF(1,"\n "),t.j41(2,"div",2),t.EFF(3,"\n "),t.j41(4,"div",4),t.EFF(5,"\n "),t.nrm(6,"div",18),t.EFF(7,"\n "),t.j41(8,"div",6),t.EFF(9,"\n "),t.nrm(10,"p",7),t.nI1(11,"translate"),t.EFF(12,"\n "),t.j41(13,"div",10),t.EFF(14,"\n "),t.j41(15,"p-table",19,0),t.nI1(17,"translate"),t.EFF(18,"\n "),t.DNE(19,uo,40,18,"ng-template",20),t.EFF(20,"\n "),t.DNE(21,fo,21,6,"ng-template",21),t.EFF(22,"\n "),t.k0s(),t.EFF(23,"\n "),t.k0s(),t.EFF(24,"\n "),t.k0s(),t.EFF(25,"\n "),t.k0s(),t.EFF(26,"\n "),t.k0s(),t.EFF(27,"\n "),t.k0s()),2&o){const e=t.XpG(2);t.R7$(6),t.Y8G("translateParams",t.eq3(14,lo,e.selectedPoint.name)),t.R7$(4),t.Y8G("innerHTML",t.bMT(11,10,"network.topo.visu.network.relation.subtitle"),t.npT),t.R7$(5),t.FS9("currentPageReportTemplate",t.bMT(17,12,"TOTAL")),t.Y8G("rowHover",!0)("showCurrentPageReport",!0)("rowsPerPageOptions",t.lJ4(16,co))("value",e.relationsSelected)("rows",10)("paginator",!0)("scrollable",!0)}}function mo(o,F){if(1&o&&(t.j41(0,"div",4),t.EFF(1,"\n "),t.nrm(2,"div",9),t.EFF(3,"\n "),t.j41(4,"div",6),t.EFF(5,"\n "),t.nrm(6,"p",7),t.nI1(7,"translate"),t.EFF(8,"\n "),t.j41(9,"div",10),t.EFF(10,"\n "),t.j41(11,"div"),t.EFF(12,"\n "),t.j41(13,"form",11),t.EFF(14,"\n "),t.nrm(15,"input",12),t.EFF(16,"\n "),t.j41(17,"ng-select",13),t.nI1(18,"translate"),t.EFF(19,"\n "),t.DNE(20,po,13,3,"ng-template",14),t.EFF(21,"\n "),t.k0s(),t.EFF(22,"\n "),t.k0s(),t.EFF(23,"\n "),t.k0s(),t.EFF(24,"\n "),t.nrm(25,"div",15),t.EFF(26,"\n "),t.DNE(27,go,28,17,"div",16),t.EFF(28,"\n "),t.k0s(),t.EFF(29,"\n "),t.k0s(),t.EFF(30,"\n "),t.k0s()),2&o){const e=t.XpG();t.R7$(6),t.Y8G("innerHTML",t.bMT(7,9,"network.topo.visu.network.subtitle"),t.npT),t.R7$(7),t.Y8G("formGroup",e.form),t.R7$(4),t.FS9("placeholder",t.bMT(18,11,"network.topo.visu.network.filter")),t.Y8G("items",e.devices)("multiple",!1)("closeOnSelect",!0)("searchable",!0),t.R7$(8),t.Y8G("chart",e.chart2),t.R7$(2),t.Y8G("ngIf",e.relationsSelected)}}let vo=(()=>{class o extends pe.U{apiService;translate;formBuilder;timeStamp;chart1;chart2;form;datas;devices;showDetail=!1;device;data;relationsSelected;selectedPoint;constructor(e,i,a){super(),this.apiService=e,this.translate=i,this.formBuilder=a}ngOnInit(){this.form=this.formBuilder.group({nodeToFilter:[null],detail:[null]}),this.apiService.getZDeviceName().subscribe(e=>{this.devices=e,this.devices.unshift({IEEE:"",MacCapa:[""],Model:"",Health:"",Status:"",WidgetList:[""],ZDeviceName:"Zigbee Coordinator",_NwkId:""})}),this.subs.sink=this.form.get("nodeToFilter").valueChanges.subscribe(e=>{this.createChart2(e)}),this.subs.add(this.form.get("detail").valueChanges.subscribe(()=>{const e=[];this.selectedPoint=this.chart2.ref.hoverPoint,this.selectedPoint.linksFrom.map(M=>M.options).map(M=>{const x=this.devices.find(L=>L.ZDeviceName===M.to||L._NwkId===M.to);e.push({to:M.to,from:M.from,weight:M.weight,Model:x.Model,Status:x.Status,Health:x.Health,Battery:x.Battery})}),this.selectedPoint.linksTo.map(M=>M.options).map(M=>{if(!e.some(x=>x.to===M.from)){const x=this.devices.find(L=>L.ZDeviceName===M.from||L._NwkId===M.from);e.push({to:M.from,from:M.from,weight:x.LQI,Model:x.Model,Status:x.Status,Health:x.Health,Battery:x.Battery})}}),this.relationsSelected=e}))}ngOnChanges(e){e.timeStamp.currentValue!==e.timeStamp.previousValue&&this.apiService.getTopologieByTimeStamp(this.timeStamp).subscribe(i=>{this.datas=i,this.createChart1(),this.createChart2()})}createChart1(){const e=this.datas.map(a=>{const M=Object.values(a);return M.splice(1,1),M}),i=new et.t1({chart:{type:"dependencywheel",height:"80%"},title:{text:this.translate.instant("network.topo.device.visu.chart.title")},credits:{enabled:!1},series:[{type:void 0,keys:["to","from","weight"],data:e}]});this.chart1=i}createChart2(e){let i=this.datas.map(x=>{const L=Object.values(x);return L.splice(1,1),L});e&&(i=i.filter(x=>x[0].toLowerCase()===e.toLowerCase()||x[1].toLowerCase()===e.toLowerCase()));const a=[{nodes:void 0,type:void 0,keys:["to","from","weight"],dataLabels:{enabled:!0,linkFormat:""},data:i}];this.test(a);const M=new et.t1({chart:{type:"networkgraph",height:"80%"},title:{text:this.translate.instant("network.topo.device.visu.network.chart.title")},credits:{enabled:!1},plotOptions:{networkgraph:{keys:["to","from","weight"],layoutAlgorithm:{enableSimulation:!0,integration:"verlet"}},series:{point:{events:{click:function(){document.getElementById("detail").dispatchEvent(new Event("input",{bubbles:!0}))}}}}},series:a});this.chart2=M}test(e){const i=ue.getOptions().colors;let a=0;const M={"Zigbee Coordinator":{id:"Zigbee Coordinator",marker:{radius:20}}},x=this.datas.filter(R=>"Zigbee Coordinator"===R.Child),L=[];x.forEach(R=>{M[R.Father]={id:R.Father,marker:{radius:10},color:i[a++]},L.push(R.Father)}),this.colorNode(M,L),e[0].nodes=Object.keys(M).map(function(R){return M[R]})}colorNode(e,i){i.forEach(a=>{const M=[];this.datas.filter(L=>L.Child===a).forEach(L=>{e[L.Father]||(e[L.Father]={id:L.Father,color:e[L.Child].color},M.push(L.Father))}),M.length>0&&this.colorNode(e,M)})}static \u0275fac=function(i){return new(i||o)(t.rXU(Ct.G),t.rXU(it.c$),t.rXU(Ft.ok))};static \u0275cmp=t.VBU({type:o,selectors:[["app-detail-topology"]],inputs:{timeStamp:"timeStamp"},features:[t.Vt3,t.OA$],decls:13,vars:2,consts:[["dt1",""],[1,"row","row-cols-1","row-cols-lg-2","g-4","mt-1"],[1,"col"],["class","card",4,"ngIf"],[1,"card"],["translate","network.topo.visu.header",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text",3,"chart"],["translate","network.topo.visu.network.header",1,"card-header","fw-bold"],[1,"card-text"],[3,"formGroup"],["type","hidden","formControlName","detail","id","detail"],["bindLabel","ZDeviceName","bindValue","ZDeviceName","appendTo","body","formControlName","nodeToFilter",3,"items","multiple","closeOnSelect","searchable","placeholder"],["ng-option-tmp",""],[3,"chart"],["class","row",4,"ngIf"],[1,"row"],["translate","network.topo.visu.network.relation.header",1,"card-header","fw-bold",3,"translateParams"],["styleClass","p-datatable-sm","responsiveLayout","scroll","stateStorage","local","stateKey","topology",3,"rowHover","showCurrentPageReport","currentPageReportTemplate","rowsPerPageOptions","value","rows","paginator","scrollable"],["pTemplate","header"],["pTemplate","body"],["pSortableColumn","to"],["field","to"],["pSortableColumn","weight"],["field","weight"],["pSortableColumn","Model",2,"width","8rem"],["field","Model"],["pSortableColumn","Status",2,"width","10rem"],["field","Status"],["pSortableColumn","Health"],["field","Health"],["pSortableColumn","Battery"],["field","Battery"]],template:function(i,a){1&i&&(t.j41(0,"div",1),t.EFF(1,"\n "),t.j41(2,"div",2),t.EFF(3,"\n "),t.DNE(4,ho,12,4,"div",3),t.EFF(5,"\n "),t.k0s(),t.EFF(6,"\n "),t.j41(7,"div",2),t.EFF(8,"\n "),t.DNE(9,mo,31,13,"div",3),t.EFF(10,"\n "),t.k0s(),t.EFF(11,"\n"),t.k0s(),t.EFF(12,"\n")),2&i&&(t.R7$(4),t.Y8G("ngIf",a.chart1),t.R7$(5),t.Y8G("ngIf",a.chart2))},dependencies:[y.bT,Ft.qT,Ft.me,Ft.BC,Ft.cb,Ft.j4,Ft.JD,fe.vr,fe.Uq,it.Mm,Ht.XI,ao.Ei,Ht.Tg,Ht.yc,et.S6,it.D9]})}return o})(),bo=(()=>{class o{apiService;toastr;translate;stats$;constructor(e,i,a){this.apiService=e,this.toastr=i,this.translate=a}reqTopology(){this.apiService.getReqTopologie().subscribe(()=>{this.toastr.success(this.translate.instant("api.global.succes.scanlaunched.notify"))})}static \u0275fac=function(i){return new(i||o)(t.rXU(Ct.G),t.rXU($t.tw),t.rXU(it.c$))};static \u0275cmp=t.VBU({type:o,selectors:[["app-req-topology"]],decls:16,vars:3,consts:[[1,"card"],["translate","network.topology.req.header",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-footer","d-flex","justify-content-end"],["translate","network.topology.req.button",1,"btn","btn-light",3,"click"]],template:function(i,a){1&i&&(t.j41(0,"div",0),t.EFF(1,"\n "),t.nrm(2,"div",1),t.EFF(3,"\n "),t.j41(4,"div",2),t.EFF(5,"\n "),t.nrm(6,"p",3),t.nI1(7,"translate"),t.EFF(8,"\n "),t.k0s(),t.EFF(9,"\n "),t.j41(10,"div",4),t.EFF(11,"\n "),t.j41(12,"button",5),t.bIt("click",function(){return a.reqTopology()}),t.k0s(),t.EFF(13,"\n "),t.k0s(),t.EFF(14,"\n"),t.k0s(),t.EFF(15,"\n")),2&i&&(t.R7$(6),t.Y8G("innerHTML",t.bMT(7,1,"network.topology.req.subtitle"),t.npT))},dependencies:[it.Mm,it.D9]})}return o})();function yo(o,F){if(1&o){const e=t.RV6();t.j41(0,"span",14),t.EFF(1,"\n "),t.j41(2,"button",15),t.bIt("click",function(){const a=t.eBV(e).$implicit,M=t.XpG(2);return t.Njj(M.topologyByDate(a.value))}),t.EFF(3),t.nI1(4,"date"),t.k0s(),t.EFF(5,"\n "),t.j41(6,"button",16),t.nI1(7,"translate"),t.bIt("click",function(){const a=t.eBV(e).$implicit,M=t.XpG(2);return t.Njj(M.deleteTopologyByDate(a.value))}),t.EFF(8,"\n "),t.nrm(9,"i",17),t.EFF(10,"\n "),t.k0s(),t.EFF(11,"\n "),t.k0s()}if(2&o){const e=F.$implicit;t.R7$(3),t.SpI("\n ",t.i5U(4,2,1e3*e.value,"dd/MM/yyyy HH:mm:ss"),"\n "),t.R7$(3),t.FS9("title",t.bMT(7,5,"network.topo.visu.delete.button"))}}function wo(o,F){if(1&o&&(t.j41(0,"div",4),t.EFF(1,"\n "),t.nrm(2,"div",5),t.EFF(3,"\n "),t.j41(4,"div",6),t.EFF(5,"\n "),t.nrm(6,"p",7),t.nI1(7,"translate"),t.EFF(8,"\n "),t.j41(9,"div",8),t.EFF(10,"\n "),t.j41(11,"div",9),t.EFF(12,"\n "),t.j41(13,"div",10),t.EFF(14,"\n "),t.j41(15,"ng-scrollbar",11),t.EFF(16,"\n "),t.j41(17,"div",12),t.EFF(18,"\n "),t.DNE(19,yo,12,7,"span",13),t.nI1(20,"keyvalue"),t.EFF(21,"\n "),t.k0s(),t.EFF(22,"\n "),t.k0s(),t.EFF(23,"\n "),t.k0s(),t.EFF(24,"\n "),t.k0s(),t.EFF(25,"\n "),t.k0s(),t.EFF(26,"\n "),t.k0s(),t.EFF(27,"\n "),t.k0s()),2&o){const e=F.ngIf,i=t.XpG();t.R7$(6),t.Y8G("innerHTML",t.bMT(7,2,"network.topo.subtitle"),t.npT),t.R7$(13),t.Y8G("ngForOf",t.i5U(20,4,e,i.sortDesc))}}function _o(o,F){if(1&o&&(t.j41(0,"div"),t.nrm(1,"app-detail-topology",18),t.k0s()),2&o){const e=t.XpG();t.R7$(),t.Y8G("timeStamp",e.timeStamp)}}const So=[{path:"topology",component:(()=>{class o{apiService;cdr;timeStamp;topologies$;constructor(e,i){this.apiService=e,this.cdr=i}ngOnInit(){this.topologies$=this.apiService.getTopologie()}sortDesc(e,i){return de(e,i)}topologyByDate(e){this.timeStamp=e}deleteTopologyByDate(e){this.apiService.deleteTopologieByTimeStamp(e).subscribe(()=>{this.topologies$=this.apiService.getTopologie(),this.cdr.detectChanges()})}static \u0275fac=function(i){return new(i||o)(t.rXU(Ct.G),t.rXU(t.gRc))};static \u0275cmp=t.VBU({type:o,selectors:[["app-topology"]],decls:14,vars:4,consts:[[1,"row","row-cols-1","row-cols-xxl-5","row-cols-xl-4","row-cols-lg-3","row-cols-md-2","row-cols-sm-1","g-4"],[1,"col"],["class","card",4,"ngIf"],[4,"ngIf"],[1,"card"],["translate","network.topo.header",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],[1,"vertical-container"],[1,"content-container"],[1,"scroll-container"],[1,"scrollable-content"],["class","d-sm-flex gap-2",4,"ngFor","ngForOf"],[1,"d-sm-flex","gap-2"],[1,"btn","btn-light",3,"click"],[1,"btn","btn-light",3,"click","title"],[1,"fa","fa-trash"],[3,"timeStamp"]],template:function(i,a){1&i&&(t.j41(0,"div",0),t.EFF(1,"\n "),t.j41(2,"div",1),t.EFF(3,"\n "),t.DNE(4,wo,28,7,"div",2),t.nI1(5,"async"),t.EFF(6,"\n "),t.k0s(),t.EFF(7,"\n "),t.j41(8,"div"),t.nrm(9,"app-req-topology"),t.k0s(),t.EFF(10,"\n"),t.k0s(),t.EFF(11,"\n"),t.DNE(12,_o,2,1,"div",3),t.EFF(13,"\n")),2&i&&(t.R7$(4),t.Y8G("ngIf",t.bMT(5,2,a.topologies$)),t.R7$(8),t.Y8G("ngIf",a.timeStamp))},dependencies:[y.Sq,y.bT,it.Mm,le,vo,bo,y.Jj,y.vh,y.lG,it.D9],styles:[".content-container[_ngcontent-%COMP%]{position:relative;overflow:auto;height:150px;min-height:0}.vertical-container[_ngcontent-%COMP%], .horizontal-container[_ngcontent-%COMP%]{min-height:0}.scroll-container[_ngcontent-%COMP%]{position:relative}.scrollable-content[_ngcontent-%COMP%]{padding:16px;margin:0}"]})}return o})(),data:{title:(0,he.o6)("network.topo")}},{path:"energy-level",component:no,data:{title:(0,he.o6)("network.energy")}}];let ko=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=t.$C({type:o});static \u0275inj=t.G2t({imports:[ce.iI.forChild(So),ce.iI]})}return o})(),xo=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=t.$C({type:o});static \u0275inj=t.G2t({providers:[{provide:et.SV,useFactory:()=>[Q,K,I,S,O]}],imports:[ko,ht.G,et.Fr,Qe]})}return o})()},69820:(nt,_t,X)=>{var ht,et,Q;Q=function(Q){"use strict";var S=Q?Q._modules:{};function K(O,I,E,t){O.hasOwnProperty(I)||(O[I]=t.apply(null,E),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:I,module:O[I]}})))}K(S,"Series/DependencyWheel/DependencyWheelPoint.js",[S["Core/Series/SeriesRegistry.js"],S["Core/Utilities.js"]],function(O,I){const{sankey:{prototype:{pointClass:E}}}=O.seriesTypes,{pInt:t,wrap:T}=I;return class N extends E{getDataLabelPath(P){const c=this,h=c.series.chart.renderer,m=c.shapeArgs,_=c.angle<0||c.angle>Math.PI,f=m.start||0,k=m.end||0;return c.dataLabelPath?(c.dataLabelPath=c.dataLabelPath.destroy(),delete c.dataLabelPath):T(P,"destroy",function(n){return c.dataLabelPath&&(c.dataLabelPath=c.dataLabelPath.destroy()),n.call(this)}),c.dataLabelPath=h.arc({open:!0,longArc:Math.abs(Math.abs(f)-Math.abs(k)){v.graphic&&v.graphic.animate({opacity:1},{duration:b})},b*p++))}for(const v of l.points){const D=v.graphic;!v.isNode&&D&&D.attr({opacity:0}).animate({opacity:1},l.options.animation)}}}createNode(d){const l=super.createNode(d);return l.getSum=()=>l.linksFrom.concat(l.linksTo).reduce((g,b)=>g+b.weight,0),l.offset=g=>{const b=r=>r.fromNode===l?r.toNode:r.fromNode;let D,p=0,v=l.linksFrom.concat(l.linksTo);v.sort((r,u)=>b(r).index-b(u).index);for(let r=0;rl.index){v=v.slice(0,r).reverse().concat(v.slice(r).reverse()),D=!0;break}D||v.reverse();for(let r=0;r{const G=g*B,H=Math.cos(p+G)*(z+1),rt=Math.sin(p+G)*(z+1);return $=l.curveFactor||0,Y=Math.abs(q.linkBase[3-U]*g-G),Y>Math.PI&&(Y=2*Math.PI-Y),Y*=z,Y{var ht,et,Q;Q=function(Q){"use strict";var S=Q?Q._modules:{};function K(O,I,E,t){O.hasOwnProperty(I)||(O[I]=t.apply(null,E),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:I,module:O[I]}})))}K(S,"Series/DragNodesComposition.js",[S["Core/Globals.js"],S["Core/Utilities.js"]],function(O,I){const{composed:E}=O,{addEvent:t,pushUnique:T}=I;function j(){const f=this;let k,n,s;f.container&&(k=t(f.container,"mousedown",d=>{const l=f.hoverPoint;l&&l.series&&l.series.hasDraggableNodes&&l.series.options.draggable&&(l.series.onMouseDown(l,d),n=t(f.container,"mousemove",g=>l&&l.series&&l.series.onMouseMove(l,g)),s=t(f.container.ownerDocument,"mouseup",g=>(n(),s(),l&&l.series&&l.series.onMouseUp(l,g))))})),t(f,"destroy",function(){k()})}return{compose:function N(f){T(E,"DragNodes")&&t(f,"load",j)},onMouseDown:function P(f,k){const n=this.chart.pointer?.normalize(k)||k;f.fixedPosition={chartX:n.chartX,chartY:n.chartY,plotX:f.plotX,plotY:f.plotY},f.inDragMode=!0},onMouseMove:function c(f,k){if(f.fixedPosition&&f.inDragMode){const s=this.chart,d=s.pointer?.normalize(k)||k,l=f.fixedPosition.chartX-d.chartX,g=f.fixedPosition.chartY-d.chartY,b=s.graphLayoutsLookup;let p,v;(Math.abs(l)>5||Math.abs(g)>5)&&(p=f.fixedPosition.plotX-l,v=f.fixedPosition.plotY-g,s.isInsidePlot(p,v)&&(f.plotX=p,f.plotY=v,f.hasDragged=!0,this.redrawHalo(f),b.forEach(D=>{D.restartSimulation()})))}},onMouseUp:function h(f){f.fixedPosition&&(f.hasDragged&&(this.layout.enableSimulation?this.layout.start():this.chart.redraw()),f.inDragMode=f.hasDragged=!1,this.options.fixedDraggable||delete f.fixedPosition)},redrawHalo:function m(f){f&&this.halo&&this.halo.attr({d:f.haloPath(this.options.states.hover.halo.size)})}}}),K(S,"Series/GraphLayoutComposition.js",[S["Core/Animation/AnimationUtilities.js"],S["Core/Globals.js"],S["Core/Utilities.js"]],function(O,I,E){const{setAnimation:t}=O,{composed:T}=I,{addEvent:N,pushUnique:j}=E;function m(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(s=>{s.updateSimulation()}),this.redraw())}function _(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(s=>{s.updateSimulation(!1)}),this.redraw())}function f(){this.graphLayoutsLookup&&this.graphLayoutsLookup.forEach(s=>{s.stop()})}function k(){let s,d=!1;const l=g=>{g.maxIterations--&&isFinite(g.temperature)&&!g.isStable()&&!g.enableSimulation&&(g.beforeStep&&g.beforeStep(),g.step(),s=!1,d=!0)};if(this.graphLayoutsLookup){for(t(!1,this),this.graphLayoutsLookup.forEach(g=>g.start());!s;)s=!0,this.graphLayoutsLookup.forEach(l);d&&this.series.forEach(g=>{g&&g.layout&&g.render()})}}return{compose:function h(s){j(T,"GraphLayout")&&(N(s,"afterPrint",m),N(s,"beforePrint",_),N(s,"predraw",f),N(s,"render",k))},integrations:{},layouts:{}}}),K(S,"Series/NodesComposition.js",[S["Core/Series/SeriesRegistry.js"],S["Core/Utilities.js"]],function(O,I){const{series:{prototype:E,prototype:{pointClass:{prototype:t}}}}=O,{defined:T,extend:N,find:j,merge:P,pick:c}=I;var h;return function(m){function k(){return this.data=[].concat(this.points||[],this.nodes),E.destroy.apply(this,arguments)}function s(){this.nodes&&(this.nodes.forEach(g=>{g.destroy()}),this.nodes.length=0),E.setData.apply(this,arguments)}function d(g){const b=arguments,p=this.isNode?this.linksTo.concat(this.linksFrom):[this.fromNode,this.toNode];"select"!==g&&p.forEach(v=>{v&&v.series&&(t.setState.apply(v,b),v.isNode||(v.fromNode.graphic&&t.setState.apply(v.fromNode,b),v.toNode&&v.toNode.graphic&&t.setState.apply(v.toNode,b)))}),t.setState.apply(this,b)}function l(g,b,p,v){const D=this.series.options.nodes,r=this.series.options.data,u=r&&r.length||0,w=r&&r[this.index];if(t.update.call(this,g,!this.isNode&&b,p,v),this.isNode){const C=(D||[]).reduce((A,z,V)=>this.id===z.id?V:A,-1),y=P(D&&D[C]||{},r&&r[this.index]||{});r&&(w?r[this.index]=w:r.length=u),D?C>=0?D[C]=y:D.push(y):this.series.options.nodes=[y],c(b,!0)&&this.series.chart.redraw(p)}}m.compose=function _(g,b){const p=g.prototype,v=b.prototype;return p.setNodeState=d,p.setState=d,p.update=l,v.destroy=k,v.setData=s,b},m.createNode=function f(g){const b=this.pointClass,p=(r,u)=>j(r,w=>w.id===u);let D,v=p(this.nodes,g);if(!v){D=this.options.nodes&&p(this.options.nodes,g);const r=new b(this,N({className:"highcharts-node",isNode:!0,id:g,y:1},D));r.linksTo=[],r.linksFrom=[],r.getSum=function(){let u=0,w=0;return r.linksTo.forEach(C=>{u+=C.weight||0}),r.linksFrom.forEach(C=>{w+=C.weight||0}),Math.max(u,w)},r.offset=function(u,w){let C=0;for(let y=0;y{w.outgoing&&u++}),!r.linksTo.length||u!==r.linksTo.length},r.index=this.nodes.push(r)-1,v=r}return v.formatPrefix="node",v.name=v.name||v.options.id||"",v.mass=c(v.options.mass,v.options.marker&&v.options.marker.radius,this.options.marker&&this.options.marker.radius,4),v},m.destroy=k,m.generatePoints=function n(){const g=this.chart,b={};E.generatePoints.call(this),this.nodes||(this.nodes=[]),this.colorCounter=0,this.nodes.forEach(p=>{p.linksFrom.length=0,p.linksTo.length=0,p.level=p.options.level}),this.points.forEach(p=>{T(p.from)&&(b[p.from]||(b[p.from]=this.createNode(p.from)),b[p.from].linksFrom.push(p),p.fromNode=b[p.from],g.styledMode?p.colorIndex=c(p.options.colorIndex,b[p.from].colorIndex):p.color=p.options.color||b[p.from].color),T(p.to)&&(b[p.to]||(b[p.to]=this.createNode(p.to)),b[p.to].linksTo.push(p),p.toNode=b[p.to]),p.name=p.name||p.id},this),this.nodeLookup=b},m.setNodeState=d,m.updateNode=l}(h||(h={})),h}),K(S,"Series/Networkgraph/NetworkgraphPoint.js",[S["Series/NodesComposition.js"],S["Core/Series/SeriesRegistry.js"],S["Core/Utilities.js"]],function(O,I,E){const{series:{prototype:t,prototype:{pointClass:T}}}=I,{addEvent:N,css:j,defined:P,extend:c,pick:h}=E;class m extends T{destroy(){return this.isNode&&this.linksFrom.concat(this.linksTo).forEach(function(f){f.destroyElements&&f.destroyElements()}),this.series.layout.removeElementFromCollection(this,this.series.layout[this.isNode?"nodes":"links"]),T.prototype.destroy.apply(this,arguments)}getDegree(){const f=this.isNode?this.linksFrom.length+this.linksTo.length:0;return 0===f?1:f}getLinkAttributes(){const f=this.series.options.link,k=this.options;return{"stroke-width":h(k.width,f.width),stroke:k.color||f.color,dashstyle:k.dashStyle||f.dashStyle,opacity:h(k.opacity,f.opacity,1)}}getLinkPath(){let f=this.fromNode,k=this.toNode;return f.plotX>k.plotX&&(f=this.toNode,k=this.fromNode),[["M",f.plotX||0,f.plotY||0],["L",k.plotX||0,k.plotY||0]]}getMass(){const f=this.fromNode.mass,k=this.toNode.mass,n=f+k;return{fromNode:1-f/n,toNode:1-k/n}}constructor(f,k,n){super(f,k,n),this.series.options.draggable&&!this.series.chart.styledMode&&(N(this,"mouseOver",function(){j(this.series.chart.container,{cursor:"move"})}),N(this,"mouseOut",function(){j(this.series.chart.container,{cursor:"default"})}))}isValid(){return!this.isNode||P(this.id)}redrawLink(){let k,f=this.getLinkPath();if(this.graphic){this.shapeArgs={d:f},this.series.chart.styledMode||(k=this.series.pointAttribs(this),this.graphic.attr(k),(this.dataLabels||[]).forEach(function(d){d&&d.attr({opacity:k.opacity})})),this.graphic.animate(this.shapeArgs);const n=f[0],s=f[1];"M"===n[0]&&"L"===s[0]&&(this.plotX=(n[1]+s[1])/2,this.plotY=(n[2]+s[2])/2)}}remove(f,k){let l,n=this,s=n.series,d=s.options.nodes||[],g=d.length;if(n.isNode){for(s.points=[],[].concat(n.linksFrom).concat(n.linksTo).forEach(function(b){l=b.fromNode.linksFrom.indexOf(b),l>-1&&b.fromNode.linksFrom.splice(l,1),l=b.toNode.linksTo.indexOf(b),l>-1&&b.toNode.linksTo.splice(l,1),t.removePoint.call(s,s.data.indexOf(b),!1,!1)}),s.points=s.data.slice(),s.nodes.splice(s.nodes.indexOf(n),1);g--;)if(d[g].id===n.options.id){s.options.nodes.splice(g,1);break}n&&n.destroy(),s.isDirty=!0,s.isDirtyData=!0,f&&s.chart.redraw(f)}else s.removePoint(s.data.indexOf(n),f,k)}renderLink(){let f;this.graphic||(this.graphic=this.series.chart.renderer.path(this.getLinkPath()).addClass(this.getClassName(),!0).add(this.series.group),this.series.chart.styledMode||(f=this.series.pointAttribs(this),this.graphic.attr(f),(this.dataLabels||[]).forEach(function(k){k&&k.attr({opacity:f.opacity})})))}}return c(m.prototype,{setState:O.setNodeState}),m}),K(S,"Series/Networkgraph/NetworkgraphSeriesDefaults.js",[],function(){return{stickyTracking:!1,inactiveOtherPoints:!0,marker:{enabled:!0,states:{inactive:{opacity:.3,animation:{duration:50}}}},states:{inactive:{linkOpacity:.3,animation:{duration:50}}},dataLabels:{formatter:function(){return this.key},linkFormatter:function(){return this.point.fromNode.name+"
"+this.point.toNode.name},linkTextPath:{enabled:!0},textPath:{enabled:!1},style:{transition:"opacity 2000ms"},defer:!0,animation:{defer:1e3}},link:{color:"rgba(100, 100, 100, 0.5)",width:1},draggable:!0,layoutAlgorithm:{initialPositions:"circle",initialPositionRadius:1,enableSimulation:!1,theta:.5,maxSpeed:10,approximation:"none",type:"reingold-fruchterman",integration:"euler",maxIterations:1e3,gravitationalConstant:.0625,friction:-.981},showInLegend:!1}}),K(S,"Series/Networkgraph/EulerIntegration.js",[],function(){return{attractive:function O(c,h,m,_){const f=c.getMass(),k=m.x/_*h,n=m.y/_*h;c.fromNode.fixedPosition||(c.fromNode.dispX-=k*f.fromNode/c.fromNode.degree,c.fromNode.dispY-=n*f.fromNode/c.fromNode.degree),c.toNode.fixedPosition||(c.toNode.dispX+=k*f.toNode/c.toNode.degree,c.toNode.dispY+=n*f.toNode/c.toNode.degree)},attractiveForceFunction:function I(c,h){return c*c/h},barycenter:function E(){const c=this.options.gravitationalConstant,h=this.barycenter.xFactor,m=this.barycenter.yFactor;this.nodes.forEach(function(_){if(!_.fixedPosition){const f=_.getDegree(),k=f*(1+f/2);_.dispX+=(h-_.plotX)*c*k/_.degree,_.dispY+=(m-_.plotY)*c*k/_.degree}})},getK:function t(c){return Math.pow(c.box.width*c.box.height/c.nodes.length,.3)},integrate:function T(c,h){let m;h.dispX+=h.dispX*c.options.friction,h.dispY+=h.dispY*c.options.friction,m=h.temperature=c.vectorLength({x:h.dispX,y:h.dispY}),0!==m&&(h.plotX+=h.dispX/m*Math.min(Math.abs(h.dispX),c.temperature),h.plotY+=h.dispY/m*Math.min(Math.abs(h.dispY),c.temperature))},repulsive:function N(c,h,m,_){c.dispX+=m.x/_*h/c.degree,c.dispY+=m.y/_*h/c.degree},repulsiveForceFunction:function j(c,h){return h*h/c}}}),K(S,"Series/Networkgraph/QuadTreeNode.js",[],function(){class O{constructor(E){this.body=!1,this.isEmpty=!1,this.isInternal=!1,this.nodes=[],this.box=E,this.boxSize=Math.min(E.width,E.height)}divideBox(){const E=this.box.width/2,t=this.box.height/2;this.nodes[0]=new O({left:this.box.left,top:this.box.top,width:E,height:t}),this.nodes[1]=new O({left:this.box.left+E,top:this.box.top,width:E,height:t}),this.nodes[2]=new O({left:this.box.left+E,top:this.box.top+t,width:E,height:t}),this.nodes[3]=new O({left:this.box.left,top:this.box.top+t,width:E,height:t})}getBoxPosition(E){const T=E.plotYc?1:0)}}}),K(S,"Series/Networkgraph/ReingoldFruchtermanLayout.js",[S["Series/Networkgraph/EulerIntegration.js"],S["Core/Globals.js"],S["Series/GraphLayoutComposition.js"],S["Series/Networkgraph/QuadTree.js"],S["Core/Utilities.js"],S["Series/Networkgraph/VerletIntegration.js"]],function(O,I,E,t,T,N){const{win:j}=I,{clamp:P,defined:c,isFunction:h,fireEvent:m,pick:_}=T;class f{constructor(){this.box={},this.currentStep=0,this.initialRendering=!0,this.links=[],this.nodes=[],this.series=[],this.simulation=!1}static compose(n){E.compose(n),E.integrations.euler=O,E.integrations.verlet=N,E.layouts["reingold-fruchterman"]=f}init(n){this.options=n,this.nodes=[],this.links=[],this.series=[],this.box={x:0,y:0,width:0,height:0},this.setInitialRendering(!0),this.integration=E.integrations[n.integration],this.enableSimulation=n.enableSimulation,this.attractiveForce=_(n.attractiveForce,this.integration.attractiveForceFunction),this.repulsiveForce=_(n.repulsiveForce,this.integration.repulsiveForceFunction),this.approximation=n.approximation}updateSimulation(n){this.enableSimulation=_(n,this.options.enableSimulation)}start(){const n=this,s=this.series,d=this.options;n.currentStep=0,n.forces=s[0]&&s[0].forces||[],n.chart=s[0]&&s[0].chart,n.initialRendering&&(n.initPositions(),s.forEach(function(l){l.finishedAnimating=!0,l.render()})),n.setK(),n.resetSimulation(d),n.enableSimulation&&n.step()}step(){const n=this,s=this.series;this.currentStep++,"barnes-hut"===this.approximation&&(this.createQuadTree(),this.quadTree.calculateMassAndCenter());for(const d of this.forces||[])n[d+"Forces"](this.temperature);if(this.applyLimits(),this.temperature=this.coolDown(this.startTemperature,this.diffTemperature,this.currentStep),this.prevSystemTemperature=this.systemTemperature,this.systemTemperature=this.getSystemTemperature(),this.enableSimulation){for(const d of s)d.chart&&d.render();this.maxIterations--&&isFinite(this.temperature)&&!this.isStable()?(this.simulation&&j.cancelAnimationFrame(this.simulation),this.simulation=j.requestAnimationFrame(()=>this.step())):(this.simulation=!1,this.series.forEach(d=>{m(d,"afterSimulation")}))}}stop(){this.simulation&&j.cancelAnimationFrame(this.simulation)}setArea(n,s,d,l){this.box={left:n,top:s,width:d,height:l}}setK(){this.k=this.options.linkLength||this.integration.getK(this)}addElementsToCollection(n,s){for(const d of n)-1===s.indexOf(d)&&s.push(d)}removeElementFromCollection(n,s){const d=s.indexOf(n);-1!==d&&s.splice(d,1)}clear(){this.nodes.length=0,this.links.length=0,this.series.length=0,this.resetSimulation()}resetSimulation(){this.forcedStop=!1,this.systemTemperature=0,this.setMaxIterations(),this.setTemperature(),this.setDiffTemperature()}restartSimulation(){this.simulation?this.resetSimulation():(this.setInitialRendering(!1),this.enableSimulation?this.start():this.setMaxIterations(1),this.chart&&this.chart.redraw(),this.setInitialRendering(!0))}setMaxIterations(n){this.maxIterations=_(n,this.options.maxIterations)}setTemperature(){this.temperature=this.startTemperature=Math.sqrt(this.nodes.length)}setDiffTemperature(){this.diffTemperature=this.startTemperature/(this.options.maxIterations+1)}setInitialRendering(n){this.initialRendering=n}createQuadTree(){this.quadTree=new t(this.box.left,this.box.top,this.box.width,this.box.height),this.quadTree.insertNodes(this.nodes)}initPositions(){const n=this.options.initialPositions;if(h(n)){n.call(this);for(const s of this.nodes)c(s.prevX)||(s.prevX=s.plotX),c(s.prevY)||(s.prevY=s.plotY),s.dispX=0,s.dispY=0}else"circle"===n?this.setCircularPositions():this.setRandomPositions()}setCircularPositions(){const n=this.box,s=this.nodes,l=2*Math.PI/(s.length+1),g=s.filter(function(u){return 0===u.linksTo.length}),b={},p=this.options.initialPositionRadius,v=u=>{for(const w of u.linksFrom||[])b[w.toNode.id]||(b[w.toNode.id]=!0,D.push(w.toNode),v(w.toNode))};let r,D=[];for(const u of g)D.push(u),v(u);if(D.length)for(const u of s)-1===D.indexOf(u)&&D.push(u);else D=s;for(let u=0,w=D.length;u{let p=b*b/Math.PI;return p-=Math.floor(p),p};let g;for(let b=0,p=s.length;bthis.barnesHutApproximation(n,s));else{let n,s,d;for(const l of this.nodes)for(const g of this.nodes)l!==g&&!l.fixedPosition&&(d=this.getDistXY(l,g),s=this.vectorLength(d),0!==s&&(n=this.repulsiveForce(s,this.k),this.force("repulsive",l,n*g.mass,d,s)))}}attractiveForces(){let n,s,d;for(const l of this.links)l.fromNode&&l.toNode&&(n=this.getDistXY(l.fromNode,l.toNode),s=this.vectorLength(n),0!==s&&(d=this.attractiveForce(s,this.k),this.force("attractive",l,d,n,s)))}applyLimits(){const n=this.nodes;for(const s of n){if(s.fixedPosition)return;this.integration.integrate(this,s),this.applyLimitBox(s,this.box),s.dispX=0,s.dispY=0}}applyLimitBox(n,s){const d=n.radius;n.plotX=P(n.plotX,s.left+d,s.width-d),n.plotY=P(n.plotY,s.top+d,s.height-d)}coolDown(n,s,d){return n-s*d}isStable(){return Math.abs(this.systemTemperature-this.prevSystemTemperature)<1e-5||this.temperature<=0}getSystemTemperature(){let n=0;for(const s of this.nodes)n+=s.temperature;return n}vectorLength(n){return Math.sqrt(n.x*n.x+n.y*n.y)}getDistR(n,s){const d=this.getDistXY(n,s);return this.vectorLength(d)}getDistXY(n,s){const d=n.plotX-s.plotX,l=n.plotY-s.plotY;return{x:d,y:l,absX:Math.abs(d),absY:Math.abs(l)}}}return f}),K(S,"Series/SimulationSeriesUtilities.js",[S["Core/Utilities.js"],S["Core/Animation/AnimationUtilities.js"]],function(O,I){const{merge:E,syncTimeout:t}=O,{animObject:T}=I;return{initDataLabels:function j(){const c=this,h=c.options.dataLabels;if(!c.dataLabelsGroup){const m=this.initDataLabelsGroup();return!c.chart.styledMode&&h?.style&&m.css(h.style),m.attr({opacity:0}),c.visible&&m.show(),m}return c.dataLabelsGroup.attr(E({opacity:1},this.getPlotBox("data-labels"))),c.dataLabelsGroup},initDataLabelsDefer:function N(){const c=this.options.dataLabels;c?.defer&&this.options.layoutAlgorithm?.enableSimulation?t(()=>{this.deferDataLabels=!1},c?T(c.animation).defer:0):this.deferDataLabels=!1}}}),K(S,"Series/Networkgraph/NetworkgraphSeries.js",[S["Series/DragNodesComposition.js"],S["Series/GraphLayoutComposition.js"],S["Core/Globals.js"],S["Series/Networkgraph/NetworkgraphPoint.js"],S["Series/Networkgraph/NetworkgraphSeriesDefaults.js"],S["Series/NodesComposition.js"],S["Series/Networkgraph/ReingoldFruchtermanLayout.js"],S["Core/Series/SeriesRegistry.js"],S["Series/SimulationSeriesUtilities.js"],S["Core/Utilities.js"]],function(O,I,E,t,T,N,j,P,c,h){const{noop:m}=E,{series:_,seriesTypes:{column:{prototype:f},line:{prototype:k}}}=P,{initDataLabels:n,initDataLabelsDefer:s}=c,{addEvent:d,defined:l,extend:g,merge:b,pick:p}=h;class v extends _{constructor(){super(...arguments),this.deferDataLabels=!0}static compose(r){O.compose(r),j.compose(r)}deferLayout(){let y,r=this.options.layoutAlgorithm,u=this.chart.graphLayoutsStorage,w=this.chart.graphLayoutsLookup,C=this.chart.options.chart;this.visible&&(u||(this.chart.graphLayoutsStorage=u={},this.chart.graphLayoutsLookup=w=[]),y=u[r.type],y||(r.enableSimulation=l(C.forExport)?!C.forExport:r.enableSimulation,u[r.type]=y=new I.layouts[r.type],y.init(r),w.splice(y.index,0,y)),this.layout=y,y.setArea(0,0,this.chart.plotWidth,this.chart.plotHeight),y.addElementsToCollection([this],y.series),y.addElementsToCollection(this.nodes,y.nodes),y.addElementsToCollection(this.points,y.links))}destroy(){this.layout&&this.layout.removeElementFromCollection(this,this.layout.series),N.destroy.call(this)}drawDataLabels(){if(this.deferDataLabels)return;const r=this.options.dataLabels;let u;r?.textPath&&(u=r.textPath),_.prototype.drawDataLabels.call(this,this.nodes),r?.linkTextPath&&(r.textPath=r.linkTextPath),_.prototype.drawDataLabels.call(this,this.data),r?.textPath&&(r.textPath=u)}generatePoints(){let r,u;for(N.generatePoints.apply(this,arguments),this.options.nodes&&this.options.nodes.forEach(function(w){this.nodeLookup[w.id]||(this.nodeLookup[w.id]=this.createNode(w.id))},this),u=this.nodes.length-1;u>=0;u--)r=this.nodes[u],r.degree=r.getDegree(),r.radius=p(r.marker&&r.marker.radius,this.options.marker&&this.options.marker.radius,0),this.nodeLookup[r.id]||r.remove();this.data.forEach(function(w){w.formatPrefix="link"}),this.indexateNodes()}getPointsCollection(){return this.nodes||[]}indexateNodes(){this.nodes.forEach(function(r,u){r.index=u})}init(r,u){return super.init(r,u),s.call(this),d(this,"updatedData",()=>{this.layout&&this.layout.stop()}),d(this,"afterUpdate",()=>{this.nodes.forEach(w=>{w&&w.series&&w.resolveColor()})}),d(this,"afterSimulation",function(){this.deferDataLabels=!1,this.drawDataLabels()}),this}markerAttribs(r,u){const w=_.prototype.markerAttribs.call(this,r,u);return l(r.plotY)||(w.y=0),w.x=(r.plotX||0)-(w.width||0)/2,w}pointAttribs(r,u){let w=u||r&&r.state||"normal",C=_.prototype.pointAttribs.call(this,r,w),y=this.options.states[w];return r&&!r.isNode&&(C=r.getLinkAttributes(),y&&(C={stroke:y.linkColor||C.stroke,dashstyle:y.linkDashStyle||C.dashstyle,opacity:p(y.linkOpacity,C.opacity),"stroke-width":y.linkColor||C["stroke-width"]})),C}render(){const r=this,u=r.points,w=r.chart.hoverPoint,C=[];r.points=r.nodes,k.render.call(this),r.points=u,u.forEach(function(y){y.fromNode&&y.toNode&&(y.renderLink(),y.redrawLink())}),w&&w.series===r&&r.redrawHalo(w),r.chart.hasRendered&&!r.options.dataLabels.allowOverlap&&(r.nodes.concat(r.points).forEach(function(y){y.dataLabel&&C.push(y.dataLabel)}),r.chart.hideOverlappingLabels(C))}setState(r,u){u?(this.points=this.nodes.concat(this.data),_.prototype.setState.apply(this,arguments),this.points=this.data):_.prototype.setState.apply(this,arguments),!this.layout.simulation&&!r&&this.render()}translate(){this.processedXData||this.processData(),this.generatePoints(),this.deferLayout(),this.nodes.forEach(function(r){r.isInside=!0,r.linksFrom.forEach(function(u){u.shapeType="path",u.y=1})})}}return v.defaultOptions=b(_.defaultOptions,T),g(v.prototype,{pointClass:t,animate:void 0,directTouch:!0,drawGraph:void 0,forces:["barycenter","repulsive","attractive"],hasDraggableNodes:!0,isCartesian:!1,noSharedTooltip:!0,pointArrayMap:["from","to"],requireSorting:!1,trackerGroups:["group","markerGroup","dataLabelsGroup"],initDataLabels:n,buildKDTree:m,createNode:N.createNode,drawTracker:f.drawTracker,onMouseDown:O.onMouseDown,onMouseMove:O.onMouseMove,onMouseUp:O.onMouseUp,redrawHalo:O.redrawHalo}),P.registerSeriesType("networkgraph",v),v}),K(S,"masters/modules/networkgraph.src.js",[S["Core/Globals.js"],S["Series/Networkgraph/NetworkgraphSeries.js"]],function(O,I){return I.compose(O.Chart),O})},nt.exports?(Q.default=Q,nt.exports=Q):(ht=[X(21264)],void 0!==(et=function(S){return Q(S),Q.Highcharts=S,Q}.apply(_t,ht))&&(nt.exports=et))},95606:(nt,_t,X)=>{var ht,et,Q;Q=function(Q){"use strict";var S=Q?Q._modules:{};function K(O,I,E,t){O.hasOwnProperty(I)||(O[I]=t.apply(null,E),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:I,module:O[I]}})))}K(S,"Series/NodesComposition.js",[S["Core/Series/SeriesRegistry.js"],S["Core/Utilities.js"]],function(O,I){var E;let{series:{prototype:t,prototype:{pointClass:{prototype:T}}}}=O,{defined:N,extend:j,find:P,merge:c,pick:h}=I;return function(m){function _(){return this.data=[].concat(this.points||[],this.nodes),t.destroy.apply(this,arguments)}function f(){this.nodes&&(this.nodes.forEach(s=>{s.destroy()}),this.nodes.length=0),t.setData.apply(this,arguments)}function k(s){let d=arguments,l=this.isNode?this.linksTo.concat(this.linksFrom):[this.fromNode,this.toNode];"select"!==s&&l.forEach(g=>{g&&g.series&&(T.setState.apply(g,d),!g.isNode&&(g.fromNode.graphic&&T.setState.apply(g.fromNode,d),g.toNode&&g.toNode.graphic&&T.setState.apply(g.toNode,d)))}),T.setState.apply(this,d)}function n(s,d,l,g){let b=this.series.options.nodes,p=this.series.options.data,v=p&&p.length||0,D=p&&p[this.index];if(T.update.call(this,s,!this.isNode&&d,l,g),this.isNode){let r=(b||[]).reduce((w,C,y)=>this.id===C.id?y:w,-1),u=c(b&&b[r]||{},p&&p[this.index]||{});p&&(D?p[this.index]=D:p.length=v),b?r>=0?b[r]=u:b.push(u):this.series.options.nodes=[u],h(d,!0)&&this.series.chart.redraw(l)}}m.compose=function(s,d){let l=s.prototype,g=d.prototype;return l.setNodeState=k,l.setState=k,l.update=n,g.destroy=_,g.setData=f,d},m.createNode=function(s){let b,d=this.pointClass,l=(p,v)=>P(p,D=>D.id===v),g=l(this.nodes,s);if(!g){b=this.options.nodes&&l(this.options.nodes,s);let p=new d(this,j({className:"highcharts-node",isNode:!0,id:s,y:1},b));p.linksTo=[],p.linksFrom=[],p.getSum=function(){let v=0,D=0;return p.linksTo.forEach(r=>{v+=r.weight||0}),p.linksFrom.forEach(r=>{D+=r.weight||0}),Math.max(v,D)},p.offset=function(v,D){let r=0;for(let u=0;u{D.outgoing&&v++}),!p.linksTo.length||v!==p.linksTo.length},p.index=this.nodes.push(p)-1,g=p}return g.formatPrefix="node",g.name=g.name||g.options.id||"",g.mass=h(g.options.mass,g.options.marker&&g.options.marker.radius,this.options.marker&&this.options.marker.radius,4),g},m.destroy=_,m.generatePoints=function(){let s=this.chart,d={};t.generatePoints.call(this),this.nodes||(this.nodes=[]),this.colorCounter=0,this.nodes.forEach(l=>{l.linksFrom.length=0,l.linksTo.length=0,l.level=l.options.level}),this.points.forEach(l=>{N(l.from)&&(d[l.from]||(d[l.from]=this.createNode(l.from)),d[l.from].linksFrom.push(l),l.fromNode=d[l.from],s.styledMode?l.colorIndex=h(l.options.colorIndex,d[l.from].colorIndex):l.color=l.options.color||d[l.from].color),N(l.to)&&(d[l.to]||(d[l.to]=this.createNode(l.to)),d[l.to].linksTo.push(l),l.toNode=d[l.to]),l.name=l.name||l.id},this),this.nodeLookup=d},m.setNodeState=k,m.updateNode=n}(E||(E={})),E}),K(S,"Series/Sankey/SankeyPoint.js",[S["Core/Series/Point.js"],S["Core/Series/SeriesRegistry.js"],S["Core/Utilities.js"]],function(O,I,E){let{column:t}=I.seriesTypes,{defined:T}=E;return class N extends t.prototype.pointClass{applyOptions(P,c){return O.prototype.applyOptions.call(this,P,c),T(this.options.level)&&(this.options.column=this.column=this.options.level),this}getClassName(){return(this.isNode?"highcharts-node ":"highcharts-link ")+O.prototype.getClassName.call(this)}getFromNode(){let c,P=-1;for(let h=0;hP&&m.fromNode!==this&&(P=(c=m.fromNode).column)}return{fromNode:c,fromColumn:P}}setNodeColumn(){T(this.options.column)||(this.column=0===this.linksTo.length?0:this.getFromNode().fromColumn+1)}isValid(){return this.isNode||"number"==typeof this.weight}}}),K(S,"Series/Sankey/SankeySeriesDefaults.js",[],function(){return{borderWidth:0,colorByPoint:!0,curveFactor:.33,dataLabels:{enabled:!0,backgroundColor:"none",crop:!1,nodeFormat:void 0,nodeFormatter:function(){return this.point.name},format:void 0,formatter:function(){},inside:!0},inactiveOtherPoints:!0,linkColorMode:"from",linkOpacity:.5,opacity:1,minLinkWidth:0,nodeAlignment:"center",nodeWidth:20,nodePadding:10,nodeDistance:30,showInLegend:!1,states:{hover:{linkOpacity:1,opacity:1},inactive:{linkOpacity:.1,opacity:.1,animation:{duration:50}}},tooltip:{followPointer:!0,headerFormat:'{series.name}
',pointFormat:"{point.fromNode.name} \u2192 {point.toNode.name}: {point.weight}
",nodeFormat:"{point.name}: {point.sum}
"}}}),K(S,"Series/Sankey/SankeyColumnComposition.js",[S["Core/Utilities.js"]],function(O){var I;let{defined:E,relativeLength:t}=O;return function(T){T.compose=function(j,P){return j.sankeyColumn=new N(j,P),j};class N{constructor(P,c){this.points=P,this.series=c}getTranslationFactor(P){let f,n,c=this.points,h=c.slice(),_=P.options.minLinkWidth||0,k=0,s=(P.chart.plotSizeY||0)-(P.options.borderWidth||0)-(c.length-1)*P.nodePadding;for(;c.length;){for(k=s/c.sankeyColumn.sum(),f=!1,n=c.length;n--;)c[n].getSum()*k<_&&(c.splice(n,1),s=Math.max(0,s-_),f=!0);if(!f)break}for(let d of(c.length=0,h))c.push(d);return k}top(P){let c=this.series,h=c.nodePadding,m=this.points.reduce((_,f)=>(_>0&&(_+=h),_+Math.max(f.getSum()*P,c.options.minLinkWidth||0)),0);return{top:0,center:.5,bottom:1}[c.options.nodeAlignment||"center"]*((c.chart.plotSizeY||0)-m)}left(P){let c=this.series,h=c.chart,m=c.options.equalNodes,_=h.inverted?h.plotHeight:h.plotWidth,f=c.nodePadding,k=this.points.reduce((n,s)=>(n>0&&(n+=f),n+(m?_/s.series.nodes.length-f:Math.max(s.getSum()*P,c.options.minLinkWidth||0))),0);return((h.plotSizeX||0)-Math.round(k))/2}sum(){return this.points.reduce((P,c)=>P+c.getSum(),0)}offset(P,c){let k,h=this.points,m=this.series,_=m.nodePadding,f=0;if(m.is("organization")&&P.hangsFrom)return{absoluteTop:P.hangsFrom.nodeY};for(let n=0;n{let y=f&&f.colorVariation;return y&&"brightness"===y.key&&l&&r?O.parse(C).brighten(y.to*(l/r)).get():C})(b),v.color)),d=P(_&&_.options.colorIndex,f&&f.colorIndex,n,p,m.colorIndex)),{color:s,colorIndex:d}},getLevelOptions:function(h){let _,f,k,n,s,d,m={};if(N(h))for(n=T(h.from)?h.from:1,d=h.levels,f={},_=N(h.defaults)?h.defaults:{},t(d)&&(f=d.reduce((l,g)=>{let b,p,v;return N(g)&&T(g.level)&&(p=P((v=j({},g)).levelIsConstant,_.levelIsConstant),delete v.levelIsConstant,delete v.level,N(l[b=g.level+(p?0:n-1)])?j(!0,l[b],v):l[b]=v),l},{})),s=T(h.to)?h.to:1,k=0;k<=s;k++)m[k]=j({},_,N(f[k])?f[k]:{});return m},getNodeWidth:function(h,m){let{chart:_,options:f}=h,{nodeDistance:k=0,nodeWidth:n=0}=f,{plotSizeX:s=1}=_;if("auto"===n){if("string"==typeof k&&/%$/.test(k))return s/(m+parseFloat(k)/100*(m-1));let d=Number(k);return(s+d)/(m||1)-d}return c(n,s)},setTreeValues:function h(m,_){let f=_.before,k=_.idRoot,d=_.points[m.i],l=d&&d.options||{},g=[],b=0;m.levelDynamic=m.level-(!1!==_.levelIsConstant?0:_.mapIdToNode[k].level),m.name=P(d&&d.name,""),m.visible=k===m.id||!0===_.visible,"function"==typeof f&&(m=f(m,_)),m.children.forEach((v,D)=>{let r=E({},_);E(r,{index:D,siblings:m.children.length,visible:m.visible}),v=h(v,r),g.push(v),v.visible&&(b+=v.val)});let p=P(l.value,b);return m.visible=p>=0&&(b>0||m.visible),m.children=g,m.childrenTotal=b,m.isLeaf=m.visible&&!b,m.val=p,m},updateRootId:function(h){let m,_;return N(h)&&(_=N(h.options)?h.options:{},m=P(h.rootNode,_.rootId,""),N(h.userOptions)&&(h.userOptions.rootId=m),h.rootNode=m),m}}}),K(S,"Series/Sankey/SankeySeries.js",[S["Core/Globals.js"],S["Series/NodesComposition.js"],S["Series/Sankey/SankeyPoint.js"],S["Series/Sankey/SankeySeriesDefaults.js"],S["Core/Series/SeriesRegistry.js"],S["Series/Sankey/SankeyColumnComposition.js"],S["Core/Color/Color.js"],S["Series/TreeUtilities.js"],S["Core/Utilities.js"]],function(O,I,E,t,T,N,j,P,c){let{column:h,line:m}=T.seriesTypes,{parse:_}=j,{getLevelOptions:f,getNodeWidth:k}=P,{clamp:n,extend:s,isObject:d,merge:l,pick:g,relativeLength:b,stableSort:p}=c;class v extends h{static getDLOptions(r){let u=d(r.optionsPoint)?r.optionsPoint.dataLabels:{};return l({style:{}},d(r.level)?r.level.dataLabels:{},u)}createNodeColumns(){let r=[];for(let u of this.nodes)u.setNodeColumn(),r[u.column]||(r[u.column]=N.compose([],this)),r[u.column].push(u);for(let u=0;ur.level-u.level)}}getNodePadding(){let r=this.options.nodePadding||0;if(this.nodeColumns){let u=this.nodeColumns.reduce((w,C)=>Math.max(w,C.length),0);u*r>this.chart.plotSizeY&&(r=this.chart.plotSizeY/u)}return r}hasData(){return!!this.processedXData.length}pointAttribs(r,u){if(!r)return{};let w=this,y=w.mapOptionsToLevel[(r.isNode?r.level:r.fromNode.level)||0]||{},A=r.options,z=y.states&&y.states[u||""]||{},V=["colorByPoint","borderColor","borderWidth","linkOpacity","opacity"].reduce((q,$)=>(q[$]=g(z[$],A[$],y[$],w.options[$]),q),{}),Z=g(z.color,A.color,V.colorByPoint?r.color:y.color);return r.isNode?{fill:Z,stroke:V.borderColor,"stroke-width":V.borderWidth,opacity:V.opacity}:{fill:j.parse(Z).setOpacity(V.linkOpacity).get()}}drawTracker(){h.prototype.drawTracker.call(this,this.points),h.prototype.drawTracker.call(this,this.nodes)}drawPoints(){h.prototype.drawPoints.call(this,this.points),h.prototype.drawPoints.call(this,this.nodes)}drawDataLabels(){h.prototype.drawDataLabels.call(this,this.points),h.prototype.drawDataLabels.call(this,this.nodes)}translate(){this.processedXData||this.processData(),this.generatePoints(),this.nodeColumns=this.createNodeColumns();let r=this,u=this.chart,w=this.options,C=this.nodeColumns,y=C.length;for(let A of(this.nodeWidth=k(this,y),this.nodePadding=this.getNodePadding(),this.translationFactor=C.reduce((z,V)=>Math.min(z,V.sankeyColumn.getTranslationFactor(r)),1/0),this.colDistance=(u.plotSizeX-this.nodeWidth-w.borderWidth)/Math.max(1,C.length-1),r.mapOptionsToLevel=f({from:1,levels:w.levels,to:C.length-1,defaults:{borderColor:w.borderColor,borderRadius:w.borderRadius,borderWidth:w.borderWidth,color:r.color,colorByPoint:w.colorByPoint,levelIsConstant:!0,linkColor:w.linkColor,linkLineWidth:w.linkLineWidth,linkOpacity:w.linkOpacity,states:w.states}}),C))for(let z of A)r.translateNode(z,A);for(let A of this.nodes)for(let z of A.linksFrom)(z.weight||z.isNull)&&z.to&&(r.translateLink(z),z.allowShadow=!1)}translateLink(r){let u=(tt,ot)=>{let st=tt.offset(r,ot)*z;return Math.min(tt.nodeY+st,tt.nodeY+(tt.shapeArgs&&tt.shapeArgs.height||0)-B)},w=r.fromNode,C=r.toNode,y=this.chart,{inverted:A}=y,z=this.translationFactor,V=this.options,Z=g(r.linkColorMode,V.linkColorMode),q=(y.inverted?-this.colDistance:this.colDistance)*V.curveFactor,$=w.nodeX,Y=C.nodeX,J=r.outgoing,B=Math.max(r.weight*z,this.options.minLinkWidth),U=u(w,"linksFrom"),G=u(C,"linksTo"),H=this.nodeWidth,rt=Y>$+H;if(y.inverted&&(U=y.plotSizeY-U,G=(y.plotSizeY||0)-G,H=-H,B=-B,rt=$>Y),r.shapeType="path",r.linkBase=[U,U+B,G,G+B],rt&&"number"==typeof G)r.shapeArgs={d:[["M",$+H,U],["C",$+H+q,U,Y-q,G,Y,G],["L",Y+(J?H:0),G+B/2],["L",Y,G+B],["C",Y-q,G+B,$+H+q,U+B,$+H,U+B],["Z"]]};else if("number"==typeof G){let ot=Y-20-B,st=Y-20,at=$+H,lt=at+20,ft=lt+B,gt=U+B,St=gt+20,dt=St+(y.plotHeight-U-B),ct=dt+20,mt=ct+B,bt=G+B,kt=bt+20,Et=ct+.7*B,Pt=Y-.7*B,Tt=at+.7*B;r.shapeArgs={d:[["M",at,U],["C",Tt,U,ft,gt-.7*B,ft,St],["L",ft,dt],["C",ft,Et,Tt,mt,at,mt],["L",Y,mt],["C",Pt,mt,ot,Et,ot,dt],["L",ot,kt],["C",ot,bt-.7*B,Pt,G,Y,G],["L",Y,bt],["C",st,bt,st,bt,st,kt],["L",st,dt],["C",st,ct,st,ct,Y,ct],["L",at,ct],["C",lt,ct,lt,ct,lt,dt],["L",lt,St],["C",lt,gt,lt,gt,at,gt],["Z"]]}}if(r.dlBox={x:$+(Y-$+H)/2,y:U+(G-U)/2,height:B,width:0},r.tooltipPos=y.inverted?[y.plotSizeY-r.dlBox.y-B/2,y.plotSizeX-r.dlBox.x]:[r.dlBox.x,r.dlBox.y+B/2],r.y=r.plotY=1,r.x=r.plotX=1,!r.options.color)if("from"===Z)r.color=w.color;else if("to"===Z)r.color=C.color;else if("gradient"===Z){let tt=_(w.color).get(),ot=_(C.color).get();r.color={linearGradient:{x1:1,x2:0,y1:0,y2:0},stops:[[0,A?tt:ot],[1,A?ot:tt]]}}}translateNode(r,u){let w=this.translationFactor,C=this.chart,y=this.options,{borderRadius:A,borderWidth:z=0}=y,V=r.getSum(),Z=Math.max(Math.round(V*w),this.options.minLinkWidth),q=Math.round(this.nodeWidth),$=Math.round(z)%2/2,Y=u.sankeyColumn.offset(r,w),J=Math.floor(g(Y.absoluteTop,u.sankeyColumn.top(w)+Y.relativeTop))+$,B=Math.floor(this.colDistance*r.column+z/2)+b(r.options[C.inverted?"offsetVertical":"offsetHorizontal"]||0,q)+$,U=C.inverted?C.plotSizeX-B:B;if(r.sum=V,V){r.shapeType="roundedRect",r.nodeX=U,r.nodeY=J;let G=U,H=J,rt=r.options.width||y.width||q,tt=r.options.height||y.height||Z,ot=n(b("object"==typeof A?A.radius:A||0,rt),0,Z/2);C.inverted&&(G=U-q,H=C.plotSizeY-J-Z,rt=r.options.height||y.height||q,tt=r.options.width||y.width||Z),r.dlOptions=v.getDLOptions({level:this.mapOptionsToLevel[r.level],optionsPoint:r.options}),r.plotX=1,r.plotY=1,r.tooltipPos=C.inverted?[C.plotSizeY-H-tt/2,C.plotSizeX-G-rt/2]:[G+rt/2,H+tt/2],r.shapeArgs={x:G,y:H,width:rt,height:tt,r:ot,display:r.hasShape()?"":"none"}}else r.dlOptions={enabled:!1}}}return v.defaultOptions=l(h.defaultOptions,t),I.compose(E,v),s(v.prototype,{animate:m.prototype.animate,createNode:I.createNode,forceDL:!0,invertible:!0,isCartesian:!1,orderNodes:!0,noSharedTooltip:!0,pointArrayMap:["from","to","weight"],pointClass:E,searchPoint:O.noop}),T.registerSeriesType("sankey",v),v}),K(S,"masters/modules/sankey.src.js",[S["Core/Globals.js"]],function(O){return O})},nt.exports?(Q.default=Q,nt.exports=Q):(ht=[X(21264)],void 0!==(et=function(S){return Q(S),Q.Highcharts=S,Q}.apply(_t,ht))&&(nt.exports=et))},55782:(nt,_t,X)=>{var ht,et,Q;Q=function(Q){"use strict";var S=Q?Q._modules:{};function K(O,I,E,t){O.hasOwnProperty(I)||(O[I]=t.apply(null,E),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:I,module:O[I]}})))}K(S,"Series/NodesComposition.js",[S["Core/Series/SeriesRegistry.js"],S["Core/Utilities.js"]],function(O,I){const{series:{prototype:E,prototype:{pointClass:{prototype:t}}}}=O,{defined:T,extend:N,find:j,merge:P,pick:c}=I;var h;return function(m){function k(){return this.data=[].concat(this.points||[],this.nodes),E.destroy.apply(this,arguments)}function s(){this.nodes&&(this.nodes.forEach(g=>{g.destroy()}),this.nodes.length=0),E.setData.apply(this,arguments)}function d(g){const b=arguments,p=this.isNode?this.linksTo.concat(this.linksFrom):[this.fromNode,this.toNode];"select"!==g&&p.forEach(v=>{v&&v.series&&(t.setState.apply(v,b),v.isNode||(v.fromNode.graphic&&t.setState.apply(v.fromNode,b),v.toNode&&v.toNode.graphic&&t.setState.apply(v.toNode,b)))}),t.setState.apply(this,b)}function l(g,b,p,v){const D=this.series.options.nodes,r=this.series.options.data,u=r&&r.length||0,w=r&&r[this.index];if(t.update.call(this,g,!this.isNode&&b,p,v),this.isNode){const C=(D||[]).reduce((A,z,V)=>this.id===z.id?V:A,-1),y=P(D&&D[C]||{},r&&r[this.index]||{});r&&(w?r[this.index]=w:r.length=u),D?C>=0?D[C]=y:D.push(y):this.series.options.nodes=[y],c(b,!0)&&this.series.chart.redraw(p)}}m.compose=function _(g,b){const p=g.prototype,v=b.prototype;return p.setNodeState=d,p.setState=d,p.update=l,v.destroy=k,v.setData=s,b},m.createNode=function f(g){const b=this.pointClass,p=(r,u)=>j(r,w=>w.id===u);let D,v=p(this.nodes,g);if(!v){D=this.options.nodes&&p(this.options.nodes,g);const r=new b(this,N({className:"highcharts-node",isNode:!0,id:g,y:1},D));r.linksTo=[],r.linksFrom=[],r.getSum=function(){let u=0,w=0;return r.linksTo.forEach(C=>{u+=C.weight||0}),r.linksFrom.forEach(C=>{w+=C.weight||0}),Math.max(u,w)},r.offset=function(u,w){let C=0;for(let y=0;y{w.outgoing&&u++}),!r.linksTo.length||u!==r.linksTo.length},r.index=this.nodes.push(r)-1,v=r}return v.formatPrefix="node",v.name=v.name||v.options.id||"",v.mass=c(v.options.mass,v.options.marker&&v.options.marker.radius,this.options.marker&&this.options.marker.radius,4),v},m.destroy=k,m.generatePoints=function n(){const g=this.chart,b={};E.generatePoints.call(this),this.nodes||(this.nodes=[]),this.colorCounter=0,this.nodes.forEach(p=>{p.linksFrom.length=0,p.linksTo.length=0,p.level=p.options.level}),this.points.forEach(p=>{T(p.from)&&(b[p.from]||(b[p.from]=this.createNode(p.from)),b[p.from].linksFrom.push(p),p.fromNode=b[p.from],g.styledMode?p.colorIndex=c(p.options.colorIndex,b[p.from].colorIndex):p.color=p.options.color||b[p.from].color),T(p.to)&&(b[p.to]||(b[p.to]=this.createNode(p.to)),b[p.to].linksTo.push(p),p.toNode=b[p.to]),p.name=p.name||p.id},this),this.nodeLookup=b},m.setNodeState=d,m.updateNode=l}(h||(h={})),h}),K(S,"Series/Sankey/SankeyPoint.js",[S["Core/Series/Point.js"],S["Core/Series/SeriesRegistry.js"],S["Core/Utilities.js"]],function(O,I,E){const{column:t}=I.seriesTypes,{defined:T}=E;return class N extends t.prototype.pointClass{applyOptions(P,c){return O.prototype.applyOptions.call(this,P,c),T(this.options.level)&&(this.options.column=this.column=this.options.level),this}getClassName(){return(this.isNode?"highcharts-node ":"highcharts-link ")+O.prototype.getClassName.call(this)}getFromNode(){const P=this;let h,c=-1;for(let m=0;mc&&_.fromNode!==P&&(h=_.fromNode,c=h.column)}return{fromNode:h,fromColumn:c}}setNodeColumn(){const P=this;T(P.options.column)||(P.column=0===P.linksTo.length?0:P.getFromNode().fromColumn+1)}isValid(){return this.isNode||"number"==typeof this.weight}}}),K(S,"Series/Sankey/SankeySeriesDefaults.js",[],function(){return{borderWidth:0,colorByPoint:!0,curveFactor:.33,dataLabels:{enabled:!0,backgroundColor:"none",crop:!1,nodeFormat:void 0,nodeFormatter:function(){return this.point.name},format:void 0,formatter:function(){},inside:!0},inactiveOtherPoints:!0,linkColorMode:"from",linkOpacity:.5,opacity:1,minLinkWidth:0,nodeAlignment:"center",nodeWidth:20,nodePadding:10,nodeDistance:30,showInLegend:!1,states:{hover:{linkOpacity:1,opacity:1},inactive:{linkOpacity:.1,opacity:.1,animation:{duration:50}}},tooltip:{followPointer:!0,headerFormat:'{series.name}
',pointFormat:"{point.fromNode.name} \u2192 {point.toNode.name}: {point.weight}
",nodeFormat:"{point.name}: {point.sum}
"}}}),K(S,"Series/Sankey/SankeyColumnComposition.js",[S["Core/Utilities.js"]],function(O){const{defined:I,relativeLength:E}=O;var t;return function(T){T.compose=function N(P,c){const h=P;return h.sankeyColumn=new j(h,c),h};class j{constructor(c,h){this.points=c,this.series=h}getTranslationFactor(c){const h=this.points,m=h.slice(),f=c.options.minLinkWidth||0;let k,s,n=0,d=(c.chart.plotSizeY||0)-(c.options.borderWidth||0)-(h.length-1)*c.nodePadding;for(;h.length;){for(n=d/h.sankeyColumn.sum(),k=!1,s=h.length;s--;)h[s].getSum()*n(f>0&&(f+=m),f+Math.max(k.getSum()*c,h.options.minLinkWidth||0)),0);return{top:0,center:.5,bottom:1}[h.options.nodeAlignment||"center"]*((h.chart.plotSizeY||0)-_)}left(c){const h=this.series,m=h.chart,_=h.options.equalNodes,f=m.inverted?m.plotHeight:m.plotWidth,k=h.nodePadding,n=this.points.reduce((s,d)=>(s>0&&(s+=k),s+(_?f/d.series.nodes.length-k:Math.max(d.getSum()*c,h.options.minLinkWidth||0))),0);return((m.plotSizeX||0)-Math.round(n))/2}sum(){return this.points.reduce((c,h)=>c+h.getSum(),0)}offset(c,h){const m=this.points,_=this.series,f=_.nodePadding;let n,k=0;if(_.is("organization")&&c.hangsFrom)return{absoluteTop:c.hangsFrom.nodeY};for(let s=0;s{const J=A&&A.colorVariation;return J&&"brightness"===J.key&&l&&r?O.parse(Y).brighten(J.to*(l/r)).get():Y})(b),v.color)),q=P(y&&y.options.colorIndex,A&&A.colorIndex,V,p,d.colorIndex)),{color:Z,colorIndex:q}},getLevelOptions:function m(s){let l,g,b,p,v,D,d={};if(N(s))for(p=T(s.from)?s.from:1,D=s.levels,g={},l=N(s.defaults)?s.defaults:{},t(D)&&(g=D.reduce((r,u)=>{let w,C,y;return N(u)&&T(u.level)&&(y=j({},u),C=P(y.levelIsConstant,l.levelIsConstant),delete y.levelIsConstant,delete y.level,w=u.level+(C?0:p-1),N(r[w])?j(!0,r[w],y):r[w]=y),r},{})),v=T(s.to)?s.to:1,b=0;b<=v;b++)d[b]=j({},l,N(g[b])?g[b]:{});return d},getNodeWidth:function k(s,d){const{chart:l,options:g}=s,{nodeDistance:b=0,nodeWidth:p=0}=g,{plotSizeX:v=1}=l;if("auto"===p){if("string"==typeof b&&/%$/.test(b))return v/(d+parseFloat(b)/100*(d-1));const D=Number(b);return(v+D)/(d||1)-D}return c(p,v)},setTreeValues:function _(s,d){const l=d.before,g=d.idRoot,r=d.points[s.i],u=r&&r.options||{},w=[];let C=0;s.levelDynamic=s.level-(!1!==d.levelIsConstant?0:d.mapIdToNode[g].level),s.name=P(r&&r.name,""),s.visible=g===s.id||!0===d.visible,"function"==typeof l&&(s=l(s,d)),s.children.forEach((A,z)=>{const V=E({},d);E(V,{index:z,siblings:s.children.length,visible:s.visible}),A=_(A,V),w.push(A),A.visible&&(C+=A.val)});const y=P(u.value,C);return s.visible=y>=0&&(C>0||s.visible),s.children=w,s.childrenTotal=C,s.isLeaf=s.visible&&!C,s.val=y,s},updateRootId:function f(s){let d,l;return N(s)&&(l=N(s.options)?s.options:{},d=P(s.rootNode,l.rootId,""),N(s.userOptions)&&(s.userOptions.rootId=d),s.rootNode=d),d}}}),K(S,"Series/Sankey/SankeySeries.js",[S["Core/Globals.js"],S["Series/NodesComposition.js"],S["Series/Sankey/SankeyPoint.js"],S["Series/Sankey/SankeySeriesDefaults.js"],S["Core/Series/SeriesRegistry.js"],S["Series/Sankey/SankeyColumnComposition.js"],S["Core/Color/Color.js"],S["Series/TreeUtilities.js"],S["Core/Utilities.js"]],function(O,I,E,t,T,N,j,P,c){const{column:h,line:m}=T.seriesTypes,{parse:_}=j,{getLevelOptions:f,getNodeWidth:k}=P,{clamp:n,extend:s,isObject:d,merge:l,pick:g,relativeLength:b,stableSort:p}=c;class v extends h{static getDLOptions(r){const u=d(r.optionsPoint)?r.optionsPoint.dataLabels:{},w=d(r.level)?r.level.dataLabels:{};return l({style:{}},w,u)}createNodeColumns(){const r=[];for(const u of this.nodes)u.setNodeColumn(),r[u.column]||(r[u.column]=N.compose([],this)),r[u.column].push(u);for(let u=0;u"u"&&(r[u]=N.compose([],this));return r}order(r,u){const w=this;if(typeof r.level>"u"){r.level=u;for(const C of r.linksFrom)C.toNode&&w.order(C.toNode,u+1)}}generatePoints(){if(I.generatePoints.apply(this,arguments),this.orderNodes){for(const r of this.nodes)0===r.linksTo.length&&this.order(r,0);p(this.nodes,(r,u)=>r.level-u.level)}}getNodePadding(){let r=this.options.nodePadding||0;if(this.nodeColumns){const u=this.nodeColumns.reduce((w,C)=>Math.max(w,C.length),0);u*r>this.chart.plotSizeY&&(r=this.chart.plotSizeY/u)}return r}hasData(){return!!this.processedXData.length}pointAttribs(r,u){if(!r)return{};const w=this,y=w.mapOptionsToLevel[(r.isNode?r.level:r.fromNode.level)||0]||{},A=r.options,z=y.states&&y.states[u||""]||{},V=["colorByPoint","borderColor","borderWidth","linkOpacity","opacity"].reduce((q,$)=>(q[$]=g(z[$],A[$],y[$],w.options[$]),q),{}),Z=g(z.color,A.color,V.colorByPoint?r.color:y.color);return r.isNode?{fill:Z,stroke:V.borderColor,"stroke-width":V.borderWidth,opacity:V.opacity}:{fill:j.parse(Z).setOpacity(V.linkOpacity).get()}}drawTracker(){h.prototype.drawTracker.call(this,this.points),h.prototype.drawTracker.call(this,this.nodes)}drawPoints(){h.prototype.drawPoints.call(this,this.points),h.prototype.drawPoints.call(this,this.nodes)}drawDataLabels(){h.prototype.drawDataLabels.call(this,this.points),h.prototype.drawDataLabels.call(this,this.nodes)}translate(){this.processedXData||this.processData(),this.generatePoints(),this.nodeColumns=this.createNodeColumns();const r=this,u=this.chart,w=this.options,C=this.nodeColumns;this.nodeWidth=k(this,C.length),this.nodePadding=this.getNodePadding(),this.translationFactor=C.reduce((A,z)=>Math.min(A,z.sankeyColumn.getTranslationFactor(r)),1/0),this.colDistance=(u.plotSizeX-this.nodeWidth-w.borderWidth)/Math.max(1,C.length-1),r.mapOptionsToLevel=f({from:1,levels:w.levels,to:C.length-1,defaults:{borderColor:w.borderColor,borderRadius:w.borderRadius,borderWidth:w.borderWidth,color:r.color,colorByPoint:w.colorByPoint,levelIsConstant:!0,linkColor:w.linkColor,linkLineWidth:w.linkLineWidth,linkOpacity:w.linkOpacity,states:w.states}});for(const A of C)for(const z of A)r.translateNode(z,A);for(const A of this.nodes)for(const z of A.linksFrom)(z.weight||z.isNull)&&z.to&&(r.translateLink(z),z.allowShadow=!1)}translateLink(r){const u=(tt,ot)=>{const st=tt.offset(r,ot)*z;return Math.min(tt.nodeY+st,tt.nodeY+(tt.shapeArgs&&tt.shapeArgs.height||0)-B)},w=r.fromNode,C=r.toNode,y=this.chart,{inverted:A}=y,z=this.translationFactor,V=this.options,Z=g(r.linkColorMode,V.linkColorMode),q=(y.inverted?-this.colDistance:this.colDistance)*V.curveFactor,$=w.nodeX,Y=C.nodeX,J=r.outgoing;let B=Math.max(r.weight*z,this.options.minLinkWidth),U=u(w,"linksFrom"),G=u(C,"linksTo"),H=this.nodeWidth,rt=Y>$+H;if(y.inverted&&(U=y.plotSizeY-U,G=(y.plotSizeY||0)-G,H=-H,B=-B,rt=$>Y),r.shapeType="path",r.linkBase=[U,U+B,G,G+B],rt&&"number"==typeof G)r.shapeArgs={d:[["M",$+H,U],["C",$+H+q,U,Y-q,G,Y,G],["L",Y+(J?H:0),G+B/2],["L",Y,G+B],["C",Y-q,G+B,$+H+q,U+B,$+H,U+B],["Z"]]};else if("number"==typeof G){const st=Y-20-B,at=Y-20,ft=$+H,vt=ft+20,gt=vt+B,dt=U+B,ct=dt+20,mt=ct+(y.plotHeight-U-B),pt=mt+20,bt=pt+B,xt=G+B,Et=xt+20,Pt=pt+.7*B,zt=Y-.7*B,Xt=ft+.7*B;r.shapeArgs={d:[["M",ft,U],["C",Xt,U,gt,dt-.7*B,gt,ct],["L",gt,mt],["C",gt,Pt,Xt,bt,ft,bt],["L",Y,bt],["C",zt,bt,st,Pt,st,mt],["L",st,Et],["C",st,xt-.7*B,zt,G,Y,G],["L",Y,xt],["C",at,xt,at,xt,at,Et],["L",at,mt],["C",at,pt,at,pt,Y,pt],["L",ft,pt],["C",vt,pt,vt,pt,vt,mt],["L",vt,ct],["C",vt,dt,vt,dt,ft,dt],["Z"]]}}if(r.dlBox={x:$+(Y-$+H)/2,y:U+(G-U)/2,height:B,width:0},r.tooltipPos=y.inverted?[y.plotSizeY-r.dlBox.y-B/2,y.plotSizeX-r.dlBox.x]:[r.dlBox.x,r.dlBox.y+B/2],r.y=r.plotY=1,r.x=r.plotX=1,!r.options.color)if("from"===Z)r.color=w.color;else if("to"===Z)r.color=C.color;else if("gradient"===Z){const tt=_(w.color).get(),ot=_(C.color).get();r.color={linearGradient:{x1:1,x2:0,y1:0,y2:0},stops:[[0,A?tt:ot],[1,A?ot:tt]]}}}translateNode(r,u){const w=this.translationFactor,C=this.chart,y=this.options,{borderRadius:A,borderWidth:z=0}=y,V=r.getSum(),Z=Math.max(Math.round(V*w),this.options.minLinkWidth),q=Math.round(this.nodeWidth),$=Math.round(z)%2/2,Y=u.sankeyColumn.offset(r,w),J=Math.floor(g(Y.absoluteTop,u.sankeyColumn.top(w)+Y.relativeTop))+$,B=Math.floor(this.colDistance*r.column+z/2)+b(r.options[C.inverted?"offsetVertical":"offsetHorizontal"]||0,q)+$,U=C.inverted?C.plotSizeX-B:B;if(r.sum=V,V){r.shapeType="roundedRect",r.nodeX=U,r.nodeY=J;let G=U,H=J,rt=r.options.width||y.width||q,tt=r.options.height||y.height||Z;const ot=n(b("object"==typeof A?A.radius:A||0,rt),0,Z/2);C.inverted&&(G=U-q,H=C.plotSizeY-J-Z,rt=r.options.height||y.height||q,tt=r.options.width||y.width||Z),r.dlOptions=v.getDLOptions({level:this.mapOptionsToLevel[r.level],optionsPoint:r.options}),r.plotX=1,r.plotY=1,r.tooltipPos=C.inverted?[C.plotSizeY-H-tt/2,C.plotSizeX-G-rt/2]:[G+rt/2,H+tt/2],r.shapeArgs={x:G,y:H,width:rt,height:tt,r:ot,display:r.hasShape()?"":"none"}}else r.dlOptions={enabled:!1}}}return v.defaultOptions=l(h.defaultOptions,t),I.compose(E,v),s(v.prototype,{animate:m.prototype.animate,createNode:I.createNode,forceDL:!0,invertible:!0,isCartesian:!1,orderNodes:!0,noSharedTooltip:!0,pointArrayMap:["from","to","weight"],pointClass:E,searchPoint:O.noop}),T.registerSeriesType("sankey",v),v}),K(S,"masters/modules/sankey.src.js",[S["Core/Globals.js"]],function(O){return O})},nt.exports?(Q.default=Q,nt.exports=Q):(ht=[X(21264)],void 0!==(et=function(S){return Q(S),Q.Highcharts=S,Q}.apply(_t,ht))&&(nt.exports=et))}}]); \ No newline at end of file diff --git a/www/z4d/846.273fca847945652d.js b/www/z4d/846.79a43d02dda5caf6.js similarity index 99% rename from www/z4d/846.273fca847945652d.js rename to www/z4d/846.79a43d02dda5caf6.js index fd3c496f4..4ce90a866 100644 --- a/www/z4d/846.273fca847945652d.js +++ b/www/z4d/846.79a43d02dda5caf6.js @@ -1 +1 @@ -(self.webpackChunkz4d_plugin=self.webpackChunkz4d_plugin||[]).push([[846],{2846:(W,Y,m)=>{"use strict";m.r(Y),m.d(Y,{ToolsModule:()=>ln});var q=m(93887),e=m(54438),h=m(60177);const S=["dialogPopup"],H=["hueSlider"],D=["alphaSlider"];function y(i,l){if(1&i&&e.nrm(0,"div"),2&i){const t=e.XpG();e.ZvI("arrow arrow-",t.cpUsePosition,""),e.xc7("left",t.cpArrowPosition)("top",t.arrowTop,"px")}}function z(i,l){if(1&i){const t=e.RV6();e.j41(0,"div",28),e.bIt("newValue",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onColorChange(n))})("dragStart",function(){e.eBV(t);const n=e.XpG();return e.Njj(n.onDragStart("saturation-lightness"))})("dragEnd",function(){e.eBV(t);const n=e.XpG();return e.Njj(n.onDragEnd("saturation-lightness"))}),e.nrm(1,"div",16),e.k0s()}if(2&i){const t=e.XpG();e.xc7("background-color",t.hueSliderColor),e.Y8G("rgX",1)("rgY",1),e.R7$(),e.xc7("top",null==t.slider?null:t.slider.v,"px")("left",null==t.slider?null:t.slider.s,"px")}}function M(i,l){1&i&&(e.qSk(),e.j41(0,"svg",29),e.nrm(1,"path",30)(2,"path",31),e.k0s())}function u(i,l){if(1&i){const t=e.RV6();e.j41(0,"button",32),e.bIt("click",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onAddPresetColor(n,r.selectedColor))}),e.EFF(1),e.k0s()}if(2&i){const t=e.XpG();e.HbH(t.cpAddColorButtonClass),e.Y8G("disabled",t.cpPresetColors&&t.cpPresetColors.length>=t.cpMaxPresetColorsLength),e.R7$(),e.SpI(" ",t.cpAddColorButtonText," ")}}function g(i,l){1&i&&e.nrm(0,"div",33)}function x(i,l){if(1&i){const t=e.RV6();e.j41(0,"input",39),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG(2);return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG(2);return e.Njj(r.onAlphaInput(n))}),e.k0s()}if(2&i){const t=e.XpG(2);e.Y8G("rg",1)("value",null==t.cmykText?null:t.cmykText.a)}}function f(i,l){1&i&&(e.j41(0,"div"),e.EFF(1,"A"),e.k0s())}function b(i,l){if(1&i){const t=e.RV6();e.j41(0,"div",34)(1,"div",35)(2,"input",36),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onCyanInput(n))}),e.k0s(),e.j41(3,"input",36),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onMagentaInput(n))}),e.k0s(),e.j41(4,"input",36),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onYellowInput(n))}),e.k0s(),e.j41(5,"input",36),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onBlackInput(n))}),e.k0s(),e.DNE(6,x,1,2,"input",37),e.k0s(),e.j41(7,"div",35)(8,"div"),e.EFF(9,"C"),e.k0s(),e.j41(10,"div"),e.EFF(11,"M"),e.k0s(),e.j41(12,"div"),e.EFF(13,"Y"),e.k0s(),e.j41(14,"div"),e.EFF(15,"K"),e.k0s(),e.DNE(16,f,2,0,"div",38),e.k0s()()}if(2&i){const t=e.XpG();e.xc7("display",3!==t.format?"none":"block"),e.R7$(2),e.Y8G("rg",100)("value",null==t.cmykText?null:t.cmykText.c),e.R7$(),e.Y8G("rg",100)("value",null==t.cmykText?null:t.cmykText.m),e.R7$(),e.Y8G("rg",100)("value",null==t.cmykText?null:t.cmykText.y),e.R7$(),e.Y8G("rg",100)("value",null==t.cmykText?null:t.cmykText.k),e.R7$(),e.Y8G("ngIf","disabled"!==t.cpAlphaChannel),e.R7$(10),e.Y8G("ngIf","disabled"!==t.cpAlphaChannel)}}function Z(i,l){if(1&i){const t=e.RV6();e.j41(0,"input",39),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG(2);return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG(2);return e.Njj(r.onAlphaInput(n))}),e.k0s()}if(2&i){const t=e.XpG(2);e.Y8G("rg",1)("value",null==t.hslaText?null:t.hslaText.a)}}function U(i,l){1&i&&(e.j41(0,"div"),e.EFF(1,"A"),e.k0s())}function G(i,l){if(1&i){const t=e.RV6();e.j41(0,"div",40)(1,"div",35)(2,"input",41),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onHueInput(n))}),e.k0s(),e.j41(3,"input",36),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onSaturationInput(n))}),e.k0s(),e.j41(4,"input",36),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onLightnessInput(n))}),e.k0s(),e.DNE(5,Z,1,2,"input",37),e.k0s(),e.j41(6,"div",35)(7,"div"),e.EFF(8,"H"),e.k0s(),e.j41(9,"div"),e.EFF(10,"S"),e.k0s(),e.j41(11,"div"),e.EFF(12,"L"),e.k0s(),e.DNE(13,U,2,0,"div",38),e.k0s()()}if(2&i){const t=e.XpG();e.xc7("display",2!==t.format?"none":"block"),e.R7$(2),e.Y8G("rg",360)("value",null==t.hslaText?null:t.hslaText.h),e.R7$(),e.Y8G("rg",100)("value",null==t.hslaText?null:t.hslaText.s),e.R7$(),e.Y8G("rg",100)("value",null==t.hslaText?null:t.hslaText.l),e.R7$(),e.Y8G("ngIf","disabled"!==t.cpAlphaChannel),e.R7$(8),e.Y8G("ngIf","disabled"!==t.cpAlphaChannel)}}function K(i,l){if(1&i){const t=e.RV6();e.j41(0,"input",39),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG(2);return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG(2);return e.Njj(r.onAlphaInput(n))}),e.k0s()}if(2&i){const t=e.XpG(2);e.Y8G("rg",1)("value",null==t.rgbaText?null:t.rgbaText.a)}}function N(i,l){1&i&&(e.j41(0,"div"),e.EFF(1,"A"),e.k0s())}function R(i,l){if(1&i){const t=e.RV6();e.j41(0,"div",42)(1,"div",35)(2,"input",43),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onRedInput(n))}),e.k0s(),e.j41(3,"input",43),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onGreenInput(n))}),e.k0s(),e.j41(4,"input",43),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onBlueInput(n))}),e.k0s(),e.DNE(5,K,1,2,"input",37),e.k0s(),e.j41(6,"div",35)(7,"div"),e.EFF(8,"R"),e.k0s(),e.j41(9,"div"),e.EFF(10,"G"),e.k0s(),e.j41(11,"div"),e.EFF(12,"B"),e.k0s(),e.DNE(13,N,2,0,"div",38),e.k0s()()}if(2&i){const t=e.XpG();e.xc7("display",1!==t.format?"none":"block"),e.R7$(2),e.Y8G("rg",255)("value",null==t.rgbaText?null:t.rgbaText.r),e.R7$(),e.Y8G("rg",255)("value",null==t.rgbaText?null:t.rgbaText.g),e.R7$(),e.Y8G("rg",255)("value",null==t.rgbaText?null:t.rgbaText.b),e.R7$(),e.Y8G("ngIf","disabled"!==t.cpAlphaChannel),e.R7$(8),e.Y8G("ngIf","disabled"!==t.cpAlphaChannel)}}function de(i,l){if(1&i){const t=e.RV6();e.j41(0,"input",39),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG(2);return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG(2);return e.Njj(r.onAlphaInput(n))}),e.k0s()}if(2&i){const t=e.XpG(2);e.Y8G("rg",1)("value",t.hexAlpha)}}function ue(i,l){1&i&&(e.j41(0,"div"),e.EFF(1,"A"),e.k0s())}function ge(i,l){if(1&i){const t=e.RV6();e.j41(0,"div",44)(1,"div",35)(2,"input",45),e.bIt("blur",function(){e.eBV(t);const n=e.XpG();return e.Njj(n.onHexInput(null))})("keyup.enter",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onHexInput(n))}),e.k0s(),e.DNE(3,de,1,2,"input",37),e.k0s(),e.j41(4,"div",35)(5,"div"),e.EFF(6,"Hex"),e.k0s(),e.DNE(7,ue,2,0,"div",38),e.k0s()()}if(2&i){const t=e.XpG();e.xc7("display",0!==t.format?"none":"block"),e.AVh("hex-alpha","forced"===t.cpAlphaChannel),e.R7$(2),e.Y8G("value",t.hexText),e.R7$(),e.Y8G("ngIf","forced"===t.cpAlphaChannel),e.R7$(4),e.Y8G("ngIf","forced"===t.cpAlphaChannel)}}function me(i,l){if(1&i){const t=e.RV6();e.j41(0,"input",39),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG(2);return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG(2);return e.Njj(r.onAlphaInput(n))}),e.k0s()}if(2&i){const t=e.XpG(2);e.Y8G("rg",1)("value",null==t.hslaText?null:t.hslaText.a)}}function he(i,l){if(1&i){const t=e.RV6();e.j41(0,"div",46)(1,"div",35)(2,"input",36),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onValueInput(n))}),e.k0s(),e.DNE(3,me,1,2,"input",37),e.k0s(),e.j41(4,"div",35)(5,"div"),e.EFF(6,"V"),e.k0s(),e.j41(7,"div"),e.EFF(8,"A"),e.k0s()()()}if(2&i){const t=e.XpG();e.R7$(2),e.Y8G("rg",100)("value",null==t.hslaText?null:t.hslaText.l),e.R7$(),e.Y8G("ngIf","disabled"!==t.cpAlphaChannel)}}function fe(i,l){if(1&i){const t=e.RV6();e.j41(0,"div",47)(1,"span",48),e.bIt("click",function(){e.eBV(t);const n=e.XpG();return e.Njj(n.onFormatToggle(-1))}),e.k0s(),e.j41(2,"span",48),e.bIt("click",function(){e.eBV(t);const n=e.XpG();return e.Njj(n.onFormatToggle(1))}),e.k0s()()}}function ve(i,l){if(1&i){const t=e.RV6();e.j41(0,"span",55),e.bIt("click",function(n){e.eBV(t);const r=e.XpG().$implicit,s=e.XpG(3);return e.Njj(s.onRemovePresetColor(n,r))}),e.k0s()}if(2&i){const t=e.XpG(4);e.HbH(t.cpRemoveColorButtonClass)}}function Ce(i,l){if(1&i){const t=e.RV6();e.j41(0,"div",53),e.bIt("click",function(){const n=e.eBV(t).$implicit,r=e.XpG(3);return e.Njj(r.setColorFromString(n))}),e.DNE(1,ve,1,3,"span",54),e.k0s()}if(2&i){const t=l.$implicit,o=e.XpG(3);e.xc7("background-color",t),e.R7$(),e.Y8G("ngIf",o.cpAddColorButton)}}function Fe(i,l){if(1&i&&(e.j41(0,"div"),e.DNE(1,Ce,2,3,"div",52),e.k0s()),2&i){const t=e.XpG(2);e.HbH(t.cpPresetColorsClass),e.R7$(),e.Y8G("ngForOf",t.cpPresetColors)}}function _e(i,l){if(1&i&&(e.j41(0,"div"),e.EFF(1),e.k0s()),2&i){const t=e.XpG(2);e.HbH(t.cpPresetEmptyMessageClass),e.R7$(),e.JRh(t.cpPresetEmptyMessage)}}function be(i,l){if(1&i&&(e.j41(0,"div",49),e.nrm(1,"hr"),e.j41(2,"div",50),e.EFF(3),e.k0s(),e.DNE(4,Fe,2,4,"div",51)(5,_e,2,4,"div",51),e.k0s()),2&i){const t=e.XpG();e.R7$(3),e.JRh(t.cpPresetLabel),e.R7$(),e.Y8G("ngIf",null==t.cpPresetColors?null:t.cpPresetColors.length),e.R7$(),e.Y8G("ngIf",!(null!=t.cpPresetColors&&t.cpPresetColors.length)&&t.cpAddColorButton)}}function ke(i,l){if(1&i){const t=e.RV6();e.j41(0,"button",58),e.bIt("click",function(n){e.eBV(t);const r=e.XpG(2);return e.Njj(r.onCancelColor(n))}),e.EFF(1),e.k0s()}if(2&i){const t=e.XpG(2);e.HbH(t.cpCancelButtonClass),e.R7$(),e.JRh(t.cpCancelButtonText)}}function Ee(i,l){if(1&i){const t=e.RV6();e.j41(0,"button",58),e.bIt("click",function(n){e.eBV(t);const r=e.XpG(2);return e.Njj(r.onAcceptColor(n))}),e.EFF(1),e.k0s()}if(2&i){const t=e.XpG(2);e.HbH(t.cpOKButtonClass),e.R7$(),e.JRh(t.cpOKButtonText)}}function ye(i,l){if(1&i&&(e.j41(0,"div",56),e.DNE(1,ke,2,4,"button",57)(2,Ee,2,4,"button",57),e.k0s()),2&i){const t=e.XpG();e.R7$(),e.Y8G("ngIf",t.cpCancelButton),e.R7$(),e.Y8G("ngIf",t.cpOKButton)}}function xe(i,l){1&i&&e.eu8(0)}function we(i,l){if(1&i&&(e.j41(0,"div",59),e.DNE(1,xe,1,0,"ng-container",60),e.k0s()),2&i){const t=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",t.cpExtraTemplate)}}var k=function(i){return i[i.HEX=0]="HEX",i[i.RGBA=1]="RGBA",i[i.HSLA=2]="HSLA",i[i.CMYK=3]="CMYK",i}(k||{});class j{r;g;b;a;constructor(l,t,o,n){this.r=l,this.g=t,this.b=o,this.a=n}}class L{h;s;v;a;constructor(l,t,o,n){this.h=l,this.s=t,this.v=o,this.a=n}}class B{h;s;l;a;constructor(l,t,o,n){this.h=l,this.s=t,this.l=o,this.a=n}}class O{c;m;y;k;a;constructor(l,t,o,n,r=1){this.c=l,this.m=t,this.y=o,this.k=n,this.a=r}}let Te=(()=>{class i{rg;text;newValue=new e.bkB;inputChange(t){const o=t.target.value;if(void 0===this.rg)this.newValue.emit(o);else{const n=parseFloat(o);this.newValue.emit({v:n,rg:this.rg})}}static \u0275fac=function(o){return new(o||i)};static \u0275dir=e.FsC({type:i,selectors:[["","text",""]],hostBindings:function(o,n){1&o&&e.bIt("input",function(s){return n.inputChange(s)})},inputs:{rg:"rg",text:"text"},outputs:{newValue:"newValue"}})}return i})(),Ie=(()=>{class i{elRef;listenerMove;listenerStop;rgX;rgY;slider;dragEnd=new e.bkB;dragStart=new e.bkB;newValue=new e.bkB;mouseDown(t){this.start(t)}touchStart(t){this.start(t)}constructor(t){this.elRef=t,this.listenerMove=o=>this.move(o),this.listenerStop=()=>this.stop()}move(t){t.preventDefault(),this.setCursor(t)}start(t){this.setCursor(t),t.stopPropagation(),document.addEventListener("mouseup",this.listenerStop),document.addEventListener("touchend",this.listenerStop),document.addEventListener("mousemove",this.listenerMove),document.addEventListener("touchmove",this.listenerMove),this.dragStart.emit()}stop(){document.removeEventListener("mouseup",this.listenerStop),document.removeEventListener("touchend",this.listenerStop),document.removeEventListener("mousemove",this.listenerMove),document.removeEventListener("touchmove",this.listenerMove),this.dragEnd.emit()}getX(t){const o=this.elRef.nativeElement.getBoundingClientRect();return(void 0!==t.pageX?t.pageX:t.touches[0].pageX)-o.left-window.pageXOffset}getY(t){const o=this.elRef.nativeElement.getBoundingClientRect();return(void 0!==t.pageY?t.pageY:t.touches[0].pageY)-o.top-window.pageYOffset}setCursor(t){const o=this.elRef.nativeElement.offsetWidth,n=this.elRef.nativeElement.offsetHeight,r=Math.max(0,Math.min(this.getX(t),o)),s=Math.max(0,Math.min(this.getY(t),n));void 0!==this.rgX&&void 0!==this.rgY?this.newValue.emit({s:r/o,v:1-s/n,rgX:this.rgX,rgY:this.rgY}):void 0===this.rgX&&void 0!==this.rgY?this.newValue.emit({v:s/n,rgY:this.rgY}):void 0!==this.rgX&&void 0===this.rgY&&this.newValue.emit({v:r/o,rgX:this.rgX})}static \u0275fac=function(o){return new(o||i)(e.rXU(e.aKT))};static \u0275dir=e.FsC({type:i,selectors:[["","slider",""]],hostBindings:function(o,n){1&o&&e.bIt("mousedown",function(s){return n.mouseDown(s)})("touchstart",function(s){return n.touchStart(s)})},inputs:{rgX:"rgX",rgY:"rgY",slider:"slider"},outputs:{dragEnd:"dragEnd",dragStart:"dragStart",newValue:"newValue"}})}return i})();class ne{h;s;v;a;constructor(l,t,o,n){this.h=l,this.s=t,this.v=o,this.a=n}}class oe{h;s;v;a;constructor(l,t,o,n){this.h=l,this.s=t,this.v=o,this.a=n}}let J=(()=>{class i{active=null;setActive(t){this.active&&this.active!==t&&"inline"!==this.active.cpDialogDisplay&&this.active.closeDialog(),this.active=t}hsva2hsla(t){const o=t.h,n=t.s,r=t.v,s=t.a;if(0===r)return new B(o,0,0,s);if(0===n&&1===r)return new B(o,1,1,s);{const a=r*(2-n)/2;return new B(o,r*n/(1-Math.abs(2*a-1)),a,s)}}hsla2hsva(t){const o=Math.min(t.h,1),n=Math.min(t.s,1),r=Math.min(t.l,1),s=Math.min(t.a,1);if(0===r)return new L(o,0,0,s);{const a=r+n*(1-Math.abs(2*r-1))/2;return new L(o,2*(a-r)/a,a,s)}}hsvaToRgba(t){let o,n,r;const s=t.h,a=t.s,d=t.v,p=t.a,F=Math.floor(6*s),_=6*s-F,C=d*(1-a),E=d*(1-_*a),w=d*(1-(1-_)*a);switch(F%6){case 0:o=d,n=w,r=C;break;case 1:o=E,n=d,r=C;break;case 2:o=C,n=d,r=w;break;case 3:o=C,n=E,r=d;break;case 4:o=w,n=C,r=d;break;case 5:o=d,n=C,r=E;break;default:o=0,n=0,r=0}return new j(o,n,r,p)}cmykToRgb(t){return new j((1-t.c)*(1-t.k),(1-t.m)*(1-t.k),(1-t.y)*(1-t.k),t.a)}rgbaToCmyk(t){const o=1-Math.max(t.r,t.g,t.b);return 1===o?new O(0,0,0,1,t.a):new O((1-t.r-o)/(1-o),(1-t.g-o)/(1-o),(1-t.b-o)/(1-o),o,t.a)}rgbaToHsva(t){let o,n;const r=Math.min(t.r,1),s=Math.min(t.g,1),a=Math.min(t.b,1),d=Math.min(t.a,1),p=Math.max(r,s,a),F=Math.min(r,s,a),_=p,C=p-F;if(n=0===p?0:C/p,p===F)o=0;else{switch(p){case r:o=(s-a)/C+(s{class i{ngZone;elRef;cdRef;document;platformId;service;isIE10=!1;cmyk;hsva;width;height;cmykColor;outputColor;initialColor;fallbackColor;listenerResize;listenerMouseDown;directiveInstance;sliderH;sliderDimMax;directiveElementRef;dialogArrowSize=10;dialogArrowOffset=15;dialogInputFields=[k.HEX,k.RGBA,k.HSLA,k.CMYK];useRootViewContainer=!1;show;hidden;top;left;position;format;slider;hexText;hexAlpha;cmykText;hslaText;rgbaText;arrowTop;selectedColor;hueSliderColor;alphaSliderColor;cpWidth;cpHeight;cpColorMode;cpCmykEnabled;cpAlphaChannel;cpOutputFormat;cpDisableInput;cpDialogDisplay;cpIgnoredElements;cpSaveClickOutside;cpCloseClickOutside;cpPosition;cpUsePosition;cpPositionOffset;cpOKButton;cpOKButtonText;cpOKButtonClass;cpCancelButton;cpCancelButtonText;cpCancelButtonClass;cpEyeDropper;eyeDropperSupported;cpPresetLabel;cpPresetColors;cpPresetColorsClass;cpMaxPresetColorsLength;cpPresetEmptyMessage;cpPresetEmptyMessageClass;cpAddColorButton;cpAddColorButtonText;cpAddColorButtonClass;cpRemoveColorButtonClass;cpArrowPosition;cpTriggerElement;cpExtraTemplate;dialogElement;hueSlider;alphaSlider;handleEsc(t){this.show&&"popup"===this.cpDialogDisplay&&this.onCancelColor(t)}handleEnter(t){this.show&&"popup"===this.cpDialogDisplay&&this.onAcceptColor(t)}constructor(t,o,n,r,s,a){this.ngZone=t,this.elRef=o,this.cdRef=n,this.document=r,this.platformId=s,this.service=a,this.eyeDropperSupported=(0,h.UE)(this.platformId)&&"EyeDropper"in this.document.defaultView}ngOnInit(){this.slider=new ne(0,0,0,0),this.sliderDimMax=new oe(this.hueSlider.nativeElement.offsetWidth||140,this.cpWidth,130,this.alphaSlider.nativeElement.offsetWidth||140),this.format=this.cpCmykEnabled?k.CMYK:"rgba"===this.cpOutputFormat?k.RGBA:"hsla"===this.cpOutputFormat?k.HSLA:k.HEX,this.listenerMouseDown=n=>{this.onMouseDown(n)},this.listenerResize=()=>{this.onResize()},this.openDialog(this.initialColor,!1)}ngOnDestroy(){this.closeDialog()}ngAfterViewInit(){230===this.cpWidth&&"inline"!==this.cpDialogDisplay||(this.sliderDimMax=new oe(this.hueSlider.nativeElement.offsetWidth||140,this.cpWidth,130,this.alphaSlider.nativeElement.offsetWidth||140),this.updateColorPicker(!1),this.cdRef.detectChanges())}openDialog(t,o=!0){this.service.setActive(this),this.width||(this.cpWidth=this.directiveElementRef.nativeElement.offsetWidth),this.height||(this.height=320),this.setInitialColor(t),this.setColorFromString(t,o),this.openColorPicker()}closeDialog(){this.closeColorPicker()}setupDialog(t,o,n,r,s,a,d,p,F,_,C,E,w,te,X,T,an,cn,pn,dn,un,gn,mn,hn,fn,vn,Cn,Fn,_n,bn,kn,En,yn,xn,wn,jn,An,Tn){this.setInitialColor(n),this.setColorMode(p),this.isIE10=10===function Ae(){let i="";typeof navigator<"u"&&(i=navigator.userAgent.toLowerCase());const l=i.indexOf("msie ");return l>0&&parseInt(i.substring(l+5,i.indexOf(".",l)),10)}(),this.directiveInstance=t,this.directiveElementRef=o,this.cpDisableInput=E,this.cpCmykEnabled=F,this.cpAlphaChannel=_,this.cpOutputFormat=C,this.cpDialogDisplay=a,this.cpIgnoredElements=w,this.cpSaveClickOutside=te,this.cpCloseClickOutside=X,this.useRootViewContainer=T,this.width=this.cpWidth=parseInt(r,10),this.height=this.cpHeight=parseInt(s,10),this.cpPosition=an,this.cpPositionOffset=parseInt(cn,10),this.cpOKButton=vn,this.cpOKButtonText=Fn,this.cpOKButtonClass=Cn,this.cpCancelButton=_n,this.cpCancelButtonText=kn,this.cpCancelButtonClass=bn,this.cpEyeDropper=jn,this.fallbackColor=d||"#fff",this.setPresetConfig(dn,un),this.cpPresetColorsClass=gn,this.cpMaxPresetColorsLength=mn,this.cpPresetEmptyMessage=hn,this.cpPresetEmptyMessageClass=fn,this.cpAddColorButton=En,this.cpAddColorButtonText=xn,this.cpAddColorButtonClass=yn,this.cpRemoveColorButtonClass=wn,this.cpTriggerElement=An,this.cpExtraTemplate=Tn,pn||(this.dialogArrowOffset=0),"inline"===a&&(this.dialogArrowSize=0,this.dialogArrowOffset=0),"hex"===C&&"always"!==_&&"forced"!==_&&(this.cpAlphaChannel="disabled")}setColorMode(t){switch(t.toString().toUpperCase()){case"1":case"C":case"COLOR":default:this.cpColorMode=1;break;case"2":case"G":case"GRAYSCALE":this.cpColorMode=2;break;case"3":case"P":case"PRESETS":this.cpColorMode=3}}setInitialColor(t){this.initialColor=t}setPresetConfig(t,o){this.cpPresetLabel=t,this.cpPresetColors=o}setColorFromString(t,o=!0,n=!0){let r;"always"===this.cpAlphaChannel||"forced"===this.cpAlphaChannel?(r=this.service.stringToHsva(t,!0),!r&&!this.hsva&&(r=this.service.stringToHsva(t,!1))):r=this.service.stringToHsva(t,!1),!r&&!this.hsva&&(r=this.service.stringToHsva(this.fallbackColor,!1)),r&&(this.hsva=r,this.sliderH=this.hsva.h,"hex"===this.cpOutputFormat&&"disabled"===this.cpAlphaChannel&&(this.hsva.a=1),this.updateColorPicker(o,n))}onResize(){"fixed"===this.position?this.setDialogPosition():"inline"!==this.cpDialogDisplay&&this.closeColorPicker()}onDragEnd(t){this.directiveInstance.sliderDragEnd({slider:t,color:this.outputColor})}onDragStart(t){this.directiveInstance.sliderDragStart({slider:t,color:this.outputColor})}onMouseDown(t){this.show&&!this.isIE10&&"popup"===this.cpDialogDisplay&&t.target!==this.directiveElementRef.nativeElement&&!this.isDescendant(this.elRef.nativeElement,t.target)&&!this.isDescendant(this.directiveElementRef.nativeElement,t.target)&&0===this.cpIgnoredElements.filter(o=>o===t.target).length&&this.ngZone.run(()=>{this.cpSaveClickOutside?this.directiveInstance.colorSelected(this.outputColor):(this.hsva=null,this.setColorFromString(this.initialColor,!1),this.cpCmykEnabled&&this.directiveInstance.cmykChanged(this.cmykColor),this.directiveInstance.colorChanged(this.initialColor),this.directiveInstance.colorCanceled()),this.cpCloseClickOutside&&this.closeColorPicker()})}onAcceptColor(t){t.stopPropagation(),this.outputColor&&this.directiveInstance.colorSelected(this.outputColor),"popup"===this.cpDialogDisplay&&this.closeColorPicker()}onCancelColor(t){this.hsva=null,t.stopPropagation(),this.directiveInstance.colorCanceled(),this.setColorFromString(this.initialColor,!0),"popup"===this.cpDialogDisplay&&(this.cpCmykEnabled&&this.directiveInstance.cmykChanged(this.cmykColor),this.directiveInstance.colorChanged(this.initialColor,!0),this.closeColorPicker())}onEyeDropper(){this.eyeDropperSupported&&(new window.EyeDropper).open().then(o=>{this.setColorFromString(o.sRGBHex,!0)})}onFormatToggle(t){const o=this.dialogInputFields.length-(this.cpCmykEnabled?0:1),n=((this.dialogInputFields.indexOf(this.format)+t)%o+o)%o;this.format=this.dialogInputFields[n]}onColorChange(t){this.hsva.s=t.s/t.rgX,this.hsva.v=t.v/t.rgY,this.updateColorPicker(),this.directiveInstance.sliderChanged({slider:"lightness",value:this.hsva.v,color:this.outputColor}),this.directiveInstance.sliderChanged({slider:"saturation",value:this.hsva.s,color:this.outputColor})}onHueChange(t){this.hsva.h=t.v/t.rgX,this.sliderH=this.hsva.h,this.updateColorPicker(),this.directiveInstance.sliderChanged({slider:"hue",value:this.hsva.h,color:this.outputColor})}onValueChange(t){this.hsva.v=t.v/t.rgX,this.updateColorPicker(),this.directiveInstance.sliderChanged({slider:"value",value:this.hsva.v,color:this.outputColor})}onAlphaChange(t){this.hsva.a=t.v/t.rgX,this.updateColorPicker(),this.directiveInstance.sliderChanged({slider:"alpha",value:this.hsva.a,color:this.outputColor})}onHexInput(t){if(null===t)this.updateColorPicker();else{t&&"#"!==t[0]&&(t="#"+t);let o=/^#([a-f0-9]{3}|[a-f0-9]{6})$/gi;"always"===this.cpAlphaChannel&&(o=/^#([a-f0-9]{3}|[a-f0-9]{6}|[a-f0-9]{8})$/gi);const n=o.test(t);n&&(t.length<5&&(t="#"+t.substring(1).split("").map(r=>r+r).join("")),"forced"===this.cpAlphaChannel&&(t+=Math.round(255*this.hsva.a).toString(16)),this.setColorFromString(t,!0,!1)),this.directiveInstance.inputChanged({input:"hex",valid:n,value:t,color:this.outputColor})}}onRedInput(t){const o=this.service.hsvaToRgba(this.hsva),n=!isNaN(t.v)&&t.v>=0&&t.v<=t.rg;n&&(o.r=t.v/t.rg,this.hsva=this.service.rgbaToHsva(o),this.sliderH=this.hsva.h,this.updateColorPicker()),this.directiveInstance.inputChanged({input:"red",valid:n,value:o.r,color:this.outputColor})}onBlueInput(t){const o=this.service.hsvaToRgba(this.hsva),n=!isNaN(t.v)&&t.v>=0&&t.v<=t.rg;n&&(o.b=t.v/t.rg,this.hsva=this.service.rgbaToHsva(o),this.sliderH=this.hsva.h,this.updateColorPicker()),this.directiveInstance.inputChanged({input:"blue",valid:n,value:o.b,color:this.outputColor})}onGreenInput(t){const o=this.service.hsvaToRgba(this.hsva),n=!isNaN(t.v)&&t.v>=0&&t.v<=t.rg;n&&(o.g=t.v/t.rg,this.hsva=this.service.rgbaToHsva(o),this.sliderH=this.hsva.h,this.updateColorPicker()),this.directiveInstance.inputChanged({input:"green",valid:n,value:o.g,color:this.outputColor})}onHueInput(t){const o=!isNaN(t.v)&&t.v>=0&&t.v<=t.rg;o&&(this.hsva.h=t.v/t.rg,this.sliderH=this.hsva.h,this.updateColorPicker()),this.directiveInstance.inputChanged({input:"hue",valid:o,value:this.hsva.h,color:this.outputColor})}onValueInput(t){const o=!isNaN(t.v)&&t.v>=0&&t.v<=t.rg;o&&(this.hsva.v=t.v/t.rg,this.updateColorPicker()),this.directiveInstance.inputChanged({input:"value",valid:o,value:this.hsva.v,color:this.outputColor})}onAlphaInput(t){const o=!isNaN(t.v)&&t.v>=0&&t.v<=t.rg;o&&(this.hsva.a=t.v/t.rg,this.updateColorPicker()),this.directiveInstance.inputChanged({input:"alpha",valid:o,value:this.hsva.a,color:this.outputColor})}onLightnessInput(t){const o=this.service.hsva2hsla(this.hsva),n=!isNaN(t.v)&&t.v>=0&&t.v<=t.rg;n&&(o.l=t.v/t.rg,this.hsva=this.service.hsla2hsva(o),this.sliderH=this.hsva.h,this.updateColorPicker()),this.directiveInstance.inputChanged({input:"lightness",valid:n,value:o.l,color:this.outputColor})}onSaturationInput(t){const o=this.service.hsva2hsla(this.hsva),n=!isNaN(t.v)&&t.v>=0&&t.v<=t.rg;n&&(o.s=t.v/t.rg,this.hsva=this.service.hsla2hsva(o),this.sliderH=this.hsva.h,this.updateColorPicker()),this.directiveInstance.inputChanged({input:"saturation",valid:n,value:o.s,color:this.outputColor})}onCyanInput(t){!isNaN(t.v)&&t.v>=0&&t.v<=t.rg&&(this.cmyk.c=t.v,this.updateColorPicker(!1,!0,!0)),this.directiveInstance.inputChanged({input:"cyan",valid:!0,value:this.cmyk.c,color:this.outputColor})}onMagentaInput(t){!isNaN(t.v)&&t.v>=0&&t.v<=t.rg&&(this.cmyk.m=t.v,this.updateColorPicker(!1,!0,!0)),this.directiveInstance.inputChanged({input:"magenta",valid:!0,value:this.cmyk.m,color:this.outputColor})}onYellowInput(t){!isNaN(t.v)&&t.v>=0&&t.v<=t.rg&&(this.cmyk.y=t.v,this.updateColorPicker(!1,!0,!0)),this.directiveInstance.inputChanged({input:"yellow",valid:!0,value:this.cmyk.y,color:this.outputColor})}onBlackInput(t){!isNaN(t.v)&&t.v>=0&&t.v<=t.rg&&(this.cmyk.k=t.v,this.updateColorPicker(!1,!0,!0)),this.directiveInstance.inputChanged({input:"black",valid:!0,value:this.cmyk.k,color:this.outputColor})}onAddPresetColor(t,o){t.stopPropagation(),this.cpPresetColors.filter(n=>n===o).length||(this.cpPresetColors=this.cpPresetColors.concat(o),this.directiveInstance.presetColorsChanged(this.cpPresetColors))}onRemovePresetColor(t,o){t.stopPropagation(),this.cpPresetColors=this.cpPresetColors.filter(n=>n!==o),this.directiveInstance.presetColorsChanged(this.cpPresetColors)}openColorPicker(){this.show||(this.show=!0,this.hidden=!0,setTimeout(()=>{this.hidden=!1,this.setDialogPosition(),this.cdRef.detectChanges()},0),this.directiveInstance.stateChanged(!0),this.isIE10||this.ngZone.runOutsideAngular(()=>{ie?document.addEventListener("touchstart",this.listenerMouseDown):document.addEventListener("mousedown",this.listenerMouseDown)}),window.addEventListener("resize",this.listenerResize))}closeColorPicker(){this.show&&(this.show=!1,this.directiveInstance.stateChanged(!1),this.isIE10||(ie?document.removeEventListener("touchstart",this.listenerMouseDown):document.removeEventListener("mousedown",this.listenerMouseDown)),window.removeEventListener("resize",this.listenerResize),this.cdRef.destroyed||this.cdRef.detectChanges())}updateColorPicker(t=!0,o=!0,n=!1){if(this.sliderDimMax){let r,s,a;2===this.cpColorMode&&(this.hsva.s=0);const d=this.outputColor;if(s=this.service.hsva2hsla(this.hsva),this.cpCmykEnabled?(n?(a=this.service.cmykToRgb(this.service.normalizeCMYK(this.cmyk)),this.hsva=this.service.rgbaToHsva(a)):(a=this.service.hsvaToRgba(this.hsva),this.cmyk=this.service.denormalizeCMYK(this.service.rgbaToCmyk(a))),a=this.service.denormalizeRGBA(a),this.sliderH=this.hsva.h):a=this.service.denormalizeRGBA(this.service.hsvaToRgba(this.hsva)),r=this.service.denormalizeRGBA(this.service.hsvaToRgba(new L(this.sliderH||this.hsva.h,1,1,1))),o&&(this.hslaText=new B(Math.round(360*s.h),Math.round(100*s.s),Math.round(100*s.l),Math.round(100*s.a)/100),this.rgbaText=new j(a.r,a.g,a.b,Math.round(100*a.a)/100),this.cpCmykEnabled&&(this.cmykText=new O(this.cmyk.c,this.cmyk.m,this.cmyk.y,this.cmyk.k,Math.round(100*this.cmyk.a)/100)),this.hexText=this.service.rgbaToHex(a,"always"===this.cpAlphaChannel),this.hexAlpha=this.rgbaText.a),"auto"===this.cpOutputFormat&&this.format!==k.RGBA&&this.format!==k.CMYK&&this.format!==k.HSLA&&this.hsva.a<1&&(this.format=this.hsva.a<1?k.RGBA:k.HEX),this.hueSliderColor="rgb("+r.r+","+r.g+","+r.b+")",this.alphaSliderColor="rgb("+a.r+","+a.g+","+a.b+")",this.outputColor=this.service.outputFormat(this.hsva,this.cpOutputFormat,this.cpAlphaChannel),this.selectedColor=this.service.outputFormat(this.hsva,"rgba",null),this.format!==k.CMYK)this.cmykColor="";else if("always"===this.cpAlphaChannel||"enabled"===this.cpAlphaChannel||"forced"===this.cpAlphaChannel){const p=Math.round(100*this.cmyk.a)/100;this.cmykColor=`cmyka(${this.cmyk.c},${this.cmyk.m},${this.cmyk.y},${this.cmyk.k},${p})`}else this.cmykColor=`cmyk(${this.cmyk.c},${this.cmyk.m},${this.cmyk.y},${this.cmyk.k})`;this.slider=new ne((this.sliderH||this.hsva.h)*this.sliderDimMax.h-8,this.hsva.s*this.sliderDimMax.s-8,(1-this.hsva.v)*this.sliderDimMax.v-8,this.hsva.a*this.sliderDimMax.a-8),t&&d!==this.outputColor&&(this.cpCmykEnabled&&this.directiveInstance.cmykChanged(this.cmykColor),this.directiveInstance.colorChanged(this.outputColor))}}setDialogPosition(){if("inline"===this.cpDialogDisplay)this.position="relative";else{let n,t="static",o="",r=null,s=null,a=this.directiveElementRef.nativeElement.parentNode;const d=this.dialogElement.nativeElement.offsetHeight;for(;null!==a&&"HTML"!==a.tagName;){if(n=window.getComputedStyle(a),t=n.getPropertyValue("position"),o=n.getPropertyValue("transform"),"static"!==t&&null===r&&(r=a),o&&"none"!==o&&null===s&&(s=a),"fixed"===t){r=s;break}a=a.parentNode}const p=this.createDialogBox(this.directiveElementRef.nativeElement,"fixed"!==t);if(this.useRootViewContainer||"fixed"===t&&(!r||r instanceof HTMLUnknownElement))this.top=p.top,this.left=p.left;else{null===r&&(r=a);const T=this.createDialogBox(r,"fixed"!==t);this.top=p.top-T.top,this.left=p.left-T.left}"fixed"===t&&(this.position="fixed");let F=this.cpPosition;const _=this.dialogElement.nativeElement.getBoundingClientRect();switch("auto"===this.cpPosition&&(F=function je(i,l){let t="right",o="bottom";const{height:n,width:r}=i,{top:s,left:a}=l,d=s+l.height,p=a+l.width,F=s-n<0,_=d+n>(window.innerHeight||document.documentElement.clientHeight),C=a-r<0,E=p+r>(window.innerWidth||document.documentElement.clientWidth);return _&&(o="top"),F&&(o="bottom"),C&&(t="right"),E&&(t="left"),F&&_&&C&&E?["left","right","top","bottom"].reduce((X,T)=>i[X]>i[T]?X:T):C&&E?F?"bottom":_||s>d?"top":"bottom":F&&_?C?"right":E||a>p?"left":"right":`${o}-${t}`}(_,this.cpTriggerElement.nativeElement.getBoundingClientRect())),this.arrowTop="top"===F?d-1:void 0,this.cpArrowPosition=void 0,F){case"top":this.top-=d+this.dialogArrowSize,this.left+=this.cpPositionOffset/100*p.width-this.dialogArrowOffset;break;case"bottom":this.top+=p.height+this.dialogArrowSize,this.left+=this.cpPositionOffset/100*p.width-this.dialogArrowOffset;break;case"top-left":case"left-top":this.top-=d-p.height+p.height*this.cpPositionOffset/100,this.left-=this.cpWidth+this.dialogArrowSize-2-this.dialogArrowOffset;break;case"top-right":case"right-top":this.top-=d-p.height+p.height*this.cpPositionOffset/100,this.left+=p.width+this.dialogArrowSize-2-this.dialogArrowOffset;break;case"left":case"bottom-left":case"left-bottom":this.top+=p.height*this.cpPositionOffset/100-this.dialogArrowOffset,this.left-=this.cpWidth+this.dialogArrowSize-2;break;default:this.top+=p.height*this.cpPositionOffset/100-this.dialogArrowOffset,this.left+=p.width+this.dialogArrowSize-2}const C=window.innerHeight,E=window.innerWidth,w=this.elRef.nativeElement.getBoundingClientRect();this.top+_.height>C&&(this.top=C-_.height,this.cpArrowPosition=w.x/2-20),this.left+_.width>E&&(this.left=E-_.width,this.cpArrowPosition=w.x/2-20),this.cpUsePosition=F}}isDescendant(t,o){let n=o.parentNode;for(;null!==n;){if(n===t)return!0;n=n.parentNode}return!1}createDialogBox(t,o){const{top:n,left:r}=t.getBoundingClientRect();return{top:n+(o?window.pageYOffset:0),left:r+(o?window.pageXOffset:0),width:t.offsetWidth,height:t.offsetHeight}}static \u0275fac=function(o){return new(o||i)(e.rXU(e.SKi),e.rXU(e.aKT),e.rXU(e.gRc),e.rXU(h.qQ),e.rXU(e.Agw),e.rXU(J))};static \u0275cmp=e.VBU({type:i,selectors:[["color-picker"]],viewQuery:function(o,n){if(1&o&&(e.GBs(S,7),e.GBs(H,7),e.GBs(D,7)),2&o){let r;e.mGM(r=e.lsd())&&(n.dialogElement=r.first),e.mGM(r=e.lsd())&&(n.hueSlider=r.first),e.mGM(r=e.lsd())&&(n.alphaSlider=r.first)}},hostBindings:function(o,n){1&o&&e.bIt("keyup.esc",function(s){return n.handleEsc(s)},!1,e.EBC)("keyup.enter",function(s){return n.handleEnter(s)},!1,e.EBC)},decls:30,vars:51,consts:[["dialogPopup",""],["hueSlider",""],["valueSlider",""],["alphaSlider",""],[1,"color-picker",3,"click"],[3,"left","class","top",4,"ngIf"],["class","saturation-lightness",3,"slider","rgX","rgY","background-color","newValue","dragStart","dragEnd",4,"ngIf"],[1,"hue-alpha","box"],[1,"left"],[1,"selected-color-background"],[1,"selected-color",3,"click"],["class","eyedropper-icon","xmlns","http://www.w3.org/2000/svg","height","24px","viewBox","0 0 24 24","width","24px","fill","#000000",4,"ngIf"],["type","button",3,"class","disabled","click",4,"ngIf"],[1,"right"],["style","height: 16px;",4,"ngIf"],[1,"hue",3,"newValue","dragStart","dragEnd","slider","rgX"],[1,"cursor"],[1,"value",3,"newValue","dragStart","dragEnd","slider","rgX"],[1,"alpha",3,"newValue","dragStart","dragEnd","slider","rgX"],["class","cmyk-text",3,"display",4,"ngIf"],["class","hsla-text",3,"display",4,"ngIf"],["class","rgba-text",3,"display",4,"ngIf"],["class","hex-text",3,"hex-alpha","display",4,"ngIf"],["class","value-text",4,"ngIf"],["class","type-policy",4,"ngIf"],["class","preset-area",4,"ngIf"],["class","button-area",4,"ngIf"],["class","extra-template",4,"ngIf"],[1,"saturation-lightness",3,"newValue","dragStart","dragEnd","slider","rgX","rgY"],["xmlns","http://www.w3.org/2000/svg","height","24px","viewBox","0 0 24 24","width","24px","fill","#000000",1,"eyedropper-icon"],["d","M0 0h24v24H0V0z","fill","none"],["d","M17.66 5.41l.92.92-2.69 2.69-.92-.92 2.69-2.69M17.67 3c-.26 0-.51.1-.71.29l-3.12 3.12-1.93-1.91-1.41 1.41 1.42 1.42L3 16.25V21h4.75l8.92-8.92 1.42 1.42 1.41-1.41-1.92-1.92 3.12-3.12c.4-.4.4-1.03.01-1.42l-2.34-2.34c-.2-.19-.45-.29-.7-.29zM6.92 19L5 17.08l8.06-8.06 1.92 1.92L6.92 19z"],["type","button",3,"click","disabled"],[2,"height","16px"],[1,"cmyk-text"],[1,"box"],["type","number","pattern","[0-9]*","min","0","max","100",3,"keyup.enter","newValue","text","rg","value"],["type","number","pattern","[0-9]+([\\.,][0-9]{1,2})?","min","0","max","1","step","0.1",3,"text","rg","value","keyup.enter","newValue",4,"ngIf"],[4,"ngIf"],["type","number","pattern","[0-9]+([\\.,][0-9]{1,2})?","min","0","max","1","step","0.1",3,"keyup.enter","newValue","text","rg","value"],[1,"hsla-text"],["type","number","pattern","[0-9]*","min","0","max","360",3,"keyup.enter","newValue","text","rg","value"],[1,"rgba-text"],["type","number","pattern","[0-9]*","min","0","max","255",3,"keyup.enter","newValue","text","rg","value"],[1,"hex-text"],[3,"blur","keyup.enter","newValue","text","value"],[1,"value-text"],[1,"type-policy"],[1,"type-policy-arrow",3,"click"],[1,"preset-area"],[1,"preset-label"],[3,"class",4,"ngIf"],["class","preset-color",3,"backgroundColor","click",4,"ngFor","ngForOf"],[1,"preset-color",3,"click"],[3,"class","click",4,"ngIf"],[3,"click"],[1,"button-area"],["type","button",3,"class","click",4,"ngIf"],["type","button",3,"click"],[1,"extra-template"],[4,"ngTemplateOutlet"]],template:function(o,n){if(1&o){const r=e.RV6();e.j41(0,"div",4,0),e.bIt("click",function(a){return e.eBV(r),e.Njj(a.stopPropagation())}),e.DNE(2,y,1,7,"div",5)(3,z,2,8,"div",6),e.j41(4,"div",7)(5,"div",8),e.nrm(6,"div",9),e.j41(7,"div",10),e.bIt("click",function(){return e.eBV(r),e.Njj(n.eyeDropperSupported&&n.cpEyeDropper&&n.onEyeDropper())}),e.DNE(8,M,3,0,"svg",11),e.k0s(),e.DNE(9,u,2,5,"button",12),e.k0s(),e.j41(10,"div",13),e.DNE(11,g,1,0,"div",14),e.j41(12,"div",15,1),e.bIt("newValue",function(a){return e.eBV(r),e.Njj(n.onHueChange(a))})("dragStart",function(){return e.eBV(r),e.Njj(n.onDragStart("hue"))})("dragEnd",function(){return e.eBV(r),e.Njj(n.onDragEnd("hue"))}),e.nrm(14,"div",16),e.k0s(),e.j41(15,"div",17,2),e.bIt("newValue",function(a){return e.eBV(r),e.Njj(n.onValueChange(a))})("dragStart",function(){return e.eBV(r),e.Njj(n.onDragStart("value"))})("dragEnd",function(){return e.eBV(r),e.Njj(n.onDragEnd("value"))}),e.nrm(17,"div",16),e.k0s(),e.j41(18,"div",18,3),e.bIt("newValue",function(a){return e.eBV(r),e.Njj(n.onAlphaChange(a))})("dragStart",function(){return e.eBV(r),e.Njj(n.onDragStart("alpha"))})("dragEnd",function(){return e.eBV(r),e.Njj(n.onDragEnd("alpha"))}),e.nrm(20,"div",16),e.k0s()()(),e.DNE(21,b,17,12,"div",19)(22,G,14,10,"div",20)(23,R,14,10,"div",21)(24,ge,8,7,"div",22)(25,he,9,3,"div",23)(26,fe,3,0,"div",24)(27,be,6,3,"div",25)(28,ye,3,2,"div",26)(29,we,2,1,"div",27),e.k0s()}2&o&&(e.xc7("display",n.show?"block":"none")("visibility",n.hidden?"hidden":"visible")("top",n.top,"px")("left",n.left,"px")("position",n.position)("height",n.cpHeight,"px")("width",n.cpWidth,"px"),e.AVh("open",n.show),e.R7$(2),e.Y8G("ngIf","popup"===n.cpDialogDisplay),e.R7$(),e.Y8G("ngIf",1===(n.cpColorMode||1)),e.R7$(4),e.xc7("background-color",n.selectedColor)("cursor",n.eyeDropperSupported&&n.cpEyeDropper?"pointer":null),e.R7$(),e.Y8G("ngIf",n.eyeDropperSupported&&n.cpEyeDropper),e.R7$(),e.Y8G("ngIf",n.cpAddColorButton),e.R7$(2),e.Y8G("ngIf","disabled"===n.cpAlphaChannel),e.R7$(),e.xc7("display",1===(n.cpColorMode||1)?"block":"none"),e.Y8G("rgX",1),e.R7$(2),e.xc7("left",null==n.slider?null:n.slider.h,"px"),e.R7$(),e.xc7("display",2===(n.cpColorMode||1)?"block":"none"),e.Y8G("rgX",1),e.R7$(2),e.xc7("right",null==n.slider?null:n.slider.v,"px"),e.R7$(),e.xc7("display","disabled"===n.cpAlphaChannel?"none":"block")("background-color",n.alphaSliderColor),e.Y8G("rgX",1),e.R7$(2),e.xc7("left",null==n.slider?null:n.slider.a,"px"),e.R7$(),e.Y8G("ngIf",!n.cpDisableInput&&1===(n.cpColorMode||1)),e.R7$(),e.Y8G("ngIf",!n.cpDisableInput&&1===(n.cpColorMode||1)),e.R7$(),e.Y8G("ngIf",!n.cpDisableInput&&1===(n.cpColorMode||1)),e.R7$(),e.Y8G("ngIf",!n.cpDisableInput&&1===(n.cpColorMode||1)),e.R7$(),e.Y8G("ngIf",!n.cpDisableInput&&2===(n.cpColorMode||1)),e.R7$(),e.Y8G("ngIf",!n.cpDisableInput&&1===(n.cpColorMode||1)),e.R7$(),e.Y8G("ngIf",(null==n.cpPresetColors?null:n.cpPresetColors.length)||n.cpAddColorButton),e.R7$(),e.Y8G("ngIf",n.cpOKButton||n.cpCancelButton),e.R7$(),e.Y8G("ngIf",n.cpExtraTemplate))},dependencies:[h.Sq,h.bT,h.T3,Te,Ie],styles:['.color-picker{position:absolute;z-index:1000;width:230px;height:auto;border:#777 solid 1px;cursor:default;-webkit-user-select:none;user-select:none;background-color:#fff}.color-picker *{box-sizing:border-box;margin:0;font-size:11px}.color-picker input{width:0;height:26px;min-width:0;font-size:13px;text-align:center;color:#000}.color-picker input:invalid,.color-picker input:-moz-ui-invalid,.color-picker input:-moz-submit-invalid{box-shadow:none}.color-picker input::-webkit-inner-spin-button,.color-picker input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.color-picker .arrow{position:absolute;z-index:999999;width:0;height:0;border-style:solid}.color-picker .arrow.arrow-top{left:8px;border-width:10px 5px;border-color:#777 rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0)}.color-picker .arrow.arrow-bottom{top:-20px;left:8px;border-width:10px 5px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) #777 rgba(0,0,0,0)}.color-picker .arrow.arrow-top-left,.color-picker .arrow.arrow-left-top{right:-21px;bottom:8px;border-width:5px 10px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) #777}.color-picker .arrow.arrow-top-right,.color-picker .arrow.arrow-right-top{bottom:8px;left:-20px;border-width:5px 10px;border-color:rgba(0,0,0,0) #777 rgba(0,0,0,0) rgba(0,0,0,0)}.color-picker .arrow.arrow-left,.color-picker .arrow.arrow-left-bottom,.color-picker .arrow.arrow-bottom-left{top:8px;right:-21px;border-width:5px 10px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) #777}.color-picker .arrow.arrow-right,.color-picker .arrow.arrow-right-bottom,.color-picker .arrow.arrow-bottom-right{top:8px;left:-20px;border-width:5px 10px;border-color:rgba(0,0,0,0) #777 rgba(0,0,0,0) rgba(0,0,0,0)}.color-picker .cursor{position:relative;width:16px;height:16px;border:#222 solid 2px;border-radius:50%;cursor:default}.color-picker .box{display:flex;padding:4px 8px}.color-picker .left{position:relative;padding:16px 8px}.color-picker .right{flex:1 1 auto;padding:12px 8px}.color-picker .button-area{padding:0 16px 16px;text-align:right}.color-picker .button-area button{margin-left:8px}.color-picker .preset-area{padding:4px 15px}.color-picker .preset-area .preset-label{overflow:hidden;width:100%;padding:4px;font-size:11px;white-space:nowrap;text-align:left;text-overflow:ellipsis;color:#555}.color-picker .preset-area .preset-color{position:relative;display:inline-block;width:18px;height:18px;margin:4px 6px 8px;border:#a9a9a9 solid 1px;border-radius:25%;cursor:pointer}.color-picker .preset-area .preset-empty-message{min-height:18px;margin-top:4px;margin-bottom:8px;font-style:italic;text-align:center}.color-picker .hex-text{width:100%;padding:4px 8px;font-size:11px}.color-picker .hex-text .box{padding:0 24px 8px 8px}.color-picker .hex-text .box div{float:left;flex:1 1 auto;text-align:center;color:#555;clear:left}.color-picker .hex-text .box input{flex:1 1 auto;padding:1px;border:#a9a9a9 solid 1px}.color-picker .hex-alpha .box div:first-child,.color-picker .hex-alpha .box input:first-child{flex-grow:3;margin-right:8px}.color-picker .cmyk-text,.color-picker .hsla-text,.color-picker .rgba-text,.color-picker .value-text{width:100%;padding:4px 8px;font-size:11px}.color-picker .cmyk-text .box,.color-picker .hsla-text .box,.color-picker .rgba-text .box{padding:0 24px 8px 8px}.color-picker .value-text .box{padding:0 8px 8px}.color-picker .cmyk-text .box div,.color-picker .hsla-text .box div,.color-picker .rgba-text .box div,.color-picker .value-text .box div{flex:1 1 auto;margin-right:8px;text-align:center;color:#555}.color-picker .cmyk-text .box div:last-child,.color-picker .hsla-text .box div:last-child,.color-picker .rgba-text .box div:last-child,.color-picker .value-text .box div:last-child{margin-right:0}.color-picker .cmyk-text .box input,.color-picker .hsla-text .box input,.color-picker .rgba-text .box input,.color-picker .value-text .box input{float:left;flex:1;padding:1px;margin:0 8px 0 0;border:#a9a9a9 solid 1px}.color-picker .cmyk-text .box input:last-child,.color-picker .hsla-text .box input:last-child,.color-picker .rgba-text .box input:last-child,.color-picker .value-text .box input:last-child{margin-right:0}.color-picker .hue-alpha{align-items:center;margin-bottom:3px}.color-picker .hue{direction:ltr;width:100%;height:16px;margin-bottom:16px;border:none;cursor:pointer;background-size:100% 100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwkUFWbCCAAAAFxJREFUaN7t0kEKg0AQAME2x83/n2qu5qCgD1iDhCoYdpnbQC9bbY1qVO/jvc6k3ad91s7/7F1/csgPrujuQ17BDYSFsBAWwgJhISyEBcJCWAgLhIWwEBYIi2f7Ar/1TCgFH2X9AAAAAElFTkSuQmCC)}.color-picker .value{direction:rtl;width:100%;height:16px;margin-bottom:16px;border:none;cursor:pointer;background-size:100% 100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAACTklEQVR42u3SYUcrABhA4U2SkmRJMmWSJklKJiWZZpKUJJskKUmaTFImKZOUzMySpGRmliRNJilJSpKSJEtmSpIpmWmSdO736/6D+x7OP3gUCoWCv1cqlSQlJZGcnExKSgqpqamkpaWRnp5ORkYGmZmZqFQqsrKyyM7OJicnh9zcXNRqNXl5eeTn56PRaCgoKKCwsJCioiK0Wi3FxcWUlJRQWlpKWVkZ5eXlVFRUUFlZiU6no6qqiurqampqaqitraWurg69Xk99fT0GgwGj0UhDQwONjY00NTXR3NxMS0sLra2ttLW10d7ejslkwmw209HRQWdnJ11dXXR3d9PT00Nvby99fX309/czMDDA4OAgFouFoaEhrFYrw8PDjIyMMDo6ytjYGDabjfHxcSYmJpicnGRqagq73c709DQzMzPMzs4yNzfH/Pw8DocDp9OJy+XC7XazsLDA4uIiS0tLLC8vs7KywurqKmtra3g8HrxeLz6fD7/fz/r6OhsbG2xubrK1tcX29jaBQICdnR2CwSC7u7vs7e2xv7/PwcEBh4eHHB0dcXx8zMnJCaenp5ydnXF+fs7FxQWXl5dcXV1xfX3Nzc0Nt7e33N3dEQqFuL+/5+HhgXA4TCQS4fHxkaenJ56fn3l5eeH19ZVoNMrb2xvv7+98fHwQi8WIx+N8fn6SSCT4+vri+/ubn58ffn9/+VcKgSWwBJbAElgCS2AJLIElsASWwBJYAktgCSyBJbAElsASWAJLYAksgSWwBJbAElgCS2AJLIElsP4/WH8AmJ5Z6jHS4h8AAAAASUVORK5CYII=)}.color-picker .alpha{direction:ltr;width:100%;height:16px;border:none;cursor:pointer;background-size:100% 100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwYQlZMa3gAAAWVJREFUaN7tmEGO6jAQRCsOArHgBpyAJYGjcGocxAm4A2IHpmoWE0eBH+ezmFlNvU06shJ3W6VEelWMUQAIIF9f6qZpimsA1LYtS2uF51/u27YVAFZVRUkEoGHdPV/sIcbIEIIkUdI/9Xa7neyv61+SWFUVAVCSct00TWn2fv6u3+Ecfd3tXzy/0+nEUu+SPjo/kqzrmiQpScN6v98XewfA8/lMkiLJ2WxGSUopcT6fM6U0NX9/frfbjev1WtfrlZfLhYfDQQHG/AIOlnGwjINlHCxjHCzjYJm/TJWdCwquJXseFFzGwDNNeiKMOJTO8xQdDQaeB29+K9efeLaBo9J7vdvtJj1RjFFjfiv7qv95tjx/7leSQgh93e1ffMeIp6O+YQjho/N791t1XVOSSI7N//K+4/GoxWLBx+PB5/Op5XLJ+/3OlJJWqxU3m83ovv5iGf8KjYNlHCxjHCzjYBkHy5gf5gusvQU7U37jTAAAAABJRU5ErkJggg==)}.color-picker .type-policy{position:absolute;top:218px;right:12px;width:16px;height:24px;background-size:8px 16px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAgCAYAAAAffCjxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAACewAAAnsB01CO3AAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAIASURBVEiJ7ZY9axRRFIafsxMStrLQJpAgpBFhi+C9w1YSo00I6RZ/g9vZpBf/QOr4GyRgkSKNSrAadsZqQGwCkuAWyRZJsySwvhZ7N/vhzrgbLH3Ld8597jlzz50zJokyxXH8DqDVar0qi6v8BbItqSGpEcfxdlmsFWXkvX8AfAVWg3UKPEnT9GKujMzsAFgZsVaCN1VTQd77XUnrgE1kv+6935268WRpzrnHZvYRWC7YvC3pRZZl3wozqtVqiyH9IgjAspkd1Gq1xUJQtVrdB9ZKIAOthdg/Qc65LUk7wNIMoCVJO865rYFhkqjX6/d7vV4GPJwBMqofURS5JEk6FYBer/eeYb/Mo9WwFnPOvQbeAvfuAAK4BN4sAJtAG/gJIElmNuiJyba3EGNmZiPeZuEVmVell/Y/6N+CzDn3AXhEOOo7Hv/3BeAz8IzQkMPnJbuPx1wC+yYJ7/0nYIP5S/0FHKdp+rwCEEXRS/rf5Hl1Gtb2M0iSpCOpCZzPATmX1EySpHMLAsiy7MjMDoHrGSDXZnaYZdnRwBh7J91utwmczAA6CbG3GgPleX4jqUH/a1CktqRGnuc3hSCAMB32gKspkCtgb3KCQMmkjeP4WNJThrNNZval1WptTIsv7JtQ4tmIdRa8qSoEpWl6YWZNoAN0zKxZNPehpLSBZv2t+Q0CJ9lLnARQLAAAAABJRU5ErkJggg==);background-repeat:no-repeat;background-position:center}.color-picker .type-policy .type-policy-arrow{display:block;width:100%;height:50%}.color-picker .selected-color{position:absolute;top:16px;left:8px;width:40px;height:40px;border:1px solid #a9a9a9;border-radius:50%}.color-picker .selected-color-background{width:40px;height:40px;border-radius:50%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAh0lEQVRYR+2W0QlAMQgD60zdfwOdqa8TmI/wQMr5K0I5bZLIzLOa2nt37VVVbd+dDx5obgCC3KBLwJ2ff4PnVidkf+ucIhw80HQaCLo3DMH3CRK3iFsmAWVl6hPNDwt8EvNE5q+YuEXcMgkonVM6SdyCoEvAnZ8v1Hjx817MilmxSUB5rdLJDycZgUAZUch/AAAAAElFTkSuQmCC)}.color-picker .saturation-lightness{direction:ltr;width:100%;height:130px;border:none;cursor:pointer;touch-action:manipulation;background-size:100% 100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOYAAACCCAYAAABSD7T3AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwksPWR6lgAAIABJREFUeNrtnVuT47gRrAHN+P//Or/61Y5wONZ7mZ1u3XAeLMjJZGZVgdKsfc5xR3S0RIIUW+CHzCpc2McYo7XGv3ex7UiZd57rjyzzv+v+33X/R/+3r/f7vR386Y+TvKNcf/wdhTLPcv9qU2wZd74uth0t1821jkIZLPcsI/6nWa4XvutquU0Z85mnx80S/ZzgpnLnOtHNt7/ofx1TKXcSNzN/7qbMQ3ju7rNQmMYYd/4s2j9aa+P+gGaMcZrb1M/tdrvf7/d2v99P9/t93O/3cbvdxu12G9frdVwul3E+n8c///nP+2+//Xb66aefxl//+tfx5z//2YK5Al2rgvf4UsbpdGrB52bAvArXpuzjmiqAVSGz5eDmGYXzhbAZmCrnmzddpUU+8Y1dAOYeXCtDUwVwV7YCGH6uAmyMcZ9l5vkUaBPGMUZ7/J5w/792/fvv9Xq93263dr/fTxPECeME8nK5jM/Pz/HTTz/dv337dvrll1/GP/7xj/G3v/1t/OUvfwkVswongjdOp9PzH3U3D3zmWGnZVXn4jCqs7wC2BKP4/8tAzkZsoWx6XrqeHZymvp4ABCBJhTQwKfDT8gzrZCIqi5AhiACjBfEB2rP8/X63MM7f6/V6v9/v7Xa7bYC83W7jcrlsVHIq5ffv30+//fbb+OWXX8ZPP/00/v73v4+ff/75JSvbeu+bL2WMMaFbAlpBNM85QX+ct6qoSqkPAwuQlBVKqGNFSUOAA3Bmu7gC5hNOd15nSwvAOUW7C4giUCV8Sgn5L9hNFIqTsp0GxI0ysioyjAjkY/tGJVEpz+fz+OWXX+7fv38//f777+Pbt2/j119/HT///PP49ddfx8fHRwrmTjV779EXu2px2xhjwtdJZQcAWQIPLPISsMJaSwiD8gzIKrwSyATE5j5nAbR5c1dBUwBlsEWW0h6LqiYsqFPAQxCyRZ3wOSARxmlXMX5k64pQfvv27f75+dk+Pj5OHx8f4/v37+Pbt2/jt99+G9++fRsfHx/jcrmUFLO31gYDWblxRIs/TqfT7ousxJsAxXA2Gc7TA9XdgfdoHbFsj76X2+1WArgI1ageGwA3qupqoHsmcbI6Fu93quggFa9d7LeDtgKfAFHBJ+NEByIkcJ5KervdTmhhGcgJJSZ5vn//fj+fz+18Pp8+Pz/H5+fnmGD+/vvv4/v37+Pj42N8fn6O2+1Ws7JjjP6wraMI5E4RZ8x2vV5TSwkquotV7/d7Tz6HFWsD/qNcdw0CQ3q/321c686TwDVIdbuy73zNldhSHb8I2klZznm+InBS4U6n0302aBFsLhHDAKJVJVglfI9jhvu53W53sLANYNxAiDA6MCeUHx8f9+v12i6XS7tcLqcZW57P5yeY8/fz83Ocz+fnsSmYUyknWEG85WBst9stzSLyMdfr9Qi08iY15UZ0LlDGLhR3o5zK2j7OPUTD0E+nU3tk7Xb/16NFbhloAMuY1zjLUOO3BKeIDe+Z8s3/J4gFo4TM5jPmuRg28foUKKVSwo16TgA5npywcWLHgYl/Pz8/73/605/ab7/91m63W7tcLie0sZj4mao5gTyfz88E0f1+j8EcYzwTPEG2cqjyfHNF0M8fuqEiaOVnRzZZQNh5fwQyHg/HDGfJo89Q1zb/quu5XC6773I2XKfTqd/v9+d3wuqWva/YTdUdEV3fhIv/Viyps6YE3x3r43K5bJQS66zaxVGFsvd+//j4aF+/fm3fv39vt9utff36tf3+++/tdrudvn37ZuNLBaaCMgUzC+rZRiFowxUuJI8YMqcCp9Opq5vagaYU6lGJA1XQqejchw6Cj0Gw5nYBrGw01A2O206n04BGouNNyTfp/FwElhUey6nXrIKw7QQWddxuN2ldL5fL839gSPF8ahu/JvBO48CPSuqMf8Vp9/P53L58+dLu93s7n8/tfr8/39/v9/b5+TkhPJ3P56mQ436/j+/fv+/iSgbzer0+AZx/5+88bv6OMda6S5z6kd21fYC9dxv7cIJJ2d9AOS30fPMzyHiTM8B4DF6XUlYHp4KQW3W+1t77MNB1vGHxWq7Xa7vf78+y5/N5A+H1et29xuP5dbYtyaRu4AksbPq6936fjRzXRxBbPr/b+b18+fKljTHaBBBfn8/n0/1+H1++fBnn8zm0sB8fH5u4cr5GuBhMVk0EEn9RsctgVhM+ixlJtMA23R8B6yysAstBOgFXIKKCMIgToMqNEu2fYMH7ztc732dQKkCj1ytAZtY0Kx8pIr8GGJ+AT3V+2Hirhl++fBmXy2Wz73w+b17P8p+fn8/tUwGVleVkTyUb68DkfayWY4zxNRihU4EpLJPZVrK+u7J4/mgfKqeLW9X2REWlItL1diynbDDb3+jXgYjQqn0rrxWc+NkILP7F7xIbMvx7vV53x40xnlbWJF12ZSag/N0pW6t+ZzmOMzHjajKwDfond78zYTdfq18up97zr2q8v3IioBprRtBl0EZ9og5WBRGOdOHjIjXF7UotFbgOWnXzIJyzYvjG5IYgsmMOxHkz8OsMSrVNWeq5T8DaOcbEv1Od5rbs9aO7YvMet63EkF++fMExq+MRl4/L5bLZN/+ez+fnZ6KazuMqXSQVO5spJXflHAIzes/xJseckRJiDMog9d6VfRrqXMr6KpVV27jRwJacGovOAM1zMdQMnwK1AubK63kdCChvI1C7g0z9nf/D+Xze2Vj8H7Gx4P9duQlsYCrqyN8XqG3Hm/10Oj3jw/n+crlstuM+jPmmxT2dTuPz83Pzt2pn1XsEHX/bnPaVqVmh0xwOt0o6XLLAHePUU203wHfcrspCwmV3TryB5s0Mseeg97x/BwzCjBlbB+pRAPla0BVQuT6V6QHdBlj3d0KG147b+DqxQeUymDO43W4dQar+TIjwmAd0z8/h65vf0/yLv3Pb5XLpru/ydDo9s7ET0I+Pj6dKK9VUEIeKWQWPAOrJ8LKd4vE+t91Y3e7UFlWatg2VwJnb+HPmtvm/sfK59/OaWF3x/eP1UPHvA5DDYDpYXfb0drv1V2DkBkxtw/tEWVVlXWdC9pFYs5/jfh9dS/16vW7s6lTG+TfqsxSJHxkXXq/Xdr1eu4LsfD6P3vsT3N77DkL+zPm5jSdKL4zR3AxQd6rHkLkYlSowsrq7znzu6wSwdsMJOXmA5fBcjxtgMGBYHlr5zokhtsMCTgXLQOW4XC6dEyEMprL8mAQzXRgduix2yZzorxkYsDn3hB1VeMLGsXsVtgl2pW8S3svk0vw7R4hNaHvv4cACl5HFzwIH0Kc6zu4XjDPR/jpAVxWzO1Xk2DDb3vTcxeGU1iWZHkmIDWziWKvirCJ4Dravs6IJ/GG6cTqWdXDy+fArQDVVkLqkVjAoZIITdmmIqXwqa95N3+MGYoZQdRVNO53Y1xRkhO16vY7eu507Ca9lJnbGpxOemQhSw/AQsmmp5zU9BiU8G6wvX76M6/U6Pj4+do0Bz4CpgiknTUeDqwlKBmg3u4OVjrZ1A+rAcgaejWq6eJCvCYFDONSwOgHX4EQRw8lxbzDOdEK6gZ3Hk1b+8g2o1JFtKXyv/fEdTXuWjWXdAZiBp6ADeDrCFiim7B6ZFneeI7Gvm/PMkUDX67W7xI8b0D7/v8dA9qfN5oaCf74WZjH0mf1cmfY1Y0JUFmVrTWu8uzkNcLtEj7u5FXBTkfC6GOA5q8YMxO8KVvF6sAVGdcrUbsKODcQKkLMOMdmlxum642YrPm26AlhZW1YB1R+rrGswE8TaYAWeUMxdf+WjwSvZ2Ef3ytOyfn5+PpVPAaqOn43MtNBqvmjjxbjM4lZjZY4gqNMI5ktaW/sYKNwS+9lFQzGihmMCKPa7+Z0V6Eb0GRmobtpX8JljWu5FMLN5ja6hG9kwQgZqf5+1NH5UxzkFReCdWhJ8XdlGUkxO7HRlYRm4mVO43W7ter12TPJEw/rmEN3L5SKHIWZg9mz+pUoKOYq5bJTJdX2gme1UcxMZQFaEQIlHct32M+Y1BzGkGuzfiyAN9z+ugplZ1symCrDCYYkGxDTpI9RzBy0rHyeDUC1nWaeUaD9n4xkNyYMBDZtzZ3B++fJlY21XFDOcARJlabOyiS3uCpLI9jrZjCDkaVvcCCjwognKShWdzXZWlZMvVTgD8LpqlCLrqgbcB+qYwrgKYpT0ccCqbKyCValkEabn/FynogCrPKfqf51xJ7sGB2ZXcZmxoSOztjx300DZi7a0/2AIR0UlBag9SuDw6KcAzlaB7vHZvWpjK90dyrq6bKyDUZQbR0B05biLQkHIcSUmgIK+SwuqgHCnoio2RQU1yj+BnBy9pphVKLGyC7ZzFK1pxWK+E8IhVCWLN/uLtnUU4ayoYLoaANz8FdtaSvY4pV0BEW2ls61czqllBKpTyKgMAhrZ1cdc1RROtPmvWNkdcKZ7ZKxaWjiPLJMpp7OZKxA+rqG/oJLjxf0pnJlqLoDZo3gyU0mKGys2taKecj/d1C+rJSplBqlTyAqgR+D8KjKlmRL2gtUcAdCtsL+ijCNT1oqqqkH2OHEbG5sDFnUg5Aa+yLou2VU1ptj1S2ZQqv1ORZN9IWzRfgaRBxKoBE8UWyqlJFtrIc0AxNjSjed99CTY/XDfSzCz5M0IZoVEsWnPFNTsl8ooVC1TzbGgqFZNDSgVwKK+1sGDMKqxZCWGVMDysiEr1jVSQJUYwj5iHOlThdHt44SQg9CN+nl8D90NMIgAdgr46JqRiR9I8vRdFvbr17m/yxUMKjNLMiVUADwu2CWGhhi+F55TWM9M9cogzms1dnM4uOF/LAEYWdcqnM7yFmyq3IfwmOROd7Y1iFWtOjoY8To41mTV5IysgFFuRzsbWFGbNIIJCDv1dOo4lZG7jWBwRFtVTKuWyeCByJKOan8oZ3ep9XddNl0tDuaywLz9cXPYeDAA0SpkBO9sbVcTOVWldPv4uyzEkzxHtjvonHoSkFEWNoo1d8DhcQputd2ppNon4BzoAiJ1hBFQg0dVtdbGHHDQWushmNEQukLM2QO1G2Y8bgTXqFhcBJj7EjPgcPts8US8qPpPB/dXznOh5Z438tzH5ec6QgrOKrRRfKmysBmUDB+PhYabMlVPER+GCSITTzr7am2tArH3bgcEzPJm+cr5jJ4NnHNFDVrFXcI5Le9k5Jnw+bedbV+FfRzZIHaOOaOsLY0/7UGs58DjrGwKMIMFIGzOEW1/jGsdAtCN6hEAI4hBe9YXeRROBSVPAVPAqvIM5bx5hVKWAMP6zBRy3iescridVdFBinBxXDnG2GRY2XbCvp1lhvGtO9Bxu5h908XQu42lnSArMFdizMim8uwRCxPGnnOS8lwpnbOiDqTAjsrRN/PcoAScCbaACqVM40ylnjjTBs+bwWlAG23/UKbdkiwKWIQPGzWaczpoSlxPEj822cNWkpS7FyzsDrqpfgpG3jahw2vgbaSQAxuLWZYt7JzyNe8JoZpNAcvDFOdw0wqYT9AK1rZz/DdbSlLPp0ryIxgQJlK9AZlEq7IOXpohg9PIhrCng88JsOxiV4ZWAYfg4sikx/8ky2Z9l862uqwrfscIH8+ugTmVGyiddeVYUgEMn4GZzg14EwIsh9sx2cKKiWXReuOE5gzGOQgdlRKVVdlevqb279Xq0Qnsts2VDaBO0coezsruWtHApu6sKG4IBhN0aGU2kLrMKGRTN3HmbCDwKV14zvkMEDG4QfZVspVlaNU2mhc5TEZ3N1h/zqTheuLpW05ZWTGVjb3dbnNmxKZBnN8JqidaVLKAOyARNLS+MB54Z2+VaqoMLKroVBlngefnTPAcoHNWCSvlfA8CI0HEmBNBnBlXyMrzU7A7WVm94PPqQ2gmqKx+WDGsnvilmcSOBJqOK1nYyAIzuAyesq3UdSK3KfWcYKD95HmfYOU3qser2CtYEUA+FpfqdNvgPBZUBhDrGONRVlQsh8rLcaUCykHG0OOUwTlLBrsh5soEMGezi1E4HRVt1icp5wZEFXdibCkG8Y8vX75sbO4E0iom9z+hjSiOfy3DhpXItpVhE+UGQdvoWjtChmrGHf4YAzKgBNnGtuJxFCeGdhUAfQLLK8kBYAP6gvFJZajMG3Xkycy8KuC0q4Eyymwtwdxdv2M0mIBtK0LKnf640j00Auq4gUkdWGlhs22qJc6dZCsL19oxnlTJG4SYVRIGpD8TPFBuM6OElbS1pldid4mGAyN6ZIupbC5bXJN9fdpbThSxLUaI8IG1XIYBxW3Tjs6KQosKcxfxcQmdnwRGM10GnFcCy2XYunLMyAkdgk4mePiczsLygthcBut6goOqS7YVFXADLjaosB6s6ofcZWAZSIRYqSUkizYwttYab3vUOQ9w2HRxIIg8WwRVeE68xi4UtL3zRphxplzwuZrcqYCq1I3jPI5dnJIygEohMbPqVJSzrwzxBJTs5zN+ReUSgxikPQVF3JVBeNQxbHENrEMNvEdFZVV9lH9+ORGEsNZQpyTNc4C3AG7XF4ngzq+DrO2zbuaaOXgdaFcdkEotoSFBVX2qJ0C8OWZeG4KGlpghA0XfTOPCqV2qqwQ26QWfF2PMLhI2w1lVAa2aPsYd0za25MQRwgcZN6uQDCi+ZxiD4XEM2kZxOT41FnZnaRlcpZouzlRqqdbQVWopQoSB58RV50lBNrHi/AwXS5LrwDVlpY3Fc3ByiYGc52Trist6kOXdwInAQtJpp5QchyaquYOV7Su+fxVMaV3dc0RE2S6mUY0gLt2pMcYqrKIQ9w2l1gpQUMtQYcmmbt5DTNxdhnUCjQqtbK9SUSzvrC0mmhhE1e2FS2+oxypy/ZASutkmtjx3vcBC24PX65nbqkBCRhfjS9kIYPnee8cMagVOhI/3T1fAmdtAWZsCswTJCkQVNa0qWKSKPOpHAUhD9DrbVcyoYkwqhvh17vYAayXLQyKGYdxlUDFp494rBXRjYgO17DDYetNIUj/ezp6S0lnlpEwsWmJMkOwsKXeZKEAjIHn0EQJISaRBcO6UMINz7p/bEjjnw4ft+xmDvksxX4G2rIris7qaeKwAFMP2Oi7n4criuZwtpSUwpfLxSnORSrIqusc5ZFaXysqRWjiZ2DyAWEIL35tVSoQElFACjOeGGSE7AHEQgdo/LSvCOgGBvkxsmDbvlS3Fp5vhaB2TAGqRKrKKMrhLVpaGzEVjZ0OQxDhaCTA+QyRR1d15aQzrJntL3RibsipjG6jlgL4yqbS0sNYg1e84vhbBVrElK64CUcWYXDfKxhpIuxiVJZUxsbMy/uRBKTNRQ4kQ3LdRYLS0rJjRPlTPqY6gdJsEDc+aQXAn+HgsNUCbRuF0Oj0zwnA7bWDkbhO5Ens00qeQhS1laBMl5M/cAaxsLF8rKyql+Tf7ELLEGu/ixiimdCvo0TjfpjKwaggen4eh5v7LokLKbLuyvHhcZG8dhGrEDx7Hg93ZppJF7qBqO3iVveXEDQNInzeoe8Yq6ePaZBZ2JviM3W2UAGotekRCAGq4EkF1X3DOnR11yRsBL1tRa0PVcZiNFXZ2c34FskvomInQQ6lzpJoZbJxk43NwKJFBquJSsrByHydxKOnTxQASBmS3j+JMnsHSla3Ec6K9VWoJVn9zfjwOM7hqYAAqJQwE2a3nA48J2QGegRkpZNivSY+ys3EkKd4oJIwsvIHl3cWgLt5k4NH6OmtLWdpurOkwEMupYc7eMtDRhOcI2ui5JhVIzXzLyto/GAPuZoyo8wkoduVgJglCt7OhGbgID4Mq4si+63zUS1FuFFXFlqyaj2emHlLMcBqYu0FMuR28BbB7lOxRMSiCQXFhCKuwkhZ+pYDiGSgbsKKV8MiSRsuHSIWM9rklRiIlZZuqXjsQK8ooYJMgq3JKWVkhHbhsVxFUzthOWPkYijcbx54IKsSdT+uLr3crGKyoYgFiGR9iBk4kfloUX+JIlQRQqabmpgnhqtpQpb6RVQ1WH5DnrS4hEoGZqaerQ2dhFbz8XePxShmDbo70eISjoorO2vK8SJXI4SUmEU4zWKDzUDtWTYw7xXlbSTEj4FRg7zKnKoGRALv0Gs9Tgc1BpCywGZRQAtqVz2xrBcAMzEpfZwFSa2G5W0QBFjSMapWAEFa3HcGN7CxDzECyIkJ97qwrqWNTWVo876PPsjPkj2wvgroM5lLZKMETKVql/CvnWVFiFa/SzJUQwkoZsr67Y6vlSRV3/2tmNTOY3vnaxYwMuoPKqdzR1w7IqHymlPxaAThfU7Ko2ZXYj4AYJHL+kNdKwRQYESTRa5fsUZ/rVC1TMTyWVyYoqNtuzaHsMyv2tvoarxdfqwYgU1axFo/cnql1FGsqK+uAROV8BX4GU8WcZTATi2q7Qcyi0O0V+GhWBMNRUkn8H1SsWVE5By3Gi0ECqUeJoBfAtDa4amkdXG37AGP5Ggeb84p7UazpoKRzdFzeQ8HkoHGxprKy/Hpm5t12p47J6xTYDEz7uINEXSuxYXvFskYAc+ySxH9sf5ftKzU6IbwVBcUGg5e5FMCEXSErZR0wGayV19woM9guPjTqJdVTqR4uE4nJnLldWVkECCZLd2VLF+xtamex7IpiriSDUpvrpn9lrwGMCHyppMH+ps6LILsuFGUj1XEOXiqbqSHPUKnClpWV68kqtURVNDY4TNaocykoYeTU5ngGEQa/S1DnnE4AeXMcKjHPAmFVjCBENaeyLVNHfr3px8xUstJ94hIpfH4HKE/eDaArK6lSyVVFbdt1gxTIVk3pppVlFXi4pEhVBTObquohU85MLXn1iahvUkHJjSCMc01tLFveVVBx0DodM6jftCu7DOtIzYxrc0qp1JGP2ayYFz2Gb6HvMrO8cnGtV6Gjm3uImSfD2GpWK6uowbZGMxFKQCo1pOMtcMXFpRst+hXGoAomF3sSTBGgTglbBKWwsQ3tZqaYSp0Z1CimRDWFcCJUPYJ00BI5FkKYNoifuQxmN88SWVXWLMaUqqqgC0BmQJR6sk3u9NCf6jYLXxAfqsYEgVLAhRY2AtgtflZNFmFyhxdrLkAdWlk4D88M2ixHyepIdhMHrG/iR1ZGtq0MGpbDbRPYOXeSY1M6Ny4ZstvGSktK+XbFPATj2D371saPEsAMXhXrsZ0km/XStkhhMyBfsa6uXFZe2VCe+YMr1+GKgwrQyNYq1VRrB+EizAow6NsdNKcyVEkYeM73ys6q4kAHp6BiFklTkIrVC5oYV7uzwOGCz4UJ0Stq2lWMJy4wtb+RetL6tZFicnJmBw5UjCvXXMZVJX2MQkbf+XN5EWd78Vz8/JEsMZTBiKNzsm1inLRUQ74H4NidaqI68j5sAFgxcRveC7ieLJXfQYxjZZ2CsiWFewZXJmBIlZ1tdtrX4hSuateKso/RZOtOKW2nmq1oTzeK6dRWAWu2NRVb4hq0SXm1GvtugHrbr5IXqmSktg5CuDE2MSlPwsY5kNE2Wp3AqiZbWVLAxiBF+2iBZbuNj6MB6rsMLC7FyasaYDyo7KkoPyEtw3pEMXfPvxAJi2jAQQgjrz0rLIZSWZlIoNhwd5xK4AR9mYNjWAaLrnuImJeBVN9zBORObVvbr+mTTfFSEJLSRnHo7hEJoIi8MFqjxmvgmF5URZz4zLFgZZ8Ctu2X7ggVccKm9gVxIsOHqxXgNMKnFWZYnf1dBnOhayXq17QwFlWW09eNKyVJFmXqaONGA5aCegMbJ3UUkGY1ic3nKWgjq8qfVYGQG1gRt6rs62a6HiqqUOqdesK5NmX4nGofJoiE1d0dF9lVVkvT1/kEEaaCoYOwFpcVcoLM+7669PxC9rWqktH0sWUYld0VCpuBZ/stVRcGgy9WX2+U1Qthi9SzAqSxzZsy+OiFzBYnySGV6Gku44rD8BCOZBV3BvD5+AKRHNwMEsB6EzHnJpkTAeiUlEGkcECeB6GDZTp5YEJTlvdrknxYjTllMkfNtXwDjM7uVjK5JXUUn43rrqpK2jytaxHW0M5G8DC8rtHMYs7KSgduVQMGTYFqFvVS6rkD3sDJ46afdYFwoq11AOKCBLhvwoUgc8IGANycR6knZrdJPdsuxnyjfd3FovTlRMdEdtOl5CMV5EHsXQBis7TOwvIDZaGj2Vnpbh7cpK63VwYEMLwqbjzyl699sawFFkF1yqjUU31HfC6sW1ZFVFuXVXVgz9keEaw0ys1lWfm+azQAQSWA+hKYVfsZjPncAcUB9oIayy/UZXRNckDGji77GsWbvBo6tPrWPqOyVkBUq+INeqpzNdYs/u0ifh5qmpqIW+33JVSUcwY70KL4U9lYdU6ljtSls7lmfi9g3YzeQfVkaGFaV3ODCnaD2N8wsEDFklE3RzM3ZghdYkWHsszq70FIecnKkVkt8ezMzRq9bkGuKojRLBVSod3Y1yPqKgYW7JRQTPVyy5xIYLjOgxgT52RKJUY1dOrIiRd4futQx/A5AcSmEjz0vFWrkLzvbWAu9HOWbGgxFk1VNTpnBKk6TgwisI/HcxYXP1uAWO72ULFlBTq+aSu2VTUs6hrxM2CF+hEor1VIA9ZmFUaab1lSSgZsVs4sxzHlVLoJHr9H4DhONTkI1XC0/wiY2NoWAG5RlnHFnq6oLccpQddMuJ/O17JVA5OHLi0BqCztq7Y1++ucCd98qLI8MIHBV/cKjxQTme3hFBS3MyCqnDsuym2o80HjvFFTtrURmNaGJsmVahImjTsUXKtQZTAVs7Mvv8/+fzUrZAXcLJ6M4koe6XP0b6SmWWNDzyUpQ8bl+LtWx4tuqZ36cRYV3yuVxPNwvIiqiQCSmu7srgTzR6nkyhpCarXwFy1vGd5iP2cY06lFr5Njhhg1Y6+NB28ftbK83s8rf7kLJbKwDFPbLg25a0AdZJEiqr5phixKMDlRUtcssq1hriLqGoH+zeNgVm9OemjsETV8JdF0NHnkIFxWY1OB4Yrp7rtWJ7NgAAAPXklEQVQ3oNs5nplyVf8u2FoLu1JrHveaZWQjqAkshtFa2gzsSG3Zpkbvg3HafF9slPPlldjFlK80Gysm8Mr4MPhneNWENPGjAIpmilTPATdTRTXlCBYHYAQuPwA36xIpWtGN4q3Y2MhiGsUpuSSnlEJRD8PorC7CFYVw+F51qThgabxsTxWzCGY0ZSsb3lfqAy0OPNjNy8xiQQKsHYFQ2HBZVvVbBuq3m1oWKajqaonsM6uZUr6CjXWNZ0l5E3h3jURma6kP3MJIiy1Lm+kahQq41N2iZja5sjtlLYNZHZrH6qUGm4vMbDp6Rw2CFmvuyFkrBcCyMtFqBaECmsHoK9BZ2LA/lJcRqSaDqnaWbrZdGaz3DLgIvBln4woGztbyJGqslwxkhhHrTjTYFXCtOoKS8uLdofVdAbOylGU6nlYpXWZts4nXBq6WxJitMNokHUJnbnJplQm+aGpY2a5GMV2QD1hRubBPFKdumf5OHkLHz0F9luE5kjBjRa0nFE5CUGqHw32MmjZ6xkgINVnSnZ1VZStK2qKlRaLlQgK7uTq7JFXJwM+3SOEKyhZNI+tJ0I5qMYy9k2qJD7dVWdqKXa0CKNR0Ccjg+B2IYu2fcBZJZkMFgM11r0X92wilghFGgzVnexlqB7xL9mS29SiYUVY2nXOZjNBRsyDsQPRWW5hrZ4XcdC4HVWRbjgJr4sFofK5SzjQ7rhI1UebdPdEbj6sqIvTZQZ5va08rABsAW0UxeWytAk7A2KJ9ZpxzCioB24XFtYAeXYxr6anSqhLgppEqWbGwLunTgrV+IjWlL29ljaAl4EQMGsErp4apeZiquwRXLXAqOCeru32mmydc6oWTSWpFAGdzeTB8RTHVMEtlM90CbbQCYhPjq3egYr1FGdYIQjiuDGZ5zZ/AzobKGOyLxti6c4Rwtv2anyWlLICnlLhxJRXt6A5ebDBWFNONbxWZ2d02mnu4S9YECpeppV1zSWRBWxHYzVIv1CXSouwqqX3jBBBDZdYQbpTQW4ZQlS8r5kH4suSRmg2++3JN10x1PaAmEkmtYlEdeGpJEM6kOuCqCR22oSujj5IV2HdT0zj5prLKTjXFAPjdQlyq7xIBxAQP5yMczG4VxAKw0n6ilZ2QBce2pLulkuxxqnoIzFfgqyqjil9S1VNwBrFmeyeops8yOjZUybZdfS8CuaTIJumzs5tODaNtLpFDQ/PcJGweLhmeL1nB0KqiUDScsiUVD89Di3HtrKtSULw3RLiygZD+7sF8JTObgYsrGvDNUFRGl1iy0Ll1YkUc2aJYMog920I8qW6YDCg1Mqk0JHJFKXkbgbRreI+qpYNOZHrVcDUba7pjsphSJNtK6upgRNAVoOS0mugBeN4bIZgHhuPZ/s1ENaX6KsVr+YNrh1Nb7ipR0PE5zbNRegCbrHRUw6Yf07dLBJl1f8KB9as2V1nNqAsl62LBBhehwalerkHmB1JFIEZKSEusdl5JQj1nJlHXSCF342gJ9CYGrXelknJIXqVP8sD+qtplCR3XH2qfKq0ygMp+KnVkKxNlZ8m2YkIlVMiCnXUwl7qznBKSvQz3m3Pt6oQbXO5b5FixCh/fHxUQW/AEcK6zCNqKQnL9sywqmKuwvqSYzT/aPVNNpVyhvRW21aqciCsjdWvBwILUvh5VyCzbWoC1pJjJ680CWsl+udKB6T5RwG1mlohnlpbg47iz5U9ha0FGtmRLFYBtO99y97Ap0z+ZDTAog6kSLZsMHg/IFkkgp6CpvU2U0cYVSdnmkjwBdOmXbxTWNWzuIbipMioVxEckZEoahSOiy2M3K0jcC1LhVDwaqG0ZvkcWqCnrG4GIxykrqlbWdw6LQyBaZR8HmLRIhQWsHswD42ZXVLNkf9l+FlW0HVQ2lwFsC/Z1FdzlQR0KaPfo+Fdfu+/dwVRICu1CGR7AEIiAhc+AZUF0kOBaPxmUqg4i64vQnU4nFDYJ9Nz+1fVXveH9qmr+kPILx8oKcRV/BFbxbE0JMT0kSD4w6L/lNY8ocsqagVdU3A3MjxhxcGuqzsPH4irpaow1q6OyrVjvp9Npc59E91LldboYVzJWdimWfAW2SNEKcDaX2FmBLLA/uKxlmhh613Is1URQApbKfttwxL02q6Onx5pQxSbPojAg+v5hAnN6LHVRDXIsvKtRjiS0qJUyZTAXVbAK82ElFJWaQdVoqUC1Unt7BVaTQudM6SuqexjQJN4+0icaxv/utbKv83ETbT8H8gjcOKxOJmbUa6OOVXht3dFY6rHv9XoNzFLceEA1o8+pKm0LAHPHZ2rYKjFq0hfZFixsqHJgD3eD5n+U0kb1mFjXkn2lvMSSOsNE/CdIAKF0Sytq6urOHUN5gwg4GZosgbmggM5ucra2qrS2Ig1cbiBBcxYzgzUDNLCvL8GbZXNp6ORy3LmS+Kk83zRIAK6A1ioKa2I9NapIuiUFdfC9766PFZUtqUr6KbWk+zZU1a/ZrIXEztrjTOfz7hwKziCeXIaraHtbZIMz+2pGgazCmw4qWAFvEdhodYp0Xq0pV7G1YWYWbO4qhGq42+Z8BYtrLWvluNPpZAeaFFS1vubPgbgxsqcpnAaszBovKaFoDQ8BGtjfUOl4NAG2nmQV04feJgumvX2fsrQEWZghL0JnVdYkn3DOZIeRN86RqPWCmsvGVqEMRnwxQAxwS8EMYo3IzmY2+BCcLp4MKiuyuhImamlbZFcNoNl7tp+RHd18ZjQIRKyXdFRhN98/hyKqwXWNo7O1wiaXoHN108REZZWEq6grnIfjzeg8jdRf1XEL4kkXa5bBjKxoKaljBjeHlVxQ4GaycpW4lDOAKtnTxHAtOfzOtZwHAM7sqVXkV6yu6kap1nHkXKqWF/4XHqjenNKqBjpR3l1ch3Ejg1+EsgdQhsdG0B4FM9sWAVWpuAyiwTPleZxt9VyZVS2qXfReWqTAilpr9ApoWTjxymit7NwV4JTriZyOA9B0k7HFfULourmKYHVnRQvqGL5HMHdqFcR2qWpmcK6eTwx2dipWrviDilr+fKWq3OWRWdHKwA4eu8wjchbeRzFilqjjZN3ufCpfkJ0/scVpnYk6L0PI77lxdWCZ87WiWm7B/AGquQSnujGKsB8CJmiJq8q1pKIVWyqOiTK66r18BN8r74/AE71fdC3yPS2MxdOpnE1tlVxD9JmVOoggN+r4PjAXVFPa3Eg5jVJGFVUGNolH20GVrUB7BOySWq6WqYQdWR92pcFMYMwckbSgCKCqD67DiiWu1g8MQC9ByfcFqW1L+jL714qNCuznoSxt0da2gtWN1G8F0BK0NN0nuimelUF9dIdAfjO44UT3CjQLoUeLHJFTO3gmpRuIIOvwBQCbqNeo3qtZ9iF6xVK13GRlo4zqimq+CGdTiR1uRY8oqgE02hZBa79kZXPMquxRHKla2saZWN4mRqZUj0vLCKhkjKnqOQHNuSZVJoKvAqS1wpEquvWDC1B2ypwrCPsRMEPVTODMLJMDv6qeKXwi2JYV5Sq4qKyvgGsHCLiuj2jR59V8gMqSJ2FJZRXEHVRHj3sFPrct6OpqlW1GpatQdt0GvwfM6n63InsGVFhJGaBqgqqIV6IsXllZgySPq4R3bnt3wi5cv+cN2yqQLW1T95KYVsWWtKk4cB9W53WQQflQYR6Wl4HaJZjvVE0D5yvq+RKgZCs5qdBEP5sD94cAvQLlSgNaSMAtHx88BuNQ41zdFsX30zKbcs0MLD/ihkpQzl0wiTqKLTfbKmCmyYICnK0IbaieC4CG9iSyLQ7cIMGQwau6TKoq60Apl3WN40LZpca1CKKK9VQyyIEn8w0F8F6CL2h8o3ixGwC7s7EWzCOqmcApYxYD4jsAzVS0sl2t98pA7vrKophCVSonbYpgH6mvSn24pTBV4sdtV3BtMq5k82y+IADvUJ0uAlkCVTxIaPm+UNu/qkV4F1TzHXCGrXIAqItBKypqK99VtAOVs64O4ObX7pHLVCpYHcRmwvLR7TvYAKBBN58LGVzDuFz+hQbWgncQyCZAk+VbsPSouf93261iZgmfCpwRbAvqmSqriU2PwhjaoOyYqtIegVXViTsmyta6bGySpY3gyRrpIyAeaWDDxtpsXwKyalMDKNP7YBXMqEskUsi2uC8FNAPxAKTVfT1o6VzM0E0jF+1rWcUuHvdyg7vgoFplX8HpvHpMCOMRUPHzZkInsqlFKNX/EIO52E0SxSzOwob2VmRLW5D1XIU0rbgM1AzWgyC7fe8G7xUAK/taEBat7luqtyP7EmsaJQOj5F+mrnZfCuYCfBUAWwShyd6pMY/vAHG1UqOYpbI/gy5T0CMKm+UO3gFuC85dgfDVeguPDfITrIBLsLrcgdh3CFgFZjaKJ4Iv3F8ANEqvuxR1tVKOgLoCa1jxboBAkj6v7j/icFbA7f4rfRnQDLRViG13i0vqBQrYVqBbADZT0ZpiHoSzvQpopKIFS3sE1HfBWlHXd0H7LnArqvougMtljHBgZnh3Eoz/BKjLML4Z2Aq0+hEJr9jaVUBbvNzCIUiroC7AWmmFw4o5AK3MtB5VypZMSFgs05JyGVwlwBqsEGAAa2ZU1CjUexXGsE4rKriilBvFzOKKo3AuAroE6QFQU3u8YpNXwS5k+1TZt5UrwouN4KiUEw+k3ZWDp1RXHNRqXb21Ts39945yZSg3VnZFNQ9CF3XeZyr5DgBXKiwCMa2MxeTDYXgP1Fsf9QNKZc0k81RJk3r6EQ3rCmBVyLL75EjZ1pIVDHoFtiOAHoB0BdTVylqBsKKKS+AeBXJVLY+CXASuGvO/Auq7GuEjDfGKg1oKa1z/dmmi9I9SUGNhl0AtfulHAawoYrnSkmNXAVuGEhrEVXvUF+A5Ct2PqNOjDetyna4CmeUolmeXLN4Aq7C5Sj10Q7yjgl+t6CNxSRHmI5X+CpwreYB3Qfdqna4q21KdBuc4GoZsn49ZOOiVinwHqK9WzjvgeweEh2AU5+vtxZ9Cd9Wqkh49V18E5oj6vVyn0RStAyGIO5edXRKd5B0VGVXq2yr3xYp+5Ut+C4QJ4P1N339pQMjRejj4vb/Dcr6rQc3O/0rjmtZpeYCBiCHfCemRbNhbK/pNUPc3wfKy5f2D7OlL3/uPhve/oU4T0F8f+VNM2vyoiv0jK+KHQfdHq+0bncz4oz73/+Y6LbKw1o/5B7eOf1Rl/0du9B9tn/9bvrf/j+v0h6ttn2tp/r/4819y4/zv5391uvzzfwDifz6phT1MPgAAAABJRU5ErkJggg==)}.color-picker .cp-add-color-button-class{position:absolute;display:inline;padding:0;margin:3px -3px;border:0;cursor:pointer;background:transparent}.color-picker .cp-add-color-button-class:hover{text-decoration:underline}.color-picker .cp-add-color-button-class:disabled{cursor:not-allowed;color:#999}.color-picker .cp-add-color-button-class:disabled:hover{text-decoration:none}.color-picker .cp-remove-color-button-class{position:absolute;top:-5px;right:-5px;display:block;width:10px;height:10px;border-radius:50%;cursor:pointer;text-align:center;background:#fff;box-shadow:1px 1px 5px #333}.color-picker .cp-remove-color-button-class:before{content:"x";position:relative;bottom:3.5px;display:inline-block;font-size:10px}.color-picker .eyedropper-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);fill:#fff;mix-blend-mode:exclusion}\n'],encapsulation:2})}return i})(),Be=(()=>{class i{injector;cfr;appRef;vcRef;elRef;_service;dialog;dialogCreated=!1;ignoreChanges=!1;cmpRef;viewAttachedToAppRef=!1;colorPicker;cpWidth="230px";cpHeight="auto";cpToggle=!1;cpDisabled=!1;cpIgnoredElements=[];cpFallbackColor="";cpColorMode="color";cpCmykEnabled=!1;cpOutputFormat="auto";cpAlphaChannel="enabled";cpDisableInput=!1;cpDialogDisplay="popup";cpSaveClickOutside=!0;cpCloseClickOutside=!0;cpUseRootViewContainer=!1;cpPosition="auto";cpPositionOffset="0%";cpPositionRelativeToArrow=!1;cpOKButton=!1;cpOKButtonText="OK";cpOKButtonClass="cp-ok-button-class";cpCancelButton=!1;cpCancelButtonText="Cancel";cpCancelButtonClass="cp-cancel-button-class";cpEyeDropper=!1;cpPresetLabel="Preset colors";cpPresetColors;cpPresetColorsClass="cp-preset-colors-class";cpMaxPresetColorsLength=6;cpPresetEmptyMessage="No colors added";cpPresetEmptyMessageClass="preset-empty-message";cpAddColorButton=!1;cpAddColorButtonText="Add color";cpAddColorButtonClass="cp-add-color-button-class";cpRemoveColorButtonClass="cp-remove-color-button-class";cpArrowPosition=0;cpExtraTemplate;cpInputChange=new e.bkB(!0);cpToggleChange=new e.bkB(!0);cpSliderChange=new e.bkB(!0);cpSliderDragEnd=new e.bkB(!0);cpSliderDragStart=new e.bkB(!0);colorPickerOpen=new e.bkB(!0);colorPickerClose=new e.bkB(!0);colorPickerCancel=new e.bkB(!0);colorPickerSelect=new e.bkB(!0);colorPickerChange=new e.bkB(!1);cpCmykColorChange=new e.bkB(!0);cpPresetColorsChange=new e.bkB(!0);handleClick(){this.inputFocus()}handleFocus(){this.inputFocus()}handleInput(t){this.inputChange(t)}constructor(t,o,n,r,s,a){this.injector=t,this.cfr=o,this.appRef=n,this.vcRef=r,this.elRef=s,this._service=a}ngOnDestroy(){null!=this.cmpRef&&(this.viewAttachedToAppRef&&this.appRef.detachView(this.cmpRef.hostView),this.cmpRef.destroy(),this.cmpRef=null,this.dialog=null)}ngOnChanges(t){t.cpToggle&&!this.cpDisabled&&(t.cpToggle.currentValue?this.openDialog():t.cpToggle.currentValue||this.closeDialog()),t.colorPicker&&(this.dialog&&!this.ignoreChanges&&("inline"===this.cpDialogDisplay&&this.dialog.setInitialColor(t.colorPicker.currentValue),this.dialog.setColorFromString(t.colorPicker.currentValue,!1),this.cpUseRootViewContainer&&"inline"!==this.cpDialogDisplay&&this.cmpRef.changeDetectorRef.detectChanges()),this.ignoreChanges=!1),(t.cpPresetLabel||t.cpPresetColors)&&this.dialog&&this.dialog.setPresetConfig(this.cpPresetLabel,this.cpPresetColors)}openDialog(){if(this.dialogCreated)this.dialog&&this.dialog.openDialog(this.colorPicker);else{let t=this.vcRef;if(this.dialogCreated=!0,this.viewAttachedToAppRef=!1,this.cpUseRootViewContainer&&"inline"!==this.cpDialogDisplay){const r=this.injector.get(this.appRef.componentTypes[0],e.zZn.NULL);r!==e.zZn.NULL?t=r.vcRef||r.viewContainerRef||this.vcRef:this.viewAttachedToAppRef=!0}const o=this.cfr.resolveComponentFactory(Se);if(this.viewAttachedToAppRef)this.cmpRef=o.create(this.injector),this.appRef.attachView(this.cmpRef.hostView),document.body.appendChild(this.cmpRef.hostView.rootNodes[0]);else{const n=e.zZn.create({providers:[],parent:t.injector});this.cmpRef=t.createComponent(o,0,n,[])}this.cmpRef.instance.setupDialog(this,this.elRef,this.colorPicker,this.cpWidth,this.cpHeight,this.cpDialogDisplay,this.cpFallbackColor,this.cpColorMode,this.cpCmykEnabled,this.cpAlphaChannel,this.cpOutputFormat,this.cpDisableInput,this.cpIgnoredElements,this.cpSaveClickOutside,this.cpCloseClickOutside,this.cpUseRootViewContainer,this.cpPosition,this.cpPositionOffset,this.cpPositionRelativeToArrow,this.cpPresetLabel,this.cpPresetColors,this.cpPresetColorsClass,this.cpMaxPresetColorsLength,this.cpPresetEmptyMessage,this.cpPresetEmptyMessageClass,this.cpOKButton,this.cpOKButtonClass,this.cpOKButtonText,this.cpCancelButton,this.cpCancelButtonClass,this.cpCancelButtonText,this.cpAddColorButton,this.cpAddColorButtonClass,this.cpAddColorButtonText,this.cpRemoveColorButtonClass,this.cpEyeDropper,this.elRef,this.cpExtraTemplate),this.dialog=this.cmpRef.instance,this.vcRef!==t&&this.cmpRef.changeDetectorRef.detectChanges()}}closeDialog(){this.dialog&&"popup"===this.cpDialogDisplay&&this.dialog.closeDialog()}cmykChanged(t){this.cpCmykColorChange.emit(t)}stateChanged(t){this.cpToggleChange.emit(t),t?this.colorPickerOpen.emit(this.colorPicker):this.colorPickerClose.emit(this.colorPicker)}colorChanged(t,o=!0){this.ignoreChanges=o,this.colorPickerChange.emit(t)}colorSelected(t){this.colorPickerSelect.emit(t)}colorCanceled(){this.colorPickerCancel.emit()}inputFocus(){const t=this.elRef.nativeElement,o=this.cpIgnoredElements.filter(n=>n===t);!this.cpDisabled&&!o.length&&(typeof document<"u"&&t===document.activeElement?this.openDialog():this.dialog&&this.dialog.show?this.closeDialog():this.openDialog())}inputChange(t){this.dialog?this.dialog.setColorFromString(t.target.value,!0):(this.colorPicker=t.target.value,this.colorPickerChange.emit(this.colorPicker))}inputChanged(t){this.cpInputChange.emit(t)}sliderChanged(t){this.cpSliderChange.emit(t)}sliderDragEnd(t){this.cpSliderDragEnd.emit(t)}sliderDragStart(t){this.cpSliderDragStart.emit(t)}presetColorsChanged(t){this.cpPresetColorsChange.emit(t)}static \u0275fac=function(o){return new(o||i)(e.rXU(e.zZn),e.rXU(e.OM3),e.rXU(e.o8S),e.rXU(e.c1b),e.rXU(e.aKT),e.rXU(J))};static \u0275dir=e.FsC({type:i,selectors:[["","colorPicker",""]],hostBindings:function(o,n){1&o&&e.bIt("click",function(){return n.handleClick()})("focus",function(){return n.handleFocus()})("input",function(s){return n.handleInput(s)})},inputs:{colorPicker:"colorPicker",cpWidth:"cpWidth",cpHeight:"cpHeight",cpToggle:"cpToggle",cpDisabled:"cpDisabled",cpIgnoredElements:"cpIgnoredElements",cpFallbackColor:"cpFallbackColor",cpColorMode:"cpColorMode",cpCmykEnabled:"cpCmykEnabled",cpOutputFormat:"cpOutputFormat",cpAlphaChannel:"cpAlphaChannel",cpDisableInput:"cpDisableInput",cpDialogDisplay:"cpDialogDisplay",cpSaveClickOutside:"cpSaveClickOutside",cpCloseClickOutside:"cpCloseClickOutside",cpUseRootViewContainer:"cpUseRootViewContainer",cpPosition:"cpPosition",cpPositionOffset:"cpPositionOffset",cpPositionRelativeToArrow:"cpPositionRelativeToArrow",cpOKButton:"cpOKButton",cpOKButtonText:"cpOKButtonText",cpOKButtonClass:"cpOKButtonClass",cpCancelButton:"cpCancelButton",cpCancelButtonText:"cpCancelButtonText",cpCancelButtonClass:"cpCancelButtonClass",cpEyeDropper:"cpEyeDropper",cpPresetLabel:"cpPresetLabel",cpPresetColors:"cpPresetColors",cpPresetColorsClass:"cpPresetColorsClass",cpMaxPresetColorsLength:"cpMaxPresetColorsLength",cpPresetEmptyMessage:"cpPresetEmptyMessage",cpPresetEmptyMessageClass:"cpPresetEmptyMessageClass",cpAddColorButton:"cpAddColorButton",cpAddColorButtonText:"cpAddColorButtonText",cpAddColorButtonClass:"cpAddColorButtonClass",cpRemoveColorButtonClass:"cpRemoveColorButtonClass",cpArrowPosition:"cpArrowPosition",cpExtraTemplate:"cpExtraTemplate"},outputs:{cpInputChange:"cpInputChange",cpToggleChange:"cpToggleChange",cpSliderChange:"cpSliderChange",cpSliderDragEnd:"cpSliderDragEnd",cpSliderDragStart:"cpSliderDragStart",colorPickerOpen:"colorPickerOpen",colorPickerClose:"colorPickerClose",colorPickerCancel:"colorPickerCancel",colorPickerSelect:"colorPickerSelect",colorPickerChange:"colorPickerChange",cpCmykColorChange:"cpCmykColorChange",cpPresetColorsChange:"cpPresetColorsChange"},exportAs:["ngxColorPicker"],features:[e.OA$]})}return i})(),Ve=(()=>{class i{static \u0275fac=function(o){return new(o||i)};static \u0275mod=e.$C({type:i});static \u0275inj=e.G2t({providers:[J],imports:[h.MD]})}return i})();var Pe=m(2578);let Q;try{Q=!!new Blob}catch{Q=!1}let re=(()=>{class i{get isFileSaverSupported(){return Q}genType(t){if(!t||-1===t.lastIndexOf("."))return"text/plain";const o=t.substring(t.lastIndexOf(".")+1);switch(o){case"txt":return"text/plain";case"xml":case"html":return`text/${o}`;case"json":return"octet/stream";default:return`application/${o}`}}save(t,o,n,r){if(!t)throw new Error("Data argument should be a blob instance");const s=new Blob([t],{type:n||t.type||this.genType(o)});(0,Pe.saveAs)(s,decodeURI(o||"download"),r)}saveText(t,o,n){const r=new Blob([t]);this.save(r,o,void 0,n)}static#e=this.\u0275fac=function(o){return new(o||i)};static#t=this.\u0275prov=e.jDH({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),De=(()=>{class i{static#e=this.\u0275fac=function(o){return new(o||i)};static#t=this.\u0275mod=e.$C({type:i});static#n=this.\u0275inj=e.G2t({})}return i})();const Me=i=>["segment",i],Ge=(i,l)=>({"segment-main":!0,expandable:i,expanded:l});function Ne(i,l){1&i&&e.nrm(0,"div",9)}function Oe(i,l){if(1&i&&(e.j41(0,"span",10),e.EFF(1),e.k0s()),2&i){const t=e.XpG().$implicit;e.R7$(),e.JRh(t.description)}}function Xe(i,l){if(1&i&&(e.j41(0,"section",11),e.nrm(1,"ngx-json-viewer",12),e.k0s()),2&i){const t=e.XpG().$implicit,o=e.XpG();e.R7$(),e.Y8G("json",t.value)("expanded",o.expanded)("depth",o.depth)("_currentDepth",o._currentDepth+1)}}function Ye(i,l){if(1&i){const t=e.RV6();e.j41(0,"section",2)(1,"section",3),e.bIt("click",function(){const n=e.eBV(t).$implicit,r=e.XpG();return e.Njj(r.toggle(n))}),e.DNE(2,Ne,1,0,"div",4),e.j41(3,"span",5),e.EFF(4),e.k0s(),e.j41(5,"span",6),e.EFF(6,": "),e.k0s(),e.DNE(7,Oe,2,1,"span",7),e.k0s(),e.DNE(8,Xe,2,4,"section",8),e.k0s()}if(2&i){const t=l.$implicit,o=e.XpG();e.Y8G("ngClass",e.eq3(6,Me,"segment-type-"+t.type)),e.R7$(),e.Y8G("ngClass",e.l_i(8,Ge,o.isExpandable(t),t.expanded)),e.R7$(),e.Y8G("ngIf",o.isExpandable(t)),e.R7$(2),e.JRh(t.key),e.R7$(3),e.Y8G("ngIf",!t.expanded||!o.isExpandable(t)),e.R7$(),e.Y8G("ngIf",t.expanded&&o.isExpandable(t))}}let se=(()=>{class i{constructor(){this.expanded=!0,this.depth=-1,this._currentDepth=0,this.segments=[]}ngOnChanges(){this.segments=[],this.json=this.decycle(this.json),"object"==typeof this.json?Object.keys(this.json).forEach(t=>{this.segments.push(this.parseKeyValue(t,this.json[t]))}):this.segments.push(this.parseKeyValue(`(${typeof this.json})`,this.json))}isExpandable(t){return"object"===t.type||"array"===t.type}toggle(t){this.isExpandable(t)&&(t.expanded=!t.expanded)}parseKeyValue(t,o){const n={key:t,value:o,type:void 0,description:""+o,expanded:this.isExpanded()};switch(typeof n.value){case"number":n.type="number";break;case"boolean":n.type="boolean";break;case"function":n.type="function";break;case"string":n.type="string",n.description='"'+n.value+'"';break;case"undefined":n.type="undefined",n.description="undefined";break;case"object":null===n.value?(n.type="null",n.description="null"):Array.isArray(n.value)?(n.type="array",n.description="Array["+n.value.length+"] "+JSON.stringify(n.value)):n.value instanceof Date?n.type="date":(n.type="object",n.description="Object "+JSON.stringify(n.value))}return n}isExpanded(){return this.expanded&&!(this.depth>-1&&this._currentDepth>=this.depth)}decycle(t){const o=new WeakMap;return function n(r,s){let a,d;return"object"!=typeof r||null===r||r instanceof Boolean||r instanceof Date||r instanceof Number||r instanceof RegExp||r instanceof String?r:(a=o.get(r),void 0!==a?{$ref:a}:(o.set(r,s),Array.isArray(r)?(d=[],r.forEach(function(p,F){d[F]=n(p,s+"["+F+"]")})):(d={},Object.keys(r).forEach(function(p){d[p]=n(r[p],s+"["+JSON.stringify(p)+"]")})),d))}(t,"$")}}return i.\u0275fac=function(t){return new(t||i)},i.\u0275cmp=e.VBU({type:i,selectors:[["ngx-json-viewer"]],inputs:{json:"json",expanded:"expanded",depth:"depth",_currentDepth:"_currentDepth"},features:[e.OA$],decls:2,vars:1,consts:[[1,"ngx-json-viewer"],[3,"ngClass",4,"ngFor","ngForOf"],[3,"ngClass"],[3,"click","ngClass"],["class","toggler",4,"ngIf"],[1,"segment-key"],[1,"segment-separator"],["class","segment-value",4,"ngIf"],["class","children",4,"ngIf"],[1,"toggler"],[1,"segment-value"],[1,"children"],[3,"json","expanded","depth","_currentDepth"]],template:function(t,o){1&t&&(e.j41(0,"section",0),e.DNE(1,Ye,9,11,"section",1),e.k0s()),2&t&&(e.R7$(),e.Y8G("ngForOf",o.segments))},dependencies:[h.YU,h.Sq,h.bT,i],styles:['@charset "UTF-8";.ngx-json-viewer[_ngcontent-%COMP%]{font-family:var(--ngx-json-font-family, monospace);font-size:var(--ngx-json-font-size, 1em);width:100%;height:100%;overflow:hidden;position:relative}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%]{padding:2px;margin:1px 1px 1px 12px}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%]{word-wrap:break-word}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%] .toggler[_ngcontent-%COMP%]{position:absolute;margin-left:-14px;margin-top:3px;font-size:.8em;line-height:1.2em;vertical-align:middle;color:var(--ngx-json-toggler, #787878)}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%] .toggler[_ngcontent-%COMP%]:after{display:inline-block;content:"\\25ba";transition:transform .1s ease-in}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%] .segment-key[_ngcontent-%COMP%]{color:var(--ngx-json-key, #4E187C)}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%] .segment-separator[_ngcontent-%COMP%]{color:var(--ngx-json-separator, #999)}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%] .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-value, #000)}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .children[_ngcontent-%COMP%]{margin-left:12px}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-string[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-string, #FF6B6B)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-number[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-number, #009688)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-boolean[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-boolean, #B938A4)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-date[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-date, #05668D)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-array[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-array, #999)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-object[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-object, #999)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-function[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-function, #999)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-null[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-null, #fff)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-undefined[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-undefined, #fff)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-null[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{background-color:var(--ngx-json-null-bg, red)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-undefined[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-key[_ngcontent-%COMP%]{color:var(--ngx-json-undefined-key, #999)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-undefined[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{background-color:var(--ngx-json-undefined-key, #999)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-object[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%], .ngx-json-viewer[_ngcontent-%COMP%] .segment-type-array[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%]{white-space:nowrap}.ngx-json-viewer[_ngcontent-%COMP%] .expanded[_ngcontent-%COMP%] > .toggler[_ngcontent-%COMP%]:after{transform:rotate(90deg)}.ngx-json-viewer[_ngcontent-%COMP%] .expandable[_ngcontent-%COMP%], .ngx-json-viewer[_ngcontent-%COMP%] .expandable[_ngcontent-%COMP%] > .toggler[_ngcontent-%COMP%]{cursor:pointer}']}),i})(),qe=(()=>{class i{}return i.\u0275fac=function(t){return new(t||i)},i.\u0275mod=e.$C({type:i}),i.\u0275inj=e.G2t({imports:[h.MD]}),i})();var le=m(93331),V=m(38117),c=m(89417),He=m(28990),ze=m(96354),A=m(3366),v=m(19664),P=m(45794),I=m(97013);function Ue(i,l){if(1&i&&(e.EFF(0,"\n "),e.j41(1,"span"),e.EFF(2,"\n "),e.j41(3,"b"),e.EFF(4,"Device name"),e.k0s(),e.EFF(5),e.j41(6,"b"),e.EFF(7,"IEEE"),e.k0s(),e.EFF(8),e.j41(9,"b"),e.EFF(10,"Ep"),e.k0s(),e.EFF(11),e.j41(12,"b"),e.EFF(13,"Nwkid"),e.k0s(),e.EFF(14),e.k0s(),e.EFF(15,"\n ")),2&i){const t=l.item;e.R7$(5),e.SpI(" : ",t.ZDeviceName," - "),e.R7$(3),e.SpI(" : ",t.IEEE," - "),e.R7$(3),e.SpI(" :\n ",t.Ep," - "),e.R7$(3),e.SpI(" : ",t.NwkId,"\n ")}}function Ke(i,l){if(1&i&&(e.EFF(0,"\n "),e.j41(1,"span"),e.EFF(2,"\n "),e.j41(3,"b"),e.EFF(4,"Device name"),e.k0s(),e.EFF(5),e.j41(6,"b"),e.EFF(7,"IEEE"),e.k0s(),e.EFF(8),e.j41(9,"b"),e.EFF(10,"Ep"),e.k0s(),e.EFF(11),e.j41(12,"b"),e.EFF(13,"Nwkid"),e.k0s(),e.EFF(14),e.k0s(),e.EFF(15,"\n ")),2&i){const t=l.item;e.R7$(5),e.SpI(" : ",t.ZDeviceName," - "),e.R7$(3),e.SpI(" : ",t.IEEE," - "),e.R7$(3),e.SpI(" :\n ",t.Ep," - "),e.R7$(3),e.SpI(" : ",t.NwkId,"\n ")}}const Le=new V.Vy("BindingComponent");let We=(()=>{class i extends He.U{apiService;formBuilder;translate;toastr;form;clusters$;devicesSource;devicesTarget;devicesTargetFiltered;constructor(t,o,n,r){super(),this.apiService=t,this.formBuilder=o,this.translate=n,this.toastr=r}ngOnInit(){this.form=this.formBuilder.group({source:[null,c.k0.required],target:[null,c.k0.required],cluster:[null,c.k0.required]}),this.clusters$=this.apiService.getBindLSTcluster().pipe((0,ze.T)(t=>t.map(o=>(o.fullName=o.ClusterId+" "+o.ClusterDesc,o)))),this.subs.sink=this.form.get("cluster").valueChanges.subscribe(t=>{Le.debug("change:",t),this.apiService.getBindLSTdevice(this.form.get("cluster").value).subscribe(o=>{this.devicesSource=o,this.devicesTarget=o})})}filterDevices(t){this.form.get("target").patchValue(null),this.devicesTargetFiltered=this.devicesTarget.filter(o=>t.NwkId!==o.NwkId)}putBinding(){const t={sourceIeee:this.form.get("source").value.IEEE,sourceEp:this.form.get("source").value.Ep,destIeee:this.form.get("target").value.IEEE,destEp:this.form.get("target").value.Ep,cluster:this.form.get("cluster").value};this.apiService.putBinding(t).subscribe(()=>{this.toastr.success(this.translate.instant("api.global.succes.update.notify")),this.form.reset("",{onlySelf:!0,emitEvent:!1})})}putUnBinding(){const t={sourceIeee:this.form.get("source").value.IEEE,sourceEp:this.form.get("source").value.Ep,destIeee:this.form.get("target").value.IEEE,destEp:this.form.get("target").value.Ep,cluster:this.form.get("cluster").value};this.apiService.putUnBinding(t).subscribe(()=>{this.toastr.success(this.translate.instant("api.global.succes.update.notify")),this.form.reset("",{onlySelf:!0,emitEvent:!1})})}static \u0275fac=function(o){return new(o||i)(e.rXU(A.G),e.rXU(c.ok),e.rXU(v.c$),e.rXU(P.tw))};static \u0275cmp=e.VBU({type:i,selectors:[["app-binding"]],features:[e.Vt3],decls:71,vars:26,consts:[[1,"row","row-cols-1","row-cols-xxl-3","row-cols-lg-2","row-cols-md-1","row-cols-sm-1","g-4"],[3,"formGroup"],[1,"card"],["translate","tools.binding.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],[1,"row"],[1,"col-sm-6"],["appendTo","body","bindLabel","fullName","bindValue","ClusterId","formControlName","cluster",3,"items","multiple","closeOnSelect","placeholder"],[1,"row","mt-2"],["appendTo","body","bindLabel","ZDeviceName","formControlName","source",3,"change","items","multiple","closeOnSelect","placeholder"],["ng-option-tmp",""],["bindLabel","ZDeviceName","appendTo","body","formControlName","target",3,"items","multiple","closeOnSelect","placeholder"],[1,"card-footer","d-flex","justify-content-end"],["translate","tools.binding.button.put",1,"btn","btn-primary",3,"click","disabled"],["translate","tools.unbinding.button.put",1,"ms-2","btn","btn-primary",3,"click","disabled"]],template:function(o,n){1&o&&(e.j41(0,"div",0),e.EFF(1,"\n "),e.j41(2,"form",1),e.EFF(3,"\n "),e.j41(4,"div",2),e.EFF(5,"\n "),e.nrm(6,"div",3),e.EFF(7,"\n "),e.j41(8,"div",4),e.EFF(9,"\n "),e.nrm(10,"p",5),e.nI1(11,"translate"),e.EFF(12,"\n "),e.j41(13,"div",6),e.EFF(14,"\n "),e.j41(15,"div",7),e.EFF(16,"\n "),e.j41(17,"div",8),e.EFF(18,"\n "),e.j41(19,"div"),e.EFF(20,"\n "),e.j41(21,"ng-select",9),e.nI1(22,"translate"),e.nI1(23,"async"),e.EFF(24,"\n "),e.k0s(),e.EFF(25,"\n "),e.k0s(),e.EFF(26,"\n "),e.k0s(),e.EFF(27,"\n "),e.k0s(),e.EFF(28,"\n "),e.j41(29,"div",10),e.EFF(30,"\n "),e.j41(31,"div",8),e.EFF(32,"\n "),e.j41(33,"div"),e.EFF(34,"\n "),e.j41(35,"ng-select",11),e.nI1(36,"translate"),e.bIt("change",function(s){return n.filterDevices(s)}),e.EFF(37,"\n "),e.DNE(38,Ue,16,4,"ng-template",12),e.EFF(39,"\n "),e.k0s(),e.EFF(40,"\n "),e.k0s(),e.EFF(41,"\n "),e.k0s(),e.EFF(42,"\n "),e.k0s(),e.EFF(43,"\n "),e.j41(44,"div",10),e.EFF(45,"\n "),e.j41(46,"div",8),e.EFF(47,"\n "),e.j41(48,"div"),e.EFF(49,"\n "),e.j41(50,"ng-select",13),e.nI1(51,"translate"),e.EFF(52,"\n "),e.DNE(53,Ke,16,4,"ng-template",12),e.EFF(54,"\n "),e.k0s(),e.EFF(55,"\n "),e.k0s(),e.EFF(56,"\n "),e.k0s(),e.EFF(57,"\n "),e.k0s(),e.EFF(58,"\n "),e.k0s(),e.EFF(59,"\n "),e.k0s(),e.EFF(60,"\n "),e.j41(61,"div",14),e.EFF(62,"\n "),e.j41(63,"button",15),e.bIt("click",function(){return n.putBinding()}),e.k0s(),e.EFF(64,"\n "),e.j41(65,"button",16),e.bIt("click",function(){return n.putUnBinding()}),e.k0s(),e.EFF(66,"\n "),e.k0s(),e.EFF(67,"\n "),e.k0s(),e.EFF(68,"\n "),e.k0s(),e.EFF(69,"\n"),e.k0s(),e.EFF(70,"\n")),2&o&&(e.R7$(2),e.Y8G("formGroup",n.form),e.R7$(8),e.Y8G("innerHTML",e.bMT(11,16,"tools.binding.subtitle"),e.npT),e.R7$(11),e.FS9("placeholder",e.bMT(22,18,"tools.binding.cluster")),e.Y8G("items",e.bMT(23,20,n.clusters$))("multiple",!1)("closeOnSelect",!0),e.R7$(14),e.FS9("placeholder",e.bMT(36,22,"tools.binding.sourceEp")),e.Y8G("items",n.devicesSource)("multiple",!1)("closeOnSelect",!0),e.R7$(15),e.FS9("placeholder",e.bMT(51,24,"tools.binding.destEp")),e.Y8G("items",n.devicesTargetFiltered)("multiple",!1)("closeOnSelect",!0),e.R7$(13),e.Y8G("disabled",!n.form.valid),e.R7$(2),e.Y8G("disabled",!n.form.valid))},dependencies:[c.qT,c.BC,c.cb,c.j4,c.JD,I.vr,I.Uq,v.Mm,h.Jj,v.D9]})}return i})();function Ze(i,l){if(1&i&&(e.EFF(0,"\n "),e.j41(1,"span"),e.EFF(2," "),e.j41(3,"b"),e.EFF(4,"Name"),e.k0s(),e.EFF(5),e.j41(6,"b"),e.EFF(7,"NwkId"),e.k0s(),e.EFF(8),e.k0s(),e.EFF(9,"\n ")),2&i){const t=l.item;e.R7$(5),e.SpI(" : ",t.ZDeviceName," - "),e.R7$(3),e.SpI(" : ",t._NwkId,"")}}function Je(i,l){if(1&i){const t=e.RV6();e.j41(0,"ng-select",18),e.nI1(1,"translate"),e.bIt("change",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.setAction(n))}),e.EFF(2,"\n "),e.k0s()}if(2&i){const t=e.XpG();e.FS9("placeholder",e.bMT(1,5,"tools.debugcommand.action")),e.Y8G("items",t.capabilities.Capabilities)("multiple",!1)("closeOnSelect",!0)("searchable",!0)}}function Qe(i,l){if(1&i&&(e.j41(0,"ng-select",19),e.nI1(1,"translate"),e.EFF(2,"\n "),e.k0s()),2&i){const t=e.XpG();e.FS9("placeholder",e.bMT(1,5,"tools.debugcommand.type")),e.Y8G("items",t.capabilities.Types)("multiple",!1)("closeOnSelect",!0)("searchable",!0)}}function $e(i,l){if(1&i){const t=e.RV6();e.j41(0,"div",12),e.EFF(1,"\n "),e.j41(2,"div",7),e.EFF(3,"\n "),e.j41(4,"div"),e.EFF(5,"\n "),e.j41(6,"span",20),e.mxI("colorPickerChange",function(n){e.eBV(t);const r=e.XpG();return e.DH7(r.colorPicker,n)||(r.colorPicker=n),e.Njj(n)}),e.k0s(),e.EFF(7,"\n "),e.k0s(),e.EFF(8,"\n "),e.k0s(),e.EFF(9,"\n "),e.k0s()}if(2&i){const t=e.XpG();e.R7$(6),e.xc7("background",t.colorPicker),e.Y8G("cpToggle",!0)("cpDialogDisplay","inline"),e.R50("colorPicker",t.colorPicker),e.Y8G("cpOutputFormat","rgba")}}function et(i,l){1&i&&e.nrm(0,"div",23)}function tt(i,l){if(1&i&&(e.j41(0,"div",12),e.EFF(1,"\n "),e.j41(2,"div",7),e.EFF(3,"\n "),e.j41(4,"div"),e.EFF(5,"\n "),e.nrm(6,"input",21),e.nI1(7,"translate"),e.EFF(8,"\n "),e.DNE(9,et,1,0,"div",22),e.EFF(10,"\n "),e.k0s(),e.EFF(11,"\n "),e.k0s(),e.EFF(12,"\n "),e.k0s()),2&i){const t=e.XpG();e.R7$(6),e.FS9("placeholder",e.bMT(7,2,"tools.debugcommand.value")),e.R7$(3),e.Y8G("ngIf",t.form.controls.effect.errors)}}function nt(i,l){1&i&&e.nrm(0,"div",26)}function ot(i,l){if(1&i&&(e.j41(0,"div",12),e.EFF(1,"\n "),e.j41(2,"div",7),e.EFF(3,"\n "),e.j41(4,"div"),e.EFF(5,"\n "),e.nrm(6,"input",24),e.nI1(7,"translate"),e.EFF(8,"\n "),e.DNE(9,nt,1,0,"div",25),e.EFF(10,"\n "),e.k0s(),e.EFF(11,"\n "),e.k0s(),e.EFF(12,"\n "),e.k0s()),2&i){const t=e.XpG();e.R7$(6),e.FS9("placeholder",e.bMT(7,2,"tools.debugcommand.value")),e.R7$(3),e.Y8G("ngIf",!t.form.controls.level.valid)}}let it=(()=>{class i{toastr;apiService;formBuilder;translate;routers;capabilities;form;colorPicker="rgba(30,96,239,0.54)";capaSelected;constructor(t,o,n,r){this.toastr=t,this.apiService=o,this.formBuilder=n,this.translate=r}ngOnInit(){this.form=this.formBuilder.group({level:[null,[c.k0.nullValidator,c.k0.min(0),c.k0.max(100)]],type:[null,c.k0.required],action:[null,c.k0.required],deviceSelected:[null,c.k0.required],effect:[null,c.k0.compose([c.k0.nullValidator,c.k0.pattern("^[0-9A-Fa-f]+")])]}),this.form.get("type").disable(),this.apiService.getZDevices().subscribe(t=>{this.routers=t.filter(o=>"Router"===o.LogicalType)})}callCapabilities(t){this.capaSelected=null,this.form.get("action").patchValue(null),this.form.get("type").patchValue(null),this.capabilities=null,this.apiService.getDevCap(t._NwkId).subscribe(o=>{this.capabilities=o})}setAction(t){this.capaSelected=t,this.form.get("type").patchValue(null),t&&!0===t.Type?this.form.get("type").enable():this.form.get("type").disable()}callAction(){let t=null,o=null;if(this.testRGB)if(this.colorPicker.startsWith("rgba")){let r=this.colorPicker.replace("rgba(","");r=r.replace(")","");const s=r.split(",");4===s.length&&(o=100*Number(s[3]),t="rgb("+s[0]+","+s[1]+","+s[2]+")")}else this.colorPicker.startsWith("rgb")&&(o=100,t=this.colorPicker);!o&&this.capaSelected.Value&&("hex"===this.capaSelected.Value&&(o=this.form.get("effect").value),"int"===this.capaSelected.Value&&(o=this.form.get("level").value));const n={NwkId:this.form.get("deviceSelected").value._NwkId,Command:this.form.get("action").value.actuator,Value:o,Color:t,Type:this.form.get("type").value};this.apiService.putDevCommand(n).subscribe(()=>{this.toastr.success(this.translate.instant("api.global.succes.commandsent.notify"))})}get testRGB(){return!!this.form.get("type").value&&this.form.get("type").value.startsWith("ColorControl")}static \u0275fac=function(o){return new(o||i)(e.rXU(P.tw),e.rXU(A.G),e.rXU(c.ok),e.rXU(v.c$))};static \u0275cmp=e.VBU({type:i,selectors:[["app-debug-command"]],decls:61,vars:17,consts:[[3,"formGroup"],[1,"card","h-100"],["translate","tools.debugcommand.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],[1,"row"],[1,"col-sm-6"],["bindLabel","ZDeviceName","appendTo","body","formControlName","deviceSelected",3,"change","items","multiple","closeOnSelect","searchable","placeholder"],["ng-option-tmp",""],[1,"col-sm"],["translate","tools.debugcommand.button.cancel",1,"ms-3","btn","btn-secondary",3,"click"],[1,"row","mt-2"],["bindLabel","actuator","appendTo","body","formControlName","action",3,"items","multiple","closeOnSelect","searchable","placeholder","change",4,"ngIf"],["appendTo","body","formControlName","type",3,"items","multiple","closeOnSelect","searchable","placeholder",4,"ngIf"],["class","row mt-2",4,"ngIf"],[1,"card-footer","d-flex","justify-content-end"],["translate","tools.debugcommand.button.send",1,"btn","btn-primary",3,"click","disabled"],["bindLabel","actuator","appendTo","body","formControlName","action",3,"change","items","multiple","closeOnSelect","searchable","placeholder"],["appendTo","body","formControlName","type",3,"items","multiple","closeOnSelect","searchable","placeholder"],[3,"colorPickerChange","cpToggle","cpDialogDisplay","colorPicker","cpOutputFormat"],["type","text","formControlName","effect",1,"w-100","form-control",3,"placeholder"],["translate","tools.debugcommand.effect.error",4,"ngIf"],["translate","tools.debugcommand.effect.error"],["type","number","min","0","formControlName","level",1,"w-100","form-control",3,"placeholder"],["translate","tools.debugcommand.level.error",4,"ngIf"],["translate","tools.debugcommand.level.error"]],template:function(o,n){1&o&&(e.j41(0,"form",0),e.EFF(1,"\n "),e.j41(2,"div",1),e.EFF(3,"\n "),e.nrm(4,"div",2),e.EFF(5,"\n "),e.j41(6,"div",3),e.EFF(7,"\n "),e.nrm(8,"p",4),e.nI1(9,"translate"),e.EFF(10,"\n "),e.j41(11,"div",5),e.EFF(12,"\n "),e.j41(13,"div",6),e.EFF(14,"\n "),e.j41(15,"div",7),e.EFF(16,"\n "),e.j41(17,"ng-select",8),e.nI1(18,"translate"),e.bIt("change",function(s){return n.callCapabilities(s)}),e.EFF(19,"\n "),e.DNE(20,Ze,10,2,"ng-template",9),e.EFF(21,"\n "),e.k0s(),e.EFF(22,"\n "),e.k0s(),e.EFF(23,"\n "),e.j41(24,"div",10),e.EFF(25,"\n "),e.j41(26,"button",11),e.bIt("click",function(){return n.form.reset(),n.capaSelected=null}),e.k0s(),e.EFF(27,"\n "),e.k0s(),e.EFF(28,"\n "),e.k0s(),e.EFF(29,"\n "),e.j41(30,"div",12),e.EFF(31,"\n "),e.j41(32,"div",7),e.EFF(33,"\n "),e.DNE(34,Je,3,7,"ng-select",13),e.EFF(35,"\n "),e.k0s(),e.EFF(36,"\n "),e.k0s(),e.EFF(37,"\n "),e.j41(38,"div",12),e.EFF(39,"\n "),e.j41(40,"div",7),e.EFF(41,"\n "),e.DNE(42,Qe,3,7,"ng-select",14),e.EFF(43,"\n "),e.k0s(),e.EFF(44,"\n "),e.k0s(),e.EFF(45,"\n "),e.DNE(46,$e,10,6,"div",15),e.EFF(47,"\n "),e.DNE(48,tt,13,4,"div",15),e.EFF(49,"\n "),e.DNE(50,ot,13,4,"div",15),e.EFF(51,"\n "),e.k0s(),e.EFF(52,"\n "),e.k0s(),e.EFF(53,"\n "),e.j41(54,"div",16),e.EFF(55,"\n "),e.j41(56,"button",17),e.bIt("click",function(){return n.callAction()}),e.k0s(),e.EFF(57,"\n "),e.k0s(),e.EFF(58,"\n "),e.k0s(),e.EFF(59,"\n"),e.k0s(),e.EFF(60,"\n")),2&o&&(e.Y8G("formGroup",n.form),e.R7$(8),e.Y8G("innerHTML",e.bMT(9,13,"tools.debugcommand.subtitle"),e.npT),e.R7$(9),e.FS9("placeholder",e.bMT(18,15,"tools.debugcommand.device")),e.Y8G("items",n.routers)("multiple",!1)("closeOnSelect",!0)("searchable",!0),e.R7$(17),e.Y8G("ngIf",n.form.get("deviceSelected").value&&n.capabilities),e.R7$(8),e.Y8G("ngIf",n.capaSelected&&n.capaSelected.Type),e.R7$(4),e.Y8G("ngIf",n.capaSelected&&n.testRGB),e.R7$(2),e.Y8G("ngIf",n.capaSelected&&"hex"===n.capaSelected.Value),e.R7$(2),e.Y8G("ngIf",n.capaSelected&&"int"===n.capaSelected.Value),e.R7$(6),e.Y8G("disabled",!n.form.valid))},dependencies:[h.bT,c.qT,c.me,c.Q0,c.BC,c.cb,c.VZ,c.j4,c.JD,I.vr,I.Uq,v.Mm,Be,v.D9]})}return i})();function rt(i,l){1&i&&e.nrm(0,"div",14)}function st(i,l){1&i&&e.nrm(0,"div",14)}let lt=(()=>{class i{toastr;apiService;formBuilder;translate;form;constructor(t,o,n,r){this.toastr=t,this.apiService=o,this.formBuilder=n,this.translate=r}ngOnInit(){this.form=this.formBuilder.group({Command:[null,c.k0.required],payload:[null]})}putCommand(){this.apiService.putCommandRaw(this.form.value).subscribe(()=>{this.toastr.success(this.translate.instant("api.global.succes.commandsent.notify"))})}static \u0275fac=function(o){return new(o||i)(e.rXU(P.tw),e.rXU(A.G),e.rXU(c.ok),e.rXU(v.c$))};static \u0275cmp=e.VBU({type:i,selectors:[["app-raw-command"]],decls:50,vars:13,consts:[[3,"formGroup"],[1,"card","h-100"],["translate","tools.rawcommand-zigate.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],[1,"row"],[1,"col-sm-6"],["type","text","formControlName","Command",1,"w-100","form-control",3,"placeholder"],["translate","tools.rawcommand-zigate.error",4,"ngIf"],[1,"row","mt-2"],["type","text","formControlName","payload",1,"w-100","form-control",3,"placeholder"],[1,"card-footer","d-flex","justify-content-end"],["translate","tools.rawcommand-zigate.button.send",1,"btn","btn-primary",3,"click","disabled"],["translate","tools.rawcommand-zigate.error"]],template:function(o,n){1&o&&(e.j41(0,"form",0),e.EFF(1,"\n "),e.j41(2,"div",1),e.EFF(3,"\n "),e.nrm(4,"div",2),e.EFF(5,"\n "),e.j41(6,"div",3),e.EFF(7,"\n "),e.nrm(8,"p",4),e.nI1(9,"translate"),e.EFF(10,"\n "),e.j41(11,"div",5),e.EFF(12,"\n "),e.j41(13,"div",6),e.EFF(14,"\n "),e.j41(15,"div",7),e.EFF(16,"\n "),e.j41(17,"div"),e.EFF(18,"\n "),e.nrm(19,"input",8),e.nI1(20,"translate"),e.EFF(21,"\n "),e.DNE(22,rt,1,0,"div",9),e.EFF(23,"\n "),e.k0s(),e.EFF(24,"\n "),e.k0s(),e.EFF(25,"\n "),e.k0s(),e.EFF(26,"\n "),e.j41(27,"div",10),e.EFF(28,"\n "),e.j41(29,"div",7),e.EFF(30,"\n "),e.j41(31,"div"),e.EFF(32,"\n "),e.nrm(33,"input",11),e.nI1(34,"translate"),e.EFF(35,"\n "),e.DNE(36,st,1,0,"div",9),e.EFF(37,"\n "),e.k0s(),e.EFF(38,"\n "),e.k0s(),e.EFF(39,"\n "),e.k0s(),e.EFF(40,"\n "),e.k0s(),e.EFF(41,"\n "),e.k0s(),e.EFF(42,"\n "),e.j41(43,"div",12),e.EFF(44,"\n "),e.j41(45,"button",13),e.bIt("click",function(){return n.putCommand()}),e.k0s(),e.EFF(46,"\n "),e.k0s(),e.EFF(47,"\n "),e.k0s(),e.EFF(48,"\n"),e.k0s(),e.EFF(49,"\n")),2&o&&(e.Y8G("formGroup",n.form),e.R7$(8),e.Y8G("innerHTML",e.bMT(9,7,"tools.rawcommand-zigate.subtitle"),e.npT),e.R7$(11),e.FS9("placeholder",e.bMT(20,9,"tools.rawcommand-zigate.command")),e.R7$(3),e.Y8G("ngIf",n.form.controls.Command.dirty&&!n.form.controls.Command.valid),e.R7$(11),e.FS9("placeholder",e.bMT(34,11,"tools.rawcommand-zigate.payload")),e.R7$(3),e.Y8G("ngIf",n.form.controls.payload.dirty&&!n.form.controls.payload.valid),e.R7$(9),e.Y8G("disabled",!n.form.valid))},dependencies:[h.bT,c.qT,c.me,c.BC,c.cb,c.j4,c.JD,v.Mm,v.D9]})}return i})();function at(i,l){if(1&i&&(e.EFF(0,"\n "),e.j41(1,"span"),e.EFF(2," "),e.j41(3,"b"),e.EFF(4,"Name"),e.k0s(),e.EFF(5),e.j41(6,"b"),e.EFF(7,"NwkId"),e.k0s(),e.EFF(8),e.k0s(),e.EFF(9,"\n ")),2&i){const t=l.item;e.R7$(5),e.SpI(" : ",t.ZDeviceName," - "),e.R7$(3),e.SpI(" : ",t._NwkId," ")}}let ct=(()=>{class i{toastr;apiService;formBuilder;translate;devices$;form;constructor(t,o,n,r){this.toastr=t,this.apiService=o,this.formBuilder=n,this.translate=r}selectedCar;TrueFalse=[{id:!1,name:"False"},{id:!0,name:"True"}];ngOnInit(){this.form=this.formBuilder.group({ProfileId:["0104",c.k0.required],ClusterId:["0000",c.k0.required],TargetAddr:[null,c.k0.required],TargetEp:["01",c.k0.required],SourceEp:["01",c.k0.required],Sqn:["55",c.k0.required],Payload:[null,c.k0.required],GroupAddressFlag:[!1,c.k0.required],AckMode:[!1,c.k0.required]}),this.devices$=this.apiService.getZDeviceName()}putCommand(){this.apiService.putCommandRawZigpy(this.form.value).subscribe(()=>{this.toastr.success(this.translate.instant("api.global.succes.commandsent.notify"))})}static \u0275fac=function(o){return new(o||i)(e.rXU(P.tw),e.rXU(A.G),e.rXU(c.ok),e.rXU(v.c$))};static \u0275cmp=e.VBU({type:i,selectors:[["app-raw-command-zigpy"]],decls:118,vars:34,consts:[[3,"formGroup"],[1,"card","h-100"],["translate","tools.rawcommand-zigpy.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],[1,"row"],[1,"col-sm-6"],["bindLabel","ZDeviceName","bindValue","_NwkId","formControlName","TargetAddr",3,"items","multiple","closeOnSelect","searchable","placeholder"],["ng-option-tmp",""],[1,"row","mt-2"],["translate","tools.rawcommand-zigpy.groupaddressflag",1,"col-sm-3","col-form-label"],["bindLabel","name","bindValue","id","formControlName","GroupAddressFlag",3,"items"],["translate","tools.rawcommand-zigpy.ackmode",1,"col-sm-3","col-form-label"],["bindLabel","name","bindValue","id","formControlName","AckMode",3,"items"],["translate","tools.rawcommand-zigpy.profileid",1,"col-sm-3","col-form-label"],[1,"col-sm-2"],["type","text","formControlName","ProfileId",1,"w-100","form-control",3,"placeholder"],["translate","tools.rawcommand-zigpy.clusterid",1,"col-sm-3","col-form-label"],["type","text","formControlName","ClusterId",1,"w-100","form-control",3,"placeholder"],["translate","tools.rawcommand-zigpy.sourceep",1,"col-sm-3","col-form-label"],["type","text","formControlName","SourceEp",1,"w-100","form-control",3,"placeholder"],["translate","tools.rawcommand-zigpy.targetep",1,"col-sm-3","col-form-label"],["type","text","formControlName","TargetEp",1,"w-100","form-control",3,"placeholder"],["translate","tools.rawcommand-zigpy.sqn",1,"col-sm-3","col-form-label"],["type","text","formControlName","Sqn",1,"w-100","form-control",3,"placeholder"],[1,"col-sm"],["type","text","formControlName","Payload",1,"w-100","form-control",3,"placeholder"],[1,"card-footer","d-flex","justify-content-end"],["translate","tools.rawcommand-zigpy.button.send",1,"btn","btn-primary",3,"click","disabled"]],template:function(o,n){1&o&&(e.j41(0,"form",0),e.EFF(1,"\n "),e.j41(2,"div",1),e.EFF(3,"\n "),e.nrm(4,"div",2),e.EFF(5,"\n "),e.j41(6,"div",3),e.EFF(7,"\n "),e.nrm(8,"p",4),e.nI1(9,"translate"),e.EFF(10,"\n "),e.j41(11,"div",5),e.EFF(12,"\n "),e.j41(13,"div",6),e.EFF(14,"\n "),e.j41(15,"div",7),e.EFF(16,"\n "),e.j41(17,"ng-select",8),e.nI1(18,"translate"),e.nI1(19,"async"),e.EFF(20,"\n "),e.DNE(21,at,10,2,"ng-template",9),e.EFF(22,"\n "),e.k0s(),e.EFF(23,"\n "),e.k0s(),e.EFF(24,"\n "),e.k0s(),e.EFF(25,"\n "),e.j41(26,"div",10),e.EFF(27,"\n "),e.nrm(28,"label",11),e.EFF(29,"\n "),e.j41(30,"div",7),e.EFF(31,"\n "),e.j41(32,"ng-select",12),e.EFF(33,"\n "),e.k0s(),e.EFF(34,"\n "),e.k0s(),e.EFF(35,"\n "),e.k0s(),e.EFF(36,"\n "),e.j41(37,"div",10),e.EFF(38,"\n "),e.nrm(39,"label",13),e.EFF(40,"\n "),e.j41(41,"div",7),e.EFF(42,"\n "),e.j41(43,"ng-select",14),e.EFF(44," "),e.k0s(),e.EFF(45,"\n "),e.k0s(),e.EFF(46,"\n "),e.k0s(),e.EFF(47,"\n "),e.j41(48,"div",10),e.EFF(49,"\n "),e.nrm(50,"label",15),e.EFF(51,"\n "),e.j41(52,"div",16),e.EFF(53,"\n "),e.nrm(54,"input",17),e.nI1(55,"translate"),e.EFF(56,"\n "),e.k0s(),e.EFF(57,"\n "),e.nrm(58,"label",18),e.EFF(59,"\n "),e.j41(60,"div",16),e.EFF(61,"\n "),e.nrm(62,"input",19),e.nI1(63,"translate"),e.EFF(64,"\n "),e.k0s(),e.EFF(65,"\n "),e.k0s(),e.EFF(66,"\n "),e.j41(67,"div",10),e.EFF(68,"\n "),e.nrm(69,"label",20),e.EFF(70,"\n "),e.j41(71,"div",16),e.EFF(72,"\n "),e.nrm(73,"input",21),e.nI1(74,"translate"),e.EFF(75,"\n "),e.k0s(),e.EFF(76,"\n "),e.nrm(77,"label",22),e.EFF(78,"\n "),e.j41(79,"div",16),e.EFF(80,"\n "),e.nrm(81,"input",23),e.nI1(82,"translate"),e.EFF(83,"\n "),e.k0s(),e.EFF(84,"\n "),e.k0s(),e.EFF(85,"\n "),e.j41(86,"div",10),e.EFF(87,"\n "),e.nrm(88,"label",24),e.EFF(89,"\n "),e.j41(90,"div",16),e.EFF(91,"\n "),e.j41(92,"div"),e.EFF(93,"\n "),e.nrm(94,"input",25),e.nI1(95,"translate"),e.EFF(96,"\n "),e.k0s(),e.EFF(97,"\n "),e.k0s(),e.EFF(98,"\n "),e.k0s(),e.EFF(99,"\n "),e.j41(100,"div",10),e.EFF(101,"\n "),e.j41(102,"div",26),e.EFF(103,"\n "),e.nrm(104,"input",27),e.nI1(105,"translate"),e.EFF(106,"\n "),e.k0s(),e.EFF(107,"\n "),e.k0s(),e.EFF(108,"\n "),e.k0s(),e.EFF(109,"\n "),e.k0s(),e.EFF(110,"\n "),e.j41(111,"div",28),e.EFF(112,"\n "),e.j41(113,"button",29),e.bIt("click",function(){return n.putCommand()}),e.k0s(),e.EFF(114,"\n "),e.k0s(),e.EFF(115,"\n "),e.k0s(),e.EFF(116,"\n"),e.k0s(),e.EFF(117,"\n")),2&o&&(e.Y8G("formGroup",n.form),e.R7$(8),e.Y8G("innerHTML",e.bMT(9,16,"tools.rawcommand-zigpy.subtitle"),e.npT),e.R7$(9),e.FS9("placeholder",e.bMT(18,18,"tools.rawcommand-zigpy.placeholder")),e.Y8G("items",e.bMT(19,20,n.devices$))("multiple",!1)("closeOnSelect",!0)("searchable",!0),e.R7$(15),e.Y8G("items",n.TrueFalse),e.R7$(11),e.Y8G("items",n.TrueFalse),e.R7$(11),e.FS9("placeholder",e.bMT(55,22,"tools.rawcommand-zigpy.profileid")),e.R7$(8),e.FS9("placeholder",e.bMT(63,24,"tools.rawcommand-zigpy.clusterid")),e.R7$(11),e.FS9("placeholder",e.bMT(74,26,"tools.rawcommand-zigpy.sourceep")),e.R7$(8),e.FS9("placeholder",e.bMT(82,28,"tools.rawcommand-zigpy.targetep")),e.R7$(13),e.FS9("placeholder",e.bMT(95,30,"tools.rawcommand-zigpy.sqn")),e.R7$(10),e.FS9("placeholder",e.bMT(105,32,"tools.rawcommand-zigpy.payload")),e.R7$(9),e.Y8G("disabled",!n.form.valid))},dependencies:[c.qT,c.me,c.BC,c.cb,c.j4,c.JD,I.vr,I.Uq,v.Mm,h.Jj,v.D9]})}return i})();function pt(i,l){1&i&&e.nrm(0,"app-raw-command")}function dt(i,l){1&i&&e.nrm(0,"app-raw-command-zigpy")}let ut=(()=>{class i{plugin;ngOnInit(){setTimeout(()=>{this.plugin=JSON.parse(sessionStorage.getItem("plugin"))},500)}static \u0275fac=function(o){return new(o||i)};static \u0275cmp=e.VBU({type:i,selectors:[["app-command"]],decls:9,vars:2,consts:[[1,"row","row-cols-1","row-cols-xxl-3","row-cols-lg-2","row-cols-md-1","row-cols-sm-1","g-4"],[4,"ngIf"]],template:function(o,n){1&o&&(e.j41(0,"div",0),e.EFF(1,"\n "),e.nrm(2,"app-debug-command"),e.EFF(3,"\n "),e.DNE(4,pt,1,0,"app-raw-command",1),e.EFF(5,"\n "),e.DNE(6,dt,1,0,"app-raw-command-zigpy",1),e.EFF(7,"\n"),e.k0s(),e.EFF(8,"\n")),2&o&&(e.R7$(4),e.Y8G("ngIf",!(null!=n.plugin&&n.plugin.Zigpy)),e.R7$(2),e.Y8G("ngIf",null==n.plugin?null:n.plugin.Zigpy))},dependencies:[h.bT,it,lt,ct]})}return i})();var gt=m(88652),ae=m(38852);function mt(i,l){if(1&i&&(e.j41(0,"div",3),e.EFF(1,"\n "),e.nrm(2,"label",4),e.EFF(3,"\n "),e.nrm(4,"input",5),e.EFF(5,"\n "),e.k0s()),2&i){const t=e.XpG();e.R7$(2),e.FS9("translate",t.setting.Name)}}function ht(i,l){if(1&i&&(e.j41(0,"div",3),e.EFF(1,"\n "),e.nrm(2,"label",4),e.EFF(3,"\n "),e.nrm(4,"input",6),e.EFF(5,"\n "),e.k0s()),2&i){const t=e.XpG();e.R7$(2),e.FS9("translate",t.setting.Name)}}function ft(i,l){if(1&i&&(e.j41(0,"div",3),e.EFF(1,"\n "),e.nrm(2,"label",4),e.EFF(3,"\n "),e.nrm(4,"input",7),e.EFF(5,"\n "),e.k0s()),2&i){const t=e.XpG();e.R7$(2),e.FS9("translate",t.setting.Name)}}function vt(i,l){if(1&i&&(e.j41(0,"div",3),e.EFF(1,"\n "),e.nrm(2,"label",4),e.EFF(3,"\n "),e.nrm(4,"input",5),e.EFF(5,"\n "),e.k0s()),2&i){const t=e.XpG();e.R7$(2),e.FS9("translate",t.setting.Name)}}function Ct(i,l){if(1&i&&(e.j41(0,"div",8),e.EFF(1,"\n "),e.nrm(2,"input",9),e.EFF(3,"\n "),e.nrm(4,"label",10),e.EFF(5,"\n "),e.k0s()),2&i){const t=e.XpG();e.R7$(2),e.FS9("id",t.setting.Name),e.R7$(2),e.FS9("for",t.setting.Name),e.FS9("translate",t.setting.Name)}}let Ft=(()=>{class i{formBuilder;fgd;setting;advanced;constructor(t,o){this.formBuilder=t,this.fgd=o}ngOnInit(){let t;t=this.formBuilder.group("hex"===this.setting.DataType?{current:["",c.k0.compose([c.k0.required,c.k0.pattern("^[0-9A-Fa-f]+")])]}:"bool"===this.setting.DataType?{current:[]}:{current:["",c.k0.required]}),this.fgd.form.addControl(this.setting.Name,t);const o=""!==this.setting.current_value?this.setting.current_value:this.setting.default_value;this.fgd.form.get(this.setting.Name).get("current").patchValue(o)}static \u0275fac=function(o){return new(o||i)(e.rXU(c.ok),e.rXU(c.j4))};static \u0275cmp=e.VBU({type:i,selectors:[["app-debug-setting"]],inputs:{setting:"setting",advanced:"advanced"},features:[e.Jv_([],[{provide:c.ZU,useExisting:c.j4}])],decls:13,vars:6,consts:[[3,"formGroupName"],["class","d-flex flex-row align-items-center flex-wrap mt-2",4,"ngIf"],["class","form-check form-check-inline mt-2",4,"ngIf"],[1,"d-flex","flex-row","align-items-center","flex-wrap","mt-2"],["for","current",1,"me-2",3,"translate"],["type","text","formControlName","current",1,"w-25","form-control"],["type","text","formControlName","current",1,"w-100","form-control"],["type","number","formControlName","current",1,"form-control","w-25"],[1,"form-check","form-check-inline","mt-2"],["formControlName","current","type","checkbox",1,"form-check-input",3,"id"],[1,"form-check-label",3,"for","translate"]],template:function(o,n){1&o&&(e.qex(0,0),e.EFF(1,"\n "),e.DNE(2,mt,6,1,"div",1),e.EFF(3,"\n "),e.DNE(4,ht,6,1,"div",1),e.EFF(5,"\n "),e.DNE(6,ft,6,1,"div",1),e.EFF(7,"\n "),e.DNE(8,vt,6,1,"div",1),e.EFF(9,"\n "),e.DNE(10,Ct,6,3,"div",2),e.EFF(11,"\n"),e.bVm(),e.EFF(12,"\n")),2&o&&(e.Y8G("formGroupName",n.setting.Name),e.R7$(2),e.Y8G("ngIf","str"===n.setting.DataType),e.R7$(2),e.Y8G("ngIf","path"===n.setting.DataType),e.R7$(2),e.Y8G("ngIf","int"===n.setting.DataType),e.R7$(2),e.Y8G("ngIf","hex"===n.setting.DataType),e.R7$(2),e.Y8G("ngIf","bool"===n.setting.DataType))},dependencies:[h.bT,c.me,c.Q0,c.Zm,c.BC,c.cb,c.JD,c.$R,v.Mm],styles:["was-validated[_ngcontent-%COMP%] .custom-control-input[_ngcontent-%COMP%]:valid ~ .custom-control-label[_ngcontent-%COMP%], .custom-control-input.is-valid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%]{color:#000}"]})}return i})();const $=["contentRestart"];function _t(i,l){if(1&i&&e.nrm(0,"app-debug-setting",29),2&i){const t=e.XpG().$implicit,o=e.XpG(4);e.Y8G("setting",t)("advanced",o.advanced)}}function bt(i,l){if(1&i&&(e.qex(0),e.EFF(1,"\n "),e.DNE(2,_t,1,2,"app-debug-setting",28),e.EFF(3,"\n "),e.bVm()),2&i){const t=l.$implicit;e.R7$(2),e.Y8G("ngIf",!t.Advanced&&"bool"===t.DataType)}}function kt(i,l){if(1&i&&e.nrm(0,"app-debug-setting",29),2&i){const t=e.XpG().$implicit,o=e.XpG(4);e.Y8G("setting",t)("advanced",o.advanced)}}function Et(i,l){if(1&i&&(e.qex(0),e.EFF(1,"\n "),e.DNE(2,kt,1,2,"app-debug-setting",28),e.EFF(3,"\n "),e.bVm()),2&i){const t=l.$implicit;e.R7$(2),e.Y8G("ngIf",!t.Advanced&&"bool"!==t.DataType)}}function yt(i,l){if(1&i&&e.nrm(0,"app-debug-setting",29),2&i){const t=e.XpG().$implicit,o=e.XpG(4);e.Y8G("setting",t)("advanced",o.advanced)}}function xt(i,l){if(1&i&&(e.qex(0),e.EFF(1,"\n "),e.DNE(2,yt,1,2,"app-debug-setting",28),e.EFF(3,"\n "),e.bVm()),2&i){const t=l.$implicit,o=e.XpG(4);e.R7$(2),e.Y8G("ngIf",t.Advanced&&t.Advanced===o.advanced)}}function wt(i,l){if(1&i&&(e.j41(0,"div",21),e.EFF(1,"\n "),e.nrm(2,"div",22),e.EFF(3,"\n "),e.j41(4,"div",23),e.EFF(5,"\n "),e.j41(6,"div",24),e.EFF(7,"\n "),e.nrm(8,"p",25),e.EFF(9,"\n "),e.k0s(),e.EFF(10,"\n "),e.j41(11,"div",24),e.EFF(12,"\n "),e.j41(13,"div",26),e.EFF(14,"\n "),e.DNE(15,bt,4,1,"ng-container",19),e.EFF(16,"\n "),e.k0s(),e.EFF(17,"\n "),e.j41(18,"div",27),e.EFF(19,"\n "),e.DNE(20,Et,4,1,"ng-container",19),e.EFF(21,"\n "),e.k0s(),e.EFF(22,"\n "),e.j41(23,"div",27),e.EFF(24,"\n "),e.DNE(25,xt,4,1,"ng-container",19),e.EFF(26,"\n "),e.k0s(),e.EFF(27,"\n "),e.k0s(),e.EFF(28,"\n "),e.k0s(),e.EFF(29,"\n "),e.k0s()),2&i){const t=e.XpG().$implicit,o=e.XpG(2);e.R7$(2),e.Y8G("innerHTML",o.getTranslation("setting.header.",t._Theme),e.npT),e.R7$(6),e.Y8G("innerHTML",o.getTranslation("setting.subtitle.",t._Theme),e.npT),e.R7$(7),e.Y8G("ngForOf",t.ListOfSettings),e.R7$(5),e.Y8G("ngForOf",t.ListOfSettings),e.R7$(5),e.Y8G("ngForOf",t.ListOfSettings)}}function jt(i,l){if(1&i&&(e.j41(0,"div"),e.EFF(1,"\n "),e.DNE(2,wt,30,5,"div",20),e.EFF(3,"\n "),e.k0s()),2&i){const t=l.$implicit,o=e.XpG(2);e.R7$(2),e.Y8G("ngIf",o.hasBasicSettings(t.ListOfSettings))}}function At(i,l){if(1&i){const t=e.RV6();e.j41(0,"form",4),e.EFF(1,"\n "),e.j41(2,"fieldset",5),e.EFF(3,"\n "),e.j41(4,"legend"),e.EFF(5,"\n "),e.j41(6,"div",6),e.EFF(7,"\n "),e.nrm(8,"h5",7),e.nI1(9,"translate"),e.EFF(10,"\n "),e.j41(11,"div",8),e.EFF(12,"\n "),e.j41(13,"div",9),e.EFF(14,"\n "),e.j41(15,"div",10),e.EFF(16,"\n "),e.j41(17,"button",11),e.bIt("click",function(){e.eBV(t);const n=e.XpG();return e.Njj(n.updateSettings())}),e.k0s(),e.EFF(18,"\n "),e.k0s(),e.EFF(19,"\n "),e.j41(20,"div",12),e.EFF(21,"\n "),e.j41(22,"button",13),e.bIt("click",function(){e.eBV(t);const n=e.XpG();return e.Njj(n.reinitSettings())}),e.k0s(),e.EFF(23,"\n "),e.k0s(),e.EFF(24,"\n "),e.j41(25,"div",14),e.EFF(26,"\n "),e.j41(27,"input",15),e.bIt("click",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.advancedSettings(n))}),e.k0s(),e.EFF(28,"\n "),e.nrm(29,"label",16),e.EFF(30,"\n "),e.k0s(),e.EFF(31,"\n "),e.k0s(),e.EFF(32,"\n "),e.k0s(),e.EFF(33,"\n "),e.k0s(),e.EFF(34,"\n "),e.k0s(),e.EFF(35,"\n "),e.k0s(),e.EFF(36,"\n "),e.j41(37,"div",17),e.EFF(38,"\n "),e.j41(39,"div",18),e.EFF(40,"\n "),e.DNE(41,jt,4,1,"div",19),e.EFF(42,"\n "),e.k0s(),e.EFF(43,"\n "),e.k0s(),e.EFF(44,"\n"),e.k0s()}if(2&i){const t=e.XpG();e.Y8G("formGroup",t.form),e.R7$(8),e.Y8G("innerHTML",e.bMT(9,5,"tools.debugsetting.help.legend"),e.npT),e.R7$(9),e.Y8G("disabled",!t.form.valid),e.R7$(10),e.Y8G("checked",t.advanced),e.R7$(14),e.Y8G("ngForOf",t.settings)}}function Tt(i,l){if(1&i){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"div",30),e.EFF(2,"\n "),e.nrm(3,"h4",31),e.EFF(4,"\n "),e.j41(5,"button",32),e.bIt("click",function(){const n=e.eBV(t).$implicit;return e.Njj(n.dismiss("Cross click"))}),e.k0s(),e.EFF(6,"\n "),e.k0s(),e.EFF(7,"\n "),e.nrm(8,"div",33),e.EFF(9,"\n "),e.j41(10,"div",34),e.EFF(11,"\n "),e.j41(12,"button",35),e.bIt("click",function(){const n=e.eBV(t).$implicit;return e.Njj(n.dismiss("cancel"))}),e.k0s(),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n")}}function It(i,l){if(1&i){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"div",30),e.EFF(2,"\n "),e.nrm(3,"h4",36),e.EFF(4,"\n "),e.j41(5,"button",32),e.bIt("click",function(){const n=e.eBV(t).$implicit;return e.Njj(n.dismiss("Cross click"))}),e.k0s(),e.EFF(6,"\n "),e.k0s(),e.EFF(7,"\n "),e.nrm(8,"div",37),e.EFF(9,"\n "),e.j41(10,"div",34),e.EFF(11,"\n "),e.j41(12,"button",38),e.bIt("click",function(){const n=e.eBV(t).$implicit;return e.Njj(n.dismiss("cancel"))}),e.k0s(),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n")}}function St(i,l){if(1&i){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"div",30),e.EFF(2,"\n "),e.nrm(3,"h4",39),e.EFF(4,"\n "),e.j41(5,"button",32),e.bIt("click",function(){const n=e.eBV(t).$implicit;return e.Njj(n.dismiss("Cross click"))}),e.k0s(),e.EFF(6,"\n "),e.k0s(),e.EFF(7,"\n "),e.nrm(8,"div",40),e.EFF(9,"\n "),e.j41(10,"div",34),e.EFF(11,"\n "),e.j41(12,"button",41),e.bIt("click",function(){const n=e.eBV(t).$implicit;return e.Njj(n.dismiss("cancel"))}),e.k0s(),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n")}}let Rt=(()=>{class i{modalService;apiService;formBuilder;toastr;headerService;translate;contentRestart;contentReset;contentErase;form;settings;advanced=!1;constructor(t,o,n,r,s,a){this.modalService=t,this.apiService=o,this.formBuilder=n,this.toastr=r,this.headerService=s,this.translate=a}ngOnInit(){this.form=this.formBuilder.group({}),this.apiService.getSettingsDebug().subscribe(t=>{this.settings=t,this.settings[0].ListOfSettings.sort((o,n)=>o.Name.localeCompare(n.Name))})}reinitSettings(){this.settings.forEach(t=>{const o=[];t.ListOfSettings.forEach(n=>{n.current_value=n.default_value,o.push(Object.assign({},n))}),t.ListOfSettings=o}),this.settings=[...this.settings]}advancedSettings(t){this.advanced=!!t.currentTarget.checked}updateSettings(){this.form.invalid?this.form.markAsTouched():(Object.keys(this.form.value).forEach(t=>{!0===this.form.value[t].current?this.form.value[t].current=1:!1===this.form.value[t].current&&(this.form.value[t].current=0)}),this.apiService.putSettingsDebug(this.form.value).subscribe(()=>{this.form.markAsPristine(),this.toastr.success(this.translate.instant("api.global.succes.saved.notify")),this.apiService.getSettingsDebug().subscribe(t=>{this.settings=t,this.settings[0].ListOfSettings.sort((o,n)=>o.Name.localeCompare(n.Name))}),this.apiService.getRestartNeeded().subscribe(t=>{1===t.RestartNeeded?(this.headerService.setRestart(!0),this.open(this.contentRestart)):2===t.RestartNeeded?this.open(this.contentReset):3===t.RestartNeeded&&this.open(this.contentErase)})}))}open(t){this.modalService.open(t,{ariaLabelledBy:"modal-basic-title"}).result.then()}hasBasicSettings(t){return!!this.advanced||t.filter(o=>!1===o.Advanced).length>0}getTranslation(t,o){return this.translate.instant(t.concat(o))}static \u0275fac=function(o){return new(o||i)(e.rXU(gt.Bq),e.rXU(A.G),e.rXU(c.ok),e.rXU(P.tw),e.rXU(ae.d),e.rXU(v.c$))};static \u0275cmp=e.VBU({type:i,selectors:[["app-debug-settings"]],viewQuery:function(o,n){if(1&o&&(e.GBs($,5),e.GBs($,5),e.GBs($,5)),2&o){let r;e.mGM(r=e.lsd())&&(n.contentRestart=r.first),e.mGM(r=e.lsd())&&(n.contentReset=r.first),e.mGM(r=e.lsd())&&(n.contentErase=r.first)}},decls:11,vars:1,consts:[["contentRestart",""],["contentReset",""],["contentErase",""],[3,"formGroup",4,"ngIf"],[3,"formGroup"],[1,"h-100"],[1,"row"],[1,"col-sm-8",3,"innerHTML"],[1,"col-sm-4"],[1,"d-flex","flex-row-reverse","align-items-center"],[1,"p-2"],["translate","tools.debugsetting.validate.button",1,"btn","btn-primary",3,"click","disabled"],[1,"p-2","ms-3"],["translate","tools.debugsetting.reinit.button",1,"btn","btn-secondary",3,"click"],[1,"switch","switch-sm","me-2","pr-2","float-right"],["type","checkbox","id","switch-advanced",1,"switch",3,"click","checked"],["for","switch-advanced","translate","tools.debugsetting.advanced.button",1,"mb-0"],[1,"row","row-cols-1","row-cols-sm-1","g-4"],[1,"col"],[4,"ngFor","ngForOf"],["class","card",4,"ngIf"],[1,"card"],[1,"card-header","fw-bold",3,"innerHTML"],[1,"card-body"],[1,"card-text"],[3,"innerHTML"],[1,"row","row-cols-1","row-cols-xl-6","row-cols-md-3","row-cols-sm-1","align-items-center"],[1,"row","row-cols-1","row-cols-xl-6","row-cols-md-3","row-cols-sm-1","align-items-center","mt-2"],[3,"setting","advanced",4,"ngIf"],[3,"setting","advanced"],[1,"modal-header"],["id","modal-basic-title","translate","setting.reloadplugin.alert.title",1,"modal-title"],["type","button","aria-label","Close",1,"btn-close",3,"click"],["translate","setting.reloadplugin.alert.subject",1,"modal-body"],[1,"modal-footer"],["type","button","translate","setting.reloadplugin.alert.cancel",1,"btn","btn-outline-dark",3,"click"],["id","modal-basic-title","translate","setting.resetplugin.alert.title",1,"modal-title"],["translate","setting.resetplugin.alert.subject",1,"modal-body"],["type","button","translate","setting.resetplugin.alert.cancel",1,"btn","btn-outline-dark",3,"click"],["id","modal-basic-title","translate","setting.eraseplugin.alert.title",1,"modal-title"],["translate","setting.eraseplugin.alert.subject",1,"modal-body"],["type","button","translate","setting.eraseplugin.alert.cancel",1,"btn","btn-outline-dark",3,"click"]],template:function(o,n){1&o&&(e.DNE(0,At,45,7,"form",3),e.EFF(1,"\n\n"),e.DNE(2,Tt,15,0,"ng-template",null,0,e.C5r),e.EFF(4,"\n\n"),e.DNE(5,It,15,0,"ng-template",null,1,e.C5r),e.EFF(7,"\n\n"),e.DNE(8,St,15,0,"ng-template",null,2,e.C5r),e.EFF(10,"\n")),2&o&&e.Y8G("ngIf",n.settings)},dependencies:[h.Sq,h.bT,c.qT,c.cb,c.j4,v.Mm,Ft,v.D9],styles:[".btn-secondary[_ngcontent-%COMP%]{--bs-btn-color: white}"]})}return i})();var ce=m(70980);function pe(i,l){const t=new h.vh("en-US");if("LastSeen"===i)return t.transform(1e3*l,"dd/MM/yyyy HH:mm:ss");if(["TimeStamps","TimeStamp","Stamp","Time","StartTime","BatteryUpdateTime","TargetTime","BatteryPercentage_TimeStamp","BatteryVoltage_TimeStamp","BatteryPercentage_TimeStamp","PairingTime"].indexOf(i)>-1){if(l>0){let n=1e3*l;return n=Number(n.toFixed(0)),t.transform(n,"dd/MM/yyyy HH:mm:ss")}return l}return l}function Bt(i,l){if(1&i){const t=e.RV6();e.j41(0,"div",4),e.EFF(1,"\n "),e.j41(2,"button",5),e.bIt("click",function(){e.eBV(t);const n=e.XpG();return e.Njj(n.export(n.json))}),e.k0s(),e.EFF(3,"\n\n "),e.nrm(4,"ngx-json-viewer",6),e.EFF(5,"\n"),e.k0s()}if(2&i){const t=e.XpG();e.Y8G("hidden",t.isLoading),e.R7$(4),e.Y8G("expanded",!1)("json",t.json)}}let Vt=(()=>{class i{apiService;headerService;fileSaverService;json=null;isLoading=!1;constructor(t,o,n){this.apiService=t,this.headerService=o,this.fileSaverService=n}onClick(t){let o;this.json=null,"log-error-history"===t&&(o=this.apiService.getLogErrorHistory(),this.headerService.setError(!1)),"clear-error-history"===t&&(o=this.apiService.clearLogErrorHistory(),this.headerService.setError(!1)),o&&o.pipe((0,ce.j)(()=>{this.isLoading=!1})).subscribe(n=>{this.callbackservice(n)})}callbackservice(t){const o=JSON.stringify(t);this.json=JSON.parse(o,pe)}export(t){const o="errors.json",n=this.fileSaverService.genType(o),r=new Blob([JSON.stringify(t)],{type:n});this.fileSaverService.save(r,o)}static \u0275fac=function(o){return new(o||i)(e.rXU(A.G),e.rXU(ae.d),e.rXU(re))};static \u0275cmp=e.VBU({type:i,selectors:[["app-error"]],decls:9,vars:1,consts:[[1,"row","d-flex","ms-2","gap-2"],["translate","tools.error.log-history.button",1,"col-xl-2","col-lg-4","col-sm-5","btn","btn-primary",3,"click"],["translate","tools.error.log-history.clear",1,"col-xl-2","col-lg-4","col-sm-5","btn","btn-primary",3,"click"],["class","row ms-2 mt-2",3,"hidden",4,"ngIf"],[1,"row","ms-2","mt-2",3,"hidden"],["translate","tools.tools.export",1,"col-lg-1","mb-2","btn","btn-primary",3,"click"],[3,"expanded","json"]],template:function(o,n){1&o&&(e.j41(0,"div",0),e.EFF(1,"\n "),e.j41(2,"button",1),e.bIt("click",function(){return n.onClick("log-error-history")}),e.k0s(),e.EFF(3,"\n "),e.j41(4,"button",2),e.bIt("click",function(){return n.onClick("clear-error-history")}),e.k0s(),e.EFF(5,"\n"),e.k0s(),e.EFF(6,"\n"),e.DNE(7,Bt,6,3,"div",3),e.EFF(8,"\n")),2&o&&(e.R7$(7),e.Y8G("ngIf",n.json))},dependencies:[h.bT,v.Mm,se]})}return i})();var Pt=m(34402),ee=m(46247),Dt=m(5779),Mt=m(22242);const Gt=()=>[10,25,50];function Nt(i,l){1&i&&(e.EFF(0,"\n "),e.j41(1,"tr"),e.EFF(2,"\n "),e.j41(3,"th",5),e.EFF(4),e.nI1(5,"translate"),e.k0s(),e.EFF(6,"\n "),e.j41(7,"th",6),e.EFF(8),e.nI1(9,"translate"),e.k0s(),e.EFF(10,"\n "),e.j41(11,"th",7),e.EFF(12),e.nI1(13,"translate"),e.k0s(),e.EFF(14,"\n "),e.j41(15,"th",7),e.EFF(16),e.nI1(17,"translate"),e.k0s(),e.EFF(18,"\n "),e.j41(19,"th",7),e.EFF(20),e.nI1(21,"translate"),e.k0s(),e.EFF(22,"\n "),e.j41(23,"th",7),e.EFF(24),e.nI1(25,"translate"),e.k0s(),e.EFF(26,"\n "),e.j41(27,"th",8),e.EFF(28),e.nI1(29,"translate"),e.k0s(),e.EFF(30,"\n "),e.k0s(),e.EFF(31,"\n ")),2&i&&(e.R7$(4),e.JRh(e.bMT(5,7,"tools.reporting.configure.clusterId.column")),e.R7$(4),e.JRh(e.bMT(9,9,"tools.reporting.configure.attributeId.column")),e.R7$(4),e.JRh(e.bMT(13,11,"tools.reporting.configure.dataType.column")),e.R7$(4),e.JRh(e.bMT(17,13,"tools.reporting.configure.timeout.column")),e.R7$(4),e.JRh(e.bMT(21,15,"tools.reporting.configure.minInterval.column")),e.R7$(4),e.JRh(e.bMT(25,17,"tools.reporting.configure.maxInterval.column")),e.R7$(4),e.JRh(e.bMT(29,19,"tools.reporting.configure.change.column")))}function Ot(i,l){if(1&i){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"input",15),e.bIt("change",function(n){e.eBV(t);const r=e.XpG().$implicit,s=e.XpG();return e.Njj(s.updateValue(n,"MinInterval",r))}),e.k0s(),e.EFF(2,"\n ")}if(2&i){const t=e.XpG().$implicit;e.R7$(),e.Y8G("value",t.minInterval)}}function Xt(i,l){if(1&i){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"input",15),e.bIt("change",function(n){e.eBV(t);const r=e.XpG().$implicit,s=e.XpG();return e.Njj(s.updateValue(n,"MinInterval",r))}),e.k0s(),e.EFF(2,"\n ")}if(2&i){const t=e.XpG().$implicit;e.R7$(),e.Y8G("value",t.minInterval)}}function Yt(i,l){if(1&i){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"input",15),e.bIt("change",function(n){e.eBV(t);const r=e.XpG().$implicit,s=e.XpG();return e.Njj(s.updateValue(n,"MaxInterval",r))}),e.k0s(),e.EFF(2,"\n ")}if(2&i){const t=e.XpG().$implicit;e.R7$(),e.Y8G("value",t.maxInterval)}}function qt(i,l){if(1&i){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"input",15),e.bIt("change",function(n){e.eBV(t);const r=e.XpG().$implicit,s=e.XpG();return e.Njj(s.updateValue(n,"MaxInterval",r))}),e.k0s(),e.EFF(2," ")}if(2&i){const t=e.XpG().$implicit;e.R7$(),e.Y8G("value",t.maxInterval)}}function Ht(i,l){if(1&i){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"input",15),e.bIt("change",function(n){e.eBV(t);const r=e.XpG(2).$implicit,s=e.XpG();return e.Njj(s.updateValue(n,"Change",r))}),e.k0s(),e.EFF(2,"\n ")}if(2&i){const t=e.XpG(2).$implicit;e.R7$(),e.Y8G("value",t.change)}}function zt(i,l){if(1&i){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"input",15),e.bIt("change",function(n){e.eBV(t);const r=e.XpG(2).$implicit,s=e.XpG();return e.Njj(s.updateValue(n,"Change",r))}),e.k0s(),e.EFF(2,"\n ")}if(2&i){const t=e.XpG(2).$implicit;e.R7$(),e.Y8G("value",t.change)}}function Ut(i,l){1&i&&(e.qex(0),e.EFF(1,"\n "),e.DNE(2,Ht,3,1,"ng-template",10),e.EFF(3,"\n "),e.DNE(4,zt,3,1,"ng-template",11),e.EFF(5,"\n "),e.bVm())}function Kt(i,l){if(1&i&&e.EFF(0),2&i){const t=e.XpG().$implicit;e.JRh(t.change)}}function Lt(i,l){if(1&i&&(e.EFF(0,"\n "),e.j41(1,"tr"),e.EFF(2,"\n "),e.j41(3,"td"),e.EFF(4),e.k0s(),e.EFF(5,"\n "),e.j41(6,"td"),e.EFF(7),e.k0s(),e.EFF(8,"\n "),e.j41(9,"td"),e.EFF(10),e.k0s(),e.EFF(11,"\n "),e.j41(12,"td"),e.EFF(13),e.k0s(),e.EFF(14,"\n "),e.j41(15,"td",9),e.EFF(16,"\n "),e.j41(17,"p-cellEditor"),e.EFF(18,"\n "),e.DNE(19,Ot,3,1,"ng-template",10),e.EFF(20,"\n "),e.DNE(21,Xt,3,1,"ng-template",11),e.EFF(22,"\n "),e.k0s(),e.EFF(23,"\n "),e.k0s(),e.EFF(24,"\n "),e.j41(25,"td",12),e.EFF(26,"\n "),e.j41(27,"p-cellEditor"),e.EFF(28,"\n "),e.DNE(29,Yt,3,1,"ng-template",10),e.EFF(30,"\n "),e.DNE(31,qt,3,1,"ng-template",11),e.k0s(),e.EFF(32,"\n "),e.k0s(),e.EFF(33,"\n "),e.j41(34,"td",13),e.EFF(35,"\n "),e.j41(36,"p-cellEditor"),e.EFF(37,"\n "),e.DNE(38,Ut,6,0,"ng-container",14),e.EFF(39,"\n "),e.DNE(40,Kt,1,1,"ng-template",null,1,e.C5r),e.k0s(),e.EFF(42,"\n "),e.k0s(),e.EFF(43,"\n "),e.k0s()),2&i){const t=l.$implicit,o=e.sdS(41),n=e.XpG();e.R7$(4),e.JRh(t.clusterId),e.R7$(3),e.JRh(t.attributeId),e.R7$(3),e.JRh(t.dataType),e.R7$(3),e.JRh(t.timeOut),e.R7$(2),e.Y8G("pEditableColumn",t.minInterval),e.R7$(10),e.Y8G("pEditableColumn",t.maxInterval),e.R7$(9),e.Y8G("pEditableColumn",t.change),e.R7$(4),e.Y8G("ngIf",n.isEditable(t))("ngIfElse",o)}}let Wt=(()=>{class i{toastr;apiService;formBuilder;translate;clusters;clustersChange=new e.bkB;clustersToDisplay=[];datatypeConvertor=[{type:"10",longueur:"0",editable:!1},{type:"20",longueur:"0",editable:!0},{type:"21",longueur:"00",editable:!0},{type:"22",longueur:"000",editable:!0},{type:"23",longueur:"0000",editable:!0},{type:"24",longueur:"00000",editable:!0},{type:"25",longueur:"000000",editable:!0},{type:"26",longueur:"0000000",editable:!0},{type:"27",longueur:"00000000",editable:!0},{type:"28",longueur:"0",editable:!0},{type:"29",longueur:"00",editable:!0},{type:"2a",longueur:"000",editable:!0},{type:"2b",longueur:"0000",editable:!0},{type:"2c",longueur:"00000",editable:!0},{type:"2d",longueur:"000000",editable:!0},{type:"2e",longueur:"0000000",editable:!0},{type:"2f",longueur:"00000000",editable:!0},{type:"38",longueur:"00",editable:!0},{type:"39",longueur:"0000",editable:!0},{type:"3a",longueur:"00000000",editable:!0},{type:"e0",longueur:"0000",editable:!0},{type:"e1",longueur:"0000",editable:!0},{type:"e2",longueur:"0000",editable:!0}];constructor(t,o,n,r){this.toastr=t,this.apiService=o,this.formBuilder=n,this.translate=r}ngOnChanges(t){t.clusters.currentValue&&this.formatClusters(t.clusters.currentValue)}formatClusters(t){this.clustersToDisplay=[],t.forEach(o=>{o.Attributes.forEach(n=>{n.Infos.forEach(r=>{const s=new Pt.E0;s.clusterId=o.ClusterId,s.attributeId=n.Attribute,s.change=parseInt(r.Change,16).toString(),s.dataType=r.DataType,s.maxInterval=parseInt(r.MaxInterval,16).toString(),s.minInterval=parseInt(r.MinInterval,16).toString(),s.timeOut=parseInt(r.TimeOut,16).toString(),this.clustersToDisplay.push(s)})})})}updateValue(t,o,n){const r=t.target.value,s=this.clusters.find(a=>a.ClusterId===n.clusterId).Attributes.find(a=>a.Attribute===n.attributeId).Infos[0];if(!this.controlerValue(Number(r),o,s)){if("Change"===o){const a=this.datatypeConvertor.find(d=>d.type===s.DataType);s[o]=(a.longueur+Number(r).toString(16).toUpperCase()).slice(-a.longueur.length)}else s[o]=Number(r).toString(16).toUpperCase();this.formatClusters(this.clusters),this.clustersChange.emit(this.clusters)}}controlerValue(t,o,n){let r=!1;if(isNaN(t))r=!0,this.clustersChange.emit(null),alert(this.translate.instant("reporting.configure.hexa.error"));else if("Change"!==o&&Number(t)>65535)r=!0,this.clustersChange.emit(null),alert(this.translate.instant("reporting.configure.length.error"));else if("Change"===o){const s=this.datatypeConvertor.find(d=>d.type===n.DataType),a=s.longueur.split("0").join("F");Number(t)>parseInt(a,16)&&(r=!0,this.clustersChange.emit(null),alert(this.translate.instant("reporting.configure.length.error"))),"10"===s.type&&Number(t)>1&&(r=!0,this.clustersChange.emit(null),alert(this.translate.instant("reporting.configure.length.error")))}return r}isEditable(t){const o=this.datatypeConvertor.find(n=>n.type===t.dataType);return o&&o.editable}static \u0275fac=function(o){return new(o||i)(e.rXU(P.tw),e.rXU(A.G),e.rXU(c.ok),e.rXU(v.c$))};static \u0275cmp=e.VBU({type:i,selectors:[["app-configure-cluster-reporting"]],inputs:{clusters:"clusters"},outputs:{clustersChange:"clustersChange"},features:[e.OA$],decls:9,vars:11,consts:[["dt1",""],["notEditable",""],["responsiveLayout","scroll","stateStorage","local","stateKey","cluster",3,"rowHover","showCurrentPageReport","currentPageReportTemplate","rowsPerPageOptions","value","rows","paginator","scrollable"],["pTemplate","header"],["pTemplate","body"],[2,"width","15rem"],[2,"width","7rem"],[2,"width","5rem"],[2,"width","3rem"],["pEditableColumnField","minInterval",3,"pEditableColumn"],["pTemplate","input"],["pTemplate","output"],["pEditableColumnField","maxInterval",3,"pEditableColumn"],["pEditableColumnField","change",3,"pEditableColumn"],[4,"ngIf","ngIfElse"],["pInputText","","type","text",3,"change","value"]],template:function(o,n){1&o&&(e.j41(0,"p-table",2,0),e.nI1(2,"translate"),e.EFF(3,"\n "),e.DNE(4,Nt,32,21,"ng-template",3),e.EFF(5,"\n "),e.DNE(6,Lt,44,9,"ng-template",4),e.EFF(7,"\n"),e.k0s(),e.EFF(8,"\n")),2&o&&(e.FS9("currentPageReportTemplate",e.bMT(2,8,"TOTAL")),e.Y8G("rowHover",!0)("showCurrentPageReport",!0)("rowsPerPageOptions",e.lJ4(10,Gt))("value",n.clustersToDisplay)("rows",10)("paginator",!0)("scrollable",!0))},dependencies:[h.bT,ee.XI,Dt.Ei,ee.hp,ee.c5,Mt.S,v.D9]})}return i})();function Zt(i,l){if(1&i&&(e.EFF(0,"\n "),e.j41(1,"span"),e.EFF(2," "),e.j41(3,"b"),e.EFF(4,"Name"),e.k0s(),e.EFF(5),e.j41(6,"b"),e.EFF(7,"NwkId"),e.k0s(),e.EFF(8),e.k0s(),e.EFF(9,"\n ")),2&i){const t=l.item;e.R7$(5),e.SpI(" : ",t.ZDeviceName," - "),e.R7$(3),e.SpI(" : ",t._NwkId,"")}}function Jt(i,l){if(1&i){const t=e.RV6();e.qex(0),e.EFF(1,"\n "),e.j41(2,"app-configure-cluster-reporting",16),e.bIt("clustersChange",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onClustersChange(n))}),e.k0s(),e.EFF(3,"\n "),e.bVm()}if(2&i){const t=l.ngIf;e.R7$(2),e.Y8G("clusters",t)}}let Qt=(()=>{class i{toastr;apiService;translate;devices$;clusters$;deviceSelected;form;clustersToSave;permitToValidate=!1;constructor(t,o,n){this.toastr=t,this.apiService=o,this.translate=n}ngOnInit(){this.devices$=this.apiService.getZDevices()}getConfiguration(t){this.deviceSelected=null,t&&(this.deviceSelected=t._NwkId,this.clusters$=this.apiService.getConfigureReporting(this.deviceSelected))}putConfiguration(){this.apiService.putConfigureReporting(this.deviceSelected,this.clustersToSave).subscribe(()=>{this.permitToValidate=!1,this.toastr.success(this.translate.instant("api.global.succes.saved.notify"))})}resetConfiguration(){this.apiService.deleteConfigureReporting(this.deviceSelected).subscribe(()=>{this.permitToValidate=!1,this.toastr.success(this.translate.instant("api.global.succes.saved.notify"))})}triggerConfiguration(){this.apiService.getTriggerConfigureReporting(this.deviceSelected).subscribe(()=>{this.toastr.success(this.translate.instant("api.global.succes.saved.notify"))})}onClustersChange(t){this.permitToValidate=!1,this.clustersToSave=null,t&&(this.permitToValidate=!0,this.clustersToSave=t)}static \u0275fac=function(o){return new(o||i)(e.rXU(P.tw),e.rXU(A.G),e.rXU(v.c$))};static \u0275cmp=e.VBU({type:i,selectors:[["app-configure-reporting"]],decls:50,vars:30,consts:[[1,"col"],[1,"card"],[1,"card-header","d-flex"],[1,"col","fw-bold","justify-content-start"],[1,"col","d-flex","justify-content-end"],[1,"btn","btn-danger",3,"click","disabled","translate"],[1,"btn","btn-secondary","ms-3",3,"click","disabled","translate"],[1,"btn","btn-primary","ms-3",3,"click","disabled","translate"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],[1,"row"],[1,"col-sm-3","mb-2"],["bindLabel","ZDeviceName","appendTo","body",3,"change","clear","items","multiple","closeOnSelect","searchable","placeholder"],["ng-option-tmp",""],[4,"ngIf"],[3,"clustersChange","clusters"]],template:function(o,n){1&o&&(e.j41(0,"div",0),e.EFF(1,"\n "),e.j41(2,"div",1),e.EFF(3,"\n "),e.j41(4,"div",2),e.EFF(5,"\n "),e.j41(6,"div",3),e.EFF(7),e.nI1(8,"translate"),e.k0s(),e.EFF(9,"\n "),e.j41(10,"div",4),e.EFF(11,"\n "),e.j41(12,"button",5),e.nI1(13,"translate"),e.bIt("click",function(){return n.resetConfiguration()}),e.k0s(),e.EFF(14,"\n "),e.j41(15,"button",6),e.nI1(16,"translate"),e.bIt("click",function(){return n.triggerConfiguration()}),e.k0s(),e.EFF(17,"\n "),e.j41(18,"button",7),e.nI1(19,"translate"),e.bIt("click",function(){return n.putConfiguration()}),e.k0s(),e.EFF(20,"\n "),e.k0s(),e.EFF(21,"\n "),e.k0s(),e.EFF(22,"\n "),e.j41(23,"div",8),e.EFF(24,"\n "),e.nrm(25,"p",9),e.nI1(26,"translate"),e.EFF(27,"\n "),e.j41(28,"div",10),e.EFF(29,"\n "),e.j41(30,"div",11),e.EFF(31,"\n "),e.j41(32,"div",12),e.EFF(33,"\n "),e.j41(34,"ng-select",13),e.nI1(35,"translate"),e.nI1(36,"async"),e.bIt("change",function(s){return n.getConfiguration(s)})("clear",function(){return n.deviceSelected=null,n.permitToValidate=!1}),e.EFF(37,"\n "),e.DNE(38,Zt,10,2,"ng-template",14),e.EFF(39,"\n "),e.k0s(),e.EFF(40,"\n "),e.k0s(),e.EFF(41,"\n "),e.k0s(),e.EFF(42,"\n "),e.DNE(43,Jt,4,1,"ng-container",15),e.nI1(44,"async"),e.EFF(45,"\n "),e.k0s(),e.EFF(46,"\n "),e.k0s(),e.EFF(47,"\n "),e.k0s(),e.EFF(48,"\n"),e.k0s(),e.EFF(49,"\n")),2&o&&(e.R7$(7),e.JRh(e.bMT(8,14,"tools.reporting.configure.title")),e.R7$(5),e.FS9("translate",e.bMT(13,16,"tools.reporting.configure.reset.button")),e.Y8G("disabled",!n.deviceSelected),e.R7$(3),e.FS9("translate",e.bMT(16,18,"tools.reporting.configure.trigger.button")),e.Y8G("disabled",!n.deviceSelected),e.R7$(3),e.FS9("translate",e.bMT(19,20,"tools.reporting.configure.validate.button")),e.Y8G("disabled",!n.permitToValidate),e.R7$(7),e.Y8G("innerHTML",e.bMT(26,22,"tools.reporting.configure.subtitle"),e.npT),e.R7$(9),e.FS9("placeholder",e.bMT(35,24,"tools.reporting.configure.device")),e.Y8G("items",e.bMT(36,26,n.devices$))("multiple",!1)("closeOnSelect",!0)("searchable",!0),e.R7$(9),e.Y8G("ngIf",e.bMT(44,28,n.deviceSelected&&n.clusters$)))},dependencies:[h.bT,I.vr,I.Uq,v.Mm,Wt,h.Jj,v.D9]})}return i})(),$t=(()=>{class i{static \u0275fac=function(o){return new(o||i)};static \u0275cmp=e.VBU({type:i,selectors:[["app-reporting"]],decls:5,vars:0,consts:[[1,"row","row-cols-1","g-4"]],template:function(o,n){1&o&&(e.j41(0,"div",0),e.EFF(1,"\n "),e.nrm(2,"app-configure-reporting"),e.EFF(3,"\n"),e.k0s(),e.EFF(4,"\n"))},dependencies:[Qt]})}return i})();var en=m(27468);function tn(i,l){if(1&i){const t=e.RV6();e.j41(0,"button",15),e.bIt("click",function(){const n=e.eBV(t).ngIf,r=e.XpG();return e.Njj(r.download(n))}),e.k0s()}}function nn(i,l){if(1&i){const t=e.RV6();e.j41(0,"div",16),e.EFF(1,"\n "),e.j41(2,"button",17),e.bIt("click",function(){e.eBV(t);const n=e.XpG();return e.Njj(n.export(n.json))}),e.k0s(),e.EFF(3,"\n\n "),e.nrm(4,"ngx-json-viewer",18),e.EFF(5,"\n"),e.k0s()}if(2&i){const t=e.XpG();e.Y8G("hidden",t.isLoading),e.R7$(4),e.Y8G("expanded",!1)("json",t.json)}}let on=(()=>{class i{apiService;fileSaverService;json=null;isLoading=!1;logFile$;constructor(t,o){this.apiService=t,this.fileSaverService=o}ngOnInit(){this.logFile$=this.apiService.getLog()}onClick(t){let o;this.json=null,"devices"===t&&(o=this.apiService.getDevices()),"zdevices"===t&&(o=this.apiService.getZDevices()),"zgroups"===t&&(o=this.apiService.getZGroups()),"zdevice-raw"===t&&(o=this.apiService.getRawZDevices()),"infos"===t&&(o=this.apiService.getPlugin()),"coordinator"===t&&(o=this.apiService.getCoordinator()),"plugin-health"===t&&(o=this.apiService.getPluginhealth()),"zgroup-list-available-device"===t&&(o=this.apiService.getZGroupDevicesAvalaible()),"settings"===t&&(o=this.apiService.getSettings()),"plugin-stat"===t&&(o=this.apiService.getPluginStats()),"zdevice-name"===t&&(o=this.apiService.getZDeviceName()),"domoticz-env"===t&&(o=this.apiService.getDomoticzEnv()),"battery-state"===t&&(o=this.apiService.getBatteryState()),o&&o.pipe((0,ce.j)(()=>{this.isLoading=!1})).subscribe(n=>{this.callbackservice(n)})}getAllNonOptimizedDevice(){this.json=null,this.apiService.getZDeviceName().subscribe(t=>{const o=t.filter(n=>!n.CertifiedDevice).map(n=>this.getNonOptimizedDevice(n._NwkId));(0,en.p)(o).subscribe(n=>this.callbackservice(n))})}getNonOptimizedDevice(t){return this.apiService.getNonOptimizedDevice(t)}download(t){const o=t.Filename;this.apiService.downloadLog(t.URL).subscribe(n=>{this.fileSaverService.save(n.body,o)})}callbackservice(t){const o=JSON.stringify(t);this.json=JSON.parse(o,pe)}export(t){const o="export.json",n=this.fileSaverService.genType(o),r=new Blob([JSON.stringify(t)],{type:n});this.fileSaverService.save(r,o)}static \u0275fac=function(o){return new(o||i)(e.rXU(A.G),e.rXU(re))};static \u0275cmp=e.VBU({type:i,selectors:[["app-tools"]],decls:32,vars:4,consts:[[1,"row","d-flex","ms-2","gap-2"],["translate","tools.tools.zdevice-raw.button",1,"col-lg-2","col-md-4","col-sm-5","btn","btn-primary",3,"click"],["translate","tools.tools.non-optimized.button",1,"col-lg-2","col-md-4","col-sm-5","btn","btn-primary",3,"click"],["translate","tools.tools.zgroup.button",1,"col-lg-2","col-md-4","col-sm-5","btn","btn-primary",3,"click"],["translate","tools.tools.plugin-stat.button",1,"col-lg-2","col-md-4","col-sm-5","btn","btn-primary",3,"click"],["translate","tools.tools.coordinator.infos.button",1,"col-lg-2","col-md-4","col-sm-5","btn","btn-primary",3,"click"],["class","col-lg-2 col-md-4 col-sm-5 btn btn-primary","translate","tools.tools.log.button",3,"click",4,"ngIf"],["translate","tools.tools.infos.plugin.button",1,"col-lg-2","col-md-4","col-sm-5","btn","btn-primary",3,"click"],["translate","tools.tools.plugin-health.button",1,"col-lg-2","col-md-4","col-sm-5","btn","btn-primary",3,"click"],["translate","tools.tools.settings.button",1,"col-lg-2","col-md-4","col-sm-5","btn","btn-primary",3,"click"],["translate","tools.tools.domoticz-env.button",1,"col-lg-2","col-md-4","col-sm-5","btn","btn-primary",3,"click"],["translate","tools.tools.battery-state.button",1,"col-lg-2","col-md-4","col-sm-5","btn","btn-primary",3,"click"],["translate","tools.tools.zdevice-name.button",1,"col-lg-2","col-md-4","col-sm-5","btn","btn-primary",3,"click"],["translate","tools.tools.zgroup-list-available-device.button",1,"col-lg-2","col-md-4","col-sm-5","btn","btn-primary",3,"click"],["class","row ms-2 mt-2",3,"hidden",4,"ngIf"],["translate","tools.tools.log.button",1,"col-lg-2","col-md-4","col-sm-5","btn","btn-primary",3,"click"],[1,"row","ms-2","mt-2",3,"hidden"],["translate","tools.tools.export",1,"col-lg-1","mb-2","btn","btn-primary",3,"click"],[3,"expanded","json"]],template:function(o,n){1&o&&(e.j41(0,"div",0),e.EFF(1,"\n "),e.j41(2,"button",1),e.bIt("click",function(){return n.onClick("zdevice-raw")}),e.k0s(),e.EFF(3,"\n "),e.j41(4,"button",2),e.bIt("click",function(){return n.getAllNonOptimizedDevice()}),e.k0s(),e.EFF(5,"\n "),e.j41(6,"button",3),e.bIt("click",function(){return n.onClick("zgroups")}),e.k0s(),e.EFF(7,"\n "),e.j41(8,"button",4),e.bIt("click",function(){return n.onClick("plugin-stat")}),e.k0s(),e.EFF(9,"\n "),e.j41(10,"button",5),e.bIt("click",function(){return n.onClick("coordinator")}),e.k0s(),e.EFF(11,"\n "),e.DNE(12,tn,1,0,"button",6),e.nI1(13,"async"),e.EFF(14,"\n "),e.j41(15,"button",7),e.bIt("click",function(){return n.onClick("infos")}),e.k0s(),e.EFF(16,"\n "),e.j41(17,"button",8),e.bIt("click",function(){return n.onClick("plugin-health")}),e.k0s(),e.EFF(18,"\n "),e.j41(19,"button",9),e.bIt("click",function(){return n.onClick("settings")}),e.k0s(),e.EFF(20,"\n "),e.j41(21,"button",10),e.bIt("click",function(){return n.onClick("domoticz-env")}),e.k0s(),e.EFF(22,"\n "),e.j41(23,"button",11),e.bIt("click",function(){return n.onClick("battery-state")}),e.k0s(),e.EFF(24,"\n "),e.j41(25,"button",12),e.bIt("click",function(){return n.onClick("zdevice-name")}),e.k0s(),e.EFF(26,"\n "),e.j41(27,"button",13),e.bIt("click",function(){return n.onClick("zgroup-list-available-device")}),e.k0s(),e.EFF(28,"\n"),e.k0s(),e.EFF(29,"\n"),e.DNE(30,nn,6,3,"div",14),e.EFF(31,"\n")),2&o&&(e.R7$(12),e.Y8G("ngIf",e.bMT(13,2,n.logFile$)),e.R7$(18),e.Y8G("ngIf",n.json))},dependencies:[h.bT,v.Mm,se,h.Jj]})}return i})();const rn=[{path:"command",component:ut,data:{title:(0,V.o6)("command")}},{path:"debug",component:Rt,data:{title:(0,V.o6)("debug")}},{path:"binding",component:We,data:{title:(0,V.o6)("binding")}},{path:"link",component:on,data:{title:(0,V.o6)("tools")}},{path:"error",component:Vt,data:{title:(0,V.o6)("error")}},{path:"configure",component:$t,data:{title:(0,V.o6)("configure")}}];let sn=(()=>{class i{static \u0275fac=function(o){return new(o||i)};static \u0275mod=e.$C({type:i});static \u0275inj=e.G2t({imports:[le.iI.forChild(rn),le.iI]})}return i})(),ln=(()=>{class i{static \u0275fac=function(o){return new(o||i)};static \u0275mod=e.$C({type:i});static \u0275inj=e.G2t({imports:[q.G,sn,qe,De,Ve]})}return i})()},2578:function(W,Y){var m,e;void 0!==(e="function"==typeof(m=function(){"use strict";function S(u,g,x){var f=new XMLHttpRequest;f.open("GET",u),f.responseType="blob",f.onload=function(){M(f.response,g,x)},f.onerror=function(){console.error("could not download file")},f.send()}function H(u){var g=new XMLHttpRequest;g.open("HEAD",u,!1);try{g.send()}catch{}return 200<=g.status&&299>=g.status}function D(u){try{u.dispatchEvent(new MouseEvent("click"))}catch{var g=document.createEvent("MouseEvents");g.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),u.dispatchEvent(g)}}var y="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof global&&global.global===global?global:void 0,z=y.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),M=y.saveAs||("object"!=typeof window||window!==y?function(){}:"download"in HTMLAnchorElement.prototype&&!z?function(u,g,x){var f=y.URL||y.webkitURL,b=document.createElement("a");b.download=g=g||u.name||"download",b.rel="noopener","string"==typeof u?(b.href=u,b.origin===location.origin?D(b):H(b.href)?S(u,g,x):D(b,b.target="_blank")):(b.href=f.createObjectURL(u),setTimeout(function(){f.revokeObjectURL(b.href)},4e4),setTimeout(function(){D(b)},0))}:"msSaveOrOpenBlob"in navigator?function(u,g,x){if(g=g||u.name||"download","string"!=typeof u)navigator.msSaveOrOpenBlob(function h(u,g){return typeof g>"u"?g={autoBom:!1}:"object"!=typeof g&&(console.warn("Deprecated: Expected third argument to be a object"),g={autoBom:!g}),g.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(u.type)?new Blob(["\ufeff",u],{type:u.type}):u}(u,x),g);else if(H(u))S(u,g,x);else{var f=document.createElement("a");f.href=u,f.target="_blank",setTimeout(function(){D(f)})}}:function(u,g,x,f){if((f=f||open("","_blank"))&&(f.document.title=f.document.body.innerText="downloading..."),"string"==typeof u)return S(u,g,x);var b="application/octet-stream"===u.type,Z=/constructor/i.test(y.HTMLElement)||y.safari,U=/CriOS\/[\d]+/.test(navigator.userAgent);if((U||b&&Z||z)&&typeof FileReader<"u"){var G=new FileReader;G.onloadend=function(){var R=G.result;R=U?R:R.replace(/^data:[^;]*;/,"data:attachment/file;"),f?f.location.href=R:location=R,f=null},G.readAsDataURL(u)}else{var K=y.URL||y.webkitURL,N=K.createObjectURL(u);f?f.location=N:location.href=N,f=null,setTimeout(function(){K.revokeObjectURL(N)},4e4)}});y.saveAs=M.saveAs=M,W.exports=M})?m.apply(Y,[]):m)&&(W.exports=e)}}]); \ No newline at end of file +(self.webpackChunkz4d_plugin=self.webpackChunkz4d_plugin||[]).push([[846],{2846:(W,Y,m)=>{"use strict";m.r(Y),m.d(Y,{ToolsModule:()=>ln});var q=m(93887),e=m(54438),h=m(60177);const S=["dialogPopup"],H=["hueSlider"],D=["alphaSlider"];function y(i,l){if(1&i&&e.nrm(0,"div"),2&i){const t=e.XpG();e.ZvI("arrow arrow-",t.cpUsePosition,""),e.xc7("left",t.cpArrowPosition)("top",t.arrowTop,"px")}}function z(i,l){if(1&i){const t=e.RV6();e.j41(0,"div",28),e.bIt("newValue",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onColorChange(n))})("dragStart",function(){e.eBV(t);const n=e.XpG();return e.Njj(n.onDragStart("saturation-lightness"))})("dragEnd",function(){e.eBV(t);const n=e.XpG();return e.Njj(n.onDragEnd("saturation-lightness"))}),e.nrm(1,"div",16),e.k0s()}if(2&i){const t=e.XpG();e.xc7("background-color",t.hueSliderColor),e.Y8G("rgX",1)("rgY",1),e.R7$(),e.xc7("top",null==t.slider?null:t.slider.v,"px")("left",null==t.slider?null:t.slider.s,"px")}}function M(i,l){1&i&&(e.qSk(),e.j41(0,"svg",29),e.nrm(1,"path",30)(2,"path",31),e.k0s())}function u(i,l){if(1&i){const t=e.RV6();e.j41(0,"button",32),e.bIt("click",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onAddPresetColor(n,r.selectedColor))}),e.EFF(1),e.k0s()}if(2&i){const t=e.XpG();e.HbH(t.cpAddColorButtonClass),e.Y8G("disabled",t.cpPresetColors&&t.cpPresetColors.length>=t.cpMaxPresetColorsLength),e.R7$(),e.SpI(" ",t.cpAddColorButtonText," ")}}function g(i,l){1&i&&e.nrm(0,"div",33)}function x(i,l){if(1&i){const t=e.RV6();e.j41(0,"input",39),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG(2);return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG(2);return e.Njj(r.onAlphaInput(n))}),e.k0s()}if(2&i){const t=e.XpG(2);e.Y8G("rg",1)("value",null==t.cmykText?null:t.cmykText.a)}}function f(i,l){1&i&&(e.j41(0,"div"),e.EFF(1,"A"),e.k0s())}function b(i,l){if(1&i){const t=e.RV6();e.j41(0,"div",34)(1,"div",35)(2,"input",36),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onCyanInput(n))}),e.k0s(),e.j41(3,"input",36),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onMagentaInput(n))}),e.k0s(),e.j41(4,"input",36),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onYellowInput(n))}),e.k0s(),e.j41(5,"input",36),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onBlackInput(n))}),e.k0s(),e.DNE(6,x,1,2,"input",37),e.k0s(),e.j41(7,"div",35)(8,"div"),e.EFF(9,"C"),e.k0s(),e.j41(10,"div"),e.EFF(11,"M"),e.k0s(),e.j41(12,"div"),e.EFF(13,"Y"),e.k0s(),e.j41(14,"div"),e.EFF(15,"K"),e.k0s(),e.DNE(16,f,2,0,"div",38),e.k0s()()}if(2&i){const t=e.XpG();e.xc7("display",3!==t.format?"none":"block"),e.R7$(2),e.Y8G("rg",100)("value",null==t.cmykText?null:t.cmykText.c),e.R7$(),e.Y8G("rg",100)("value",null==t.cmykText?null:t.cmykText.m),e.R7$(),e.Y8G("rg",100)("value",null==t.cmykText?null:t.cmykText.y),e.R7$(),e.Y8G("rg",100)("value",null==t.cmykText?null:t.cmykText.k),e.R7$(),e.Y8G("ngIf","disabled"!==t.cpAlphaChannel),e.R7$(10),e.Y8G("ngIf","disabled"!==t.cpAlphaChannel)}}function Z(i,l){if(1&i){const t=e.RV6();e.j41(0,"input",39),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG(2);return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG(2);return e.Njj(r.onAlphaInput(n))}),e.k0s()}if(2&i){const t=e.XpG(2);e.Y8G("rg",1)("value",null==t.hslaText?null:t.hslaText.a)}}function U(i,l){1&i&&(e.j41(0,"div"),e.EFF(1,"A"),e.k0s())}function G(i,l){if(1&i){const t=e.RV6();e.j41(0,"div",40)(1,"div",35)(2,"input",41),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onHueInput(n))}),e.k0s(),e.j41(3,"input",36),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onSaturationInput(n))}),e.k0s(),e.j41(4,"input",36),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onLightnessInput(n))}),e.k0s(),e.DNE(5,Z,1,2,"input",37),e.k0s(),e.j41(6,"div",35)(7,"div"),e.EFF(8,"H"),e.k0s(),e.j41(9,"div"),e.EFF(10,"S"),e.k0s(),e.j41(11,"div"),e.EFF(12,"L"),e.k0s(),e.DNE(13,U,2,0,"div",38),e.k0s()()}if(2&i){const t=e.XpG();e.xc7("display",2!==t.format?"none":"block"),e.R7$(2),e.Y8G("rg",360)("value",null==t.hslaText?null:t.hslaText.h),e.R7$(),e.Y8G("rg",100)("value",null==t.hslaText?null:t.hslaText.s),e.R7$(),e.Y8G("rg",100)("value",null==t.hslaText?null:t.hslaText.l),e.R7$(),e.Y8G("ngIf","disabled"!==t.cpAlphaChannel),e.R7$(8),e.Y8G("ngIf","disabled"!==t.cpAlphaChannel)}}function K(i,l){if(1&i){const t=e.RV6();e.j41(0,"input",39),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG(2);return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG(2);return e.Njj(r.onAlphaInput(n))}),e.k0s()}if(2&i){const t=e.XpG(2);e.Y8G("rg",1)("value",null==t.rgbaText?null:t.rgbaText.a)}}function N(i,l){1&i&&(e.j41(0,"div"),e.EFF(1,"A"),e.k0s())}function R(i,l){if(1&i){const t=e.RV6();e.j41(0,"div",42)(1,"div",35)(2,"input",43),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onRedInput(n))}),e.k0s(),e.j41(3,"input",43),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onGreenInput(n))}),e.k0s(),e.j41(4,"input",43),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onBlueInput(n))}),e.k0s(),e.DNE(5,K,1,2,"input",37),e.k0s(),e.j41(6,"div",35)(7,"div"),e.EFF(8,"R"),e.k0s(),e.j41(9,"div"),e.EFF(10,"G"),e.k0s(),e.j41(11,"div"),e.EFF(12,"B"),e.k0s(),e.DNE(13,N,2,0,"div",38),e.k0s()()}if(2&i){const t=e.XpG();e.xc7("display",1!==t.format?"none":"block"),e.R7$(2),e.Y8G("rg",255)("value",null==t.rgbaText?null:t.rgbaText.r),e.R7$(),e.Y8G("rg",255)("value",null==t.rgbaText?null:t.rgbaText.g),e.R7$(),e.Y8G("rg",255)("value",null==t.rgbaText?null:t.rgbaText.b),e.R7$(),e.Y8G("ngIf","disabled"!==t.cpAlphaChannel),e.R7$(8),e.Y8G("ngIf","disabled"!==t.cpAlphaChannel)}}function de(i,l){if(1&i){const t=e.RV6();e.j41(0,"input",39),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG(2);return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG(2);return e.Njj(r.onAlphaInput(n))}),e.k0s()}if(2&i){const t=e.XpG(2);e.Y8G("rg",1)("value",t.hexAlpha)}}function ue(i,l){1&i&&(e.j41(0,"div"),e.EFF(1,"A"),e.k0s())}function ge(i,l){if(1&i){const t=e.RV6();e.j41(0,"div",44)(1,"div",35)(2,"input",45),e.bIt("blur",function(){e.eBV(t);const n=e.XpG();return e.Njj(n.onHexInput(null))})("keyup.enter",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onHexInput(n))}),e.k0s(),e.DNE(3,de,1,2,"input",37),e.k0s(),e.j41(4,"div",35)(5,"div"),e.EFF(6,"Hex"),e.k0s(),e.DNE(7,ue,2,0,"div",38),e.k0s()()}if(2&i){const t=e.XpG();e.xc7("display",0!==t.format?"none":"block"),e.AVh("hex-alpha","forced"===t.cpAlphaChannel),e.R7$(2),e.Y8G("value",t.hexText),e.R7$(),e.Y8G("ngIf","forced"===t.cpAlphaChannel),e.R7$(4),e.Y8G("ngIf","forced"===t.cpAlphaChannel)}}function me(i,l){if(1&i){const t=e.RV6();e.j41(0,"input",39),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG(2);return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG(2);return e.Njj(r.onAlphaInput(n))}),e.k0s()}if(2&i){const t=e.XpG(2);e.Y8G("rg",1)("value",null==t.hslaText?null:t.hslaText.a)}}function he(i,l){if(1&i){const t=e.RV6();e.j41(0,"div",46)(1,"div",35)(2,"input",36),e.bIt("keyup.enter",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onAcceptColor(n))})("newValue",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onValueInput(n))}),e.k0s(),e.DNE(3,me,1,2,"input",37),e.k0s(),e.j41(4,"div",35)(5,"div"),e.EFF(6,"V"),e.k0s(),e.j41(7,"div"),e.EFF(8,"A"),e.k0s()()()}if(2&i){const t=e.XpG();e.R7$(2),e.Y8G("rg",100)("value",null==t.hslaText?null:t.hslaText.l),e.R7$(),e.Y8G("ngIf","disabled"!==t.cpAlphaChannel)}}function fe(i,l){if(1&i){const t=e.RV6();e.j41(0,"div",47)(1,"span",48),e.bIt("click",function(){e.eBV(t);const n=e.XpG();return e.Njj(n.onFormatToggle(-1))}),e.k0s(),e.j41(2,"span",48),e.bIt("click",function(){e.eBV(t);const n=e.XpG();return e.Njj(n.onFormatToggle(1))}),e.k0s()()}}function ve(i,l){if(1&i){const t=e.RV6();e.j41(0,"span",55),e.bIt("click",function(n){e.eBV(t);const r=e.XpG().$implicit,s=e.XpG(3);return e.Njj(s.onRemovePresetColor(n,r))}),e.k0s()}if(2&i){const t=e.XpG(4);e.HbH(t.cpRemoveColorButtonClass)}}function Ce(i,l){if(1&i){const t=e.RV6();e.j41(0,"div",53),e.bIt("click",function(){const n=e.eBV(t).$implicit,r=e.XpG(3);return e.Njj(r.setColorFromString(n))}),e.DNE(1,ve,1,3,"span",54),e.k0s()}if(2&i){const t=l.$implicit,o=e.XpG(3);e.xc7("background-color",t),e.R7$(),e.Y8G("ngIf",o.cpAddColorButton)}}function Fe(i,l){if(1&i&&(e.j41(0,"div"),e.DNE(1,Ce,2,3,"div",52),e.k0s()),2&i){const t=e.XpG(2);e.HbH(t.cpPresetColorsClass),e.R7$(),e.Y8G("ngForOf",t.cpPresetColors)}}function _e(i,l){if(1&i&&(e.j41(0,"div"),e.EFF(1),e.k0s()),2&i){const t=e.XpG(2);e.HbH(t.cpPresetEmptyMessageClass),e.R7$(),e.JRh(t.cpPresetEmptyMessage)}}function be(i,l){if(1&i&&(e.j41(0,"div",49),e.nrm(1,"hr"),e.j41(2,"div",50),e.EFF(3),e.k0s(),e.DNE(4,Fe,2,4,"div",51)(5,_e,2,4,"div",51),e.k0s()),2&i){const t=e.XpG();e.R7$(3),e.JRh(t.cpPresetLabel),e.R7$(),e.Y8G("ngIf",null==t.cpPresetColors?null:t.cpPresetColors.length),e.R7$(),e.Y8G("ngIf",!(null!=t.cpPresetColors&&t.cpPresetColors.length)&&t.cpAddColorButton)}}function ke(i,l){if(1&i){const t=e.RV6();e.j41(0,"button",58),e.bIt("click",function(n){e.eBV(t);const r=e.XpG(2);return e.Njj(r.onCancelColor(n))}),e.EFF(1),e.k0s()}if(2&i){const t=e.XpG(2);e.HbH(t.cpCancelButtonClass),e.R7$(),e.JRh(t.cpCancelButtonText)}}function Ee(i,l){if(1&i){const t=e.RV6();e.j41(0,"button",58),e.bIt("click",function(n){e.eBV(t);const r=e.XpG(2);return e.Njj(r.onAcceptColor(n))}),e.EFF(1),e.k0s()}if(2&i){const t=e.XpG(2);e.HbH(t.cpOKButtonClass),e.R7$(),e.JRh(t.cpOKButtonText)}}function ye(i,l){if(1&i&&(e.j41(0,"div",56),e.DNE(1,ke,2,4,"button",57)(2,Ee,2,4,"button",57),e.k0s()),2&i){const t=e.XpG();e.R7$(),e.Y8G("ngIf",t.cpCancelButton),e.R7$(),e.Y8G("ngIf",t.cpOKButton)}}function xe(i,l){1&i&&e.eu8(0)}function we(i,l){if(1&i&&(e.j41(0,"div",59),e.DNE(1,xe,1,0,"ng-container",60),e.k0s()),2&i){const t=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",t.cpExtraTemplate)}}var k=function(i){return i[i.HEX=0]="HEX",i[i.RGBA=1]="RGBA",i[i.HSLA=2]="HSLA",i[i.CMYK=3]="CMYK",i}(k||{});class j{r;g;b;a;constructor(l,t,o,n){this.r=l,this.g=t,this.b=o,this.a=n}}class L{h;s;v;a;constructor(l,t,o,n){this.h=l,this.s=t,this.v=o,this.a=n}}class B{h;s;l;a;constructor(l,t,o,n){this.h=l,this.s=t,this.l=o,this.a=n}}class O{c;m;y;k;a;constructor(l,t,o,n,r=1){this.c=l,this.m=t,this.y=o,this.k=n,this.a=r}}let Te=(()=>{class i{rg;text;newValue=new e.bkB;inputChange(t){const o=t.target.value;if(void 0===this.rg)this.newValue.emit(o);else{const n=parseFloat(o);this.newValue.emit({v:n,rg:this.rg})}}static \u0275fac=function(o){return new(o||i)};static \u0275dir=e.FsC({type:i,selectors:[["","text",""]],hostBindings:function(o,n){1&o&&e.bIt("input",function(s){return n.inputChange(s)})},inputs:{rg:"rg",text:"text"},outputs:{newValue:"newValue"}})}return i})(),Ie=(()=>{class i{elRef;listenerMove;listenerStop;rgX;rgY;slider;dragEnd=new e.bkB;dragStart=new e.bkB;newValue=new e.bkB;mouseDown(t){this.start(t)}touchStart(t){this.start(t)}constructor(t){this.elRef=t,this.listenerMove=o=>this.move(o),this.listenerStop=()=>this.stop()}move(t){t.preventDefault(),this.setCursor(t)}start(t){this.setCursor(t),t.stopPropagation(),document.addEventListener("mouseup",this.listenerStop),document.addEventListener("touchend",this.listenerStop),document.addEventListener("mousemove",this.listenerMove),document.addEventListener("touchmove",this.listenerMove),this.dragStart.emit()}stop(){document.removeEventListener("mouseup",this.listenerStop),document.removeEventListener("touchend",this.listenerStop),document.removeEventListener("mousemove",this.listenerMove),document.removeEventListener("touchmove",this.listenerMove),this.dragEnd.emit()}getX(t){const o=this.elRef.nativeElement.getBoundingClientRect();return(void 0!==t.pageX?t.pageX:t.touches[0].pageX)-o.left-window.pageXOffset}getY(t){const o=this.elRef.nativeElement.getBoundingClientRect();return(void 0!==t.pageY?t.pageY:t.touches[0].pageY)-o.top-window.pageYOffset}setCursor(t){const o=this.elRef.nativeElement.offsetWidth,n=this.elRef.nativeElement.offsetHeight,r=Math.max(0,Math.min(this.getX(t),o)),s=Math.max(0,Math.min(this.getY(t),n));void 0!==this.rgX&&void 0!==this.rgY?this.newValue.emit({s:r/o,v:1-s/n,rgX:this.rgX,rgY:this.rgY}):void 0===this.rgX&&void 0!==this.rgY?this.newValue.emit({v:s/n,rgY:this.rgY}):void 0!==this.rgX&&void 0===this.rgY&&this.newValue.emit({v:r/o,rgX:this.rgX})}static \u0275fac=function(o){return new(o||i)(e.rXU(e.aKT))};static \u0275dir=e.FsC({type:i,selectors:[["","slider",""]],hostBindings:function(o,n){1&o&&e.bIt("mousedown",function(s){return n.mouseDown(s)})("touchstart",function(s){return n.touchStart(s)})},inputs:{rgX:"rgX",rgY:"rgY",slider:"slider"},outputs:{dragEnd:"dragEnd",dragStart:"dragStart",newValue:"newValue"}})}return i})();class ne{h;s;v;a;constructor(l,t,o,n){this.h=l,this.s=t,this.v=o,this.a=n}}class oe{h;s;v;a;constructor(l,t,o,n){this.h=l,this.s=t,this.v=o,this.a=n}}let J=(()=>{class i{active=null;setActive(t){this.active&&this.active!==t&&"inline"!==this.active.cpDialogDisplay&&this.active.closeDialog(),this.active=t}hsva2hsla(t){const o=t.h,n=t.s,r=t.v,s=t.a;if(0===r)return new B(o,0,0,s);if(0===n&&1===r)return new B(o,1,1,s);{const a=r*(2-n)/2;return new B(o,r*n/(1-Math.abs(2*a-1)),a,s)}}hsla2hsva(t){const o=Math.min(t.h,1),n=Math.min(t.s,1),r=Math.min(t.l,1),s=Math.min(t.a,1);if(0===r)return new L(o,0,0,s);{const a=r+n*(1-Math.abs(2*r-1))/2;return new L(o,2*(a-r)/a,a,s)}}hsvaToRgba(t){let o,n,r;const s=t.h,a=t.s,d=t.v,p=t.a,F=Math.floor(6*s),_=6*s-F,C=d*(1-a),E=d*(1-_*a),w=d*(1-(1-_)*a);switch(F%6){case 0:o=d,n=w,r=C;break;case 1:o=E,n=d,r=C;break;case 2:o=C,n=d,r=w;break;case 3:o=C,n=E,r=d;break;case 4:o=w,n=C,r=d;break;case 5:o=d,n=C,r=E;break;default:o=0,n=0,r=0}return new j(o,n,r,p)}cmykToRgb(t){return new j((1-t.c)*(1-t.k),(1-t.m)*(1-t.k),(1-t.y)*(1-t.k),t.a)}rgbaToCmyk(t){const o=1-Math.max(t.r,t.g,t.b);return 1===o?new O(0,0,0,1,t.a):new O((1-t.r-o)/(1-o),(1-t.g-o)/(1-o),(1-t.b-o)/(1-o),o,t.a)}rgbaToHsva(t){let o,n;const r=Math.min(t.r,1),s=Math.min(t.g,1),a=Math.min(t.b,1),d=Math.min(t.a,1),p=Math.max(r,s,a),F=Math.min(r,s,a),_=p,C=p-F;if(n=0===p?0:C/p,p===F)o=0;else{switch(p){case r:o=(s-a)/C+(s{class i{ngZone;elRef;cdRef;document;platformId;service;isIE10=!1;cmyk;hsva;width;height;cmykColor;outputColor;initialColor;fallbackColor;listenerResize;listenerMouseDown;directiveInstance;sliderH;sliderDimMax;directiveElementRef;dialogArrowSize=10;dialogArrowOffset=15;dialogInputFields=[k.HEX,k.RGBA,k.HSLA,k.CMYK];useRootViewContainer=!1;show;hidden;top;left;position;format;slider;hexText;hexAlpha;cmykText;hslaText;rgbaText;arrowTop;selectedColor;hueSliderColor;alphaSliderColor;cpWidth;cpHeight;cpColorMode;cpCmykEnabled;cpAlphaChannel;cpOutputFormat;cpDisableInput;cpDialogDisplay;cpIgnoredElements;cpSaveClickOutside;cpCloseClickOutside;cpPosition;cpUsePosition;cpPositionOffset;cpOKButton;cpOKButtonText;cpOKButtonClass;cpCancelButton;cpCancelButtonText;cpCancelButtonClass;cpEyeDropper;eyeDropperSupported;cpPresetLabel;cpPresetColors;cpPresetColorsClass;cpMaxPresetColorsLength;cpPresetEmptyMessage;cpPresetEmptyMessageClass;cpAddColorButton;cpAddColorButtonText;cpAddColorButtonClass;cpRemoveColorButtonClass;cpArrowPosition;cpTriggerElement;cpExtraTemplate;dialogElement;hueSlider;alphaSlider;handleEsc(t){this.show&&"popup"===this.cpDialogDisplay&&this.onCancelColor(t)}handleEnter(t){this.show&&"popup"===this.cpDialogDisplay&&this.onAcceptColor(t)}constructor(t,o,n,r,s,a){this.ngZone=t,this.elRef=o,this.cdRef=n,this.document=r,this.platformId=s,this.service=a,this.eyeDropperSupported=(0,h.UE)(this.platformId)&&"EyeDropper"in this.document.defaultView}ngOnInit(){this.slider=new ne(0,0,0,0),this.sliderDimMax=new oe(this.hueSlider.nativeElement.offsetWidth||140,this.cpWidth,130,this.alphaSlider.nativeElement.offsetWidth||140),this.format=this.cpCmykEnabled?k.CMYK:"rgba"===this.cpOutputFormat?k.RGBA:"hsla"===this.cpOutputFormat?k.HSLA:k.HEX,this.listenerMouseDown=n=>{this.onMouseDown(n)},this.listenerResize=()=>{this.onResize()},this.openDialog(this.initialColor,!1)}ngOnDestroy(){this.closeDialog()}ngAfterViewInit(){230===this.cpWidth&&"inline"!==this.cpDialogDisplay||(this.sliderDimMax=new oe(this.hueSlider.nativeElement.offsetWidth||140,this.cpWidth,130,this.alphaSlider.nativeElement.offsetWidth||140),this.updateColorPicker(!1),this.cdRef.detectChanges())}openDialog(t,o=!0){this.service.setActive(this),this.width||(this.cpWidth=this.directiveElementRef.nativeElement.offsetWidth),this.height||(this.height=320),this.setInitialColor(t),this.setColorFromString(t,o),this.openColorPicker()}closeDialog(){this.closeColorPicker()}setupDialog(t,o,n,r,s,a,d,p,F,_,C,E,w,te,X,T,an,cn,pn,dn,un,gn,mn,hn,fn,vn,Cn,Fn,_n,bn,kn,En,yn,xn,wn,jn,An,Tn){this.setInitialColor(n),this.setColorMode(p),this.isIE10=10===function Ae(){let i="";typeof navigator<"u"&&(i=navigator.userAgent.toLowerCase());const l=i.indexOf("msie ");return l>0&&parseInt(i.substring(l+5,i.indexOf(".",l)),10)}(),this.directiveInstance=t,this.directiveElementRef=o,this.cpDisableInput=E,this.cpCmykEnabled=F,this.cpAlphaChannel=_,this.cpOutputFormat=C,this.cpDialogDisplay=a,this.cpIgnoredElements=w,this.cpSaveClickOutside=te,this.cpCloseClickOutside=X,this.useRootViewContainer=T,this.width=this.cpWidth=parseInt(r,10),this.height=this.cpHeight=parseInt(s,10),this.cpPosition=an,this.cpPositionOffset=parseInt(cn,10),this.cpOKButton=vn,this.cpOKButtonText=Fn,this.cpOKButtonClass=Cn,this.cpCancelButton=_n,this.cpCancelButtonText=kn,this.cpCancelButtonClass=bn,this.cpEyeDropper=jn,this.fallbackColor=d||"#fff",this.setPresetConfig(dn,un),this.cpPresetColorsClass=gn,this.cpMaxPresetColorsLength=mn,this.cpPresetEmptyMessage=hn,this.cpPresetEmptyMessageClass=fn,this.cpAddColorButton=En,this.cpAddColorButtonText=xn,this.cpAddColorButtonClass=yn,this.cpRemoveColorButtonClass=wn,this.cpTriggerElement=An,this.cpExtraTemplate=Tn,pn||(this.dialogArrowOffset=0),"inline"===a&&(this.dialogArrowSize=0,this.dialogArrowOffset=0),"hex"===C&&"always"!==_&&"forced"!==_&&(this.cpAlphaChannel="disabled")}setColorMode(t){switch(t.toString().toUpperCase()){case"1":case"C":case"COLOR":default:this.cpColorMode=1;break;case"2":case"G":case"GRAYSCALE":this.cpColorMode=2;break;case"3":case"P":case"PRESETS":this.cpColorMode=3}}setInitialColor(t){this.initialColor=t}setPresetConfig(t,o){this.cpPresetLabel=t,this.cpPresetColors=o}setColorFromString(t,o=!0,n=!0){let r;"always"===this.cpAlphaChannel||"forced"===this.cpAlphaChannel?(r=this.service.stringToHsva(t,!0),!r&&!this.hsva&&(r=this.service.stringToHsva(t,!1))):r=this.service.stringToHsva(t,!1),!r&&!this.hsva&&(r=this.service.stringToHsva(this.fallbackColor,!1)),r&&(this.hsva=r,this.sliderH=this.hsva.h,"hex"===this.cpOutputFormat&&"disabled"===this.cpAlphaChannel&&(this.hsva.a=1),this.updateColorPicker(o,n))}onResize(){"fixed"===this.position?this.setDialogPosition():"inline"!==this.cpDialogDisplay&&this.closeColorPicker()}onDragEnd(t){this.directiveInstance.sliderDragEnd({slider:t,color:this.outputColor})}onDragStart(t){this.directiveInstance.sliderDragStart({slider:t,color:this.outputColor})}onMouseDown(t){this.show&&!this.isIE10&&"popup"===this.cpDialogDisplay&&t.target!==this.directiveElementRef.nativeElement&&!this.isDescendant(this.elRef.nativeElement,t.target)&&!this.isDescendant(this.directiveElementRef.nativeElement,t.target)&&0===this.cpIgnoredElements.filter(o=>o===t.target).length&&this.ngZone.run(()=>{this.cpSaveClickOutside?this.directiveInstance.colorSelected(this.outputColor):(this.hsva=null,this.setColorFromString(this.initialColor,!1),this.cpCmykEnabled&&this.directiveInstance.cmykChanged(this.cmykColor),this.directiveInstance.colorChanged(this.initialColor),this.directiveInstance.colorCanceled()),this.cpCloseClickOutside&&this.closeColorPicker()})}onAcceptColor(t){t.stopPropagation(),this.outputColor&&this.directiveInstance.colorSelected(this.outputColor),"popup"===this.cpDialogDisplay&&this.closeColorPicker()}onCancelColor(t){this.hsva=null,t.stopPropagation(),this.directiveInstance.colorCanceled(),this.setColorFromString(this.initialColor,!0),"popup"===this.cpDialogDisplay&&(this.cpCmykEnabled&&this.directiveInstance.cmykChanged(this.cmykColor),this.directiveInstance.colorChanged(this.initialColor,!0),this.closeColorPicker())}onEyeDropper(){this.eyeDropperSupported&&(new window.EyeDropper).open().then(o=>{this.setColorFromString(o.sRGBHex,!0)})}onFormatToggle(t){const o=this.dialogInputFields.length-(this.cpCmykEnabled?0:1),n=((this.dialogInputFields.indexOf(this.format)+t)%o+o)%o;this.format=this.dialogInputFields[n]}onColorChange(t){this.hsva.s=t.s/t.rgX,this.hsva.v=t.v/t.rgY,this.updateColorPicker(),this.directiveInstance.sliderChanged({slider:"lightness",value:this.hsva.v,color:this.outputColor}),this.directiveInstance.sliderChanged({slider:"saturation",value:this.hsva.s,color:this.outputColor})}onHueChange(t){this.hsva.h=t.v/t.rgX,this.sliderH=this.hsva.h,this.updateColorPicker(),this.directiveInstance.sliderChanged({slider:"hue",value:this.hsva.h,color:this.outputColor})}onValueChange(t){this.hsva.v=t.v/t.rgX,this.updateColorPicker(),this.directiveInstance.sliderChanged({slider:"value",value:this.hsva.v,color:this.outputColor})}onAlphaChange(t){this.hsva.a=t.v/t.rgX,this.updateColorPicker(),this.directiveInstance.sliderChanged({slider:"alpha",value:this.hsva.a,color:this.outputColor})}onHexInput(t){if(null===t)this.updateColorPicker();else{t&&"#"!==t[0]&&(t="#"+t);let o=/^#([a-f0-9]{3}|[a-f0-9]{6})$/gi;"always"===this.cpAlphaChannel&&(o=/^#([a-f0-9]{3}|[a-f0-9]{6}|[a-f0-9]{8})$/gi);const n=o.test(t);n&&(t.length<5&&(t="#"+t.substring(1).split("").map(r=>r+r).join("")),"forced"===this.cpAlphaChannel&&(t+=Math.round(255*this.hsva.a).toString(16)),this.setColorFromString(t,!0,!1)),this.directiveInstance.inputChanged({input:"hex",valid:n,value:t,color:this.outputColor})}}onRedInput(t){const o=this.service.hsvaToRgba(this.hsva),n=!isNaN(t.v)&&t.v>=0&&t.v<=t.rg;n&&(o.r=t.v/t.rg,this.hsva=this.service.rgbaToHsva(o),this.sliderH=this.hsva.h,this.updateColorPicker()),this.directiveInstance.inputChanged({input:"red",valid:n,value:o.r,color:this.outputColor})}onBlueInput(t){const o=this.service.hsvaToRgba(this.hsva),n=!isNaN(t.v)&&t.v>=0&&t.v<=t.rg;n&&(o.b=t.v/t.rg,this.hsva=this.service.rgbaToHsva(o),this.sliderH=this.hsva.h,this.updateColorPicker()),this.directiveInstance.inputChanged({input:"blue",valid:n,value:o.b,color:this.outputColor})}onGreenInput(t){const o=this.service.hsvaToRgba(this.hsva),n=!isNaN(t.v)&&t.v>=0&&t.v<=t.rg;n&&(o.g=t.v/t.rg,this.hsva=this.service.rgbaToHsva(o),this.sliderH=this.hsva.h,this.updateColorPicker()),this.directiveInstance.inputChanged({input:"green",valid:n,value:o.g,color:this.outputColor})}onHueInput(t){const o=!isNaN(t.v)&&t.v>=0&&t.v<=t.rg;o&&(this.hsva.h=t.v/t.rg,this.sliderH=this.hsva.h,this.updateColorPicker()),this.directiveInstance.inputChanged({input:"hue",valid:o,value:this.hsva.h,color:this.outputColor})}onValueInput(t){const o=!isNaN(t.v)&&t.v>=0&&t.v<=t.rg;o&&(this.hsva.v=t.v/t.rg,this.updateColorPicker()),this.directiveInstance.inputChanged({input:"value",valid:o,value:this.hsva.v,color:this.outputColor})}onAlphaInput(t){const o=!isNaN(t.v)&&t.v>=0&&t.v<=t.rg;o&&(this.hsva.a=t.v/t.rg,this.updateColorPicker()),this.directiveInstance.inputChanged({input:"alpha",valid:o,value:this.hsva.a,color:this.outputColor})}onLightnessInput(t){const o=this.service.hsva2hsla(this.hsva),n=!isNaN(t.v)&&t.v>=0&&t.v<=t.rg;n&&(o.l=t.v/t.rg,this.hsva=this.service.hsla2hsva(o),this.sliderH=this.hsva.h,this.updateColorPicker()),this.directiveInstance.inputChanged({input:"lightness",valid:n,value:o.l,color:this.outputColor})}onSaturationInput(t){const o=this.service.hsva2hsla(this.hsva),n=!isNaN(t.v)&&t.v>=0&&t.v<=t.rg;n&&(o.s=t.v/t.rg,this.hsva=this.service.hsla2hsva(o),this.sliderH=this.hsva.h,this.updateColorPicker()),this.directiveInstance.inputChanged({input:"saturation",valid:n,value:o.s,color:this.outputColor})}onCyanInput(t){!isNaN(t.v)&&t.v>=0&&t.v<=t.rg&&(this.cmyk.c=t.v,this.updateColorPicker(!1,!0,!0)),this.directiveInstance.inputChanged({input:"cyan",valid:!0,value:this.cmyk.c,color:this.outputColor})}onMagentaInput(t){!isNaN(t.v)&&t.v>=0&&t.v<=t.rg&&(this.cmyk.m=t.v,this.updateColorPicker(!1,!0,!0)),this.directiveInstance.inputChanged({input:"magenta",valid:!0,value:this.cmyk.m,color:this.outputColor})}onYellowInput(t){!isNaN(t.v)&&t.v>=0&&t.v<=t.rg&&(this.cmyk.y=t.v,this.updateColorPicker(!1,!0,!0)),this.directiveInstance.inputChanged({input:"yellow",valid:!0,value:this.cmyk.y,color:this.outputColor})}onBlackInput(t){!isNaN(t.v)&&t.v>=0&&t.v<=t.rg&&(this.cmyk.k=t.v,this.updateColorPicker(!1,!0,!0)),this.directiveInstance.inputChanged({input:"black",valid:!0,value:this.cmyk.k,color:this.outputColor})}onAddPresetColor(t,o){t.stopPropagation(),this.cpPresetColors.filter(n=>n===o).length||(this.cpPresetColors=this.cpPresetColors.concat(o),this.directiveInstance.presetColorsChanged(this.cpPresetColors))}onRemovePresetColor(t,o){t.stopPropagation(),this.cpPresetColors=this.cpPresetColors.filter(n=>n!==o),this.directiveInstance.presetColorsChanged(this.cpPresetColors)}openColorPicker(){this.show||(this.show=!0,this.hidden=!0,setTimeout(()=>{this.hidden=!1,this.setDialogPosition(),this.cdRef.detectChanges()},0),this.directiveInstance.stateChanged(!0),this.isIE10||this.ngZone.runOutsideAngular(()=>{ie?document.addEventListener("touchstart",this.listenerMouseDown):document.addEventListener("mousedown",this.listenerMouseDown)}),window.addEventListener("resize",this.listenerResize))}closeColorPicker(){this.show&&(this.show=!1,this.directiveInstance.stateChanged(!1),this.isIE10||(ie?document.removeEventListener("touchstart",this.listenerMouseDown):document.removeEventListener("mousedown",this.listenerMouseDown)),window.removeEventListener("resize",this.listenerResize),this.cdRef.destroyed||this.cdRef.detectChanges())}updateColorPicker(t=!0,o=!0,n=!1){if(this.sliderDimMax){let r,s,a;2===this.cpColorMode&&(this.hsva.s=0);const d=this.outputColor;if(s=this.service.hsva2hsla(this.hsva),this.cpCmykEnabled?(n?(a=this.service.cmykToRgb(this.service.normalizeCMYK(this.cmyk)),this.hsva=this.service.rgbaToHsva(a)):(a=this.service.hsvaToRgba(this.hsva),this.cmyk=this.service.denormalizeCMYK(this.service.rgbaToCmyk(a))),a=this.service.denormalizeRGBA(a),this.sliderH=this.hsva.h):a=this.service.denormalizeRGBA(this.service.hsvaToRgba(this.hsva)),r=this.service.denormalizeRGBA(this.service.hsvaToRgba(new L(this.sliderH||this.hsva.h,1,1,1))),o&&(this.hslaText=new B(Math.round(360*s.h),Math.round(100*s.s),Math.round(100*s.l),Math.round(100*s.a)/100),this.rgbaText=new j(a.r,a.g,a.b,Math.round(100*a.a)/100),this.cpCmykEnabled&&(this.cmykText=new O(this.cmyk.c,this.cmyk.m,this.cmyk.y,this.cmyk.k,Math.round(100*this.cmyk.a)/100)),this.hexText=this.service.rgbaToHex(a,"always"===this.cpAlphaChannel),this.hexAlpha=this.rgbaText.a),"auto"===this.cpOutputFormat&&this.format!==k.RGBA&&this.format!==k.CMYK&&this.format!==k.HSLA&&this.hsva.a<1&&(this.format=this.hsva.a<1?k.RGBA:k.HEX),this.hueSliderColor="rgb("+r.r+","+r.g+","+r.b+")",this.alphaSliderColor="rgb("+a.r+","+a.g+","+a.b+")",this.outputColor=this.service.outputFormat(this.hsva,this.cpOutputFormat,this.cpAlphaChannel),this.selectedColor=this.service.outputFormat(this.hsva,"rgba",null),this.format!==k.CMYK)this.cmykColor="";else if("always"===this.cpAlphaChannel||"enabled"===this.cpAlphaChannel||"forced"===this.cpAlphaChannel){const p=Math.round(100*this.cmyk.a)/100;this.cmykColor=`cmyka(${this.cmyk.c},${this.cmyk.m},${this.cmyk.y},${this.cmyk.k},${p})`}else this.cmykColor=`cmyk(${this.cmyk.c},${this.cmyk.m},${this.cmyk.y},${this.cmyk.k})`;this.slider=new ne((this.sliderH||this.hsva.h)*this.sliderDimMax.h-8,this.hsva.s*this.sliderDimMax.s-8,(1-this.hsva.v)*this.sliderDimMax.v-8,this.hsva.a*this.sliderDimMax.a-8),t&&d!==this.outputColor&&(this.cpCmykEnabled&&this.directiveInstance.cmykChanged(this.cmykColor),this.directiveInstance.colorChanged(this.outputColor))}}setDialogPosition(){if("inline"===this.cpDialogDisplay)this.position="relative";else{let n,t="static",o="",r=null,s=null,a=this.directiveElementRef.nativeElement.parentNode;const d=this.dialogElement.nativeElement.offsetHeight;for(;null!==a&&"HTML"!==a.tagName;){if(n=window.getComputedStyle(a),t=n.getPropertyValue("position"),o=n.getPropertyValue("transform"),"static"!==t&&null===r&&(r=a),o&&"none"!==o&&null===s&&(s=a),"fixed"===t){r=s;break}a=a.parentNode}const p=this.createDialogBox(this.directiveElementRef.nativeElement,"fixed"!==t);if(this.useRootViewContainer||"fixed"===t&&(!r||r instanceof HTMLUnknownElement))this.top=p.top,this.left=p.left;else{null===r&&(r=a);const T=this.createDialogBox(r,"fixed"!==t);this.top=p.top-T.top,this.left=p.left-T.left}"fixed"===t&&(this.position="fixed");let F=this.cpPosition;const _=this.dialogElement.nativeElement.getBoundingClientRect();switch("auto"===this.cpPosition&&(F=function je(i,l){let t="right",o="bottom";const{height:n,width:r}=i,{top:s,left:a}=l,d=s+l.height,p=a+l.width,F=s-n<0,_=d+n>(window.innerHeight||document.documentElement.clientHeight),C=a-r<0,E=p+r>(window.innerWidth||document.documentElement.clientWidth);return _&&(o="top"),F&&(o="bottom"),C&&(t="right"),E&&(t="left"),F&&_&&C&&E?["left","right","top","bottom"].reduce((X,T)=>i[X]>i[T]?X:T):C&&E?F?"bottom":_||s>d?"top":"bottom":F&&_?C?"right":E||a>p?"left":"right":`${o}-${t}`}(_,this.cpTriggerElement.nativeElement.getBoundingClientRect())),this.arrowTop="top"===F?d-1:void 0,this.cpArrowPosition=void 0,F){case"top":this.top-=d+this.dialogArrowSize,this.left+=this.cpPositionOffset/100*p.width-this.dialogArrowOffset;break;case"bottom":this.top+=p.height+this.dialogArrowSize,this.left+=this.cpPositionOffset/100*p.width-this.dialogArrowOffset;break;case"top-left":case"left-top":this.top-=d-p.height+p.height*this.cpPositionOffset/100,this.left-=this.cpWidth+this.dialogArrowSize-2-this.dialogArrowOffset;break;case"top-right":case"right-top":this.top-=d-p.height+p.height*this.cpPositionOffset/100,this.left+=p.width+this.dialogArrowSize-2-this.dialogArrowOffset;break;case"left":case"bottom-left":case"left-bottom":this.top+=p.height*this.cpPositionOffset/100-this.dialogArrowOffset,this.left-=this.cpWidth+this.dialogArrowSize-2;break;default:this.top+=p.height*this.cpPositionOffset/100-this.dialogArrowOffset,this.left+=p.width+this.dialogArrowSize-2}const C=window.innerHeight,E=window.innerWidth,w=this.elRef.nativeElement.getBoundingClientRect();this.top+_.height>C&&(this.top=C-_.height,this.cpArrowPosition=w.x/2-20),this.left+_.width>E&&(this.left=E-_.width,this.cpArrowPosition=w.x/2-20),this.cpUsePosition=F}}isDescendant(t,o){let n=o.parentNode;for(;null!==n;){if(n===t)return!0;n=n.parentNode}return!1}createDialogBox(t,o){const{top:n,left:r}=t.getBoundingClientRect();return{top:n+(o?window.pageYOffset:0),left:r+(o?window.pageXOffset:0),width:t.offsetWidth,height:t.offsetHeight}}static \u0275fac=function(o){return new(o||i)(e.rXU(e.SKi),e.rXU(e.aKT),e.rXU(e.gRc),e.rXU(h.qQ),e.rXU(e.Agw),e.rXU(J))};static \u0275cmp=e.VBU({type:i,selectors:[["color-picker"]],viewQuery:function(o,n){if(1&o&&(e.GBs(S,7),e.GBs(H,7),e.GBs(D,7)),2&o){let r;e.mGM(r=e.lsd())&&(n.dialogElement=r.first),e.mGM(r=e.lsd())&&(n.hueSlider=r.first),e.mGM(r=e.lsd())&&(n.alphaSlider=r.first)}},hostBindings:function(o,n){1&o&&e.bIt("keyup.esc",function(s){return n.handleEsc(s)},!1,e.EBC)("keyup.enter",function(s){return n.handleEnter(s)},!1,e.EBC)},decls:30,vars:51,consts:[["dialogPopup",""],["hueSlider",""],["valueSlider",""],["alphaSlider",""],[1,"color-picker",3,"click"],[3,"left","class","top",4,"ngIf"],["class","saturation-lightness",3,"slider","rgX","rgY","background-color","newValue","dragStart","dragEnd",4,"ngIf"],[1,"hue-alpha","box"],[1,"left"],[1,"selected-color-background"],[1,"selected-color",3,"click"],["class","eyedropper-icon","xmlns","http://www.w3.org/2000/svg","height","24px","viewBox","0 0 24 24","width","24px","fill","#000000",4,"ngIf"],["type","button",3,"class","disabled","click",4,"ngIf"],[1,"right"],["style","height: 16px;",4,"ngIf"],[1,"hue",3,"newValue","dragStart","dragEnd","slider","rgX"],[1,"cursor"],[1,"value",3,"newValue","dragStart","dragEnd","slider","rgX"],[1,"alpha",3,"newValue","dragStart","dragEnd","slider","rgX"],["class","cmyk-text",3,"display",4,"ngIf"],["class","hsla-text",3,"display",4,"ngIf"],["class","rgba-text",3,"display",4,"ngIf"],["class","hex-text",3,"hex-alpha","display",4,"ngIf"],["class","value-text",4,"ngIf"],["class","type-policy",4,"ngIf"],["class","preset-area",4,"ngIf"],["class","button-area",4,"ngIf"],["class","extra-template",4,"ngIf"],[1,"saturation-lightness",3,"newValue","dragStart","dragEnd","slider","rgX","rgY"],["xmlns","http://www.w3.org/2000/svg","height","24px","viewBox","0 0 24 24","width","24px","fill","#000000",1,"eyedropper-icon"],["d","M0 0h24v24H0V0z","fill","none"],["d","M17.66 5.41l.92.92-2.69 2.69-.92-.92 2.69-2.69M17.67 3c-.26 0-.51.1-.71.29l-3.12 3.12-1.93-1.91-1.41 1.41 1.42 1.42L3 16.25V21h4.75l8.92-8.92 1.42 1.42 1.41-1.41-1.92-1.92 3.12-3.12c.4-.4.4-1.03.01-1.42l-2.34-2.34c-.2-.19-.45-.29-.7-.29zM6.92 19L5 17.08l8.06-8.06 1.92 1.92L6.92 19z"],["type","button",3,"click","disabled"],[2,"height","16px"],[1,"cmyk-text"],[1,"box"],["type","number","pattern","[0-9]*","min","0","max","100",3,"keyup.enter","newValue","text","rg","value"],["type","number","pattern","[0-9]+([\\.,][0-9]{1,2})?","min","0","max","1","step","0.1",3,"text","rg","value","keyup.enter","newValue",4,"ngIf"],[4,"ngIf"],["type","number","pattern","[0-9]+([\\.,][0-9]{1,2})?","min","0","max","1","step","0.1",3,"keyup.enter","newValue","text","rg","value"],[1,"hsla-text"],["type","number","pattern","[0-9]*","min","0","max","360",3,"keyup.enter","newValue","text","rg","value"],[1,"rgba-text"],["type","number","pattern","[0-9]*","min","0","max","255",3,"keyup.enter","newValue","text","rg","value"],[1,"hex-text"],[3,"blur","keyup.enter","newValue","text","value"],[1,"value-text"],[1,"type-policy"],[1,"type-policy-arrow",3,"click"],[1,"preset-area"],[1,"preset-label"],[3,"class",4,"ngIf"],["class","preset-color",3,"backgroundColor","click",4,"ngFor","ngForOf"],[1,"preset-color",3,"click"],[3,"class","click",4,"ngIf"],[3,"click"],[1,"button-area"],["type","button",3,"class","click",4,"ngIf"],["type","button",3,"click"],[1,"extra-template"],[4,"ngTemplateOutlet"]],template:function(o,n){if(1&o){const r=e.RV6();e.j41(0,"div",4,0),e.bIt("click",function(a){return e.eBV(r),e.Njj(a.stopPropagation())}),e.DNE(2,y,1,7,"div",5)(3,z,2,8,"div",6),e.j41(4,"div",7)(5,"div",8),e.nrm(6,"div",9),e.j41(7,"div",10),e.bIt("click",function(){return e.eBV(r),e.Njj(n.eyeDropperSupported&&n.cpEyeDropper&&n.onEyeDropper())}),e.DNE(8,M,3,0,"svg",11),e.k0s(),e.DNE(9,u,2,5,"button",12),e.k0s(),e.j41(10,"div",13),e.DNE(11,g,1,0,"div",14),e.j41(12,"div",15,1),e.bIt("newValue",function(a){return e.eBV(r),e.Njj(n.onHueChange(a))})("dragStart",function(){return e.eBV(r),e.Njj(n.onDragStart("hue"))})("dragEnd",function(){return e.eBV(r),e.Njj(n.onDragEnd("hue"))}),e.nrm(14,"div",16),e.k0s(),e.j41(15,"div",17,2),e.bIt("newValue",function(a){return e.eBV(r),e.Njj(n.onValueChange(a))})("dragStart",function(){return e.eBV(r),e.Njj(n.onDragStart("value"))})("dragEnd",function(){return e.eBV(r),e.Njj(n.onDragEnd("value"))}),e.nrm(17,"div",16),e.k0s(),e.j41(18,"div",18,3),e.bIt("newValue",function(a){return e.eBV(r),e.Njj(n.onAlphaChange(a))})("dragStart",function(){return e.eBV(r),e.Njj(n.onDragStart("alpha"))})("dragEnd",function(){return e.eBV(r),e.Njj(n.onDragEnd("alpha"))}),e.nrm(20,"div",16),e.k0s()()(),e.DNE(21,b,17,12,"div",19)(22,G,14,10,"div",20)(23,R,14,10,"div",21)(24,ge,8,7,"div",22)(25,he,9,3,"div",23)(26,fe,3,0,"div",24)(27,be,6,3,"div",25)(28,ye,3,2,"div",26)(29,we,2,1,"div",27),e.k0s()}2&o&&(e.xc7("display",n.show?"block":"none")("visibility",n.hidden?"hidden":"visible")("top",n.top,"px")("left",n.left,"px")("position",n.position)("height",n.cpHeight,"px")("width",n.cpWidth,"px"),e.AVh("open",n.show),e.R7$(2),e.Y8G("ngIf","popup"===n.cpDialogDisplay),e.R7$(),e.Y8G("ngIf",1===(n.cpColorMode||1)),e.R7$(4),e.xc7("background-color",n.selectedColor)("cursor",n.eyeDropperSupported&&n.cpEyeDropper?"pointer":null),e.R7$(),e.Y8G("ngIf",n.eyeDropperSupported&&n.cpEyeDropper),e.R7$(),e.Y8G("ngIf",n.cpAddColorButton),e.R7$(2),e.Y8G("ngIf","disabled"===n.cpAlphaChannel),e.R7$(),e.xc7("display",1===(n.cpColorMode||1)?"block":"none"),e.Y8G("rgX",1),e.R7$(2),e.xc7("left",null==n.slider?null:n.slider.h,"px"),e.R7$(),e.xc7("display",2===(n.cpColorMode||1)?"block":"none"),e.Y8G("rgX",1),e.R7$(2),e.xc7("right",null==n.slider?null:n.slider.v,"px"),e.R7$(),e.xc7("display","disabled"===n.cpAlphaChannel?"none":"block")("background-color",n.alphaSliderColor),e.Y8G("rgX",1),e.R7$(2),e.xc7("left",null==n.slider?null:n.slider.a,"px"),e.R7$(),e.Y8G("ngIf",!n.cpDisableInput&&1===(n.cpColorMode||1)),e.R7$(),e.Y8G("ngIf",!n.cpDisableInput&&1===(n.cpColorMode||1)),e.R7$(),e.Y8G("ngIf",!n.cpDisableInput&&1===(n.cpColorMode||1)),e.R7$(),e.Y8G("ngIf",!n.cpDisableInput&&1===(n.cpColorMode||1)),e.R7$(),e.Y8G("ngIf",!n.cpDisableInput&&2===(n.cpColorMode||1)),e.R7$(),e.Y8G("ngIf",!n.cpDisableInput&&1===(n.cpColorMode||1)),e.R7$(),e.Y8G("ngIf",(null==n.cpPresetColors?null:n.cpPresetColors.length)||n.cpAddColorButton),e.R7$(),e.Y8G("ngIf",n.cpOKButton||n.cpCancelButton),e.R7$(),e.Y8G("ngIf",n.cpExtraTemplate))},dependencies:[h.Sq,h.bT,h.T3,Te,Ie],styles:['.color-picker{position:absolute;z-index:1000;width:230px;height:auto;border:#777 solid 1px;cursor:default;-webkit-user-select:none;user-select:none;background-color:#fff}.color-picker *{box-sizing:border-box;margin:0;font-size:11px}.color-picker input{width:0;height:26px;min-width:0;font-size:13px;text-align:center;color:#000}.color-picker input:invalid,.color-picker input:-moz-ui-invalid,.color-picker input:-moz-submit-invalid{box-shadow:none}.color-picker input::-webkit-inner-spin-button,.color-picker input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.color-picker .arrow{position:absolute;z-index:999999;width:0;height:0;border-style:solid}.color-picker .arrow.arrow-top{left:8px;border-width:10px 5px;border-color:#777 rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0)}.color-picker .arrow.arrow-bottom{top:-20px;left:8px;border-width:10px 5px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) #777 rgba(0,0,0,0)}.color-picker .arrow.arrow-top-left,.color-picker .arrow.arrow-left-top{right:-21px;bottom:8px;border-width:5px 10px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) #777}.color-picker .arrow.arrow-top-right,.color-picker .arrow.arrow-right-top{bottom:8px;left:-20px;border-width:5px 10px;border-color:rgba(0,0,0,0) #777 rgba(0,0,0,0) rgba(0,0,0,0)}.color-picker .arrow.arrow-left,.color-picker .arrow.arrow-left-bottom,.color-picker .arrow.arrow-bottom-left{top:8px;right:-21px;border-width:5px 10px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) #777}.color-picker .arrow.arrow-right,.color-picker .arrow.arrow-right-bottom,.color-picker .arrow.arrow-bottom-right{top:8px;left:-20px;border-width:5px 10px;border-color:rgba(0,0,0,0) #777 rgba(0,0,0,0) rgba(0,0,0,0)}.color-picker .cursor{position:relative;width:16px;height:16px;border:#222 solid 2px;border-radius:50%;cursor:default}.color-picker .box{display:flex;padding:4px 8px}.color-picker .left{position:relative;padding:16px 8px}.color-picker .right{flex:1 1 auto;padding:12px 8px}.color-picker .button-area{padding:0 16px 16px;text-align:right}.color-picker .button-area button{margin-left:8px}.color-picker .preset-area{padding:4px 15px}.color-picker .preset-area .preset-label{overflow:hidden;width:100%;padding:4px;font-size:11px;white-space:nowrap;text-align:left;text-overflow:ellipsis;color:#555}.color-picker .preset-area .preset-color{position:relative;display:inline-block;width:18px;height:18px;margin:4px 6px 8px;border:#a9a9a9 solid 1px;border-radius:25%;cursor:pointer}.color-picker .preset-area .preset-empty-message{min-height:18px;margin-top:4px;margin-bottom:8px;font-style:italic;text-align:center}.color-picker .hex-text{width:100%;padding:4px 8px;font-size:11px}.color-picker .hex-text .box{padding:0 24px 8px 8px}.color-picker .hex-text .box div{float:left;flex:1 1 auto;text-align:center;color:#555;clear:left}.color-picker .hex-text .box input{flex:1 1 auto;padding:1px;border:#a9a9a9 solid 1px}.color-picker .hex-alpha .box div:first-child,.color-picker .hex-alpha .box input:first-child{flex-grow:3;margin-right:8px}.color-picker .cmyk-text,.color-picker .hsla-text,.color-picker .rgba-text,.color-picker .value-text{width:100%;padding:4px 8px;font-size:11px}.color-picker .cmyk-text .box,.color-picker .hsla-text .box,.color-picker .rgba-text .box{padding:0 24px 8px 8px}.color-picker .value-text .box{padding:0 8px 8px}.color-picker .cmyk-text .box div,.color-picker .hsla-text .box div,.color-picker .rgba-text .box div,.color-picker .value-text .box div{flex:1 1 auto;margin-right:8px;text-align:center;color:#555}.color-picker .cmyk-text .box div:last-child,.color-picker .hsla-text .box div:last-child,.color-picker .rgba-text .box div:last-child,.color-picker .value-text .box div:last-child{margin-right:0}.color-picker .cmyk-text .box input,.color-picker .hsla-text .box input,.color-picker .rgba-text .box input,.color-picker .value-text .box input{float:left;flex:1;padding:1px;margin:0 8px 0 0;border:#a9a9a9 solid 1px}.color-picker .cmyk-text .box input:last-child,.color-picker .hsla-text .box input:last-child,.color-picker .rgba-text .box input:last-child,.color-picker .value-text .box input:last-child{margin-right:0}.color-picker .hue-alpha{align-items:center;margin-bottom:3px}.color-picker .hue{direction:ltr;width:100%;height:16px;margin-bottom:16px;border:none;cursor:pointer;background-size:100% 100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwkUFWbCCAAAAFxJREFUaN7t0kEKg0AQAME2x83/n2qu5qCgD1iDhCoYdpnbQC9bbY1qVO/jvc6k3ad91s7/7F1/csgPrujuQ17BDYSFsBAWwgJhISyEBcJCWAgLhIWwEBYIi2f7Ar/1TCgFH2X9AAAAAElFTkSuQmCC)}.color-picker .value{direction:rtl;width:100%;height:16px;margin-bottom:16px;border:none;cursor:pointer;background-size:100% 100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAACTklEQVR42u3SYUcrABhA4U2SkmRJMmWSJklKJiWZZpKUJJskKUmaTFImKZOUzMySpGRmliRNJilJSpKSJEtmSpIpmWmSdO736/6D+x7OP3gUCoWCv1cqlSQlJZGcnExKSgqpqamkpaWRnp5ORkYGmZmZqFQqsrKyyM7OJicnh9zcXNRqNXl5eeTn56PRaCgoKKCwsJCioiK0Wi3FxcWUlJRQWlpKWVkZ5eXlVFRUUFlZiU6no6qqiurqampqaqitraWurg69Xk99fT0GgwGj0UhDQwONjY00NTXR3NxMS0sLra2ttLW10d7ejslkwmw209HRQWdnJ11dXXR3d9PT00Nvby99fX309/czMDDA4OAgFouFoaEhrFYrw8PDjIyMMDo6ytjYGDabjfHxcSYmJpicnGRqagq73c709DQzMzPMzs4yNzfH/Pw8DocDp9OJy+XC7XazsLDA4uIiS0tLLC8vs7KywurqKmtra3g8HrxeLz6fD7/fz/r6OhsbG2xubrK1tcX29jaBQICdnR2CwSC7u7vs7e2xv7/PwcEBh4eHHB0dcXx8zMnJCaenp5ydnXF+fs7FxQWXl5dcXV1xfX3Nzc0Nt7e33N3dEQqFuL+/5+HhgXA4TCQS4fHxkaenJ56fn3l5eeH19ZVoNMrb2xvv7+98fHwQi8WIx+N8fn6SSCT4+vri+/ubn58ffn9/+VcKgSWwBJbAElgCS2AJLIElsASWwBJYAktgCSyBJbAElsASWAJLYAksgSWwBJbAElgCS2AJLIElsP4/WH8AmJ5Z6jHS4h8AAAAASUVORK5CYII=)}.color-picker .alpha{direction:ltr;width:100%;height:16px;border:none;cursor:pointer;background-size:100% 100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwYQlZMa3gAAAWVJREFUaN7tmEGO6jAQRCsOArHgBpyAJYGjcGocxAm4A2IHpmoWE0eBH+ezmFlNvU06shJ3W6VEelWMUQAIIF9f6qZpimsA1LYtS2uF51/u27YVAFZVRUkEoGHdPV/sIcbIEIIkUdI/9Xa7neyv61+SWFUVAVCSct00TWn2fv6u3+Ecfd3tXzy/0+nEUu+SPjo/kqzrmiQpScN6v98XewfA8/lMkiLJ2WxGSUopcT6fM6U0NX9/frfbjev1WtfrlZfLhYfDQQHG/AIOlnGwjINlHCxjHCzjYJm/TJWdCwquJXseFFzGwDNNeiKMOJTO8xQdDQaeB29+K9efeLaBo9J7vdvtJj1RjFFjfiv7qv95tjx/7leSQgh93e1ffMeIp6O+YQjho/N791t1XVOSSI7N//K+4/GoxWLBx+PB5/Op5XLJ+/3OlJJWqxU3m83ovv5iGf8KjYNlHCxjHCzjYBkHy5gf5gusvQU7U37jTAAAAABJRU5ErkJggg==)}.color-picker .type-policy{position:absolute;top:218px;right:12px;width:16px;height:24px;background-size:8px 16px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAgCAYAAAAffCjxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAACewAAAnsB01CO3AAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAIASURBVEiJ7ZY9axRRFIafsxMStrLQJpAgpBFhi+C9w1YSo00I6RZ/g9vZpBf/QOr4GyRgkSKNSrAadsZqQGwCkuAWyRZJsySwvhZ7N/vhzrgbLH3Ld8597jlzz50zJokyxXH8DqDVar0qi6v8BbItqSGpEcfxdlmsFWXkvX8AfAVWg3UKPEnT9GKujMzsAFgZsVaCN1VTQd77XUnrgE1kv+6935268WRpzrnHZvYRWC7YvC3pRZZl3wozqtVqiyH9IgjAspkd1Gq1xUJQtVrdB9ZKIAOthdg/Qc65LUk7wNIMoCVJO865rYFhkqjX6/d7vV4GPJwBMqofURS5JEk6FYBer/eeYb/Mo9WwFnPOvQbeAvfuAAK4BN4sAJtAG/gJIElmNuiJyba3EGNmZiPeZuEVmVell/Y/6N+CzDn3AXhEOOo7Hv/3BeAz8IzQkMPnJbuPx1wC+yYJ7/0nYIP5S/0FHKdp+rwCEEXRS/rf5Hl1Gtb2M0iSpCOpCZzPATmX1EySpHMLAsiy7MjMDoHrGSDXZnaYZdnRwBh7J91utwmczAA6CbG3GgPleX4jqUH/a1CktqRGnuc3hSCAMB32gKspkCtgb3KCQMmkjeP4WNJThrNNZval1WptTIsv7JtQ4tmIdRa8qSoEpWl6YWZNoAN0zKxZNPehpLSBZv2t+Q0CJ9lLnARQLAAAAABJRU5ErkJggg==);background-repeat:no-repeat;background-position:center}.color-picker .type-policy .type-policy-arrow{display:block;width:100%;height:50%}.color-picker .selected-color{position:absolute;top:16px;left:8px;width:40px;height:40px;border:1px solid #a9a9a9;border-radius:50%}.color-picker .selected-color-background{width:40px;height:40px;border-radius:50%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAh0lEQVRYR+2W0QlAMQgD60zdfwOdqa8TmI/wQMr5K0I5bZLIzLOa2nt37VVVbd+dDx5obgCC3KBLwJ2ff4PnVidkf+ucIhw80HQaCLo3DMH3CRK3iFsmAWVl6hPNDwt8EvNE5q+YuEXcMgkonVM6SdyCoEvAnZ8v1Hjx817MilmxSUB5rdLJDycZgUAZUch/AAAAAElFTkSuQmCC)}.color-picker .saturation-lightness{direction:ltr;width:100%;height:130px;border:none;cursor:pointer;touch-action:manipulation;background-size:100% 100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOYAAACCCAYAAABSD7T3AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwksPWR6lgAAIABJREFUeNrtnVuT47gRrAHN+P//Or/61Y5wONZ7mZ1u3XAeLMjJZGZVgdKsfc5xR3S0RIIUW+CHzCpc2McYo7XGv3ex7UiZd57rjyzzv+v+33X/R/+3r/f7vR386Y+TvKNcf/wdhTLPcv9qU2wZd74uth0t1821jkIZLPcsI/6nWa4XvutquU0Z85mnx80S/ZzgpnLnOtHNt7/ofx1TKXcSNzN/7qbMQ3ju7rNQmMYYd/4s2j9aa+P+gGaMcZrb1M/tdrvf7/d2v99P9/t93O/3cbvdxu12G9frdVwul3E+n8c///nP+2+//Xb66aefxl//+tfx5z//2YK5Al2rgvf4UsbpdGrB52bAvArXpuzjmiqAVSGz5eDmGYXzhbAZmCrnmzddpUU+8Y1dAOYeXCtDUwVwV7YCGH6uAmyMcZ9l5vkUaBPGMUZ7/J5w/792/fvv9Xq93263dr/fTxPECeME8nK5jM/Pz/HTTz/dv337dvrll1/GP/7xj/G3v/1t/OUvfwkVswongjdOp9PzH3U3D3zmWGnZVXn4jCqs7wC2BKP4/8tAzkZsoWx6XrqeHZymvp4ABCBJhTQwKfDT8gzrZCIqi5AhiACjBfEB2rP8/X63MM7f6/V6v9/v7Xa7bYC83W7jcrlsVHIq5ffv30+//fbb+OWXX8ZPP/00/v73v4+ff/75JSvbeu+bL2WMMaFbAlpBNM85QX+ct6qoSqkPAwuQlBVKqGNFSUOAA3Bmu7gC5hNOd15nSwvAOUW7C4giUCV8Sgn5L9hNFIqTsp0GxI0ysioyjAjkY/tGJVEpz+fz+OWXX+7fv38//f777+Pbt2/j119/HT///PP49ddfx8fHRwrmTjV779EXu2px2xhjwtdJZQcAWQIPLPISsMJaSwiD8gzIKrwSyATE5j5nAbR5c1dBUwBlsEWW0h6LqiYsqFPAQxCyRZ3wOSARxmlXMX5k64pQfvv27f75+dk+Pj5OHx8f4/v37+Pbt2/jt99+G9++fRsfHx/jcrmUFLO31gYDWblxRIs/TqfT7ousxJsAxXA2Gc7TA9XdgfdoHbFsj76X2+1WArgI1ageGwA3qupqoHsmcbI6Fu93quggFa9d7LeDtgKfAFHBJ+NEByIkcJ5KervdTmhhGcgJJSZ5vn//fj+fz+18Pp8+Pz/H5+fnmGD+/vvv4/v37+Pj42N8fn6O2+1Ws7JjjP6wraMI5E4RZ8x2vV5TSwkquotV7/d7Tz6HFWsD/qNcdw0CQ3q/321c686TwDVIdbuy73zNldhSHb8I2klZznm+InBS4U6n0302aBFsLhHDAKJVJVglfI9jhvu53W53sLANYNxAiDA6MCeUHx8f9+v12i6XS7tcLqcZW57P5yeY8/fz83Ocz+fnsSmYUyknWEG85WBst9stzSLyMdfr9Qi08iY15UZ0LlDGLhR3o5zK2j7OPUTD0E+nU3tk7Xb/16NFbhloAMuY1zjLUOO3BKeIDe+Z8s3/J4gFo4TM5jPmuRg28foUKKVSwo16TgA5npywcWLHgYl/Pz8/73/605/ab7/91m63W7tcLie0sZj4mao5gTyfz88E0f1+j8EcYzwTPEG2cqjyfHNF0M8fuqEiaOVnRzZZQNh5fwQyHg/HDGfJo89Q1zb/quu5XC6773I2XKfTqd/v9+d3wuqWva/YTdUdEV3fhIv/Viyps6YE3x3r43K5bJQS66zaxVGFsvd+//j4aF+/fm3fv39vt9utff36tf3+++/tdrudvn37ZuNLBaaCMgUzC+rZRiFowxUuJI8YMqcCp9Opq5vagaYU6lGJA1XQqejchw6Cj0Gw5nYBrGw01A2O206n04BGouNNyTfp/FwElhUey6nXrIKw7QQWddxuN2ldL5fL839gSPF8ahu/JvBO48CPSuqMf8Vp9/P53L58+dLu93s7n8/tfr8/39/v9/b5+TkhPJ3P56mQ436/j+/fv+/iSgbzer0+AZx/5+88bv6OMda6S5z6kd21fYC9dxv7cIJJ2d9AOS30fPMzyHiTM8B4DF6XUlYHp4KQW3W+1t77MNB1vGHxWq7Xa7vf78+y5/N5A+H1et29xuP5dbYtyaRu4AksbPq6936fjRzXRxBbPr/b+b18+fKljTHaBBBfn8/n0/1+H1++fBnn8zm0sB8fH5u4cr5GuBhMVk0EEn9RsctgVhM+ixlJtMA23R8B6yysAstBOgFXIKKCMIgToMqNEu2fYMH7ztc732dQKkCj1ytAZtY0Kx8pIr8GGJ+AT3V+2Hirhl++fBmXy2Wz73w+b17P8p+fn8/tUwGVleVkTyUb68DkfayWY4zxNRihU4EpLJPZVrK+u7J4/mgfKqeLW9X2REWlItL1diynbDDb3+jXgYjQqn0rrxWc+NkILP7F7xIbMvx7vV53x40xnlbWJF12ZSag/N0pW6t+ZzmOMzHjajKwDfond78zYTdfq18up97zr2q8v3IioBprRtBl0EZ9og5WBRGOdOHjIjXF7UotFbgOWnXzIJyzYvjG5IYgsmMOxHkz8OsMSrVNWeq5T8DaOcbEv1Od5rbs9aO7YvMet63EkF++fMExq+MRl4/L5bLZN/+ez+fnZ6KazuMqXSQVO5spJXflHAIzes/xJseckRJiDMog9d6VfRrqXMr6KpVV27jRwJacGovOAM1zMdQMnwK1AubK63kdCChvI1C7g0z9nf/D+Xze2Vj8H7Gx4P9duQlsYCrqyN8XqG3Hm/10Oj3jw/n+crlstuM+jPmmxT2dTuPz83Pzt2pn1XsEHX/bnPaVqVmh0xwOt0o6XLLAHePUU203wHfcrspCwmV3TryB5s0Mseeg97x/BwzCjBlbB+pRAPla0BVQuT6V6QHdBlj3d0KG147b+DqxQeUymDO43W4dQar+TIjwmAd0z8/h65vf0/yLv3Pb5XLpru/ydDo9s7ET0I+Pj6dKK9VUEIeKWQWPAOrJ8LKd4vE+t91Y3e7UFlWatg2VwJnb+HPmtvm/sfK59/OaWF3x/eP1UPHvA5DDYDpYXfb0drv1V2DkBkxtw/tEWVVlXWdC9pFYs5/jfh9dS/16vW7s6lTG+TfqsxSJHxkXXq/Xdr1eu4LsfD6P3vsT3N77DkL+zPm5jSdKL4zR3AxQd6rHkLkYlSowsrq7znzu6wSwdsMJOXmA5fBcjxtgMGBYHlr5zokhtsMCTgXLQOW4XC6dEyEMprL8mAQzXRgduix2yZzorxkYsDn3hB1VeMLGsXsVtgl2pW8S3svk0vw7R4hNaHvv4cACl5HFzwIH0Kc6zu4XjDPR/jpAVxWzO1Xk2DDb3vTcxeGU1iWZHkmIDWziWKvirCJ4Dravs6IJ/GG6cTqWdXDy+fArQDVVkLqkVjAoZIITdmmIqXwqa95N3+MGYoZQdRVNO53Y1xRkhO16vY7eu507Ca9lJnbGpxOemQhSw/AQsmmp5zU9BiU8G6wvX76M6/U6Pj4+do0Bz4CpgiknTUeDqwlKBmg3u4OVjrZ1A+rAcgaejWq6eJCvCYFDONSwOgHX4EQRw8lxbzDOdEK6gZ3Hk1b+8g2o1JFtKXyv/fEdTXuWjWXdAZiBp6ADeDrCFiim7B6ZFneeI7Gvm/PMkUDX67W7xI8b0D7/v8dA9qfN5oaCf74WZjH0mf1cmfY1Y0JUFmVrTWu8uzkNcLtEj7u5FXBTkfC6GOA5q8YMxO8KVvF6sAVGdcrUbsKODcQKkLMOMdmlxum642YrPm26AlhZW1YB1R+rrGswE8TaYAWeUMxdf+WjwSvZ2Ef3ytOyfn5+PpVPAaqOn43MtNBqvmjjxbjM4lZjZY4gqNMI5ktaW/sYKNwS+9lFQzGihmMCKPa7+Z0V6Eb0GRmobtpX8JljWu5FMLN5ja6hG9kwQgZqf5+1NH5UxzkFReCdWhJ8XdlGUkxO7HRlYRm4mVO43W7ter12TPJEw/rmEN3L5SKHIWZg9mz+pUoKOYq5bJTJdX2gme1UcxMZQFaEQIlHct32M+Y1BzGkGuzfiyAN9z+ugplZ1symCrDCYYkGxDTpI9RzBy0rHyeDUC1nWaeUaD9n4xkNyYMBDZtzZ3B++fJlY21XFDOcARJlabOyiS3uCpLI9jrZjCDkaVvcCCjwognKShWdzXZWlZMvVTgD8LpqlCLrqgbcB+qYwrgKYpT0ccCqbKyCValkEabn/FynogCrPKfqf51xJ7sGB2ZXcZmxoSOztjx300DZi7a0/2AIR0UlBag9SuDw6KcAzlaB7vHZvWpjK90dyrq6bKyDUZQbR0B05biLQkHIcSUmgIK+SwuqgHCnoio2RQU1yj+BnBy9pphVKLGyC7ZzFK1pxWK+E8IhVCWLN/uLtnUU4ayoYLoaANz8FdtaSvY4pV0BEW2ls61czqllBKpTyKgMAhrZ1cdc1RROtPmvWNkdcKZ7ZKxaWjiPLJMpp7OZKxA+rqG/oJLjxf0pnJlqLoDZo3gyU0mKGys2taKecj/d1C+rJSplBqlTyAqgR+D8KjKlmRL2gtUcAdCtsL+ijCNT1oqqqkH2OHEbG5sDFnUg5Aa+yLou2VU1ptj1S2ZQqv1ORZN9IWzRfgaRBxKoBE8UWyqlJFtrIc0AxNjSjed99CTY/XDfSzCz5M0IZoVEsWnPFNTsl8ooVC1TzbGgqFZNDSgVwKK+1sGDMKqxZCWGVMDysiEr1jVSQJUYwj5iHOlThdHt44SQg9CN+nl8D90NMIgAdgr46JqRiR9I8vRdFvbr17m/yxUMKjNLMiVUADwu2CWGhhi+F55TWM9M9cogzms1dnM4uOF/LAEYWdcqnM7yFmyq3IfwmOROd7Y1iFWtOjoY8To41mTV5IysgFFuRzsbWFGbNIIJCDv1dOo4lZG7jWBwRFtVTKuWyeCByJKOan8oZ3ep9XddNl0tDuaywLz9cXPYeDAA0SpkBO9sbVcTOVWldPv4uyzEkzxHtjvonHoSkFEWNoo1d8DhcQputd2ppNon4BzoAiJ1hBFQg0dVtdbGHHDQWushmNEQukLM2QO1G2Y8bgTXqFhcBJj7EjPgcPts8US8qPpPB/dXznOh5Z438tzH5ec6QgrOKrRRfKmysBmUDB+PhYabMlVPER+GCSITTzr7am2tArH3bgcEzPJm+cr5jJ4NnHNFDVrFXcI5Le9k5Jnw+bedbV+FfRzZIHaOOaOsLY0/7UGs58DjrGwKMIMFIGzOEW1/jGsdAtCN6hEAI4hBe9YXeRROBSVPAVPAqvIM5bx5hVKWAMP6zBRy3iescridVdFBinBxXDnG2GRY2XbCvp1lhvGtO9Bxu5h908XQu42lnSArMFdizMim8uwRCxPGnnOS8lwpnbOiDqTAjsrRN/PcoAScCbaACqVM40ylnjjTBs+bwWlAG23/UKbdkiwKWIQPGzWaczpoSlxPEj822cNWkpS7FyzsDrqpfgpG3jahw2vgbaSQAxuLWZYt7JzyNe8JoZpNAcvDFOdw0wqYT9AK1rZz/DdbSlLPp0ryIxgQJlK9AZlEq7IOXpohg9PIhrCng88JsOxiV4ZWAYfg4sikx/8ky2Z9l862uqwrfscIH8+ugTmVGyiddeVYUgEMn4GZzg14EwIsh9sx2cKKiWXReuOE5gzGOQgdlRKVVdlevqb279Xq0Qnsts2VDaBO0coezsruWtHApu6sKG4IBhN0aGU2kLrMKGRTN3HmbCDwKV14zvkMEDG4QfZVspVlaNU2mhc5TEZ3N1h/zqTheuLpW05ZWTGVjb3dbnNmxKZBnN8JqidaVLKAOyARNLS+MB54Z2+VaqoMLKroVBlngefnTPAcoHNWCSvlfA8CI0HEmBNBnBlXyMrzU7A7WVm94PPqQ2gmqKx+WDGsnvilmcSOBJqOK1nYyAIzuAyesq3UdSK3KfWcYKD95HmfYOU3qser2CtYEUA+FpfqdNvgPBZUBhDrGONRVlQsh8rLcaUCykHG0OOUwTlLBrsh5soEMGezi1E4HRVt1icp5wZEFXdibCkG8Y8vX75sbO4E0iom9z+hjSiOfy3DhpXItpVhE+UGQdvoWjtChmrGHf4YAzKgBNnGtuJxFCeGdhUAfQLLK8kBYAP6gvFJZajMG3Xkycy8KuC0q4Eyymwtwdxdv2M0mIBtK0LKnf640j00Auq4gUkdWGlhs22qJc6dZCsL19oxnlTJG4SYVRIGpD8TPFBuM6OElbS1pldid4mGAyN6ZIupbC5bXJN9fdpbThSxLUaI8IG1XIYBxW3Tjs6KQosKcxfxcQmdnwRGM10GnFcCy2XYunLMyAkdgk4mePiczsLygthcBut6goOqS7YVFXADLjaosB6s6ofcZWAZSIRYqSUkizYwttYab3vUOQ9w2HRxIIg8WwRVeE68xi4UtL3zRphxplzwuZrcqYCq1I3jPI5dnJIygEohMbPqVJSzrwzxBJTs5zN+ReUSgxikPQVF3JVBeNQxbHENrEMNvEdFZVV9lH9+ORGEsNZQpyTNc4C3AG7XF4ngzq+DrO2zbuaaOXgdaFcdkEotoSFBVX2qJ0C8OWZeG4KGlpghA0XfTOPCqV2qqwQ26QWfF2PMLhI2w1lVAa2aPsYd0za25MQRwgcZN6uQDCi+ZxiD4XEM2kZxOT41FnZnaRlcpZouzlRqqdbQVWopQoSB58RV50lBNrHi/AwXS5LrwDVlpY3Fc3ByiYGc52Trist6kOXdwInAQtJpp5QchyaquYOV7Su+fxVMaV3dc0RE2S6mUY0gLt2pMcYqrKIQ9w2l1gpQUMtQYcmmbt5DTNxdhnUCjQqtbK9SUSzvrC0mmhhE1e2FS2+oxypy/ZASutkmtjx3vcBC24PX65nbqkBCRhfjS9kIYPnee8cMagVOhI/3T1fAmdtAWZsCswTJCkQVNa0qWKSKPOpHAUhD9DrbVcyoYkwqhvh17vYAayXLQyKGYdxlUDFp494rBXRjYgO17DDYetNIUj/ezp6S0lnlpEwsWmJMkOwsKXeZKEAjIHn0EQJISaRBcO6UMINz7p/bEjjnw4ft+xmDvksxX4G2rIris7qaeKwAFMP2Oi7n4criuZwtpSUwpfLxSnORSrIqusc5ZFaXysqRWjiZ2DyAWEIL35tVSoQElFACjOeGGSE7AHEQgdo/LSvCOgGBvkxsmDbvlS3Fp5vhaB2TAGqRKrKKMrhLVpaGzEVjZ0OQxDhaCTA+QyRR1d15aQzrJntL3RibsipjG6jlgL4yqbS0sNYg1e84vhbBVrElK64CUcWYXDfKxhpIuxiVJZUxsbMy/uRBKTNRQ4kQ3LdRYLS0rJjRPlTPqY6gdJsEDc+aQXAn+HgsNUCbRuF0Oj0zwnA7bWDkbhO5Ens00qeQhS1laBMl5M/cAaxsLF8rKyql+Tf7ELLEGu/ixiimdCvo0TjfpjKwaggen4eh5v7LokLKbLuyvHhcZG8dhGrEDx7Hg93ZppJF7qBqO3iVveXEDQNInzeoe8Yq6ePaZBZ2JviM3W2UAGotekRCAGq4EkF1X3DOnR11yRsBL1tRa0PVcZiNFXZ2c34FskvomInQQ6lzpJoZbJxk43NwKJFBquJSsrByHydxKOnTxQASBmS3j+JMnsHSla3Ec6K9VWoJVn9zfjwOM7hqYAAqJQwE2a3nA48J2QGegRkpZNivSY+ys3EkKd4oJIwsvIHl3cWgLt5k4NH6OmtLWdpurOkwEMupYc7eMtDRhOcI2ui5JhVIzXzLyto/GAPuZoyo8wkoduVgJglCt7OhGbgID4Mq4si+63zUS1FuFFXFlqyaj2emHlLMcBqYu0FMuR28BbB7lOxRMSiCQXFhCKuwkhZ+pYDiGSgbsKKV8MiSRsuHSIWM9rklRiIlZZuqXjsQK8ooYJMgq3JKWVkhHbhsVxFUzthOWPkYijcbx54IKsSdT+uLr3crGKyoYgFiGR9iBk4kfloUX+JIlQRQqabmpgnhqtpQpb6RVQ1WH5DnrS4hEoGZqaerQ2dhFbz8XePxShmDbo70eISjoorO2vK8SJXI4SUmEU4zWKDzUDtWTYw7xXlbSTEj4FRg7zKnKoGRALv0Gs9Tgc1BpCywGZRQAtqVz2xrBcAMzEpfZwFSa2G5W0QBFjSMapWAEFa3HcGN7CxDzECyIkJ97qwrqWNTWVo876PPsjPkj2wvgroM5lLZKMETKVql/CvnWVFiFa/SzJUQwkoZsr67Y6vlSRV3/2tmNTOY3vnaxYwMuoPKqdzR1w7IqHymlPxaAThfU7Ko2ZXYj4AYJHL+kNdKwRQYESTRa5fsUZ/rVC1TMTyWVyYoqNtuzaHsMyv2tvoarxdfqwYgU1axFo/cnql1FGsqK+uAROV8BX4GU8WcZTATi2q7Qcyi0O0V+GhWBMNRUkn8H1SsWVE5By3Gi0ECqUeJoBfAtDa4amkdXG37AGP5Ggeb84p7UazpoKRzdFzeQ8HkoHGxprKy/Hpm5t12p47J6xTYDEz7uINEXSuxYXvFskYAc+ySxH9sf5ftKzU6IbwVBcUGg5e5FMCEXSErZR0wGayV19woM9guPjTqJdVTqR4uE4nJnLldWVkECCZLd2VLF+xtamex7IpiriSDUpvrpn9lrwGMCHyppMH+ps6LILsuFGUj1XEOXiqbqSHPUKnClpWV68kqtURVNDY4TNaocykoYeTU5ngGEQa/S1DnnE4AeXMcKjHPAmFVjCBENaeyLVNHfr3px8xUstJ94hIpfH4HKE/eDaArK6lSyVVFbdt1gxTIVk3pppVlFXi4pEhVBTObquohU85MLXn1iahvUkHJjSCMc01tLFveVVBx0DodM6jftCu7DOtIzYxrc0qp1JGP2ayYFz2Gb6HvMrO8cnGtV6Gjm3uImSfD2GpWK6uowbZGMxFKQCo1pOMtcMXFpRst+hXGoAomF3sSTBGgTglbBKWwsQ3tZqaYSp0Z1CimRDWFcCJUPYJ00BI5FkKYNoifuQxmN88SWVXWLMaUqqqgC0BmQJR6sk3u9NCf6jYLXxAfqsYEgVLAhRY2AtgtflZNFmFyhxdrLkAdWlk4D88M2ixHyepIdhMHrG/iR1ZGtq0MGpbDbRPYOXeSY1M6Ny4ZstvGSktK+XbFPATj2D371saPEsAMXhXrsZ0km/XStkhhMyBfsa6uXFZe2VCe+YMr1+GKgwrQyNYq1VRrB+EizAow6NsdNKcyVEkYeM73ys6q4kAHp6BiFklTkIrVC5oYV7uzwOGCz4UJ0Stq2lWMJy4wtb+RetL6tZFicnJmBw5UjCvXXMZVJX2MQkbf+XN5EWd78Vz8/JEsMZTBiKNzsm1inLRUQ74H4NidaqI68j5sAFgxcRveC7ieLJXfQYxjZZ2CsiWFewZXJmBIlZ1tdtrX4hSuateKso/RZOtOKW2nmq1oTzeK6dRWAWu2NRVb4hq0SXm1GvtugHrbr5IXqmSktg5CuDE2MSlPwsY5kNE2Wp3AqiZbWVLAxiBF+2iBZbuNj6MB6rsMLC7FyasaYDyo7KkoPyEtw3pEMXfPvxAJi2jAQQgjrz0rLIZSWZlIoNhwd5xK4AR9mYNjWAaLrnuImJeBVN9zBORObVvbr+mTTfFSEJLSRnHo7hEJoIi8MFqjxmvgmF5URZz4zLFgZZ8Ctu2X7ggVccKm9gVxIsOHqxXgNMKnFWZYnf1dBnOhayXq17QwFlWW09eNKyVJFmXqaONGA5aCegMbJ3UUkGY1ic3nKWgjq8qfVYGQG1gRt6rs62a6HiqqUOqdesK5NmX4nGofJoiE1d0dF9lVVkvT1/kEEaaCoYOwFpcVcoLM+7669PxC9rWqktH0sWUYld0VCpuBZ/stVRcGgy9WX2+U1Qthi9SzAqSxzZsy+OiFzBYnySGV6Gku44rD8BCOZBV3BvD5+AKRHNwMEsB6EzHnJpkTAeiUlEGkcECeB6GDZTp5YEJTlvdrknxYjTllMkfNtXwDjM7uVjK5JXUUn43rrqpK2jytaxHW0M5G8DC8rtHMYs7KSgduVQMGTYFqFvVS6rkD3sDJ46afdYFwoq11AOKCBLhvwoUgc8IGANycR6knZrdJPdsuxnyjfd3FovTlRMdEdtOl5CMV5EHsXQBis7TOwvIDZaGj2Vnpbh7cpK63VwYEMLwqbjzyl699sawFFkF1yqjUU31HfC6sW1ZFVFuXVXVgz9keEaw0ys1lWfm+azQAQSWA+hKYVfsZjPncAcUB9oIayy/UZXRNckDGji77GsWbvBo6tPrWPqOyVkBUq+INeqpzNdYs/u0ifh5qmpqIW+33JVSUcwY70KL4U9lYdU6ljtSls7lmfi9g3YzeQfVkaGFaV3ODCnaD2N8wsEDFklE3RzM3ZghdYkWHsszq70FIecnKkVkt8ezMzRq9bkGuKojRLBVSod3Y1yPqKgYW7JRQTPVyy5xIYLjOgxgT52RKJUY1dOrIiRd4futQx/A5AcSmEjz0vFWrkLzvbWAu9HOWbGgxFk1VNTpnBKk6TgwisI/HcxYXP1uAWO72ULFlBTq+aSu2VTUs6hrxM2CF+hEor1VIA9ZmFUaab1lSSgZsVs4sxzHlVLoJHr9H4DhONTkI1XC0/wiY2NoWAG5RlnHFnq6oLccpQddMuJ/O17JVA5OHLi0BqCztq7Y1++ucCd98qLI8MIHBV/cKjxQTme3hFBS3MyCqnDsuym2o80HjvFFTtrURmNaGJsmVahImjTsUXKtQZTAVs7Mvv8/+fzUrZAXcLJ6M4koe6XP0b6SmWWNDzyUpQ8bl+LtWx4tuqZ36cRYV3yuVxPNwvIiqiQCSmu7srgTzR6nkyhpCarXwFy1vGd5iP2cY06lFr5Njhhg1Y6+NB28ftbK83s8rf7kLJbKwDFPbLg25a0AdZJEiqr5phixKMDlRUtcssq1hriLqGoH+zeNgVm9OemjsETV8JdF0NHnkIFxWY1OB4Yrp7rtWJ7NgAAAPXklEQVQ3oNs5nplyVf8u2FoLu1JrHveaZWQjqAkshtFa2gzsSG3Zpkbvg3HafF9slPPlldjFlK80Gysm8Mr4MPhneNWENPGjAIpmilTPATdTRTXlCBYHYAQuPwA36xIpWtGN4q3Y2MhiGsUpuSSnlEJRD8PorC7CFYVw+F51qThgabxsTxWzCGY0ZSsb3lfqAy0OPNjNy8xiQQKsHYFQ2HBZVvVbBuq3m1oWKajqaonsM6uZUr6CjXWNZ0l5E3h3jURma6kP3MJIiy1Lm+kahQq41N2iZja5sjtlLYNZHZrH6qUGm4vMbDp6Rw2CFmvuyFkrBcCyMtFqBaECmsHoK9BZ2LA/lJcRqSaDqnaWbrZdGaz3DLgIvBln4woGztbyJGqslwxkhhHrTjTYFXCtOoKS8uLdofVdAbOylGU6nlYpXWZts4nXBq6WxJitMNokHUJnbnJplQm+aGpY2a5GMV2QD1hRubBPFKdumf5OHkLHz0F9luE5kjBjRa0nFE5CUGqHw32MmjZ6xkgINVnSnZ1VZStK2qKlRaLlQgK7uTq7JFXJwM+3SOEKyhZNI+tJ0I5qMYy9k2qJD7dVWdqKXa0CKNR0Ccjg+B2IYu2fcBZJZkMFgM11r0X92wilghFGgzVnexlqB7xL9mS29SiYUVY2nXOZjNBRsyDsQPRWW5hrZ4XcdC4HVWRbjgJr4sFofK5SzjQ7rhI1UebdPdEbj6sqIvTZQZ5va08rABsAW0UxeWytAk7A2KJ9ZpxzCioB24XFtYAeXYxr6anSqhLgppEqWbGwLunTgrV+IjWlL29ljaAl4EQMGsErp4apeZiquwRXLXAqOCeru32mmydc6oWTSWpFAGdzeTB8RTHVMEtlM90CbbQCYhPjq3egYr1FGdYIQjiuDGZ5zZ/AzobKGOyLxti6c4Rwtv2anyWlLICnlLhxJRXt6A5ebDBWFNONbxWZ2d02mnu4S9YECpeppV1zSWRBWxHYzVIv1CXSouwqqX3jBBBDZdYQbpTQW4ZQlS8r5kH4suSRmg2++3JN10x1PaAmEkmtYlEdeGpJEM6kOuCqCR22oSujj5IV2HdT0zj5prLKTjXFAPjdQlyq7xIBxAQP5yMczG4VxAKw0n6ilZ2QBce2pLulkuxxqnoIzFfgqyqjil9S1VNwBrFmeyeops8yOjZUybZdfS8CuaTIJumzs5tODaNtLpFDQ/PcJGweLhmeL1nB0KqiUDScsiUVD89Di3HtrKtSULw3RLiygZD+7sF8JTObgYsrGvDNUFRGl1iy0Ll1YkUc2aJYMog920I8qW6YDCg1Mqk0JHJFKXkbgbRreI+qpYNOZHrVcDUba7pjsphSJNtK6upgRNAVoOS0mugBeN4bIZgHhuPZ/s1ENaX6KsVr+YNrh1Nb7ipR0PE5zbNRegCbrHRUw6Yf07dLBJl1f8KB9as2V1nNqAsl62LBBhehwalerkHmB1JFIEZKSEusdl5JQj1nJlHXSCF342gJ9CYGrXelknJIXqVP8sD+qtplCR3XH2qfKq0ygMp+KnVkKxNlZ8m2YkIlVMiCnXUwl7qznBKSvQz3m3Pt6oQbXO5b5FixCh/fHxUQW/AEcK6zCNqKQnL9sywqmKuwvqSYzT/aPVNNpVyhvRW21aqciCsjdWvBwILUvh5VyCzbWoC1pJjJ680CWsl+udKB6T5RwG1mlohnlpbg47iz5U9ha0FGtmRLFYBtO99y97Ap0z+ZDTAog6kSLZsMHg/IFkkgp6CpvU2U0cYVSdnmkjwBdOmXbxTWNWzuIbipMioVxEckZEoahSOiy2M3K0jcC1LhVDwaqG0ZvkcWqCnrG4GIxykrqlbWdw6LQyBaZR8HmLRIhQWsHswD42ZXVLNkf9l+FlW0HVQ2lwFsC/Z1FdzlQR0KaPfo+Fdfu+/dwVRICu1CGR7AEIiAhc+AZUF0kOBaPxmUqg4i64vQnU4nFDYJ9Nz+1fVXveH9qmr+kPILx8oKcRV/BFbxbE0JMT0kSD4w6L/lNY8ocsqagVdU3A3MjxhxcGuqzsPH4irpaow1q6OyrVjvp9Npc59E91LldboYVzJWdimWfAW2SNEKcDaX2FmBLLA/uKxlmhh613Is1URQApbKfttwxL02q6Onx5pQxSbPojAg+v5hAnN6LHVRDXIsvKtRjiS0qJUyZTAXVbAK82ElFJWaQdVoqUC1Unt7BVaTQudM6SuqexjQJN4+0icaxv/utbKv83ETbT8H8gjcOKxOJmbUa6OOVXht3dFY6rHv9XoNzFLceEA1o8+pKm0LAHPHZ2rYKjFq0hfZFixsqHJgD3eD5n+U0kb1mFjXkn2lvMSSOsNE/CdIAKF0Sytq6urOHUN5gwg4GZosgbmggM5ucra2qrS2Ig1cbiBBcxYzgzUDNLCvL8GbZXNp6ORy3LmS+Kk83zRIAK6A1ioKa2I9NapIuiUFdfC9766PFZUtqUr6KbWk+zZU1a/ZrIXEztrjTOfz7hwKziCeXIaraHtbZIMz+2pGgazCmw4qWAFvEdhodYp0Xq0pV7G1YWYWbO4qhGq42+Z8BYtrLWvluNPpZAeaFFS1vubPgbgxsqcpnAaszBovKaFoDQ8BGtjfUOl4NAG2nmQV04feJgumvX2fsrQEWZghL0JnVdYkn3DOZIeRN86RqPWCmsvGVqEMRnwxQAxwS8EMYo3IzmY2+BCcLp4MKiuyuhImamlbZFcNoNl7tp+RHd18ZjQIRKyXdFRhN98/hyKqwXWNo7O1wiaXoHN108REZZWEq6grnIfjzeg8jdRf1XEL4kkXa5bBjKxoKaljBjeHlVxQ4GaycpW4lDOAKtnTxHAtOfzOtZwHAM7sqVXkV6yu6kap1nHkXKqWF/4XHqjenNKqBjpR3l1ch3Ejg1+EsgdQhsdG0B4FM9sWAVWpuAyiwTPleZxt9VyZVS2qXfReWqTAilpr9ApoWTjxymit7NwV4JTriZyOA9B0k7HFfULourmKYHVnRQvqGL5HMHdqFcR2qWpmcK6eTwx2dipWrviDilr+fKWq3OWRWdHKwA4eu8wjchbeRzFilqjjZN3ufCpfkJ0/scVpnYk6L0PI77lxdWCZ87WiWm7B/AGquQSnujGKsB8CJmiJq8q1pKIVWyqOiTK66r18BN8r74/AE71fdC3yPS2MxdOpnE1tlVxD9JmVOoggN+r4PjAXVFPa3Eg5jVJGFVUGNolH20GVrUB7BOySWq6WqYQdWR92pcFMYMwckbSgCKCqD67DiiWu1g8MQC9ByfcFqW1L+jL714qNCuznoSxt0da2gtWN1G8F0BK0NN0nuimelUF9dIdAfjO44UT3CjQLoUeLHJFTO3gmpRuIIOvwBQCbqNeo3qtZ9iF6xVK13GRlo4zqimq+CGdTiR1uRY8oqgE02hZBa79kZXPMquxRHKla2saZWN4mRqZUj0vLCKhkjKnqOQHNuSZVJoKvAqS1wpEquvWDC1B2ypwrCPsRMEPVTODMLJMDv6qeKXwi2JYV5Sq4qKyvgGsHCLiuj2jR59V8gMqSJ2FJZRXEHVRHj3sFPrct6OpqlW1GpatQdt0GvwfM6n63InsGVFhJGaBqgqqIV6IsXllZgySPq4R3bnt3wi5cv+cN2yqQLW1T95KYVsWWtKk4cB9W53WQQflQYR6Wl4HaJZjvVE0D5yvq+RKgZCs5qdBEP5sD94cAvQLlSgNaSMAtHx88BuNQ41zdFsX30zKbcs0MLD/ihkpQzl0wiTqKLTfbKmCmyYICnK0IbaieC4CG9iSyLQ7cIMGQwau6TKoq60Apl3WN40LZpca1CKKK9VQyyIEn8w0F8F6CL2h8o3ixGwC7s7EWzCOqmcApYxYD4jsAzVS0sl2t98pA7vrKophCVSonbYpgH6mvSn24pTBV4sdtV3BtMq5k82y+IADvUJ0uAlkCVTxIaPm+UNu/qkV4F1TzHXCGrXIAqItBKypqK99VtAOVs64O4ObX7pHLVCpYHcRmwvLR7TvYAKBBN58LGVzDuFz+hQbWgncQyCZAk+VbsPSouf93261iZgmfCpwRbAvqmSqriU2PwhjaoOyYqtIegVXViTsmyta6bGySpY3gyRrpIyAeaWDDxtpsXwKyalMDKNP7YBXMqEskUsi2uC8FNAPxAKTVfT1o6VzM0E0jF+1rWcUuHvdyg7vgoFplX8HpvHpMCOMRUPHzZkInsqlFKNX/EIO52E0SxSzOwob2VmRLW5D1XIU0rbgM1AzWgyC7fe8G7xUAK/taEBat7luqtyP7EmsaJQOj5F+mrnZfCuYCfBUAWwShyd6pMY/vAHG1UqOYpbI/gy5T0CMKm+UO3gFuC85dgfDVeguPDfITrIBLsLrcgdh3CFgFZjaKJ4Iv3F8ANEqvuxR1tVKOgLoCa1jxboBAkj6v7j/icFbA7f4rfRnQDLRViG13i0vqBQrYVqBbADZT0ZpiHoSzvQpopKIFS3sE1HfBWlHXd0H7LnArqvougMtljHBgZnh3Eoz/BKjLML4Z2Aq0+hEJr9jaVUBbvNzCIUiroC7AWmmFw4o5AK3MtB5VypZMSFgs05JyGVwlwBqsEGAAa2ZU1CjUexXGsE4rKriilBvFzOKKo3AuAroE6QFQU3u8YpNXwS5k+1TZt5UrwouN4KiUEw+k3ZWDp1RXHNRqXb21Ts39945yZSg3VnZFNQ9CF3XeZyr5DgBXKiwCMa2MxeTDYXgP1Fsf9QNKZc0k81RJk3r6EQ3rCmBVyLL75EjZ1pIVDHoFtiOAHoB0BdTVylqBsKKKS+AeBXJVLY+CXASuGvO/Auq7GuEjDfGKg1oKa1z/dmmi9I9SUGNhl0AtfulHAawoYrnSkmNXAVuGEhrEVXvUF+A5Ct2PqNOjDetyna4CmeUolmeXLN4Aq7C5Sj10Q7yjgl+t6CNxSRHmI5X+CpwreYB3Qfdqna4q21KdBuc4GoZsn49ZOOiVinwHqK9WzjvgeweEh2AU5+vtxZ9Cd9Wqkh49V18E5oj6vVyn0RStAyGIO5edXRKd5B0VGVXq2yr3xYp+5Ut+C4QJ4P1N339pQMjRejj4vb/Dcr6rQc3O/0rjmtZpeYCBiCHfCemRbNhbK/pNUPc3wfKy5f2D7OlL3/uPhve/oU4T0F8f+VNM2vyoiv0jK+KHQfdHq+0bncz4oz73/+Y6LbKw1o/5B7eOf1Rl/0du9B9tn/9bvrf/j+v0h6ttn2tp/r/4819y4/zv5391uvzzfwDifz6phT1MPgAAAABJRU5ErkJggg==)}.color-picker .cp-add-color-button-class{position:absolute;display:inline;padding:0;margin:3px -3px;border:0;cursor:pointer;background:transparent}.color-picker .cp-add-color-button-class:hover{text-decoration:underline}.color-picker .cp-add-color-button-class:disabled{cursor:not-allowed;color:#999}.color-picker .cp-add-color-button-class:disabled:hover{text-decoration:none}.color-picker .cp-remove-color-button-class{position:absolute;top:-5px;right:-5px;display:block;width:10px;height:10px;border-radius:50%;cursor:pointer;text-align:center;background:#fff;box-shadow:1px 1px 5px #333}.color-picker .cp-remove-color-button-class:before{content:"x";position:relative;bottom:3.5px;display:inline-block;font-size:10px}.color-picker .eyedropper-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);fill:#fff;mix-blend-mode:exclusion}\n'],encapsulation:2})}return i})(),Be=(()=>{class i{injector;cfr;appRef;vcRef;elRef;_service;dialog;dialogCreated=!1;ignoreChanges=!1;cmpRef;viewAttachedToAppRef=!1;colorPicker;cpWidth="230px";cpHeight="auto";cpToggle=!1;cpDisabled=!1;cpIgnoredElements=[];cpFallbackColor="";cpColorMode="color";cpCmykEnabled=!1;cpOutputFormat="auto";cpAlphaChannel="enabled";cpDisableInput=!1;cpDialogDisplay="popup";cpSaveClickOutside=!0;cpCloseClickOutside=!0;cpUseRootViewContainer=!1;cpPosition="auto";cpPositionOffset="0%";cpPositionRelativeToArrow=!1;cpOKButton=!1;cpOKButtonText="OK";cpOKButtonClass="cp-ok-button-class";cpCancelButton=!1;cpCancelButtonText="Cancel";cpCancelButtonClass="cp-cancel-button-class";cpEyeDropper=!1;cpPresetLabel="Preset colors";cpPresetColors;cpPresetColorsClass="cp-preset-colors-class";cpMaxPresetColorsLength=6;cpPresetEmptyMessage="No colors added";cpPresetEmptyMessageClass="preset-empty-message";cpAddColorButton=!1;cpAddColorButtonText="Add color";cpAddColorButtonClass="cp-add-color-button-class";cpRemoveColorButtonClass="cp-remove-color-button-class";cpArrowPosition=0;cpExtraTemplate;cpInputChange=new e.bkB(!0);cpToggleChange=new e.bkB(!0);cpSliderChange=new e.bkB(!0);cpSliderDragEnd=new e.bkB(!0);cpSliderDragStart=new e.bkB(!0);colorPickerOpen=new e.bkB(!0);colorPickerClose=new e.bkB(!0);colorPickerCancel=new e.bkB(!0);colorPickerSelect=new e.bkB(!0);colorPickerChange=new e.bkB(!1);cpCmykColorChange=new e.bkB(!0);cpPresetColorsChange=new e.bkB(!0);handleClick(){this.inputFocus()}handleFocus(){this.inputFocus()}handleInput(t){this.inputChange(t)}constructor(t,o,n,r,s,a){this.injector=t,this.cfr=o,this.appRef=n,this.vcRef=r,this.elRef=s,this._service=a}ngOnDestroy(){null!=this.cmpRef&&(this.viewAttachedToAppRef&&this.appRef.detachView(this.cmpRef.hostView),this.cmpRef.destroy(),this.cmpRef=null,this.dialog=null)}ngOnChanges(t){t.cpToggle&&!this.cpDisabled&&(t.cpToggle.currentValue?this.openDialog():t.cpToggle.currentValue||this.closeDialog()),t.colorPicker&&(this.dialog&&!this.ignoreChanges&&("inline"===this.cpDialogDisplay&&this.dialog.setInitialColor(t.colorPicker.currentValue),this.dialog.setColorFromString(t.colorPicker.currentValue,!1),this.cpUseRootViewContainer&&"inline"!==this.cpDialogDisplay&&this.cmpRef.changeDetectorRef.detectChanges()),this.ignoreChanges=!1),(t.cpPresetLabel||t.cpPresetColors)&&this.dialog&&this.dialog.setPresetConfig(this.cpPresetLabel,this.cpPresetColors)}openDialog(){if(this.dialogCreated)this.dialog&&this.dialog.openDialog(this.colorPicker);else{let t=this.vcRef;if(this.dialogCreated=!0,this.viewAttachedToAppRef=!1,this.cpUseRootViewContainer&&"inline"!==this.cpDialogDisplay){const r=this.injector.get(this.appRef.componentTypes[0],e.zZn.NULL);r!==e.zZn.NULL?t=r.vcRef||r.viewContainerRef||this.vcRef:this.viewAttachedToAppRef=!0}const o=this.cfr.resolveComponentFactory(Se);if(this.viewAttachedToAppRef)this.cmpRef=o.create(this.injector),this.appRef.attachView(this.cmpRef.hostView),document.body.appendChild(this.cmpRef.hostView.rootNodes[0]);else{const n=e.zZn.create({providers:[],parent:t.injector});this.cmpRef=t.createComponent(o,0,n,[])}this.cmpRef.instance.setupDialog(this,this.elRef,this.colorPicker,this.cpWidth,this.cpHeight,this.cpDialogDisplay,this.cpFallbackColor,this.cpColorMode,this.cpCmykEnabled,this.cpAlphaChannel,this.cpOutputFormat,this.cpDisableInput,this.cpIgnoredElements,this.cpSaveClickOutside,this.cpCloseClickOutside,this.cpUseRootViewContainer,this.cpPosition,this.cpPositionOffset,this.cpPositionRelativeToArrow,this.cpPresetLabel,this.cpPresetColors,this.cpPresetColorsClass,this.cpMaxPresetColorsLength,this.cpPresetEmptyMessage,this.cpPresetEmptyMessageClass,this.cpOKButton,this.cpOKButtonClass,this.cpOKButtonText,this.cpCancelButton,this.cpCancelButtonClass,this.cpCancelButtonText,this.cpAddColorButton,this.cpAddColorButtonClass,this.cpAddColorButtonText,this.cpRemoveColorButtonClass,this.cpEyeDropper,this.elRef,this.cpExtraTemplate),this.dialog=this.cmpRef.instance,this.vcRef!==t&&this.cmpRef.changeDetectorRef.detectChanges()}}closeDialog(){this.dialog&&"popup"===this.cpDialogDisplay&&this.dialog.closeDialog()}cmykChanged(t){this.cpCmykColorChange.emit(t)}stateChanged(t){this.cpToggleChange.emit(t),t?this.colorPickerOpen.emit(this.colorPicker):this.colorPickerClose.emit(this.colorPicker)}colorChanged(t,o=!0){this.ignoreChanges=o,this.colorPickerChange.emit(t)}colorSelected(t){this.colorPickerSelect.emit(t)}colorCanceled(){this.colorPickerCancel.emit()}inputFocus(){const t=this.elRef.nativeElement,o=this.cpIgnoredElements.filter(n=>n===t);!this.cpDisabled&&!o.length&&(typeof document<"u"&&t===document.activeElement?this.openDialog():this.dialog&&this.dialog.show?this.closeDialog():this.openDialog())}inputChange(t){this.dialog?this.dialog.setColorFromString(t.target.value,!0):(this.colorPicker=t.target.value,this.colorPickerChange.emit(this.colorPicker))}inputChanged(t){this.cpInputChange.emit(t)}sliderChanged(t){this.cpSliderChange.emit(t)}sliderDragEnd(t){this.cpSliderDragEnd.emit(t)}sliderDragStart(t){this.cpSliderDragStart.emit(t)}presetColorsChanged(t){this.cpPresetColorsChange.emit(t)}static \u0275fac=function(o){return new(o||i)(e.rXU(e.zZn),e.rXU(e.OM3),e.rXU(e.o8S),e.rXU(e.c1b),e.rXU(e.aKT),e.rXU(J))};static \u0275dir=e.FsC({type:i,selectors:[["","colorPicker",""]],hostBindings:function(o,n){1&o&&e.bIt("click",function(){return n.handleClick()})("focus",function(){return n.handleFocus()})("input",function(s){return n.handleInput(s)})},inputs:{colorPicker:"colorPicker",cpWidth:"cpWidth",cpHeight:"cpHeight",cpToggle:"cpToggle",cpDisabled:"cpDisabled",cpIgnoredElements:"cpIgnoredElements",cpFallbackColor:"cpFallbackColor",cpColorMode:"cpColorMode",cpCmykEnabled:"cpCmykEnabled",cpOutputFormat:"cpOutputFormat",cpAlphaChannel:"cpAlphaChannel",cpDisableInput:"cpDisableInput",cpDialogDisplay:"cpDialogDisplay",cpSaveClickOutside:"cpSaveClickOutside",cpCloseClickOutside:"cpCloseClickOutside",cpUseRootViewContainer:"cpUseRootViewContainer",cpPosition:"cpPosition",cpPositionOffset:"cpPositionOffset",cpPositionRelativeToArrow:"cpPositionRelativeToArrow",cpOKButton:"cpOKButton",cpOKButtonText:"cpOKButtonText",cpOKButtonClass:"cpOKButtonClass",cpCancelButton:"cpCancelButton",cpCancelButtonText:"cpCancelButtonText",cpCancelButtonClass:"cpCancelButtonClass",cpEyeDropper:"cpEyeDropper",cpPresetLabel:"cpPresetLabel",cpPresetColors:"cpPresetColors",cpPresetColorsClass:"cpPresetColorsClass",cpMaxPresetColorsLength:"cpMaxPresetColorsLength",cpPresetEmptyMessage:"cpPresetEmptyMessage",cpPresetEmptyMessageClass:"cpPresetEmptyMessageClass",cpAddColorButton:"cpAddColorButton",cpAddColorButtonText:"cpAddColorButtonText",cpAddColorButtonClass:"cpAddColorButtonClass",cpRemoveColorButtonClass:"cpRemoveColorButtonClass",cpArrowPosition:"cpArrowPosition",cpExtraTemplate:"cpExtraTemplate"},outputs:{cpInputChange:"cpInputChange",cpToggleChange:"cpToggleChange",cpSliderChange:"cpSliderChange",cpSliderDragEnd:"cpSliderDragEnd",cpSliderDragStart:"cpSliderDragStart",colorPickerOpen:"colorPickerOpen",colorPickerClose:"colorPickerClose",colorPickerCancel:"colorPickerCancel",colorPickerSelect:"colorPickerSelect",colorPickerChange:"colorPickerChange",cpCmykColorChange:"cpCmykColorChange",cpPresetColorsChange:"cpPresetColorsChange"},exportAs:["ngxColorPicker"],features:[e.OA$]})}return i})(),Ve=(()=>{class i{static \u0275fac=function(o){return new(o||i)};static \u0275mod=e.$C({type:i});static \u0275inj=e.G2t({providers:[J],imports:[h.MD]})}return i})();var Pe=m(2578);let Q;try{Q=!!new Blob}catch{Q=!1}let re=(()=>{class i{get isFileSaverSupported(){return Q}genType(t){if(!t||-1===t.lastIndexOf("."))return"text/plain";const o=t.substring(t.lastIndexOf(".")+1);switch(o){case"txt":return"text/plain";case"xml":case"html":return`text/${o}`;case"json":return"octet/stream";default:return`application/${o}`}}save(t,o,n,r){if(!t)throw new Error("Data argument should be a blob instance");const s=new Blob([t],{type:n||t.type||this.genType(o)});(0,Pe.saveAs)(s,decodeURI(o||"download"),r)}saveText(t,o,n){const r=new Blob([t]);this.save(r,o,void 0,n)}static#e=this.\u0275fac=function(o){return new(o||i)};static#t=this.\u0275prov=e.jDH({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),De=(()=>{class i{static#e=this.\u0275fac=function(o){return new(o||i)};static#t=this.\u0275mod=e.$C({type:i});static#n=this.\u0275inj=e.G2t({})}return i})();const Me=i=>["segment",i],Ge=(i,l)=>({"segment-main":!0,expandable:i,expanded:l});function Ne(i,l){1&i&&e.nrm(0,"div",9)}function Oe(i,l){if(1&i&&(e.j41(0,"span",10),e.EFF(1),e.k0s()),2&i){const t=e.XpG().$implicit;e.R7$(),e.JRh(t.description)}}function Xe(i,l){if(1&i&&(e.j41(0,"section",11),e.nrm(1,"ngx-json-viewer",12),e.k0s()),2&i){const t=e.XpG().$implicit,o=e.XpG();e.R7$(),e.Y8G("json",t.value)("expanded",o.expanded)("depth",o.depth)("_currentDepth",o._currentDepth+1)}}function Ye(i,l){if(1&i){const t=e.RV6();e.j41(0,"section",2)(1,"section",3),e.bIt("click",function(){const n=e.eBV(t).$implicit,r=e.XpG();return e.Njj(r.toggle(n))}),e.DNE(2,Ne,1,0,"div",4),e.j41(3,"span",5),e.EFF(4),e.k0s(),e.j41(5,"span",6),e.EFF(6,": "),e.k0s(),e.DNE(7,Oe,2,1,"span",7),e.k0s(),e.DNE(8,Xe,2,4,"section",8),e.k0s()}if(2&i){const t=l.$implicit,o=e.XpG();e.Y8G("ngClass",e.eq3(6,Me,"segment-type-"+t.type)),e.R7$(),e.Y8G("ngClass",e.l_i(8,Ge,o.isExpandable(t),t.expanded)),e.R7$(),e.Y8G("ngIf",o.isExpandable(t)),e.R7$(2),e.JRh(t.key),e.R7$(3),e.Y8G("ngIf",!t.expanded||!o.isExpandable(t)),e.R7$(),e.Y8G("ngIf",t.expanded&&o.isExpandable(t))}}let se=(()=>{class i{constructor(){this.expanded=!0,this.depth=-1,this._currentDepth=0,this.segments=[]}ngOnChanges(){this.segments=[],this.json=this.decycle(this.json),"object"==typeof this.json?Object.keys(this.json).forEach(t=>{this.segments.push(this.parseKeyValue(t,this.json[t]))}):this.segments.push(this.parseKeyValue(`(${typeof this.json})`,this.json))}isExpandable(t){return"object"===t.type||"array"===t.type}toggle(t){this.isExpandable(t)&&(t.expanded=!t.expanded)}parseKeyValue(t,o){const n={key:t,value:o,type:void 0,description:""+o,expanded:this.isExpanded()};switch(typeof n.value){case"number":n.type="number";break;case"boolean":n.type="boolean";break;case"function":n.type="function";break;case"string":n.type="string",n.description='"'+n.value+'"';break;case"undefined":n.type="undefined",n.description="undefined";break;case"object":null===n.value?(n.type="null",n.description="null"):Array.isArray(n.value)?(n.type="array",n.description="Array["+n.value.length+"] "+JSON.stringify(n.value)):n.value instanceof Date?n.type="date":(n.type="object",n.description="Object "+JSON.stringify(n.value))}return n}isExpanded(){return this.expanded&&!(this.depth>-1&&this._currentDepth>=this.depth)}decycle(t){const o=new WeakMap;return function n(r,s){let a,d;return"object"!=typeof r||null===r||r instanceof Boolean||r instanceof Date||r instanceof Number||r instanceof RegExp||r instanceof String?r:(a=o.get(r),void 0!==a?{$ref:a}:(o.set(r,s),Array.isArray(r)?(d=[],r.forEach(function(p,F){d[F]=n(p,s+"["+F+"]")})):(d={},Object.keys(r).forEach(function(p){d[p]=n(r[p],s+"["+JSON.stringify(p)+"]")})),d))}(t,"$")}}return i.\u0275fac=function(t){return new(t||i)},i.\u0275cmp=e.VBU({type:i,selectors:[["ngx-json-viewer"]],inputs:{json:"json",expanded:"expanded",depth:"depth",_currentDepth:"_currentDepth"},features:[e.OA$],decls:2,vars:1,consts:[[1,"ngx-json-viewer"],[3,"ngClass",4,"ngFor","ngForOf"],[3,"ngClass"],[3,"click","ngClass"],["class","toggler",4,"ngIf"],[1,"segment-key"],[1,"segment-separator"],["class","segment-value",4,"ngIf"],["class","children",4,"ngIf"],[1,"toggler"],[1,"segment-value"],[1,"children"],[3,"json","expanded","depth","_currentDepth"]],template:function(t,o){1&t&&(e.j41(0,"section",0),e.DNE(1,Ye,9,11,"section",1),e.k0s()),2&t&&(e.R7$(),e.Y8G("ngForOf",o.segments))},dependencies:[h.YU,h.Sq,h.bT,i],styles:['@charset "UTF-8";.ngx-json-viewer[_ngcontent-%COMP%]{font-family:var(--ngx-json-font-family, monospace);font-size:var(--ngx-json-font-size, 1em);width:100%;height:100%;overflow:hidden;position:relative}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%]{padding:2px;margin:1px 1px 1px 12px}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%]{word-wrap:break-word}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%] .toggler[_ngcontent-%COMP%]{position:absolute;margin-left:-14px;margin-top:3px;font-size:.8em;line-height:1.2em;vertical-align:middle;color:var(--ngx-json-toggler, #787878)}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%] .toggler[_ngcontent-%COMP%]:after{display:inline-block;content:"\\25ba";transition:transform .1s ease-in}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%] .segment-key[_ngcontent-%COMP%]{color:var(--ngx-json-key, #4E187C)}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%] .segment-separator[_ngcontent-%COMP%]{color:var(--ngx-json-separator, #999)}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%] .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-value, #000)}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .children[_ngcontent-%COMP%]{margin-left:12px}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-string[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-string, #FF6B6B)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-number[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-number, #009688)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-boolean[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-boolean, #B938A4)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-date[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-date, #05668D)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-array[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-array, #999)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-object[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-object, #999)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-function[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-function, #999)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-null[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-null, #fff)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-undefined[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:var(--ngx-json-undefined, #fff)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-null[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{background-color:var(--ngx-json-null-bg, red)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-undefined[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-key[_ngcontent-%COMP%]{color:var(--ngx-json-undefined-key, #999)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-undefined[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{background-color:var(--ngx-json-undefined-key, #999)}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-object[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%], .ngx-json-viewer[_ngcontent-%COMP%] .segment-type-array[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%]{white-space:nowrap}.ngx-json-viewer[_ngcontent-%COMP%] .expanded[_ngcontent-%COMP%] > .toggler[_ngcontent-%COMP%]:after{transform:rotate(90deg)}.ngx-json-viewer[_ngcontent-%COMP%] .expandable[_ngcontent-%COMP%], .ngx-json-viewer[_ngcontent-%COMP%] .expandable[_ngcontent-%COMP%] > .toggler[_ngcontent-%COMP%]{cursor:pointer}']}),i})(),qe=(()=>{class i{}return i.\u0275fac=function(t){return new(t||i)},i.\u0275mod=e.$C({type:i}),i.\u0275inj=e.G2t({imports:[h.MD]}),i})();var le=m(99062),V=m(38117),c=m(89417),He=m(28990),ze=m(96354),A=m(3366),v=m(19664),P=m(45794),I=m(97013);function Ue(i,l){if(1&i&&(e.EFF(0,"\n "),e.j41(1,"span"),e.EFF(2,"\n "),e.j41(3,"b"),e.EFF(4,"Device name"),e.k0s(),e.EFF(5),e.j41(6,"b"),e.EFF(7,"IEEE"),e.k0s(),e.EFF(8),e.j41(9,"b"),e.EFF(10,"Ep"),e.k0s(),e.EFF(11),e.j41(12,"b"),e.EFF(13,"Nwkid"),e.k0s(),e.EFF(14),e.k0s(),e.EFF(15,"\n ")),2&i){const t=l.item;e.R7$(5),e.SpI(" : ",t.ZDeviceName," - "),e.R7$(3),e.SpI(" : ",t.IEEE," - "),e.R7$(3),e.SpI(" :\n ",t.Ep," - "),e.R7$(3),e.SpI(" : ",t.NwkId,"\n ")}}function Ke(i,l){if(1&i&&(e.EFF(0,"\n "),e.j41(1,"span"),e.EFF(2,"\n "),e.j41(3,"b"),e.EFF(4,"Device name"),e.k0s(),e.EFF(5),e.j41(6,"b"),e.EFF(7,"IEEE"),e.k0s(),e.EFF(8),e.j41(9,"b"),e.EFF(10,"Ep"),e.k0s(),e.EFF(11),e.j41(12,"b"),e.EFF(13,"Nwkid"),e.k0s(),e.EFF(14),e.k0s(),e.EFF(15,"\n ")),2&i){const t=l.item;e.R7$(5),e.SpI(" : ",t.ZDeviceName," - "),e.R7$(3),e.SpI(" : ",t.IEEE," - "),e.R7$(3),e.SpI(" :\n ",t.Ep," - "),e.R7$(3),e.SpI(" : ",t.NwkId,"\n ")}}const Le=new V.Vy("BindingComponent");let We=(()=>{class i extends He.U{apiService;formBuilder;translate;toastr;form;clusters$;devicesSource;devicesTarget;devicesTargetFiltered;constructor(t,o,n,r){super(),this.apiService=t,this.formBuilder=o,this.translate=n,this.toastr=r}ngOnInit(){this.form=this.formBuilder.group({source:[null,c.k0.required],target:[null,c.k0.required],cluster:[null,c.k0.required]}),this.clusters$=this.apiService.getBindLSTcluster().pipe((0,ze.T)(t=>t.map(o=>(o.fullName=o.ClusterId+" "+o.ClusterDesc,o)))),this.subs.sink=this.form.get("cluster").valueChanges.subscribe(t=>{Le.debug("change:",t),this.apiService.getBindLSTdevice(this.form.get("cluster").value).subscribe(o=>{this.devicesSource=o,this.devicesTarget=o})})}filterDevices(t){this.form.get("target").patchValue(null),this.devicesTargetFiltered=this.devicesTarget.filter(o=>t.NwkId!==o.NwkId)}putBinding(){const t={sourceIeee:this.form.get("source").value.IEEE,sourceEp:this.form.get("source").value.Ep,destIeee:this.form.get("target").value.IEEE,destEp:this.form.get("target").value.Ep,cluster:this.form.get("cluster").value};this.apiService.putBinding(t).subscribe(()=>{this.toastr.success(this.translate.instant("api.global.succes.update.notify")),this.form.reset("",{onlySelf:!0,emitEvent:!1})})}putUnBinding(){const t={sourceIeee:this.form.get("source").value.IEEE,sourceEp:this.form.get("source").value.Ep,destIeee:this.form.get("target").value.IEEE,destEp:this.form.get("target").value.Ep,cluster:this.form.get("cluster").value};this.apiService.putUnBinding(t).subscribe(()=>{this.toastr.success(this.translate.instant("api.global.succes.update.notify")),this.form.reset("",{onlySelf:!0,emitEvent:!1})})}static \u0275fac=function(o){return new(o||i)(e.rXU(A.G),e.rXU(c.ok),e.rXU(v.c$),e.rXU(P.tw))};static \u0275cmp=e.VBU({type:i,selectors:[["app-binding"]],features:[e.Vt3],decls:71,vars:26,consts:[[1,"row","row-cols-1","row-cols-xxl-3","row-cols-lg-2","row-cols-md-1","row-cols-sm-1","g-4"],[3,"formGroup"],[1,"card"],["translate","tools.binding.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],[1,"row"],[1,"col-sm-6"],["appendTo","body","bindLabel","fullName","bindValue","ClusterId","formControlName","cluster",3,"items","multiple","closeOnSelect","placeholder"],[1,"row","mt-2"],["appendTo","body","bindLabel","ZDeviceName","formControlName","source",3,"change","items","multiple","closeOnSelect","placeholder"],["ng-option-tmp",""],["bindLabel","ZDeviceName","appendTo","body","formControlName","target",3,"items","multiple","closeOnSelect","placeholder"],[1,"card-footer","d-flex","justify-content-end"],["translate","tools.binding.button.put",1,"btn","btn-primary",3,"click","disabled"],["translate","tools.unbinding.button.put",1,"ms-2","btn","btn-primary",3,"click","disabled"]],template:function(o,n){1&o&&(e.j41(0,"div",0),e.EFF(1,"\n "),e.j41(2,"form",1),e.EFF(3,"\n "),e.j41(4,"div",2),e.EFF(5,"\n "),e.nrm(6,"div",3),e.EFF(7,"\n "),e.j41(8,"div",4),e.EFF(9,"\n "),e.nrm(10,"p",5),e.nI1(11,"translate"),e.EFF(12,"\n "),e.j41(13,"div",6),e.EFF(14,"\n "),e.j41(15,"div",7),e.EFF(16,"\n "),e.j41(17,"div",8),e.EFF(18,"\n "),e.j41(19,"div"),e.EFF(20,"\n "),e.j41(21,"ng-select",9),e.nI1(22,"translate"),e.nI1(23,"async"),e.EFF(24,"\n "),e.k0s(),e.EFF(25,"\n "),e.k0s(),e.EFF(26,"\n "),e.k0s(),e.EFF(27,"\n "),e.k0s(),e.EFF(28,"\n "),e.j41(29,"div",10),e.EFF(30,"\n "),e.j41(31,"div",8),e.EFF(32,"\n "),e.j41(33,"div"),e.EFF(34,"\n "),e.j41(35,"ng-select",11),e.nI1(36,"translate"),e.bIt("change",function(s){return n.filterDevices(s)}),e.EFF(37,"\n "),e.DNE(38,Ue,16,4,"ng-template",12),e.EFF(39,"\n "),e.k0s(),e.EFF(40,"\n "),e.k0s(),e.EFF(41,"\n "),e.k0s(),e.EFF(42,"\n "),e.k0s(),e.EFF(43,"\n "),e.j41(44,"div",10),e.EFF(45,"\n "),e.j41(46,"div",8),e.EFF(47,"\n "),e.j41(48,"div"),e.EFF(49,"\n "),e.j41(50,"ng-select",13),e.nI1(51,"translate"),e.EFF(52,"\n "),e.DNE(53,Ke,16,4,"ng-template",12),e.EFF(54,"\n "),e.k0s(),e.EFF(55,"\n "),e.k0s(),e.EFF(56,"\n "),e.k0s(),e.EFF(57,"\n "),e.k0s(),e.EFF(58,"\n "),e.k0s(),e.EFF(59,"\n "),e.k0s(),e.EFF(60,"\n "),e.j41(61,"div",14),e.EFF(62,"\n "),e.j41(63,"button",15),e.bIt("click",function(){return n.putBinding()}),e.k0s(),e.EFF(64,"\n "),e.j41(65,"button",16),e.bIt("click",function(){return n.putUnBinding()}),e.k0s(),e.EFF(66,"\n "),e.k0s(),e.EFF(67,"\n "),e.k0s(),e.EFF(68,"\n "),e.k0s(),e.EFF(69,"\n"),e.k0s(),e.EFF(70,"\n")),2&o&&(e.R7$(2),e.Y8G("formGroup",n.form),e.R7$(8),e.Y8G("innerHTML",e.bMT(11,16,"tools.binding.subtitle"),e.npT),e.R7$(11),e.FS9("placeholder",e.bMT(22,18,"tools.binding.cluster")),e.Y8G("items",e.bMT(23,20,n.clusters$))("multiple",!1)("closeOnSelect",!0),e.R7$(14),e.FS9("placeholder",e.bMT(36,22,"tools.binding.sourceEp")),e.Y8G("items",n.devicesSource)("multiple",!1)("closeOnSelect",!0),e.R7$(15),e.FS9("placeholder",e.bMT(51,24,"tools.binding.destEp")),e.Y8G("items",n.devicesTargetFiltered)("multiple",!1)("closeOnSelect",!0),e.R7$(13),e.Y8G("disabled",!n.form.valid),e.R7$(2),e.Y8G("disabled",!n.form.valid))},dependencies:[c.qT,c.BC,c.cb,c.j4,c.JD,I.vr,I.Uq,v.Mm,h.Jj,v.D9]})}return i})();function Ze(i,l){if(1&i&&(e.EFF(0,"\n "),e.j41(1,"span"),e.EFF(2," "),e.j41(3,"b"),e.EFF(4,"Name"),e.k0s(),e.EFF(5),e.j41(6,"b"),e.EFF(7,"NwkId"),e.k0s(),e.EFF(8),e.k0s(),e.EFF(9,"\n ")),2&i){const t=l.item;e.R7$(5),e.SpI(" : ",t.ZDeviceName," - "),e.R7$(3),e.SpI(" : ",t._NwkId,"")}}function Je(i,l){if(1&i){const t=e.RV6();e.j41(0,"ng-select",18),e.nI1(1,"translate"),e.bIt("change",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.setAction(n))}),e.EFF(2,"\n "),e.k0s()}if(2&i){const t=e.XpG();e.FS9("placeholder",e.bMT(1,5,"tools.debugcommand.action")),e.Y8G("items",t.capabilities.Capabilities)("multiple",!1)("closeOnSelect",!0)("searchable",!0)}}function Qe(i,l){if(1&i&&(e.j41(0,"ng-select",19),e.nI1(1,"translate"),e.EFF(2,"\n "),e.k0s()),2&i){const t=e.XpG();e.FS9("placeholder",e.bMT(1,5,"tools.debugcommand.type")),e.Y8G("items",t.capabilities.Types)("multiple",!1)("closeOnSelect",!0)("searchable",!0)}}function $e(i,l){if(1&i){const t=e.RV6();e.j41(0,"div",12),e.EFF(1,"\n "),e.j41(2,"div",7),e.EFF(3,"\n "),e.j41(4,"div"),e.EFF(5,"\n "),e.j41(6,"span",20),e.mxI("colorPickerChange",function(n){e.eBV(t);const r=e.XpG();return e.DH7(r.colorPicker,n)||(r.colorPicker=n),e.Njj(n)}),e.k0s(),e.EFF(7,"\n "),e.k0s(),e.EFF(8,"\n "),e.k0s(),e.EFF(9,"\n "),e.k0s()}if(2&i){const t=e.XpG();e.R7$(6),e.xc7("background",t.colorPicker),e.Y8G("cpToggle",!0)("cpDialogDisplay","inline"),e.R50("colorPicker",t.colorPicker),e.Y8G("cpOutputFormat","rgba")}}function et(i,l){1&i&&e.nrm(0,"div",23)}function tt(i,l){if(1&i&&(e.j41(0,"div",12),e.EFF(1,"\n "),e.j41(2,"div",7),e.EFF(3,"\n "),e.j41(4,"div"),e.EFF(5,"\n "),e.nrm(6,"input",21),e.nI1(7,"translate"),e.EFF(8,"\n "),e.DNE(9,et,1,0,"div",22),e.EFF(10,"\n "),e.k0s(),e.EFF(11,"\n "),e.k0s(),e.EFF(12,"\n "),e.k0s()),2&i){const t=e.XpG();e.R7$(6),e.FS9("placeholder",e.bMT(7,2,"tools.debugcommand.value")),e.R7$(3),e.Y8G("ngIf",t.form.controls.effect.errors)}}function nt(i,l){1&i&&e.nrm(0,"div",26)}function ot(i,l){if(1&i&&(e.j41(0,"div",12),e.EFF(1,"\n "),e.j41(2,"div",7),e.EFF(3,"\n "),e.j41(4,"div"),e.EFF(5,"\n "),e.nrm(6,"input",24),e.nI1(7,"translate"),e.EFF(8,"\n "),e.DNE(9,nt,1,0,"div",25),e.EFF(10,"\n "),e.k0s(),e.EFF(11,"\n "),e.k0s(),e.EFF(12,"\n "),e.k0s()),2&i){const t=e.XpG();e.R7$(6),e.FS9("placeholder",e.bMT(7,2,"tools.debugcommand.value")),e.R7$(3),e.Y8G("ngIf",!t.form.controls.level.valid)}}let it=(()=>{class i{toastr;apiService;formBuilder;translate;routers;capabilities;form;colorPicker="rgba(30,96,239,0.54)";capaSelected;constructor(t,o,n,r){this.toastr=t,this.apiService=o,this.formBuilder=n,this.translate=r}ngOnInit(){this.form=this.formBuilder.group({level:[null,[c.k0.nullValidator,c.k0.min(0),c.k0.max(100)]],type:[null,c.k0.required],action:[null,c.k0.required],deviceSelected:[null,c.k0.required],effect:[null,c.k0.compose([c.k0.nullValidator,c.k0.pattern("^[0-9A-Fa-f]+")])]}),this.form.get("type").disable(),this.apiService.getZDevices().subscribe(t=>{this.routers=t.filter(o=>"Router"===o.LogicalType)})}callCapabilities(t){this.capaSelected=null,this.form.get("action").patchValue(null),this.form.get("type").patchValue(null),this.capabilities=null,this.apiService.getDevCap(t._NwkId).subscribe(o=>{this.capabilities=o})}setAction(t){this.capaSelected=t,this.form.get("type").patchValue(null),t&&!0===t.Type?this.form.get("type").enable():this.form.get("type").disable()}callAction(){let t=null,o=null;if(this.testRGB)if(this.colorPicker.startsWith("rgba")){let r=this.colorPicker.replace("rgba(","");r=r.replace(")","");const s=r.split(",");4===s.length&&(o=100*Number(s[3]),t="rgb("+s[0]+","+s[1]+","+s[2]+")")}else this.colorPicker.startsWith("rgb")&&(o=100,t=this.colorPicker);!o&&this.capaSelected.Value&&("hex"===this.capaSelected.Value&&(o=this.form.get("effect").value),"int"===this.capaSelected.Value&&(o=this.form.get("level").value));const n={NwkId:this.form.get("deviceSelected").value._NwkId,Command:this.form.get("action").value.actuator,Value:o,Color:t,Type:this.form.get("type").value};this.apiService.putDevCommand(n).subscribe(()=>{this.toastr.success(this.translate.instant("api.global.succes.commandsent.notify"))})}get testRGB(){return!!this.form.get("type").value&&this.form.get("type").value.startsWith("ColorControl")}static \u0275fac=function(o){return new(o||i)(e.rXU(P.tw),e.rXU(A.G),e.rXU(c.ok),e.rXU(v.c$))};static \u0275cmp=e.VBU({type:i,selectors:[["app-debug-command"]],decls:61,vars:17,consts:[[3,"formGroup"],[1,"card","h-100"],["translate","tools.debugcommand.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],[1,"row"],[1,"col-sm-6"],["bindLabel","ZDeviceName","appendTo","body","formControlName","deviceSelected",3,"change","items","multiple","closeOnSelect","searchable","placeholder"],["ng-option-tmp",""],[1,"col-sm"],["translate","tools.debugcommand.button.cancel",1,"ms-3","btn","btn-secondary",3,"click"],[1,"row","mt-2"],["bindLabel","actuator","appendTo","body","formControlName","action",3,"items","multiple","closeOnSelect","searchable","placeholder","change",4,"ngIf"],["appendTo","body","formControlName","type",3,"items","multiple","closeOnSelect","searchable","placeholder",4,"ngIf"],["class","row mt-2",4,"ngIf"],[1,"card-footer","d-flex","justify-content-end"],["translate","tools.debugcommand.button.send",1,"btn","btn-primary",3,"click","disabled"],["bindLabel","actuator","appendTo","body","formControlName","action",3,"change","items","multiple","closeOnSelect","searchable","placeholder"],["appendTo","body","formControlName","type",3,"items","multiple","closeOnSelect","searchable","placeholder"],[3,"colorPickerChange","cpToggle","cpDialogDisplay","colorPicker","cpOutputFormat"],["type","text","formControlName","effect",1,"w-100","form-control",3,"placeholder"],["translate","tools.debugcommand.effect.error",4,"ngIf"],["translate","tools.debugcommand.effect.error"],["type","number","min","0","formControlName","level",1,"w-100","form-control",3,"placeholder"],["translate","tools.debugcommand.level.error",4,"ngIf"],["translate","tools.debugcommand.level.error"]],template:function(o,n){1&o&&(e.j41(0,"form",0),e.EFF(1,"\n "),e.j41(2,"div",1),e.EFF(3,"\n "),e.nrm(4,"div",2),e.EFF(5,"\n "),e.j41(6,"div",3),e.EFF(7,"\n "),e.nrm(8,"p",4),e.nI1(9,"translate"),e.EFF(10,"\n "),e.j41(11,"div",5),e.EFF(12,"\n "),e.j41(13,"div",6),e.EFF(14,"\n "),e.j41(15,"div",7),e.EFF(16,"\n "),e.j41(17,"ng-select",8),e.nI1(18,"translate"),e.bIt("change",function(s){return n.callCapabilities(s)}),e.EFF(19,"\n "),e.DNE(20,Ze,10,2,"ng-template",9),e.EFF(21,"\n "),e.k0s(),e.EFF(22,"\n "),e.k0s(),e.EFF(23,"\n "),e.j41(24,"div",10),e.EFF(25,"\n "),e.j41(26,"button",11),e.bIt("click",function(){return n.form.reset(),n.capaSelected=null}),e.k0s(),e.EFF(27,"\n "),e.k0s(),e.EFF(28,"\n "),e.k0s(),e.EFF(29,"\n "),e.j41(30,"div",12),e.EFF(31,"\n "),e.j41(32,"div",7),e.EFF(33,"\n "),e.DNE(34,Je,3,7,"ng-select",13),e.EFF(35,"\n "),e.k0s(),e.EFF(36,"\n "),e.k0s(),e.EFF(37,"\n "),e.j41(38,"div",12),e.EFF(39,"\n "),e.j41(40,"div",7),e.EFF(41,"\n "),e.DNE(42,Qe,3,7,"ng-select",14),e.EFF(43,"\n "),e.k0s(),e.EFF(44,"\n "),e.k0s(),e.EFF(45,"\n "),e.DNE(46,$e,10,6,"div",15),e.EFF(47,"\n "),e.DNE(48,tt,13,4,"div",15),e.EFF(49,"\n "),e.DNE(50,ot,13,4,"div",15),e.EFF(51,"\n "),e.k0s(),e.EFF(52,"\n "),e.k0s(),e.EFF(53,"\n "),e.j41(54,"div",16),e.EFF(55,"\n "),e.j41(56,"button",17),e.bIt("click",function(){return n.callAction()}),e.k0s(),e.EFF(57,"\n "),e.k0s(),e.EFF(58,"\n "),e.k0s(),e.EFF(59,"\n"),e.k0s(),e.EFF(60,"\n")),2&o&&(e.Y8G("formGroup",n.form),e.R7$(8),e.Y8G("innerHTML",e.bMT(9,13,"tools.debugcommand.subtitle"),e.npT),e.R7$(9),e.FS9("placeholder",e.bMT(18,15,"tools.debugcommand.device")),e.Y8G("items",n.routers)("multiple",!1)("closeOnSelect",!0)("searchable",!0),e.R7$(17),e.Y8G("ngIf",n.form.get("deviceSelected").value&&n.capabilities),e.R7$(8),e.Y8G("ngIf",n.capaSelected&&n.capaSelected.Type),e.R7$(4),e.Y8G("ngIf",n.capaSelected&&n.testRGB),e.R7$(2),e.Y8G("ngIf",n.capaSelected&&"hex"===n.capaSelected.Value),e.R7$(2),e.Y8G("ngIf",n.capaSelected&&"int"===n.capaSelected.Value),e.R7$(6),e.Y8G("disabled",!n.form.valid))},dependencies:[h.bT,c.qT,c.me,c.Q0,c.BC,c.cb,c.VZ,c.j4,c.JD,I.vr,I.Uq,v.Mm,Be,v.D9]})}return i})();function rt(i,l){1&i&&e.nrm(0,"div",14)}function st(i,l){1&i&&e.nrm(0,"div",14)}let lt=(()=>{class i{toastr;apiService;formBuilder;translate;form;constructor(t,o,n,r){this.toastr=t,this.apiService=o,this.formBuilder=n,this.translate=r}ngOnInit(){this.form=this.formBuilder.group({Command:[null,c.k0.required],payload:[null]})}putCommand(){this.apiService.putCommandRaw(this.form.value).subscribe(()=>{this.toastr.success(this.translate.instant("api.global.succes.commandsent.notify"))})}static \u0275fac=function(o){return new(o||i)(e.rXU(P.tw),e.rXU(A.G),e.rXU(c.ok),e.rXU(v.c$))};static \u0275cmp=e.VBU({type:i,selectors:[["app-raw-command"]],decls:50,vars:13,consts:[[3,"formGroup"],[1,"card","h-100"],["translate","tools.rawcommand-zigate.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],[1,"row"],[1,"col-sm-6"],["type","text","formControlName","Command",1,"w-100","form-control",3,"placeholder"],["translate","tools.rawcommand-zigate.error",4,"ngIf"],[1,"row","mt-2"],["type","text","formControlName","payload",1,"w-100","form-control",3,"placeholder"],[1,"card-footer","d-flex","justify-content-end"],["translate","tools.rawcommand-zigate.button.send",1,"btn","btn-primary",3,"click","disabled"],["translate","tools.rawcommand-zigate.error"]],template:function(o,n){1&o&&(e.j41(0,"form",0),e.EFF(1,"\n "),e.j41(2,"div",1),e.EFF(3,"\n "),e.nrm(4,"div",2),e.EFF(5,"\n "),e.j41(6,"div",3),e.EFF(7,"\n "),e.nrm(8,"p",4),e.nI1(9,"translate"),e.EFF(10,"\n "),e.j41(11,"div",5),e.EFF(12,"\n "),e.j41(13,"div",6),e.EFF(14,"\n "),e.j41(15,"div",7),e.EFF(16,"\n "),e.j41(17,"div"),e.EFF(18,"\n "),e.nrm(19,"input",8),e.nI1(20,"translate"),e.EFF(21,"\n "),e.DNE(22,rt,1,0,"div",9),e.EFF(23,"\n "),e.k0s(),e.EFF(24,"\n "),e.k0s(),e.EFF(25,"\n "),e.k0s(),e.EFF(26,"\n "),e.j41(27,"div",10),e.EFF(28,"\n "),e.j41(29,"div",7),e.EFF(30,"\n "),e.j41(31,"div"),e.EFF(32,"\n "),e.nrm(33,"input",11),e.nI1(34,"translate"),e.EFF(35,"\n "),e.DNE(36,st,1,0,"div",9),e.EFF(37,"\n "),e.k0s(),e.EFF(38,"\n "),e.k0s(),e.EFF(39,"\n "),e.k0s(),e.EFF(40,"\n "),e.k0s(),e.EFF(41,"\n "),e.k0s(),e.EFF(42,"\n "),e.j41(43,"div",12),e.EFF(44,"\n "),e.j41(45,"button",13),e.bIt("click",function(){return n.putCommand()}),e.k0s(),e.EFF(46,"\n "),e.k0s(),e.EFF(47,"\n "),e.k0s(),e.EFF(48,"\n"),e.k0s(),e.EFF(49,"\n")),2&o&&(e.Y8G("formGroup",n.form),e.R7$(8),e.Y8G("innerHTML",e.bMT(9,7,"tools.rawcommand-zigate.subtitle"),e.npT),e.R7$(11),e.FS9("placeholder",e.bMT(20,9,"tools.rawcommand-zigate.command")),e.R7$(3),e.Y8G("ngIf",n.form.controls.Command.dirty&&!n.form.controls.Command.valid),e.R7$(11),e.FS9("placeholder",e.bMT(34,11,"tools.rawcommand-zigate.payload")),e.R7$(3),e.Y8G("ngIf",n.form.controls.payload.dirty&&!n.form.controls.payload.valid),e.R7$(9),e.Y8G("disabled",!n.form.valid))},dependencies:[h.bT,c.qT,c.me,c.BC,c.cb,c.j4,c.JD,v.Mm,v.D9]})}return i})();function at(i,l){if(1&i&&(e.EFF(0,"\n "),e.j41(1,"span"),e.EFF(2," "),e.j41(3,"b"),e.EFF(4,"Name"),e.k0s(),e.EFF(5),e.j41(6,"b"),e.EFF(7,"NwkId"),e.k0s(),e.EFF(8),e.k0s(),e.EFF(9,"\n ")),2&i){const t=l.item;e.R7$(5),e.SpI(" : ",t.ZDeviceName," - "),e.R7$(3),e.SpI(" : ",t._NwkId," ")}}let ct=(()=>{class i{toastr;apiService;formBuilder;translate;devices$;form;constructor(t,o,n,r){this.toastr=t,this.apiService=o,this.formBuilder=n,this.translate=r}selectedCar;TrueFalse=[{id:!1,name:"False"},{id:!0,name:"True"}];ngOnInit(){this.form=this.formBuilder.group({ProfileId:["0104",c.k0.required],ClusterId:["0000",c.k0.required],TargetAddr:[null,c.k0.required],TargetEp:["01",c.k0.required],SourceEp:["01",c.k0.required],Sqn:["55",c.k0.required],Payload:[null,c.k0.required],GroupAddressFlag:[!1,c.k0.required],AckMode:[!1,c.k0.required]}),this.devices$=this.apiService.getZDeviceName()}putCommand(){this.apiService.putCommandRawZigpy(this.form.value).subscribe(()=>{this.toastr.success(this.translate.instant("api.global.succes.commandsent.notify"))})}static \u0275fac=function(o){return new(o||i)(e.rXU(P.tw),e.rXU(A.G),e.rXU(c.ok),e.rXU(v.c$))};static \u0275cmp=e.VBU({type:i,selectors:[["app-raw-command-zigpy"]],decls:118,vars:34,consts:[[3,"formGroup"],[1,"card","h-100"],["translate","tools.rawcommand-zigpy.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],[1,"row"],[1,"col-sm-6"],["bindLabel","ZDeviceName","bindValue","_NwkId","formControlName","TargetAddr",3,"items","multiple","closeOnSelect","searchable","placeholder"],["ng-option-tmp",""],[1,"row","mt-2"],["translate","tools.rawcommand-zigpy.groupaddressflag",1,"col-sm-3","col-form-label"],["bindLabel","name","bindValue","id","formControlName","GroupAddressFlag",3,"items"],["translate","tools.rawcommand-zigpy.ackmode",1,"col-sm-3","col-form-label"],["bindLabel","name","bindValue","id","formControlName","AckMode",3,"items"],["translate","tools.rawcommand-zigpy.profileid",1,"col-sm-3","col-form-label"],[1,"col-sm-2"],["type","text","formControlName","ProfileId",1,"w-100","form-control",3,"placeholder"],["translate","tools.rawcommand-zigpy.clusterid",1,"col-sm-3","col-form-label"],["type","text","formControlName","ClusterId",1,"w-100","form-control",3,"placeholder"],["translate","tools.rawcommand-zigpy.sourceep",1,"col-sm-3","col-form-label"],["type","text","formControlName","SourceEp",1,"w-100","form-control",3,"placeholder"],["translate","tools.rawcommand-zigpy.targetep",1,"col-sm-3","col-form-label"],["type","text","formControlName","TargetEp",1,"w-100","form-control",3,"placeholder"],["translate","tools.rawcommand-zigpy.sqn",1,"col-sm-3","col-form-label"],["type","text","formControlName","Sqn",1,"w-100","form-control",3,"placeholder"],[1,"col-sm"],["type","text","formControlName","Payload",1,"w-100","form-control",3,"placeholder"],[1,"card-footer","d-flex","justify-content-end"],["translate","tools.rawcommand-zigpy.button.send",1,"btn","btn-primary",3,"click","disabled"]],template:function(o,n){1&o&&(e.j41(0,"form",0),e.EFF(1,"\n "),e.j41(2,"div",1),e.EFF(3,"\n "),e.nrm(4,"div",2),e.EFF(5,"\n "),e.j41(6,"div",3),e.EFF(7,"\n "),e.nrm(8,"p",4),e.nI1(9,"translate"),e.EFF(10,"\n "),e.j41(11,"div",5),e.EFF(12,"\n "),e.j41(13,"div",6),e.EFF(14,"\n "),e.j41(15,"div",7),e.EFF(16,"\n "),e.j41(17,"ng-select",8),e.nI1(18,"translate"),e.nI1(19,"async"),e.EFF(20,"\n "),e.DNE(21,at,10,2,"ng-template",9),e.EFF(22,"\n "),e.k0s(),e.EFF(23,"\n "),e.k0s(),e.EFF(24,"\n "),e.k0s(),e.EFF(25,"\n "),e.j41(26,"div",10),e.EFF(27,"\n "),e.nrm(28,"label",11),e.EFF(29,"\n "),e.j41(30,"div",7),e.EFF(31,"\n "),e.j41(32,"ng-select",12),e.EFF(33,"\n "),e.k0s(),e.EFF(34,"\n "),e.k0s(),e.EFF(35,"\n "),e.k0s(),e.EFF(36,"\n "),e.j41(37,"div",10),e.EFF(38,"\n "),e.nrm(39,"label",13),e.EFF(40,"\n "),e.j41(41,"div",7),e.EFF(42,"\n "),e.j41(43,"ng-select",14),e.EFF(44," "),e.k0s(),e.EFF(45,"\n "),e.k0s(),e.EFF(46,"\n "),e.k0s(),e.EFF(47,"\n "),e.j41(48,"div",10),e.EFF(49,"\n "),e.nrm(50,"label",15),e.EFF(51,"\n "),e.j41(52,"div",16),e.EFF(53,"\n "),e.nrm(54,"input",17),e.nI1(55,"translate"),e.EFF(56,"\n "),e.k0s(),e.EFF(57,"\n "),e.nrm(58,"label",18),e.EFF(59,"\n "),e.j41(60,"div",16),e.EFF(61,"\n "),e.nrm(62,"input",19),e.nI1(63,"translate"),e.EFF(64,"\n "),e.k0s(),e.EFF(65,"\n "),e.k0s(),e.EFF(66,"\n "),e.j41(67,"div",10),e.EFF(68,"\n "),e.nrm(69,"label",20),e.EFF(70,"\n "),e.j41(71,"div",16),e.EFF(72,"\n "),e.nrm(73,"input",21),e.nI1(74,"translate"),e.EFF(75,"\n "),e.k0s(),e.EFF(76,"\n "),e.nrm(77,"label",22),e.EFF(78,"\n "),e.j41(79,"div",16),e.EFF(80,"\n "),e.nrm(81,"input",23),e.nI1(82,"translate"),e.EFF(83,"\n "),e.k0s(),e.EFF(84,"\n "),e.k0s(),e.EFF(85,"\n "),e.j41(86,"div",10),e.EFF(87,"\n "),e.nrm(88,"label",24),e.EFF(89,"\n "),e.j41(90,"div",16),e.EFF(91,"\n "),e.j41(92,"div"),e.EFF(93,"\n "),e.nrm(94,"input",25),e.nI1(95,"translate"),e.EFF(96,"\n "),e.k0s(),e.EFF(97,"\n "),e.k0s(),e.EFF(98,"\n "),e.k0s(),e.EFF(99,"\n "),e.j41(100,"div",10),e.EFF(101,"\n "),e.j41(102,"div",26),e.EFF(103,"\n "),e.nrm(104,"input",27),e.nI1(105,"translate"),e.EFF(106,"\n "),e.k0s(),e.EFF(107,"\n "),e.k0s(),e.EFF(108,"\n "),e.k0s(),e.EFF(109,"\n "),e.k0s(),e.EFF(110,"\n "),e.j41(111,"div",28),e.EFF(112,"\n "),e.j41(113,"button",29),e.bIt("click",function(){return n.putCommand()}),e.k0s(),e.EFF(114,"\n "),e.k0s(),e.EFF(115,"\n "),e.k0s(),e.EFF(116,"\n"),e.k0s(),e.EFF(117,"\n")),2&o&&(e.Y8G("formGroup",n.form),e.R7$(8),e.Y8G("innerHTML",e.bMT(9,16,"tools.rawcommand-zigpy.subtitle"),e.npT),e.R7$(9),e.FS9("placeholder",e.bMT(18,18,"tools.rawcommand-zigpy.placeholder")),e.Y8G("items",e.bMT(19,20,n.devices$))("multiple",!1)("closeOnSelect",!0)("searchable",!0),e.R7$(15),e.Y8G("items",n.TrueFalse),e.R7$(11),e.Y8G("items",n.TrueFalse),e.R7$(11),e.FS9("placeholder",e.bMT(55,22,"tools.rawcommand-zigpy.profileid")),e.R7$(8),e.FS9("placeholder",e.bMT(63,24,"tools.rawcommand-zigpy.clusterid")),e.R7$(11),e.FS9("placeholder",e.bMT(74,26,"tools.rawcommand-zigpy.sourceep")),e.R7$(8),e.FS9("placeholder",e.bMT(82,28,"tools.rawcommand-zigpy.targetep")),e.R7$(13),e.FS9("placeholder",e.bMT(95,30,"tools.rawcommand-zigpy.sqn")),e.R7$(10),e.FS9("placeholder",e.bMT(105,32,"tools.rawcommand-zigpy.payload")),e.R7$(9),e.Y8G("disabled",!n.form.valid))},dependencies:[c.qT,c.me,c.BC,c.cb,c.j4,c.JD,I.vr,I.Uq,v.Mm,h.Jj,v.D9]})}return i})();function pt(i,l){1&i&&e.nrm(0,"app-raw-command")}function dt(i,l){1&i&&e.nrm(0,"app-raw-command-zigpy")}let ut=(()=>{class i{plugin;ngOnInit(){setTimeout(()=>{this.plugin=JSON.parse(sessionStorage.getItem("plugin"))},500)}static \u0275fac=function(o){return new(o||i)};static \u0275cmp=e.VBU({type:i,selectors:[["app-command"]],decls:9,vars:2,consts:[[1,"row","row-cols-1","row-cols-xxl-3","row-cols-lg-2","row-cols-md-1","row-cols-sm-1","g-4"],[4,"ngIf"]],template:function(o,n){1&o&&(e.j41(0,"div",0),e.EFF(1,"\n "),e.nrm(2,"app-debug-command"),e.EFF(3,"\n "),e.DNE(4,pt,1,0,"app-raw-command",1),e.EFF(5,"\n "),e.DNE(6,dt,1,0,"app-raw-command-zigpy",1),e.EFF(7,"\n"),e.k0s(),e.EFF(8,"\n")),2&o&&(e.R7$(4),e.Y8G("ngIf",!(null!=n.plugin&&n.plugin.Zigpy)),e.R7$(2),e.Y8G("ngIf",null==n.plugin?null:n.plugin.Zigpy))},dependencies:[h.bT,it,lt,ct]})}return i})();var gt=m(88652),ae=m(38852);function mt(i,l){if(1&i&&(e.j41(0,"div",3),e.EFF(1,"\n "),e.nrm(2,"label",4),e.EFF(3,"\n "),e.nrm(4,"input",5),e.EFF(5,"\n "),e.k0s()),2&i){const t=e.XpG();e.R7$(2),e.FS9("translate",t.setting.Name)}}function ht(i,l){if(1&i&&(e.j41(0,"div",3),e.EFF(1,"\n "),e.nrm(2,"label",4),e.EFF(3,"\n "),e.nrm(4,"input",6),e.EFF(5,"\n "),e.k0s()),2&i){const t=e.XpG();e.R7$(2),e.FS9("translate",t.setting.Name)}}function ft(i,l){if(1&i&&(e.j41(0,"div",3),e.EFF(1,"\n "),e.nrm(2,"label",4),e.EFF(3,"\n "),e.nrm(4,"input",7),e.EFF(5,"\n "),e.k0s()),2&i){const t=e.XpG();e.R7$(2),e.FS9("translate",t.setting.Name)}}function vt(i,l){if(1&i&&(e.j41(0,"div",3),e.EFF(1,"\n "),e.nrm(2,"label",4),e.EFF(3,"\n "),e.nrm(4,"input",5),e.EFF(5,"\n "),e.k0s()),2&i){const t=e.XpG();e.R7$(2),e.FS9("translate",t.setting.Name)}}function Ct(i,l){if(1&i&&(e.j41(0,"div",8),e.EFF(1,"\n "),e.nrm(2,"input",9),e.EFF(3,"\n "),e.nrm(4,"label",10),e.EFF(5,"\n "),e.k0s()),2&i){const t=e.XpG();e.R7$(2),e.FS9("id",t.setting.Name),e.R7$(2),e.FS9("for",t.setting.Name),e.FS9("translate",t.setting.Name)}}let Ft=(()=>{class i{formBuilder;fgd;setting;advanced;constructor(t,o){this.formBuilder=t,this.fgd=o}ngOnInit(){let t;t=this.formBuilder.group("hex"===this.setting.DataType?{current:["",c.k0.compose([c.k0.required,c.k0.pattern("^[0-9A-Fa-f]+")])]}:"bool"===this.setting.DataType?{current:[]}:{current:["",c.k0.required]}),this.fgd.form.addControl(this.setting.Name,t);const o=""!==this.setting.current_value?this.setting.current_value:this.setting.default_value;this.fgd.form.get(this.setting.Name).get("current").patchValue(o)}static \u0275fac=function(o){return new(o||i)(e.rXU(c.ok),e.rXU(c.j4))};static \u0275cmp=e.VBU({type:i,selectors:[["app-debug-setting"]],inputs:{setting:"setting",advanced:"advanced"},features:[e.Jv_([],[{provide:c.ZU,useExisting:c.j4}])],decls:13,vars:6,consts:[[3,"formGroupName"],["class","d-flex flex-row align-items-center flex-wrap mt-2",4,"ngIf"],["class","form-check form-check-inline mt-2",4,"ngIf"],[1,"d-flex","flex-row","align-items-center","flex-wrap","mt-2"],["for","current",1,"me-2",3,"translate"],["type","text","formControlName","current",1,"w-25","form-control"],["type","text","formControlName","current",1,"w-100","form-control"],["type","number","formControlName","current",1,"form-control","w-25"],[1,"form-check","form-check-inline","mt-2"],["formControlName","current","type","checkbox",1,"form-check-input",3,"id"],[1,"form-check-label",3,"for","translate"]],template:function(o,n){1&o&&(e.qex(0,0),e.EFF(1,"\n "),e.DNE(2,mt,6,1,"div",1),e.EFF(3,"\n "),e.DNE(4,ht,6,1,"div",1),e.EFF(5,"\n "),e.DNE(6,ft,6,1,"div",1),e.EFF(7,"\n "),e.DNE(8,vt,6,1,"div",1),e.EFF(9,"\n "),e.DNE(10,Ct,6,3,"div",2),e.EFF(11,"\n"),e.bVm(),e.EFF(12,"\n")),2&o&&(e.Y8G("formGroupName",n.setting.Name),e.R7$(2),e.Y8G("ngIf","str"===n.setting.DataType),e.R7$(2),e.Y8G("ngIf","path"===n.setting.DataType),e.R7$(2),e.Y8G("ngIf","int"===n.setting.DataType),e.R7$(2),e.Y8G("ngIf","hex"===n.setting.DataType),e.R7$(2),e.Y8G("ngIf","bool"===n.setting.DataType))},dependencies:[h.bT,c.me,c.Q0,c.Zm,c.BC,c.cb,c.JD,c.$R,v.Mm],styles:["was-validated[_ngcontent-%COMP%] .custom-control-input[_ngcontent-%COMP%]:valid ~ .custom-control-label[_ngcontent-%COMP%], .custom-control-input.is-valid[_ngcontent-%COMP%] ~ .custom-control-label[_ngcontent-%COMP%]{color:#000}"]})}return i})();const $=["contentRestart"];function _t(i,l){if(1&i&&e.nrm(0,"app-debug-setting",29),2&i){const t=e.XpG().$implicit,o=e.XpG(4);e.Y8G("setting",t)("advanced",o.advanced)}}function bt(i,l){if(1&i&&(e.qex(0),e.EFF(1,"\n "),e.DNE(2,_t,1,2,"app-debug-setting",28),e.EFF(3,"\n "),e.bVm()),2&i){const t=l.$implicit;e.R7$(2),e.Y8G("ngIf",!t.Advanced&&"bool"===t.DataType)}}function kt(i,l){if(1&i&&e.nrm(0,"app-debug-setting",29),2&i){const t=e.XpG().$implicit,o=e.XpG(4);e.Y8G("setting",t)("advanced",o.advanced)}}function Et(i,l){if(1&i&&(e.qex(0),e.EFF(1,"\n "),e.DNE(2,kt,1,2,"app-debug-setting",28),e.EFF(3,"\n "),e.bVm()),2&i){const t=l.$implicit;e.R7$(2),e.Y8G("ngIf",!t.Advanced&&"bool"!==t.DataType)}}function yt(i,l){if(1&i&&e.nrm(0,"app-debug-setting",29),2&i){const t=e.XpG().$implicit,o=e.XpG(4);e.Y8G("setting",t)("advanced",o.advanced)}}function xt(i,l){if(1&i&&(e.qex(0),e.EFF(1,"\n "),e.DNE(2,yt,1,2,"app-debug-setting",28),e.EFF(3,"\n "),e.bVm()),2&i){const t=l.$implicit,o=e.XpG(4);e.R7$(2),e.Y8G("ngIf",t.Advanced&&t.Advanced===o.advanced)}}function wt(i,l){if(1&i&&(e.j41(0,"div",21),e.EFF(1,"\n "),e.nrm(2,"div",22),e.EFF(3,"\n "),e.j41(4,"div",23),e.EFF(5,"\n "),e.j41(6,"div",24),e.EFF(7,"\n "),e.nrm(8,"p",25),e.EFF(9,"\n "),e.k0s(),e.EFF(10,"\n "),e.j41(11,"div",24),e.EFF(12,"\n "),e.j41(13,"div",26),e.EFF(14,"\n "),e.DNE(15,bt,4,1,"ng-container",19),e.EFF(16,"\n "),e.k0s(),e.EFF(17,"\n "),e.j41(18,"div",27),e.EFF(19,"\n "),e.DNE(20,Et,4,1,"ng-container",19),e.EFF(21,"\n "),e.k0s(),e.EFF(22,"\n "),e.j41(23,"div",27),e.EFF(24,"\n "),e.DNE(25,xt,4,1,"ng-container",19),e.EFF(26,"\n "),e.k0s(),e.EFF(27,"\n "),e.k0s(),e.EFF(28,"\n "),e.k0s(),e.EFF(29,"\n "),e.k0s()),2&i){const t=e.XpG().$implicit,o=e.XpG(2);e.R7$(2),e.Y8G("innerHTML",o.getTranslation("setting.header.",t._Theme),e.npT),e.R7$(6),e.Y8G("innerHTML",o.getTranslation("setting.subtitle.",t._Theme),e.npT),e.R7$(7),e.Y8G("ngForOf",t.ListOfSettings),e.R7$(5),e.Y8G("ngForOf",t.ListOfSettings),e.R7$(5),e.Y8G("ngForOf",t.ListOfSettings)}}function jt(i,l){if(1&i&&(e.j41(0,"div"),e.EFF(1,"\n "),e.DNE(2,wt,30,5,"div",20),e.EFF(3,"\n "),e.k0s()),2&i){const t=l.$implicit,o=e.XpG(2);e.R7$(2),e.Y8G("ngIf",o.hasBasicSettings(t.ListOfSettings))}}function At(i,l){if(1&i){const t=e.RV6();e.j41(0,"form",4),e.EFF(1,"\n "),e.j41(2,"fieldset",5),e.EFF(3,"\n "),e.j41(4,"legend"),e.EFF(5,"\n "),e.j41(6,"div",6),e.EFF(7,"\n "),e.nrm(8,"h5",7),e.nI1(9,"translate"),e.EFF(10,"\n "),e.j41(11,"div",8),e.EFF(12,"\n "),e.j41(13,"div",9),e.EFF(14,"\n "),e.j41(15,"div",10),e.EFF(16,"\n "),e.j41(17,"button",11),e.bIt("click",function(){e.eBV(t);const n=e.XpG();return e.Njj(n.updateSettings())}),e.k0s(),e.EFF(18,"\n "),e.k0s(),e.EFF(19,"\n "),e.j41(20,"div",12),e.EFF(21,"\n "),e.j41(22,"button",13),e.bIt("click",function(){e.eBV(t);const n=e.XpG();return e.Njj(n.reinitSettings())}),e.k0s(),e.EFF(23,"\n "),e.k0s(),e.EFF(24,"\n "),e.j41(25,"div",14),e.EFF(26,"\n "),e.j41(27,"input",15),e.bIt("click",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.advancedSettings(n))}),e.k0s(),e.EFF(28,"\n "),e.nrm(29,"label",16),e.EFF(30,"\n "),e.k0s(),e.EFF(31,"\n "),e.k0s(),e.EFF(32,"\n "),e.k0s(),e.EFF(33,"\n "),e.k0s(),e.EFF(34,"\n "),e.k0s(),e.EFF(35,"\n "),e.k0s(),e.EFF(36,"\n "),e.j41(37,"div",17),e.EFF(38,"\n "),e.j41(39,"div",18),e.EFF(40,"\n "),e.DNE(41,jt,4,1,"div",19),e.EFF(42,"\n "),e.k0s(),e.EFF(43,"\n "),e.k0s(),e.EFF(44,"\n"),e.k0s()}if(2&i){const t=e.XpG();e.Y8G("formGroup",t.form),e.R7$(8),e.Y8G("innerHTML",e.bMT(9,5,"tools.debugsetting.help.legend"),e.npT),e.R7$(9),e.Y8G("disabled",!t.form.valid),e.R7$(10),e.Y8G("checked",t.advanced),e.R7$(14),e.Y8G("ngForOf",t.settings)}}function Tt(i,l){if(1&i){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"div",30),e.EFF(2,"\n "),e.nrm(3,"h4",31),e.EFF(4,"\n "),e.j41(5,"button",32),e.bIt("click",function(){const n=e.eBV(t).$implicit;return e.Njj(n.dismiss("Cross click"))}),e.k0s(),e.EFF(6,"\n "),e.k0s(),e.EFF(7,"\n "),e.nrm(8,"div",33),e.EFF(9,"\n "),e.j41(10,"div",34),e.EFF(11,"\n "),e.j41(12,"button",35),e.bIt("click",function(){const n=e.eBV(t).$implicit;return e.Njj(n.dismiss("cancel"))}),e.k0s(),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n")}}function It(i,l){if(1&i){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"div",30),e.EFF(2,"\n "),e.nrm(3,"h4",36),e.EFF(4,"\n "),e.j41(5,"button",32),e.bIt("click",function(){const n=e.eBV(t).$implicit;return e.Njj(n.dismiss("Cross click"))}),e.k0s(),e.EFF(6,"\n "),e.k0s(),e.EFF(7,"\n "),e.nrm(8,"div",37),e.EFF(9,"\n "),e.j41(10,"div",34),e.EFF(11,"\n "),e.j41(12,"button",38),e.bIt("click",function(){const n=e.eBV(t).$implicit;return e.Njj(n.dismiss("cancel"))}),e.k0s(),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n")}}function St(i,l){if(1&i){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"div",30),e.EFF(2,"\n "),e.nrm(3,"h4",39),e.EFF(4,"\n "),e.j41(5,"button",32),e.bIt("click",function(){const n=e.eBV(t).$implicit;return e.Njj(n.dismiss("Cross click"))}),e.k0s(),e.EFF(6,"\n "),e.k0s(),e.EFF(7,"\n "),e.nrm(8,"div",40),e.EFF(9,"\n "),e.j41(10,"div",34),e.EFF(11,"\n "),e.j41(12,"button",41),e.bIt("click",function(){const n=e.eBV(t).$implicit;return e.Njj(n.dismiss("cancel"))}),e.k0s(),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n")}}let Rt=(()=>{class i{modalService;apiService;formBuilder;toastr;headerService;translate;contentRestart;contentReset;contentErase;form;settings;advanced=!1;constructor(t,o,n,r,s,a){this.modalService=t,this.apiService=o,this.formBuilder=n,this.toastr=r,this.headerService=s,this.translate=a}ngOnInit(){this.form=this.formBuilder.group({}),this.apiService.getSettingsDebug().subscribe(t=>{this.settings=t,this.settings[0].ListOfSettings.sort((o,n)=>o.Name.localeCompare(n.Name))})}reinitSettings(){this.settings.forEach(t=>{const o=[];t.ListOfSettings.forEach(n=>{n.current_value=n.default_value,o.push(Object.assign({},n))}),t.ListOfSettings=o}),this.settings=[...this.settings]}advancedSettings(t){this.advanced=!!t.currentTarget.checked}updateSettings(){this.form.invalid?this.form.markAsTouched():(Object.keys(this.form.value).forEach(t=>{!0===this.form.value[t].current?this.form.value[t].current=1:!1===this.form.value[t].current&&(this.form.value[t].current=0)}),this.apiService.putSettingsDebug(this.form.value).subscribe(()=>{this.form.markAsPristine(),this.toastr.success(this.translate.instant("api.global.succes.saved.notify")),this.apiService.getSettingsDebug().subscribe(t=>{this.settings=t,this.settings[0].ListOfSettings.sort((o,n)=>o.Name.localeCompare(n.Name))}),this.apiService.getRestartNeeded().subscribe(t=>{1===t.RestartNeeded?(this.headerService.setRestart(!0),this.open(this.contentRestart)):2===t.RestartNeeded?this.open(this.contentReset):3===t.RestartNeeded&&this.open(this.contentErase)})}))}open(t){this.modalService.open(t,{ariaLabelledBy:"modal-basic-title"}).result.then()}hasBasicSettings(t){return!!this.advanced||t.filter(o=>!1===o.Advanced).length>0}getTranslation(t,o){return this.translate.instant(t.concat(o))}static \u0275fac=function(o){return new(o||i)(e.rXU(gt.Bq),e.rXU(A.G),e.rXU(c.ok),e.rXU(P.tw),e.rXU(ae.d),e.rXU(v.c$))};static \u0275cmp=e.VBU({type:i,selectors:[["app-debug-settings"]],viewQuery:function(o,n){if(1&o&&(e.GBs($,5),e.GBs($,5),e.GBs($,5)),2&o){let r;e.mGM(r=e.lsd())&&(n.contentRestart=r.first),e.mGM(r=e.lsd())&&(n.contentReset=r.first),e.mGM(r=e.lsd())&&(n.contentErase=r.first)}},decls:11,vars:1,consts:[["contentRestart",""],["contentReset",""],["contentErase",""],[3,"formGroup",4,"ngIf"],[3,"formGroup"],[1,"h-100"],[1,"row"],[1,"col-sm-8",3,"innerHTML"],[1,"col-sm-4"],[1,"d-flex","flex-row-reverse","align-items-center"],[1,"p-2"],["translate","tools.debugsetting.validate.button",1,"btn","btn-primary",3,"click","disabled"],[1,"p-2","ms-3"],["translate","tools.debugsetting.reinit.button",1,"btn","btn-secondary",3,"click"],[1,"switch","switch-sm","me-2","pr-2","float-right"],["type","checkbox","id","switch-advanced",1,"switch",3,"click","checked"],["for","switch-advanced","translate","tools.debugsetting.advanced.button",1,"mb-0"],[1,"row","row-cols-1","row-cols-sm-1","g-4"],[1,"col"],[4,"ngFor","ngForOf"],["class","card",4,"ngIf"],[1,"card"],[1,"card-header","fw-bold",3,"innerHTML"],[1,"card-body"],[1,"card-text"],[3,"innerHTML"],[1,"row","row-cols-1","row-cols-xl-6","row-cols-md-3","row-cols-sm-1","align-items-center"],[1,"row","row-cols-1","row-cols-xl-6","row-cols-md-3","row-cols-sm-1","align-items-center","mt-2"],[3,"setting","advanced",4,"ngIf"],[3,"setting","advanced"],[1,"modal-header"],["id","modal-basic-title","translate","setting.reloadplugin.alert.title",1,"modal-title"],["type","button","aria-label","Close",1,"btn-close",3,"click"],["translate","setting.reloadplugin.alert.subject",1,"modal-body"],[1,"modal-footer"],["type","button","translate","setting.reloadplugin.alert.cancel",1,"btn","btn-outline-dark",3,"click"],["id","modal-basic-title","translate","setting.resetplugin.alert.title",1,"modal-title"],["translate","setting.resetplugin.alert.subject",1,"modal-body"],["type","button","translate","setting.resetplugin.alert.cancel",1,"btn","btn-outline-dark",3,"click"],["id","modal-basic-title","translate","setting.eraseplugin.alert.title",1,"modal-title"],["translate","setting.eraseplugin.alert.subject",1,"modal-body"],["type","button","translate","setting.eraseplugin.alert.cancel",1,"btn","btn-outline-dark",3,"click"]],template:function(o,n){1&o&&(e.DNE(0,At,45,7,"form",3),e.EFF(1,"\n\n"),e.DNE(2,Tt,15,0,"ng-template",null,0,e.C5r),e.EFF(4,"\n\n"),e.DNE(5,It,15,0,"ng-template",null,1,e.C5r),e.EFF(7,"\n\n"),e.DNE(8,St,15,0,"ng-template",null,2,e.C5r),e.EFF(10,"\n")),2&o&&e.Y8G("ngIf",n.settings)},dependencies:[h.Sq,h.bT,c.qT,c.cb,c.j4,v.Mm,Ft,v.D9],styles:[".btn-secondary[_ngcontent-%COMP%]{--bs-btn-color: white}"]})}return i})();var ce=m(70980);function pe(i,l){const t=new h.vh("en-US");if("LastSeen"===i)return t.transform(1e3*l,"dd/MM/yyyy HH:mm:ss");if(["TimeStamps","TimeStamp","Stamp","Time","StartTime","BatteryUpdateTime","TargetTime","BatteryPercentage_TimeStamp","BatteryVoltage_TimeStamp","BatteryPercentage_TimeStamp","PairingTime"].indexOf(i)>-1){if(l>0){let n=1e3*l;return n=Number(n.toFixed(0)),t.transform(n,"dd/MM/yyyy HH:mm:ss")}return l}return l}function Bt(i,l){if(1&i){const t=e.RV6();e.j41(0,"div",4),e.EFF(1,"\n "),e.j41(2,"button",5),e.bIt("click",function(){e.eBV(t);const n=e.XpG();return e.Njj(n.export(n.json))}),e.k0s(),e.EFF(3,"\n\n "),e.nrm(4,"ngx-json-viewer",6),e.EFF(5,"\n"),e.k0s()}if(2&i){const t=e.XpG();e.Y8G("hidden",t.isLoading),e.R7$(4),e.Y8G("expanded",!1)("json",t.json)}}let Vt=(()=>{class i{apiService;headerService;fileSaverService;json=null;isLoading=!1;constructor(t,o,n){this.apiService=t,this.headerService=o,this.fileSaverService=n}onClick(t){let o;this.json=null,"log-error-history"===t&&(o=this.apiService.getLogErrorHistory(),this.headerService.setError(!1)),"clear-error-history"===t&&(o=this.apiService.clearLogErrorHistory(),this.headerService.setError(!1)),o&&o.pipe((0,ce.j)(()=>{this.isLoading=!1})).subscribe(n=>{this.callbackservice(n)})}callbackservice(t){const o=JSON.stringify(t);this.json=JSON.parse(o,pe)}export(t){const o="errors.json",n=this.fileSaverService.genType(o),r=new Blob([JSON.stringify(t)],{type:n});this.fileSaverService.save(r,o)}static \u0275fac=function(o){return new(o||i)(e.rXU(A.G),e.rXU(ae.d),e.rXU(re))};static \u0275cmp=e.VBU({type:i,selectors:[["app-error"]],decls:9,vars:1,consts:[[1,"row","d-flex","ms-2","gap-2"],["translate","tools.error.log-history.button",1,"col-xl-2","col-lg-4","col-sm-5","btn","btn-primary",3,"click"],["translate","tools.error.log-history.clear",1,"col-xl-2","col-lg-4","col-sm-5","btn","btn-primary",3,"click"],["class","row ms-2 mt-2",3,"hidden",4,"ngIf"],[1,"row","ms-2","mt-2",3,"hidden"],["translate","tools.tools.export",1,"col-lg-1","mb-2","btn","btn-primary",3,"click"],[3,"expanded","json"]],template:function(o,n){1&o&&(e.j41(0,"div",0),e.EFF(1,"\n "),e.j41(2,"button",1),e.bIt("click",function(){return n.onClick("log-error-history")}),e.k0s(),e.EFF(3,"\n "),e.j41(4,"button",2),e.bIt("click",function(){return n.onClick("clear-error-history")}),e.k0s(),e.EFF(5,"\n"),e.k0s(),e.EFF(6,"\n"),e.DNE(7,Bt,6,3,"div",3),e.EFF(8,"\n")),2&o&&(e.R7$(7),e.Y8G("ngIf",n.json))},dependencies:[h.bT,v.Mm,se]})}return i})();var Pt=m(34402),ee=m(46247),Dt=m(5779),Mt=m(22242);const Gt=()=>[10,25,50];function Nt(i,l){1&i&&(e.EFF(0,"\n "),e.j41(1,"tr"),e.EFF(2,"\n "),e.j41(3,"th",5),e.EFF(4),e.nI1(5,"translate"),e.k0s(),e.EFF(6,"\n "),e.j41(7,"th",6),e.EFF(8),e.nI1(9,"translate"),e.k0s(),e.EFF(10,"\n "),e.j41(11,"th",7),e.EFF(12),e.nI1(13,"translate"),e.k0s(),e.EFF(14,"\n "),e.j41(15,"th",7),e.EFF(16),e.nI1(17,"translate"),e.k0s(),e.EFF(18,"\n "),e.j41(19,"th",7),e.EFF(20),e.nI1(21,"translate"),e.k0s(),e.EFF(22,"\n "),e.j41(23,"th",7),e.EFF(24),e.nI1(25,"translate"),e.k0s(),e.EFF(26,"\n "),e.j41(27,"th",8),e.EFF(28),e.nI1(29,"translate"),e.k0s(),e.EFF(30,"\n "),e.k0s(),e.EFF(31,"\n ")),2&i&&(e.R7$(4),e.JRh(e.bMT(5,7,"tools.reporting.configure.clusterId.column")),e.R7$(4),e.JRh(e.bMT(9,9,"tools.reporting.configure.attributeId.column")),e.R7$(4),e.JRh(e.bMT(13,11,"tools.reporting.configure.dataType.column")),e.R7$(4),e.JRh(e.bMT(17,13,"tools.reporting.configure.timeout.column")),e.R7$(4),e.JRh(e.bMT(21,15,"tools.reporting.configure.minInterval.column")),e.R7$(4),e.JRh(e.bMT(25,17,"tools.reporting.configure.maxInterval.column")),e.R7$(4),e.JRh(e.bMT(29,19,"tools.reporting.configure.change.column")))}function Ot(i,l){if(1&i){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"input",15),e.bIt("change",function(n){e.eBV(t);const r=e.XpG().$implicit,s=e.XpG();return e.Njj(s.updateValue(n,"MinInterval",r))}),e.k0s(),e.EFF(2,"\n ")}if(2&i){const t=e.XpG().$implicit;e.R7$(),e.Y8G("value",t.minInterval)}}function Xt(i,l){if(1&i){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"input",15),e.bIt("change",function(n){e.eBV(t);const r=e.XpG().$implicit,s=e.XpG();return e.Njj(s.updateValue(n,"MinInterval",r))}),e.k0s(),e.EFF(2,"\n ")}if(2&i){const t=e.XpG().$implicit;e.R7$(),e.Y8G("value",t.minInterval)}}function Yt(i,l){if(1&i){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"input",15),e.bIt("change",function(n){e.eBV(t);const r=e.XpG().$implicit,s=e.XpG();return e.Njj(s.updateValue(n,"MaxInterval",r))}),e.k0s(),e.EFF(2,"\n ")}if(2&i){const t=e.XpG().$implicit;e.R7$(),e.Y8G("value",t.maxInterval)}}function qt(i,l){if(1&i){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"input",15),e.bIt("change",function(n){e.eBV(t);const r=e.XpG().$implicit,s=e.XpG();return e.Njj(s.updateValue(n,"MaxInterval",r))}),e.k0s(),e.EFF(2," ")}if(2&i){const t=e.XpG().$implicit;e.R7$(),e.Y8G("value",t.maxInterval)}}function Ht(i,l){if(1&i){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"input",15),e.bIt("change",function(n){e.eBV(t);const r=e.XpG(2).$implicit,s=e.XpG();return e.Njj(s.updateValue(n,"Change",r))}),e.k0s(),e.EFF(2,"\n ")}if(2&i){const t=e.XpG(2).$implicit;e.R7$(),e.Y8G("value",t.change)}}function zt(i,l){if(1&i){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"input",15),e.bIt("change",function(n){e.eBV(t);const r=e.XpG(2).$implicit,s=e.XpG();return e.Njj(s.updateValue(n,"Change",r))}),e.k0s(),e.EFF(2,"\n ")}if(2&i){const t=e.XpG(2).$implicit;e.R7$(),e.Y8G("value",t.change)}}function Ut(i,l){1&i&&(e.qex(0),e.EFF(1,"\n "),e.DNE(2,Ht,3,1,"ng-template",10),e.EFF(3,"\n "),e.DNE(4,zt,3,1,"ng-template",11),e.EFF(5,"\n "),e.bVm())}function Kt(i,l){if(1&i&&e.EFF(0),2&i){const t=e.XpG().$implicit;e.JRh(t.change)}}function Lt(i,l){if(1&i&&(e.EFF(0,"\n "),e.j41(1,"tr"),e.EFF(2,"\n "),e.j41(3,"td"),e.EFF(4),e.k0s(),e.EFF(5,"\n "),e.j41(6,"td"),e.EFF(7),e.k0s(),e.EFF(8,"\n "),e.j41(9,"td"),e.EFF(10),e.k0s(),e.EFF(11,"\n "),e.j41(12,"td"),e.EFF(13),e.k0s(),e.EFF(14,"\n "),e.j41(15,"td",9),e.EFF(16,"\n "),e.j41(17,"p-cellEditor"),e.EFF(18,"\n "),e.DNE(19,Ot,3,1,"ng-template",10),e.EFF(20,"\n "),e.DNE(21,Xt,3,1,"ng-template",11),e.EFF(22,"\n "),e.k0s(),e.EFF(23,"\n "),e.k0s(),e.EFF(24,"\n "),e.j41(25,"td",12),e.EFF(26,"\n "),e.j41(27,"p-cellEditor"),e.EFF(28,"\n "),e.DNE(29,Yt,3,1,"ng-template",10),e.EFF(30,"\n "),e.DNE(31,qt,3,1,"ng-template",11),e.k0s(),e.EFF(32,"\n "),e.k0s(),e.EFF(33,"\n "),e.j41(34,"td",13),e.EFF(35,"\n "),e.j41(36,"p-cellEditor"),e.EFF(37,"\n "),e.DNE(38,Ut,6,0,"ng-container",14),e.EFF(39,"\n "),e.DNE(40,Kt,1,1,"ng-template",null,1,e.C5r),e.k0s(),e.EFF(42,"\n "),e.k0s(),e.EFF(43,"\n "),e.k0s()),2&i){const t=l.$implicit,o=e.sdS(41),n=e.XpG();e.R7$(4),e.JRh(t.clusterId),e.R7$(3),e.JRh(t.attributeId),e.R7$(3),e.JRh(t.dataType),e.R7$(3),e.JRh(t.timeOut),e.R7$(2),e.Y8G("pEditableColumn",t.minInterval),e.R7$(10),e.Y8G("pEditableColumn",t.maxInterval),e.R7$(9),e.Y8G("pEditableColumn",t.change),e.R7$(4),e.Y8G("ngIf",n.isEditable(t))("ngIfElse",o)}}let Wt=(()=>{class i{toastr;apiService;formBuilder;translate;clusters;clustersChange=new e.bkB;clustersToDisplay=[];datatypeConvertor=[{type:"10",longueur:"0",editable:!1},{type:"20",longueur:"0",editable:!0},{type:"21",longueur:"00",editable:!0},{type:"22",longueur:"000",editable:!0},{type:"23",longueur:"0000",editable:!0},{type:"24",longueur:"00000",editable:!0},{type:"25",longueur:"000000",editable:!0},{type:"26",longueur:"0000000",editable:!0},{type:"27",longueur:"00000000",editable:!0},{type:"28",longueur:"0",editable:!0},{type:"29",longueur:"00",editable:!0},{type:"2a",longueur:"000",editable:!0},{type:"2b",longueur:"0000",editable:!0},{type:"2c",longueur:"00000",editable:!0},{type:"2d",longueur:"000000",editable:!0},{type:"2e",longueur:"0000000",editable:!0},{type:"2f",longueur:"00000000",editable:!0},{type:"38",longueur:"00",editable:!0},{type:"39",longueur:"0000",editable:!0},{type:"3a",longueur:"00000000",editable:!0},{type:"e0",longueur:"0000",editable:!0},{type:"e1",longueur:"0000",editable:!0},{type:"e2",longueur:"0000",editable:!0}];constructor(t,o,n,r){this.toastr=t,this.apiService=o,this.formBuilder=n,this.translate=r}ngOnChanges(t){t.clusters.currentValue&&this.formatClusters(t.clusters.currentValue)}formatClusters(t){this.clustersToDisplay=[],t.forEach(o=>{o.Attributes.forEach(n=>{n.Infos.forEach(r=>{const s=new Pt.E0;s.clusterId=o.ClusterId,s.attributeId=n.Attribute,s.change=parseInt(r.Change,16).toString(),s.dataType=r.DataType,s.maxInterval=parseInt(r.MaxInterval,16).toString(),s.minInterval=parseInt(r.MinInterval,16).toString(),s.timeOut=parseInt(r.TimeOut,16).toString(),this.clustersToDisplay.push(s)})})})}updateValue(t,o,n){const r=t.target.value,s=this.clusters.find(a=>a.ClusterId===n.clusterId).Attributes.find(a=>a.Attribute===n.attributeId).Infos[0];if(!this.controlerValue(Number(r),o,s)){if("Change"===o){const a=this.datatypeConvertor.find(d=>d.type===s.DataType);s[o]=(a.longueur+Number(r).toString(16).toUpperCase()).slice(-a.longueur.length)}else s[o]=Number(r).toString(16).toUpperCase();this.formatClusters(this.clusters),this.clustersChange.emit(this.clusters)}}controlerValue(t,o,n){let r=!1;if(isNaN(t))r=!0,this.clustersChange.emit(null),alert(this.translate.instant("reporting.configure.hexa.error"));else if("Change"!==o&&Number(t)>65535)r=!0,this.clustersChange.emit(null),alert(this.translate.instant("reporting.configure.length.error"));else if("Change"===o){const s=this.datatypeConvertor.find(d=>d.type===n.DataType),a=s.longueur.split("0").join("F");Number(t)>parseInt(a,16)&&(r=!0,this.clustersChange.emit(null),alert(this.translate.instant("reporting.configure.length.error"))),"10"===s.type&&Number(t)>1&&(r=!0,this.clustersChange.emit(null),alert(this.translate.instant("reporting.configure.length.error")))}return r}isEditable(t){const o=this.datatypeConvertor.find(n=>n.type===t.dataType);return o&&o.editable}static \u0275fac=function(o){return new(o||i)(e.rXU(P.tw),e.rXU(A.G),e.rXU(c.ok),e.rXU(v.c$))};static \u0275cmp=e.VBU({type:i,selectors:[["app-configure-cluster-reporting"]],inputs:{clusters:"clusters"},outputs:{clustersChange:"clustersChange"},features:[e.OA$],decls:9,vars:11,consts:[["dt1",""],["notEditable",""],["responsiveLayout","scroll","stateStorage","local","stateKey","cluster",3,"rowHover","showCurrentPageReport","currentPageReportTemplate","rowsPerPageOptions","value","rows","paginator","scrollable"],["pTemplate","header"],["pTemplate","body"],[2,"width","15rem"],[2,"width","7rem"],[2,"width","5rem"],[2,"width","3rem"],["pEditableColumnField","minInterval",3,"pEditableColumn"],["pTemplate","input"],["pTemplate","output"],["pEditableColumnField","maxInterval",3,"pEditableColumn"],["pEditableColumnField","change",3,"pEditableColumn"],[4,"ngIf","ngIfElse"],["pInputText","","type","text",3,"change","value"]],template:function(o,n){1&o&&(e.j41(0,"p-table",2,0),e.nI1(2,"translate"),e.EFF(3,"\n "),e.DNE(4,Nt,32,21,"ng-template",3),e.EFF(5,"\n "),e.DNE(6,Lt,44,9,"ng-template",4),e.EFF(7,"\n"),e.k0s(),e.EFF(8,"\n")),2&o&&(e.FS9("currentPageReportTemplate",e.bMT(2,8,"TOTAL")),e.Y8G("rowHover",!0)("showCurrentPageReport",!0)("rowsPerPageOptions",e.lJ4(10,Gt))("value",n.clustersToDisplay)("rows",10)("paginator",!0)("scrollable",!0))},dependencies:[h.bT,ee.XI,Dt.Ei,ee.hp,ee.c5,Mt.S,v.D9]})}return i})();function Zt(i,l){if(1&i&&(e.EFF(0,"\n "),e.j41(1,"span"),e.EFF(2," "),e.j41(3,"b"),e.EFF(4,"Name"),e.k0s(),e.EFF(5),e.j41(6,"b"),e.EFF(7,"NwkId"),e.k0s(),e.EFF(8),e.k0s(),e.EFF(9,"\n ")),2&i){const t=l.item;e.R7$(5),e.SpI(" : ",t.ZDeviceName," - "),e.R7$(3),e.SpI(" : ",t._NwkId,"")}}function Jt(i,l){if(1&i){const t=e.RV6();e.qex(0),e.EFF(1,"\n "),e.j41(2,"app-configure-cluster-reporting",16),e.bIt("clustersChange",function(n){e.eBV(t);const r=e.XpG();return e.Njj(r.onClustersChange(n))}),e.k0s(),e.EFF(3,"\n "),e.bVm()}if(2&i){const t=l.ngIf;e.R7$(2),e.Y8G("clusters",t)}}let Qt=(()=>{class i{toastr;apiService;translate;devices$;clusters$;deviceSelected;form;clustersToSave;permitToValidate=!1;constructor(t,o,n){this.toastr=t,this.apiService=o,this.translate=n}ngOnInit(){this.devices$=this.apiService.getZDevices()}getConfiguration(t){this.deviceSelected=null,t&&(this.deviceSelected=t._NwkId,this.clusters$=this.apiService.getConfigureReporting(this.deviceSelected))}putConfiguration(){this.apiService.putConfigureReporting(this.deviceSelected,this.clustersToSave).subscribe(()=>{this.permitToValidate=!1,this.toastr.success(this.translate.instant("api.global.succes.saved.notify"))})}resetConfiguration(){this.apiService.deleteConfigureReporting(this.deviceSelected).subscribe(()=>{this.permitToValidate=!1,this.toastr.success(this.translate.instant("api.global.succes.saved.notify"))})}triggerConfiguration(){this.apiService.getTriggerConfigureReporting(this.deviceSelected).subscribe(()=>{this.toastr.success(this.translate.instant("api.global.succes.saved.notify"))})}onClustersChange(t){this.permitToValidate=!1,this.clustersToSave=null,t&&(this.permitToValidate=!0,this.clustersToSave=t)}static \u0275fac=function(o){return new(o||i)(e.rXU(P.tw),e.rXU(A.G),e.rXU(v.c$))};static \u0275cmp=e.VBU({type:i,selectors:[["app-configure-reporting"]],decls:50,vars:30,consts:[[1,"col"],[1,"card"],[1,"card-header","d-flex"],[1,"col","fw-bold","justify-content-start"],[1,"col","d-flex","justify-content-end"],[1,"btn","btn-danger",3,"click","disabled","translate"],[1,"btn","btn-secondary","ms-3",3,"click","disabled","translate"],[1,"btn","btn-primary","ms-3",3,"click","disabled","translate"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],[1,"row"],[1,"col-sm-3","mb-2"],["bindLabel","ZDeviceName","appendTo","body",3,"change","clear","items","multiple","closeOnSelect","searchable","placeholder"],["ng-option-tmp",""],[4,"ngIf"],[3,"clustersChange","clusters"]],template:function(o,n){1&o&&(e.j41(0,"div",0),e.EFF(1,"\n "),e.j41(2,"div",1),e.EFF(3,"\n "),e.j41(4,"div",2),e.EFF(5,"\n "),e.j41(6,"div",3),e.EFF(7),e.nI1(8,"translate"),e.k0s(),e.EFF(9,"\n "),e.j41(10,"div",4),e.EFF(11,"\n "),e.j41(12,"button",5),e.nI1(13,"translate"),e.bIt("click",function(){return n.resetConfiguration()}),e.k0s(),e.EFF(14,"\n "),e.j41(15,"button",6),e.nI1(16,"translate"),e.bIt("click",function(){return n.triggerConfiguration()}),e.k0s(),e.EFF(17,"\n "),e.j41(18,"button",7),e.nI1(19,"translate"),e.bIt("click",function(){return n.putConfiguration()}),e.k0s(),e.EFF(20,"\n "),e.k0s(),e.EFF(21,"\n "),e.k0s(),e.EFF(22,"\n "),e.j41(23,"div",8),e.EFF(24,"\n "),e.nrm(25,"p",9),e.nI1(26,"translate"),e.EFF(27,"\n "),e.j41(28,"div",10),e.EFF(29,"\n "),e.j41(30,"div",11),e.EFF(31,"\n "),e.j41(32,"div",12),e.EFF(33,"\n "),e.j41(34,"ng-select",13),e.nI1(35,"translate"),e.nI1(36,"async"),e.bIt("change",function(s){return n.getConfiguration(s)})("clear",function(){return n.deviceSelected=null,n.permitToValidate=!1}),e.EFF(37,"\n "),e.DNE(38,Zt,10,2,"ng-template",14),e.EFF(39,"\n "),e.k0s(),e.EFF(40,"\n "),e.k0s(),e.EFF(41,"\n "),e.k0s(),e.EFF(42,"\n "),e.DNE(43,Jt,4,1,"ng-container",15),e.nI1(44,"async"),e.EFF(45,"\n "),e.k0s(),e.EFF(46,"\n "),e.k0s(),e.EFF(47,"\n "),e.k0s(),e.EFF(48,"\n"),e.k0s(),e.EFF(49,"\n")),2&o&&(e.R7$(7),e.JRh(e.bMT(8,14,"tools.reporting.configure.title")),e.R7$(5),e.FS9("translate",e.bMT(13,16,"tools.reporting.configure.reset.button")),e.Y8G("disabled",!n.deviceSelected),e.R7$(3),e.FS9("translate",e.bMT(16,18,"tools.reporting.configure.trigger.button")),e.Y8G("disabled",!n.deviceSelected),e.R7$(3),e.FS9("translate",e.bMT(19,20,"tools.reporting.configure.validate.button")),e.Y8G("disabled",!n.permitToValidate),e.R7$(7),e.Y8G("innerHTML",e.bMT(26,22,"tools.reporting.configure.subtitle"),e.npT),e.R7$(9),e.FS9("placeholder",e.bMT(35,24,"tools.reporting.configure.device")),e.Y8G("items",e.bMT(36,26,n.devices$))("multiple",!1)("closeOnSelect",!0)("searchable",!0),e.R7$(9),e.Y8G("ngIf",e.bMT(44,28,n.deviceSelected&&n.clusters$)))},dependencies:[h.bT,I.vr,I.Uq,v.Mm,Wt,h.Jj,v.D9]})}return i})(),$t=(()=>{class i{static \u0275fac=function(o){return new(o||i)};static \u0275cmp=e.VBU({type:i,selectors:[["app-reporting"]],decls:5,vars:0,consts:[[1,"row","row-cols-1","g-4"]],template:function(o,n){1&o&&(e.j41(0,"div",0),e.EFF(1,"\n "),e.nrm(2,"app-configure-reporting"),e.EFF(3,"\n"),e.k0s(),e.EFF(4,"\n"))},dependencies:[Qt]})}return i})();var en=m(27468);function tn(i,l){if(1&i){const t=e.RV6();e.j41(0,"button",15),e.bIt("click",function(){const n=e.eBV(t).ngIf,r=e.XpG();return e.Njj(r.download(n))}),e.k0s()}}function nn(i,l){if(1&i){const t=e.RV6();e.j41(0,"div",16),e.EFF(1,"\n "),e.j41(2,"button",17),e.bIt("click",function(){e.eBV(t);const n=e.XpG();return e.Njj(n.export(n.json))}),e.k0s(),e.EFF(3,"\n\n "),e.nrm(4,"ngx-json-viewer",18),e.EFF(5,"\n"),e.k0s()}if(2&i){const t=e.XpG();e.Y8G("hidden",t.isLoading),e.R7$(4),e.Y8G("expanded",!1)("json",t.json)}}let on=(()=>{class i{apiService;fileSaverService;json=null;isLoading=!1;logFile$;constructor(t,o){this.apiService=t,this.fileSaverService=o}ngOnInit(){this.logFile$=this.apiService.getLog()}onClick(t){let o;this.json=null,"devices"===t&&(o=this.apiService.getDevices()),"zdevices"===t&&(o=this.apiService.getZDevices()),"zgroups"===t&&(o=this.apiService.getZGroups()),"zdevice-raw"===t&&(o=this.apiService.getRawZDevices()),"infos"===t&&(o=this.apiService.getPlugin()),"coordinator"===t&&(o=this.apiService.getCoordinator()),"plugin-health"===t&&(o=this.apiService.getPluginhealth()),"zgroup-list-available-device"===t&&(o=this.apiService.getZGroupDevicesAvalaible()),"settings"===t&&(o=this.apiService.getSettings()),"plugin-stat"===t&&(o=this.apiService.getPluginStats()),"zdevice-name"===t&&(o=this.apiService.getZDeviceName()),"domoticz-env"===t&&(o=this.apiService.getDomoticzEnv()),"battery-state"===t&&(o=this.apiService.getBatteryState()),o&&o.pipe((0,ce.j)(()=>{this.isLoading=!1})).subscribe(n=>{this.callbackservice(n)})}getAllNonOptimizedDevice(){this.json=null,this.apiService.getZDeviceName().subscribe(t=>{const o=t.filter(n=>!n.CertifiedDevice).map(n=>this.getNonOptimizedDevice(n._NwkId));(0,en.p)(o).subscribe(n=>this.callbackservice(n))})}getNonOptimizedDevice(t){return this.apiService.getNonOptimizedDevice(t)}download(t){const o=t.Filename;this.apiService.downloadLog(t.URL).subscribe(n=>{this.fileSaverService.save(n.body,o)})}callbackservice(t){const o=JSON.stringify(t);this.json=JSON.parse(o,pe)}export(t){const o="export.json",n=this.fileSaverService.genType(o),r=new Blob([JSON.stringify(t)],{type:n});this.fileSaverService.save(r,o)}static \u0275fac=function(o){return new(o||i)(e.rXU(A.G),e.rXU(re))};static \u0275cmp=e.VBU({type:i,selectors:[["app-tools"]],decls:32,vars:4,consts:[[1,"row","d-flex","ms-2","gap-2"],["translate","tools.tools.zdevice-raw.button",1,"col-lg-2","col-md-4","col-sm-5","btn","btn-primary",3,"click"],["translate","tools.tools.non-optimized.button",1,"col-lg-2","col-md-4","col-sm-5","btn","btn-primary",3,"click"],["translate","tools.tools.zgroup.button",1,"col-lg-2","col-md-4","col-sm-5","btn","btn-primary",3,"click"],["translate","tools.tools.plugin-stat.button",1,"col-lg-2","col-md-4","col-sm-5","btn","btn-primary",3,"click"],["translate","tools.tools.coordinator.infos.button",1,"col-lg-2","col-md-4","col-sm-5","btn","btn-primary",3,"click"],["class","col-lg-2 col-md-4 col-sm-5 btn btn-primary","translate","tools.tools.log.button",3,"click",4,"ngIf"],["translate","tools.tools.infos.plugin.button",1,"col-lg-2","col-md-4","col-sm-5","btn","btn-primary",3,"click"],["translate","tools.tools.plugin-health.button",1,"col-lg-2","col-md-4","col-sm-5","btn","btn-primary",3,"click"],["translate","tools.tools.settings.button",1,"col-lg-2","col-md-4","col-sm-5","btn","btn-primary",3,"click"],["translate","tools.tools.domoticz-env.button",1,"col-lg-2","col-md-4","col-sm-5","btn","btn-primary",3,"click"],["translate","tools.tools.battery-state.button",1,"col-lg-2","col-md-4","col-sm-5","btn","btn-primary",3,"click"],["translate","tools.tools.zdevice-name.button",1,"col-lg-2","col-md-4","col-sm-5","btn","btn-primary",3,"click"],["translate","tools.tools.zgroup-list-available-device.button",1,"col-lg-2","col-md-4","col-sm-5","btn","btn-primary",3,"click"],["class","row ms-2 mt-2",3,"hidden",4,"ngIf"],["translate","tools.tools.log.button",1,"col-lg-2","col-md-4","col-sm-5","btn","btn-primary",3,"click"],[1,"row","ms-2","mt-2",3,"hidden"],["translate","tools.tools.export",1,"col-lg-1","mb-2","btn","btn-primary",3,"click"],[3,"expanded","json"]],template:function(o,n){1&o&&(e.j41(0,"div",0),e.EFF(1,"\n "),e.j41(2,"button",1),e.bIt("click",function(){return n.onClick("zdevice-raw")}),e.k0s(),e.EFF(3,"\n "),e.j41(4,"button",2),e.bIt("click",function(){return n.getAllNonOptimizedDevice()}),e.k0s(),e.EFF(5,"\n "),e.j41(6,"button",3),e.bIt("click",function(){return n.onClick("zgroups")}),e.k0s(),e.EFF(7,"\n "),e.j41(8,"button",4),e.bIt("click",function(){return n.onClick("plugin-stat")}),e.k0s(),e.EFF(9,"\n "),e.j41(10,"button",5),e.bIt("click",function(){return n.onClick("coordinator")}),e.k0s(),e.EFF(11,"\n "),e.DNE(12,tn,1,0,"button",6),e.nI1(13,"async"),e.EFF(14,"\n "),e.j41(15,"button",7),e.bIt("click",function(){return n.onClick("infos")}),e.k0s(),e.EFF(16,"\n "),e.j41(17,"button",8),e.bIt("click",function(){return n.onClick("plugin-health")}),e.k0s(),e.EFF(18,"\n "),e.j41(19,"button",9),e.bIt("click",function(){return n.onClick("settings")}),e.k0s(),e.EFF(20,"\n "),e.j41(21,"button",10),e.bIt("click",function(){return n.onClick("domoticz-env")}),e.k0s(),e.EFF(22,"\n "),e.j41(23,"button",11),e.bIt("click",function(){return n.onClick("battery-state")}),e.k0s(),e.EFF(24,"\n "),e.j41(25,"button",12),e.bIt("click",function(){return n.onClick("zdevice-name")}),e.k0s(),e.EFF(26,"\n "),e.j41(27,"button",13),e.bIt("click",function(){return n.onClick("zgroup-list-available-device")}),e.k0s(),e.EFF(28,"\n"),e.k0s(),e.EFF(29,"\n"),e.DNE(30,nn,6,3,"div",14),e.EFF(31,"\n")),2&o&&(e.R7$(12),e.Y8G("ngIf",e.bMT(13,2,n.logFile$)),e.R7$(18),e.Y8G("ngIf",n.json))},dependencies:[h.bT,v.Mm,se,h.Jj]})}return i})();const rn=[{path:"command",component:ut,data:{title:(0,V.o6)("command")}},{path:"debug",component:Rt,data:{title:(0,V.o6)("debug")}},{path:"binding",component:We,data:{title:(0,V.o6)("binding")}},{path:"link",component:on,data:{title:(0,V.o6)("tools")}},{path:"error",component:Vt,data:{title:(0,V.o6)("error")}},{path:"configure",component:$t,data:{title:(0,V.o6)("configure")}}];let sn=(()=>{class i{static \u0275fac=function(o){return new(o||i)};static \u0275mod=e.$C({type:i});static \u0275inj=e.G2t({imports:[le.iI.forChild(rn),le.iI]})}return i})(),ln=(()=>{class i{static \u0275fac=function(o){return new(o||i)};static \u0275mod=e.$C({type:i});static \u0275inj=e.G2t({imports:[q.G,sn,qe,De,Ve]})}return i})()},2578:function(W,Y){var m,e;void 0!==(e="function"==typeof(m=function(){"use strict";function S(u,g,x){var f=new XMLHttpRequest;f.open("GET",u),f.responseType="blob",f.onload=function(){M(f.response,g,x)},f.onerror=function(){console.error("could not download file")},f.send()}function H(u){var g=new XMLHttpRequest;g.open("HEAD",u,!1);try{g.send()}catch{}return 200<=g.status&&299>=g.status}function D(u){try{u.dispatchEvent(new MouseEvent("click"))}catch{var g=document.createEvent("MouseEvents");g.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),u.dispatchEvent(g)}}var y="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof global&&global.global===global?global:void 0,z=y.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),M=y.saveAs||("object"!=typeof window||window!==y?function(){}:"download"in HTMLAnchorElement.prototype&&!z?function(u,g,x){var f=y.URL||y.webkitURL,b=document.createElement("a");b.download=g=g||u.name||"download",b.rel="noopener","string"==typeof u?(b.href=u,b.origin===location.origin?D(b):H(b.href)?S(u,g,x):D(b,b.target="_blank")):(b.href=f.createObjectURL(u),setTimeout(function(){f.revokeObjectURL(b.href)},4e4),setTimeout(function(){D(b)},0))}:"msSaveOrOpenBlob"in navigator?function(u,g,x){if(g=g||u.name||"download","string"!=typeof u)navigator.msSaveOrOpenBlob(function h(u,g){return typeof g>"u"?g={autoBom:!1}:"object"!=typeof g&&(console.warn("Deprecated: Expected third argument to be a object"),g={autoBom:!g}),g.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(u.type)?new Blob(["\ufeff",u],{type:u.type}):u}(u,x),g);else if(H(u))S(u,g,x);else{var f=document.createElement("a");f.href=u,f.target="_blank",setTimeout(function(){D(f)})}}:function(u,g,x,f){if((f=f||open("","_blank"))&&(f.document.title=f.document.body.innerText="downloading..."),"string"==typeof u)return S(u,g,x);var b="application/octet-stream"===u.type,Z=/constructor/i.test(y.HTMLElement)||y.safari,U=/CriOS\/[\d]+/.test(navigator.userAgent);if((U||b&&Z||z)&&typeof FileReader<"u"){var G=new FileReader;G.onloadend=function(){var R=G.result;R=U?R:R.replace(/^data:[^;]*;/,"data:attachment/file;"),f?f.location.href=R:location=R,f=null},G.readAsDataURL(u)}else{var K=y.URL||y.webkitURL,N=K.createObjectURL(u);f?f.location=N:location.href=N,f=null,setTimeout(function(){K.revokeObjectURL(N)},4e4)}});y.saveAs=M.saveAs=M,W.exports=M})?m.apply(Y,[]):m)&&(W.exports=e)}}]); \ No newline at end of file diff --git a/www/z4d/908.08c26a5f1272a6a5.js b/www/z4d/908.bcd45ae997039883.js similarity index 99% rename from www/z4d/908.08c26a5f1272a6a5.js rename to www/z4d/908.bcd45ae997039883.js index 77681ad68..4d537d89d 100644 --- a/www/z4d/908.08c26a5f1272a6a5.js +++ b/www/z4d/908.bcd45ae997039883.js @@ -1 +1 @@ -"use strict";(self.webpackChunkz4d_plugin=self.webpackChunkz4d_plugin||[]).push([[908],{5908:(ke,j,l)=>{l.r(j),l.d(j,{AdminModule:()=>ge});var R=l(93887),b=l(93331),_=l(38117),E=l(28990),e=l(54438),f=l(60177),m=l(45794),p=l(3366),o=l(19664);let I=(()=>{class n{toastr;apiService;translate;permitToJoin;constructor(t,s,i){this.toastr=t,this.apiService=s,this.translate=i}ngOnInit(){this.apiService.getPermitToJoin().subscribe(t=>{this.permitToJoin=t})}updatePermitToJoin(t){this.permitToJoin.PermitToJoin=t,this.apiService.putPermitToJoin(this.permitToJoin).subscribe(()=>{switch(t){case 240:this.toastr.success(this.translate.instant("admin.permittojoin.4min.notify"));break;case 0:this.toastr.success(this.translate.instant("admin.permittojoin.stop.notify"));break;default:this.toastr.success(this.translate.instant("api.global.succes.commandsent.notify"))}})}static \u0275fac=function(s){return new(s||n)(e.rXU(m.tw),e.rXU(p.G),e.rXU(o.c$))};static \u0275cmp=e.VBU({type:n,selectors:[["app-permit-to-join"]],decls:18,vars:4,consts:[[1,"card"],["translate","admin.permittojoin.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-footer","d-flex","justify-content-end"],["translate","admin.permittojoin.stop.button",1,"btn","btn-secondary",3,"click","disabled"],["translate","admin.permittojoin.4min.button",1,"ms-2","btn","btn-success",3,"click"]],template:function(s,i){1&s&&(e.j41(0,"div",0),e.EFF(1,"\n "),e.nrm(2,"div",1),e.EFF(3,"\n "),e.j41(4,"div",2),e.EFF(5,"\n "),e.nrm(6,"p",3),e.nI1(7,"translate"),e.EFF(8,"\n "),e.k0s(),e.EFF(9,"\n "),e.j41(10,"div",4),e.EFF(11,"\n "),e.j41(12,"button",5),e.bIt("click",function(){return i.updatePermitToJoin(0)}),e.k0s(),e.EFF(13,"\n "),e.j41(14,"button",6),e.bIt("click",function(){return i.updatePermitToJoin(240)}),e.k0s(),e.EFF(15,"\n "),e.k0s(),e.EFF(16,"\n"),e.k0s(),e.EFF(17,"\n")),2&s&&(e.R7$(6),e.Y8G("innerHTML",e.bMT(7,2,"admin.permittojoin.subtitle"),e.npT),e.R7$(6),e.Y8G("disabled",0===(null==i.permitToJoin?null:i.permitToJoin.PermitToJoin)))},dependencies:[o.Mm,o.D9]})}return n})();var a=l(89417),C=l(27468),u=l(97013);function $(n,c){if(1&n&&(e.EFF(0,"\n "),e.j41(1,"span"),e.EFF(2," "),e.j41(3,"b"),e.EFF(4,"Name"),e.k0s(),e.EFF(5),e.j41(6,"b"),e.EFF(7,"NwkId"),e.k0s(),e.EFF(8),e.k0s(),e.EFF(9,"\n ")),2&n){const t=c.item;e.R7$(5),e.SpI(" : ",t.ZDeviceName," - "),e.R7$(3),e.SpI(" : ",t._NwkId,"")}}let y=(()=>{class n extends E.U{toastr;formBuilder;apiService;translate;permitToJoin;routers;form;constructor(t,s,i,r){super(),this.toastr=t,this.formBuilder=s,this.apiService=i,this.translate=r}ngOnInit(){this.form=this.formBuilder.group({deviceSelected:[null,a.k0.required]}),this.subs.sink=(0,C.p)([this.apiService.getPermitToJoin(),this.apiService.getZDevices(!0)]).subscribe(([t,s])=>{this.permitToJoin=t,this.routers=s.filter(i=>"Router"===i.LogicalType||"Coordinator"===i.LogicalType)})}updatePermitToJoin(t){this.permitToJoin.PermitToJoin=t,this.permitToJoin.Router=this.form.get("deviceSelected").value._NwkId,this.apiService.putPermitToJoin(this.permitToJoin).subscribe(()=>{switch(t){case 240:this.toastr.success(this.translate.instant("admin.permittojoin.4min.notify"));break;case 0:this.toastr.success(this.translate.instant("admin.permittojoin.stop.notify"));break;default:this.toastr.success(this.translate.instant("api.global.succes.commandsent.notify"))}})}static \u0275fac=function(s){return new(s||n)(e.rXU(m.tw),e.rXU(a.ok),e.rXU(p.G),e.rXU(o.c$))};static \u0275cmp=e.VBU({type:n,selectors:[["app-permit-to-join-router"]],features:[e.Vt3],decls:36,vars:13,consts:[[3,"formGroup"],[1,"card"],["translate","admin.permittojoinrouter.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],[1,"row"],[1,"col-sm"],["bindLabel","ZDeviceName","formControlName","deviceSelected",3,"items","multiple","closeOnSelect","searchable","placeholder"],["ng-option-tmp",""],[1,"card-footer","d-flex","justify-content-end"],["translate","admin.permittojoin.4min.button",1,"btn","btn-success",3,"click","disabled"],["translate","admin.permittojoin.stop.button",1,"ms-2","btn","btn-secondary",3,"click","disabled"]],template:function(s,i){1&s&&(e.j41(0,"form",0),e.EFF(1,"\n "),e.j41(2,"div",1),e.EFF(3,"\n "),e.nrm(4,"div",2),e.EFF(5,"\n "),e.j41(6,"div",3),e.EFF(7,"\n "),e.nrm(8,"p",4),e.nI1(9,"translate"),e.EFF(10,"\n "),e.j41(11,"div",5),e.EFF(12,"\n "),e.j41(13,"div",6),e.EFF(14,"\n "),e.j41(15,"div",7),e.EFF(16,"\n "),e.j41(17,"ng-select",8),e.nI1(18,"translate"),e.EFF(19,"\n "),e.DNE(20,$,10,2,"ng-template",9),e.EFF(21,"\n "),e.k0s(),e.EFF(22,"\n "),e.k0s(),e.EFF(23,"\n "),e.k0s(),e.EFF(24,"\n "),e.k0s(),e.EFF(25,"\n "),e.k0s(),e.EFF(26,"\n "),e.j41(27,"div",10),e.EFF(28,"\n "),e.j41(29,"button",11),e.bIt("click",function(){return i.updatePermitToJoin(240)}),e.k0s(),e.EFF(30,"\n "),e.j41(31,"button",12),e.bIt("click",function(){return i.updatePermitToJoin(0)}),e.k0s(),e.EFF(32,"\n "),e.k0s(),e.EFF(33,"\n "),e.k0s(),e.EFF(34,"\n"),e.k0s(),e.EFF(35,"\n")),2&s&&(e.Y8G("formGroup",i.form),e.R7$(8),e.Y8G("innerHTML",e.bMT(9,9,"admin.permittojoinrouter.subtitle"),e.npT),e.R7$(9),e.FS9("placeholder",e.bMT(18,11,"tools.debugcommand.device")),e.Y8G("items",i.routers)("multiple",!1)("closeOnSelect",!0)("searchable",!0),e.R7$(12),e.Y8G("disabled",!i.form.valid),e.R7$(2),e.Y8G("disabled",0===(null==i.permitToJoin?null:i.permitToJoin.PermitToJoin)))},dependencies:[a.qT,a.BC,a.cb,a.j4,a.JD,u.vr,u.Uq,o.Mm,o.D9]})}return n})(),N=(()=>{class n{toastr;apiService;translate;permitToJoin;constructor(t,s,i){this.toastr=t,this.apiService=s,this.translate=i}swReset(){this.apiService.getSwReset().subscribe(()=>{this.toastr.success(this.translate.instant("admin.coordinator.swreset.notify"))})}static \u0275fac=function(s){return new(s||n)(e.rXU(m.tw),e.rXU(p.G),e.rXU(o.c$))};static \u0275cmp=e.VBU({type:n,selectors:[["app-sw-reset"]],decls:16,vars:3,consts:[[1,"card"],["translate","admin.coordinator.swreset.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-footer","d-flex","justify-content-end"],["translate","admin.coordinator.swreset.button",1,"btn","btn-primary",3,"click"]],template:function(s,i){1&s&&(e.j41(0,"div",0),e.EFF(1,"\n "),e.nrm(2,"div",1),e.EFF(3,"\n "),e.j41(4,"div",2),e.EFF(5,"\n "),e.nrm(6,"p",3),e.nI1(7,"translate"),e.EFF(8,"\n "),e.k0s(),e.EFF(9,"\n "),e.j41(10,"div",4),e.EFF(11,"\n "),e.j41(12,"button",5),e.bIt("click",function(){return i.swReset()}),e.k0s(),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n"),e.k0s(),e.EFF(15,"\n")),2&s&&(e.R7$(6),e.Y8G("innerHTML",e.bMT(7,1,"admin.coordinator.swreset.subtitle"),e.npT))},dependencies:[o.Mm,o.D9]})}return n})();var h=l(38852),g=l(88652);function G(n,c){if(1&n){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"div",7),e.EFF(2,"\n "),e.nrm(3,"h4",8),e.EFF(4,"\n "),e.j41(5,"button",9),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.dismiss("Cross click"))}),e.k0s(),e.EFF(6,"\n "),e.k0s(),e.EFF(7,"\n "),e.nrm(8,"div",10),e.EFF(9,"\n "),e.j41(10,"div",11),e.EFF(11,"\n "),e.j41(12,"button",12),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.close("erase"))}),e.k0s(),e.EFF(13,"\n "),e.j41(14,"button",13),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.dismiss("cancel"))}),e.k0s(),e.EFF(15,"\n "),e.k0s(),e.EFF(16,"\n")}}let M=(()=>{class n{headerService;modalService;toastr;apiService;translate;constructor(t,s,i,r,d){this.headerService=t,this.modalService=s,this.toastr=i,this.apiService=r,this.translate=d}reloadPlugin(){this.apiService.getReloadPlugin().subscribe(()=>{this.toastr.success(this.translate.instant("admin.plugin.reload.notify")),this.headerService.setRestart(!1)})}open(t){this.modalService.open(t,{ariaLabelledBy:"modal-basic-title"}).result.then(()=>{this.reloadPlugin()})}static \u0275fac=function(s){return new(s||n)(e.rXU(h.d),e.rXU(g.Bq),e.rXU(m.tw),e.rXU(p.G),e.rXU(o.c$))};static \u0275cmp=e.VBU({type:n,selectors:[["app-reload-plugin"]],decls:19,vars:3,consts:[["content",""],[1,"card"],["translate","admin.plugin.reload.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-footer","d-flex","justify-content-end"],["translate","admin.plugin.reload.button",1,"btn","btn-primary","mt-3",3,"click"],[1,"modal-header"],["id","modal-basic-title","translate","admin.plugin.reload.alert.title",1,"modal-title"],["type","button","aria-label","Close",1,"btn-close",3,"click"],["translate","admin.plugin.reload.alert.subject",1,"modal-body"],[1,"modal-footer"],["type","button","translate","admin.plugin.reload.alert.erase",1,"btn","btn-primary",3,"click"],["type","button","translate","admin.plugin.reload.alert.cancel",1,"btn","btn-outline-dark",3,"click"]],template:function(s,i){if(1&s){const r=e.RV6();e.j41(0,"div",1),e.EFF(1,"\n "),e.nrm(2,"div",2),e.EFF(3,"\n "),e.j41(4,"div",3),e.EFF(5,"\n "),e.nrm(6,"p",4),e.nI1(7,"translate"),e.EFF(8,"\n "),e.k0s(),e.EFF(9,"\n "),e.j41(10,"div",5),e.EFF(11,"\n "),e.j41(12,"button",6),e.bIt("click",function(){e.eBV(r);const F=e.sdS(17);return e.Njj(i.open(F))}),e.k0s(),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n"),e.k0s(),e.EFF(15,"\n\n"),e.DNE(16,G,17,0,"ng-template",null,0,e.C5r),e.EFF(18,"\n")}2&s&&(e.R7$(6),e.Y8G("innerHTML",e.bMT(7,1,"admin.plugin.reload.subtitle"),e.npT))},dependencies:[o.Mm,o.D9]})}return n})(),D=(()=>{class n{toastr;apiService;translate;headerService;constructor(t,s,i,r){this.toastr=t,this.apiService=s,this.translate=i,this.headerService=r}rescanGroup(){this.apiService.getRescanGroup().subscribe(()=>{this.toastr.success(this.translate.instant("api.global.succes.scanlaunched.notify")),this.apiService.getRestartNeeded().subscribe(t=>{1===t.RestartNeeded&&this.headerService.setRestart(!0)})})}static \u0275fac=function(s){return new(s||n)(e.rXU(m.tw),e.rXU(p.G),e.rXU(o.c$),e.rXU(h.d))};static \u0275cmp=e.VBU({type:n,selectors:[["app-rescan-group"]],decls:16,vars:3,consts:[[1,"card"],["translate","admin.rescan.group.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-footer","d-flex","justify-content-end"],["translate","admin.rescan.group.button",1,"btn","btn-primary",3,"click"]],template:function(s,i){1&s&&(e.j41(0,"div",0),e.EFF(1,"\n "),e.nrm(2,"div",1),e.EFF(3,"\n "),e.j41(4,"div",2),e.EFF(5,"\n "),e.nrm(6,"p",3),e.nI1(7,"translate"),e.EFF(8,"\n "),e.k0s(),e.EFF(9,"\n "),e.j41(10,"div",4),e.EFF(11,"\n "),e.j41(12,"button",5),e.bIt("click",function(){return i.rescanGroup()}),e.k0s(),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n"),e.k0s(),e.EFF(15,"\n")),2&s&&(e.R7$(6),e.Y8G("innerHTML",e.bMT(7,1,"admin.rescan.group.subtitle"),e.npT))},dependencies:[o.Mm,o.D9]})}return n})();var U=l(41584),T=l(70274),k=l(96354),v=l(36554);function L(n,c){if(1&n&&(e.j41(0,"span",23),e.EFF(1),e.nI1(2,"translate"),e.j41(3,"b"),e.EFF(4),e.k0s(),e.EFF(5,"\n "),e.k0s()),2&n){const t=c.$implicit;e.R7$(),e.SpI("\n - ",e.bMT(2,3,"admin.assistprovisionning.alert.cluster"),"\xa0"),e.R7$(3),e.Lme("",t.ClusterId," (",t.ClusterDesc,")")}}function P(n,c){if(1&n&&(e.j41(0,"div"),e.EFF(1),e.nI1(2,"translate"),e.j41(3,"b"),e.EFF(4),e.k0s(),e.EFF(5,"\n "),e.DNE(6,L,6,5,"span",22),e.EFF(7,"\n "),e.k0s()),2&n){const t=c.$implicit;e.R7$(),e.SpI("\n ",e.bMT(2,3,"admin.assistprovisionning.alert.ep"),"\xa0"),e.R7$(3),e.JRh(t.Ep),e.R7$(2),e.Y8G("ngForOf",t.Clusters)}}function B(n,c){if(1&n&&(e.j41(0,"div",17),e.EFF(1,"\n "),e.j41(2,"fieldset",18),e.EFF(3,"\n "),e.j41(4,"div",19),e.EFF(5,"\n "),e.j41(6,"div",20),e.EFF(7),e.nI1(8,"translate"),e.j41(9,"b"),e.EFF(10),e.nI1(11,"translate"),e.k0s(),e.EFF(12,"\n "),e.k0s(),e.EFF(13,"\n "),e.j41(14,"div",20),e.EFF(15),e.nI1(16,"translate"),e.j41(17,"b"),e.EFF(18),e.k0s(),e.EFF(19,"\n "),e.k0s(),e.EFF(20,"\n "),e.j41(21,"div",20),e.EFF(22),e.nI1(23,"translate"),e.j41(24,"b"),e.EFF(25),e.k0s(),e.EFF(26,"\n "),e.k0s(),e.EFF(27,"\n "),e.j41(28,"div",20),e.EFF(29),e.nI1(30,"translate"),e.j41(31,"b"),e.EFF(32),e.k0s(),e.EFF(33,"\n "),e.k0s(),e.EFF(34,"\n "),e.j41(35,"div",20),e.EFF(36),e.nI1(37,"translate"),e.j41(38,"b"),e.EFF(39),e.k0s(),e.EFF(40,"\n "),e.k0s(),e.EFF(41,"\n "),e.j41(42,"div",20),e.EFF(43),e.nI1(44,"translate"),e.j41(45,"b"),e.EFF(46),e.k0s(),e.EFF(47,"\n "),e.k0s(),e.EFF(48,"\n "),e.j41(49,"div",20),e.EFF(50),e.nI1(51,"translate"),e.j41(52,"b"),e.EFF(53),e.k0s(),e.EFF(54,"\n "),e.k0s(),e.EFF(55,"\n "),e.j41(56,"div",20),e.EFF(57,"\n "),e.DNE(58,P,8,5,"div",21),e.EFF(59,"\n "),e.k0s(),e.EFF(60,"\n "),e.j41(61,"div",20),e.EFF(62),e.nI1(63,"translate"),e.j41(64,"b"),e.EFF(65),e.k0s(),e.EFF(66,"\n "),e.k0s(),e.EFF(67,"\n "),e.k0s(),e.EFF(68,"\n "),e.k0s(),e.EFF(69,"\n "),e.k0s()),2&n){const t=c.$implicit;e.R7$(7),e.SpI("\n ",e.bMT(8,20,"admin.assistprovisionning.alert.state"),"\xa0"),e.R7$(3),e.Lme("",t.ProvisionStatus," (",e.bMT(11,22,"admin.assistprovisionning.alert."+t.ProvisionStatus),")"),e.R7$(5),e.SpI("\n ",e.bMT(16,24,"admin.assistprovisionning.alert.nwkid"),"\xa0"),e.R7$(3),e.JRh(t.NwkId),e.R7$(4),e.SpI("\n ",e.bMT(23,26,"admin.assistprovisionning.alert.ieee"),"\xa0"),e.R7$(3),e.JRh(t.IEEE),e.R7$(4),e.SpI("\n ",e.bMT(30,28,"admin.assistprovisionning.alert.profile"),"\xa0"),e.R7$(3),e.Lme("",t.ProfileId," (",t.ProfileIdDesc,")"),e.R7$(4),e.SpI("\n ",e.bMT(37,30,"admin.assistprovisionning.alert.device"),"\xa0"),e.R7$(3),e.Lme("",t.ZDeviceID," (",t.ZDeviceIDDesc,")"),e.R7$(4),e.SpI("\n ",e.bMT(44,32,"admin.assistprovisionning.alert.model"),"\xa0"),e.R7$(3),e.JRh(t.Model),e.R7$(4),e.SpI("\n ",e.bMT(51,34,"admin.assistprovisionning.alert.plugincertified"),"\xa0"),e.R7$(3),e.JRh(t.PluginCertified),e.R7$(5),e.Y8G("ngForOf",t.Ep),e.R7$(4),e.SpI("\n ",e.bMT(63,36,"admin.assistprovisionning.alert.widgets"),"\xa0"),e.R7$(3),e.JRh(null==t||null==t.device?null:t.device.WidgetList)}}function X(n,c){if(1&n){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"div",7),e.EFF(2,"\n "),e.nrm(3,"h4",8),e.EFF(4,"\n "),e.j41(5,"button",9),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.close("cancel"))}),e.k0s(),e.EFF(6,"\n "),e.k0s(),e.EFF(7,"\n\n "),e.j41(8,"div",10),e.EFF(9,"\n "),e.nrm(10,"ngx-spinner",11),e.EFF(11,"\n "),e.k0s(),e.EFF(12,"\n "),e.j41(13,"div",12),e.EFF(14,"\n "),e.nrm(15,"span",13),e.EFF(16,"\n "),e.DNE(17,B,70,38,"div",14),e.EFF(18,"\n "),e.k0s(),e.EFF(19,"\n "),e.j41(20,"div",15),e.EFF(21,"\n "),e.j41(22,"button",16),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.close("cancel"))}),e.k0s(),e.EFF(23,"\n "),e.k0s(),e.EFF(24,"\n")}if(2&n){const t=e.XpG();e.R7$(10),e.Y8G("name","assist")("fullScreen",!1),e.R7$(7),e.Y8G("ngForOf",t.devicePaired)}}let Y=(()=>{class n extends E.U{toastr;apiService;modalService;spinner;newDevices;devices;devicePaired;constructor(t,s,i,r){super(),this.toastr=t,this.apiService=s,this.modalService=i,this.spinner=r}ngOnInit(){this.newDevices=null,this.devices=null,this.devicePaired=[]}open(t){this.newDevices=null,this.devices=null,this.devicePaired=[],this.spinner.show("assist"),this.subs.sink=this.apiService.getNewHardware(!0).pipe((0,T.H)(()=>(0,U.O)(0,1e4).pipe((0,T.H)(()=>this.apiService.getReceiveNewHardware())).pipe((0,k.T)(s=>{this.newDevices=s,this.newDevices.NewDevices&&this.newDevices.NewDevices.length>0&&this.createwidgets()})))).subscribe(),this.modalService.open(t,{ariaLabelledBy:"modal-basic-title",size:"lg",backdrop:"static",keyboard:!1}).result.then(()=>{this.spinner.hide("assist"),this.apiService.getNewHardware(!1).subscribe(),this.subs.unsubscribe()})}createwidgets(){this.newDevices.NewDevices.forEach(t=>{t.ProvisionStatus&&this.apiService.getZDeviceName().subscribe(s=>{this.devices=s,t.device=this.devices.find(i=>i._NwkId===t.NwkId),this.devicePaired.push(t)})})}static \u0275fac=function(s){return new(s||n)(e.rXU(m.tw),e.rXU(p.G),e.rXU(g.Bq),e.rXU(v.ex))};static \u0275cmp=e.VBU({type:n,selectors:[["app-assist-provisionning"]],features:[e.Vt3],decls:19,vars:3,consts:[["content",""],[1,"card"],["translate","admin.assistprovisionning.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-footer","d-flex","justify-content-end"],["translate","admin.assistprovisionning.go.button",1,"btn","btn-primary",3,"click"],[1,"modal-header"],["id","modal-basic-title","translate","admin.assistprovisionning.alert.title",1,"modal-title"],["type","button","aria-label","Close",1,"btn-close",3,"click"],[1,"modal-body","mt-3"],["type","line-scale","size","medium","bdColor","white","color","red",3,"name","fullScreen"],[1,"modal-body"],["translate","admin.assistprovisionning.alert.subject",1,"row","ms-2"],["class","mt-1",4,"ngFor","ngForOf"],[1,"modal-footer"],["type","button","translate","admin.assistprovisionning.alert.cancel",1,"btn","btn-primary",3,"click"],[1,"mt-1"],[1,"border","p-2"],[1,"ms-2"],[1,"row"],[4,"ngFor","ngForOf"],["class","ms-2 row",4,"ngFor","ngForOf"],[1,"ms-2","row"]],template:function(s,i){if(1&s){const r=e.RV6();e.j41(0,"div",1),e.EFF(1,"\n "),e.nrm(2,"div",2),e.EFF(3,"\n "),e.j41(4,"div",3),e.EFF(5,"\n "),e.nrm(6,"p",4),e.nI1(7,"translate"),e.EFF(8,"\n "),e.k0s(),e.EFF(9,"\n "),e.j41(10,"div",5),e.EFF(11,"\n "),e.j41(12,"button",6),e.bIt("click",function(){e.eBV(r);const F=e.sdS(17);return e.Njj(i.open(F))}),e.k0s(),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n"),e.k0s(),e.EFF(15,"\n\n"),e.DNE(16,X,25,3,"ng-template",null,0,e.C5r),e.EFF(18,"\n")}2&s&&(e.R7$(6),e.Y8G("innerHTML",e.bMT(7,1,"admin.assistprovisionning.subtitle"),e.npT))},dependencies:[f.Sq,o.Mm,v.et,o.D9]})}return n})();var J=l(12298);function A(n,c){if(1&n&&(e.EFF(0,"\n "),e.j41(1,"span"),e.EFF(2,"\n "),e.j41(3,"b"),e.EFF(4,"Widget"),e.k0s(),e.EFF(5),e.j41(6,"b"),e.EFF(7,"IEEE"),e.k0s(),e.EFF(8),e.j41(9,"b"),e.EFF(10,"Ep"),e.k0s(),e.EFF(11),e.j41(12,"b"),e.EFF(13,"Id"),e.k0s(),e.EFF(14),e.j41(15,"b"),e.EFF(16),e.k0s(),e.EFF(17,"\n "),e.k0s(),e.EFF(18,"\n ")),2&n){const t=c.item;e.R7$(5),e.SpI(" : ",t.Name," - "),e.R7$(3),e.SpI(" : ",t.IEEE," - "),e.R7$(3),e.SpI(" : ",t.Ep," - "),e.R7$(3),e.SpI(" :\n ",t._ID," -\n "),e.R7$(2),e.JRh(t.ZDeviceName)}}let O=(()=>{class n{toastr;apiService;translate;formBuilder;devices;form;constructor(t,s,i,r){this.toastr=t,this.apiService=s,this.translate=i,this.formBuilder=r}ngOnInit(){this.form=this.formBuilder.group({deviceSelected:[null,a.k0.required]}),this.apiService.getZGroupDevicesAvalaible().subscribe(t=>{const s=[];t&&t.length>0&&(t.forEach(i=>{i.WidgetList.forEach(r=>{if("0000"!==i._NwkId){const d=new J.ij;d.Ep=r.Ep,d.IEEE=r.IEEE,d.Name=r.Name,d.ZDeviceName=r.ZDeviceName,d._ID=r._ID,d._NwkId=i._NwkId,s.push(d)}})}),this.devices=[...s])})}scan(){const t=[];this.form.get("deviceSelected").value.forEach(i=>t.push(i._NwkId)),this.apiService.putScanDeviceForGrp(t).subscribe(()=>{this.toastr.success(this.translate.instant("api.global.succes.scanlaunched.notify"))})}static \u0275fac=function(s){return new(s||n)(e.rXU(m.tw),e.rXU(p.G),e.rXU(o.c$),e.rXU(a.ok))};static \u0275cmp=e.VBU({type:n,selectors:[["app-scan-group-device"]],decls:28,vars:12,consts:[[3,"formGroup"],[1,"card"],["translate","admin.scan.group.device.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],["bindLabel","Name","formControlName","deviceSelected",3,"items","multiple","closeOnSelect","searchable","placeholder"],["ng-option-tmp",""],[1,"card-footer","d-flex","justify-content-end"],["translate","admin.scan.group.device.button",1,"btn","btn-primary",3,"click","disabled"]],template:function(s,i){1&s&&(e.j41(0,"form",0),e.EFF(1,"\n "),e.j41(2,"div",1),e.EFF(3,"\n "),e.nrm(4,"div",2),e.EFF(5,"\n "),e.j41(6,"div",3),e.EFF(7,"\n "),e.nrm(8,"p",4),e.nI1(9,"translate"),e.EFF(10,"\n "),e.j41(11,"div",5),e.EFF(12,"\n "),e.j41(13,"ng-select",6),e.nI1(14,"translate"),e.EFF(15,"\n "),e.DNE(16,A,19,5,"ng-template",7),e.EFF(17,"\n "),e.k0s(),e.EFF(18,"\n "),e.k0s(),e.EFF(19,"\n "),e.k0s(),e.EFF(20,"\n "),e.j41(21,"div",8),e.EFF(22,"\n "),e.j41(23,"button",9),e.bIt("click",function(){return i.scan()}),e.k0s(),e.EFF(24,"\n "),e.k0s(),e.EFF(25,"\n "),e.k0s(),e.EFF(26,"\n"),e.k0s(),e.EFF(27,"\n")),2&s&&(e.Y8G("formGroup",i.form),e.R7$(8),e.Y8G("innerHTML",e.bMT(9,8,"admin.scan.group.device.subtitle"),e.npT),e.R7$(5),e.FS9("placeholder",e.bMT(14,10,"admin.scan.group.device.placeholder")),e.Y8G("items",i.devices)("multiple",!0)("closeOnSelect",!1)("searchable",!0),e.R7$(10),e.Y8G("disabled",!i.form.valid))},dependencies:[a.qT,a.BC,a.cb,a.j4,a.JD,u.vr,u.Uq,o.Mm,o.D9]})}return n})();function V(n,c){if(1&n){const t=e.RV6();e.j41(0,"div",7),e.EFF(1,"\n "),e.nrm(2,"label",8),e.EFF(3,"\n "),e.j41(4,"div",9),e.EFF(5,"\n "),e.j41(6,"ng-select",10),e.mxI("ngModelChange",function(i){e.eBV(t);const r=e.XpG();return e.DH7(r.selectedChannel,i)||(r.selectedChannel=i),e.Njj(i)}),e.EFF(7,"\n >\n "),e.k0s(),e.EFF(8,"\n "),e.k0s(),e.EFF(9,"\n "),e.k0s()}if(2&n){const t=e.XpG();e.R7$(6),e.Y8G("items",t.list)("compareWith",t.compareNumeric)("closeOnSelect",!0),e.R50("ngModel",t.selectedChannel)}}let x=(()=>{class n{toastr;apiService;translate;settings;channel;list=[];selectedChannel;constructor(t,s,i){this.toastr=t,this.apiService=s,this.translate=i}ngOnInit(){this.apiService.getSettings().subscribe(t=>{this.settings=t;const s=this.settings.find(i=>"CoordinatorConfiguration"===i._Theme);this.channel=s.ListOfSettings.find(i=>"channel"===i.Name),this.selectedChannel=this.channel.current_value,this.channel.list.forEach(i=>{const r=Object.keys(i)[0],d=Object.values(i)[0];this.list.push({label:r,value:d})})})}compareNumeric(t,s){return isNaN(t.value)?t.value===s:t.value===Number(s)}switchChannel(){this.apiService.putChangeChannel(this.selectedChannel).subscribe(()=>{this.toastr.success(this.translate.instant("admin.coordinator.switchchannel.notify"))})}static \u0275fac=function(s){return new(s||n)(e.rXU(m.tw),e.rXU(p.G),e.rXU(o.c$))};static \u0275cmp=e.VBU({type:n,selectors:[["app-switch-channel"]],decls:18,vars:5,consts:[[1,"card"],["translate","admin.coordinator.switchchannel.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],["class","form-group row mt-2",4,"ngIf"],[1,"card-footer","d-flex","justify-content-end"],["translate","admin.coordinator.switchchannel.button",1,"btn","btn-primary",3,"click","disabled"],[1,"form-group","row","mt-2"],["for","current","translate","admin.coordinator.switchchannel.placeholder",1,"col-sm-6","col-form-label"],[1,"col-sm"],["bindLabel","label","bindValue","value",3,"ngModelChange","items","compareWith","closeOnSelect","ngModel"]],template:function(s,i){1&s&&(e.j41(0,"div",0),e.EFF(1,"\n "),e.nrm(2,"div",1),e.EFF(3,"\n "),e.j41(4,"div",2),e.EFF(5,"\n "),e.nrm(6,"p",3),e.nI1(7,"translate"),e.EFF(8,"\n "),e.DNE(9,V,10,4,"div",4),e.EFF(10,"\n "),e.k0s(),e.EFF(11,"\n "),e.j41(12,"div",5),e.EFF(13,"\n "),e.j41(14,"button",6),e.bIt("click",function(){return i.switchChannel()}),e.k0s(),e.EFF(15,"\n "),e.k0s(),e.EFF(16,"\n"),e.k0s(),e.EFF(17,"\n")),2&s&&(e.R7$(6),e.Y8G("innerHTML",e.bMT(7,3,"admin.coordinator.switchchannel.subtitle"),e.npT),e.R7$(3),e.Y8G("ngIf",i.channel),e.R7$(5),e.Y8G("disabled",!i.selectedChannel))},dependencies:[f.bT,a.BC,a.vS,u.vr,o.Mm,o.D9]})}return n})();function H(n,c){if(1&n&&(e.EFF(0,"\n "),e.j41(1,"span"),e.EFF(2," "),e.j41(3,"b"),e.EFF(4,"Name"),e.k0s(),e.EFF(5),e.j41(6,"b"),e.EFF(7,"NwkId"),e.k0s(),e.EFF(8),e.k0s(),e.EFF(9,"\n ")),2&n){const t=c.item;e.R7$(5),e.SpI(" : ",t.ZDeviceName," - "),e.R7$(3),e.SpI(" : ",t._NwkId,"")}}let Z=(()=>{class n extends E.U{toastr;formBuilder;apiService;translate;devices$;form;constructor(t,s,i,r){super(),this.toastr=t,this.formBuilder=s,this.apiService=i,this.translate=r}ngOnInit(){this.form=this.formBuilder.group({deviceSelected:[null,a.k0.required]}),this.devices$=this.apiService.getZDeviceName()}fullReset(){this.apiService.putPairingFullReset(this.form.get("deviceSelected").value._NwkId).subscribe(()=>{this.toastr.success(this.translate.instant("admin.fullreset.notify"))})}static \u0275fac=function(s){return new(s||n)(e.rXU(m.tw),e.rXU(a.ok),e.rXU(p.G),e.rXU(o.c$))};static \u0275cmp=e.VBU({type:n,selectors:[["app-pairing-full-reset"]],features:[e.Vt3],decls:35,vars:14,consts:[[3,"formGroup"],[1,"card"],["translate","admin.fullreset.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],[1,"row"],[1,"col-sm"],["bindLabel","ZDeviceName","formControlName","deviceSelected",3,"items","multiple","closeOnSelect","searchable","placeholder"],["ng-option-tmp",""],[1,"card-footer","d-flex","justify-content-end"],["translate","admin.fullreset.button",1,"btn","btn-primary",3,"click","disabled"]],template:function(s,i){1&s&&(e.j41(0,"form",0),e.EFF(1,"\n "),e.j41(2,"div",1),e.EFF(3,"\n "),e.nrm(4,"div",2),e.EFF(5,"\n "),e.j41(6,"div",3),e.EFF(7,"\n "),e.nrm(8,"p",4),e.nI1(9,"translate"),e.EFF(10,"\n "),e.j41(11,"div",5),e.EFF(12,"\n "),e.j41(13,"div",6),e.EFF(14,"\n "),e.j41(15,"div",7),e.EFF(16,"\n "),e.j41(17,"ng-select",8),e.nI1(18,"translate"),e.nI1(19,"async"),e.EFF(20,"\n "),e.DNE(21,H,10,2,"ng-template",9),e.EFF(22,"\n "),e.k0s(),e.EFF(23,"\n "),e.k0s(),e.EFF(24,"\n "),e.k0s(),e.EFF(25,"\n "),e.k0s(),e.EFF(26,"\n "),e.k0s(),e.EFF(27,"\n "),e.j41(28,"div",10),e.EFF(29,"\n "),e.j41(30,"button",11),e.bIt("click",function(){return i.fullReset()}),e.k0s(),e.EFF(31,"\n "),e.k0s(),e.EFF(32,"\n "),e.k0s(),e.EFF(33,"\n"),e.k0s(),e.EFF(34,"\n")),2&s&&(e.Y8G("formGroup",i.form),e.R7$(8),e.Y8G("innerHTML",e.bMT(9,8,"admin.fullreset.subtitle"),e.npT),e.R7$(9),e.FS9("placeholder",e.bMT(18,10,"admin.fullreset.device.placeholder")),e.Y8G("items",e.bMT(19,12,i.devices$))("multiple",!1)("closeOnSelect",!0)("searchable",!0),e.R7$(13),e.Y8G("disabled",i.form.invalid))},dependencies:[a.qT,a.BC,a.cb,a.j4,a.JD,u.vr,u.Uq,o.Mm,f.Jj,o.D9]})}return n})();function W(n,c){if(1&n&&(e.EFF(0,"\n "),e.j41(1,"span"),e.EFF(2," "),e.j41(3,"b"),e.EFF(4,"Name"),e.k0s(),e.EFF(5),e.j41(6,"b"),e.EFF(7,"NwkId"),e.k0s(),e.EFF(8),e.k0s(),e.EFF(9,"\n ")),2&n){const t=c.item;e.R7$(5),e.SpI(" : ",t.ZDeviceName," - "),e.R7$(3),e.SpI(" : ",t._NwkId,"")}}let z=(()=>{class n extends E.U{toastr;formBuilder;apiService;translate;devices$;form;constructor(t,s,i,r){super(),this.toastr=t,this.formBuilder=s,this.apiService=i,this.translate=r}ngOnInit(){this.form=this.formBuilder.group({deviceSelected:[null,a.k0.required]}),this.devices$=this.apiService.getZDeviceName()}recreate(){this.apiService.putRecreateWidgets(this.form.get("deviceSelected").value._NwkId).subscribe(()=>{this.toastr.success(this.translate.instant("admin.recreate.notify"))})}static \u0275fac=function(s){return new(s||n)(e.rXU(m.tw),e.rXU(a.ok),e.rXU(p.G),e.rXU(o.c$))};static \u0275cmp=e.VBU({type:n,selectors:[["app-recreate-widget"]],features:[e.Vt3],decls:35,vars:14,consts:[[3,"formGroup"],[1,"card"],["translate","admin.recreate.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],[1,"row"],[1,"col-sm"],["bindLabel","ZDeviceName","formControlName","deviceSelected",3,"items","multiple","closeOnSelect","searchable","placeholder"],["ng-option-tmp",""],[1,"card-footer","d-flex","justify-content-end"],["translate","admin.recreate.button",1,"btn","btn-primary",3,"click","disabled"]],template:function(s,i){1&s&&(e.j41(0,"form",0),e.EFF(1,"\n "),e.j41(2,"div",1),e.EFF(3,"\n "),e.nrm(4,"div",2),e.EFF(5,"\n "),e.j41(6,"div",3),e.EFF(7,"\n "),e.nrm(8,"p",4),e.nI1(9,"translate"),e.EFF(10,"\n "),e.j41(11,"div",5),e.EFF(12,"\n "),e.j41(13,"div",6),e.EFF(14,"\n "),e.j41(15,"div",7),e.EFF(16,"\n "),e.j41(17,"ng-select",8),e.nI1(18,"translate"),e.nI1(19,"async"),e.EFF(20,"\n "),e.DNE(21,W,10,2,"ng-template",9),e.EFF(22,"\n "),e.k0s(),e.EFF(23,"\n "),e.k0s(),e.EFF(24,"\n "),e.k0s(),e.EFF(25,"\n "),e.k0s(),e.EFF(26,"\n "),e.k0s(),e.EFF(27,"\n "),e.j41(28,"div",10),e.EFF(29,"\n "),e.j41(30,"button",11),e.bIt("click",function(){return i.recreate()}),e.k0s(),e.EFF(31,"\n "),e.k0s(),e.EFF(32,"\n "),e.k0s(),e.EFF(33,"\n"),e.k0s(),e.EFF(34,"\n")),2&s&&(e.Y8G("formGroup",i.form),e.R7$(8),e.Y8G("innerHTML",e.bMT(9,8,"admin.recreate.subtitle"),e.npT),e.R7$(9),e.FS9("placeholder",e.bMT(18,10,"admin.recreate.device.placeholder")),e.Y8G("items",e.bMT(19,12,i.devices$))("multiple",!1)("closeOnSelect",!0)("searchable",!0),e.R7$(13),e.Y8G("disabled",i.form.invalid))},dependencies:[a.qT,a.BC,a.cb,a.j4,a.JD,u.vr,u.Uq,o.Mm,f.Jj,o.D9]})}return n})();var K=l(70980);let Q=(()=>{class n{transform(t){return t?t.replace(/\n/g,"
"):null}static \u0275fac=function(s){return new(s||n)};static \u0275pipe=e.EJ8({name:"nl2br",type:n,pure:!0})}return n})(),q=(()=>{class n{headerService;toastr;apiService;translate;spinner;message;load=!1;constructor(t,s,i,r,d){this.headerService=t,this.toastr=s,this.apiService=i,this.translate=r,this.spinner=d}updatePlugin(){this.load=!0,this.message="",this.spinner.show("update-plugin"),this.apiService.getUpgradePlugin().pipe((0,K.j)(()=>this.spinner.hide("update-plugin"))).subscribe(t=>{this.load=!1,this.message=t.result,0===t.ReturnCode?(this.toastr.success(this.translate.instant("admin.plugin.update.success")),this.headerService.setRestart(!0)):this.toastr.error(this.translate.instant("admin.plugin.update.error"))})}static \u0275fac=function(s){return new(s||n)(e.rXU(h.d),e.rXU(m.tw),e.rXU(p.G),e.rXU(o.c$),e.rXU(v.ex))};static \u0275cmp=e.VBU({type:n,selectors:[["app-update-plugin"]],decls:31,vars:9,consts:[[1,"card"],["translate","admin.plugin.update.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],["bdColor","rgba(0, 0, 0, 0.5)","size","small","color","#fff","type","line-spin-clockwise-fade-rotating",3,"fullScreen","name"],[1,"text-white"],[1,"mt-3",3,"innerHTML"],[1,"card-footer","d-flex","justify-content-end"],["translate","admin.plugin.update.button",1,"btn","btn-primary",3,"click","disabled"]],template:function(s,i){1&s&&(e.j41(0,"div",0),e.EFF(1,"\n "),e.nrm(2,"div",1),e.EFF(3,"\n "),e.j41(4,"div",2),e.EFF(5,"\n "),e.nrm(6,"p",3),e.nI1(7,"translate"),e.EFF(8,"\n "),e.j41(9,"div",4),e.EFF(10,"\n "),e.j41(11,"ngx-spinner",5),e.EFF(12,"\n "),e.j41(13,"p"),e.EFF(14,"\xa0"),e.k0s(),e.EFF(15,"\n "),e.j41(16,"p",6),e.EFF(17,"Loading..."),e.k0s(),e.EFF(18,"\n "),e.k0s(),e.EFF(19,"\n "),e.nrm(20,"span",7),e.nI1(21,"nl2br"),e.EFF(22,"\n "),e.k0s(),e.EFF(23,"\n "),e.k0s(),e.EFF(24,"\n "),e.j41(25,"div",8),e.EFF(26,"\n "),e.j41(27,"button",9),e.bIt("click",function(){return i.updatePlugin()}),e.k0s(),e.EFF(28,"\n "),e.k0s(),e.EFF(29,"\n"),e.k0s(),e.EFF(30,"\n")),2&s&&(e.R7$(6),e.Y8G("innerHTML",e.bMT(7,5,"admin.plugin.update.subtitle"),e.npT),e.R7$(5),e.Y8G("fullScreen",!1)("name","update-plugin"),e.R7$(9),e.Y8G("innerHTML",e.bMT(21,7,i.message),e.npT),e.R7$(7),e.Y8G("disabled",i.load))},dependencies:[o.Mm,v.et,o.D9,Q]})}return n})();function ee(n,c){1&n&&e.nrm(0,"app-assist-provisionning")}function te(n,c){1&n&&e.nrm(0,"app-permit-to-join")}function ne(n,c){1&n&&e.nrm(0,"app-permit-to-join-router")}function ie(n,c){1&n&&e.nrm(0,"app-pairing-full-reset")}function se(n,c){1&n&&e.nrm(0,"app-recreate-widget")}function re(n,c){1&n&&e.nrm(0,"app-sw-reset")}function ae(n,c){1&n&&e.nrm(0,"app-switch-channel")}function oe(n,c){1&n&&e.nrm(0,"app-rescan-group")}function ce(n,c){1&n&&e.nrm(0,"app-scan-group-device")}function le(n,c){1&n&&(e.j41(0,"div",4),e.EFF(1,"\n "),e.nrm(2,"app-update-plugin"),e.EFF(3,"\n "),e.k0s())}function de(n,c){1&n&&(e.j41(0,"div",5),e.nrm(1,"app-reload-plugin"),e.k0s())}let me=(()=>{class n extends E.U{activatedRoute;action;constructor(t){super(),this.activatedRoute=t}ngOnInit(){this.subs.sink=this.activatedRoute.queryParamMap.subscribe(t=>{this.action=t.get("action")})}static \u0275fac=function(s){return new(s||n)(e.rXU(b.nX))};static \u0275cmp=e.VBU({type:n,selectors:[["app-admin"]],features:[e.Vt3],decls:25,vars:11,consts:[[1,"row","row-cols-1","row-cols-xxl-5","row-cols-xl-4","row-cols-lg-3","row-cols-md-2","row-cols-sm-1","g-4"],[4,"ngIf"],["class","col-md-12 col-lg-12 col-xl-12 col-xxl-6",4,"ngIf"],["class","col",4,"ngIf"],[1,"col-md-12","col-lg-12","col-xl-12","col-xxl-6"],[1,"col"]],template:function(s,i){1&s&&(e.j41(0,"div",0),e.EFF(1,"\n "),e.DNE(2,ee,1,0,"app-assist-provisionning",1),e.EFF(3,"\n "),e.DNE(4,te,1,0,"app-permit-to-join",1),e.EFF(5,"\n "),e.DNE(6,ne,1,0,"app-permit-to-join-router",1),e.EFF(7,"\n "),e.DNE(8,ie,1,0,"app-pairing-full-reset",1),e.EFF(9,"\n "),e.DNE(10,se,1,0,"app-recreate-widget",1),e.EFF(11,"\n "),e.DNE(12,re,1,0,"app-sw-reset",1),e.EFF(13,"\n "),e.DNE(14,ae,1,0,"app-switch-channel",1),e.EFF(15,"\n "),e.DNE(16,oe,1,0,"app-rescan-group",1),e.EFF(17,"\n "),e.DNE(18,ce,1,0,"app-scan-group-device",1),e.EFF(19,"\n "),e.DNE(20,le,4,0,"div",2),e.EFF(21,"\n "),e.DNE(22,de,2,0,"div",3),e.EFF(23,"\n"),e.k0s(),e.EFF(24,"\n")),2&s&&(e.R7$(2),e.Y8G("ngIf","pairing"===i.action),e.R7$(2),e.Y8G("ngIf","pairing"===i.action),e.R7$(2),e.Y8G("ngIf","pairing"===i.action),e.R7$(2),e.Y8G("ngIf","pairing"===i.action),e.R7$(2),e.Y8G("ngIf","pairing"===i.action),e.R7$(2),e.Y8G("ngIf","coordinator"===i.action),e.R7$(2),e.Y8G("ngIf","coordinator"===i.action),e.R7$(2),e.Y8G("ngIf","group"===i.action),e.R7$(2),e.Y8G("ngIf","group"===i.action),e.R7$(2),e.Y8G("ngIf","plugin"===i.action),e.R7$(2),e.Y8G("ngIf","plugin"===i.action))},dependencies:[f.bT,I,y,N,M,D,Y,O,x,Z,z,q]})}return n})();class pe{NwkId;Ep;Brand;FileName;ForceUpdate}var w=l(70152),S=l(23294);function Fe(n,c){if(1&n&&(e.j41(0,"div"),e.EFF(1,"\n "),e.j41(2,"ng-select",17),e.nI1(3,"translate"),e.EFF(4,"\n "),e.k0s(),e.EFF(5,"\n "),e.k0s()),2&n){const t=e.XpG();e.R7$(2),e.FS9("placeholder",e.bMT(3,4,"admin.firmware.list")),e.Y8G("items",t.firmwares)("multiple",!1)("closeOnSelect",!0)}}function ue(n,c){if(1&n&&(e.j41(0,"div"),e.EFF(1,"\n "),e.j41(2,"ng-select",18),e.nI1(3,"translate"),e.nI1(4,"async"),e.EFF(5,"\n "),e.k0s(),e.EFF(6,"\n "),e.k0s()),2&n){const t=e.XpG();e.R7$(2),e.FS9("placeholder",e.bMT(3,4,"admin.firmware.devices.list")),e.Y8G("items",e.bMT(4,6,t.devicesList$))("multiple",!0)("closeOnSelect",!0)}}function fe(n,c){if(1&n&&(e.j41(0,"div",23),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&n){const t=c.$implicit;e.R7$(),e.E5c("\n ",e.bMT(2,3,"admin.firmware.alert.device")," : ",t.DeviceName," - Nwkid : ",t.Nwkid,"\n ")}}function Ee(n,c){if(1&n){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"div",19),e.EFF(2,"\n "),e.nrm(3,"h4",20),e.EFF(4,"\n "),e.j41(5,"button",21),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.dismiss("Cross click"))}),e.k0s(),e.EFF(6,"\n "),e.k0s(),e.EFF(7,"\n "),e.j41(8,"div",22),e.EFF(9),e.nI1(10,"translate"),e.j41(11,"div",23),e.EFF(12),e.nI1(13,"translate"),e.k0s(),e.EFF(14,"\n "),e.j41(15,"div",23),e.EFF(16),e.nI1(17,"translate"),e.k0s(),e.EFF(18,"\n "),e.j41(19,"div",23),e.EFF(20),e.nI1(21,"translate"),e.DNE(22,fe,3,5,"div",24),e.EFF(23,"\n "),e.k0s(),e.EFF(24,"\n "),e.k0s(),e.EFF(25,"\n "),e.j41(26,"div",25),e.EFF(27,"\n "),e.j41(28,"button",26),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.close("ok"))}),e.k0s(),e.EFF(29,"\n "),e.j41(30,"button",27),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.dismiss("cancel"))}),e.k0s(),e.EFF(31,"\n "),e.k0s(),e.EFF(32,"\n ")}if(2&n){const t=e.XpG();e.R7$(9),e.SpI("\n ",e.bMT(10,7,"admin.firmware.alert.subject"),"\n "),e.R7$(3),e.Lme("",e.bMT(13,9,"admin.firmware.alert.brand")," ",t.form.get("manufacturer").value,""),e.R7$(4),e.Lme("",e.bMT(17,11,"admin.firmware.alert.filename")," ",t.firmwareModal.FileName,""),e.R7$(4),e.SpI("\n ",e.bMT(21,13,"admin.firmware.alert.list.devices"),"\n "),e.R7$(2),e.Y8G("ngForOf",t.devicesModal)}}let ve=(()=>{class n extends E.U{apiService;formBuilder;translate;toastr;modalService;form;manufacturerList$;devicesList$;firmwares;tempFirmwares;devicesModal;firmwareModal;constructor(t,s,i,r,d){super(),this.apiService=t,this.formBuilder=s,this.translate=i,this.toastr=r,this.modalService=d}ngOnInit(){this.form=this.formBuilder.group({manufacturer:[null,a.k0.required],firmware:[null,a.k0.required],device:[null,a.k0.required],force:[!1]}),this.manufacturerList$=this.apiService.getOtaFirmware().pipe((0,k.T)(t=>(this.tempFirmwares=t[0],Object.keys(this.tempFirmwares)))),this.subs.sink=this.form.get("manufacturer").valueChanges.pipe((0,w.B)(300),(0,S.F)()).subscribe(t=>{this.form.get("firmware").reset(),this.form.get("device").reset(),t?(this.firmwares=this.tempFirmwares[t],this.firmwares.forEach(s=>{s.label=this.getLabelFirmware(s)})):this.firmwares=null}),this.subs.sink=this.form.get("firmware").valueChanges.pipe((0,w.B)(300),(0,S.F)()).subscribe(t=>{this.form.get("device").reset(),this.devicesList$=t?this.apiService.getDeviceByOtaFirmware(t.ManufCode).pipe((0,k.T)(s=>(s.forEach(i=>{i.label=this.getLabelDevice(i)}),s))):null})}updateFirmware(){const t=[],s=this.form.get("manufacturer").value,i=this.form.get("firmware").value.FileName;this.form.get("device").value.forEach(d=>{const F=new pe;F.Brand=s,F.Ep=d.Ep,F.FileName=i,F.NwkId=d.Nwkid,F.ForceUpdate=this.form.get("force").value,t.push(F)}),this.apiService.putOtaFirmware(t).subscribe(()=>{this.devicesList$=null,this.firmwares=null,this.toastr.success(this.translate.instant("admin.firmware.notify")),this.form.reset()})}open(t){this.firmwareModal=this.form.get("firmware").value,this.devicesModal=this.form.get("device").value,this.modalService.open(t,{ariaLabelledBy:"modal-basic-title"}).result.then(()=>{this.updateFirmware()})}getLabelFirmware(t){return"FileName : ".concat(t.FileName).concat(" - ImageType : ").concat(t.ImageType).concat(" - ApplicationBuild : ").concat(t.ApplicationBuild).concat(" - ApplicationRelease : ").concat(t.ApplicationRelease).concat(" - StackBuild : ").concat(t.StackBuild).concat(" - StackRelease : ").concat(t.StackRelease)}getLabelDevice(t){return"DeviceName : ".concat(t.DeviceName).concat(" - Ep : ").concat(t.Ep).concat(" - Nwkid : ").concat(t.Nwkid).concat(" - OTALastTime : ").concat(t.OTALastTime).concat(" - OTAType : ").concat(t.OTAType).concat(" - OTAVersion : ").concat(t.OTAVersion).concat(" - SWBUILD_1 : ").concat(t.SWBUILD_1).concat(" - SWBUILD_3 : ").concat(t.SWBUILD_3)}static \u0275fac=function(s){return new(s||n)(e.rXU(p.G),e.rXU(a.ok),e.rXU(o.c$),e.rXU(m.tw),e.rXU(g.Bq))};static \u0275cmp=e.VBU({type:n,selectors:[["app-firmware"]],features:[e.Vt3],decls:59,vars:15,consts:[["content",""],[1,"row","row-cols-1","row-cols-md-3","g-4"],[1,"col"],[1,"card","h-100",3,"formGroup"],["translate","admin.firmware.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"row"],[1,"col-sm"],["appendTo","body","formControlName","manufacturer",3,"items","multiple","closeOnSelect","placeholder"],[1,"row","mt-2"],[4,"ngIf"],[1,"col-auto","mt-2"],["formControlName","force","id","force","type","checkbox",1,"form-control-checkbox"],["for","force","translate","admin.firmware.force",1,"col-form-label"],[1,"card-footer","d-flex","justify-content-end"],["translate","admin.firmware.button.update",1,"btn","btn-primary",3,"click","disabled"],["appendTo","body","bindLabel","label","formControlName","firmware",3,"items","multiple","closeOnSelect","placeholder"],["appendTo","body","bindLabel","label","formControlName","device",3,"items","multiple","closeOnSelect","placeholder"],[1,"modal-header"],["id","modal-basic-title","translate","admin.firmware.alert.title",1,"modal-title"],["type","button","aria-label","Close",1,"btn-close",3,"click"],[1,"modal-body"],[1,"col-sm","mt-2"],["class","col-sm mt-2",4,"ngFor","ngForOf"],[1,"modal-footer"],["type","button","translate","admin.firmware.alert.ok",1,"btn","btn-primary",3,"click"],["type","button","translate","admin.firmware.alert.cancel",1,"btn","btn-outline-dark",3,"click"]],template:function(s,i){if(1&s){const r=e.RV6();e.j41(0,"div",1),e.EFF(1,"\n "),e.j41(2,"div",2),e.EFF(3,"\n "),e.j41(4,"div",3),e.EFF(5,"\n "),e.nrm(6,"div",4),e.EFF(7,"\n "),e.j41(8,"div",5),e.EFF(9,"\n "),e.nrm(10,"p",6),e.nI1(11,"translate"),e.EFF(12,"\n "),e.j41(13,"div",7),e.EFF(14,"\n "),e.j41(15,"div",8),e.EFF(16,"\n "),e.j41(17,"ng-select",9),e.nI1(18,"translate"),e.nI1(19,"async"),e.EFF(20,"\n "),e.k0s(),e.EFF(21,"\n "),e.k0s(),e.EFF(22,"\n "),e.k0s(),e.EFF(23,"\n "),e.j41(24,"div",10),e.EFF(25,"\n "),e.j41(26,"div",8),e.EFF(27,"\n "),e.DNE(28,Fe,6,6,"div",11),e.EFF(29,"\n "),e.k0s(),e.EFF(30,"\n "),e.k0s(),e.EFF(31,"\n "),e.j41(32,"div",10),e.EFF(33,"\n "),e.j41(34,"div",8),e.EFF(35,"\n "),e.DNE(36,ue,7,8,"div",11),e.EFF(37,"\n "),e.k0s(),e.EFF(38,"\n "),e.k0s(),e.EFF(39,"\n "),e.j41(40,"div",12),e.EFF(41,"\n "),e.nrm(42,"input",13),e.EFF(43,"\n "),e.nrm(44,"label",14),e.EFF(45,"\n "),e.k0s(),e.EFF(46,"\n\n "),e.j41(47,"div",15),e.EFF(48,"\n "),e.j41(49,"button",16),e.bIt("click",function(){e.eBV(r);const F=e.sdS(56);return e.Njj(i.open(F))}),e.k0s(),e.EFF(50,"\n "),e.k0s(),e.EFF(51,"\n "),e.k0s(),e.EFF(52,"\n "),e.k0s(),e.EFF(53,"\n "),e.k0s(),e.EFF(54,"\n\n "),e.DNE(55,Ee,33,15,"ng-template",null,0,e.C5r),e.EFF(57,"\n"),e.k0s(),e.EFF(58,"\n")}2&s&&(e.R7$(4),e.Y8G("formGroup",i.form),e.R7$(6),e.Y8G("innerHTML",e.bMT(11,9,"admin.firmware.subtitle"),e.npT),e.R7$(7),e.FS9("placeholder",e.bMT(18,11,"admin.firmware.manufacturer.list")),e.Y8G("items",e.bMT(19,13,i.manufacturerList$))("multiple",!1)("closeOnSelect",!0),e.R7$(11),e.Y8G("ngIf",i.firmwares),e.R7$(8),e.Y8G("ngIf",i.devicesList$),e.R7$(13),e.Y8G("disabled",!i.form.valid))},dependencies:[f.Sq,f.bT,a.Zm,a.BC,a.cb,a.j4,a.JD,u.vr,o.Mm,f.Jj,o.D9]})}return n})();const be=[{path:"",component:me,data:{title:(0,_.o6)("admin")}},{path:"firmware",component:ve,data:{title:(0,_.o6)("admin.firmware")}}];let he=(()=>{class n{static \u0275fac=function(s){return new(s||n)};static \u0275mod=e.$C({type:n});static \u0275inj=e.G2t({imports:[b.iI.forChild(be),b.iI]})}return n})(),ge=(()=>{class n{static \u0275fac=function(s){return new(s||n)};static \u0275mod=e.$C({type:n});static \u0275inj=e.G2t({imports:[he,R.G]})}return n})()}}]); \ No newline at end of file +"use strict";(self.webpackChunkz4d_plugin=self.webpackChunkz4d_plugin||[]).push([[908],{5908:(ke,j,l)=>{l.r(j),l.d(j,{AdminModule:()=>ge});var R=l(93887),b=l(99062),_=l(38117),E=l(28990),e=l(54438),f=l(60177),m=l(45794),p=l(3366),o=l(19664);let I=(()=>{class n{toastr;apiService;translate;permitToJoin;constructor(t,s,i){this.toastr=t,this.apiService=s,this.translate=i}ngOnInit(){this.apiService.getPermitToJoin().subscribe(t=>{this.permitToJoin=t})}updatePermitToJoin(t){this.permitToJoin.PermitToJoin=t,this.apiService.putPermitToJoin(this.permitToJoin).subscribe(()=>{switch(t){case 240:this.toastr.success(this.translate.instant("admin.permittojoin.4min.notify"));break;case 0:this.toastr.success(this.translate.instant("admin.permittojoin.stop.notify"));break;default:this.toastr.success(this.translate.instant("api.global.succes.commandsent.notify"))}})}static \u0275fac=function(s){return new(s||n)(e.rXU(m.tw),e.rXU(p.G),e.rXU(o.c$))};static \u0275cmp=e.VBU({type:n,selectors:[["app-permit-to-join"]],decls:18,vars:4,consts:[[1,"card"],["translate","admin.permittojoin.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-footer","d-flex","justify-content-end"],["translate","admin.permittojoin.stop.button",1,"btn","btn-secondary",3,"click","disabled"],["translate","admin.permittojoin.4min.button",1,"ms-2","btn","btn-success",3,"click"]],template:function(s,i){1&s&&(e.j41(0,"div",0),e.EFF(1,"\n "),e.nrm(2,"div",1),e.EFF(3,"\n "),e.j41(4,"div",2),e.EFF(5,"\n "),e.nrm(6,"p",3),e.nI1(7,"translate"),e.EFF(8,"\n "),e.k0s(),e.EFF(9,"\n "),e.j41(10,"div",4),e.EFF(11,"\n "),e.j41(12,"button",5),e.bIt("click",function(){return i.updatePermitToJoin(0)}),e.k0s(),e.EFF(13,"\n "),e.j41(14,"button",6),e.bIt("click",function(){return i.updatePermitToJoin(240)}),e.k0s(),e.EFF(15,"\n "),e.k0s(),e.EFF(16,"\n"),e.k0s(),e.EFF(17,"\n")),2&s&&(e.R7$(6),e.Y8G("innerHTML",e.bMT(7,2,"admin.permittojoin.subtitle"),e.npT),e.R7$(6),e.Y8G("disabled",0===(null==i.permitToJoin?null:i.permitToJoin.PermitToJoin)))},dependencies:[o.Mm,o.D9]})}return n})();var a=l(89417),C=l(27468),u=l(97013);function $(n,c){if(1&n&&(e.EFF(0,"\n "),e.j41(1,"span"),e.EFF(2," "),e.j41(3,"b"),e.EFF(4,"Name"),e.k0s(),e.EFF(5),e.j41(6,"b"),e.EFF(7,"NwkId"),e.k0s(),e.EFF(8),e.k0s(),e.EFF(9,"\n ")),2&n){const t=c.item;e.R7$(5),e.SpI(" : ",t.ZDeviceName," - "),e.R7$(3),e.SpI(" : ",t._NwkId,"")}}let y=(()=>{class n extends E.U{toastr;formBuilder;apiService;translate;permitToJoin;routers;form;constructor(t,s,i,r){super(),this.toastr=t,this.formBuilder=s,this.apiService=i,this.translate=r}ngOnInit(){this.form=this.formBuilder.group({deviceSelected:[null,a.k0.required]}),this.subs.sink=(0,C.p)([this.apiService.getPermitToJoin(),this.apiService.getZDevices(!0)]).subscribe(([t,s])=>{this.permitToJoin=t,this.routers=s.filter(i=>"Router"===i.LogicalType||"Coordinator"===i.LogicalType)})}updatePermitToJoin(t){this.permitToJoin.PermitToJoin=t,this.permitToJoin.Router=this.form.get("deviceSelected").value._NwkId,this.apiService.putPermitToJoin(this.permitToJoin).subscribe(()=>{switch(t){case 240:this.toastr.success(this.translate.instant("admin.permittojoin.4min.notify"));break;case 0:this.toastr.success(this.translate.instant("admin.permittojoin.stop.notify"));break;default:this.toastr.success(this.translate.instant("api.global.succes.commandsent.notify"))}})}static \u0275fac=function(s){return new(s||n)(e.rXU(m.tw),e.rXU(a.ok),e.rXU(p.G),e.rXU(o.c$))};static \u0275cmp=e.VBU({type:n,selectors:[["app-permit-to-join-router"]],features:[e.Vt3],decls:36,vars:13,consts:[[3,"formGroup"],[1,"card"],["translate","admin.permittojoinrouter.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],[1,"row"],[1,"col-sm"],["bindLabel","ZDeviceName","formControlName","deviceSelected",3,"items","multiple","closeOnSelect","searchable","placeholder"],["ng-option-tmp",""],[1,"card-footer","d-flex","justify-content-end"],["translate","admin.permittojoin.4min.button",1,"btn","btn-success",3,"click","disabled"],["translate","admin.permittojoin.stop.button",1,"ms-2","btn","btn-secondary",3,"click","disabled"]],template:function(s,i){1&s&&(e.j41(0,"form",0),e.EFF(1,"\n "),e.j41(2,"div",1),e.EFF(3,"\n "),e.nrm(4,"div",2),e.EFF(5,"\n "),e.j41(6,"div",3),e.EFF(7,"\n "),e.nrm(8,"p",4),e.nI1(9,"translate"),e.EFF(10,"\n "),e.j41(11,"div",5),e.EFF(12,"\n "),e.j41(13,"div",6),e.EFF(14,"\n "),e.j41(15,"div",7),e.EFF(16,"\n "),e.j41(17,"ng-select",8),e.nI1(18,"translate"),e.EFF(19,"\n "),e.DNE(20,$,10,2,"ng-template",9),e.EFF(21,"\n "),e.k0s(),e.EFF(22,"\n "),e.k0s(),e.EFF(23,"\n "),e.k0s(),e.EFF(24,"\n "),e.k0s(),e.EFF(25,"\n "),e.k0s(),e.EFF(26,"\n "),e.j41(27,"div",10),e.EFF(28,"\n "),e.j41(29,"button",11),e.bIt("click",function(){return i.updatePermitToJoin(240)}),e.k0s(),e.EFF(30,"\n "),e.j41(31,"button",12),e.bIt("click",function(){return i.updatePermitToJoin(0)}),e.k0s(),e.EFF(32,"\n "),e.k0s(),e.EFF(33,"\n "),e.k0s(),e.EFF(34,"\n"),e.k0s(),e.EFF(35,"\n")),2&s&&(e.Y8G("formGroup",i.form),e.R7$(8),e.Y8G("innerHTML",e.bMT(9,9,"admin.permittojoinrouter.subtitle"),e.npT),e.R7$(9),e.FS9("placeholder",e.bMT(18,11,"tools.debugcommand.device")),e.Y8G("items",i.routers)("multiple",!1)("closeOnSelect",!0)("searchable",!0),e.R7$(12),e.Y8G("disabled",!i.form.valid),e.R7$(2),e.Y8G("disabled",0===(null==i.permitToJoin?null:i.permitToJoin.PermitToJoin)))},dependencies:[a.qT,a.BC,a.cb,a.j4,a.JD,u.vr,u.Uq,o.Mm,o.D9]})}return n})(),N=(()=>{class n{toastr;apiService;translate;permitToJoin;constructor(t,s,i){this.toastr=t,this.apiService=s,this.translate=i}swReset(){this.apiService.getSwReset().subscribe(()=>{this.toastr.success(this.translate.instant("admin.coordinator.swreset.notify"))})}static \u0275fac=function(s){return new(s||n)(e.rXU(m.tw),e.rXU(p.G),e.rXU(o.c$))};static \u0275cmp=e.VBU({type:n,selectors:[["app-sw-reset"]],decls:16,vars:3,consts:[[1,"card"],["translate","admin.coordinator.swreset.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-footer","d-flex","justify-content-end"],["translate","admin.coordinator.swreset.button",1,"btn","btn-primary",3,"click"]],template:function(s,i){1&s&&(e.j41(0,"div",0),e.EFF(1,"\n "),e.nrm(2,"div",1),e.EFF(3,"\n "),e.j41(4,"div",2),e.EFF(5,"\n "),e.nrm(6,"p",3),e.nI1(7,"translate"),e.EFF(8,"\n "),e.k0s(),e.EFF(9,"\n "),e.j41(10,"div",4),e.EFF(11,"\n "),e.j41(12,"button",5),e.bIt("click",function(){return i.swReset()}),e.k0s(),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n"),e.k0s(),e.EFF(15,"\n")),2&s&&(e.R7$(6),e.Y8G("innerHTML",e.bMT(7,1,"admin.coordinator.swreset.subtitle"),e.npT))},dependencies:[o.Mm,o.D9]})}return n})();var h=l(38852),g=l(88652);function G(n,c){if(1&n){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"div",7),e.EFF(2,"\n "),e.nrm(3,"h4",8),e.EFF(4,"\n "),e.j41(5,"button",9),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.dismiss("Cross click"))}),e.k0s(),e.EFF(6,"\n "),e.k0s(),e.EFF(7,"\n "),e.nrm(8,"div",10),e.EFF(9,"\n "),e.j41(10,"div",11),e.EFF(11,"\n "),e.j41(12,"button",12),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.close("erase"))}),e.k0s(),e.EFF(13,"\n "),e.j41(14,"button",13),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.dismiss("cancel"))}),e.k0s(),e.EFF(15,"\n "),e.k0s(),e.EFF(16,"\n")}}let M=(()=>{class n{headerService;modalService;toastr;apiService;translate;constructor(t,s,i,r,d){this.headerService=t,this.modalService=s,this.toastr=i,this.apiService=r,this.translate=d}reloadPlugin(){this.apiService.getReloadPlugin().subscribe(()=>{this.toastr.success(this.translate.instant("admin.plugin.reload.notify")),this.headerService.setRestart(!1)})}open(t){this.modalService.open(t,{ariaLabelledBy:"modal-basic-title"}).result.then(()=>{this.reloadPlugin()})}static \u0275fac=function(s){return new(s||n)(e.rXU(h.d),e.rXU(g.Bq),e.rXU(m.tw),e.rXU(p.G),e.rXU(o.c$))};static \u0275cmp=e.VBU({type:n,selectors:[["app-reload-plugin"]],decls:19,vars:3,consts:[["content",""],[1,"card"],["translate","admin.plugin.reload.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-footer","d-flex","justify-content-end"],["translate","admin.plugin.reload.button",1,"btn","btn-primary","mt-3",3,"click"],[1,"modal-header"],["id","modal-basic-title","translate","admin.plugin.reload.alert.title",1,"modal-title"],["type","button","aria-label","Close",1,"btn-close",3,"click"],["translate","admin.plugin.reload.alert.subject",1,"modal-body"],[1,"modal-footer"],["type","button","translate","admin.plugin.reload.alert.erase",1,"btn","btn-primary",3,"click"],["type","button","translate","admin.plugin.reload.alert.cancel",1,"btn","btn-outline-dark",3,"click"]],template:function(s,i){if(1&s){const r=e.RV6();e.j41(0,"div",1),e.EFF(1,"\n "),e.nrm(2,"div",2),e.EFF(3,"\n "),e.j41(4,"div",3),e.EFF(5,"\n "),e.nrm(6,"p",4),e.nI1(7,"translate"),e.EFF(8,"\n "),e.k0s(),e.EFF(9,"\n "),e.j41(10,"div",5),e.EFF(11,"\n "),e.j41(12,"button",6),e.bIt("click",function(){e.eBV(r);const F=e.sdS(17);return e.Njj(i.open(F))}),e.k0s(),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n"),e.k0s(),e.EFF(15,"\n\n"),e.DNE(16,G,17,0,"ng-template",null,0,e.C5r),e.EFF(18,"\n")}2&s&&(e.R7$(6),e.Y8G("innerHTML",e.bMT(7,1,"admin.plugin.reload.subtitle"),e.npT))},dependencies:[o.Mm,o.D9]})}return n})(),D=(()=>{class n{toastr;apiService;translate;headerService;constructor(t,s,i,r){this.toastr=t,this.apiService=s,this.translate=i,this.headerService=r}rescanGroup(){this.apiService.getRescanGroup().subscribe(()=>{this.toastr.success(this.translate.instant("api.global.succes.scanlaunched.notify")),this.apiService.getRestartNeeded().subscribe(t=>{1===t.RestartNeeded&&this.headerService.setRestart(!0)})})}static \u0275fac=function(s){return new(s||n)(e.rXU(m.tw),e.rXU(p.G),e.rXU(o.c$),e.rXU(h.d))};static \u0275cmp=e.VBU({type:n,selectors:[["app-rescan-group"]],decls:16,vars:3,consts:[[1,"card"],["translate","admin.rescan.group.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-footer","d-flex","justify-content-end"],["translate","admin.rescan.group.button",1,"btn","btn-primary",3,"click"]],template:function(s,i){1&s&&(e.j41(0,"div",0),e.EFF(1,"\n "),e.nrm(2,"div",1),e.EFF(3,"\n "),e.j41(4,"div",2),e.EFF(5,"\n "),e.nrm(6,"p",3),e.nI1(7,"translate"),e.EFF(8,"\n "),e.k0s(),e.EFF(9,"\n "),e.j41(10,"div",4),e.EFF(11,"\n "),e.j41(12,"button",5),e.bIt("click",function(){return i.rescanGroup()}),e.k0s(),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n"),e.k0s(),e.EFF(15,"\n")),2&s&&(e.R7$(6),e.Y8G("innerHTML",e.bMT(7,1,"admin.rescan.group.subtitle"),e.npT))},dependencies:[o.Mm,o.D9]})}return n})();var U=l(41584),T=l(70274),k=l(96354),v=l(36554);function L(n,c){if(1&n&&(e.j41(0,"span",23),e.EFF(1),e.nI1(2,"translate"),e.j41(3,"b"),e.EFF(4),e.k0s(),e.EFF(5,"\n "),e.k0s()),2&n){const t=c.$implicit;e.R7$(),e.SpI("\n - ",e.bMT(2,3,"admin.assistprovisionning.alert.cluster"),"\xa0"),e.R7$(3),e.Lme("",t.ClusterId," (",t.ClusterDesc,")")}}function P(n,c){if(1&n&&(e.j41(0,"div"),e.EFF(1),e.nI1(2,"translate"),e.j41(3,"b"),e.EFF(4),e.k0s(),e.EFF(5,"\n "),e.DNE(6,L,6,5,"span",22),e.EFF(7,"\n "),e.k0s()),2&n){const t=c.$implicit;e.R7$(),e.SpI("\n ",e.bMT(2,3,"admin.assistprovisionning.alert.ep"),"\xa0"),e.R7$(3),e.JRh(t.Ep),e.R7$(2),e.Y8G("ngForOf",t.Clusters)}}function B(n,c){if(1&n&&(e.j41(0,"div",17),e.EFF(1,"\n "),e.j41(2,"fieldset",18),e.EFF(3,"\n "),e.j41(4,"div",19),e.EFF(5,"\n "),e.j41(6,"div",20),e.EFF(7),e.nI1(8,"translate"),e.j41(9,"b"),e.EFF(10),e.nI1(11,"translate"),e.k0s(),e.EFF(12,"\n "),e.k0s(),e.EFF(13,"\n "),e.j41(14,"div",20),e.EFF(15),e.nI1(16,"translate"),e.j41(17,"b"),e.EFF(18),e.k0s(),e.EFF(19,"\n "),e.k0s(),e.EFF(20,"\n "),e.j41(21,"div",20),e.EFF(22),e.nI1(23,"translate"),e.j41(24,"b"),e.EFF(25),e.k0s(),e.EFF(26,"\n "),e.k0s(),e.EFF(27,"\n "),e.j41(28,"div",20),e.EFF(29),e.nI1(30,"translate"),e.j41(31,"b"),e.EFF(32),e.k0s(),e.EFF(33,"\n "),e.k0s(),e.EFF(34,"\n "),e.j41(35,"div",20),e.EFF(36),e.nI1(37,"translate"),e.j41(38,"b"),e.EFF(39),e.k0s(),e.EFF(40,"\n "),e.k0s(),e.EFF(41,"\n "),e.j41(42,"div",20),e.EFF(43),e.nI1(44,"translate"),e.j41(45,"b"),e.EFF(46),e.k0s(),e.EFF(47,"\n "),e.k0s(),e.EFF(48,"\n "),e.j41(49,"div",20),e.EFF(50),e.nI1(51,"translate"),e.j41(52,"b"),e.EFF(53),e.k0s(),e.EFF(54,"\n "),e.k0s(),e.EFF(55,"\n "),e.j41(56,"div",20),e.EFF(57,"\n "),e.DNE(58,P,8,5,"div",21),e.EFF(59,"\n "),e.k0s(),e.EFF(60,"\n "),e.j41(61,"div",20),e.EFF(62),e.nI1(63,"translate"),e.j41(64,"b"),e.EFF(65),e.k0s(),e.EFF(66,"\n "),e.k0s(),e.EFF(67,"\n "),e.k0s(),e.EFF(68,"\n "),e.k0s(),e.EFF(69,"\n "),e.k0s()),2&n){const t=c.$implicit;e.R7$(7),e.SpI("\n ",e.bMT(8,20,"admin.assistprovisionning.alert.state"),"\xa0"),e.R7$(3),e.Lme("",t.ProvisionStatus," (",e.bMT(11,22,"admin.assistprovisionning.alert."+t.ProvisionStatus),")"),e.R7$(5),e.SpI("\n ",e.bMT(16,24,"admin.assistprovisionning.alert.nwkid"),"\xa0"),e.R7$(3),e.JRh(t.NwkId),e.R7$(4),e.SpI("\n ",e.bMT(23,26,"admin.assistprovisionning.alert.ieee"),"\xa0"),e.R7$(3),e.JRh(t.IEEE),e.R7$(4),e.SpI("\n ",e.bMT(30,28,"admin.assistprovisionning.alert.profile"),"\xa0"),e.R7$(3),e.Lme("",t.ProfileId," (",t.ProfileIdDesc,")"),e.R7$(4),e.SpI("\n ",e.bMT(37,30,"admin.assistprovisionning.alert.device"),"\xa0"),e.R7$(3),e.Lme("",t.ZDeviceID," (",t.ZDeviceIDDesc,")"),e.R7$(4),e.SpI("\n ",e.bMT(44,32,"admin.assistprovisionning.alert.model"),"\xa0"),e.R7$(3),e.JRh(t.Model),e.R7$(4),e.SpI("\n ",e.bMT(51,34,"admin.assistprovisionning.alert.plugincertified"),"\xa0"),e.R7$(3),e.JRh(t.PluginCertified),e.R7$(5),e.Y8G("ngForOf",t.Ep),e.R7$(4),e.SpI("\n ",e.bMT(63,36,"admin.assistprovisionning.alert.widgets"),"\xa0"),e.R7$(3),e.JRh(null==t||null==t.device?null:t.device.WidgetList)}}function X(n,c){if(1&n){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"div",7),e.EFF(2,"\n "),e.nrm(3,"h4",8),e.EFF(4,"\n "),e.j41(5,"button",9),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.close("cancel"))}),e.k0s(),e.EFF(6,"\n "),e.k0s(),e.EFF(7,"\n\n "),e.j41(8,"div",10),e.EFF(9,"\n "),e.nrm(10,"ngx-spinner",11),e.EFF(11,"\n "),e.k0s(),e.EFF(12,"\n "),e.j41(13,"div",12),e.EFF(14,"\n "),e.nrm(15,"span",13),e.EFF(16,"\n "),e.DNE(17,B,70,38,"div",14),e.EFF(18,"\n "),e.k0s(),e.EFF(19,"\n "),e.j41(20,"div",15),e.EFF(21,"\n "),e.j41(22,"button",16),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.close("cancel"))}),e.k0s(),e.EFF(23,"\n "),e.k0s(),e.EFF(24,"\n")}if(2&n){const t=e.XpG();e.R7$(10),e.Y8G("name","assist")("fullScreen",!1),e.R7$(7),e.Y8G("ngForOf",t.devicePaired)}}let Y=(()=>{class n extends E.U{toastr;apiService;modalService;spinner;newDevices;devices;devicePaired;constructor(t,s,i,r){super(),this.toastr=t,this.apiService=s,this.modalService=i,this.spinner=r}ngOnInit(){this.newDevices=null,this.devices=null,this.devicePaired=[]}open(t){this.newDevices=null,this.devices=null,this.devicePaired=[],this.spinner.show("assist"),this.subs.sink=this.apiService.getNewHardware(!0).pipe((0,T.H)(()=>(0,U.O)(0,1e4).pipe((0,T.H)(()=>this.apiService.getReceiveNewHardware())).pipe((0,k.T)(s=>{this.newDevices=s,this.newDevices.NewDevices&&this.newDevices.NewDevices.length>0&&this.createwidgets()})))).subscribe(),this.modalService.open(t,{ariaLabelledBy:"modal-basic-title",size:"lg",backdrop:"static",keyboard:!1}).result.then(()=>{this.spinner.hide("assist"),this.apiService.getNewHardware(!1).subscribe(),this.subs.unsubscribe()})}createwidgets(){this.newDevices.NewDevices.forEach(t=>{t.ProvisionStatus&&this.apiService.getZDeviceName().subscribe(s=>{this.devices=s,t.device=this.devices.find(i=>i._NwkId===t.NwkId),this.devicePaired.push(t)})})}static \u0275fac=function(s){return new(s||n)(e.rXU(m.tw),e.rXU(p.G),e.rXU(g.Bq),e.rXU(v.ex))};static \u0275cmp=e.VBU({type:n,selectors:[["app-assist-provisionning"]],features:[e.Vt3],decls:19,vars:3,consts:[["content",""],[1,"card"],["translate","admin.assistprovisionning.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-footer","d-flex","justify-content-end"],["translate","admin.assistprovisionning.go.button",1,"btn","btn-primary",3,"click"],[1,"modal-header"],["id","modal-basic-title","translate","admin.assistprovisionning.alert.title",1,"modal-title"],["type","button","aria-label","Close",1,"btn-close",3,"click"],[1,"modal-body","mt-3"],["type","line-scale","size","medium","bdColor","white","color","red",3,"name","fullScreen"],[1,"modal-body"],["translate","admin.assistprovisionning.alert.subject",1,"row","ms-2"],["class","mt-1",4,"ngFor","ngForOf"],[1,"modal-footer"],["type","button","translate","admin.assistprovisionning.alert.cancel",1,"btn","btn-primary",3,"click"],[1,"mt-1"],[1,"border","p-2"],[1,"ms-2"],[1,"row"],[4,"ngFor","ngForOf"],["class","ms-2 row",4,"ngFor","ngForOf"],[1,"ms-2","row"]],template:function(s,i){if(1&s){const r=e.RV6();e.j41(0,"div",1),e.EFF(1,"\n "),e.nrm(2,"div",2),e.EFF(3,"\n "),e.j41(4,"div",3),e.EFF(5,"\n "),e.nrm(6,"p",4),e.nI1(7,"translate"),e.EFF(8,"\n "),e.k0s(),e.EFF(9,"\n "),e.j41(10,"div",5),e.EFF(11,"\n "),e.j41(12,"button",6),e.bIt("click",function(){e.eBV(r);const F=e.sdS(17);return e.Njj(i.open(F))}),e.k0s(),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n"),e.k0s(),e.EFF(15,"\n\n"),e.DNE(16,X,25,3,"ng-template",null,0,e.C5r),e.EFF(18,"\n")}2&s&&(e.R7$(6),e.Y8G("innerHTML",e.bMT(7,1,"admin.assistprovisionning.subtitle"),e.npT))},dependencies:[f.Sq,o.Mm,v.et,o.D9]})}return n})();var J=l(12298);function A(n,c){if(1&n&&(e.EFF(0,"\n "),e.j41(1,"span"),e.EFF(2,"\n "),e.j41(3,"b"),e.EFF(4,"Widget"),e.k0s(),e.EFF(5),e.j41(6,"b"),e.EFF(7,"IEEE"),e.k0s(),e.EFF(8),e.j41(9,"b"),e.EFF(10,"Ep"),e.k0s(),e.EFF(11),e.j41(12,"b"),e.EFF(13,"Id"),e.k0s(),e.EFF(14),e.j41(15,"b"),e.EFF(16),e.k0s(),e.EFF(17,"\n "),e.k0s(),e.EFF(18,"\n ")),2&n){const t=c.item;e.R7$(5),e.SpI(" : ",t.Name," - "),e.R7$(3),e.SpI(" : ",t.IEEE," - "),e.R7$(3),e.SpI(" : ",t.Ep," - "),e.R7$(3),e.SpI(" :\n ",t._ID," -\n "),e.R7$(2),e.JRh(t.ZDeviceName)}}let O=(()=>{class n{toastr;apiService;translate;formBuilder;devices;form;constructor(t,s,i,r){this.toastr=t,this.apiService=s,this.translate=i,this.formBuilder=r}ngOnInit(){this.form=this.formBuilder.group({deviceSelected:[null,a.k0.required]}),this.apiService.getZGroupDevicesAvalaible().subscribe(t=>{const s=[];t&&t.length>0&&(t.forEach(i=>{i.WidgetList.forEach(r=>{if("0000"!==i._NwkId){const d=new J.ij;d.Ep=r.Ep,d.IEEE=r.IEEE,d.Name=r.Name,d.ZDeviceName=r.ZDeviceName,d._ID=r._ID,d._NwkId=i._NwkId,s.push(d)}})}),this.devices=[...s])})}scan(){const t=[];this.form.get("deviceSelected").value.forEach(i=>t.push(i._NwkId)),this.apiService.putScanDeviceForGrp(t).subscribe(()=>{this.toastr.success(this.translate.instant("api.global.succes.scanlaunched.notify"))})}static \u0275fac=function(s){return new(s||n)(e.rXU(m.tw),e.rXU(p.G),e.rXU(o.c$),e.rXU(a.ok))};static \u0275cmp=e.VBU({type:n,selectors:[["app-scan-group-device"]],decls:28,vars:12,consts:[[3,"formGroup"],[1,"card"],["translate","admin.scan.group.device.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],["bindLabel","Name","formControlName","deviceSelected",3,"items","multiple","closeOnSelect","searchable","placeholder"],["ng-option-tmp",""],[1,"card-footer","d-flex","justify-content-end"],["translate","admin.scan.group.device.button",1,"btn","btn-primary",3,"click","disabled"]],template:function(s,i){1&s&&(e.j41(0,"form",0),e.EFF(1,"\n "),e.j41(2,"div",1),e.EFF(3,"\n "),e.nrm(4,"div",2),e.EFF(5,"\n "),e.j41(6,"div",3),e.EFF(7,"\n "),e.nrm(8,"p",4),e.nI1(9,"translate"),e.EFF(10,"\n "),e.j41(11,"div",5),e.EFF(12,"\n "),e.j41(13,"ng-select",6),e.nI1(14,"translate"),e.EFF(15,"\n "),e.DNE(16,A,19,5,"ng-template",7),e.EFF(17,"\n "),e.k0s(),e.EFF(18,"\n "),e.k0s(),e.EFF(19,"\n "),e.k0s(),e.EFF(20,"\n "),e.j41(21,"div",8),e.EFF(22,"\n "),e.j41(23,"button",9),e.bIt("click",function(){return i.scan()}),e.k0s(),e.EFF(24,"\n "),e.k0s(),e.EFF(25,"\n "),e.k0s(),e.EFF(26,"\n"),e.k0s(),e.EFF(27,"\n")),2&s&&(e.Y8G("formGroup",i.form),e.R7$(8),e.Y8G("innerHTML",e.bMT(9,8,"admin.scan.group.device.subtitle"),e.npT),e.R7$(5),e.FS9("placeholder",e.bMT(14,10,"admin.scan.group.device.placeholder")),e.Y8G("items",i.devices)("multiple",!0)("closeOnSelect",!1)("searchable",!0),e.R7$(10),e.Y8G("disabled",!i.form.valid))},dependencies:[a.qT,a.BC,a.cb,a.j4,a.JD,u.vr,u.Uq,o.Mm,o.D9]})}return n})();function V(n,c){if(1&n){const t=e.RV6();e.j41(0,"div",7),e.EFF(1,"\n "),e.nrm(2,"label",8),e.EFF(3,"\n "),e.j41(4,"div",9),e.EFF(5,"\n "),e.j41(6,"ng-select",10),e.mxI("ngModelChange",function(i){e.eBV(t);const r=e.XpG();return e.DH7(r.selectedChannel,i)||(r.selectedChannel=i),e.Njj(i)}),e.EFF(7,"\n >\n "),e.k0s(),e.EFF(8,"\n "),e.k0s(),e.EFF(9,"\n "),e.k0s()}if(2&n){const t=e.XpG();e.R7$(6),e.Y8G("items",t.list)("compareWith",t.compareNumeric)("closeOnSelect",!0),e.R50("ngModel",t.selectedChannel)}}let x=(()=>{class n{toastr;apiService;translate;settings;channel;list=[];selectedChannel;constructor(t,s,i){this.toastr=t,this.apiService=s,this.translate=i}ngOnInit(){this.apiService.getSettings().subscribe(t=>{this.settings=t;const s=this.settings.find(i=>"CoordinatorConfiguration"===i._Theme);this.channel=s.ListOfSettings.find(i=>"channel"===i.Name),this.selectedChannel=this.channel.current_value,this.channel.list.forEach(i=>{const r=Object.keys(i)[0],d=Object.values(i)[0];this.list.push({label:r,value:d})})})}compareNumeric(t,s){return isNaN(t.value)?t.value===s:t.value===Number(s)}switchChannel(){this.apiService.putChangeChannel(this.selectedChannel).subscribe(()=>{this.toastr.success(this.translate.instant("admin.coordinator.switchchannel.notify"))})}static \u0275fac=function(s){return new(s||n)(e.rXU(m.tw),e.rXU(p.G),e.rXU(o.c$))};static \u0275cmp=e.VBU({type:n,selectors:[["app-switch-channel"]],decls:18,vars:5,consts:[[1,"card"],["translate","admin.coordinator.switchchannel.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],["class","form-group row mt-2",4,"ngIf"],[1,"card-footer","d-flex","justify-content-end"],["translate","admin.coordinator.switchchannel.button",1,"btn","btn-primary",3,"click","disabled"],[1,"form-group","row","mt-2"],["for","current","translate","admin.coordinator.switchchannel.placeholder",1,"col-sm-6","col-form-label"],[1,"col-sm"],["bindLabel","label","bindValue","value",3,"ngModelChange","items","compareWith","closeOnSelect","ngModel"]],template:function(s,i){1&s&&(e.j41(0,"div",0),e.EFF(1,"\n "),e.nrm(2,"div",1),e.EFF(3,"\n "),e.j41(4,"div",2),e.EFF(5,"\n "),e.nrm(6,"p",3),e.nI1(7,"translate"),e.EFF(8,"\n "),e.DNE(9,V,10,4,"div",4),e.EFF(10,"\n "),e.k0s(),e.EFF(11,"\n "),e.j41(12,"div",5),e.EFF(13,"\n "),e.j41(14,"button",6),e.bIt("click",function(){return i.switchChannel()}),e.k0s(),e.EFF(15,"\n "),e.k0s(),e.EFF(16,"\n"),e.k0s(),e.EFF(17,"\n")),2&s&&(e.R7$(6),e.Y8G("innerHTML",e.bMT(7,3,"admin.coordinator.switchchannel.subtitle"),e.npT),e.R7$(3),e.Y8G("ngIf",i.channel),e.R7$(5),e.Y8G("disabled",!i.selectedChannel))},dependencies:[f.bT,a.BC,a.vS,u.vr,o.Mm,o.D9]})}return n})();function H(n,c){if(1&n&&(e.EFF(0,"\n "),e.j41(1,"span"),e.EFF(2," "),e.j41(3,"b"),e.EFF(4,"Name"),e.k0s(),e.EFF(5),e.j41(6,"b"),e.EFF(7,"NwkId"),e.k0s(),e.EFF(8),e.k0s(),e.EFF(9,"\n ")),2&n){const t=c.item;e.R7$(5),e.SpI(" : ",t.ZDeviceName," - "),e.R7$(3),e.SpI(" : ",t._NwkId,"")}}let Z=(()=>{class n extends E.U{toastr;formBuilder;apiService;translate;devices$;form;constructor(t,s,i,r){super(),this.toastr=t,this.formBuilder=s,this.apiService=i,this.translate=r}ngOnInit(){this.form=this.formBuilder.group({deviceSelected:[null,a.k0.required]}),this.devices$=this.apiService.getZDeviceName()}fullReset(){this.apiService.putPairingFullReset(this.form.get("deviceSelected").value._NwkId).subscribe(()=>{this.toastr.success(this.translate.instant("admin.fullreset.notify"))})}static \u0275fac=function(s){return new(s||n)(e.rXU(m.tw),e.rXU(a.ok),e.rXU(p.G),e.rXU(o.c$))};static \u0275cmp=e.VBU({type:n,selectors:[["app-pairing-full-reset"]],features:[e.Vt3],decls:35,vars:14,consts:[[3,"formGroup"],[1,"card"],["translate","admin.fullreset.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],[1,"row"],[1,"col-sm"],["bindLabel","ZDeviceName","formControlName","deviceSelected",3,"items","multiple","closeOnSelect","searchable","placeholder"],["ng-option-tmp",""],[1,"card-footer","d-flex","justify-content-end"],["translate","admin.fullreset.button",1,"btn","btn-primary",3,"click","disabled"]],template:function(s,i){1&s&&(e.j41(0,"form",0),e.EFF(1,"\n "),e.j41(2,"div",1),e.EFF(3,"\n "),e.nrm(4,"div",2),e.EFF(5,"\n "),e.j41(6,"div",3),e.EFF(7,"\n "),e.nrm(8,"p",4),e.nI1(9,"translate"),e.EFF(10,"\n "),e.j41(11,"div",5),e.EFF(12,"\n "),e.j41(13,"div",6),e.EFF(14,"\n "),e.j41(15,"div",7),e.EFF(16,"\n "),e.j41(17,"ng-select",8),e.nI1(18,"translate"),e.nI1(19,"async"),e.EFF(20,"\n "),e.DNE(21,H,10,2,"ng-template",9),e.EFF(22,"\n "),e.k0s(),e.EFF(23,"\n "),e.k0s(),e.EFF(24,"\n "),e.k0s(),e.EFF(25,"\n "),e.k0s(),e.EFF(26,"\n "),e.k0s(),e.EFF(27,"\n "),e.j41(28,"div",10),e.EFF(29,"\n "),e.j41(30,"button",11),e.bIt("click",function(){return i.fullReset()}),e.k0s(),e.EFF(31,"\n "),e.k0s(),e.EFF(32,"\n "),e.k0s(),e.EFF(33,"\n"),e.k0s(),e.EFF(34,"\n")),2&s&&(e.Y8G("formGroup",i.form),e.R7$(8),e.Y8G("innerHTML",e.bMT(9,8,"admin.fullreset.subtitle"),e.npT),e.R7$(9),e.FS9("placeholder",e.bMT(18,10,"admin.fullreset.device.placeholder")),e.Y8G("items",e.bMT(19,12,i.devices$))("multiple",!1)("closeOnSelect",!0)("searchable",!0),e.R7$(13),e.Y8G("disabled",i.form.invalid))},dependencies:[a.qT,a.BC,a.cb,a.j4,a.JD,u.vr,u.Uq,o.Mm,f.Jj,o.D9]})}return n})();function W(n,c){if(1&n&&(e.EFF(0,"\n "),e.j41(1,"span"),e.EFF(2," "),e.j41(3,"b"),e.EFF(4,"Name"),e.k0s(),e.EFF(5),e.j41(6,"b"),e.EFF(7,"NwkId"),e.k0s(),e.EFF(8),e.k0s(),e.EFF(9,"\n ")),2&n){const t=c.item;e.R7$(5),e.SpI(" : ",t.ZDeviceName," - "),e.R7$(3),e.SpI(" : ",t._NwkId,"")}}let z=(()=>{class n extends E.U{toastr;formBuilder;apiService;translate;devices$;form;constructor(t,s,i,r){super(),this.toastr=t,this.formBuilder=s,this.apiService=i,this.translate=r}ngOnInit(){this.form=this.formBuilder.group({deviceSelected:[null,a.k0.required]}),this.devices$=this.apiService.getZDeviceName()}recreate(){this.apiService.putRecreateWidgets(this.form.get("deviceSelected").value._NwkId).subscribe(()=>{this.toastr.success(this.translate.instant("admin.recreate.notify"))})}static \u0275fac=function(s){return new(s||n)(e.rXU(m.tw),e.rXU(a.ok),e.rXU(p.G),e.rXU(o.c$))};static \u0275cmp=e.VBU({type:n,selectors:[["app-recreate-widget"]],features:[e.Vt3],decls:35,vars:14,consts:[[3,"formGroup"],[1,"card"],["translate","admin.recreate.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],[1,"row"],[1,"col-sm"],["bindLabel","ZDeviceName","formControlName","deviceSelected",3,"items","multiple","closeOnSelect","searchable","placeholder"],["ng-option-tmp",""],[1,"card-footer","d-flex","justify-content-end"],["translate","admin.recreate.button",1,"btn","btn-primary",3,"click","disabled"]],template:function(s,i){1&s&&(e.j41(0,"form",0),e.EFF(1,"\n "),e.j41(2,"div",1),e.EFF(3,"\n "),e.nrm(4,"div",2),e.EFF(5,"\n "),e.j41(6,"div",3),e.EFF(7,"\n "),e.nrm(8,"p",4),e.nI1(9,"translate"),e.EFF(10,"\n "),e.j41(11,"div",5),e.EFF(12,"\n "),e.j41(13,"div",6),e.EFF(14,"\n "),e.j41(15,"div",7),e.EFF(16,"\n "),e.j41(17,"ng-select",8),e.nI1(18,"translate"),e.nI1(19,"async"),e.EFF(20,"\n "),e.DNE(21,W,10,2,"ng-template",9),e.EFF(22,"\n "),e.k0s(),e.EFF(23,"\n "),e.k0s(),e.EFF(24,"\n "),e.k0s(),e.EFF(25,"\n "),e.k0s(),e.EFF(26,"\n "),e.k0s(),e.EFF(27,"\n "),e.j41(28,"div",10),e.EFF(29,"\n "),e.j41(30,"button",11),e.bIt("click",function(){return i.recreate()}),e.k0s(),e.EFF(31,"\n "),e.k0s(),e.EFF(32,"\n "),e.k0s(),e.EFF(33,"\n"),e.k0s(),e.EFF(34,"\n")),2&s&&(e.Y8G("formGroup",i.form),e.R7$(8),e.Y8G("innerHTML",e.bMT(9,8,"admin.recreate.subtitle"),e.npT),e.R7$(9),e.FS9("placeholder",e.bMT(18,10,"admin.recreate.device.placeholder")),e.Y8G("items",e.bMT(19,12,i.devices$))("multiple",!1)("closeOnSelect",!0)("searchable",!0),e.R7$(13),e.Y8G("disabled",i.form.invalid))},dependencies:[a.qT,a.BC,a.cb,a.j4,a.JD,u.vr,u.Uq,o.Mm,f.Jj,o.D9]})}return n})();var K=l(70980);let Q=(()=>{class n{transform(t){return t?t.replace(/\n/g,"
"):null}static \u0275fac=function(s){return new(s||n)};static \u0275pipe=e.EJ8({name:"nl2br",type:n,pure:!0})}return n})(),q=(()=>{class n{headerService;toastr;apiService;translate;spinner;message;load=!1;constructor(t,s,i,r,d){this.headerService=t,this.toastr=s,this.apiService=i,this.translate=r,this.spinner=d}updatePlugin(){this.load=!0,this.message="",this.spinner.show("update-plugin"),this.apiService.getUpgradePlugin().pipe((0,K.j)(()=>this.spinner.hide("update-plugin"))).subscribe(t=>{this.load=!1,this.message=t.result,0===t.ReturnCode?(this.toastr.success(this.translate.instant("admin.plugin.update.success")),this.headerService.setRestart(!0)):this.toastr.error(this.translate.instant("admin.plugin.update.error"))})}static \u0275fac=function(s){return new(s||n)(e.rXU(h.d),e.rXU(m.tw),e.rXU(p.G),e.rXU(o.c$),e.rXU(v.ex))};static \u0275cmp=e.VBU({type:n,selectors:[["app-update-plugin"]],decls:31,vars:9,consts:[[1,"card"],["translate","admin.plugin.update.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"card-text"],["bdColor","rgba(0, 0, 0, 0.5)","size","small","color","#fff","type","line-spin-clockwise-fade-rotating",3,"fullScreen","name"],[1,"text-white"],[1,"mt-3",3,"innerHTML"],[1,"card-footer","d-flex","justify-content-end"],["translate","admin.plugin.update.button",1,"btn","btn-primary",3,"click","disabled"]],template:function(s,i){1&s&&(e.j41(0,"div",0),e.EFF(1,"\n "),e.nrm(2,"div",1),e.EFF(3,"\n "),e.j41(4,"div",2),e.EFF(5,"\n "),e.nrm(6,"p",3),e.nI1(7,"translate"),e.EFF(8,"\n "),e.j41(9,"div",4),e.EFF(10,"\n "),e.j41(11,"ngx-spinner",5),e.EFF(12,"\n "),e.j41(13,"p"),e.EFF(14,"\xa0"),e.k0s(),e.EFF(15,"\n "),e.j41(16,"p",6),e.EFF(17,"Loading..."),e.k0s(),e.EFF(18,"\n "),e.k0s(),e.EFF(19,"\n "),e.nrm(20,"span",7),e.nI1(21,"nl2br"),e.EFF(22,"\n "),e.k0s(),e.EFF(23,"\n "),e.k0s(),e.EFF(24,"\n "),e.j41(25,"div",8),e.EFF(26,"\n "),e.j41(27,"button",9),e.bIt("click",function(){return i.updatePlugin()}),e.k0s(),e.EFF(28,"\n "),e.k0s(),e.EFF(29,"\n"),e.k0s(),e.EFF(30,"\n")),2&s&&(e.R7$(6),e.Y8G("innerHTML",e.bMT(7,5,"admin.plugin.update.subtitle"),e.npT),e.R7$(5),e.Y8G("fullScreen",!1)("name","update-plugin"),e.R7$(9),e.Y8G("innerHTML",e.bMT(21,7,i.message),e.npT),e.R7$(7),e.Y8G("disabled",i.load))},dependencies:[o.Mm,v.et,o.D9,Q]})}return n})();function ee(n,c){1&n&&e.nrm(0,"app-assist-provisionning")}function te(n,c){1&n&&e.nrm(0,"app-permit-to-join")}function ne(n,c){1&n&&e.nrm(0,"app-permit-to-join-router")}function ie(n,c){1&n&&e.nrm(0,"app-pairing-full-reset")}function se(n,c){1&n&&e.nrm(0,"app-recreate-widget")}function re(n,c){1&n&&e.nrm(0,"app-sw-reset")}function ae(n,c){1&n&&e.nrm(0,"app-switch-channel")}function oe(n,c){1&n&&e.nrm(0,"app-rescan-group")}function ce(n,c){1&n&&e.nrm(0,"app-scan-group-device")}function le(n,c){1&n&&(e.j41(0,"div",4),e.EFF(1,"\n "),e.nrm(2,"app-update-plugin"),e.EFF(3,"\n "),e.k0s())}function de(n,c){1&n&&(e.j41(0,"div",5),e.nrm(1,"app-reload-plugin"),e.k0s())}let me=(()=>{class n extends E.U{activatedRoute;action;constructor(t){super(),this.activatedRoute=t}ngOnInit(){this.subs.sink=this.activatedRoute.queryParamMap.subscribe(t=>{this.action=t.get("action")})}static \u0275fac=function(s){return new(s||n)(e.rXU(b.nX))};static \u0275cmp=e.VBU({type:n,selectors:[["app-admin"]],features:[e.Vt3],decls:25,vars:11,consts:[[1,"row","row-cols-1","row-cols-xxl-5","row-cols-xl-4","row-cols-lg-3","row-cols-md-2","row-cols-sm-1","g-4"],[4,"ngIf"],["class","col-md-12 col-lg-12 col-xl-12 col-xxl-6",4,"ngIf"],["class","col",4,"ngIf"],[1,"col-md-12","col-lg-12","col-xl-12","col-xxl-6"],[1,"col"]],template:function(s,i){1&s&&(e.j41(0,"div",0),e.EFF(1,"\n "),e.DNE(2,ee,1,0,"app-assist-provisionning",1),e.EFF(3,"\n "),e.DNE(4,te,1,0,"app-permit-to-join",1),e.EFF(5,"\n "),e.DNE(6,ne,1,0,"app-permit-to-join-router",1),e.EFF(7,"\n "),e.DNE(8,ie,1,0,"app-pairing-full-reset",1),e.EFF(9,"\n "),e.DNE(10,se,1,0,"app-recreate-widget",1),e.EFF(11,"\n "),e.DNE(12,re,1,0,"app-sw-reset",1),e.EFF(13,"\n "),e.DNE(14,ae,1,0,"app-switch-channel",1),e.EFF(15,"\n "),e.DNE(16,oe,1,0,"app-rescan-group",1),e.EFF(17,"\n "),e.DNE(18,ce,1,0,"app-scan-group-device",1),e.EFF(19,"\n "),e.DNE(20,le,4,0,"div",2),e.EFF(21,"\n "),e.DNE(22,de,2,0,"div",3),e.EFF(23,"\n"),e.k0s(),e.EFF(24,"\n")),2&s&&(e.R7$(2),e.Y8G("ngIf","pairing"===i.action),e.R7$(2),e.Y8G("ngIf","pairing"===i.action),e.R7$(2),e.Y8G("ngIf","pairing"===i.action),e.R7$(2),e.Y8G("ngIf","pairing"===i.action),e.R7$(2),e.Y8G("ngIf","pairing"===i.action),e.R7$(2),e.Y8G("ngIf","coordinator"===i.action),e.R7$(2),e.Y8G("ngIf","coordinator"===i.action),e.R7$(2),e.Y8G("ngIf","group"===i.action),e.R7$(2),e.Y8G("ngIf","group"===i.action),e.R7$(2),e.Y8G("ngIf","plugin"===i.action),e.R7$(2),e.Y8G("ngIf","plugin"===i.action))},dependencies:[f.bT,I,y,N,M,D,Y,O,x,Z,z,q]})}return n})();class pe{NwkId;Ep;Brand;FileName;ForceUpdate}var w=l(70152),S=l(23294);function Fe(n,c){if(1&n&&(e.j41(0,"div"),e.EFF(1,"\n "),e.j41(2,"ng-select",17),e.nI1(3,"translate"),e.EFF(4,"\n "),e.k0s(),e.EFF(5,"\n "),e.k0s()),2&n){const t=e.XpG();e.R7$(2),e.FS9("placeholder",e.bMT(3,4,"admin.firmware.list")),e.Y8G("items",t.firmwares)("multiple",!1)("closeOnSelect",!0)}}function ue(n,c){if(1&n&&(e.j41(0,"div"),e.EFF(1,"\n "),e.j41(2,"ng-select",18),e.nI1(3,"translate"),e.nI1(4,"async"),e.EFF(5,"\n "),e.k0s(),e.EFF(6,"\n "),e.k0s()),2&n){const t=e.XpG();e.R7$(2),e.FS9("placeholder",e.bMT(3,4,"admin.firmware.devices.list")),e.Y8G("items",e.bMT(4,6,t.devicesList$))("multiple",!0)("closeOnSelect",!0)}}function fe(n,c){if(1&n&&(e.j41(0,"div",23),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&n){const t=c.$implicit;e.R7$(),e.E5c("\n ",e.bMT(2,3,"admin.firmware.alert.device")," : ",t.DeviceName," - Nwkid : ",t.Nwkid,"\n ")}}function Ee(n,c){if(1&n){const t=e.RV6();e.EFF(0,"\n "),e.j41(1,"div",19),e.EFF(2,"\n "),e.nrm(3,"h4",20),e.EFF(4,"\n "),e.j41(5,"button",21),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.dismiss("Cross click"))}),e.k0s(),e.EFF(6,"\n "),e.k0s(),e.EFF(7,"\n "),e.j41(8,"div",22),e.EFF(9),e.nI1(10,"translate"),e.j41(11,"div",23),e.EFF(12),e.nI1(13,"translate"),e.k0s(),e.EFF(14,"\n "),e.j41(15,"div",23),e.EFF(16),e.nI1(17,"translate"),e.k0s(),e.EFF(18,"\n "),e.j41(19,"div",23),e.EFF(20),e.nI1(21,"translate"),e.DNE(22,fe,3,5,"div",24),e.EFF(23,"\n "),e.k0s(),e.EFF(24,"\n "),e.k0s(),e.EFF(25,"\n "),e.j41(26,"div",25),e.EFF(27,"\n "),e.j41(28,"button",26),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.close("ok"))}),e.k0s(),e.EFF(29,"\n "),e.j41(30,"button",27),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.dismiss("cancel"))}),e.k0s(),e.EFF(31,"\n "),e.k0s(),e.EFF(32,"\n ")}if(2&n){const t=e.XpG();e.R7$(9),e.SpI("\n ",e.bMT(10,7,"admin.firmware.alert.subject"),"\n "),e.R7$(3),e.Lme("",e.bMT(13,9,"admin.firmware.alert.brand")," ",t.form.get("manufacturer").value,""),e.R7$(4),e.Lme("",e.bMT(17,11,"admin.firmware.alert.filename")," ",t.firmwareModal.FileName,""),e.R7$(4),e.SpI("\n ",e.bMT(21,13,"admin.firmware.alert.list.devices"),"\n "),e.R7$(2),e.Y8G("ngForOf",t.devicesModal)}}let ve=(()=>{class n extends E.U{apiService;formBuilder;translate;toastr;modalService;form;manufacturerList$;devicesList$;firmwares;tempFirmwares;devicesModal;firmwareModal;constructor(t,s,i,r,d){super(),this.apiService=t,this.formBuilder=s,this.translate=i,this.toastr=r,this.modalService=d}ngOnInit(){this.form=this.formBuilder.group({manufacturer:[null,a.k0.required],firmware:[null,a.k0.required],device:[null,a.k0.required],force:[!1]}),this.manufacturerList$=this.apiService.getOtaFirmware().pipe((0,k.T)(t=>(this.tempFirmwares=t[0],Object.keys(this.tempFirmwares)))),this.subs.sink=this.form.get("manufacturer").valueChanges.pipe((0,w.B)(300),(0,S.F)()).subscribe(t=>{this.form.get("firmware").reset(),this.form.get("device").reset(),t?(this.firmwares=this.tempFirmwares[t],this.firmwares.forEach(s=>{s.label=this.getLabelFirmware(s)})):this.firmwares=null}),this.subs.sink=this.form.get("firmware").valueChanges.pipe((0,w.B)(300),(0,S.F)()).subscribe(t=>{this.form.get("device").reset(),this.devicesList$=t?this.apiService.getDeviceByOtaFirmware(t.ManufCode).pipe((0,k.T)(s=>(s.forEach(i=>{i.label=this.getLabelDevice(i)}),s))):null})}updateFirmware(){const t=[],s=this.form.get("manufacturer").value,i=this.form.get("firmware").value.FileName;this.form.get("device").value.forEach(d=>{const F=new pe;F.Brand=s,F.Ep=d.Ep,F.FileName=i,F.NwkId=d.Nwkid,F.ForceUpdate=this.form.get("force").value,t.push(F)}),this.apiService.putOtaFirmware(t).subscribe(()=>{this.devicesList$=null,this.firmwares=null,this.toastr.success(this.translate.instant("admin.firmware.notify")),this.form.reset()})}open(t){this.firmwareModal=this.form.get("firmware").value,this.devicesModal=this.form.get("device").value,this.modalService.open(t,{ariaLabelledBy:"modal-basic-title"}).result.then(()=>{this.updateFirmware()})}getLabelFirmware(t){return"FileName : ".concat(t.FileName).concat(" - ImageType : ").concat(t.ImageType).concat(" - ApplicationBuild : ").concat(t.ApplicationBuild).concat(" - ApplicationRelease : ").concat(t.ApplicationRelease).concat(" - StackBuild : ").concat(t.StackBuild).concat(" - StackRelease : ").concat(t.StackRelease)}getLabelDevice(t){return"DeviceName : ".concat(t.DeviceName).concat(" - Ep : ").concat(t.Ep).concat(" - Nwkid : ").concat(t.Nwkid).concat(" - OTALastTime : ").concat(t.OTALastTime).concat(" - OTAType : ").concat(t.OTAType).concat(" - OTAVersion : ").concat(t.OTAVersion).concat(" - SWBUILD_1 : ").concat(t.SWBUILD_1).concat(" - SWBUILD_3 : ").concat(t.SWBUILD_3)}static \u0275fac=function(s){return new(s||n)(e.rXU(p.G),e.rXU(a.ok),e.rXU(o.c$),e.rXU(m.tw),e.rXU(g.Bq))};static \u0275cmp=e.VBU({type:n,selectors:[["app-firmware"]],features:[e.Vt3],decls:59,vars:15,consts:[["content",""],[1,"row","row-cols-1","row-cols-md-3","g-4"],[1,"col"],[1,"card","h-100",3,"formGroup"],["translate","admin.firmware.title",1,"card-header","fw-bold"],[1,"card-body"],[1,"card-text",3,"innerHTML"],[1,"row"],[1,"col-sm"],["appendTo","body","formControlName","manufacturer",3,"items","multiple","closeOnSelect","placeholder"],[1,"row","mt-2"],[4,"ngIf"],[1,"col-auto","mt-2"],["formControlName","force","id","force","type","checkbox",1,"form-control-checkbox"],["for","force","translate","admin.firmware.force",1,"col-form-label"],[1,"card-footer","d-flex","justify-content-end"],["translate","admin.firmware.button.update",1,"btn","btn-primary",3,"click","disabled"],["appendTo","body","bindLabel","label","formControlName","firmware",3,"items","multiple","closeOnSelect","placeholder"],["appendTo","body","bindLabel","label","formControlName","device",3,"items","multiple","closeOnSelect","placeholder"],[1,"modal-header"],["id","modal-basic-title","translate","admin.firmware.alert.title",1,"modal-title"],["type","button","aria-label","Close",1,"btn-close",3,"click"],[1,"modal-body"],[1,"col-sm","mt-2"],["class","col-sm mt-2",4,"ngFor","ngForOf"],[1,"modal-footer"],["type","button","translate","admin.firmware.alert.ok",1,"btn","btn-primary",3,"click"],["type","button","translate","admin.firmware.alert.cancel",1,"btn","btn-outline-dark",3,"click"]],template:function(s,i){if(1&s){const r=e.RV6();e.j41(0,"div",1),e.EFF(1,"\n "),e.j41(2,"div",2),e.EFF(3,"\n "),e.j41(4,"div",3),e.EFF(5,"\n "),e.nrm(6,"div",4),e.EFF(7,"\n "),e.j41(8,"div",5),e.EFF(9,"\n "),e.nrm(10,"p",6),e.nI1(11,"translate"),e.EFF(12,"\n "),e.j41(13,"div",7),e.EFF(14,"\n "),e.j41(15,"div",8),e.EFF(16,"\n "),e.j41(17,"ng-select",9),e.nI1(18,"translate"),e.nI1(19,"async"),e.EFF(20,"\n "),e.k0s(),e.EFF(21,"\n "),e.k0s(),e.EFF(22,"\n "),e.k0s(),e.EFF(23,"\n "),e.j41(24,"div",10),e.EFF(25,"\n "),e.j41(26,"div",8),e.EFF(27,"\n "),e.DNE(28,Fe,6,6,"div",11),e.EFF(29,"\n "),e.k0s(),e.EFF(30,"\n "),e.k0s(),e.EFF(31,"\n "),e.j41(32,"div",10),e.EFF(33,"\n "),e.j41(34,"div",8),e.EFF(35,"\n "),e.DNE(36,ue,7,8,"div",11),e.EFF(37,"\n "),e.k0s(),e.EFF(38,"\n "),e.k0s(),e.EFF(39,"\n "),e.j41(40,"div",12),e.EFF(41,"\n "),e.nrm(42,"input",13),e.EFF(43,"\n "),e.nrm(44,"label",14),e.EFF(45,"\n "),e.k0s(),e.EFF(46,"\n\n "),e.j41(47,"div",15),e.EFF(48,"\n "),e.j41(49,"button",16),e.bIt("click",function(){e.eBV(r);const F=e.sdS(56);return e.Njj(i.open(F))}),e.k0s(),e.EFF(50,"\n "),e.k0s(),e.EFF(51,"\n "),e.k0s(),e.EFF(52,"\n "),e.k0s(),e.EFF(53,"\n "),e.k0s(),e.EFF(54,"\n\n "),e.DNE(55,Ee,33,15,"ng-template",null,0,e.C5r),e.EFF(57,"\n"),e.k0s(),e.EFF(58,"\n")}2&s&&(e.R7$(4),e.Y8G("formGroup",i.form),e.R7$(6),e.Y8G("innerHTML",e.bMT(11,9,"admin.firmware.subtitle"),e.npT),e.R7$(7),e.FS9("placeholder",e.bMT(18,11,"admin.firmware.manufacturer.list")),e.Y8G("items",e.bMT(19,13,i.manufacturerList$))("multiple",!1)("closeOnSelect",!0),e.R7$(11),e.Y8G("ngIf",i.firmwares),e.R7$(8),e.Y8G("ngIf",i.devicesList$),e.R7$(13),e.Y8G("disabled",!i.form.valid))},dependencies:[f.Sq,f.bT,a.Zm,a.BC,a.cb,a.j4,a.JD,u.vr,o.Mm,f.Jj,o.D9]})}return n})();const be=[{path:"",component:me,data:{title:(0,_.o6)("admin")}},{path:"firmware",component:ve,data:{title:(0,_.o6)("admin.firmware")}}];let he=(()=>{class n{static \u0275fac=function(s){return new(s||n)};static \u0275mod=e.$C({type:n});static \u0275inj=e.G2t({imports:[b.iI.forChild(be),b.iI]})}return n})(),ge=(()=>{class n{static \u0275fac=function(s){return new(s||n)};static \u0275mod=e.$C({type:n});static \u0275inj=e.G2t({imports:[he,R.G]})}return n})()}}]); \ No newline at end of file diff --git a/www/z4d/index.html b/www/z4d/index.html index 485038ad6..7bd33da24 100644 --- a/www/z4d/index.html +++ b/www/z4d/index.html @@ -24,5 +24,5 @@

This page requires JavaScript to work properly. Please enable JavaScript in your browser.

- + diff --git a/www/z4d/main.c415fca447920f26.js b/www/z4d/main.c415fca447920f26.js new file mode 100644 index 000000000..68446ae0b --- /dev/null +++ b/www/z4d/main.c415fca447920f26.js @@ -0,0 +1 @@ +(self.webpackChunkz4d_plugin=self.webpackChunkz4d_plugin||[]).push([[792],{38117:(ri,Bt,We)=>{"use strict";We.d(Bt,{Ui:()=>v,W4:()=>a,Vy:()=>pe,o6:()=>f,s0:()=>l});var M=We(60177),e=We(21626),V=We(99062),Le=We(19664),q=We(20546),ne=We(54438);let re=(()=>{class d{intercept(k,p){if(!/^(http|https):/i.test(k.url)){let T=null;T=q.c.api_url+k.url,k=k.clone({url:T})}return p.handle(k)}static \u0275fac=function(p){return new(p||d)};static \u0275prov=ne.jDH({token:d,factory:d.\u0275fac})}return d})();var ve=We(71985),le=function(d){return d[d.Off=0]="Off",d[d.Error=1]="Error",d[d.Warning=2]="Warning",d[d.Info=3]="Info",d[d.Debug=4]="Debug",d}(le||{});class pe{source;static level=le.Debug;static outputs=[];static enableProductionMode(){pe.level=le.Warning}constructor(C){this.source=C}debug(...C){this.log(console.log,le.Debug,C)}info(...C){this.log(console.info,le.Info,C)}warn(...C){this.log(console.warn,le.Warning,C)}error(...C){this.log(console.error,le.Error,C)}log(C,k,p){if(k<=pe.level){const T=this.source?["["+this.source+"]"].concat(p):p;C.apply(console,T),pe.outputs.forEach(B=>B.apply(B,[this.source,k,...p]))}}}const ue=new pe("HttpCacheService"),J="httpCache";let te=(()=>{class d{cachedData={};storage=null;constructor(){this.loadCacheData()}setCacheData(k,p,T){this.cachedData[k]={lastUpdated:T||new Date,data:p},ue.debug(`Cache set for key: "${k}"`),this.saveCacheData()}getCacheData(k){const p=this.cachedData[k];return p?(ue.debug(`Cache hit for key: "${k}"`),p.data):null}getHttpCacheEntry(k){return this.cachedData[k]||null}clearCache(k){delete this.cachedData[k],ue.debug(`Cache cleared for key: "${k}"`),this.saveCacheData()}cleanCache(k){k?Object.entries(this.cachedData).forEach(([p,T])=>{k>=T.lastUpdated&&delete this.cachedData[p]}):this.cachedData={},this.saveCacheData()}setPersistence(k){this.cleanCache(),this.storage="local"===k||"session"===k?window[k+"Storage"]:null,this.loadCacheData()}saveCacheData(){this.storage&&this.storage.setItem(J,JSON.stringify(this.cachedData))}loadCacheData(){const k=this.storage?this.storage.getItem(J):null;this.cachedData=k?JSON.parse(k):{}}static \u0275fac=function(p){return new(p||d)};static \u0275prov=ne.jDH({token:d,factory:d.\u0275fac})}return d})(),X=(()=>{class d{httpCacheService;forceUpdate=!1;constructor(k){this.httpCacheService=k}configure(k){const p=new d(this.httpCacheService);return k&&k.update&&(p.forceUpdate=!0),p}intercept(k,p){return"GET"!==k.method?p.handle(k):new ve.c(T=>{const B=this.forceUpdate?null:this.httpCacheService.getCacheData(k.urlWithParams);null!==B?(T.next(new e.cS(B)),T.complete()):p.handle(k).subscribe(z=>{z instanceof e.cS&&this.httpCacheService.setCacheData(k.urlWithParams,z),T.next(z)},z=>T.error(z),()=>T.complete())})}static \u0275fac=function(p){return new(p||d)(ne.KVO(te))};static \u0275prov=ne.jDH({token:d,factory:d.\u0275fac})}return d})();var E=We(99437);const j=new pe("ErrorHandlerInterceptor");let F=(()=>{class d{intercept(k,p){return p.handle(k).pipe((0,E.W)(T=>this.errorHandler(T)))}errorHandler(k){throw q.c.production||j.error("Request error",k),k}static \u0275fac=function(p){return new(p||d)};static \u0275prov=ne.jDH({token:d,factory:d.\u0275fac})}return d})();class P{next;interceptor;constructor(C,k){this.next=C,this.interceptor=k}handle(C){return this.interceptor.intercept(C,this.next)}}const D=new ne.nKC("HTTP_DYNAMIC_INTERCEPTORS");let A=(()=>{class d extends e.Qq{httpHandler;injector;interceptors;constructor(k,p,T=[]){super(k),this.httpHandler=k,this.injector=p,this.interceptors=T,this.interceptors||(this.interceptors=[this.injector.get(re),this.injector.get(F)])}cache(k){const p=this.injector.get(X).configure({update:k});return this.addInterceptor(p)}skipErrorHandler(){return this.removeInterceptor(F)}disableApiPrefix(){return this.removeInterceptor(re)}request(k,p,T){const B=this.interceptors.reduceRight((z,K)=>new P(z,K),this.httpHandler);return new e.Qq(B).request(k,p,T)}removeInterceptor(k){return new d(this.httpHandler,this.injector,this.interceptors.filter(p=>!(p instanceof k)))}addInterceptor(k){return new d(this.httpHandler,this.injector,this.interceptors.concat([k]))}static \u0275fac=function(p){return new(p||d)(ne.KVO(e.hR),ne.KVO(ne.zZn),ne.KVO(D,8))};static \u0275prov=ne.jDH({token:d,factory:d.\u0275fac})}return d})();const I=JSON.parse('{"APP_NAME":"ZigBeeforDomoticZ plugin Admin Interface","About":"About","Version":"Version","NODATA":"No data to display","TOTAL":"Total {totalRecords}","SELECTED":"selected","dashboard":"Dashboard","dashboard.button.refresh":"Refresh","dashboard.trafic.title":"Plugin Status","dashboard.health.title":"Plugin devices","dashboard.devices.state.label":"Known devices of the plugin","dashboard.devices.live":"live","dashboard.devices.disabled":"disabled","dashboard.devices.notseen":"no news","dashboard.devices.notReachable":"lost","dashboard.devices.others":"unknow","dashboard.health.comment":"Live = devices alive
Lost = devices away from the network
No news = devices which haven\'t reported on the last 6 hours
Unknown = devices with status unknown","dashboard.traffic.title":"Send & Receive","dashboard.trafic.label":"Send / Receive messages","dashboard.trafic.send":"Tx","dashboard.trafic.receive":"Rx","dashboard.traffic.comment":"Tx = number of incoming messages since the start of the plugin
Rx = number of outgoing messages since the start of the plugin","dashboard.trend.title":"Statistics","dashboard.txps":"Tx/s","dashboard.rxps":"Rx/s","dashboard.txph":"Tx/h","dashboard.rxph":"Rx/h","dashboard.load":"Load","dashboard.trend.comment":"Tx/s = number of sent messages per second
Rx/s = number of received messages per second
Load = number of messages in queue","dashboard.trafic.maxload.label":"Load","dashboard.trafic.maxload":"peak","dashboard.trafic.currentload":"current","dashboard.trend.chart.yaxis":"message/s","dashboard.devices.title":"Status of non-disabled objects","dashboard.device.title":"Type of devices","dashboard.devices.label":"Devices","dashboard.devices.routers":"routers","dashboard.devices.enddevice":"end devices","dashboard.devices.comment":"Routers = main powered device which participates in the mesh network.
End device = device which is not capable of routing messages, and which is not listening while idle (most of the time, it is a battery based device)","dashboard.battery.title":"Battery","dashboard.devices.battery.label":"Battery","dashboard.devices.battery.inf.15":"< 15%","dashboard.devices.battery.inf.35":"< 35%","dashboard.devices.battery.inf.75":"< 75%","dashboard.devices.battery.sup.75":"> 75%","dashboard.battery.comment":"For devices equipped with a battery, the battery status is reported here.","dashboard.optimized.title":"Optimized devices","dashboard.optimized.comment":"Optimized = devices for which a configuration has been provided to the plugin in order to work as expected.
Non optimized = devices which could not be fully working and/or could generate unexpected load or traffic.
More information in the wiki","dashboard.devices.optimized":"optimized ","dashboard.devices.not.optimized":"non-optimized","dashboard.devices.optimized.label":"Devices","dashboard.popup.device.header":"Object list","dashboard.popup.device.subtitle":"This list is filtered by the item clicked in the dashboard.","dashboard.popup.device.button.close":"Close","dashboard.health.starttime":"Started at ","dashboard.rxpm":"Rx/m","dashboard.txpm":"Tx/m","dashboard.maxload":"MaxLoad","dashboard.plugin.version":"Plugin: ","dashboard.plugin.update.available":"There is an update available for the plugin .
Plugin upgrade","dashboard.plugin.update.available.title":"Plugin update","dashboard.firmware.version":"Firmware: ","dashboard.firmware.update.available":"A new firmware is available for the ZiGate More infos .","dashboard.firmware.update.available.title":"Firmware update","dashboard.device.button":"DomoticZ Devices(json)","dashboard.plugin.header":"Plugin info","dashboard.plugin.subtitle":"Provides plugin information","dashboard.stats.header":"Plugin statistics","dashboard.stats.subtitle":"Provides coordinator statistics in terms of message transmission and reception","dashboard.zdevice.button":"Plugin Devices (json)","dashboard.zgroup.button":"Plugin Groups (json)","dashboard.coordinator.header":"Coordinator Information","dashboard.coordinator.subtitle":"Provides Coordinator information","dashboard.health.OTA":"OTA: ","dashboard.health.group":"Group: ","dashboard.devices.indb":"In Db","consent.banner.header":"Consent","consent.banner.description":"To improve our development and focus on where it is needed. We use cookies for technical purposes and, with your consent, we will collect mainly Plugin version, Coordinator, Firmware version and Size of the network (number of router and number of end devices).
You can consent by using the \'Accept\' button, and not concent by using the \'Reject\' button. If you want to change your mind later, you can update this setting in the Settings menu.
More info on the wiki.","consent.banner.accept":"Accept","consent.banner.decline":"Reject","management":"Management","device":"Device Management","device.byname.subtitle":"List all Hardware devices paired with the plugin, and allows you to enter a friendly name for each device
It shows the friendly device name in the network section instead of a four digit code.
The objects marked in orange are not optimized with the plugin. Please follow the procedure on the wiki.","device.byname.capabilities.column":"Capabilities","device.byname.devicename.column":"Friendly Name","device.byname.header":"Device management","device.byname.trash.column":"Del.","device.byname.optimized.column":"Optimized","device.byname.health.column":"Health","device.byname.battery.column":"Battery","device.byname.ieee.column":"IEEE","device.byname.model.column":"Model","device.byname.devicename.param":"Parameters","device.byname.devicename.enabled":"Device enabled","device.byname.placeholder":"type filter here ....","device.byname.shortid.column":"Short id","device.byname.status.column":"Status","device.byname.lqi.column":"LQI","device.byname.rssi.column":"RSSI","device.byname.validate.button":"Validate","device.byname.widget.column":"Domoticz Widget","device.byname.alert.title":"Delete device?","device.byname.alert.subject":"Are you sure?","device.byname.alert.delete":"Delete","device.byname.alert.cancel":"Cancel","device.byname.error.notify":"Please use the Enabled switch","device.byname.parameter.alert.save":"Validate","device.byname.parameter.alert.cancel":"Cancel","device.byname.parameter.alert.title":"Parameters","device.byname.parameter.alert.subject":"Set specific parameters ","device.byname.parameter.popover.title":"Device Parameters","device.byname.parameter.popover.text":"Specify local device configuration parameters. Green means in sync with the device, when Orange the parameters are not yet pushed to the device","device.byname.delete.colum":"Delete","device.byname.optimized.popover.title.ok":"The object is optimized with the plugin","device.byname.optimized.popover.text.ok":"Click on the icon to copy the object info","device.byname.optimized.popover.title.ko":"The object is not optimized with the plugin","device.byname.optimized.popover.text.ko":"Click on the icon to copy the object info","group":"Group Management","group.create.devices.column":"Devices selected in the group","group.create.groupname.column":"Group name","group.create.header":"Group management","group.create.placeholder":"type filter here ....","group.create.shortid.column":"Group id","group.create.subtitle":"Allow edit, create and remove groups
Before modifications, make a full group analisys on the page Admin > Groups.
Before validation, make sure that all routers are connected to the ZigBee network.
After validation, make a special analisys on the router(s) in order to check that the changes have been taken.
Do not do all changes at once, but prefer to do it step by step with small changes.","group.create.validate.button":"Validate","group.create.add.button":"Add a new Group","group.create.delete.button":"Delete","group.create.coordinator.column":"Coordinator (in the group)","group.reloadplugin.alert.title":"Plugin Reload","group.reloadplugin.alert.subject":"Groups have been updated, plugin need to be restarted","group.reloadplugin.alert.cancel":"Close","header.popover.title":"Restart needed","header.popover.text":"Some changes are pending a plugin restart is needed","network":"Network","network.topo":"Topology","network.topo.header":"Topology reports","network.topo.subtitle":"List of the saved reports ","network.topo.visu.header":"Topology diagram","network.topo.visu.subtitle":"The Topology diagram shows all links between 2 nodes. If you leave the cursor on a link you\'ll see the link direction as well as the link quality (from 0 to 255 = best).","network.topo.visu.network.header":"Network graph","network.topo.visu.network.subtitle":"Will draw a network graph of your ZigBee environment.
Click on an object to have its child objects displayed in a table below.","network.topo.visu.network.filter":"Name of node to filter","network.topo.device.visu.network.chart.title":"Network graph","network.topo.visu.delete.button":"Delete","network.topo.device.batterylevel.column":"Battery","network.topo.device.deviceid.column":"Device id","network.topo.device.id.column":"Id","network.topo.device.nvalue.column":"nValue","network.topo.device.signalelevel.column":"Signal","network.topo.device.svalue.column":"sValue","network.topo.device.switchtype.column":"Switch","network.topo.device.timedout.column":"Timeout","network.topo.device.type.column":"Type","network.topo.device.name.column":"Name","network.topo.device.visu.header":"Devices List","network.topo.device.visu.subtitle":"Provides the list of devices managed by coordinator. You\'ll get also a reference to the Widget names and some other information from Domoticz","network.topo.device.visu.chart.title":"Mesh Diagram","network.topology.req.header":"Topology scan","network.topology.req.subtitle":"This will trigger a Topology scan (run in background)","network.topology.req.button":"Scan","network.topo.visu.network.relation.header":"List of linked objects of {{deviceSelected}}","network.topo.visu.network.relation.subtitle":"The array displays the LQI value between the selected object and all of its child objects.","network.topo.visu.network.relation.to":"Children","network.topo.visu.network.relation.weight":"LQI","network.topo.visu.network.relation.nochild":"The selected object doesn\'t have any children.","network.topo.visu.network.relation.model":"Model","network.topo.visu.network.relation.status":"Status","network.topo.visu.network.relation.health":"Health","network.topo.visu.network.relation.battery":"Battery","network.energy":"Interference level","network.stats.header":"Interference level reports","network.stats.subtitle":"List of saved reports ","network.stats.visu.delete.button":"Delete","network.inter.req.header":"Short Interference scan","network.inter.req.subtitle":"An Interference scan report will be provided. It will report Interference level between routers and coordinator. The higher the value, the worst it is.","network.inter.req.button":"scan","network.full.req.header":"Full Interference scan","network.full.req.subtitle":"As for the short Interference scan, the report will provide Interference level between all routers and the coordinator, handling all cross-communications.
This report might take a while when the number of routers is high, n((n-1)/2), for 5 routers it is 10 combinations, for 10 routers 45","network.full.req.button":"scan full","network.stats.detail.visu.header":"Interference level","network.stats.detail.visu.subtitle":"The higher the number, the more interference there is (0 to 255)","network.stats.detail.visu.totaltx":"Tx : ","network.stats.detail.visu.totalfail":"Fail : ","network.stats.detail.visu.chart.title":"Interference level","network.stats.detail.visu.chart.y-axis":"Interference level","network.stats.detail.visu.chart.x-axis":"Channel","admin":"Admin","admin.pairing":"Provisionning","admin.permittojoin.label":"Accept new hardware","admin.permittojoin.on.notify":"Accept new hardware On","admin.permittojoin.off.notify":"Accept new hardware Off","admin.assistprovisionning.title":"Pairing a new device with the assitant","admin.assistprovisionning.subtitle":"Click on Pairing and follow the instructions ","admin.assistprovisionning.go.button":"Pairing","admin.assistprovisionning.alert.title":"Pairing assistant - Waiting for new device","admin.assistprovisionning.alert.subject":"Make a Reset on your device to launch the pairing process. Refer to the device documentation if needed.","admin.assistprovisionning.alert.state":"Status: ","admin.assistprovisionning.alert.description":"Description: ","admin.assistprovisionning.alert.nwkid":"Short NwkId: ","admin.assistprovisionning.alert.ieee":"IEEE : ","admin.assistprovisionning.alert.widgets":"Widget List: ","admin.assistprovisionning.alert.cancel":"Exit","admin.assistprovisionning.alert.ep":"EndPoint: ","admin.assistprovisionning.alert.cluster":"ClusterId : ","admin.assistprovisionning.alert.profile":"Profile : ","admin.assistprovisionning.alert.device":"Device : ","admin.assistprovisionning.alert.model":"Model : ","admin.assistprovisionning.alert.plugincertified":"Plugin Certification: ","admin.assistprovisionning.alert.Failed":"Failed (Something went wrong, check the log for more details)","admin.assistprovisionning.alert.inDB":"Successful (check if widgets have been created)","admin.assistprovisionning.alert.Unexpected":"Unexpected (Contact support)","admin.permittojoin.title":"Pairing a new device for a period of time","admin.permittojoin.subtitle":"Click on the button to choose the period of time ","admin.permittojoin.validate.button":"Validate","admin.permittojoin.permanent.button":"Permanent","admin.permittojoin.permanent.notify":"Permanent Pairing mode","admin.permittojoin.stop.button":"Stop","admin.permittojoin.stop.notify":"Pairing mode Off","admin.permittojoin.4min.button":"4 minutes","admin.permittojoin.4min.notify":"Pairing mode On for 4 minutes","admin.permittojoin.notify":"Pairing mode changed","admin.permittojoinrouter.title":"Pairing a new device on a router","admin.permittojoinrouter.subtitle":"Permit to pair a device on a specific router ","admin.permittojoinrouter.devices.placeholder":"List of routers","admin.fullreset.title":"Preparing device for full reset","admin.fullreset.subtitle":"If you want to do a hard reset of an existing provisioned device in Domoticz, it is advised to indicate the plugin of such event happening. Then the plugin will make sure to redo a full device discovery and set whatever as been set during the first pairing","admin.fullreset.device.placeholder":"Select a device","admin.fullreset.button":"Reset mode","admin.fullreset.notify":"Reset mode activated","admin.recreate.title":"Recreate widget(s) of existing device","admin.recreate.subtitle":"Will crete or recreate all widgets of a given device. It will use the latest configuration if applicable. You might get duplication widgets in Domoticz, so make sure to remove those.","admin.recreate.device.placeholder":"Select a device","admin.recreate.button":"Recreate widget","admin.recreate.notify":"Recreate widget started","admin.group":"Group","admin.rescan.group.title":"Complete analysis of the groups","admin.rescan.group.subtitle":"Ask each router to know if it belongs to one or more groups
The result wil be in the Group management.

Make sure ALL the routers are connected to the ZigBee network before launching the analysis.","admin.rescan.group.button":"Full scan","admin.scan.group.device.title":"Selective analysis of the groups","admin.scan.group.device.subtitle":"Ask one or more router(s) to know if it (they) belong(s) to one or more groups
The result wil be in the Group management.

Make sure ALL the routers are connected to the ZigBee network before launching the analysis.","admin.scan.group.device.button":"Scan","admin.scan.group.device.placeholder":"Select router(s) to scan","admin.coordinator":"Coordinator","admin.coordinator.swreset.title":"Coordinator Soft reset","admin.coordinator.swreset.subtitle":"Will restart the coordinator (no loss of paired devices) ","admin.coordinator.swreset.button":"Soft reset","admin.coordinator.swreset.notify":"Coordinator restart started","admin.coordinator.switchchannel.title":"Coordinator change channel","admin.coordinator.switchchannel.subtitle":"Will change the coordinator channel to the selected one, and will broadcast the change.
ATTENTION, while routers usally switch to the new channel, none Zigbee 3.0 End Device won\'t and you will have to reset them to get them rejoining the new channel.","admin.coordinator.switchchannel.placeholder":"Coordinator channel (0 default)","admin.coordinator.switchchannel.button":"Change channel","admin.coordinator.switchchannel.notify":"Channel changing started","admin.erasepdm.title":"Erase ZiGate","admin.erasepdm.subtitle":"Will erase the permanent data memory of ZiGate (You will lose all paired devices)
You must enable the eraseZigatePDM parameter in Advanced Setting before","admin.erasepdm.button":"erase","admin.erasepdm.notify":"ErasePdm ZiGate started","admin.erasepdm.alert.title":"Erase ZiGate, Are you sure?","admin.erasepdm.alert.subject":"ATTENTION, last chance !!!!!","admin.erasepdm.alert.cancel":"Cancel","admin.erasepdm.alert.erase":"Erase","admin.plugin":"Plugin","admin.plugin.reload.title":"Restart plugin","admin.plugin.reload.subtitle":"Will restart the plugin ","admin.plugin.reload.button":"Restart","admin.plugin.reload.notify":"Plugin restarting","admin.plugin.reload.port":"Port","admin.plugin.reload.username":"Username","admin.plugin.reload.password":"Password","admin.plugin.reload.host":"Hostname","admin.plugin.reload.protocol":"Protocol","admin.plugin.reload.alert.title":"Restart plugin, Are you sure?","admin.plugin.reload.alert.subject":"ATTENTION, last chance !!!!!","admin.plugin.reload.alert.cancel":"Cancel","admin.plugin.reload.alert.erase":"Restart","admin.plugin.update.title":"Plugin Upgrade","admin.plugin.update.subtitle":"Upgrade the plugin to the most up to date version in the branch you are.
If the upgrade goes well, you will be asked to restart the plugin, otherwise you\'ll have to do the upgrade manually.","admin.plugin.update.button":"Start upgrade (can take several minutes)","admin.plugin.update.success":"You can restart the plugin now","admin.plugin.update.error":"Please check the log file, and eventually correct manually","admin.firmware":"Firmware","admin.firmware.title":"Devices firmware","admin.firmware.subtitle":"Update device firmware ","admin.firmware.button.update":"Update","admin.firmware.notify":"Updating firmware","admin.firmware.list":"list of available firmware","admin.firmware.manufacturer.list":"list of manufacturer","admin.firmware.devices.list":"list of devices","admin.firmware.force":"force update","admin.firmware.alert.title":"title alert","admin.firmware.alert.subject":"subject alert","admin.firmware.alert.ok":"update","admin.firmware.alert.cancel":"cancel","admin.firmware.alert.list.devices":"list of devices","admin.firmware.alert.filename":"file name","admin.firmware.alert.device":"Device ","admin.firmware.alert.brand":"Brand ","settings":"Settings","setting.header":"Settings","setting.subtitle":"Allows you to visualize and edit the various plugin settings
Some require a restart of the plugin.","setting.validate.button":"Validate","setting.reinit.button":"Settings (default)","setting.advanced.button":"Advanced settings","setting.normal.button":"Normal settings","setting.help.link":"More information on the settings can be found on the Wiki","setting.help.legend":"These are all the plugin settings that can be updated.","setting.header.Services":"Available services","setting.subtitle.Services":"Enable the services you want to be active","useDomoticzLog":"Use Domoticz Log","enablegroupmanagement":"Enable Groups","zigatePartOfGroup0000":"Create Group 0000","allowRemoveZigateDevice":"Removal on Coordinator","resetPermit2Join":"Reset permit to join at startup","forcePollingAfterAction":"Get device status after action","enableReadAttributes":"Enable Polling","blueLedOnOff":"Enable Coordinator Blue Led","setting.reloadplugin.alert.title":"Plugin Reload","setting.reloadplugin.alert.subject":"Settings have been updated, plugin need to be restarted","setting.reloadplugin.alert.cancel":"Close","setting.resetplugin.alert.title":"Coordinator Reset","setting.resetplugin.alert.subject":"Settings have been updated, Coordinator needs to be reset (most likely, all devices will require re-pairing).","setting.resetplugin.alert.cancel":"Close","setting.eraseplugin.alert.title":"Erase PDM","setting.eraseplugin.alert.subject":"Settings have been updated, PDM needs to be erased (all devices will require re-pairing)","setting.eraseplugin.alert.cancel":"Close","Ping":"Enable Ping","setting.header.DomoticzEnvironment":"Domoticz URL","setting.subtitle.DomoticzEnvironment":"Settings on how to access Domoticz API","setting.header.WebInterface":"Web Interface settings","setting.subtitle.WebInterface":"Allows to enable/disable Web UI","enableWebServer":"Enable web User Interface","setting.header.DeviceManagement":"Device Management settings","setting.subtitle.DeviceManagement":"Here are all settings related to Devices and how the coordinator interact with them","setting.header.CoordinatorConfiguration":"Coordinator settings","setting.subtitle.CoordinatorConfiguration":"Here are all settings related to the coordinator hardware.","setting.header.OverTheAirUpgrade":"Over The Air Upgrade settings","setting.subtitle.OverTheAirUpgrade":"These are all settings related to the Over The Air upgrade functionnality.","allowOTA":"Enable OTA","setting.header.Legrand":"Legrand Netatmo settings","setting.subtitle.Legrand":"Allow to set a number of Legrand specifics options","setting.header.Schneider_Wiser":"Schneider Wiser settings","setting.subtitle.Schneider_Wiser":"Allow to enable some specific mecanishm, and some other options","internetAccess":"Allow Internet access","batteryOTA":"allow battery powered devices OTA","waitingOTA":"delay when starting the OTA process","setting.header.GroupManagement":"Group management settings","setting.subtitle.GroupManagement":"Here are all setting to enable and configure the Group management feature.","OnIfOneOn":"Group is On if one device is On (otherwise needs all devices On)","setting.header.PluginConfiguration":"Plugin environment settings","setting.subtitle.PluginConfiguration":"Here are all Plugin environements settings","numDeviceListVersion":"Number of DeviceList history","setting.header.Others":"Miscaleneous settings","setting.header.Provisioning":"Pairing settings","setting.subtitle.Provisioning":"Special settings for special devices or special conditions","setting.header.DevicePolling":"Devices polling","setting.subtitle.DevicePolling":"Allows you to specify the polling frequency per type of information. Be aware that a high frequency will overload the coordinator and might cause some performance issues","setting.subtitle.Others":"","logLQI":"Delay before starting a Topology scan (sec)","networkScan":"Interferences report frequency (sec)","setting.header.CommandTransition":"Command transitions for Lights in Groups","setting.subtitle.CommandTransition":"For Groups only. You can specify the transition time in 10th of seconds with which the transition from current to target stage. For example how many 10th of second it will take to move from the current Color to the Color I requested via Domoticz. Color temp is used for White Color","moveToHueSatu":"Transition for Hue","moveToColourTemp":"Transition for Color Temp","moveToColourRGB":"Transition for RGB color","moveToLevel":"Transition for Move to Level","setting.header.Experimental":"Experimental parameters","setting.subtitle.Experimental":"Use it only if you have been asked to","api.global.error.notify":"Backend error","api.global.succes.scanlaunched.notify":"Analysis started","api.global.succes.commandsent.notify":"Command sent","api.global.succes.saved.notify":"Saved","setting.header.OTA":"Device firmware update Over-The-Air","setting.subtitle.OTA":"Parameters which allow to configure how the plugin Over-The-Air upgrade would behave.","IkeaTradfri_Repository":"IKEA-TRADFRI Official repository","ZigbeeOTA_Repository":"Zigbee OTA firmware (build by Internet community)","autoServeOTA":"Allow automatic update when firmware found","checkFirmwareAgainstZigbeeOTARepository":"Check if there is a firmware available in one of the repository","DomoticzCustomMenu":"Enable Plugin WebUI from Domoticz Custom menu","NightShift":"Push background activity from 11PM to 6AM","ConfigureReportingChunk":"Max number of attributes when Configure Reporting","ReadAttributeChunk":"Max number of attributes when Read Attributes","resetConfigureReporting":"Reset all existing Configure Reporting","resetReadAttributes":"Reset all read attributes","TopologyV2":"Network Topology based on routing and neighbourghs tables","autoBackup":"Automatic backup of coordinator","BackupFullDevices":"backup device information","BellowsNoMoreEndDeviceChildren":"Disable direct pairing on Coordinator","BellowsSourceRouting":"Enable Zigbee Source routing mecanishm","pingDevices":"Ping main-powered devices regularly to v\xe9rify their health","GroupOnBattery":"Enable group creation to a battery devices","deviceOffWhenTimeOut":"Switch device to Off when network Timeout","checkConfigurationReporting":"Check the device Report configuration regularly","TXpower_set":"Coordinator transmission power level","pingDevicesFeq":"Frequency of regular ping main-powered devices","GrpfadingOff":"Fadding mode","GrpmoveToColourRGB":"Transition time for RGB move color","GrpmoveToColourTemp":"Transition time for TEMP move color","GrpmoveToLevel":"Transition time for one dim position to an other one","enableSchneiderWiser":"Enable if you have Legacy Wiser devices","LegrandCompatibilityMode":"Enable to simulate a Legrand Netamo Hub","AqaraOppleBulbMode":"Enable to have Aqara Opple remote commanding directly devices","forceClosingAllNodes":"Enable to close Pairing mode in each router","extendedPANID":"Zigbee Extended PAN Identifier","allowReBindingClusters":"Enable re-binding clusters during configure reporting operations","doUnbindBind":"Unbind and then bind, when doing a binding operation","PluginAnalytics":"Enable the plugin uses cookies to collect information about the Coordinator and the device models used.","MatomoOptIn":"Enable the plugin to collect informations for analyticz purposes such as Coordinator model, version...","autoRestore":"Automaticaly apply the most recent coordinator backup when a clean coordinator is found","forceSwitchSelectorPushButton":"Workaround Domoticz issue #4143","resetSwitchSelectorPushButton":"Number of sec after the Selector is reset to Off","setting.header.ManufSpecifiqDevicePolling":"Specifc Polling","setting.subtitle.ManufSpecifiqDevicePolling":"0 stands for disable otherwise it indicates the polling frequency in seconds, For Manufacturer Specific it will allow to retreive device states whcih are not provided automatically by the device","setting.header.Zigpy":"Zigpy CIE specific configuration","setting.subtitle.Zigpy":"Specific to some CIE as ConBeeII and RasBeeII it might required to enable some CIE specific item for some brand","resetMotiondelay":"Delay in sec to reset motion detection","Certification":"Certification ( FCC or CE )","channel":"Coordinator chanel (default 0)","alarmDuration":"Duration in sec for Alarm device","vibrationAqarasensitivity":"Aqara Vibration sensitivity","TradfriKelvinStep":"Kelvin step for Tradfri remote","numTopologyReports":"Number of Topology reports saved","numEnergyReports":"Number of Interference reports saved","PowerOn_OnOff":"Return state after device power outage","logDeviceUpdate":"Enable UpdateDevice message in Log","capturePairingInfos":"Capture Pairing information and save in Reports folder","error_required":"Required","ForceAPSAck":"Force APS Ack to ZCL and ZDP commands","zigpySourceRouting":"Enable Zigbee Source routing (plugin)","reenforcementWiser":"Enable reenforcement messages (legacy Wiser only)","forcePassiveWidget":"Allow Domoticz actions on Widgets from remote devices","tools":"Tools","tools.tools":"Tools","tools.tools.export":"Export","tools.tools.zdevice-raw.button":"Plugin Raw Devices","tools.tools.non-optimized.button":"Non-optimized devices","tools.tools.zgroup.button":"Plugin Groups","tools.tools.zdevice.button":"Plugin Devices","tools.tools.device.button":"Domoticz Widgets","tools.tools.log.button":"Plugin Logs","tools.tools.infos.plugin.button":"Plugin info","tools.tools.coordinator.infos.button":"Coordinator info","tools.tools.plugin-health.button":"Plugin health","tools.tools.zdevice-name.button":"zDevice-name","tools.tools.domoticz-env.button":"domoticz-env","tools.tools.battery-state.button":"Battery State","tools.tools.zgroup-list-available-device.button":"zGroup-lst-devices","tools.tools.settings.button":"Settings","tools.tools.plugin-stat.button":"Traffic","tools.command":"Command","tools.debugcommand.title":"Direct commands","tools.debugcommand.subtitle":"Allow to interact directly with a device, with a set of commands based on the device capabilities
(1) Select the device,
(2) Select the action you want to perform,
(3) Select a potential device type which can influence the way to interact with the device,
(4) Optionaly you might have to enter a Value or select a Color.","tools.debugcommand.device":"Select device","tools.debugcommand.button.cancel":"Cancel","tools.debugcommand.action":"Select action","tools.debugcommand.type":"Select type","tools.debugcommand.value":"Value","tools.debugcommand.level.error":"between 0 and 100","tools.debugcommand.effect.error":"between 0x00 to 0xff","tools.debugcommand.button.send":"Send","tools.rawcommand-zigate.title":"ZiGate command (raw)","tools.rawcommand-zigate.subtitle":"Allow to send a ZiGate command directly tothe coordinator in raw mode.
You must follow the ZiGate protocol .","tools.rawcommand-zigate.command":"Message RAW type","tools.rawcommand-zigate.error":"Input required","tools.rawcommand-zigate.payload":"Data","tools.rawcommand-zigate.button.send":"Submit","tools.rawcommand-zigpy.title":"ZigBee command","tools.rawcommand-zigpy.subtitle":"Allow to send a ZiGate command directly tothe coordinator in raw mode.","tools.rawcommand-zigpy.placeholder":"Select a device","tools.rawcommand-zigpy.groupaddressflag":"GroupAddressFlag","tools.rawcommand-zigpy.ackmode":"AckMode","tools.rawcommand-zigpy.profileid":"ProfileId","tools.rawcommand-zigpy.clusterid":"ClusterId","tools.rawcommand-zigpy.sourceep":"SourceEp","tools.rawcommand-zigpy.targetep":"TargetEp","tools.rawcommand-zigpy.sqn":"Sqn","tools.rawcommand-zigpy.payload":"Data","tools.rawcommand-zigpy.button.send":"Submit","tools.reporting.configure":"Reporting","tools.reporting.configure.title":"Configure the reporting mechanism","tools.reporting.configure.subtitle":"Configure a device to automatically report the values of one or more of its attributes, or to receive such reports.
The minimum reporting interval field is 16 bits in length and SHALL contain the minimum interval, in seconds, between issuing reports of the specified attribute.
The maximum reporting interval field is 16 bits in length and SHALL contain the maximum interval, in seconds, between issuing reports of the specified attribute.
The reportable change field SHALL contain the minimum change to the attribute that will result in a report being issued. This field is of variable length.
For attributes with \'analog\' data type (see 2.6.2), the field has the same data type as the attribute. The sign (if any) of the reportable change field is ignored.","tools.reporting.configure.trigger.button":"Trigger","tools.reporting.configure.reset.button":"Reset","tools.reporting.configure.validate.button":"Validate","tools.reporting.configure.device":"Select a device","tools.reporting.configure.clusterId.column":"Cluster id","tools.reporting.configure.attributeId.column":"Attribute id","tools.reporting.configure.dataType.column":"Datatype","tools.reporting.configure.timeout.column":"Timeout","tools.reporting.configure.minInterval.column":"min interval (secondes)","tools.reporting.configure.maxInterval.column":"max interval (secondes)","tools.reporting.configure.change.column":"Change","tools.reporting.configure.hexa.error":"not an hexadecimal value","tools.reporting.configure.length.error":"not an expected value","tools.binding":"Binding","tools.binding.title":"Device Binds","tools.binding.subtitle":"Allow to bind a cluster between source and target devices
e.g. If you want to bind a Temperature sensor with an Actuator, the SourceIEEE/Ep will be the Temperature sensor, the DestIEEE/Ep will be the actuator and the Cluster will be 0402 (Temperature Measurement)","tools.binding.sourceIeee":"source IEEE","tools.binding.error":"Input required","tools.binding.sourceEp":"Select source device","tools.binding.destIeee":"Target IEEE","tools.binding.destEp":"Select target device","tools.binding.cluster":"Cluster","tools.binding.button.put":"Binding","tools.unbinding.button.put":"Unbinding","tools.debug":"Debug","setting.header.VerboseLogging":"Verbose and Logging","setting.subtitle.VerboseLogging":"Will allow you to enable/disable some Logging features ","tools.debugsetting.help.legend":"These are all plugin settings which can be updated.","tools.debugsetting.advanced.button":"Advanced settings","tools.debugsetting.normal.button":"Standards settings","tools.debugsetting.validate.button":"Validate","tools.debugsetting.reinit.button":"Settings (default)","tools.debugsetting.reloadplugin.alert.title":"Plugin Reload","tools.debugsetting.reloadplugin.alert.subject":"Settings have been updated, plugin need to be restarted","tools.debugsetting.reloadplugin.alert.cancel":"Close","tools.error":"Error(s)","tools.error.log-history.button":"Log Error History (json)","tools.error.log-history.clear":"Clear Error History","error.popover.title":"Error(s) detected","error.popover.text":"Clic to see the log","manufacturer":"Manufacturer","manufacturer.casaia":"CASA.ia","manufacturer.casaia.header":"CASA.ia manufacturer specific configuration","manufacturer.casaia.subtitle":"Configuration of the IR Code of the ZigBee infrared temperature control thermostat IR split AC controller ","manufacturer.casaia.placeholder":"type filter here ....","manufacturer.casaia.nwkid":"Short id","manufacturer.casaia.name":"Friendly Name","manufacturer.casaia.ieee":"IEEE","manufacturer.casaia.model":"Model","manufacturer.casaia.ircode":"Infrared Code","manufacturer.casaia.validate.button":"Validate","manufacturer.zlinky.header":"Le Zlinky","manufacturer.zlinky.subtitle":"Liste les donn\xe9es r\xe9cup\xe9r\xe9es par le Zlinky s\xe9lectionn\xe9,","manufacturer.zlinky.placeholder":"Select Zlinky device","manufacturer.zlinky.key":"Designation","manufacturer.zlinky.value":"Value","manufacturer.zlinky.DateCode":"Code date","manufacturer.zlinky.SWBuildID":"SWBuildID","manufacturer.zlinky.ADC0":"Serial Number","manufacturer.zlinky.BASE":"Index Base","manufacturer.zlinky.OPTARIF":"Option tarifaire","manufacturer.zlinky.ISOUSC":"Intensit\xe9 souscrite","manufacturer.zlinky.HCHC":"Index HCHC","manufacturer.zlinky.HCHP":"Index HCHP","manufacturer.zlinky.EJPHN":"Index EJPHN","manufacturer.zlinky.EJPHPM":"Index EJPHPM","manufacturer.zlinky.BBRHCJB":"Index BBRHCJB","manufacturer.zlinky.BBRHPJB":"Index BBRHPJB","manufacturer.zlinky.BBRHCJW":"Index BBRHCJW","manufacturer.zlinky.BBRHPJW":"Index BBRHPJW","manufacturer.zlinky.BBRHCJR":"Index BBRHCJR","manufacturer.zlinky.BBRHPJR":"Index BBRHPJR","manufacturer.zlinky.IINST":"Courant efficace","manufacturer.zlinky.IINST1":"Courant efficace phase 1","manufacturer.zlinky.IINST2":"Courant efficace phase 2","manufacturer.zlinky.IINST3":"Courant efficace phase 3","manufacturer.zlinky.IMAX":"Intensit\xe9 maximale","manufacturer.zlinky.IMAX1":"Intensit\xe9 maximale phase 1","manufacturer.zlinky.IMAX2":"Intensit\xe9 maximale phase 2","manufacturer.zlinky.IMAX3":"Intensit\xe9 maximale phase 3","manufacturer.zlinky.PMAX":"Puissance maximale triphas\xe9e atteinte","manufacturer.zlinky.PAPP":"Puissance apparente","manufacturer.zlinky.PTEC":"P\xe9riode tarifaire en cours","manufacturer.zlinky.DEMAIN":"Couleur du lendemain","manufacturer.zlinky.HHPHC":"Horaire Heure Pleines Heures Creuses","manufacturer.zlinky.PPOT":"Pr\xe9sence des potentiels","manufacturer.zlinky.PEJP":"Pr\xe9avis d\xe9but EJP (30min)","manufacturer.zlinky.ADPS":"Avertissement du d\xe9passement de la puissance souscrite","manufacturer.zlinky.ADIR1":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 1","manufacturer.zlinky.ADIR2":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 2","manufacturer.zlinky.ADIR3":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 3","manufacturer.zlinky.ADSC":"Adresse Secondaire du Compteur","manufacturer.zlinky.NGTF":"Nom du calendrier tarifaire fournisseur","manufacturer.zlinky.LTARF":"Libell\xe9 tarif fournisseur en cours","manufacturer.zlinky.NTARF":"Num\xe9ro de l\u2019index tarifaire en cours","manufacturer.zlinky.VTIC":"Version de la TIC","manufacturer.zlinky.DATE":"Date et heure courant","manufacturer.zlinky.EAST":"\xc9nergie active soutir\xe9e totale","manufacturer.zlinky.EASF01":"\xc9nergie active soutir\xe9e Fournisseur, index 01","manufacturer.zlinky.EASF02":"\xc9nergie active soutir\xe9e Fournisseur, index 02","manufacturer.zlinky.EASF03":"\xc9nergie active soutir\xe9e Fournisseur, index 03","manufacturer.zlinky.EASF04":"\xc9nergie active soutir\xe9e Fournisseur, index 04","manufacturer.zlinky.EASF05":"\xc9nergie active soutir\xe9e Fournisseur, index 05","manufacturer.zlinky.EASF06":"\xc9nergie active soutir\xe9e Fournisseur, index 06","manufacturer.zlinky.EASF07":"\xc9nergie active soutir\xe9e Fournisseur, index 07","manufacturer.zlinky.EASF08":"\xc9nergie active soutir\xe9e Fournisseur, index 08","manufacturer.zlinky.EASF09":"\xc9nergie active soutir\xe9e Fournisseur, index 09","manufacturer.zlinky.EASF10":"\xc9nergie active soutir\xe9e Fournisseur, index 10","manufacturer.zlinky.EASD01":"\xc9nergie active soutir\xe9e Distributeur, index 01","manufacturer.zlinky.EASD02":"\xc9nergie active soutir\xe9e Distributeur, index 02","manufacturer.zlinky.EASD03":"\xc9nergie active soutir\xe9e Distributeur, index 03","manufacturer.zlinky.EASD04":"\xc9nergie active soutir\xe9e Distributeur, index 04","manufacturer.zlinky.EAIT":"\xc9nergie active inject\xe9e totale","manufacturer.zlinky.ERQ1":"\xc9nergie r\xe9active Q1 total","manufacturer.zlinky.ERQ2":"\xc9nergie r\xe9active Q2 total","manufacturer.zlinky.ERQ3":"\xc9nergie r\xe9active Q3 total","manufacturer.zlinky.ERQ4":"\xc9nergie r\xe9active Q4 total","manufacturer.zlinky.IRMS1":"Courant efficace, phase 1","manufacturer.zlinky.IRMS2":"Courant efficace, phase 2","manufacturer.zlinky.IRMS3":"Courant efficace, phase 3","manufacturer.zlinky.URMS1":"Tension efficace, phase 1","manufacturer.zlinky.URMS2":"Tension efficace, phase 2","manufacturer.zlinky.URMS3":"Tension efficace, phase 3","manufacturer.zlinky.PREF":"Puissance apparente de r\xe9f\xe9rence (PREF)","manufacturer.zlinky.STGE":"Registre de Statuts","manufacturer.zlinky.PCOUP":"Puissance apparente de coupure (PCOUP)","manufacturer.zlinky.SINSTI":"Puissance apparente Instantan\xe9e inject\xe9e","manufacturer.zlinky.SMAXIN":"Puissance apparente max. inject\xe9e n","manufacturer.zlinky.SMAXIN-1":"Puissance apparente max. inject\xe9e n-1","manufacturer.zlinky.CCASN":"Point n de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCASN-1":"Point n-1 de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCAIN":"Point n de la courbe de charge active inject\xe9e","manufacturer.zlinky.CCAIN-1":"Point n-1 de la courbe de charge active inject\xe9e","manufacturer.zlinky.UMOY1":"Tension moyenne phase 1","manufacturer.zlinky.UMOY2":"Tension moyenne phase 2","manufacturer.zlinky.UMOY3":"Tension moyenne phase 3","manufacturer.zlinky.SINSTS":"Puissance apparente Instantan\xe9e soutir\xe9e","manufacturer.zlinky.SINSTS1":"Puissance apparente Instantan\xe9e soutir\xe9e phase 1","manufacturer.zlinky.SINSTS2":"Puissance apparente Instantan\xe9e soutir\xe9e phase 2","manufacturer.zlinky.SINSTS3":"Puissance apparente Instantan\xe9e soutir\xe9e phase 3","manufacturer.zlinky.SMAXN":"Puissance apparente max. soutir\xe9e n","manufacturer.zlinky.SMAXN1":"Puissance apparente max. soutir\xe9e n phase 1","manufacturer.zlinky.SMAXN2":"Puissance apparente max. soutir\xe9e n phase 2","manufacturer.zlinky.SMAXN3":"Puissance apparente max. soutir\xe9e n phase 3","manufacturer.zlinky.SMAXN-1":"Puissance apparente max. soutir\xe9e n-1","manufacturer.zlinky.SMAXN1-1":"Puissance apparente max. soutir\xe9e n-1 phase 1","manufacturer.zlinky.SMAXN2-1":"Puissance apparente max. soutir\xe9e n-1 phase 2","manufacturer.zlinky.SMAXN3-1":"Puissance apparente max. soutir\xe9e n-1 phase 3","manufacturer.zlinky.MSG1":"Message court","manufacturer.zlinky.MSG2":"Message ultra court","manufacturer.zlinky.PRM":"PRM","manufacturer.zlinky.DPM1":"D\xe9but Pointe Mobile 1","manufacturer.zlinky.FPM1":"Fin Pointe Mobile 1","manufacturer.zlinky.DPM2":"D\xe9but Pointe Mobile 2","manufacturer.zlinky.FPM2":"Fin Pointe Mobile 2","manufacturer.zlinky.DPM3":"D\xe9but Pointe Mobile 3","manufacturer.zlinky.FPM3":"Fin Pointe Mobile 3","manufacturer.zlinky.RELAIS":"Relais","manufacturer.zlinky.NJOURF":"Num\xe9ro du jour en cours calendrier fournisseur","manufacturer.zlinky.NJOURF+1":"Num\xe9ro du prochain jour calendrier fournisseur","manufacturer.zlinky.PJOURF+1":"Profil du prochain jour calendrier fournisseur","manufacturer.zlinky.PPOINTE1":"Profil du prochain jour de pointe","manufacturer.zlinky.PROTOCOL_LINKY_0":"Mode historique monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_1":"Mode standard monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_2":"Mode historique triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_3":"Mode standard triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_5":"Mode standard monophas\xe9 producteur","manufacturer.zlinky.PROTOCOL_LINKY_7":"Mode standard triphas\xe9 producteur","ZigpyTopologyReport":"Enable the use of zigpy Topology Scanner","ZigpyTopologyReportAutoBackup":"Automaticaly backup auto-triggered Topology scan"}'),_=JSON.parse('{"APP_NAME":"Interface d\'administration du plugin ZigBeeforDomoticZ","About":"A Propos","Version":"Version","NODATA":"Pas de donn\xe9es \xe0 afficher","TOTAL":"Total {totalRecords}","SELECTED":"s\xe9lectionn\xe9","dashboard":"Tableau de bord","dashboard.button.refresh":"Rafra\xeechir","dashboard.trafic.title":"\xc9tat du Plugin","dashboard.health.title":"Objets du plugin","dashboard.devices.state.label":"Objets connus du plugin","dashboard.devices.live":"vivant","dashboard.devices.disabled":"d\xe9sactiv\xe9","dashboard.devices.notseen":"pas vu","dashboard.devices.notReachable":"perdu","dashboard.devices.others":"ind\xe9fini","dashboard.health.comment":"Vivant = objets pour lesquels un message a \xe9t\xe9 re\xe7u r\xe9cemment
D\xe9sactiv\xe9 = objets qui sont d\xe9sactiv\xe9s
Perdu = objets qui ne sont plus sur le r\xe9seau
Pas vu = objets qui n\'ont pas donn\xe9 d\'information sur les derni\xe8res 6 heures
Ind\xe9fini = objets qui sont dans un \xe9tat ind\xe9termin\xe9","dashboard.traffic.title":"Envoi & r\xe9ception","dashboard.trafic.label":"Messages envoy\xe9s et re\xe7us","dashboard.trafic.send":"Tx","dashboard.trafic.receive":"Rx","dashboard.traffic.comment":"Tx = nombre de messages envoy\xe9s depuis le lancement du plugin
Rx = nombre de messages re\xe7us depuis le lancement du plugin","dashboard.trend.title":"Statistiques","dashboard.txps":"Tx/s","dashboard.rxps":"Rx/s","dashboard.txph":"Tx/h","dashboard.rxph":"Rx/h","dashboard.load":"Charge","dashboard.trend.comment":"Tx/s = nombre de messages envoy\xe9s par seconde
Rx/s = nombre de messages re\xe7us par seconde
Charge = nombre de messages actuellement en attente","dashboard.trafic.maxload.label":"Charge","dashboard.trafic.maxload":"max","dashboard.trafic.currentload":"courant","dashboard.trend.chart.yaxis":"message/s","dashboard.devices.title":"\xc9tat des objets non d\xe9sactiv\xe9s","dashboard.device.title":"Type d\'objets","dashboard.devices.label":"Objets","dashboard.devices.routers":"routeurs","dashboard.devices.enddevice":"objets terminaux","dashboard.devices.comment":"Routeurs = objets aliment\xe9s sur secteur qui participent au maillage du r\xe9seau.
Objets terminaux = objets n\'\xe9tant pas capable de participer au maillage (tr\xe8s souvent sur batterie, mais dans quelques cas ils peuvent \xeatre aliment\xe9 par une source \xe9lectrique de faible puissance).","dashboard.battery.title":"Batterie","dashboard.devices.battery.label":"Objets sur batterie","dashboard.devices.battery.inf.15":"< 15%","dashboard.devices.battery.inf.35":"< 35%","dashboard.devices.battery.inf.75":"< 75%","dashboard.devices.battery.sup.75":"> 75%","dashboard.battery.comment":"\xc9tat de charge de la batterie des objets ayant une batterie.","dashboard.optimized.title":"Objets optimis\xe9s","dashboard.optimized.comment":"Optimis\xe9s = objets pour lesquels une configuration a \xe9t\xe9 faite dans le plugin.
Non-optimis\xe9s = objets qui peuvent ne pas fonctionner compl\xe8tement et/ou g\xe9n\xe9rer de la charge ou du traffic anormal.
Plus d\'infos sur le wiki","dashboard.devices.optimized":"optimis\xe9s","dashboard.devices.not.optimized":"non-optimis\xe9s","dashboard.devices.optimized.label":"Objets","dashboard.popup.device.header":"Liste des objets","dashboard.popup.device.subtitle":"Cette liste est filtr\xe9e selon l\'\xe9l\xe9ment cliqu\xe9 dans le tableau de bord.","dashboard.popup.device.button.close":"Fermer","dashboard.health.starttime":"Lanc\xe9 \xe0 ","dashboard.rxpm":"Rx/m","dashboard.txpm":"Tx/m","dashboard.maxload":"MaxLoad","dashboard.plugin.version":"Plugin: ","dashboard.plugin.update.available":"Une nouvelle version du plugin est disponible .
Mettre \xe0 jour","dashboard.plugin.update.available.title":"Mise \xe0 jour du plugin","dashboard.firmware.version":"Firmware: ","dashboard.firmware.update.available":"Une nouvelle version du firmware pour la ZiGate est disponible Plus d\'infos .","dashboard.firmware.update.available.title":"Mise \xe0 jour firmware","dashboard.device.button":"Dispositifs DomoticZ (json)","dashboard.plugin.header":"Plugin infos","dashboard.plugin.subtitle":"Les informations du plugin :","dashboard.stats.header":"Statistiques du Plugin","dashboard.stats.subtitle":"Statistiques de transmission/r\xe9ception donn\xe9es","dashboard.zdevice.button":"Plugin Devices (json)","dashboard.zgroup.button":"Groupes du Plugin (json)","dashboard.coordinator.header":"Infos du coordinateur","dashboard.coordinator.subtitle":"Les informations du coordinateur","dashboard.health.OTA":"OTA: ","dashboard.health.group":"Groupe: ","dashboard.devices.indb":"En Base","consent.banner.header":"Consentement","consent.banner.description":"Dans l\'optique de mieux vous conna\xeetre, nous utilisons une technique de cookies et, avec votre consentement, nous collecterons principalement la version du plugin, le mod\xe8le de coordinateur, la version du firmware et la taille du r\xe9seau (nombre de routers et d\u2019objets terminaux).
Donnez votre accord en s\xe9lectionnant \'Autoriser\' ou sinon \'Interdire\'. Si vous souhaitez changer votre choix, vous pouvez le faire via le menu R\xe9glages.
Plus d\'infos dans le wiki.","consent.banner.accept":"Autoriser","consent.banner.decline":"Interdire","management":"Gestion","device":"Gestion des objets","device.byname.subtitle":"Liste tous les objets appair\xe9s avec le plugin
Vous pourrez attribuer des surnoms et g\xe9rer les param\xe8tres sp\xe9cifiques aux objets.
Les objets marqu\xe9s en orange ne sont pas optimis\xe9s avec le plugin. Merci de suivre la proc\xe9dure sur le wiki.","device.byname.capabilities.column":"Fonctions","device.byname.devicename.column":"Surnom","device.byname.header":"Gestion des objets","device.byname.trash.column":"Suppr.","device.byname.optimized.column":"Optimis\xe9","device.byname.health.column":"Sant\xe9","device.byname.battery.column":"Batterie","device.byname.ieee.column":"IEEE","device.byname.model.column":"Mod\xe8le","device.byname.devicename.param":"Param\xe8tres","device.byname.devicename.enabled":"Objet actif","device.byname.placeholder":"Rechercher ...","device.byname.shortid.column":"Short ID","device.byname.status.column":"Statut","device.byname.lqi.column":"LQI","device.byname.rssi.column":"RSSI","device.byname.validate.button":"Valider","device.byname.widget.column":"Dispositifs DomoticZ","device.byname.alert.title":"Supprimer l\'appareil ?","device.byname.alert.subject":"Es-tu s\xfbr ?","device.byname.alert.delete":"Supprimer","device.byname.alert.cancel":"Annuler","device.byname.error.notify":"Utiliser le bouton Activer svp !!","device.byname.parameter.alert.save":"Valider","device.byname.parameter.alert.cancel":"Annuler","device.byname.parameter.alert.title":"Param\xe8tres","device.byname.parameter.alert.subject":"Assigner des param\xe8tres sp\xe9cifiques \xe0 l\'objet au format Json ","device.byname.parameter.popover.title":"Param\xe8tres de l\'objet","device.byname.parameter.popover.text":"Assigner des param\xe8tres sp\xe9cifiques \xe0 l\'objet. Vert indique que les param\xe8tres ont \xe9t\xe9 pris envoy\xe9 \xe0 l\'objet, Orange indique que les param\xe8tres n\'ont pas encore \xe9t\xe9 envoy\xe9","device.byname.delete.colum":"Supprimer","device.byname.optimized.popover.title.ok":"L\u2019objet est optimis\xe9 pour le plugin","device.byname.optimized.popover.text.ok":"Cliquer sur l\'ic\xf4ne pour copier les infos de l\'objet","device.byname.optimized.popover.title.ko":"L\u2019objet n\u2019est pas optimis\xe9 pour le plugin","device.byname.optimized.popover.text.ko":"Cliquer sur l\'ic\xf4ne pour copier les infos de l\'objet","group":"Gestion des groupes","group.create.devices.column":"Objets appartenant au groupe","group.create.groupname.column":"Nom du Groupe","group.create.header":"Gestion des groupes","group.create.placeholder":"Rechercher","group.create.shortid.column":"ID du Groupe","group.create.subtitle":"Permet l\'\xe9dition, la cr\xe9ation et la suppression des groupes
Avant toute modification, faire une analyse compl\xe8te des groupes sur la page Admin > Groupes.
Avant validation, s\'assurer que tous les routeurs soient connect\xe9s au r\xe9seau ZigBee.
Apr\xe8s validation, faire une analyse sp\xe9cifique sur le(s) routeur(s) pour v\xe9rifier la prise en compte des modifications.
Ne pas faire pas trop de modifications d\'un seul coup, les faire pas \xe0 pas.","group.create.validate.button":"Valider","group.create.add.button":"Ajouter un Groupe","group.create.delete.button":"Effacer","group.create.coordinator.column":"Coordinateur (dans le groupe)","group.reloadplugin.alert.title":"Plugin recharg\xe9","group.reloadplugin.alert.subject":"Groupes mis \xe0 jour, le plugin \xe0 besoin de red\xe9marrer","group.reloadplugin.alert.cancel":"Fermer","header.popover.title":"Red\xe9marrage n\xe9cessaire","header.popover.text":"Les changements ont besoin d\'un red\xe9marrage du plugin","network":"R\xe9seau","network.topo":"Topologie","network.topo.header":"Les rapports d\'analyse du maillage","network.topo.subtitle":"Liste des rapports enregistr\xe9s ","network.topo.visu.header":"Illustration du maillage","network.topo.visu.subtitle":"L\'illustration de votre maillage montre tous les liens entre 2 objets.
Si vous d\xe9placez le curseur sur un lien, vous verrez la liaison avec la valeur LQI indiquant la qualit\xe9 de la liaison (de 0 \xe0 255 = la meilleure possible).","network.topo.visu.network.header":"Illustration du r\xe9seau","network.topo.visu.network.subtitle":"L\'illustration du r\xe9seau ZigBee montre les communications possibles entre les objets.
Par d\xe9faut, les liens entre les objets fr\xe8res ne sont pas affich\xe9s. Activer si besoin l\'option displaySibling
Cliquer sur un objet pour faire afficher ses objets enfants dans un tableau en dessous.","network.topo.visu.network.filter":"Filtrer par routeur","network.topo.device.visu.network.chart.title":"Illustration du r\xe9seau","network.topo.visu.delete.button":"Effacer","network.topo.device.batterylevel.column":"Batterie","network.topo.device.deviceid.column":"Module id","network.topo.device.id.column":"Id","network.topo.device.nvalue.column":"nValue","network.topo.device.signalelevel.column":"Signal","network.topo.device.svalue.column":"sValue","network.topo.device.switchtype.column":"Interrupteur","network.topo.device.timedout.column":"Timeout","network.topo.device.type.column":"Type","network.topo.device.name.column":"Nom","network.topo.device.visu.header":"Liste des objets","network.topo.device.visu.subtitle":"Donne la liste des objets appair\xe9s avec le coordinateur avec le nom de l\'objet et autres informations li\xe9es \xe0 DomoticZ.","network.topo.device.visu.chart.title":"Illustration du maillage","network.topology.req.header":"Lancer une analyse du maillage","network.topology.req.subtitle":"Cr\xe9er une illustration de votre r\xe9seau ZigBee (travail en arri\xe8re plan)","network.topology.req.button":"Analyser","network.topo.visu.network.relation.header":"Liste des liens de {{deviceSelected}}","network.topo.visu.network.relation.subtitle":"Le tableau affiche les entre l\'objet s\xe9lectionn\xe9 et tous ses objets li\xe9s.","network.topo.visu.network.relation.to":"Enfants","network.topo.visu.network.relation.weight":"LQI","network.topo.visu.network.relation.nochild":"L\'objet s\xe9lectionn\xe9 n\'a pas d\'enfants.","network.topo.visu.network.relation.model":"Mod\xe8le","network.topo.visu.network.relation.status":"Statut","network.topo.visu.network.relation.health":"Sant\xe9","network.topo.visu.network.relation.battery":"Batterie","network.energy":"Niveau d\'interf\xe9rences","network.stats.header":"Les rapports de niveau d\'interf\xe9rence","network.stats.subtitle":"Liste des rapports enregistr\xe9s ","network.stats.visu.delete.button":"Effacer","network.inter.req.header":"Lancer une analyse du niveau d\'interf\xe9rences entre les objets et le coordinateur","network.inter.req.subtitle":"Cr\xe9er une analyse du taux d\'\xe9nergie re\xe7ue par le coordinateur en provenance de chaque objet de type routeur.","network.inter.req.button":"Analyser","network.full.req.header":"Lancer une analyse compl\xe8te du niveau d\'interf\xe9rences entre tous les objets","network.full.req.subtitle":"Cr\xe9er une analyse du taux d\'\xe9nergie re\xe7ue entre tous les objets de type routeur.
Attention cela peut prendre un certain temps dans la mesure ou le nombre de combinaison est \xe9gal \xe0 n((n-1)/2) soit 10 pour 5 routeurs, 45 pour 10 routeurs...","network.full.req.button":"Analyser","network.stats.detail.visu.header":"Illustration des niveaux d\u2019interf\xe9rences.","network.stats.detail.visu.subtitle":"Plus le chiffre est \xe9lev\xe9, plus il y a d\'interf\xe9rence (de 0 \xe0 255).","network.stats.detail.visu.totaltx":"Tx : ","network.stats.detail.visu.totalfail":"Failed : ","network.stats.detail.visu.chart.title":"Illustration des niveaux d\'interf\xe9rences","network.stats.detail.visu.chart.y-axis":"Niveau d\'interf\xe9rences","network.stats.detail.visu.chart.x-axis":"Canaux","admin":"Admin","admin.pairing":"Appairage","admin.permittojoin.label":"Mode appairage","admin.permittojoin.on.notify":"Mode appairage activ\xe9","admin.permittojoin.off.notify":"Mode appairage d\xe9sactiv\xe9","admin.assistprovisionning.title":"Appairer un nouvel objet avec l\'assistant","admin.assistprovisionning.subtitle":"Cliquer sur Appairer et suivre les indications ","admin.assistprovisionning.go.button":"Appairer","admin.assistprovisionning.alert.title":"Assistant d\'appairage - Attente d\'un nouvel objet","admin.assistprovisionning.alert.subject":"Faire un Reset sur votre objet pour lancer une proc\xe9dure d\'appairage. Se r\xe9f\xe9rer \xe0 la documentation de l\'objet si n\xe9cessaire.","admin.assistprovisionning.alert.state":"Etat : ","admin.assistprovisionning.alert.description":"Description : ","admin.assistprovisionning.alert.nwkid":"NwkId : ","admin.assistprovisionning.alert.ieee":"IEEE : ","admin.assistprovisionning.alert.widgets":"Liste des dispositifs : ","admin.assistprovisionning.alert.cancel":"Terminer","admin.assistprovisionning.alert.ep":"Endpoint : ","admin.assistprovisionning.alert.cluster":"ClusterId : ","admin.assistprovisionning.alert.profile":"Profile : ","admin.assistprovisionning.alert.device":"Objet : ","admin.assistprovisionning.alert.model":"Mod\xe8le : ","admin.assistprovisionning.alert.plugincertified":"Certification avec le plugin : ","admin.assistprovisionning.alert.Failed":"Appairage \xe9chou\xe9 (regarder les logs pour plus de d\xe9tails)","admin.assistprovisionning.alert.inDB":"Appairage effectu\xe9 (v\xe9rifier si les dispositifs sont bien cr\xe9\xe9es dans DomoticZ)","admin.assistprovisionning.alert.Unexpected":"Erreur inattendue (recommencer et si le probl\xe8me persiste, contacter le support)","admin.permittojoin.title":"Appairer de nouveaux objets sur une dur\xe9e","admin.permittojoin.subtitle":"Cliquer sur un bouton pour choisir la dur\xe9e du mode appairage ","admin.permittojoin.validate.button":"Valider","admin.permittojoin.permanent.button":"Permanent","admin.permittojoin.permanent.notify":"Appairage permanent activ\xe9","admin.permittojoin.stop.button":"Stop","admin.permittojoin.stop.notify":"Appairage d\xe9sactiv\xe9","admin.permittojoin.4min.button":"4 minutes","admin.permittojoin.4min.notify":"Appairage activ\xe9 pendant 4 minutes","admin.permittojoin.notify":"Mode appairage modifi\xe9","admin.permittojoinrouter.title":"Appairer de nouveaux objets sur un routeur sp\xe9cifique","admin.permittojoinrouter.subtitle":"Permet de r\xe9aliser un appairage sur un routeur sp\xe9cifique ","admin.permittojoinrouter.devices.placeholder":"Liste des routeurs","admin.fullreset.title":"Reset d\'un objet","admin.fullreset.subtitle":"Permet d\'activer le mode Reset sur un objet
Au prochain appairage, l\'objet sera r\xe9initialis\xe9 \xe0 l\'exception des dispositifs qui seront conserv\xe9s.
Activer le mode Reset et r\xe9-appairer l\'objet.","admin.fullreset.device.placeholder":"S\xe9lectionner l\'objet","admin.fullreset.button":"Activer le mode Reset","admin.fullreset.notify":"Mode Reset activ\xe9","admin.recreate.title":"Re-cr\xe9ation des dispositifs d\'un objet","admin.recreate.subtitle":"Permet de (re)cr\xe9er tous les dispositifs d\'un objet dans DomoticZ
Cette fonction va g\xe9n\xe9rer des dispositifs en doublon. C\'est \xe0 vous de supprimer ces doublons dans DomoticZ et conserver uniquement le(s) dispositif(s) que vous souhaitez.
Ne pas oublier la limitation \xe0 255 dispositifs par plugin.","admin.recreate.device.placeholder":"S\xe9lectionner un objet","admin.recreate.button":"Recr\xe9ation des dispositifs","admin.recreate.notify":"Recr\xe9ation des dispositifs lanc\xe9e","admin.group":"Groupes","admin.rescan.group.title":"Analyse compl\xe8te des groupes","admin.rescan.group.subtitle":"Interroge chaque routeur pour conna\xeetre son appartenance \xe0 un ou plusieurs groupes
Le r\xe9sultat sera disponible dans la Gestion des groupes.

S\'assurer que TOUS les routeurs sont bien pr\xe9sent sur le r\xe9seau ZigBee avant de lancer l\'analyse.","admin.rescan.group.button":"Analyser","admin.scan.group.device.title":"Analyse s\xe9lective des groupes","admin.scan.group.device.subtitle":"Interroge un ou plusieurs routeurs pour conna\xeetre leur(s) appartenance(s) \xe0 un ou plusieurs groupes
Le r\xe9sultat sera disponible dans la Gestion des groupes.

S\'assurer que les routeurs sont bien pr\xe9sent sur le r\xe9seau ZigBee avant de lancer l\'analyse.","admin.scan.group.device.button":"Analyser","admin.scan.group.device.placeholder":"S\xe9lectionner le(s) routeur(s) \xe0 analyser","admin.coordinator":"Coordinateur","admin.coordinator.swreset.title":"R\xe9initialisation logicielle du coordinateur","admin.coordinator.swreset.subtitle":"Lancer le red\xe9marrage du coordinateur sans perte d\'objets appair\xe9s ","admin.coordinator.swreset.button":"Red\xe9marrer le coordinateur","admin.coordinator.swreset.notify":"Red\xe9marrage du coordinateur lanc\xe9","admin.coordinator.switchchannel.title":"Changement du canal de communication du coordinateur","admin.coordinator.switchchannel.subtitle":"Permet de basculer le coordinateur et son r\xe9seau sur un canal de communication particulier.
La demande va \xeatre envoy\xe9e \xe0 tous les objets\xa0: les routeurs basculent normalement sans probl\xe8me, par contre, les objets sur piles qui ne sont pas ZigBee 3.0 n\xe9cessiteront probablement un reset pour rejoindre le nouveau canal.","admin.coordinator.switchchannel.placeholder":"Canal du coordinateur","admin.coordinator.switchchannel.button":"Changer le canal","admin.coordinator.switchchannel.notify":"Changement de canal lanc\xe9","admin.erasepdm.title":"Efface la ZiGate","admin.erasepdm.subtitle":"Effacer la m\xe9moire de la ZiGate (perte de tous les objets appair\xe9s pr\xe9c\xe9demment)
Assurez vous d\'avoir activer le param\xe8tre eraseZigatePDM avant dans les Param\xe8tres avanc\xe9s","admin.erasepdm.button":"Effacer la ZiGate","admin.erasepdm.notify":"ErasePdm ZiGate lanc\xe9","admin.erasepdm.alert.title":"R\xe9initialisation de la ZiGate","admin.erasepdm.alert.subject":"Cette action va effacer compl\xe8tement le ZiGate avec la perte de tous les objets associ\xe9s. \xcates-vous vraiment s\xfbr ???","admin.erasepdm.alert.cancel":"Annuler","admin.erasepdm.alert.erase":"Effacer","admin.plugin":"Plugin","admin.plugin.reload.title":"R\xe9initialisation du plugin","admin.plugin.reload.subtitle":"Lancer le red\xe9marrage du plugin ","admin.plugin.reload.button":"Red\xe9marrer","admin.plugin.reload.notify":"Red\xe9marrage du plugin lanc\xe9","admin.plugin.reload.port":"Port","admin.plugin.reload.username":"Utilisateur","admin.plugin.reload.password":"Mot de Passe","admin.plugin.reload.host":"Nom d\'h\xf4te","admin.plugin.reload.protocol":"Protocole","admin.plugin.reload.alert.title":"Red\xe9marrage du plugin","admin.plugin.reload.alert.subject":"Cette action va red\xe9marrer le plugin. Ceci n\u2019entra\xeenera pas de perte de donn\xe9es.","admin.plugin.reload.alert.cancel":"Annuler","admin.plugin.reload.alert.erase":"Red\xe9marrer","admin.plugin.update.title":"Mise \xe0 jour du plugin","admin.plugin.update.subtitle":"Lance la mise \xe0 jour du plugin.
Si cette mise \xe0 jour se passe sans probl\xe8me, un red\xe9marrage du plugin sera n\xe9cessaire pour la prise en compte, sinon il faudra faire la mise \xe0 jour de fa\xe7on manuelle.","admin.plugin.update.button":"Mettre \xe0 jour (plusieurs minutes)","admin.plugin.update.success":"Red\xe9marrer le plugin pour prendre en compte la mise \xe0 jour","admin.plugin.update.error":"Il y a eu des erreurs durant la mise \xe0 jour, v\xe9rifier les logs et prendre les actions correctives","admin.firmware":"Firmware","admin.firmware.title":"Les firmware des objets","admin.firmware.subtitle":"Mettre \xe0 jour le firmware des routeurs ","admin.firmware.button.update":"Mettre \xe0 jour","admin.firmware.notify":"Mise \xe0 jour lanc\xe9e","admin.firmware.list":"S\xe9lectionner le firmware","admin.firmware.manufacturer.list":"S\xe9lectionner un fabricant","admin.firmware.devices.list":"S\xe9lectionner le(s) routeur(s)","admin.firmware.force":"Forcer la mise \xe0 jour","admin.firmware.alert.title":"Firmware","admin.firmware.alert.subject":"Information","admin.firmware.alert.ok":"Mettre \xe0 jour","admin.firmware.alert.cancel":"Annuler","admin.firmware.alert.list.devices":"Liste des objets","admin.firmware.alert.filename":"Nom du fichier","admin.firmware.alert.device":"Objet ","admin.firmware.alert.brand":"Fabricant ","settings":"R\xe9glages","setting.header":"R\xe9glages","setting.subtitle":"Vous permet de visualiser et de modifier les diff\xe9rents r\xe9glages du plugin
Certains r\xe9glages peuvent n\xe9cessiter un red\xe9marrage du plugin pour \xeatre pris en compte.","setting.validate.button":"Valider","setting.reinit.button":"Param\xe8tres (d\xe9faut)","setting.advanced.button":"Param\xe8tres avanc\xe9s","setting.normal.button":"param\xe8tres standards","setting.help.link":"Plus d\'informations sur les r\xe9glages dans le Wiki","setting.help.legend":"Les r\xe9glages du Plugin ZigBeeForDomoticZ","setting.header.Services":"Liste des services","setting.subtitle.Services":"Activer les services d\xe9sir\xe9s","useDomoticzLog":"Usage des Logs DomoticZ","enablegroupmanagement":"Activer les Groupes","zigatePartOfGroup0000":"Cr\xe9ation du Group 0000","allowRemoveZigateDevice":"Suppression dans le coordinateur","resetPermit2Join":"Reset du mode appairage au d\xe9marrage du plugin","forcePollingAfterAction":"Interrogation du statut de l\'objet apr\xe8s un ordre","enableReadAttributes":"Activer l\'interrogation des objets (pooling)","blueLedOnOff":"Active ou d\xe9sactive la Led Bleu","setting.reloadplugin.alert.title":"Red\xe9marrage du plugin","setting.reloadplugin.alert.subject":"Les r\xe9glages on \xe9t\xe9 mis \xe0 jour, le plugin doit \xeatre red\xe9marr\xe9.","setting.reloadplugin.alert.cancel":"Fermer","setting.resetplugin.alert.title":"Reset du coordinateur","setting.resetplugin.alert.subject":"Un param\xe8tre a \xe9t\xe9 modifi\xe9 et n\xe9cessite un red\xe9marrage du coordinateur. Attention cela peut entra\xeener un r\xe9-appairage de tous les objets.","setting.resetplugin.alert.cancel":"Close","setting.eraseplugin.alert.title":"Erase PDM","setting.eraseplugin.alert.subject":"Un param\xe8tre a \xe9t\xe9 modifi\xe9 et n\xe9cessite un Erase PDM (n\xe9cessite un r\xe9-appairage de tous les objets)","setting.eraseplugin.alert.cancel":"Close","Ping":"Activer le Ping","setting.header.DomoticzEnvironment":"Communication avec DomoticZ","setting.subtitle.DomoticzEnvironment":"Les r\xe9glages pour l\'acc\xe8s \xe0 l\'API de DomoticZ","setting.header.WebInterface":"R\xe9glages de l\'interface Web","setting.subtitle.WebInterface":"Les r\xe9glages pour l\'interface d\'administration du plugin :","enableWebServer":"Active l\'interface Web","setting.header.DeviceManagement":"R\xe9glages de la gestion des objets","setting.subtitle.DeviceManagement":"Les r\xe9glages pour la gestion des objets et leur interaction avec le coordinateur :","setting.header.CoordinatorConfiguration":"R\xe9glages du coordinateur","setting.subtitle.CoordinatorConfiguration":"Les r\xe9glages pour le coordinateur :","setting.header.OverTheAirUpgrade":"R\xe9glages mise \xe0 jour sans fils (OTA)","setting.subtitle.OverTheAirUpgrade":"Les r\xe9glages pour les mises \xe0 jours sans fils (OTA).","allowOTA":"Activer OTA","setting.header.Legrand":"R\xe9glages Legrand Netatmo","setting.subtitle.Legrand":"Les r\xe9glages sp\xe9cifiques aux objets Legrand Netatmo","setting.header.Schneider_Wiser":"R\xe9glages Schneider Wiser","setting.subtitle.Schneider_Wiser":"Les r\xe9glages sp\xe9cifiques aux objets Schneider Wiser","internetAccess":"Autoriser acc\xe8s Internet pour v\xe9rification des versions","batteryOTA":"Autorise les OTA pour les objets sur batterie","waitingOTA":"D\xe9lai avant le d\xe9marrage des OTA","setting.header.GroupManagement":"R\xe9glages des Groupes","setting.subtitle.GroupManagement":"Les r\xe9glages pour la gestion des groupes.","OnIfOneOn":"Groupe est allum\xe9 d\xe8s que le premier objet est allum\xe9 (sinon, groupe est allum\xe9 lorsque tous les objets sont allum\xe9s)","setting.header.PluginConfiguration":"R\xe9glage de l\'environnement du Plugin","setting.subtitle.PluginConfiguration":"Les r\xe9glages pour l\'environnement du Plugin","numDeviceListVersion":"Nombre d\'historique du fichier DeviceList","setting.header.Others":"Autres r\xe9glages","setting.header.Provisioning":"R\xe9glages d\'appairage","setting.subtitle.Provisioning":"R\xe9glages sp\xe9cifiques pour certains mat\xe9riels ou certaines conditions","setting.header.DevicePolling":"Interrogation des objets","setting.subtitle.DevicePolling":"Interrogation directe et r\xe9guli\xe8re des objets. R\xe9glage des fr\xe9quences d\'interrogation. Attention plus la fr\xe9quence est \xe9lev\xe9e, plus la charge sera importante.","setting.subtitle.Others":"","logLQI":"D\xe9lai (sec) avant de lancer un rapport de Maillage","networkScan":"Fr\xe9quence de rapport d\'Interf\xe9rences (sec)","setting.header.CommandTransition":"Transitions des groupes de lumi\xe8res","setting.subtitle.CommandTransition":"Applicable pour les groupes uniquement. Indiquer le temps de transition en dixi\xe8me de seconde entre l\'\xe9tat actuel et celui d\xe9sir\xe9.","moveToHueSatu":"Transition pour Hue","moveToColourTemp":"Transition pour Temp\xe9rature","moveToColourRGB":"Transition pour Couleur RVB","moveToLevel":"Transition pour variateur","setting.header.Experimental":"Param\xe8tres exp\xe9rimentaux","setting.subtitle.Experimental":"Utilisez seulement si on vous a indiqu\xe9 de le faire","api.global.error.notify":"Erreur de l\'interface","api.global.succes.scanlaunched.notify":"Analyse lanc\xe9e","api.global.succes.commandsent.notify":"Commande envoy\xe9e","api.global.succes.saved.notify":"Enregistr\xe9","setting.header.OTA":"Mise \xe0 jour du firmware de l\u2019objet via l\u2019OTA","setting.subtitle.OTA":"Comportement du plugin avec les mises \xe0 jour OTA","IkeaTradfri_Repository":"D\xe9p\xf4t firmwares officiel IKEA-TRADFRI ","ZigbeeOTA_Repository":"D\xe9p\xf4t firmwares ZigBee OTA (maintenue par la communaut\xe9)","autoServeOTA":"Mise \xe0 jour automatique quand un firmware est trouv\xe9","checkFirmwareAgainstZigbeeOTARepository":"V\xe9rifier si un firmware est disponible dans l\u2019un des d\xe9p\xf4ts","DomoticzCustomMenu":"Ajouter un lien vers le WebUI dans le Custom Menu de DomoticZ","NightShift":"D\xe9place les actions d\u2019arri\xe8re plan de 23h \xe0 06h","ConfigureReportingChunk":"Nombre maxi d\u2019attributs lors d\u2019un Configure Reporting","ReadAttributeChunk":"Nombre maxi d\u2019attributs lors d\u2019un Read attributes","resetConfigureReporting":"Reset de tous les Configure Reporting","resetReadAttributes":"Reset de tous les Read attributes","TopologyV2":"Analyse du maillage bas\xe9 sur les tables de routage et de voisinage","autoBackup":"Sauvegarde automatique du coordinateur","BackupFullDevices":"Sauvegarde des informations de l\u2019objet","BellowsNoMoreEndDeviceChildren":"D\xe9sactiver l\u2019appairage direct sur le coordinateur","BellowsSourceRouting":"Activer le m\xe9canisme de routage source","pingDevices":"Faire un ping des objets aliment\xe9s sur secteur pour v\xe9rifier leur \xe9tat","GroupOnBattery":"Activer la cr\xe9ation de groupe pour les objets sur batterie","deviceOffWhenTimeOut":"Basculer un objet sur Off apr\xe8s un timeout du r\xe9seau","checkConfigurationReporting":"V\xe9rifier le Report configuration d\u2019un objet r\xe9guli\xe8rement","TXpower_set":"Niveau de puissance de la transmission du coordinateur","pingDevicesFeq":"Fr\xe9quence de ping des objets aliment\xe9s sur secteur","GrpfadingOff":"Mode de Fadding","GrpmoveToColourRGB":"Temps de transition pour changer la valeur d\u2019une couleur","GrpmoveToColourTemp":"Temps de transition pour changer la temp\xe9rature d\u2019une couleur","GrpmoveToLevel":"Temps de transition pour passer d\u2019un niveau de puissance \xe0 un autre","enableSchneiderWiser":"Activer si vous avez des objets Legacy Wiser","LegrandCompatibilityMode":"Activer pour simuler un hub Legrand Netamo","AqaraOppleBulbMode":"Activer pour que la t\xe9l\xe9commande Aqara Opple commande les objets directement","forceClosingAllNodes":"Activer pour fermer le mode appairage dans chaque routeur","extendedPANID":"Identifiant Zigbee Extended PAN","allowReBindingClusters":"Activer le re-binding des clusters pendant les op\xe9rations de configure reporting","doUnbindBind":"Unbind and then bind, when doing a binding operation","PluginAnalytics":"Autoriser le plugin \xe0 placer un cookie afin de collecter des informations sur le coordinateur et les mod\xe8les d\u2019objets utilis\xe9s.","MatomoOptIn":"Autoriser le plugin \xe0 collecter des informations sur le coordinateur, versions ...","autoRestore":"Appliquer automatiquement le backup le plus r\xe9cent du coordinateur quand un coordinateur vierge est trouv\xe9","forceSwitchSelectorPushButton":"Workaround DomoticZ issue #4143","resetSwitchSelectorPushButton":"Nombre de sec avant de basculer le S\xe9lecteur Off","setting.header.ManufSpecifiqDevicePolling":"Interrogation des objets sp\xe9ciaux","setting.subtitle.ManufSpecifiqDevicePolling":"0 pour d\xe9sactiv\xe9, correspond \xe0 la p\xe9riode en secondes avec laquelle on va interroger les objets pour r\xe9cup\xe9rer des informations qui ne sont pas envoy\xe9es automatiquement par celui-ci.","setting.header.Zigpy":"Configuration sp\xe9cifique aux CIE ZigPy","setting.subtitle.Zigpy":"Pour certains CIE (comme les clefs ConBeeII et RasbeeII), il est n\xe9cessaire d\'activer des \xe9l\xe9ments sp\xe9cifiques pour certaines marques","resetMotiondelay":"D\xe9lai en seconde entre deux d\xe9tections","Certification":"Certification ( FCC ou CE )","channel":"Canal du coordinateur (0 par d\xe9faut)","alarmDuration":"Dur\xe9e en secondes pour les objets alarme","vibrationAqarasensitivity":"Sensibilit\xe9 vibration Aqara","TradfriKelvinStep":"Kelvin step for Tradfri remote","numTopologyReports":"Nombre de rapport de topologie r\xe9seau conserv\xe9s","numEnergyReports":"nombre de rapports d\'interf\xe9rence enregistr\xe9s","PowerOn_OnOff":"\xc9tat de retour apr\xe8s une coupure \xe9lectrique","logDeviceUpdate":"Activer UpdateDevice message dans les logs","capturePairingInfos":"Capture des infos d\u2019appairage et enregistrement dans le dossier Reports","error_required":"Obligatoire","ForceAPSAck":"Force APS Ack to ZCL and ZDP commands","zigpySourceRouting":"Enable Zigbee Source routing (plugin)","reenforcementWiser":"Enable reenforcement messages (legacy Wiser only)","forcePassiveWidget":"Allow Domoticz actions on Widgets from remote devices","tools":"Outils","tools.tools":"Outils","tools.tools.export":"Exporter","tools.tools.zdevice-raw.button":"Liste des objets raw","tools.tools.non-optimized.button":"Liste des objets non-optimis\xe9s","tools.tools.zgroup.button":"Liste des groupes","tools.tools.zdevice.button":"Liste des objets (old)","tools.tools.device.button":"Liste des dispositifs dans DomoticZ","tools.tools.log.button":"Logs du plugin","tools.tools.infos.plugin.button":"Infos du plugin","tools.tools.coordinator.infos.button":"Infos du coordinateur","tools.tools.plugin-health.button":"Sant\xe9 du plugin","tools.tools.zdevice-name.button":"Zdevice-name","tools.tools.domoticz-env.button":"Param\xe8tres DomoticZ","tools.tools.battery-state.button":"\xc9tats des batterie","tools.tools.zgroup-list-available-device.button":"Zgroup-lst-devices","tools.tools.settings.button":"Param\xe8tres","tools.tools.plugin-stat.button":"Trafic","tools.command":"Commande","tools.debugcommand.title":"Commandes directes","tools.debugcommand.subtitle":"Permet de transmettre directement des commandes/ordres \xe0 un routeur via le coordinateur. Les objets terminaux ne peuvent pas recevoir de commande
(1) Choisir le routeur,
(2) Choisir l\'action \xe0 effectuer,
(3) Choisir une fonction,
(4) \xc9ventuellement une valeur suppl\xe9mentaire.","tools.debugcommand.device":"Routeur ...","tools.debugcommand.button.cancel":"Annuler","tools.debugcommand.action":"Action ...","tools.debugcommand.type":"Fonction ...","tools.debugcommand.value":"Valeur ...","tools.debugcommand.level.error":"entre 0 et 100","tools.debugcommand.effect.error":"entre 0x00 \xe0 0xff","tools.debugcommand.button.send":"Envoyer","tools.rawcommand-zigate.title":"Commande brut","tools.rawcommand-zigate.subtitle":"Permet d\'envoyer une commande directe au coordinateur en mode Raw.
Suivre absolument le protocole ZiGate ","tools.rawcommand-zigate.command":"Message RAW","tools.rawcommand-zigate.error":"Entr\xe9e requise","tools.rawcommand-zigate.payload":"Payload","tools.rawcommand-zigate.button.send":"Envoyer","tools.rawcommand-zigpy.title":"Commande ZigBee","tools.rawcommand-zigpy.subtitle":"Permet d\'envoyer une commande directe au coordinateur en mode Raw.","tools.rawcommand-zigpy.placeholder":"S\xe9lectionner l\'objet","tools.rawcommand-zigpy.groupaddressflag":"GroupAddressFlag","tools.rawcommand-zigpy.ackmode":"AckMode","tools.rawcommand-zigpy.profileid":"ProfileId","tools.rawcommand-zigpy.clusterid":"ClusterId","tools.rawcommand-zigpy.sourceep":"SourceEp","tools.rawcommand-zigpy.targetep":"TargetEp","tools.rawcommand-zigpy.sqn":"Sqn","tools.rawcommand-zigpy.payload":"Payload","tools.rawcommand-zigpy.button.send":"Envoyer","tools.reporting.configure":"Remont\xe9e d\'infos","tools.reporting.configure.title":"Configuration de la remont\xe9e d\'infos des objets","tools.reporting.configure.subtitle":"Configurer un objet pour qu\'il envoi automatiquement les valeurs d\'un (ou plusieurs) de ses attributs ou qu\'il re\xe7oive les infos.
Les champs Intervalle mini et Intervalle maxi indique la plage de temps en secondes pendant laquelle l\'objet enverra la valeur de l\'attribut correspondant. Les intervalles doivent \xeatre inf\xe9rieur \xe0 65534s (codage 16bits).
Le champ Delta indique la variation de valeur qui entra\xeenera l\'envoi de la donn\xe9e. Pas de limitation sur la longueur du champ. Le signe sera ignor\xe9.
Pour les attributs avec un data type analog (voir 2.6.2), le champ a le m\xeame data type que l\'attribut.","tools.reporting.configure.trigger.button":"Trigger","tools.reporting.configure.reset.button":"Reset","tools.reporting.configure.validate.button":"Valider","tools.reporting.configure.device":"S\xe9lectionner l\'objet","tools.reporting.configure.clusterId.column":"Cluster id","tools.reporting.configure.attributeId.column":"Attribute id","tools.reporting.configure.dataType.column":"Datatype","tools.reporting.configure.timeout.column":"Timeout","tools.reporting.configure.minInterval.column":"Intervalle mini (en secondes)","tools.reporting.configure.maxInterval.column":"Intervalle maxi (en secondes)","tools.reporting.configure.change.column":"Delta","tools.reporting.configure.hexa.error":"Valeur hexad\xe9cimal attendue","tools.reporting.configure.length.error":"Valeur trop longue","tools.binding":"Couplage (Bindings)","tools.binding.title":"Couplage d\'objets","tools.binding.subtitle":"Permet le couplage d\'une fonction entre objet source et un objet cible ","tools.binding.sourceIeee":"IEEE de l\'objet source","tools.binding.error":"Entr\xe9e requise","tools.binding.sourceEp":"S\xe9lectionner l\'objet source","tools.binding.destIeee":"IEEE de l\'objet cible","tools.binding.destEp":"S\xe9lectionner l\'objet cible","tools.binding.cluster":"Fonction","tools.binding.button.put":"Couplage","tools.unbinding.button.put":"D\xe9-couplage","tools.debug":"D\xe9bogage","setting.header.VerboseLogging":"R\xe9glages des Logs","setting.subtitle.VerboseLogging":"Les r\xe9glages pour les Logs. Utilisez l\'option avanc\xe9e pour avoir acc\xe8s aux param\xe8tres sp\xe9cifiques ","tools.debugsetting.help.legend":"Param\xe8tres de d\xe9bogage et journalisation","tools.debugsetting.advanced.button":"Param\xe8tres avanc\xe9s","tools.debugsetting.normal.button":"param\xe8tres standards","tools.debugsetting.validate.button":"Valider","tools.debugsetting.reinit.button":"Param\xe8tres (d\xe9faut)","tools.debugsetting.reloadplugin.alert.title":"Red\xe9marrage du plugin","tools.debugsetting.reloadplugin.alert.subject":"Les r\xe9glages ont \xe9t\xe9 mis \xe0 jour, le plugin doit \xeatre red\xe9marr\xe9.","tools.debugsetting.reloadplugin.alert.cancel":"Fermer","tools.error":"Erreur(s)","tools.error.log-history.button":"Historique des erreurs (json)","tools.error.log-history.clear":"Effacer les erreurs","error.popover.title":"Erreur(s) d\xe9tect\xe9e(s)","error.popover.text":"Cliquer pour voir l\'historique","manufacturer":"Manufacturer","manufacturer.casaia":"Casa.ia","manufacturer.casaia.header":"CASA.ia - Configurations sp\xe9cifiques","manufacturer.casaia.subtitle":"Configuration des codes Infrarouges pour le pilotage des controlleurs de climatisation CAC221 ...","manufacturer.casaia.placeholder":"Rechercher ...","manufacturer.casaia.nwkid":"Short ID","manufacturer.casaia.name":"Surnom","manufacturer.casaia.ieee":"IEEE","manufacturer.casaia.model":"Mod\xe8le","manufacturer.casaia.ircode":"Code Infrarouge","manufacturer.casaia.validate.button":"Valider","manufacturer.zlinky.header":"Le Zlinky","manufacturer.zlinky.subtitle":"Liste les donn\xe9es r\xe9cup\xe9r\xe9es par le Zlinky s\xe9lectionn\xe9,","manufacturer.zlinky.placeholder":"S\xe9lectionner un Zlinky","manufacturer.zlinky.key":"D\xe9signation","manufacturer.zlinky.value":"Valeur ","manufacturer.zlinky.DateCode":"Code date","manufacturer.zlinky.SWBuildID":"SWBuildID","manufacturer.zlinky.ADC0":"Num\xe9ro de s\xe9rie","manufacturer.zlinky.BASE":"Index Base","manufacturer.zlinky.OPTARIF":"Option tarifaire","manufacturer.zlinky.ISOUSC":"Intensit\xe9 souscrite","manufacturer.zlinky.HCHC":"Index HCHC","manufacturer.zlinky.HCHP":"Index HCHP","manufacturer.zlinky.EJPHN":"Index EJPHN","manufacturer.zlinky.EJPHPM":"Index EJPHPM","manufacturer.zlinky.BBRHCJB":"Index BBRHCJB","manufacturer.zlinky.BBRHPJB":"Index BBRHPJB","manufacturer.zlinky.BBRHCJW":"Index BBRHCJW","manufacturer.zlinky.BBRHPJW":"Index BBRHPJW","manufacturer.zlinky.BBRHCJR":"Index BBRHCJR","manufacturer.zlinky.BBRHPJR":"Index BBRHPJR","manufacturer.zlinky.IINST":"Courant efficace","manufacturer.zlinky.IINST1":"Courant efficace phase 1","manufacturer.zlinky.IINST2":"Courant efficace phase 2","manufacturer.zlinky.IINST3":"Courant efficace phase 3","manufacturer.zlinky.IMAX":"Intensit\xe9 maximale","manufacturer.zlinky.IMAX1":"Intensit\xe9 maximale phase 1","manufacturer.zlinky.IMAX2":"Intensit\xe9 maximale phase 2","manufacturer.zlinky.IMAX3":"Intensit\xe9 maximale phase 3","manufacturer.zlinky.PMAX":"Puissance maximale triphas\xe9e atteinte","manufacturer.zlinky.PAPP":"Puissance apparente","manufacturer.zlinky.PTEC":"P\xe9riode tarifaire en cours","manufacturer.zlinky.DEMAIN":"Couleur du lendemain","manufacturer.zlinky.HHPHC":"Horaire Heure Pleines Heures Creuses","manufacturer.zlinky.PPOT":"Pr\xe9sence des potentiels","manufacturer.zlinky.PEJP":"Pr\xe9avis d\xe9but EJP (30min)","manufacturer.zlinky.ADPS":"Avertissement du d\xe9passement de la puissance souscrite","manufacturer.zlinky.ADIR1":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 1","manufacturer.zlinky.ADIR2":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 2","manufacturer.zlinky.ADIR3":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 3","manufacturer.zlinky.ADSC":"Adresse Secondaire du Compteur","manufacturer.zlinky.NGTF":"Nom du calendrier tarifaire fournisseur","manufacturer.zlinky.LTARF":"Libell\xe9 tarif fournisseur en cours","manufacturer.zlinky.NTARF":"Num\xe9ro de l\u2019index tarifaire en cours","manufacturer.zlinky.VTIC":"Version de la TIC","manufacturer.zlinky.DATE":"Date et heure courant","manufacturer.zlinky.EAST":"\xc9nergie active soutir\xe9e totale","manufacturer.zlinky.EASF01":"\xc9nergie active soutir\xe9e Fournisseur, index 01","manufacturer.zlinky.EASF02":"\xc9nergie active soutir\xe9e Fournisseur, index 02","manufacturer.zlinky.EASF03":"\xc9nergie active soutir\xe9e Fournisseur, index 03","manufacturer.zlinky.EASF04":"\xc9nergie active soutir\xe9e Fournisseur, index 04","manufacturer.zlinky.EASF05":"\xc9nergie active soutir\xe9e Fournisseur, index 05","manufacturer.zlinky.EASF06":"\xc9nergie active soutir\xe9e Fournisseur, index 06","manufacturer.zlinky.EASF07":"\xc9nergie active soutir\xe9e Fournisseur, index 07","manufacturer.zlinky.EASF08":"\xc9nergie active soutir\xe9e Fournisseur, index 08","manufacturer.zlinky.EASF09":"\xc9nergie active soutir\xe9e Fournisseur, index 09","manufacturer.zlinky.EASF10":"\xc9nergie active soutir\xe9e Fournisseur, index 10","manufacturer.zlinky.EASD01":"\xc9nergie active soutir\xe9e Distributeur, index 01","manufacturer.zlinky.EASD02":"\xc9nergie active soutir\xe9e Distributeur, index 02","manufacturer.zlinky.EASD03":"\xc9nergie active soutir\xe9e Distributeur, index 03","manufacturer.zlinky.EASD04":"\xc9nergie active soutir\xe9e Distributeur, index 04","manufacturer.zlinky.EAIT":"\xc9nergie active inject\xe9e totale","manufacturer.zlinky.ERQ1":"\xc9nergie r\xe9active Q1 total","manufacturer.zlinky.ERQ2":"\xc9nergie r\xe9active Q2 total","manufacturer.zlinky.ERQ3":"\xc9nergie r\xe9active Q3 total","manufacturer.zlinky.ERQ4":"\xc9nergie r\xe9active Q4 total","manufacturer.zlinky.IRMS1":"Courant efficace, phase 1","manufacturer.zlinky.IRMS2":"Courant efficace, phase 2","manufacturer.zlinky.IRMS3":"Courant efficace, phase 3","manufacturer.zlinky.URMS1":"Tension efficace, phase 1","manufacturer.zlinky.URMS2":"Tension efficace, phase 2","manufacturer.zlinky.URMS3":"Tension efficace, phase 3","manufacturer.zlinky.PREF":"Puissance apparente de r\xe9f\xe9rence (PREF)","manufacturer.zlinky.STGE":"Registre de Statuts","manufacturer.zlinky.PCOUP":"Puissance apparente de coupure (PCOUP)","manufacturer.zlinky.SINSTI":"Puissance apparente Instantan\xe9e inject\xe9e","manufacturer.zlinky.SMAXIN":"Puissance apparente max. inject\xe9e n","manufacturer.zlinky.SMAXIN-1":"Puissance apparente max. inject\xe9e n-1","manufacturer.zlinky.CCASN":"Point n de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCASN-1":"Point n-1 de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCAIN":"Point n de la courbe de charge active inject\xe9e","manufacturer.zlinky.CCAIN-1":"Point n-1 de la courbe de charge active inject\xe9e","manufacturer.zlinky.UMOY1":"Tension moyenne phase 1","manufacturer.zlinky.UMOY2":"Tension moyenne phase 2","manufacturer.zlinky.UMOY3":"Tension moyenne phase 3","manufacturer.zlinky.SINSTS":"Puissance apparente Instantan\xe9e soutir\xe9e","manufacturer.zlinky.SINSTS1":"Puissance apparente Instantan\xe9e soutir\xe9e phase 1","manufacturer.zlinky.SINSTS2":"Puissance apparente Instantan\xe9e soutir\xe9e phase 2","manufacturer.zlinky.SINSTS3":"Puissance apparente Instantan\xe9e soutir\xe9e phase 3","manufacturer.zlinky.SMAXN":"Puissance apparente max. soutir\xe9e n","manufacturer.zlinky.SMAXN1":"Puissance apparente max. soutir\xe9e n phase 1","manufacturer.zlinky.SMAXN2":"Puissance apparente max. soutir\xe9e n phase 2","manufacturer.zlinky.SMAXN3":"Puissance apparente max. soutir\xe9e n phase 3","manufacturer.zlinky.SMAXN-1":"Puissance apparente max. soutir\xe9e n-1","manufacturer.zlinky.SMAXN1-1":"Puissance apparente max. soutir\xe9e n-1 phase 1","manufacturer.zlinky.SMAXN2-1":"Puissance apparente max. soutir\xe9e n-1 phase 2","manufacturer.zlinky.SMAXN3-1":"Puissance apparente max. soutir\xe9e n-1 phase 3","manufacturer.zlinky.MSG1":"Message court","manufacturer.zlinky.MSG2":"Message ultra court","manufacturer.zlinky.PRM":"PRM","manufacturer.zlinky.DPM1":"D\xe9but Pointe Mobile 1","manufacturer.zlinky.FPM1":"Fin Pointe Mobile 1","manufacturer.zlinky.DPM2":"D\xe9but Pointe Mobile 2","manufacturer.zlinky.FPM2":"Fin Pointe Mobile 2","manufacturer.zlinky.DPM3":"D\xe9but Pointe Mobile 3","manufacturer.zlinky.FPM3":"Fin Pointe Mobile 3","manufacturer.zlinky.RELAIS":"Relais","manufacturer.zlinky.NJOURF":"Num\xe9ro du jour en cours calendrier fournisseur","manufacturer.zlinky.NJOURF+1":"Num\xe9ro du prochain jour calendrier fournisseur","manufacturer.zlinky.PJOURF+1":"Profil du prochain jour calendrier fournisseur","manufacturer.zlinky.PPOINTE1":"Profil du prochain jour de pointe","manufacturer.zlinky.PROTOCOL_LINKY_0":"Mode historique monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_1":"Mode standard monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_2":"Mode historique triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_3":"Mode standard triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_5":"Mode standard monophas\xe9 producteur","manufacturer.zlinky.PROTOCOL_LINKY_7":"Mode standard triphas\xe9 producteur","ZigpyTopologyReport":"Active l\'utilisation du scan de topologie zigpy","ZigpyTopologyReportAutoBackup":"Sauvegarde les scan topologie interne zigpy"}'),m=JSON.parse('{"APP_NAME":"ZigBeeforDomoticZ plug-in Admin Interface","About":"Over","Version":"Versie","NODATA":"Geen data weer te geven","TOTAL":"Totaal {totalRecords}","SELECTED":"Geselecteerd","dashboard":"Dashboard","dashboard.button.refresh":"Ververs","dashboard.trafic.title":"Plugin status ( Verzenden en Ontvangen, Types en Belasting)","dashboard.health.title":"Plugin apparaten","dashboard.devices.state.label":"Aantal bekende apparaten van de plugin","dashboard.devices.live":"live","dashboard.devices.disabled":"invalide","dashboard.devices.notseen":"geen nieuws","dashboard.devices.notReachable":"offline","dashboard.devices.others":"onbekend","dashboard.health.comment":"Live = apparaten online
Offline = apparaten zijn niet bereikbaar
Geen nieuws = apparaten waren meer dan 6 uur niet bereikbaar
Onbekend = status apparaten onbekend","dashboard.traffic.title":"Verzonden & Ontvangen","dashboard.trafic.label":"Verzonden/Ontvangen berichten","dashboard.trafic.send":"Tx","dashboard.trafic.receive":"Rx","dashboard.traffic.comment":"Tx = aantal inkomende berichten sinds het begin van de plug-in
Rx = aantal uitgaande berichten sinds het begin van de plug-in","dashboard.trend.title":"Statistieken","dashboard.txps":"Tx/s","dashboard.rxps":"Rx/s","dashboard.txph":"Tx/h","dashboard.rxph":"Rx/h","dashboard.load":"Belasting","dashboard.trend.comment":"Tx/s = aantal verzonden berichten per seconde
Rx/s = aantal ontvangen berichten per seconde
Load = aantal berichten in de wachtrij","dashboard.trafic.maxload.label":"Belasting","dashboard.trafic.maxload":"Piek","dashboard.trafic.currentload":"huidige wachtrij","dashboard.trend.chart.yaxis":"Berichten/s","dashboard.devices.title":"Apparaat status van niet uitgeschakelde apparaten (Type, Gezondheid en Batterij niveau)","dashboard.device.title":"Soort van apparaten","dashboard.devices.label":"Apparaten","dashboard.devices.routers":"routers","dashboard.devices.enddevice":"eindapparaat","dashboard.devices.comment":"Router is een hoofdapparaat dat deelneemt aan het mesh-netwerk.
Eindapparaat is een apparaat op batterijen dat geen berichten kan sturen, en geen niet bereikbaar is wanneer inactief.","dashboard.battery.title":"Batterij","dashboard.devices.battery.label":"Batterij","dashboard.devices.battery.inf.15":"< 15%","dashboard.devices.battery.inf.35":"< 35%","dashboard.devices.battery.inf.75":"< 75%","dashboard.devices.battery.sup.75":"> 75%","dashboard.battery.comment":"Voor apparaten met een batterij wordt de batterijstatus gerapporteerd.","dashboard.optimized.title":"Geoptimaliseerde apparaten","dashboard.optimized.comment":"Geoptimaiseerde apparaten zijn apparaten waarvoor een configuratie is uitgevoerd om de plug-in te laten werken zoals verwacht.
Niet-geoptimaliseerde apparaten kunnen niet volledig werken en/of kunnen onverwachte belasting of verkeer genereren.
Meer info in de wiki ","dashboard.devices.optimized":"Geoptimaliseerde apparaten","dashboard.devices.not.optimized":"Niet geoptimaliseerde apparaten","dashboard.devices.optimized.label":"Geoptimaliseerde apparaten","dashboard.popup.device.header":"Object lijst","dashboard.popup.device.subtitle":"Deze lijst is gefilterd, door het geselecteerde in het dashbaord","dashboard.popup.device.button.close":"Sluiten","dashboard.health.starttime":"Opgestart op:","dashboard.rxpm":"Rx/m","dashboard.txpm":"Tx/m","dashboard.maxload":"Max Belasting","dashboard.plugin.version":"Plugin: ","dashboard.plugin.update.available":"Er is een update voor de plug-in beschikbaar Meer informatie.
Plugin upgrade","dashboard.plugin.update.available.title":"Plugin update","dashboard.firmware.version":"Firmware: ","dashboard.firmware.update.available":"Er is nieuwe firmware beschikbaar voor de ZiGate Meer info","dashboard.firmware.update.available.title":"Firmware update","dashboard.device.button":"Domoticz apparaten (json)","dashboard.plugin.header":"Plugin informatie","dashboard.plugin.subtitle":"Geeft plugin informatie","dashboard.stats.header":"Plugin statistieken","dashboard.stats.subtitle":"Geeft co\xf6rdinator statistieken over het verzenden en ontvangen van informatie","dashboard.zdevice.button":"Plugin apparten (json)","dashboard.zgroup.button":"Plugin Groepen (json)","dashboard.coordinator.header":"Co\xf6rdinator informatie","dashboard.coordinator.subtitle":"Geeft co\xf6rdinator informatie","dashboard.health.OTA":"OTA: ","dashboard.health.group":"Group: ","dashboard.devices.indb":"In db","consent.banner.header":"Toestemming","consent.banner.description":"Voor het ontwikkelen, gebruiken we cookies voor technisch gebruik, en met je toestemming, we verzamelen alleen de plug-in versie.
Mehr Infos im Wiki.","consent.banner.accept":"Accepteer","consent.banner.decline":"Afwijzen","management":"Beheer","device":"Apparaat Management","device.byname.subtitle":"Een lijst van alle gekoppelde apparaten. Hier kun je een vriendelijke naam voor ieder apparaat invoeren.
Dit geeft een vriendelijk naam, in plaats van een code.
De oranje gemarkeerde objecten zijn niet geoptimaliseerd met de plug-in. Volg de procedure op de wiki. ","device.byname.capabilities.column":"Functies","device.byname.devicename.column":"Eenvoudige naam","device.byname.header":"Apparaten management","device.byname.trash.column":"Verwijder","device.byname.optimized.column":"Verwijderen","device.byname.health.column":"Gezondheid","device.byname.battery.column":"Batterij","device.byname.ieee.column":"IEEE","device.byname.model.column":"Model","device.byname.devicename.param":"Extra parameters","device.byname.devicename.enabled":"Apparaat ingeschakeld","device.byname.placeholder":"typ filter hier ....","device.byname.shortid.column":"Korte id","device.byname.status.column":"Status","device.byname.lqi.column":"LQI","device.byname.rssi.column":"RSSI","device.byname.validate.button":"Valideer","device.byname.widget.column":"Domoticz Widget","device.byname.alert.title":"Verwijder apparaat ?","device.byname.alert.subject":"Weet je het zeker ?","device.byname.alert.delete":"Verwijder","device.byname.alert.cancel":"Annuleer","device.byname.error.notify":"Gebruik de ingeschakelde schakelaar","device.byname.parameter.alert.save":"Valideer","device.byname.parameter.alert.cancel":"Annuleer","device.byname.parameter.alert.title":"Parameters","device.byname.parameter.alert.subject":"Stel specifieke parameters in ","device.byname.parameter.popover.title":"Device Parameters","device.byname.parameter.popover.text":"Specify local device configuration parameters. Green means in sync with the device, when Orange the parameters are not yet pushed to the device","device.byname.delete.colum":"Verwijder","device.byname.optimized.popover.title.ok":"Het object is geoptimaliseerd met de plugin","device.byname.optimized.popover.text.ok":"Klik op het icoon om de informatie van het object","device.byname.optimized.popover.title.ko":"Dit object is niet geoptimaliseerd met de plugin","device.byname.optimized.popover.text.ko":"Klik op het icoon om de informatie van het object","group":"Groep Management","group.create.devices.column":"Apparaten in de Groep","group.create.groupname.column":"Groepsnaam","group.create.header":"Groep Management","group.create.placeholder":"typ filter hier ....","group.create.shortid.column":"Groep id","group.create.subtitle":"Maak, bewerk en verwijder groepen
","group.create.validate.button":"Valideer","group.create.add.button":"Maak een nieuwe groep","group.create.delete.button":"Verwijder","group.create.coordinator.column":"Co\xf6rdinator (toegevoegd aan groep)","group.reloadplugin.alert.title":"Plugin herstart","group.reloadplugin.alert.subject":"Groepen zijn ge-update, de plugin moet opnieuw worden gestart via Admin tab","group.reloadplugin.alert.cancel":"Sluiten","header.popover.title":"Herstart noodzakelijk","header.popover.text":"Sommige wijzigingen zijn in afwachting van een herstart van de plug-in","network":"Netwerk","network.topo":"Topologie","network.topo.header":"Netwerk Topologie","network.topo.subtitle":"Lijst van de Netwerk Topology. Selecteer de datum om het meshdiagram te genereren ","network.topo.visu.header":"Topologie diagram","network.topo.visu.subtitle":"Het Topologiediagram toont alle koppelingen tussen 2 knooppunten. Als u de cursor op een link plaatst, ziet u de richting van de link en de kwaliteit van de link","network.topo.visu.network.header":"Netwerk diagram","network.topo.visu.network.subtitle":"Maakt een netwerkdiagram van u Zigbee omgeving.","network.topo.visu.network.filter":"apparaat","network.topo.device.visu.network.chart.title":"Netwerk diagram","network.topo.visu.delete.button":"Verwijder","network.topo.device.batterylevel.column":"Batterij","network.topo.device.deviceid.column":"Apparaat id","network.topo.device.id.column":"Id","network.topo.device.nvalue.column":"nWaarde","network.topo.device.signalelevel.column":"Signaal","network.topo.device.svalue.column":"sWaarde","network.topo.device.switchtype.column":"Schakelaar","network.topo.device.timedout.column":"Timeout","network.topo.device.type.column":"Type","network.topo.device.name.column":"Naam","network.topo.device.visu.header":"Lijst van apparaten","network.topo.device.visu.subtitle":"Genereert de lijst met apparaten die worden beheerd door co\xf6rdinator. Je krijgt ook een verwijzing naar de Widget-namen en aanvullende informatie van Domoticz","network.topo.device.visu.chart.title":"Mesh Diagram","network.topology.req.header":"Topologie scan","network.topology.req.subtitle":"Dit zal een Topologiescan op de achtergrond starten","network.topology.req.button":"Scan","network.topo.visu.network.relation.header":"Lijst met gekoppelde onderdelen van {{deviceSelected}}","network.topo.visu.network.relation.subtitle":"Deze lijst geeft de LQI-waarde weer, tussen het geselecteerde object en al zijn koppelingen.","network.topo.visu.network.relation.to":"koppelingen","network.topo.visu.network.relation.weight":"LQI","network.topo.visu.network.relation.nochild":"Het geselecteerde object heeft geen koppelingen.","network.topo.visu.network.relation.model":"Model","network.topo.visu.network.relation.status":"Status","network.topo.visu.network.relation.health":"Gezondheid","network.topo.visu.network.relation.battery":"Batterij","network.energy":"Energieniveau","network.stats.header":"Netwerk","network.stats.subtitle":"Energieniveau rapport ","network.stats.visu.delete.button":"Verwijder","network.inter.req.header":"Korte Energie scan","network.inter.req.subtitle":"De korte energiescan, het rapport geeft het energieniveau tussen alle routers en co\xf6rdinator, en verwerkt alle cross-communicatie. Dit rapport kan even duren als het aantal routers hoog is, n ((n-1) / 2), voor 5 routers zijn het 10 combinaties, voor 10 routers 45","network.inter.req.button":"Scan","network.full.req.header":"Volledige Energie scan","network.full.req.subtitle":"Er wordt een energierapport verstrekt. Dit rapport geeft het energieniveau tussen routers en ZiGate weer. Met andere woorden, hoeveel stroom ontvangt de co\xf6rdinator. Hoe hoger het getal, des te beter het ontvangst","network.full.req.button":"Volledige scan","network.stats.detail.visu.header":"Energieniveau","network.stats.detail.visu.subtitle":"Hoe hoger het nummer is, des te meer storing (0 tot 255)","network.stats.detail.visu.totaltx":"Tx : ","network.stats.detail.visu.totalfail":"Mislukt : ","network.stats.detail.visu.chart.title":"Energieniveau","network.stats.detail.visu.chart.y-axis":"Energieniveau","network.stats.detail.visu.chart.x-axis":"Kanaal","admin":"Admin","admin.pairing":"Koppelen","admin.permittojoin.label":"Accepteer nieuwe hardware","admin.permittojoin.on.notify":"Accepteer nieuwe hardware Aan","admin.permittojoin.off.notify":"Accepteer nieuwe hardware Uit","admin.assistprovisionning.title":"Apparaat koppelen","admin.assistprovisionning.subtitle":"Start het koppelproces voor nieuwe apparaten ","admin.assistprovisionning.go.button":"Start","admin.assistprovisionning.alert.title":"Apparaat koppelen.","admin.assistprovisionning.alert.subject":"Wacht tot een nieuw apparaat zich aanmeld.","admin.assistprovisionning.alert.state":"Status : ","admin.assistprovisionning.alert.description":"Beschrijving : ","admin.assistprovisionning.alert.nwkid":"korte NwkId : ","admin.assistprovisionning.alert.ieee":"IEEE : ","admin.assistprovisionning.alert.widgets":"Widget Lijst : ","admin.assistprovisionning.alert.cancel":"Annuleer","admin.assistprovisionning.alert.ep":"Eindpunt:","admin.assistprovisionning.alert.cluster":"ClusterId","admin.assistprovisionning.alert.profile":"Profiel :","admin.assistprovisionning.alert.device":"Apparaat :","admin.assistprovisionning.alert.model":"Model :","admin.assistprovisionning.alert.plugincertified":"Plugin Certificaat","admin.assistprovisionning.alert.Failed":"Mislukt (Er ging wat mis, controleer het logoboek)","admin.assistprovisionning.alert.inDB":"Gelukt (controleer of de apparaten zijn gemaakt)","admin.assistprovisionning.alert.Unexpected":"Onverwacht probleem (Neem contact op met de support)","admin.permittojoin.title":"Accepteer nieuwe Hardware voor een bepaalde tijd","admin.permittojoin.subtitle":"In/uitschakelen van het co\xf6rdinator koppelproces voor gewenste een periode ","admin.permittojoin.validate.button":"Valideer","admin.permittojoin.permanent.button":"Permanent","admin.permittojoin.permanent.notify":"Permanente Pairing mode","admin.permittojoin.stop.button":"Stop","admin.permittojoin.stop.notify":"Pairing modem Uit","admin.permittojoin.4min.button":"4 minuten","admin.permittojoin.4min.notify":"Pairing mode aan voor 4 minuten","admin.permittojoin.notify":"Pairing mode gewijzigd","admin.permittojoinrouter.title":"Koppel nieuwe apparaten op een router","admin.permittojoinrouter.subtitle":"Start/stop het koppelproces met co\xf6rdinator voor een bepaalde periode ","admin.permittojoinrouter.devices.placeholder":"Lijst van routers","admin.fullreset.title":"Bereid een apparaat voor op een hard reset","admin.fullreset.subtitle":"Als je een reset geeft op een object dat de plug-in kent, de plug-in gebruikt zijn vorige informatie. Met een volledige reset, als je een reset op een object doet, de plug-in cre\xebert alle informatie opnieuw.","admin.fullreset.device.placeholder":"Selecteer een apparaat","admin.fullreset.button":"Reset methode","admin.fullreset.notify":"Reset methode geactiveerd","admin.recreate.title":"Cre\xeber een widget(s) opnieuw","admin.recreate.subtitle":"Cre\xeber de widget opnieuw","admin.recreate.device.placeholder":"Selecteer een apparaat","admin.recreate.button":"Cre\xeber widget(s) opnieuw","admin.recreate.notify":"Opnieuw cre\xebren van widget(s) gestart","admin.group":"Groep","admin.rescan.group.title":"Scan alle apparaten op groepslidmaatschappen","admin.rescan.group.subtitle":"Start een scan van alle apparaten op groepslidmaatschappen
Het resultaat wordt zichtbaar in het group management menu.","admin.rescan.group.button":"Volledige scan","admin.scan.group.device.title":"Scan een selectie van apparaten voor groepslidmaatschappen","admin.scan.group.device.subtitle":"Start een scan van groepslidmaatschappen voor de geselecteerde apparaten
Je kan \xe9\xe9n of meerdere apparaten selecteren en het resultaat wordt zichtbaar in het groep management menu.","admin.scan.group.device.button":"Scan","admin.scan.group.device.placeholder":"Selecteer te scannen apparaten","admin.coordinator":"Co\xf6rdinator","admin.coordinator.swreset.title":"Co\xf6rdinator reset","admin.coordinator.swreset.subtitle":"Co\xf6rdinator wordt ge herstart (Er gaan geen gekoppelde apparaten verloren) ","admin.coordinator.swreset.button":"Zachte reset","admin.coordinator.swreset.notify":"Co\xf6rdinator herstart begonnen","admin.coordinator.switchchannel.title":"Co\xf6rdinator wijzig kanaal","admin.coordinator.switchchannel.subtitle":"Zal het kanaal wijzigen in de geselecteerde, en zal het kanaal verzenden naar het apparaat. Attentie, normaal veranderen routers naar het nieuwe kanaal, none Zigbee 3.0 apparaten doen dat niet en hebben een reset nodig.","admin.coordinator.switchchannel.placeholder":"Co\xf6rdinator kanaal (0 default)","admin.coordinator.switchchannel.button":"Wijzig kanaal","admin.coordinator.switchchannel.notify":"Kanaal wijziging gestart","admin.erasepdm.title":"Wis ZiGate","admin.erasepdm.subtitle":"Zal alle permanente data verwijderen uit het geheugen van ZiGate (Alle gekoppelde apparaten worden gewist). Zorg ervoor dat je wis ZiGatePDM hebt ingeschakeld in geavanceerde instellingen voor dat je deze bewerking uitvoert.","admin.erasepdm.button":"Verwijderen","admin.erasepdm.notify":"ErasePdm ZiGate gestart","admin.erasepdm.alert.title":"Wis ZiGate, weet je het zeker?","admin.erasepdm.alert.subject":"ATTENTIE, laatste kans !!!!!","admin.erasepdm.alert.cancel":"Annuleer","admin.erasepdm.alert.erase":"Verwijderen","admin.plugin":"Plug-in","admin.plugin.reload.title":"Herstart plug-in","admin.plugin.reload.subtitle":"Zal de plug-in herstarten ","admin.plugin.reload.button":"Herstart","admin.plugin.reload.notify":"Plug-in herstarten","admin.plugin.reload.port":"Poort","admin.plugin.reload.username":"Gebruikersnaam","admin.plugin.reload.password":"Wachtwoord","admin.plugin.reload.host":"Hostnaam","admin.plugin.reload.protocol":"Protocol","admin.plugin.reload.alert.title":"Plug-in herstarten, Weet je het zeker ?","admin.plugin.reload.alert.subject":"ATTENTIE, laatste kans !!!!!","admin.plugin.reload.alert.cancel":"Annuleer","admin.plugin.reload.alert.erase":"Herstart","admin.plugin.update.title":"Plugin update","admin.plugin.update.subtitle":"Update de plugin naar de meeste recente versie. Als de update gelukt is, word er gevraagd de plugin te herstarten, anders moet je handmatig updaten.","admin.plugin.update.button":"upgrade plugin (dit kan enkele minuten duren)","admin.plugin.update.success":"Je kunt de plugin nu herstarten","admin.plugin.update.error":"Controleer de log file, en pas eventueel handmatig aan","admin.firmware":"Firmware","admin.firmware.title":"Apparaten firmware","admin.firmware.subtitle":"Update apparaat firmware ","admin.firmware.button.update":"Update","admin.firmware.notify":"Updating firmware","admin.firmware.list":"lijst beschikbare firmware","admin.firmware.manufacturer.list":"lijst van leveranciers","admin.firmware.devices.list":"Lijst van apparaten","admin.firmware.force":"Forceer update","admin.firmware.alert.title":"Titel waarschuwing","admin.firmware.alert.subject":"Onderwerp waarschuwing","admin.firmware.alert.ok":"update","admin.firmware.alert.cancel":"Annuleer","admin.firmware.alert.list.devices":"Lijst van apparaten","admin.firmware.alert.filename":"bestandsnaam","admin.firmware.alert.device":"Apparaat","admin.firmware.alert.brand":"Merk","settings":"Instellingen","setting.header":"Instellingen","setting.subtitle":"Hier kunt u verschillende plug-in instellingen wijzigen
Sommige wijzigingen vereisen mogelijk een herstart van de plug-in.","setting.validate.button":"Valideer","setting.reinit.button":"Instellingen (standaard)","setting.advanced.button":"Geavanceerde instellingen","setting.normal.button":"Normale instellingen","setting.help.link":" Informatie over de instellingen vind je in de WIKI","setting.help.legend":"Dit zijn alle instellingen van de plugin die je kan wijzigen.","setting.header.Services":"Beschikbare services","setting.subtitle.Services":"Activeer hier de beschikbare services","useDomoticzLog":"Gebruik Domoticz Log","enablegroupmanagement":"Aanzetten Groepen","zigatePartOfGroup0000":"Cre\xeber Groep 0000","allowRemoveZigateDevice":"Verwijderen van co\xf6rdinator","resetPermit2Join":"Reset na een herstart toestaan","forcePollingAfterAction":"Krijg apparaten status na actie","enableReadAttributes":"Polling Aanzetten","blueLedOnOff":"Schakel co\xf6rdinator Blue Led aan","setting.reloadplugin.alert.title":"Plug-in herstart","setting.reloadplugin.alert.subject":"De instellingen zijn bijgewerkt, de plug-in moet opnieuw worden opgestart","setting.reloadplugin.alert.cancel":"Sluiten","setting.resetplugin.alert.title":"Coordinator Reset","setting.resetplugin.alert.subject":"Instellingen zijn geupdate, coordinator heeft een reset nodig. (meestal hebben alle apparaten een rapair nodig)","setting.resetplugin.alert.cancel":"Sluiten","setting.eraseplugin.alert.title":"Wis PDM","setting.eraseplugin.alert.subject":"Instellingen zijn geupadate, PDM heeft een reset nodig. (alle apparaten moeten opnieuwe gepaird worden)","setting.eraseplugin.alert.cancel":"Afsluiten","Ping":"Activeer Ping","setting.header.DomoticzEnvironment":"Domoticz URL","setting.subtitle.DomoticzEnvironment":"Instelling voor toegang tot Domoticz API","setting.header.WebInterface":"Web Interface instellingen","setting.subtitle.WebInterface":"Maakt het mogelijk om de Web UI aan / uit te schakelen","enableWebServer":"Schakel web User Interface in","setting.header.DeviceManagement":"Instellingen voor apparaat beheer","setting.subtitle.DeviceManagement":"Hier zijn alle instellingen met betrekking tot Apparaten en hoe co\xf6rdinator ermee omgaat","setting.header.CoordinatorConfiguration":"Coordinator Instellingen","setting.subtitle.CoordinatorConfiguration":"Instellingen met betrekking tot de Coordinator-hardware.","setting.header.OverTheAirUpgrade":"Over The Air Upgrade-instellingen","setting.subtitle.OverTheAirUpgrade":"Alle instellingen met betrekking tot de Over The Air upgrade-functionaliteit.","allowOTA":"Aanzetten OTA","setting.header.Legrand":"Legrand Netatmo instellingen","setting.subtitle.Legrand":"Allow to set a number of Legrand specifics options","setting.header.Schneider_Wiser":"Schneider Wiser instellingen","setting.subtitle.Schneider_Wiser":"Allow to enable some specific mecanishm, and some other options","internetAccess":"Internettoegang toestaan","batteryOTA":"OTA toestaan voor apparaten op batterijen","waitingOTA":"Vertraag het starten van het OTA-proces","setting.header.GroupManagement":"Groepsmanagement instellingen","setting.subtitle.GroupManagement":"Instellingen om de Groepsbeheerfunctie in te schakelen en te configureren.","OnIfOneOn":"Groep is aan wanneer \xe9\xe9n apparaat aan is (Anders moeten alle apparaten aan zijn)","setting.header.PluginConfiguration":"Plugin omgevingsinstellingen","setting.subtitle.PluginConfiguration":"Alle instellingen voor Plugin-omgeving","numDeviceListVersion":"Hoeveel regels Apparaatlijst-geschiedenis behouden","setting.header.Others":"Overige instellingen","setting.header.Provisioning":"Paring instellingen","setting.subtitle.Provisioning":"Speciale instellingen voor specialing apparaten en condities","setting.header.DevicePolling":"Backend error","setting.subtitle.DevicePolling":"Hiermee kunt u de polling-frequentie opgeven per type informatie. Houd er rekening dat wanneer de co\xf6rdinator een hoge overvraagt wordt er mogelijk knelpunten ontstaan","setting.subtitle.Others":"","logLQI":"Vertraging voordat een Topologiescan wordt gestart (sec)","networkScan":"Frequentie van storingsrapport (sec)","setting.header.CommandTransition":"Experimentele parameters","setting.subtitle.CommandTransition":"Group Overgangstijden voor apparaat commando\'s","moveToHueSatu":"Transition for Hue","moveToColourTemp":"Transition for Color Temp","moveToColourRGB":"Transition for RGB color","moveToLevel":"Transition for Move to Level","setting.header.Experimental":"Experimentele parameters","setting.subtitle.Experimental":"Alleen gebruiken wanneer hier naar wordt gevraagd","api.global.error.notify":"foutmelding","api.global.succes.scanlaunched.notify":"analyseren gestart","api.global.succes.commandsent.notify":"Commando verzonden","api.global.succes.saved.notify":"Opgeslagen","setting.header.OTA":"Apparaat firmware update Over-The-Air","setting.subtitle.OTA":"Parameters hoe je de Over-The-Air update configuratie wilt laten verlopen.","IkeaTradfri_Repository":"IKEA-TRADFRI Oficiele repository","ZigbeeOTA_Repository":"Zigbee OTA firmware (opgebouwd door de internet communitie)","autoServeOTA":"Sta automatische update toe, wanneer er nieuwe firmeware is gevonden.","checkFirmwareAgainstZigbeeOTARepository":"Controleer of er firmware beschikbaar is in de repository","DomoticzCustomMenu":"Aanzetten Plugin WebUI vanuit het Domoticz Custom menu","NightShift":"Push achtergrond activiteit van 23:00 tot 6:00 uur","ConfigureReportingChunk":"Maximale nummers van attributen, wanneer configuratie rapport","ReadAttributeChunk":"Maximale nummers van attributen wanneer attributen gelezen ","resetConfigureReporting":"Reset alle bestaande configuraties van het rapport","resetReadAttributes":"Reset alle attributen die gelezen zijn","TopologyV2":"Network Topology gebasserd op routing en neighbourghs tables","autoBackup":"Automatische backup van de coordinator","BackupFullDevices":"backup apparaten informatie","BellowsNoMoreEndDeviceChildren":"Schakel direct pairen uit van Coordinator","BellowsSourceRouting":"Zet aan Zigbee Source routing mechanisme","pingDevices":"Ping main-powered apparaten regelmatig om te verifi\xebren of ze gezond zijn.","GroupOnBattery":"Zet aan groep creeren voor batterij apparaten","deviceOffWhenTimeOut":"Schakel schakelaar uit wanneer buiten netwerk","checkConfigurationReporting":"Controleer het apparaat report configuratie regelmatig","TXpower_set":"Coordinator transmissie power level","pingDevicesFeq":"Frequentie van regelmatig ping main-powered apparaten","GrpfadingOff":"Dimmer-modus","GrpmoveToColourRGB":"Overangstijd voor RGB kleur","GrpmoveToColourTemp":"Overangstijd voor TEMP kleur","GrpmoveToLevel":"Overangstijd voor dim positie naar een andere","enableSchneiderWiser":"Inschakelen wanneer je veroudere Wiser apparaten hebt.","LegrandCompatibilityMode":"Inschakelen om een Legrand Netamo Hub te simuleren","AqaraOppleBulbMode":"Inschakelen om een Aqara Opple remote, commandos direct naar het apparaat te sturen.","forceClosingAllNodes":"Inschakelen om pairing mode af te sluiten in elke router","extendedPANID":"Zigbee Extended PAN Identifier","allowReBindingClusters":"Enable re-binding clusters during configure reporting operations","doUnbindBind":"Unbind and then bind, when doing a binding operation","PluginAnalytics":"Schakel de plugin in, en om cookies te gebruiken, om informatie te verzamelen, over de coordinator, en de apparten die gebruikt worden.","MatomoOptIn":"Schakel de plugin in, en om cookies te gebruiken, om informatie te verzamelen, over de coordinator, en de apparten die gebruikt worden.","autoRestore":"Automatisch gebruik de meest recente coordinator backup, als een lege is gevonden.","forceSwitchSelectorPushButton":"Zet de selector switch eerst op \'off\' wanneer dezelfde status wordt geselecteerd. (Workaround voor Domoticz issue #4143)","resetSwitchSelectorPushButton":"Aantal seconden totdat de schakalaar uit gaat","setting.header.ManufSpecifiqDevicePolling":"Specifieke Polling","setting.subtitle.ManufSpecifiqDevicePolling":"0 stands for disable otherwise it indicates the polling frequency in seconds, For Manufacturer Specific it will allow to retreive device states whcih are not provided automatically by the device","setting.header.Zigpy":"Zigpy CIE specifieke configuratie","setting.subtitle.Zigpy":"Specific to some CIE as ConBeeII and RasBeeII it might required to enable some CIE specific item for some brand","resetMotiondelay":"Vertaging in seconden om motion te detecteren","Certification":"Certification ( FCC or CE )","channel":"Co\xf6rdinator kanaal (standaard 0)","alarmDuration":"tijd in seconden voor duur van alarm","vibrationAqarasensitivity":"Aqara Vibratie gevoeligheid","TradfriKelvinStep":"stappen voor kelvin Tradfri afstandsbediening","numTopologyReports":"Aantal topologie rapporten opgeslagen","numEnergyReports":"Aantal opgeslagen storingsrapporten","PowerOn_OnOff":"Na stroomuitval herstel status apparaat","logDeviceUpdate":"Schakel updaten apparaat bericht in log","capturePairingInfos":"Sla pairing informatie op in reports folder","error_required":"Benodigd","ForceAPSAck":"Force APS Ack to ZCL and ZDP commands","zigpySourceRouting":"Enable Zigbee Source routing (plugin)","reenforcementWiser":"Enable reenforcement messages (legacy Wiser only)","forcePassiveWidget":"Allow Domoticz actions on Widgets from remote devices","tools":"Gereedschappen","tools.tools":"Gereedschappen","tools.tools.export":"Exporteer","tools.tools.zdevice-raw.button":"Plugin onbewerkte apparaten","tools.tools.non-optimized.button":"Niet geoptimaliseerde apparaten","tools.tools.zgroup.button":"Plugin Groepen","tools.tools.zdevice.button":"Plugin apparaten","tools.tools.device.button":"Domoticz Widgets","tools.tools.log.button":"Plug-in informatie","tools.tools.infos.plugin.button":"Plug-in informatie","tools.tools.coordinator.infos.button":"Co\xf6rdinator informatie","tools.tools.plugin-health.button":"Plugin gezondheid","tools.tools.zdevice-name.button":"zApparaat-naam","tools.tools.domoticz-env.button":"domoticz-env","tools.tools.battery-state.button":"Battery State","tools.tools.zgroup-list-available-device.button":"zGroep-lst-apparaten","tools.tools.settings.button":"Instellingen","tools.tools.plugin-stat.button":"Verkeer","tools.command":"Commando","tools.debugcommand.title":"Verstuur commando","tools.debugcommand.subtitle":"Verstuur een commando naar een apparaat
(1) Selecteer het apparaat,
(2) Selecteer het commando,
(3) Selecteer het apparaat type. Dit beinvloed de manier hoe er met het apparaat wordt gecommuniceerd,
(4) Geef een waarde in of selecteer een kleur (optioneel)","tools.debugcommand.device":"Kies apparaat","tools.debugcommand.button.cancel":"Annuleer","tools.debugcommand.action":"Kies Actie","tools.debugcommand.type":"Kies type","tools.debugcommand.value":"Waarde","tools.debugcommand.level.error":"tussen 0 en 100","tools.debugcommand.effect.error":"tussen 0x00 tot 0xff","tools.debugcommand.button.send":"Verzenden","tools.rawcommand-zigate.title":"ZiGate commando (raw)","tools.rawcommand-zigate.subtitle":"Sta Zigate toe om een commando direct naar the co\xf6rdinator te sturen.
Je moeten deze link volgen the ZiGate protocol .","tools.rawcommand-zigate.command":"Berichten RAW type","tools.rawcommand-zigate.error":"Invoer verplicht","tools.rawcommand-zigate.payload":"Data","tools.rawcommand-zigate.button.send":"Bevestig","tools.rawcommand-zigpy.title":"ZigBee commando","tools.rawcommand-zigpy.subtitle":"Sta Zigate toe om een commando direct naar the co\xf6rdinator te sturen.","tools.rawcommand-zigpy.placeholder":"Selecteer een apparaat","tools.rawcommand-zigpy.groupaddressflag":"GroupAddressFlag","tools.rawcommand-zigpy.ackmode":"AckMode","tools.rawcommand-zigpy.profileid":"ProfileId","tools.rawcommand-zigpy.clusterid":"ClusterId","tools.rawcommand-zigpy.sourceep":"SourceEp","tools.rawcommand-zigpy.targetep":"TargetEp","tools.rawcommand-zigpy.sqn":"Sqn","tools.rawcommand-zigpy.payload":"Data","tools.rawcommand-zigpy.button.send":"Bevestig","tools.reporting.configure":"Configureer overzicht","tools.reporting.configure.title":"Configureer overzicht instellingen","tools.reporting.configure.subtitle":"Configure a device to automatically report the values of one or more of its attributes, or to receive such reports.
The minimum reporting interval field is 16 bits in length and SHALL contain the minimum interval, in seconds, between issuing reports of the specified attribute.
The maximum reporting interval field is 16 bits in length and SHALL contain the maximum interval, in seconds, between issuing reports of the specified attribute.
The reportable change field SHALL contain the minimum change to the attribute that will result in a report being issued. This field is of variable length.
For attributes with \'analog\' data type (see 2.6.2), the field has the same data type as the attribute. The sign (if any) of the reportable change field is ignored.","tools.reporting.configure.trigger.button":"Trigger","tools.reporting.configure.reset.button":"Reset","tools.reporting.configure.validate.button":"Valideer","tools.reporting.configure.device":"Selecteer een apparaat","tools.reporting.configure.clusterId.column":"Cluster id","tools.reporting.configure.attributeId.column":"Attribuut id","tools.reporting.configure.dataType.column":"Datatype","tools.reporting.configure.timeout.column":"Timeout","tools.reporting.configure.minInterval.column":"min interval (secondes)","tools.reporting.configure.maxInterval.column":"max interval (secondes)","tools.reporting.configure.change.column":"wijzig","tools.reporting.configure.hexa.error":"niet een hexadecimaal getal","tools.reporting.configure.length.error":"niet een verwacht getal","tools.binding":"Verbinding","tools.binding.title":"Verbindingstitel","tools.binding.subtitle":"Sta toe om een \u200b\u200bgroep te binden tussen bron- en doelapparaat
e.g. If you want to bind a Temperature sensor with an Actuator, the SourceIEEE/Ep will be the Temperature sensor, the DestIEEE/Ep will be the actuator and the Cluster will be 0402 (Temperature Measurement)","tools.binding.sourceIeee":"bron IEEE","tools.binding.error":"Invoer verplicht","tools.binding.sourceEp":"Selecteer bron apparaat","tools.binding.destIeee":"Dest IEEE","tools.binding.destEp":"Selecteer doel apparaat","tools.binding.cluster":"Cluster","tools.binding.button.put":"Binding verzenden","tools.unbinding.button.put":"Unbinding","tools.debug":"Debug","setting.header.VerboseLogging":"Verbose en Loggen","setting.subtitle.VerboseLogging":"Hiermee kunt u sommige Logging-functies in- of uitschakelen ","tools.debugsetting.help.legend":"Logging and debuging, use advanced to get access to the Debug parameters","tools.debugsetting.advanced.button":"Geavanceerde instellingen","tools.debugsetting.normal.button":"Normale instellingen","tools.debugsetting.validate.button":"Plug-in herstart","tools.debugsetting.reinit.button":"Instellingen (standaard)","tools.debugsetting.reloadplugin.alert.title":"Plugin herladen","tools.debugsetting.reloadplugin.alert.subject":"De instellingen zijn bijgewerkt, de plugin moet opnieuw worden opgestart","tools.debugsetting.reloadplugin.alert.cancel":"Sluiten","tools.error":"foutmelding(en)","tools.error.log-history.button":"Log foutengeschiedenis (json)","tools.error.log-history.clear":"Log verwijderen","error.popover.title":"foutmeldingen gedetecteerd","error.popover.text":"Klik om het log te zien","manufacturer":"Fabrikant","manufacturer.casaia":"Casa.ia","manufacturer.casaia.header":"titel","manufacturer.casaia.subtitle":"ondertitel","manufacturer.casaia.placeholder":"tijdelijke aanduiding","manufacturer.casaia.nwkid":"nwkid","manufacturer.casaia.name":"naam","manufacturer.casaia.ieee":"ieee","manufacturer.casaia.model":"model","manufacturer.casaia.ircode":"ircode","manufacturer.casaia.validate.button":"valideer","manufacturer.zlinky.header":"Le Zlinky","manufacturer.zlinky.subtitle":"Liste les donn\xe9es r\xe9cup\xe9r\xe9es par le Zlinky s\xe9lectionn\xe9,","manufacturer.zlinky.placeholder":"Select Zlinky device","manufacturer.zlinky.key":"Designation","manufacturer.zlinky.value":"Value","manufacturer.zlinky.DateCode":"Code date","manufacturer.zlinky.SWBuildID":"SWBuildID","manufacturer.zlinky.ADC0":"Serial Number","manufacturer.zlinky.BASE":"Index Base","manufacturer.zlinky.OPTARIF":"Option tarifaire","manufacturer.zlinky.ISOUSC":"Intensit\xe9 souscrite","manufacturer.zlinky.HCHC":"Index HCHC","manufacturer.zlinky.HCHP":"Index HCHP","manufacturer.zlinky.EJPHN":"Index EJPHN","manufacturer.zlinky.EJPHPM":"Index EJPHPM","manufacturer.zlinky.BBRHCJB":"Index BBRHCJB","manufacturer.zlinky.BBRHPJB":"Index BBRHPJB","manufacturer.zlinky.BBRHCJW":"Index BBRHCJW","manufacturer.zlinky.BBRHPJW":"Index BBRHPJW","manufacturer.zlinky.BBRHCJR":"Index BBRHCJR","manufacturer.zlinky.BBRHPJR":"Index BBRHPJR","manufacturer.zlinky.IINST":"Courant efficace","manufacturer.zlinky.IINST1":"Courant efficace phase 1","manufacturer.zlinky.IINST2":"Courant efficace phase 2","manufacturer.zlinky.IINST3":"Courant efficace phase 3","manufacturer.zlinky.IMAX":"Intensit\xe9 maximale","manufacturer.zlinky.IMAX1":"Intensit\xe9 maximale phase 1","manufacturer.zlinky.IMAX2":"Intensit\xe9 maximale phase 2","manufacturer.zlinky.IMAX3":"Intensit\xe9 maximale phase 3","manufacturer.zlinky.PMAX":"Puissance maximale triphas\xe9e atteinte","manufacturer.zlinky.PAPP":"Puissance apparente","manufacturer.zlinky.PTEC":"P\xe9riode tarifaire en cours","manufacturer.zlinky.DEMAIN":"Couleur du lendemain","manufacturer.zlinky.HHPHC":"Horaire Heure Pleines Heures Creuses","manufacturer.zlinky.PPOT":"Pr\xe9sence des potentiels","manufacturer.zlinky.PEJP":"Pr\xe9avis d\xe9but EJP (30min)","manufacturer.zlinky.ADPS":"Avertissement du d\xe9passement de la puissance souscrite","manufacturer.zlinky.ADIR1":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 1","manufacturer.zlinky.ADIR2":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 2","manufacturer.zlinky.ADIR3":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 3","manufacturer.zlinky.ADSC":"Adresse Secondaire du Compteur","manufacturer.zlinky.NGTF":"Nom du calendrier tarifaire fournisseur","manufacturer.zlinky.LTARF":"Libell\xe9 tarif fournisseur en cours","manufacturer.zlinky.NTARF":"Num\xe9ro de l\u2019index tarifaire en cours","manufacturer.zlinky.VTIC":"Version de la TIC","manufacturer.zlinky.DATE":"Date et heure courant","manufacturer.zlinky.EAST":"\xc9nergie active soutir\xe9e totale","manufacturer.zlinky.EASF01":"\xc9nergie active soutir\xe9e Fournisseur, index 01","manufacturer.zlinky.EASF02":"\xc9nergie active soutir\xe9e Fournisseur, index 02","manufacturer.zlinky.EASF03":"\xc9nergie active soutir\xe9e Fournisseur, index 03","manufacturer.zlinky.EASF04":"\xc9nergie active soutir\xe9e Fournisseur, index 04","manufacturer.zlinky.EASF05":"\xc9nergie active soutir\xe9e Fournisseur, index 05","manufacturer.zlinky.EASF06":"\xc9nergie active soutir\xe9e Fournisseur, index 06","manufacturer.zlinky.EASF07":"\xc9nergie active soutir\xe9e Fournisseur, index 07","manufacturer.zlinky.EASF08":"\xc9nergie active soutir\xe9e Fournisseur, index 08","manufacturer.zlinky.EASF09":"\xc9nergie active soutir\xe9e Fournisseur, index 09","manufacturer.zlinky.EASF10":"\xc9nergie active soutir\xe9e Fournisseur, index 10","manufacturer.zlinky.EASD01":"\xc9nergie active soutir\xe9e Distributeur, index 01","manufacturer.zlinky.EASD02":"\xc9nergie active soutir\xe9e Distributeur, index 02","manufacturer.zlinky.EASD03":"\xc9nergie active soutir\xe9e Distributeur, index 03","manufacturer.zlinky.EASD04":"\xc9nergie active soutir\xe9e Distributeur, index 04","manufacturer.zlinky.EAIT":"\xc9nergie active inject\xe9e totale","manufacturer.zlinky.ERQ1":"\xc9nergie r\xe9active Q1 total","manufacturer.zlinky.ERQ2":"\xc9nergie r\xe9active Q2 total","manufacturer.zlinky.ERQ3":"\xc9nergie r\xe9active Q3 total","manufacturer.zlinky.ERQ4":"\xc9nergie r\xe9active Q4 total","manufacturer.zlinky.IRMS1":"Courant efficace, phase 1","manufacturer.zlinky.IRMS2":"Courant efficace, phase 2","manufacturer.zlinky.IRMS3":"Courant efficace, phase 3","manufacturer.zlinky.URMS1":"Tension efficace, phase 1","manufacturer.zlinky.URMS2":"Tension efficace, phase 2","manufacturer.zlinky.URMS3":"Tension efficace, phase 3","manufacturer.zlinky.PREF":"Puissance apparente de r\xe9f\xe9rence (PREF)","manufacturer.zlinky.STGE":"Registre de Statuts","manufacturer.zlinky.PCOUP":"Puissance apparente de coupure (PCOUP)","manufacturer.zlinky.SINSTI":"Puissance apparente Instantan\xe9e inject\xe9e","manufacturer.zlinky.SMAXIN":"Puissance apparente max. inject\xe9e n","manufacturer.zlinky.SMAXIN-1":"Puissance apparente max. inject\xe9e n-1","manufacturer.zlinky.CCASN":"Point n de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCASN-1":"Point n-1 de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCAIN":"Point n de la courbe de charge active inject\xe9e","manufacturer.zlinky.CCAIN-1":"Point n-1 de la courbe de charge active inject\xe9e","manufacturer.zlinky.UMOY1":"Tension moyenne phase 1","manufacturer.zlinky.UMOY2":"Tension moyenne phase 2","manufacturer.zlinky.UMOY3":"Tension moyenne phase 3","manufacturer.zlinky.SINSTS":"Puissance apparente Instantan\xe9e soutir\xe9e","manufacturer.zlinky.SINSTS1":"Puissance apparente Instantan\xe9e soutir\xe9e phase 1","manufacturer.zlinky.SINSTS2":"Puissance apparente Instantan\xe9e soutir\xe9e phase 2","manufacturer.zlinky.SINSTS3":"Puissance apparente Instantan\xe9e soutir\xe9e phase 3","manufacturer.zlinky.SMAXN":"Puissance apparente max. soutir\xe9e n","manufacturer.zlinky.SMAXN1":"Puissance apparente max. soutir\xe9e n phase 1","manufacturer.zlinky.SMAXN2":"Puissance apparente max. soutir\xe9e n phase 2","manufacturer.zlinky.SMAXN3":"Puissance apparente max. soutir\xe9e n phase 3","manufacturer.zlinky.SMAXN-1":"Puissance apparente max. soutir\xe9e n-1","manufacturer.zlinky.SMAXN1-1":"Puissance apparente max. soutir\xe9e n-1 phase 1","manufacturer.zlinky.SMAXN2-1":"Puissance apparente max. soutir\xe9e n-1 phase 2","manufacturer.zlinky.SMAXN3-1":"Puissance apparente max. soutir\xe9e n-1 phase 3","manufacturer.zlinky.MSG1":"Message court","manufacturer.zlinky.MSG2":"Message ultra court","manufacturer.zlinky.PRM":"PRM","manufacturer.zlinky.DPM1":"D\xe9but Pointe Mobile 1","manufacturer.zlinky.FPM1":"Fin Pointe Mobile 1","manufacturer.zlinky.DPM2":"D\xe9but Pointe Mobile 2","manufacturer.zlinky.FPM2":"Fin Pointe Mobile 2","manufacturer.zlinky.DPM3":"D\xe9but Pointe Mobile 3","manufacturer.zlinky.FPM3":"Fin Pointe Mobile 3","manufacturer.zlinky.RELAIS":"Relais","manufacturer.zlinky.NJOURF":"Num\xe9ro du jour en cours calendrier fournisseur","manufacturer.zlinky.NJOURF+1":"Num\xe9ro du prochain jour calendrier fournisseur","manufacturer.zlinky.PJOURF+1":"Profil du prochain jour calendrier fournisseur","manufacturer.zlinky.PPOINTE1":"Profil du prochain jour de pointe","manufacturer.zlinky.PROTOCOL_LINKY_0":"Mode historique monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_1":"Mode standard monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_2":"Mode historique triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_3":"Mode standard triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_5":"Mode standard monophas\xe9 producteur","manufacturer.zlinky.PROTOCOL_LINKY_7":"Mode standard triphas\xe9 producteur","ZigpyTopologyReport":"Enable the use of zigpy Topology Scanner","ZigpyTopologyReportAutoBackup":"Automaticaly backup auto-triggered Topology scan"}'),w=JSON.parse('{"APP_NAME":"Interfaz de Gesti\xf3n de ZigBeeforDomoticZ","About":"Sobre","Version":"Versi\xf3n","NODATA":"no hay informaci\xf3n para mostrar","TOTAL":"Total {totalRecords}","SELECTED":"seleccionado","dashboard":"Tablero","dashboard.button.refresh":"Actualizar","dashboard.trafic.title":"Estado del plugin","dashboard.health.title":"Dispositivos del plugin","dashboard.devices.state.label":"Dispositivos conocidos por el plugin","dashboard.devices.live":"Vivo","dashboard.devices.disabled":"deshabilitado","dashboard.devices.notseen":"Sin noticias","dashboard.devices.notReachable":"Perdido","dashboard.devices.others":"Desconocido","dashboard.health.comment":"Vivo = cantidad de dispositivos activos
Perdido = cantidad de dispositivos fuera de la red
Sin noticias: cantidad de dispositivos que no han informado en las \xfaltimas 6 horas
Desconocido = cantidad de dispositivos con estado desconocido","dashboard.traffic.title":"Enviar y Recibir","dashboard.trafic.label":"Enviar / Recibir mensajes","dashboard.trafic.send":"Tx","dashboard.trafic.receive":"Rx","dashboard.traffic.comment":"Tx = n\xfamero de mensajes entrantes desde el inicio del plugin
Rx = n\xfamero de mensajes salientes desde el inicio del plugin","dashboard.trend.title":"Estad\xedsticas","dashboard.txps":"Tx/s","dashboard.rxps":"Rx/s","dashboard.txph":"Tx/h","dashboard.rxph":"Rx/h","dashboard.load":"Load","dashboard.trend.comment":"Tx/s = cantidad de mensajes enviados por segundo
Rx/s = cantidad de mensajes recibidos por segundo
Load = cantidad de mensajes en la cola","dashboard.trafic.maxload.label":"Carga","dashboard.trafic.maxload":"Pico","dashboard.trafic.currentload":"Actual","dashboard.trend.chart.yaxis":"mensaje(s)","dashboard.devices.title":"Estado de los dispositivosno desactivados","dashboard.device.title":"tipo de dispositivos","dashboard.devices.label":"Dispositivos","dashboard.devices.routers":"Enrutadores","dashboard.devices.enddevice":"Dispositivos finales","dashboard.devices.comment":"Enrutadores = Dispositivos alimentados por la red que participan en el mallado de la red.
Objetos terminales = Dispositivos que no pueden participar en el mallado (frecuentemente los con bater\xeda, pero en algunos casos pueden ser alimentados por una fuente de baja potencia o sin neutral).","dashboard.battery.title":"Bater\xeda","dashboard.devices.battery.label":"Bater\xeda","dashboard.devices.battery.inf.15":"< 15%","dashboard.devices.battery.inf.35":"< 35%","dashboard.devices.battery.inf.75":"< 75%","dashboard.devices.battery.sup.75":"> 75%","dashboard.battery.comment":"Para dispositivos equipados con bater\xeda, a continuaci\xf3n se informa el estado de la bater\xeda.","dashboard.optimized.title":"Dispositivos optimizados","dashboard.optimized.comment":"Optimizado = Dispositivos para los que se ha realizado una configuraci\xf3n en el complemento.
No optimizado = Dispositivos que pueden no funcionar completamente y/o generar una carga o tr\xe1fico anormales.
M\xe1s informaci\xf3n en el wiki","dashboard.devices.optimized":"Dispositivos optimizados","dashboard.devices.not.optimized":"Dispositivos no optimizados","dashboard.devices.optimized.label":"Dispositivos","dashboard.popup.device.header":"lista de dispositivos","dashboard.popup.device.subtitle":"Esta lista esta filtrada por elemento en el que se hizo clic en el tablero.","dashboard.popup.device.button.close":"Cerrar","dashboard.health.starttime":"Empieza en ","dashboard.rxpm":"Rx/m","dashboard.txpm":"Tx/m","dashboard.maxload":"MaxLoad","dashboard.plugin.version":"Plugin: ","dashboard.plugin.update.available":"Hay una actualizaci\xf3n disponible para el plugin M\xe1s informaci\xf3n.
Plugin upgrade","dashboard.plugin.update.available.title":"Actualizaci\xf3n del plugin","dashboard.firmware.version":"Firmware: ","dashboard.firmware.update.available":"Hay una actualizaci\xf3n disponible para el firware M\xe1s informaci\xf3n","dashboard.firmware.update.available.title":"Actualizaci\xf3n del firware","dashboard.device.button":"DomoticZ Devices(json)","dashboard.plugin.header":"Informaci\xf3n sobre plugin","dashboard.plugin.subtitle":"Proporciona informaci\xf3n sobre el plugin","dashboard.stats.header":"Estad\xedsticas del plugins","dashboard.stats.subtitle":"Proporciona estad\xedsticas de coordinador en t\xe9rminos de transmisi\xf3n y recepci\xf3n de mensajes","dashboard.zdevice.button":"Dispositivos del plugin (json)","dashboard.zgroup.button":"Groupos del Plugin (json)","dashboard.coordinator.header":"Informaci\xf3n de Coordinador","dashboard.coordinator.subtitle":"Proporciona informaci\xf3n de Coordinador","dashboard.health.OTA":"OTA: ","dashboard.health.group":"Groupo: ","dashboard.devices.indb":"En Db","consent.banner.header":"Consentimiento","consent.banner.description":"Para mejorar nuestro desarrollo y centrarnos en los puntos que se necesita, utilizamos una t\xe9cnica de cookies y, con su consentimiento, recopilaremos principalmente la versi\xf3n del plugin, el modelo y marca del coordinador, la versi\xf3n del firmware y los datos de la red (como cantidad de enrutadores y dispositivos terminales).
D\xe9 su consentimiento seleccionando \'Permitir\' o \'No permitir\'. Si desea cambiar su elecci\xf3n, puede hacerlo a trav\xe9s del men\xfa Configuraci\xf3n.
M\xe1s informaci\xf3n en la wiki.","consent.banner.accept":"Aceptar","consent.banner.decline":"Rechazar","management":"Gesti\xf3n","device":"Gesti\xf3n de dispositivos","device.byname.subtitle":"Enumere todos los dispositivos HW emparejados con el plugin, y le permite ingresar un nombre descriptivo para cada dispositivo.
Muestra el nombre amigable del dispositivo en la secci\xf3n de red en lugar de un c\xf3digo de cuatro d\xedgitos.
Los objetos marcados en naranja no son optimizado con el plugin. Por favor sigue el procedimiento en el wiki,","device.byname.capabilities.column":"Capacidades","device.byname.devicename.column":"Nombre amigable","device.byname.header":"Administraci\xf3n de objetos","device.byname.trash.column":"Eliminar","device.byname.optimized.column":"Optimizado","device.byname.health.column":"Salud","device.byname.battery.column":"Bater\xeda","device.byname.ieee.column":"IEEE","device.byname.model.column":"Modelo","device.byname.devicename.param":"Par\xe1metros","device.byname.devicename.enabled":"Dispositivo activo","device.byname.placeholder":"Escriba filtro aqu\xed ....","device.byname.shortid.column":"Id corta","device.byname.status.column":"Estado","device.byname.lqi.column":"LQI","device.byname.rssi.column":"RSSI","device.byname.validate.button":"Validar","device.byname.widget.column":"Domoticz Widget","device.byname.alert.title":"Eliminar dispositivo ?","device.byname.alert.subject":"Estas seguro ?","device.byname.alert.delete":"Eliminar","device.byname.alert.cancel":"Anular","device.byname.error.notify":"Por favor, utilice el interruptor \'Activar\'","device.byname.parameter.alert.save":"Validar","device.byname.parameter.alert.cancel":"Anular","device.byname.parameter.alert.title":"Par\xe1metros","device.byname.parameter.alert.subject":"Configurar par\xe1metros espec\xedficos ","device.byname.parameter.popover.title":"Device Parameters","device.byname.parameter.popover.text":"Specify local device configuration parameters. Green means in sync with the device, when Orange the parameters are not yet pushed to the device","device.byname.delete.colum":"Eliminar","device.byname.optimized.popover.title.ok":"El dispositivo est\xe1 optimizado con el plugin","device.byname.optimized.popover.text.ok":"Haga clic en el icono para copiar la informaci\xf3n del dispositivo","device.byname.optimized.popover.title.ko":"El dispositivo no est\xe1 optimizado con el plugin","device.byname.optimized.popover.text.ko":"Haga clic en el icono para copiar la informaci\xf3n del dispositivo","group":"Gesti\xf3n de grupos","group.create.devices.column":"Dispositivos seleccionados en el grupo","group.create.groupname.column":"Nombre del grupo","group.create.header":"Gesti\xf3n de grupos","group.create.placeholder":"Escriba filtro aqu\xed ....","group.create.shortid.column":"Id del grupo","group.create.subtitle":"Permitir editar, crear y eliminar grupos
Aplique los cambios y luego actualice la p\xe1gina para confirmar que los cambios se han realizado. No hagas todos los cambios a la vez, prefieres hacerlo paso a paso con peque\xf1os cambios","group.create.validate.button":"Validar","group.create.add.button":"Agregar un grupo nuevo","group.create.delete.button":"Eliminar","group.create.coordinator.column":"Coordinador (en el grupo)","group.reloadplugin.alert.title":"Recarga del plugin","group.reloadplugin.alert.subject":"Los grupos se han actualizado, el plugin debe ser reiniciado","group.reloadplugin.alert.cancel":"Cerrar","header.popover.title":"Reinicio necesario","header.popover.text":"Algunos cambios est\xe1n pendientes, es necesario reiniciar el plugin","network":"Red","network.topo":"Topolog\xeda","network.topo.header":"Topolog\xeda de la red","network.topo.subtitle":"Lista de topolog\xeda de red. Seleccione uno para obtener el diagrama de malla ","network.topo.visu.header":"Diagrama de topolog\xeda","network.topo.visu.subtitle":"El diagrama de topolog\xeda muestra todos los enlaces entre 2 nodos. Si deja el cursor en un enlace, ver\xe1 la direcci\xf3n del enlace, as\xed como la calidad del enlace.","network.topo.visu.network.header":"Gr\xe1fico de red","network.topo.visu.network.subtitle":"Dibujar\xe1 un gr\xe1fico de red de su entorno Zigbee.","network.topo.visu.network.filter":"Nombre del nodo para filtrar","network.topo.device.visu.network.chart.title":"Gr\xe1fico de red","network.topo.visu.delete.button":"Eliminar","network.topo.device.batterylevel.column":"Bater\xeda","network.topo.device.deviceid.column":"Id del dispositivo","network.topo.device.id.column":"Id","network.topo.device.nvalue.column":"nValue","network.topo.device.signalelevel.column":"Signal","network.topo.device.svalue.column":"sValue","network.topo.device.switchtype.column":"Switch","network.topo.device.timedout.column":"Timeout","network.topo.device.type.column":"Tipo","network.topo.device.name.column":"Nombre","network.topo.device.visu.header":"Lista de dispositivos","network.topo.device.visu.subtitle":"Proporciona la lista de dispositivos gestionados por coordinador. Tambi\xe9n obtendr\xe1 una referencia a los nombres de los widgets y otra informaci\xf3n de Domoticz","network.topo.device.visu.chart.title":"Diagrama de malla","network.topology.req.header":"Escaneo de topolog\xeda","network.topology.req.subtitle":"Esto activar\xe1 un escaneo de topolog\xeda, que se ejecutar\xe1 en segundo plano.","network.topology.req.button":"Escanear","network.topo.visu.network.relation.header":"Lista de objetos vinculados de {{deviceSelected}}","network.topo.visu.network.relation.subtitle":"La matriz muestra el valor LQI entre el objeto seleccionado y todos sus objetos vinculados.","network.topo.visu.network.relation.to":"Hijos","network.topo.visu.network.relation.weight":"LQI","network.topo.visu.network.relation.nochild":"El objeto seleccionado no tiene hijos.","network.topo.visu.network.relation.model":"Modelo","network.topo.visu.network.relation.status":"Estado","network.topo.visu.network.relation.health":"Salud","network.topo.visu.network.relation.battery":"Bater\xeda","network.energy":"Nivel de interferencia","network.stats.header":"Red","network.stats.subtitle":"Informes de nivel de interferencia ","network.stats.visu.delete.button":"Eliminar","network.inter.req.header":"Escaneo de interferencia corto","network.inter.req.subtitle":"Se proporcionar\xe1 un informe de escaneo de interferencias. Informar\xe1 el nivel de interferencia entre los routers y coordinador. Cuanto mayor sea el valor, peor ser\xe1.","network.inter.req.button":"Escanear","network.full.req.header":"Escaneo completo de interferencias","network.full.req.subtitle":"Como por el escaneo de interferencia corto, el informe proporcionar\xe1 el nivel de interferencia entre todos los routers y coordinador, manejando todas las comunicaciones cruzadas. Este informe puede tardar un poco cuando la cantidad de routers es alta, n ((n-1) / 2), para 5 routers son 10 combinaciones, para 10 routers 45","network.full.req.button":"Escanear completo","network.stats.detail.visu.header":"Nivel de interferencia","network.stats.detail.visu.subtitle":"Cuanto mayor sea el n\xfamero, m\xe1s interferencia hay (de 0 a 255).","network.stats.detail.visu.totaltx":"Tx : ","network.stats.detail.visu.totalfail":"Fall. : ","network.stats.detail.visu.chart.title":"Nivel de interferencia","network.stats.detail.visu.chart.y-axis":"Nivel de interferencia","network.stats.detail.visu.chart.x-axis":"Canal","admin":"Admin","admin.pairing":"Aprovisionamiento","admin.permittojoin.label":"Aceptar dispositivo nuevo","admin.permittojoin.on.notify":"Aceptar dispositivo nuevo On","admin.permittojoin.off.notify":"Aceptar dispositivo nuevo Off","admin.assistprovisionning.title":"Emparejar un nuevo dispositivo con el asistente","admin.assistprovisionning.subtitle":"Pondr\xe1 coordinador en modo de emparejamiento si es necesario, y luego se comunicar\xe1n los resultados de aprovisionamiento. Presiona GO y comienza a poner tu dispositivo en modo de emparejamiento ","admin.assistprovisionning.go.button":"Par","admin.assistprovisionning.alert.title":"Asistente - Esperando la inclusi\xf3n de dispositivo","admin.assistprovisionning.alert.subject":"Realice un restablecimiento en su dispositivo para iniciar un procedimiento de emparejamiento. Consulte la documentaci\xf3n del dispositivo si es necesario.","admin.assistprovisionning.alert.state":"Estado: ","admin.assistprovisionning.alert.description":"Descripci\xf3n: ","admin.assistprovisionning.alert.nwkid":"Corto NwkId: ","admin.assistprovisionning.alert.ieee":"IEEE : ","admin.assistprovisionning.alert.widgets":"Lista de widgets: ","admin.assistprovisionning.alert.cancel":"Salida","admin.assistprovisionning.alert.ep":"EndPoint: ","admin.assistprovisionning.alert.cluster":"ClusterId : ","admin.assistprovisionning.alert.profile":"Profile : ","admin.assistprovisionning.alert.device":"Dispositivo : ","admin.assistprovisionning.alert.model":"Modelo : ","admin.assistprovisionning.alert.plugincertified":"Certificaci\xf3n de plugin: ","admin.assistprovisionning.alert.Failed":"Fall\xf3 (algo sali\xf3 mal, consulte el LOG para obtener m\xe1s detalles)","admin.assistprovisionning.alert.inDB":"Exito (verifique si se han creado los widgets en Domoticz)","admin.assistprovisionning.alert.Unexpected":"Inesperado (p\xf3ngase en contacto con el SAT)","admin.permittojoin.title":"Aceptar dispositivo nuevo","admin.permittojoin.subtitle":"Habilitar/deshabilitar el proceso de emparejamiento con el coordinador por un per\xedodo de tiempo ","admin.permittojoin.validate.button":"Validar","admin.permittojoin.permanent.button":"Permanente","admin.permittojoin.permanent.notify":"Emparejamiento permanente activado","admin.permittojoin.stop.button":"Stop","admin.permittojoin.stop.notify":"Emparejamiento desactivado","admin.permittojoin.4min.button":"4 minutos","admin.permittojoin.4min.notify":"Emparejamiento activado para 4 minutos","admin.permittojoin.notify":"Modo de emparejamiento modificado","admin.permittojoinrouter.title":"Aceptar el nuevo dispositivo en el router","admin.permittojoinrouter.subtitle":"Activar/desactivar el proceso de emparejamiento con el coordinador por un per\xedodo de tiempo ","admin.permittojoinrouter.devices.placeholder":"Lista de los enrutadores","admin.fullreset.title":"Preparando el dispositivo para un reinicio completo","admin.fullreset.subtitle":"Si desea realizar un restablecimiento completo de un dispositivo aprovisionado existente en Domoticz, se recomienda indicar el complemento de dicho evento. Luego, el plugin se asegurar\xe1 de rehacer un descubrimiento completo del dispositivo y configurar\xe1 lo que se haya configurado durante el primer emparejamiento.","admin.fullreset.device.placeholder":"Seleccione un dispositivo","admin.fullreset.button":"Modo de reinicio","admin.fullreset.notify":"Modo de reinicio activado","admin.recreate.title":"Recrear widget","admin.recreate.subtitle":"Recrear widget","admin.recreate.device.placeholder":"Seleccione un dispositivo","admin.recreate.button":"Recrear widget","admin.recreate.notify":"Recrear widget iniciado","admin.group":"Groupo","admin.rescan.group.title":"Escanee todos los dispositivos para membros de grupos","admin.rescan.group.subtitle":"Escanee todos los dispositivos para membros de grupos
y el resultado estar\xe1 disponible en la gesti\xf3n del grupo","admin.rescan.group.button":"Escaneo completo","admin.scan.group.device.title":"Inicie un escaneo para cada dispositivo seleccionado para sus membros de grupos","admin.scan.group.device.subtitle":"Inicie un escaneo para cada dispositivo seleccionado para sus membros de grupos
Puede seleccionar de uno a varios y el resultado estar\xe1 disponible en la gesti\xf3n de grupos.","admin.scan.group.device.button":"Escanear","admin.scan.group.device.placeholder":"Seleccione el o los dispositivos a escanear","admin.coordinator":"Coordinador","admin.coordinator.swreset.title":"Reinicio del software de coordinador","admin.coordinator.swreset.subtitle":"Reiniciar\xe1 el coordinador (sin p\xe9rdida de dispositivos emparejados) ","admin.coordinator.swreset.button":"Reinicio del software","admin.coordinator.swreset.notify":"Reinicio del coordinador iniciado","admin.coordinator.switchchannel.title":"Cambiar el canal de comunicaci\xf3n del coordinador","admin.coordinator.switchchannel.subtitle":"Este permite cambiar el coordinador y su red a un canal de comunicaci\xf3n particular.
La solicitud se enviar\xe1 a todos los dispositivos: los enrutadores cambian normalmente sin problemas, pero los dispositivos con bater\xeda o que no son Zigbee 3.0 probablemente requerir\xe1n un reinicio para unirse al nuevo canal.","admin.coordinator.switchchannel.placeholder":"Canal del coordinador (0 predeterminado)","admin.coordinator.switchchannel.button":"Cambia el canal","admin.coordinator.switchchannel.notify":"Comenz\xf3 el cambio de canal","admin.erasepdm.title":"Borrar la ZiGate","admin.erasepdm.subtitle":"Borrar\xe1 la memoria de datos permanente de la ZiGate (Perder\xe1s todos los dispositivos emparejados) Debe habilitar el par\xe1metro eraseZigatePDM en Configuraci\xf3n avanzada antes","admin.erasepdm.button":"Borrar","admin.erasepdm.notify":"ErasePdm ZiGate started","admin.erasepdm.alert.title":"Borrar la ZiGate, estas seguro ?","admin.erasepdm.alert.subject":"ATENCI\xd3N, \xfaltima oportunidad !!!!!","admin.erasepdm.alert.cancel":"Anular","admin.erasepdm.alert.erase":"Borrar","admin.plugin":"Plugin","admin.plugin.reload.title":"Reiniciar el plugin","admin.plugin.reload.subtitle":"Reiniciar\xe1 el plugin ","admin.plugin.reload.button":"Reiniciar","admin.plugin.reload.notify":"Plugin reiniciando ","admin.plugin.reload.port":"Puerto","admin.plugin.reload.username":"Nombre de usuario","admin.plugin.reload.password":"Contrase\xf1a","admin.plugin.reload.host":"Nombre del host","admin.plugin.reload.protocol":"Protocolo","admin.plugin.reload.alert.title":"Reiniciar el plugin, est\xe1s seguro ?","admin.plugin.reload.alert.subject":"ATENCI\xd3N, \xfaltima oportunidad !!!!!","admin.plugin.reload.alert.cancel":"Anular","admin.plugin.reload.alert.erase":"Reiniciar","admin.plugin.update.title":"Actualizaci\xf3n del Plugin","admin.plugin.update.subtitle":"Iniciar la actualizaci\xf3n del Plugin.
Si la actualizaci\xf3n se realiza sin problemas, ser\xe1 necesario reiniciar el Plugin para que se tenga en cuenta; de lo contrario, la actualizaci\xf3n deber\xe1 realizarse manualmente.","admin.plugin.update.button":"Actualizar el Plugin (varios minutos)","admin.plugin.update.success":"Reiniciar el Plugin para tener en cuenta la actualizaci\xf3n.","admin.plugin.update.error":"Hubo errores durante la actualizaci\xf3n, mire a los registros y tome acciones correctivas","admin.firmware":"Firmware","admin.firmware.title":"Firmware de dispositivo","admin.firmware.subtitle":"subt\xedtulo del firmware ","admin.firmware.button.update":"bot\xf3n de actualizaci\xf3n","admin.firmware.notify":"Lanzamiento de la actualizaci\xf3n","admin.firmware.list":"lista de firmware","admin.firmware.manufacturer.list":"lista de fabricantes","admin.firmware.devices.list":"lista de dispositivos","admin.firmware.force":"forzar actualizaci\xf3n","admin.firmware.alert.title":"alerta de t\xedtulo","admin.firmware.alert.subject":"alerta de sujeto","admin.firmware.alert.ok":"actualizar","admin.firmware.alert.cancel":"cancelar","admin.firmware.alert.list.devices":"lista de dispositivos","admin.firmware.alert.filename":"nombre del archivo","admin.firmware.alert.device":"Dispositivo ","admin.firmware.alert.brand":"Marca","settings":"Configuraciones","setting.header":"Configuraciones","setting.subtitle":"Le permite visualizar y editar las distintas configuraciones del plugin
Algunos requieren reiniciar el plugin.","setting.validate.button":"Validar","setting.reinit.button":"Configuraci\xf3n (predeterminada)","setting.advanced.button":"Ajustes avanzados","setting.normal.button":"Ajustes normales","setting.help.link":" Puede encontrar m\xe1s informaci\xf3n sobre la configuraci\xf3n en el Wiki","setting.help.legend":"Todas estas son configuraciones del plugin que se pueden actualizar.","setting.header.Services":"Servicios disponibles","setting.subtitle.Services":"Activa los servicios que quieres estar activo","useDomoticzLog":"Usar registro (LOG) de Domoticz","enablegroupmanagement":"Activar Groupos","zigatePartOfGroup0000":"Crear grupo 0000","allowRemoveZigateDevice":"Eliminaci\xf3n en la coordinador","resetPermit2Join":"Restablecer el permiso para unirse al inicio","forcePollingAfterAction":"Obtener el estado del dispositivo despu\xe9s de la acci\xf3n","enableReadAttributes":"Activar el sondeo","blueLedOnOff":"Activar la Led azul de la coordinador","setting.reloadplugin.alert.title":"Recarga del plugin","setting.reloadplugin.alert.subject":"La configuraci\xf3n se ha actualizado, el plugin debe ser reiniciado","setting.reloadplugin.alert.cancel":"Cerrar","setting.resetplugin.alert.title":"Restablecimiento del coordinador","setting.resetplugin.alert.subject":"La configuraci\xf3n se ha actualizado, el coordinador debe restablecerse (lo m\xe1s probable es que todos los dispositivos deban volver a emparejarse).","setting.resetplugin.alert.cancel":"Cerrar","setting.eraseplugin.alert.title":"Erase PDM","setting.eraseplugin.alert.subject":"Se han actualizado los ajustes, es necesario borrar el PDM (se deber\xe1 volver a emparejar todos los dispositivos)","setting.eraseplugin.alert.cancel":"Cerrar","Ping":"Habilitar ping","setting.header.DomoticzEnvironment":"URL de Domoticz","setting.subtitle.DomoticzEnvironment":"Configuraci\xf3n de c\xf3mo acceder a la API de Domoticz","setting.header.WebInterface":"Configuraci\xf3n de la interfaz web","setting.subtitle.WebInterface":"Permite activar/desactivar la interfaz de usuario web","enableWebServer":"Activar la interfaz de usuario web","setting.header.DeviceManagement":"Configuraci\xf3n de gesti\xf3n de dispositivos","setting.subtitle.DeviceManagement":"Aqu\xed est\xe1n todas las configuraciones relacionadas con los dispositivos y c\xf3mo el coordinador interact\xfaa con ellos","setting.header.CoordinatorConfiguration":"Configuraci\xf3n de la coordinador","setting.subtitle.CoordinatorConfiguration":"Aqu\xed est\xe1n todas las configuraciones relacionadas con el hardware coordinador.","setting.header.OverTheAirUpgrade":"Configuraci\xf3n de actualizaci\xf3n por aire (OTA)","setting.subtitle.OverTheAirUpgrade":"Estas son todas las configuraciones relacionadas con la funcionalidad de actualizaci\xf3n por aire (OTA/Over The Air).","allowOTA":"Permitir OTA","setting.header.Legrand":"Configuraci\xf3n de Legrand Netatmo","setting.subtitle.Legrand":"Permitir establecer una serie de opciones espec\xedficas de Legrand","setting.header.Schneider_Wiser":"Configuraci\xf3n de Schneider Wiser","setting.subtitle.Schneider_Wiser":"Permitir activar algunos mecanismos espec\xedficos y algunas otras opciones","internetAccess":"Permitir el acceso a Internet","batteryOTA":"Permitir OTA para dispositivos alimentados por bater\xeda","waitingOTA":"retraso al iniciar el proceso OTA","setting.header.GroupManagement":"Configuraci\xf3n de gesti\xf3n de grupos","setting.subtitle.GroupManagement":"Aqu\xed est\xe1n todos los ajustes para activar y configurar la funci\xf3n de gesti\xf3n de Grupo.","OnIfOneOn":"El grupo est\xe1 encendido si un dispositivo est\xe1 encendido (de lo contrario, necesita todos los dispositivos encendidos)","setting.header.PluginConfiguration":"Configuraci\xf3n del entorno del plugin","setting.subtitle.PluginConfiguration":"Aqu\xed est\xe1n todas las configuraciones de entornos del plugin","numDeviceListVersion":"Cantidad de historial de la lista de dispositivos","setting.header.Others":"Otras configuraciones","setting.header.Provisioning":"Ajustes de emparejamiento","setting.subtitle.Provisioning":"Configuraciones especiales para dispositivos especiales o condiciones especiales","setting.header.DevicePolling":"Sondeo de dispositivos","setting.subtitle.DevicePolling":"Le permite especificar la frecuencia de sondeo por tipo de informaci\xf3n. Tenga en cuenta que una alta frecuencia sobrecargar\xe1 el coordinador y podr\xeda causar algunos problemas de rendimiento.","setting.subtitle.Others":"","logLQI":"Retraso antes de iniciar un escaneo de topolog\xeda (seg)","networkScan":"Frecuencia del informe de interferencias (seg)","setting.header.CommandTransition":"Transiciones de comando para group luces","setting.subtitle.CommandTransition":"Puede especificar el tiempo de transici\xf3n en d\xe9cimas de segundos con el que la transici\xf3n de la etapa actual a la objetivo. Por ejemplo, cu\xe1ntas d\xe9cimas de segundo se necesitar\xe1n para pasar del color actual al color que solicit\xe9 a trav\xe9s de Domoticz. La temperatura de color se utiliza para el color blanco","moveToHueSatu":"Transici\xf3n para Hue","moveToColourTemp":"Transici\xf3n para temperatura de color","moveToColourRGB":"Transici\xf3n para color RGB","moveToLevel":"Transici\xf3n para pasar de nivel","setting.header.Experimental":"Par\xe1metros experimentales","setting.subtitle.Experimental":"\xdaselo solo si se le ha pedido","api.global.error.notify":"Backend error","api.global.succes.scanlaunched.notify":"An\xe1lisis iniciado","api.global.succes.commandsent.notify":"Actualizaci\xf3n exitosa","api.global.succes.saved.notify":"Salvado","setting.header.OTA":"Actualizaci\xf3n del firmware del dispositivo v\xeda OTA","setting.subtitle.OTA":"Comportamiento del plugin con actualizaciones OTA","IkeaTradfri_Repository":"Repositorio de firmware oficial de IKEA-TRADFRI","ZigbeeOTA_Repository":"Repositorio de firmware ZigBee OTA (mantenido por la comunidad)","autoServeOTA":"Actualizaci\xf3n autom\xe1tica cuando se encuentra un nuevo firmware","checkFirmwareAgainstZigbeeOTARepository":"Compruebe si hay un firmware disponible en uno de los repositorios","DomoticzCustomMenu":"Habilitar el WebUI del plugin desde el men\xfa personalizado de Domoticz","NightShift":"Mueva las acciones en segundo plano de las 11 a las 6.","ConfigureReportingChunk":"Cantidad maxima de atributos durante Configure Reporting","ReadAttributeChunk":"Cantidad maxima de atributos durante Read Attributes","resetConfigureReporting":"Reinicio de todo los Configure Reporting","resetReadAttributes":"Reinicio de todo los read attributes","TopologyV2":"An\xe1lisis de malla basado en tablas de enrutamiento y vecindad","autoBackup":"Guardado autom\xe1tico del coordinador","BackupFullDevices":"Guardar informaci\xf3n del objeto","BellowsNoMoreEndDeviceChildren":"Desactivar emparejamiento directo en el coordinador","BellowsSourceRouting":"Habilitar el mecanismo de enrutamiento de origen","pingDevices":"Haga un ping a dispositivos alimentados por la red para comprobar su estado","GroupOnBattery":"Habilitar la creaci\xf3n de grupos para disositivos con bater\xeda","deviceOffWhenTimeOut":"Cambiar un dispositivo a Apagado despu\xe9s de un timeout de la red","checkConfigurationReporting":"Verifique la configuraci\xf3n del informe de un dispositivo regularmente","TXpower_set":"Nivel de potencia de transmisi\xf3n del coordinador","pingDevicesFeq":"Periodo de ping a objetos alimentados por la red","GrpfadingOff":"Modo de Fadding","GrpmoveToColourRGB":"Tiempo de transici\xf3n para cambiar el valor de un color","GrpmoveToColourTemp":"Tiempo de transici\xf3n para cambiar la temperatura de un color","GrpmoveToLevel":"Tiempo de transici\xf3n para pasar de un nivel de potencia a otro","enableSchneiderWiser":"Habilitar si tiene elementos Legacy Wiser","LegrandCompatibilityMode":"Habilitar para simular un concentrador Legrand Netamo","AqaraOppleBulbMode":"Habilite el control remoto Aqara Opple para controlar objetos directamente","forceClosingAllNodes":"Habilite para cerrar el modo de emparejamiento en cada enrutador","extendedPANID":"Zigbee Extended PAN Identifier","allowReBindingClusters":"Habilitar el reenlace del cl\xfaster durante las operaciones de creaci\xf3n de configure reporting","doUnbindBind":"Desvincular y luego vincular, cuando se realiza una operaci\xf3n de vinculaci\xf3n","PluginAnalytics":"Autorizar el plugin para colocar una cookie a fin de recopilar informaci\xf3n sobre la coordinaci\xf3n y los modelos de objetos utilizados.","MatomoOptIn":"Autorizar el plugin para colocar una cookie a fin de recopilar informaci\xf3n sobre la coordinaci\xf3n y los modelos de objetos utilizados.","autoRestore":"Aplique autom\xe1ticamente la copia de seguridad del coordinador m\xe1s reciente cuando se encuentre un nuevo coordinador en blanco","forceSwitchSelectorPushButton":"Workaround Domoticz issue #4143","resetSwitchSelectorPushButton":"Cantidad de segundos despu\xe9s de que el selector se restablece a apagado","setting.header.ManufSpecifiqDevicePolling":"Sondeo espec\xedfico","setting.subtitle.ManufSpecifiqDevicePolling":"0 significa deshabilitar; de lo contrario, indica la frecuencia de sondeo en segundos. Para el fabricante espec\xedfico, permitir\xe1 recuperar estados del dispositivo que no proporciona autom\xe1ticamente el dispositivo.","setting.header.Zigpy":"Configuraci\xf3n espec\xedfica para CIE zigpy","setting.subtitle.Zigpy":"Para algunos CIE (como las ConBeeII y RasbeeII), es necesario activar elementos espec\xedficos para algunas marcas","resetMotiondelay":"Retraso en segundos para restablecer la detecci\xf3n de movimiento","Certification":"Certificaci\xf3n ( FCC or CE )","channel":"Canal del coordinador (predeterminado 0)","alarmDuration":"Duraci\xf3n en segundos para dispositivo de alarma","vibrationAqarasensitivity":"Sensibilidad a la vibraci\xf3n de Aqara","TradfriKelvinStep":"Paso Kelvin para control remoto Tradfri","numTopologyReports":"Cantidad de informes de topolog\xeda guardados","numEnergyReports":"Cantidad de informes de interferencias guardados","PowerOn_OnOff":"Estado de retorno despu\xe9s de un corte de energ\xeda del dispositivo","logDeviceUpdate":"Habilitar el mensaje UpdateDevice en el LOG","capturePairingInfos":"Capture informaci\xf3n de emparejamiento y gu\xe1rdela en la carpeta de informes","error_required":"Necesario","ForceAPSAck":"Force APS Ack to ZCL and ZDP commands","zigpySourceRouting":"Enable Zigbee Source routing (plugin)","reenforcementWiser":"Enable reenforcement messages (legacy Wiser only)","forcePassiveWidget":"Allow Domoticz actions on Widgets from remote devices","tools":"Utiles","tools.tools":"Utiles","tools.tools.export":"Exportar","tools.tools.zdevice-raw.button":"Dispositivos primas del plugin","tools.tools.non-optimized.button":"Dispositivos no optimizados","tools.tools.zgroup.button":"Grupos del plugin(json)","tools.tools.zdevice.button":"Dispositivos del plugin","tools.tools.device.button":"Widgets de Domoticz","tools.tools.log.button":"Infos del plugin","tools.tools.infos.plugin.button":"Infos del plugin","tools.tools.coordinator.infos.button":"Infos de coordinador","tools.tools.plugin-health.button":"Salud del plugin","tools.tools.zdevice-name.button":"zDevice-name","tools.tools.domoticz-env.button":"domoticz-env","tools.tools.battery-state.button":"Estado de las bater\xedas","tools.tools.zgroup-list-available-device.button":"zGroup-lst-devices","tools.tools.settings.button":"Configuraciones","tools.tools.plugin-stat.button":"Tr\xe1fico","tools.command":"Comando","tools.debugcommand.title":"Comandos directos","tools.debugcommand.subtitle":"Permitir interactuar directamente con un dispositivo, con un conjunto de comandos basados en las capacidades del dispositivo
(1) Seleccione el dispositivo,
(2) Seleccione la acci\xf3n que desea realizar,
(3) Seleccione un tipo de dispositivo potencial que pueda influir en la forma de interactuar con el dispositivo,
(4) Opcionalmente, es posible que deba entrar un valor o seleccionar un color.","tools.debugcommand.device":"Seleccione el dispositivo","tools.debugcommand.button.cancel":"Anular","tools.debugcommand.action":"Seleccione la acci\xf3n","tools.debugcommand.type":"Seleccione tipo","tools.debugcommand.value":"Valor","tools.debugcommand.level.error":"entre 0 y 100","tools.debugcommand.effect.error":"entre 0x00 y 0xff","tools.debugcommand.button.send":"Enviar","tools.rawcommand-zigate.title":"Comandos de ZiGate(en bruto)","tools.rawcommand-zigate.subtitle":"Permitir enviar un comando el coordinador directamente a la zigate en modo bruto.
Debe seguir el protocolo ZiGate .","tools.rawcommand-zigate.command":"Tipo de mensaje","tools.rawcommand-zigate.error":"Entrada requerida","tools.rawcommand-zigate.payload":"Datos","tools.rawcommand-zigate.button.send":"Enviar","tools.rawcommand-zigpy.title":"ZigBee comando","tools.rawcommand-zigpy.subtitle":"Permitir enviar un comando el coordinador directamente a la zigate en modo bruto.","tools.rawcommand-zigpy.placeholder":"Seleccione un dispositivo","tools.rawcommand-zigpy.groupaddressflag":"GroupAddressFlag","tools.rawcommand-zigpy.ackmode":"AckMode","tools.rawcommand-zigpy.profileid":"ProfileId","tools.rawcommand-zigpy.clusterid":"ClusterId","tools.rawcommand-zigpy.sourceep":"SourceEp","tools.rawcommand-zigpy.targetep":"TargetEp","tools.rawcommand-zigpy.sqn":"Sqn","tools.rawcommand-zigpy.payload":"Datos","tools.rawcommand-zigpy.button.send":"Enviar","tools.reporting.configure":"Informes","tools.reporting.configure.title":"Configuraci\xf3n de informes","tools.reporting.configure.subtitle":"Configura un objeto para que env\xede autom\xe1ticamente los valores de uno (o m\xe1s) de sus atributos o que reciba informaci\xf3n.
Los campos Intervalo m\xednimo e Intervalo m\xe1ximo indican el rango de tiempo en segundos durante el cual el object enviar\xe1 el valor del atributo correspondiente. Los intervalos deben ser inferiores a 65534s (codificaci\xf3n de 16 bits).
El campo Delta indica la variaci\xf3n de valor que har\xe1 que se env\xeden los datos. Sin limitaci\xf3n en la longitud del campo. El signo ser\xe1 ignorado.
Para los atributos con un tipo de datos anal\xf3gico (ver 2.6.2), el campo tiene el mismo tipo de datos que el atributo.","tools.reporting.configure.trigger.button":"Trigger","tools.reporting.configure.reset.button":"Reset","tools.reporting.configure.validate.button":"Validar","tools.reporting.configure.device":"Seleccione un dispositivo","tools.reporting.configure.clusterId.column":"Cluster id","tools.reporting.configure.attributeId.column":"Attribute id","tools.reporting.configure.dataType.column":"Datatype","tools.reporting.configure.timeout.column":"Timeout","tools.reporting.configure.minInterval.column":"intervalo m\xednimo (segundos)","tools.reporting.configure.maxInterval.column":"intervalo m\xe1ximo (segundos)","tools.reporting.configure.change.column":"Diferencia","tools.reporting.configure.hexa.error":"Valor hexadecimal esperado","tools.reporting.configure.length.error":"Valor demasiado largo","tools.binding":"Uni\xf3n","tools.binding.title":"Uni\xf3n de dispositivo","tools.binding.subtitle":"Permitir la uni\xf3n en un cluster entre los dispositivos de origen y de destino
p.ej. Si desea vincular un sensor de temperatura con un actuador, La SourceIEEE/Ep ser\xe1 el sensor de temperatura, el DestIEEE/Ep ser\xe1 el actuador y el Cluster ser\xe1 0402 (Medida de temperatura)","tools.binding.sourceIeee":"IEEE de origen","tools.binding.error":"Entrada requerida","tools.binding.sourceEp":"Seleccionar dispositivo de origen","tools.binding.destIeee":"IEEE de destino","tools.binding.destEp":"Seleccionar dispositivo de destino","tools.binding.cluster":"Cluster","tools.binding.button.put":"Vincular","tools.unbinding.button.put":"Desvincular","tools.debug":"Debug","setting.header.VerboseLogging":"Detallado y registro","setting.subtitle.VerboseLogging":"Le permitir\xe1 activar/desactivar algunas funciones de registro (LOG) ","tools.debugsetting.help.legend":"Todas estas son configuraciones del plugin que se pueden actualizar.","tools.debugsetting.advanced.button":"Par\xe1metros avanzados","tools.debugsetting.normal.button":"Par\xe1metros est\xe1ndar","tools.debugsetting.validate.button":"Validar","tools.debugsetting.reinit.button":"Par\xe1metros (predeterminado)","tools.debugsetting.reloadplugin.alert.title":"Reinicio del plugin","tools.debugsetting.reloadplugin.alert.subject":"La configuraci\xf3n se ha actualizado, el plugin debe ser reiniciado","tools.debugsetting.reloadplugin.alert.cancel":"Cerrar","tools.error":"Error(es)","tools.error.log-history.button":"Historial de errores (json)","tools.error.log-history.clear":"Borrar historial de errores","error.popover.title":"Error(es) detectado(s)","error.popover.text":"Clic para ver el LOG","manufacturer":"Fabricantes","manufacturer.casaia":"Casa.ia","manufacturer.casaia.header":"t\xedtulo","manufacturer.casaia.subtitle":"subtitulo","manufacturer.casaia.placeholder":"marcador de posici\xf3n","manufacturer.casaia.nwkid":"nwkid","manufacturer.casaia.name":"nombre","manufacturer.casaia.ieee":"ieee","manufacturer.casaia.model":"modelo","manufacturer.casaia.ircode":"ircode","manufacturer.casaia.validate.button":"validar","manufacturer.zlinky.header":"Le Zlinky","manufacturer.zlinky.subtitle":"Liste les donn\xe9es r\xe9cup\xe9r\xe9es par le Zlinky s\xe9lectionn\xe9,","manufacturer.zlinky.placeholder":"Select Zlinky device","manufacturer.zlinky.key":"Designation","manufacturer.zlinky.value":"Value","manufacturer.zlinky.DateCode":"Code date","manufacturer.zlinky.SWBuildID":"SWBuildID","manufacturer.zlinky.ADC0":"Serial Number","manufacturer.zlinky.BASE":"Index Base","manufacturer.zlinky.OPTARIF":"Option tarifaire","manufacturer.zlinky.ISOUSC":"Intensit\xe9 souscrite","manufacturer.zlinky.HCHC":"Index HCHC","manufacturer.zlinky.HCHP":"Index HCHP","manufacturer.zlinky.EJPHN":"Index EJPHN","manufacturer.zlinky.EJPHPM":"Index EJPHPM","manufacturer.zlinky.BBRHCJB":"Index BBRHCJB","manufacturer.zlinky.BBRHPJB":"Index BBRHPJB","manufacturer.zlinky.BBRHCJW":"Index BBRHCJW","manufacturer.zlinky.BBRHPJW":"Index BBRHPJW","manufacturer.zlinky.BBRHCJR":"Index BBRHCJR","manufacturer.zlinky.BBRHPJR":"Index BBRHPJR","manufacturer.zlinky.IINST":"Courant efficace","manufacturer.zlinky.IINST1":"Courant efficace phase 1","manufacturer.zlinky.IINST2":"Courant efficace phase 2","manufacturer.zlinky.IINST3":"Courant efficace phase 3","manufacturer.zlinky.IMAX":"Intensit\xe9 maximale","manufacturer.zlinky.IMAX1":"Intensit\xe9 maximale phase 1","manufacturer.zlinky.IMAX2":"Intensit\xe9 maximale phase 2","manufacturer.zlinky.IMAX3":"Intensit\xe9 maximale phase 3","manufacturer.zlinky.PMAX":"Puissance maximale triphas\xe9e atteinte","manufacturer.zlinky.PAPP":"Puissance apparente","manufacturer.zlinky.PTEC":"Periode tarifaire en cours","manufacturer.zlinky.DEMAIN":"Couleur du lendemain","manufacturer.zlinky.HHPHC":"Horaire Heure Pleines Heures Creuses","manufacturer.zlinky.PPOT":"Pr\xe9sence des potentiels","manufacturer.zlinky.PEJP":"Pr\xe9avis d\xe9but EJP(30min)","manufacturer.zlinky.ADPS":"Avertissement de D\xe9passement De Puissance Souscrite","manufacturer.zlinky.ADIR1":"Avertissement de D\xe9passement D\'intensit\xe9 phase 1","manufacturer.zlinky.ADIR2":"Avertissement de D\xe9passement D\'intensit\xe9 phase 2","manufacturer.zlinky.ADIR3":"Avertissement de D\xe9passement D\'intensit\xe9 phase 3","manufacturer.zlinky.ADSC":"Adresse Secondaire du Compteur","manufacturer.zlinky.NGTF":"Nom du calendrier tarifaire fournisseur","manufacturer.zlinky.LTARF":"Libell\xe9 tarif fournisseur en cours","manufacturer.zlinky.NTARF":"Num\xe9ro de l\u2019index tarifaire en cours","manufacturer.zlinky.VTIC":"Version de la TIC","manufacturer.zlinky.DATE":"Date et heure courant","manufacturer.zlinky.EAST":"\xc9nergie active soutir\xe9e totale","manufacturer.zlinky.EASF01":"\xc9nergie active soutir\xe9e Fournisseur, index 01","manufacturer.zlinky.EASF02":"\xc9nergie active soutir\xe9e Fournisseur, index 02","manufacturer.zlinky.EASF03":"\xc9nergie active soutir\xe9e Fournisseur, index 03","manufacturer.zlinky.EASF04":"\xc9nergie active soutir\xe9e Fournisseur, index 04","manufacturer.zlinky.EASF05":"\xc9nergie active soutir\xe9e Fournisseur, index 05","manufacturer.zlinky.EASF06":"\xc9nergie active soutir\xe9e Fournisseur, index 06","manufacturer.zlinky.EASF07":"\xc9nergie active soutir\xe9e Fournisseur, index 07","manufacturer.zlinky.EASF08":"\xc9nergie active soutir\xe9e Fournisseur, index 08","manufacturer.zlinky.EASF09":"\xc9nergie active soutir\xe9e Fournisseur, index 09","manufacturer.zlinky.EASF10":"\xc9nergie active soutir\xe9e Fournisseur, index10","manufacturer.zlinky.EASD01":"\xc9nergie active soutir\xe9e Distributeur, index 01","manufacturer.zlinky.EASD02":"\xc9nergie active soutir\xe9e Distributeur, index 02","manufacturer.zlinky.EASD03":"\xc9nergie active soutir\xe9e Distributeur, index 03","manufacturer.zlinky.EASD04":"\xc9nergie active soutir\xe9e Distributeur, index 04","manufacturer.zlinky.EAIT":"\xc9nergie active inject\xe9e totale","manufacturer.zlinky.ERQ1":"\xc9nergie r\xe9active Q1 total","manufacturer.zlinky.ERQ2":"\xc9nergie r\xe9active Q2 total","manufacturer.zlinky.ERQ3":"\xc9nergie r\xe9active Q3 total","manufacturer.zlinky.ERQ4":"\xc9nergie r\xe9active Q4 total","manufacturer.zlinky.IRMS1":"Courant efficace, phase 1","manufacturer.zlinky.IRMS2":"Courant efficace, phase 21","manufacturer.zlinky.IRMS3":"Courant efficace, phase 3","manufacturer.zlinky.URMS1":"Tension efficace, phase 1","manufacturer.zlinky.URMS2":"Tension efficace, phase 2","manufacturer.zlinky.URMS3":"Tension efficace, phase 3","manufacturer.zlinky.PREF":"Puissance app. de r\xe9f\xe9rence (PREF)","manufacturer.zlinky.STGE":"Registre de Statuts","manufacturer.zlinky.PCOUP":"Puissance app. de coupure (PCOUP)","manufacturer.zlinky.SINSTI":"Puissance app. Instantan\xe9e inject\xe9e","manufacturer.zlinky.SMAXIN":"Puissance app max. inject\xe9e n","manufacturer.zlinky.SMAXIN-1":"Puissance app max. inject\xe9e n-1","manufacturer.zlinky.CCASN":"Point n de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCASN-1":"Point n-1 de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCAIN":"Point n de la courbe de charge active inject\xe9e","manufacturer.zlinky.CCAIN-1":"Point n-1 de la courbe de charge active inject\xe9e","manufacturer.zlinky.UMOY1":"Tension moy. ph. 1","manufacturer.zlinky.UMOY2":"Tension moy. ph. 2","manufacturer.zlinky.UMOY3":"Tension moy. ph. 3","manufacturer.zlinky.SINSTS":"Puissance app. Instantan\xe9e soutir\xe9e","manufacturer.zlinky.SINSTS1":"Puissance app. Instantan\xe9e soutir\xe9e ph.1","manufacturer.zlinky.SINSTS2":"Puissance app. Instantan\xe9e soutir\xe9e ph. 2","manufacturer.zlinky.SINSTS3":"Puissance app. Instantan\xe9e soutir\xe9e ph. 3","manufacturer.zlinky.SMAXN":"Puissance app. max. soutir\xe9e n","manufacturer.zlinky.SMAXN1":"Puissance app. max. soutir\xe9e n ph.1","manufacturer.zlinky.SMAXN2":"Puissance app. max. soutir\xe9e n ph. 2","manufacturer.zlinky.SMAXN3":"Puissance app. max. soutir\xe9e n ph. 3","manufacturer.zlinky.SMAXN-1":"Puissance app. max. soutir\xe9e n-1","manufacturer.zlinky.SMAXN1-1":"Puissance app. max. soutir\xe9e n-1 ph.1","manufacturer.zlinky.SMAXN2-1":"Puissance app. max. soutir\xe9e n-1 ph. 2","manufacturer.zlinky.SMAXN3-1":"Puissance app. max. soutir\xe9e n-1 ph. 3","manufacturer.zlinky.MSG1":"Message court","manufacturer.zlinky.MSG2":"Message ultra court","manufacturer.zlinky.PRM":"PRM","manufacturer.zlinky.DPM1":"D\xe9but Pointe Mobile 1","manufacturer.zlinky.FPM1":"Fin Pointe Mobile 1","manufacturer.zlinky.DPM2":"D\xe9but Pointe Mobile 2","manufacturer.zlinky.FPM2":"Fin Pointe Mobile 2","manufacturer.zlinky.DPM3":"D\xe9but Pointe Mobile 3","manufacturer.zlinky.FPM3":"Fin Pointe Mobile 3","manufacturer.zlinky.RELAIS":"RELAIS","manufacturer.zlinky.NJOURF":"Num\xe9ro du jour en cours calendrier fournisseur","manufacturer.zlinky.NJOURF+1":"Num\xe9ro du prochain jour calendrier fournisseur","manufacturer.zlinky.PJOURF+1":"Profil du prochain jour calendrier fournisseur","manufacturer.zlinky.PPOINTE1":"Profil du prochain jour de pointe","manufacturer.zlinky.PROTOCOL_LINKY_0":"Mode historique monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_1":"Mode standard monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_2":"Mode historique triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_3":"Mode standard triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_5":"Mode standard monophas\xe9 producteur","manufacturer.zlinky.PROTOCOL_LINKY_7":"Mode standard triphas\xe9 producteur","ZigpyTopologyReport":"Enable the use of zigpy Topology Scanner","ZigpyTopologyReportAutoBackup":"Automaticaly backup auto-triggered Topology scan"}'),G=new pe("I18nService"),O="language";function f(d){return d}let a=(()=>{class d{translateService;defaultLanguage;supportedLanguages;langChangeSubscription;constructor(k){this.translateService=k,k.setTranslation("en-US",I),k.setTranslation("fr-FR",_),k.setTranslation("nl-NL",m),k.setTranslation("es-ES",w)}init(k,p){this.defaultLanguage=k,this.supportedLanguages=p,this.language="",this.langChangeSubscription=this.translateService.onLangChange.subscribe(T=>{localStorage.setItem(O,T.lang)})}destroy(){this.langChangeSubscription.unsubscribe()}set language(k){k=k||localStorage.getItem(O)||this.translateService.getBrowserCultureLang()||"";let p=this.supportedLanguages.some(T=>T.code===k);k&&!p&&(k=k.split("-")[0],p=!!(k=this.supportedLanguages.find(B=>B.code.startsWith(k))?.code||"")),p||(k=this.defaultLanguage),G.debug(`Language set to ${k}`),this.translateService.use(k)}get language(){return this.translateService.currentLang}static \u0275fac=function(p){return new(p||d)(ne.KVO(Le.c$))};static \u0275prov=ne.jDH({token:d,factory:d.\u0275fac})}return d})(),g=(()=>{class d extends V.b{shouldDetach(k){return!1}store(k,p){}shouldAttach(k){return!1}retrieve(k){return null}shouldReuseRoute(k,p){return k.routeConfig===p.routeConfig||k.data.reuse}static \u0275fac=(()=>{let k;return function(T){return(k||(k=ne.xGo(d)))(T||d)}})();static \u0275prov=ne.jDH({token:d,factory:d.\u0275fac})}return d})(),v=(()=>{class d{constructor(k){if(k)throw new Error(`${k} has already been loaded. Import Core module in the AppModule only.`)}static \u0275fac=function(p){return new(p||d)(ne.KVO(d,12))};static \u0275mod=ne.$C({type:d});static \u0275inj=ne.G2t({providers:[a,te,re,F,X,{provide:e.Qq,useClass:A},{provide:V.b,useClass:g}],imports:[M.MD,e.q1,Le.h,V.iI]})}return d})();var o=We(21413),n=We(56977);const r=Symbol("untilDestroyed");function l(d,C="ngOnDestroy"){return k=>{const p=d[C],T="function"==typeof p;if(!T)throw new Error(`${d.constructor.name} is using untilDestroyed but doesn't implement ${C}`);return d[r]||(d[r]=new o.B,d[C]=function(){T&&p.apply(this,arguments),d[r].next(),d[r].complete()}),k.pipe((0,n.Q)(d[r]))}}},3366:(ri,Bt,We)=>{"use strict";We.d(Bt,{G:()=>J});var M=We(21626),e=We(38117),V=We(34402),Le=We(18810),q=We(96354),ne=We(99437),re=We(54438),ve=We(45794),le=We(19664);const pe={devices:"/device",zDevices:"/zdevice",zdeviceRaw:"/zdevice-raw",zGroups:"/zgroup",settings:"/setting",settingsDebug:"/setting-debug",plugin:"/plugin",pluginStat:"/plugin-stat",nwkStat:"/nwk-stat",topologie:"/topologie",permitToJoin:"/permit-to-join",zdeviceName:"/zdevice-name",zgroupDevicesAvalaible:"/zgroup-list-available-device",reqTopology:"/req-topologie",reqInter:"/req-nwk-inter",swReset:"/sw-reset-coordinator",erasePDM:"/coordinator-erase-PDM",coordinator:"/coordinator",restartNeeded:"/restart-needed",domoticzEnv:"/domoticz-env",pluginHealth:"/plugin-health",rescanGroup:"/rescan-groups",reqNwkfull:"/req-nwk-full",pluginRestart:"/plugin-restart",devCommand:"/dev-command",devCap:"/dev-cap",newHardware:"/new-hrdwr/",receiveNewHardware:"/rcv-nw-hrdwr",binding:"/binding",unbinding:"/unbinding",rawCommand:"/raw-command",rawCommandZigpy:"/raw-zigbee",bindLSTcluster:"/bind-lst-cluster",bindLSTdevice:"/bind-lst-device",scanDeviceForGrp:"/scan-device-for-grp",logErrorHistory:"/log-error-history",clearErrorHistory:"/clear-error-history",otaFirmwareList:"/ota-firmware-list",otaFirmwareDeviceList:"/ota-firmware-device-list/",otaFirmwareUpdate:"/ota-firmware-update",casiaListDevices:"/casaia-list-devices",casiaIrcode:"/casaia-update-ircode",changeChannel:"/change-channel",pairingFullReset:"/full-reprovisionning",recreateWidgets:"/recreate-widgets",batteryState:"/battery-state",pluginUpgrade:"/plugin-upgrade",configureReporting:"/cfgrpt-ondemand-config",demandConfigureReporting:"/cfgrpt-ondemand",zlinky:"/zlinky",pluginLog:"/plugin-log",deviceNonOptimized:"/non-optmize-device-configuration"},ue=new e.Vy("ApiService");let J=(()=>{class te{httpClient;toastr;translate;constructor(E,j,F){this.httpClient=E,this.toastr=j,this.translate=F}downloadLog(E){return this.httpClient.disableApiPrefix().get(E,{observe:"response",responseType:"blob"}).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getPluginhealth(){return this.httpClient.get(pe.pluginHealth).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getDevices(){return this.httpClient.get(pe.devices).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getZDevices(E=!1){return this.httpClient.get(pe.zDevices).pipe((0,q.T)(j=>j.filter(F=>!(!E||"Coordinator"!==F.LogicalType)||"Coordinator"!==F.LogicalType||void 0)),(0,ne.W)(j=>this.handleError(j)))}getRawZDevices(E=!1){return this.httpClient.get(pe.zdeviceRaw).pipe((0,q.T)(j=>j.filter(F=>!E||!1===F.CertifiedDevice)),(0,ne.W)(j=>this.handleError(j)))}getRawZDevice(E){return this.httpClient.get(pe.zdeviceRaw+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getZGroups(){return this.httpClient.get(pe.zGroups).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getSettings(){return this.httpClient.get(pe.settings).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}putSettings(E){return this.httpClient.put(pe.settings,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getSettingsDebug(){return this.httpClient.get(pe.settingsDebug).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}putSettingsDebug(E){return this.httpClient.put(pe.settingsDebug,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getPlugin(){return this.httpClient.get(pe.plugin).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getPluginStats(){return this.httpClient.get(pe.pluginStat).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getLogErrorHistory(){return this.httpClient.get(pe.logErrorHistory).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}clearLogErrorHistory(){return this.httpClient.get(pe.clearErrorHistory).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getNwkStats(){return this.httpClient.get(pe.nwkStat).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getTopologie(){return this.httpClient.get(pe.topologie).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getReqTopologie(){return this.httpClient.get(pe.reqTopology).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getReqInter(){return this.httpClient.get(pe.reqInter).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getNwkFull(){return this.httpClient.get(pe.reqNwkfull).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getTopologieByTimeStamp(E){return this.httpClient.get(pe.topologie+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getNwkStatsByTimeStamp(E){return this.httpClient.get(pe.nwkStat+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}deleteTopologieByTimeStamp(E){return this.httpClient.delete(pe.topologie+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}deleteNwkStatsByTimeStamp(E){return this.httpClient.delete(pe.nwkStat+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getPermitToJoin(){return this.httpClient.get(pe.permitToJoin).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}putPermitToJoin(E){return this.httpClient.put(pe.permitToJoin,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getZDeviceName(){return this.httpClient.get(pe.zdeviceName).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}putZDeviceName(E){return this.httpClient.put(pe.zdeviceName,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}deleteZDeviceName(E){return this.httpClient.delete(pe.zdeviceName+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getZGroupDevicesAvalaible(){return this.httpClient.get(pe.zgroupDevicesAvalaible).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}putZGroups(E){return this.httpClient.put(pe.zGroups,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getCoordinator(){return this.httpClient.get(pe.coordinator).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getSwReset(){return this.httpClient.get(pe.swReset).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getRescanGroup(){return this.httpClient.get(pe.rescanGroup).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getErasePDM(){return this.httpClient.get(pe.erasePDM).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getReloadPlugin(){return this.httpClient.get(pe.pluginRestart).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getUpgradePlugin(){return this.httpClient.get(pe.pluginUpgrade).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getReloadPluginOld(E,j){const F=j.proto+"://"+j.WebUserName+":"+j.WebPassword+"@"+j.host+":"+j.port+"/json.htm?type=command¶m=updatehardware&htype=94&idx="+E.HardwareID+"&name="+E.Name+"&username="+j.WebUserName+"&password="+j.WebPassword+"&address="+E.Address+"&port="+E.Port+"&serialport="+E.SerialPort+"&Mode1="+E.Mode1+"&Mode2="+E.Mode2+"&Mode3="+E.Mode3+"&Mode4="+E.Mode4+"&Mode5="+E.Mode5+"&Mode6="+E.Mode6+"&extra="+E.Key+"&enabled=true&datatimeout=0",P={headers:new M.Lr({"Access-Control-Allow-Origin":"*","Content-Type":"text/plain"})};return this.httpClient.disableApiPrefix().get(F,P).pipe((0,q.T)(D=>D),(0,ne.W)(D=>this.handleError(D)))}getRestartNeeded(){return this.httpClient.get(pe.restartNeeded).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getDomoticzEnv(){return this.httpClient.get(pe.domoticzEnv).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getDevCap(E){return this.httpClient.get(pe.devCap+"/"+E).pipe((0,q.T)(F=>F),(0,ne.W)(F=>this.handleError(F)))}putDevCommand(E){return this.httpClient.put(pe.devCommand,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getNewHardware(E){return this.httpClient.get(pe.newHardware+(E?"enable":"disable")).pipe((0,q.T)(P=>P),(0,ne.W)(P=>this.handleError(P)))}getReceiveNewHardware(){return this.httpClient.get(pe.receiveNewHardware).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}putBinding(E){return this.httpClient.put(pe.binding,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}putCommandRaw(E){return this.httpClient.put(pe.rawCommand,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}putCommandRawZigpy(E){return this.httpClient.put(pe.rawCommandZigpy,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getBindLSTcluster(){return this.httpClient.get(pe.bindLSTcluster).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getBindLSTdevice(E){return this.httpClient.get(pe.bindLSTdevice+"/"+E).pipe((0,q.T)(F=>F),(0,ne.W)(F=>this.handleError(F)))}putUnBinding(E){return this.httpClient.put(pe.unbinding,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}putScanDeviceForGrp(E){return this.httpClient.put(pe.scanDeviceForGrp,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getOtaFirmware(){return this.httpClient.get(pe.otaFirmwareList).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getDeviceByOtaFirmware(E){return this.httpClient.get(pe.otaFirmwareDeviceList.concat(E)).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}putOtaFirmware(E){return this.httpClient.put(pe.otaFirmwareUpdate,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getCasiaDevices(){return this.httpClient.get(pe.casiaListDevices).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}putCasiaIrcode(E){return this.httpClient.put(pe.casiaIrcode,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}putChangeChannel(E){return this.httpClient.put(pe.changeChannel,{Channel:E}).pipe((0,q.T)(F=>F),(0,ne.W)(F=>this.handleError(F)))}putPairingFullReset(E){return this.httpClient.put(pe.pairingFullReset,{NWKID:E}).pipe((0,q.T)(F=>F),(0,ne.W)(F=>this.handleError(F)))}putRecreateWidgets(E){return this.httpClient.put(pe.recreateWidgets,{NWKID:E}).pipe((0,q.T)(F=>F),(0,ne.W)(F=>this.handleError(F)))}getBatteryState(){return this.httpClient.get(pe.batteryState).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getTriggerConfigureReporting(E){return this.httpClient.get(pe.demandConfigureReporting+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getConfigureReporting(E){return this.httpClient.get(pe.configureReporting+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}putConfigureReporting(E,j){const F=new V.ff;return F.Nwkid=E,F.Clusters=j,this.httpClient.put(pe.configureReporting,F).pipe((0,q.T)(P=>P),(0,ne.W)(P=>this.handleError(P)))}deleteConfigureReporting(E){return this.httpClient.delete(pe.configureReporting+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getZlinky(){return this.httpClient.get(pe.zlinky).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getLog(){return this.httpClient.get(pe.pluginLog).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getNonOptimizedDevice(E){return this.httpClient.get(pe.deviceNonOptimized+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}handleError(E){return ue.error(E),this.toastr.error(E.status+" "+E.statusText,this.translate.instant("api.global.error.notify")),(0,Le.$)(E)}static \u0275fac=function(j){return new(j||te)(re.KVO(M.Qq),re.KVO(ve.tw),re.KVO(le.c$))};static \u0275prov=re.jDH({token:te,factory:te.\u0275fac,providedIn:"root"})}return te})()},38852:(ri,Bt,We)=>{"use strict";We.d(Bt,{d:()=>V});var M=We(84412),e=We(54438);let V=(()=>{class Le{restart=new M.t(!1);showManufacturerCasaia=new M.t(!1);showManufacturerZlinky=new M.t(!1);logError=new M.t(!1);polling=new M.t(!1);constructor(){}setRestart(ne){this.restart.next(ne)}setShowManufacturerCasaia(ne){this.showManufacturerCasaia.next(ne)}setShowManufacturerZlinky(ne){this.showManufacturerZlinky.next(ne)}setError(ne){this.logError.next(ne)}setPolling(ne){this.polling.next(ne)}static \u0275fac=function(re){return new(re||Le)};static \u0275prov=e.jDH({token:Le,factory:Le.\u0275fac,providedIn:"root"})}return Le})()},28990:(ri,Bt,We)=>{"use strict";We.d(Bt,{U:()=>Le});var e=function(){function q(){this._subs=[]}return q.prototype.add=function(){for(var ne=[],re=0;re{class q{subs=new e;ngOnDestroy(){this.subs.unsubscribe()}static \u0275fac=function(ve){return new(ve||q)};static \u0275dir=V.FsC({type:q})}return q})()},34402:(ri,Bt,We)=>{"use strict";We.d(Bt,{E0:()=>q,ff:()=>Le});class Le{Nwkid;Clusters}class q{clusterId;attributeId;dataType;timeOut;minInterval;maxInterval;change}},93887:(ri,Bt,We)=>{"use strict";We.d(Bt,{G:()=>J});var M=We(60177),e=We(89417),V=We(88652),Le=We(97013),q=We(19664),ne=We(36554),re=We(46247),ve=We(81141),le=We(22242),pe=We(41570),ue=We(54438);let J=(()=>{class te{static \u0275fac=function(j){return new(j||te)};static \u0275mod=ue.$C({type:te});static \u0275inj=ue.G2t({providers:[M.vh],imports:[M.MD,Le.MQ,q.h,M.MD,e.X1,e.YN,V.UN,Le.MQ,q.h,re.bG,pe.P,le.u,ve.tm,ne.PO]})}return te})()},20546:(ri,Bt,We)=>{"use strict";We.d(Bt,{c:()=>e});const e={production:!0,version:"1.0.0",defaultLanguage:"en-US",supportedLanguages:[{code:"en-US",flag:"flag_uk.png"},{code:"fr-FR",flag:"flag_france.png"},{code:"nl-NL",flag:"flag_netherlands.png"},{code:"es-ES",flag:"flag_spain.png"}],api_url:"/rest-z4d/1",keysBoundActive:["alt.z","z>i>g"],refresh:7e3,linkToConsent:"https://github.com/zigbeefordomoticz/wiki",siteId:"3"}},96575:(ri,Bt,We)=>{"use strict";var M=We(345),e=We(54438),V=We(83801),Le=We(21626),q=We(49969);function re(c){return new e.wOt(3e3,!1)}function se(c){switch(c.length){case 0:return new q.sf;case 1:return c[0];default:return new q.ui(c)}}function S(c,y,i=new Map,b=new Map){const W=[],ce=[];let ke=-1,Ve=null;if(y.forEach(Ze=>{const tt=Ze.get("offset"),bt=tt==ke,Mt=bt&&Ve||new Map;Ze.forEach((Lt,Wt)=>{let Zt=Wt,hi=Lt;if("offset"!==Wt)switch(Zt=c.normalizePropertyName(Zt,W),hi){case q.FX:hi=i.get(Wt);break;case q.kp:hi=b.get(Wt);break;default:hi=c.normalizeStyleValue(Wt,Zt,hi,W)}Mt.set(Zt,hi)}),bt||ce.push(Mt),Ve=Mt,ke=tt}),W.length)throw function o(c){return new e.wOt(3502,!1)}();return ce}function $(c,y,i,b){switch(y){case"start":c.onStart(()=>b(i&&H(i,"start",c)));break;case"done":c.onDone(()=>b(i&&H(i,"done",c)));break;case"destroy":c.onDestroy(()=>b(i&&H(i,"destroy",c)))}}function H(c,y,i){const ce=x(c.element,c.triggerName,c.fromState,c.toState,y||c.phaseName,i.totalTime??c.totalTime,!!i.disabled),ke=c._data;return null!=ke&&(ce._data=ke),ce}function x(c,y,i,b,W="",ce=0,ke){return{element:c,triggerName:y,fromState:i,toState:b,phaseName:W,totalTime:ce,disabled:!!ke}}function N(c,y,i){let b=c.get(y);return b||c.set(y,b=i),b}function R(c){const y=c.indexOf(":");return[c.substring(1,y),c.slice(y+1)]}const Z=typeof document>"u"?null:document.documentElement;function Y(c){const y=c.parentNode||c.host||null;return y===Z?null:y}let ge=null,_e=!1;function Be(c,y){for(;y;){if(y===c)return!0;y=Y(y)}return!1}function oe(c,y,i){if(i)return Array.from(c.querySelectorAll(y));const b=c.querySelector(y);return b?[b]:[]}let be=(()=>{class c{validateStyleProperty(i){return function Te(c){ge||(ge=function De(){return typeof document<"u"?document.body:null}()||{},_e=!!ge.style&&"WebkitAppearance"in ge.style);let y=!0;return ge.style&&!function he(c){return"ebkit"==c.substring(1,6)}(c)&&(y=c in ge.style,!y&&_e&&(y="Webkit"+c.charAt(0).toUpperCase()+c.slice(1)in ge.style)),y}(i)}matchesElement(i,b){return!1}containsElement(i,b){return Be(i,b)}getParentElement(i){return Y(i)}query(i,b,W){return oe(i,b,W)}computeStyle(i,b,W){return W||""}animate(i,b,W,ce,ke,Ve=[],Ze){return new q.sf(W,ce)}static#e=this.\u0275fac=function(b){return new(b||c)};static#t=this.\u0275prov=e.jDH({token:c,factory:c.\u0275fac})}return c})();class xe{static#e=this.NOOP=new be}class Ie{}const Ee=1e3,Je="ng-enter",lt="ng-leave",qe="ng-trigger",st=".ng-trigger",Tt="ng-animating",pt=".ng-animating";function ht(c){if("number"==typeof c)return c;const y=c.match(/^(-?[\.\d]+)(m?s)/);return!y||y.length<2?0:Pt(parseFloat(y[1]),y[2])}function Pt(c,y){return"s"===y?c*Ee:c}function Gt(c,y,i){return c.hasOwnProperty("duration")?c:function ti(c,y,i){let W,ce=0,ke="";if("string"==typeof c){const Ve=c.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===Ve)return y.push(re()),{duration:0,delay:0,easing:""};W=Pt(parseFloat(Ve[1]),Ve[2]);const Ze=Ve[3];null!=Ze&&(ce=Pt(parseFloat(Ze),Ve[4]));const tt=Ve[5];tt&&(ke=tt)}else W=c;if(!i){let Ve=!1,Ze=y.length;W<0&&(y.push(function ve(){return new e.wOt(3100,!1)}()),Ve=!0),ce<0&&(y.push(function le(){return new e.wOt(3101,!1)}()),Ve=!0),Ve&&y.splice(Ze,0,re())}return{duration:W,delay:ce,easing:ke}}(c,y,i)}function xt(c,y,i){y.forEach((b,W)=>{const ce=gs(W);i&&!i.has(W)&&i.set(W,c.style[ce]),c.style[ce]=b})}function wt(c,y){y.forEach((i,b)=>{const W=gs(b);c.style[W]=""})}function Qt(c){return Array.isArray(c)?1==c.length?c[0]:(0,q.K2)(c):c}const Ni=new RegExp("{{\\s*(.+?)\\s*}}","g");function mi(c){let y=[];if("string"==typeof c){let i;for(;i=Ni.exec(c);)y.push(i[1]);Ni.lastIndex=0}return y}function vi(c,y,i){const b=`${c}`,W=b.replace(Ni,(ce,ke)=>{let Ve=y[ke];return null==Ve&&(i.push(function ue(c){return new e.wOt(3003,!1)}()),Ve=""),Ve.toString()});return W==b?c:W}const zi=/-+([a-z0-9])/g;function gs(c){return c.replace(zi,(...y)=>y[1].toUpperCase())}function Ln(c,y,i){switch(y.type){case q.If.Trigger:return c.visitTrigger(y,i);case q.If.State:return c.visitState(y,i);case q.If.Transition:return c.visitTransition(y,i);case q.If.Sequence:return c.visitSequence(y,i);case q.If.Group:return c.visitGroup(y,i);case q.If.Animate:return c.visitAnimate(y,i);case q.If.Keyframes:return c.visitKeyframes(y,i);case q.If.Style:return c.visitStyle(y,i);case q.If.Reference:return c.visitReference(y,i);case q.If.AnimateChild:return c.visitAnimateChild(y,i);case q.If.AnimateRef:return c.visitAnimateRef(y,i);case q.If.Query:return c.visitQuery(y,i);case q.If.Stagger:return c.visitStagger(y,i);default:throw function J(c){return new e.wOt(3004,!1)}()}}function fn(c,y){return window.getComputedStyle(c)[y]}const ki=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]);class Cs extends Ie{normalizePropertyName(y,i){return gs(y)}normalizeStyleValue(y,i,b,W){let ce="";const ke=b.toString().trim();if(ki.has(i)&&0!==b&&"0"!==b)if("number"==typeof b)ce="px";else{const Ve=b.match(/^[+-]?[\d\.]+([a-z]*)$/);Ve&&0==Ve[1].length&&W.push(function te(c,y){return new e.wOt(3005,!1)}())}return ke+ce}}const On="*";const Cr=new Set(["true","1"]),St=new Set(["false","0"]);function Rt(c,y){const i=Cr.has(c)||St.has(c),b=Cr.has(y)||St.has(y);return(W,ce)=>{let ke=c==On||c==W,Ve=y==On||y==ce;return!ke&&i&&"boolean"==typeof W&&(ke=W?Cr.has(c):St.has(c)),!Ve&&b&&"boolean"==typeof ce&&(Ve=ce?Cr.has(y):St.has(y)),ke&&Ve}}const mt=new RegExp("s*:selfs*,?","g");function _t(c,y,i,b){return new yt(c).build(y,i,b)}class yt{constructor(y){this._driver=y}build(y,i,b){const W=new si(i);return this._resetContextStyleTimingState(W),Ln(this,Qt(y),W)}_resetContextStyleTimingState(y){y.currentQuerySelector="",y.collectedStyles=new Map,y.collectedStyles.set("",new Map),y.currentTime=0}visitTrigger(y,i){let b=i.queryCount=0,W=i.depCount=0;const ce=[],ke=[];return"@"==y.name.charAt(0)&&i.errors.push(function X(){return new e.wOt(3006,!1)}()),y.definitions.forEach(Ve=>{if(this._resetContextStyleTimingState(i),Ve.type==q.If.State){const Ze=Ve,tt=Ze.name;tt.toString().split(/\s*,\s*/).forEach(bt=>{Ze.name=bt,ce.push(this.visitState(Ze,i))}),Ze.name=tt}else if(Ve.type==q.If.Transition){const Ze=this.visitTransition(Ve,i);b+=Ze.queryCount,W+=Ze.depCount,ke.push(Ze)}else i.errors.push(function E(){return new e.wOt(3007,!1)}())}),{type:q.If.Trigger,name:y.name,states:ce,transitions:ke,queryCount:b,depCount:W,options:null}}visitState(y,i){const b=this.visitStyle(y.styles,i),W=y.options&&y.options.params||null;if(b.containsDynamicStyles){const ce=new Set,ke=W||{};b.styles.forEach(Ve=>{Ve instanceof Map&&Ve.forEach(Ze=>{mi(Ze).forEach(tt=>{ke.hasOwnProperty(tt)||ce.add(tt)})})}),ce.size&&i.errors.push(function j(c,y){return new e.wOt(3008,!1)}(0,ce.values()))}return{type:q.If.State,name:y.name,style:b,options:W?{params:W}:null}}visitTransition(y,i){i.queryCount=0,i.depCount=0;const b=Ln(this,Qt(y.animation),i),W=function ar(c,y){const i=[];return"string"==typeof c?c.split(/\s*,\s*/).forEach(b=>function To(c,y,i){if(":"==c[0]){const Ze=function Wr(c,y){switch(c){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(i,b)=>parseFloat(b)>parseFloat(i);case":decrement":return(i,b)=>parseFloat(b) *"}}(c,i);if("function"==typeof Ze)return void y.push(Ze);c=Ze}const b=c.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==b||b.length<4)return i.push(function O(c){return new e.wOt(3015,!1)}()),y;const W=b[1],ce=b[2],ke=b[3];y.push(Rt(W,ke)),"<"==ce[0]&&(W!=On||ke!=On)&&y.push(Rt(ke,W))}(b,i,y)):i.push(c),i}(y.expr,i.errors);return{type:q.If.Transition,matchers:W,animation:b,queryCount:i.queryCount,depCount:i.depCount,options:Ki(y.options)}}visitSequence(y,i){return{type:q.If.Sequence,steps:y.steps.map(b=>Ln(this,b,i)),options:Ki(y.options)}}visitGroup(y,i){const b=i.currentTime;let W=0;const ce=y.steps.map(ke=>{i.currentTime=b;const Ve=Ln(this,ke,i);return W=Math.max(W,i.currentTime),Ve});return i.currentTime=W,{type:q.If.Group,steps:ce,options:Ki(y.options)}}visitAnimate(y,i){const b=function qi(c,y){if(c.hasOwnProperty("duration"))return c;if("number"==typeof c)return ls(Gt(c,y).duration,0,"");const i=c;if(i.split(/\s+/).some(ce=>"{"==ce.charAt(0)&&"{"==ce.charAt(1))){const ce=ls(0,0,"");return ce.dynamic=!0,ce.strValue=i,ce}const W=Gt(i,y);return ls(W.duration,W.delay,W.easing)}(y.timings,i.errors);i.currentAnimateTimings=b;let W,ce=y.styles?y.styles:(0,q.iF)({});if(ce.type==q.If.Keyframes)W=this.visitKeyframes(ce,i);else{let ke=y.styles,Ve=!1;if(!ke){Ve=!0;const tt={};b.easing&&(tt.easing=b.easing),ke=(0,q.iF)(tt)}i.currentTime+=b.duration+b.delay;const Ze=this.visitStyle(ke,i);Ze.isEmptyStep=Ve,W=Ze}return i.currentAnimateTimings=null,{type:q.If.Animate,timings:b,style:W,options:null}}visitStyle(y,i){const b=this._makeStyleAst(y,i);return this._validateStyleAst(b,i),b}_makeStyleAst(y,i){const b=[],W=Array.isArray(y.styles)?y.styles:[y.styles];for(let Ve of W)"string"==typeof Ve?Ve===q.kp?b.push(Ve):i.errors.push(new e.wOt(3002,!1)):b.push(new Map(Object.entries(Ve)));let ce=!1,ke=null;return b.forEach(Ve=>{if(Ve instanceof Map&&(Ve.has("easing")&&(ke=Ve.get("easing"),Ve.delete("easing")),!ce))for(let Ze of Ve.values())if(Ze.toString().indexOf("{{")>=0){ce=!0;break}}),{type:q.If.Style,styles:b,easing:ke,offset:y.offset,containsDynamicStyles:ce,options:null}}_validateStyleAst(y,i){const b=i.currentAnimateTimings;let W=i.currentTime,ce=i.currentTime;b&&ce>0&&(ce-=b.duration+b.delay),y.styles.forEach(ke=>{"string"!=typeof ke&&ke.forEach((Ve,Ze)=>{const tt=i.collectedStyles.get(i.currentQuerySelector),bt=tt.get(Ze);let Mt=!0;bt&&(ce!=W&&ce>=bt.startTime&&W<=bt.endTime&&(i.errors.push(function D(c,y,i,b,W){return new e.wOt(3010,!1)}()),Mt=!1),ce=bt.startTime),Mt&&tt.set(Ze,{startTime:ce,endTime:W}),i.options&&function di(c,y,i){const b=y.params||{},W=mi(c);W.length&&W.forEach(ce=>{b.hasOwnProperty(ce)||i.push(function pe(c){return new e.wOt(3001,!1)}())})}(Ve,i.options,i.errors)})})}visitKeyframes(y,i){const b={type:q.If.Keyframes,styles:[],options:null};if(!i.currentAnimateTimings)return i.errors.push(function A(){return new e.wOt(3011,!1)}()),b;let ce=0;const ke=[];let Ve=!1,Ze=!1,tt=0;const bt=y.steps.map(ui=>{const yi=this._makeStyleAst(ui,i);let fi=null!=yi.offset?yi.offset:function Di(c){if("string"==typeof c)return null;let y=null;if(Array.isArray(c))c.forEach(i=>{if(i instanceof Map&&i.has("offset")){const b=i;y=parseFloat(b.get("offset")),b.delete("offset")}});else if(c instanceof Map&&c.has("offset")){const i=c;y=parseFloat(i.get("offset")),i.delete("offset")}return y}(yi.styles),Ti=0;return null!=fi&&(ce++,Ti=yi.offset=fi),Ze=Ze||Ti<0||Ti>1,Ve=Ve||Ti0&&ce{const fi=Lt>0?yi==Wt?1:Lt*yi:ke[yi],Ti=fi*Yt;i.currentTime=Zt+hi.delay+Ti,hi.duration=Ti,this._validateStyleAst(ui,i),ui.offset=fi,b.styles.push(ui)}),b}visitReference(y,i){return{type:q.If.Reference,animation:Ln(this,Qt(y.animation),i),options:Ki(y.options)}}visitAnimateChild(y,i){return i.depCount++,{type:q.If.AnimateChild,options:Ki(y.options)}}visitAnimateRef(y,i){return{type:q.If.AnimateRef,animation:this.visitReference(y.animation,i),options:Ki(y.options)}}visitQuery(y,i){const b=i.currentQuerySelector,W=y.options||{};i.queryCount++,i.currentQuery=y;const[ce,ke]=function At(c){const y=!!c.split(/\s*,\s*/).find(i=>":self"==i);return y&&(c=c.replace(mt,"")),c=c.replace(/@\*/g,st).replace(/@\w+/g,i=>st+"-"+i.slice(1)).replace(/:animating/g,pt),[c,y]}(y.selector);i.currentQuerySelector=b.length?b+" "+ce:ce,N(i.collectedStyles,i.currentQuerySelector,new Map);const Ve=Ln(this,Qt(y.animation),i);return i.currentQuery=null,i.currentQuerySelector=b,{type:q.If.Query,selector:ce,limit:W.limit||0,optional:!!W.optional,includeSelf:ke,animation:Ve,originalSelector:y.selector,options:Ki(y.options)}}visitStagger(y,i){i.currentQuery||i.errors.push(function w(){return new e.wOt(3013,!1)}());const b="full"===y.timings?{duration:0,delay:0,easing:"full"}:Gt(y.timings,i.errors,!0);return{type:q.If.Stagger,animation:Ln(this,Qt(y.animation),i),timings:b,options:null}}}class si{constructor(y){this.errors=y,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set}}function Ki(c){return c?(c={...c}).params&&(c.params=function $t(c){return c?{...c}:null}(c.params)):c={},c}function ls(c,y,i){return{duration:c,delay:y,easing:i}}function Hn(c,y,i,b,W,ce,ke=null,Ve=!1){return{type:1,element:c,keyframes:y,preStyleProps:i,postStyleProps:b,duration:W,delay:ce,totalTime:W+ce,easing:ke,subTimeline:Ve}}class tn{constructor(){this._map=new Map}get(y){return this._map.get(y)||[]}append(y,i){let b=this._map.get(y);b||this._map.set(y,b=[]),b.push(...i)}has(y){return this._map.has(y)}clear(){this._map.clear()}}const sn=new RegExp(":enter","g"),Er=new RegExp(":leave","g");function bs(c,y,i,b,W,ce=new Map,ke=new Map,Ve,Ze,tt=[]){return(new Un).buildKeyframes(c,y,i,b,W,ce,ke,Ve,Ze,tt)}class Un{buildKeyframes(y,i,b,W,ce,ke,Ve,Ze,tt,bt=[]){tt=tt||new tn;const Mt=new Ui(y,i,tt,W,ce,bt,[]);Mt.options=Ze;const Lt=Ze.delay?ht(Ze.delay):0;Mt.currentTimeline.delayNextStep(Lt),Mt.currentTimeline.setStyles([ke],null,Mt.errors,Ze),Ln(this,b,Mt);const Wt=Mt.timelines.filter(Zt=>Zt.containsAnimation());if(Wt.length&&Ve.size){let Zt;for(let hi=Wt.length-1;hi>=0;hi--){const Yt=Wt[hi];if(Yt.element===i){Zt=Yt;break}}Zt&&!Zt.allowOnlyTimelineStyles()&&Zt.setStyles([Ve],null,Mt.errors,Ze)}return Wt.length?Wt.map(Zt=>Zt.buildKeyframes()):[Hn(i,[],[],[],0,Lt,"",!1)]}visitTrigger(y,i){}visitState(y,i){}visitTransition(y,i){}visitAnimateChild(y,i){const b=i.subInstructions.get(i.element);if(b){const W=i.createSubContext(y.options),ce=i.currentTimeline.currentTime,ke=this._visitSubInstructions(b,W,W.options);ce!=ke&&i.transformIntoNewTimeline(ke)}i.previousNode=y}visitAnimateRef(y,i){const b=i.createSubContext(y.options);b.transformIntoNewTimeline(),this._applyAnimationRefDelays([y.options,y.animation.options],i,b),this.visitReference(y.animation,b),i.transformIntoNewTimeline(b.currentTimeline.currentTime),i.previousNode=y}_applyAnimationRefDelays(y,i,b){for(const W of y){const ce=W?.delay;if(ce){const ke="number"==typeof ce?ce:ht(vi(ce,W?.params??{},i.errors));b.delayNextStep(ke)}}}_visitSubInstructions(y,i,b){let ce=i.currentTimeline.currentTime;const ke=null!=b.duration?ht(b.duration):null,Ve=null!=b.delay?ht(b.delay):null;return 0!==ke&&y.forEach(Ze=>{const tt=i.appendInstructionToTimeline(Ze,ke,Ve);ce=Math.max(ce,tt.duration+tt.delay)}),ce}visitReference(y,i){i.updateOptions(y.options,!0),Ln(this,y.animation,i),i.previousNode=y}visitSequence(y,i){const b=i.subContextCount;let W=i;const ce=y.options;if(ce&&(ce.params||ce.delay)&&(W=i.createSubContext(ce),W.transformIntoNewTimeline(),null!=ce.delay)){W.previousNode.type==q.If.Style&&(W.currentTimeline.snapshotCurrentStyles(),W.previousNode=pr);const ke=ht(ce.delay);W.delayNextStep(ke)}y.steps.length&&(y.steps.forEach(ke=>Ln(this,ke,W)),W.currentTimeline.applyStylesToKeyframe(),W.subContextCount>b&&W.transformIntoNewTimeline()),i.previousNode=y}visitGroup(y,i){const b=[];let W=i.currentTimeline.currentTime;const ce=y.options&&y.options.delay?ht(y.options.delay):0;y.steps.forEach(ke=>{const Ve=i.createSubContext(y.options);ce&&Ve.delayNextStep(ce),Ln(this,ke,Ve),W=Math.max(W,Ve.currentTimeline.currentTime),b.push(Ve.currentTimeline)}),b.forEach(ke=>i.currentTimeline.mergeTimelineCollectedStyles(ke)),i.transformIntoNewTimeline(W),i.previousNode=y}_visitTiming(y,i){if(y.dynamic){const b=y.strValue;return Gt(i.params?vi(b,i.params,i.errors):b,i.errors)}return{duration:y.duration,delay:y.delay,easing:y.easing}}visitAnimate(y,i){const b=i.currentAnimateTimings=this._visitTiming(y.timings,i),W=i.currentTimeline;b.delay&&(i.incrementTime(b.delay),W.snapshotCurrentStyles());const ce=y.style;ce.type==q.If.Keyframes?this.visitKeyframes(ce,i):(i.incrementTime(b.duration),this.visitStyle(ce,i),W.applyStylesToKeyframe()),i.currentAnimateTimings=null,i.previousNode=y}visitStyle(y,i){const b=i.currentTimeline,W=i.currentAnimateTimings;!W&&b.hasCurrentStyleProperties()&&b.forwardFrame();const ce=W&&W.easing||y.easing;y.isEmptyStep?b.applyEmptyStep(ce):b.setStyles(y.styles,ce,i.errors,i.options),i.previousNode=y}visitKeyframes(y,i){const b=i.currentAnimateTimings,W=i.currentTimeline.duration,ce=b.duration,Ve=i.createSubContext().currentTimeline;Ve.easing=b.easing,y.styles.forEach(Ze=>{Ve.forwardTime((Ze.offset||0)*ce),Ve.setStyles(Ze.styles,Ze.easing,i.errors,i.options),Ve.applyStylesToKeyframe()}),i.currentTimeline.mergeTimelineCollectedStyles(Ve),i.transformIntoNewTimeline(W+ce),i.previousNode=y}visitQuery(y,i){const b=i.currentTimeline.currentTime,W=y.options||{},ce=W.delay?ht(W.delay):0;ce&&(i.previousNode.type===q.If.Style||0==b&&i.currentTimeline.hasCurrentStyleProperties())&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=pr);let ke=b;const Ve=i.invokeQuery(y.selector,y.originalSelector,y.limit,y.includeSelf,!!W.optional,i.errors);i.currentQueryTotal=Ve.length;let Ze=null;Ve.forEach((tt,bt)=>{i.currentQueryIndex=bt;const Mt=i.createSubContext(y.options,tt);ce&&Mt.delayNextStep(ce),tt===i.element&&(Ze=Mt.currentTimeline),Ln(this,y.animation,Mt),Mt.currentTimeline.applyStylesToKeyframe(),ke=Math.max(ke,Mt.currentTimeline.currentTime)}),i.currentQueryIndex=0,i.currentQueryTotal=0,i.transformIntoNewTimeline(ke),Ze&&(i.currentTimeline.mergeTimelineCollectedStyles(Ze),i.currentTimeline.snapshotCurrentStyles()),i.previousNode=y}visitStagger(y,i){const b=i.parentContext,W=i.currentTimeline,ce=y.timings,ke=Math.abs(ce.duration),Ve=ke*(i.currentQueryTotal-1);let Ze=ke*i.currentQueryIndex;switch(ce.duration<0?"reverse":ce.easing){case"reverse":Ze=Ve-Ze;break;case"full":Ze=b.currentStaggerTime}const bt=i.currentTimeline;Ze&&bt.delayNextStep(Ze);const Mt=bt.currentTime;Ln(this,y.animation,i),i.previousNode=y,b.currentStaggerTime=W.currentTime-Mt+(W.startTime-b.currentTimeline.startTime)}}const pr={};class Ui{constructor(y,i,b,W,ce,ke,Ve,Ze){this._driver=y,this.element=i,this.subInstructions=b,this._enterClassName=W,this._leaveClassName=ce,this.errors=ke,this.timelines=Ve,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=pr,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=Ze||new ln(this._driver,i,0),Ve.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(y,i){if(!y)return;const b=y;let W=this.options;null!=b.duration&&(W.duration=ht(b.duration)),null!=b.delay&&(W.delay=ht(b.delay));const ce=b.params;if(ce){let ke=W.params;ke||(ke=this.options.params={}),Object.keys(ce).forEach(Ve=>{(!i||!ke.hasOwnProperty(Ve))&&(ke[Ve]=vi(ce[Ve],ke,this.errors))})}}_copyOptions(){const y={};if(this.options){const i=this.options.params;if(i){const b=y.params={};Object.keys(i).forEach(W=>{b[W]=i[W]})}}return y}createSubContext(y=null,i,b){const W=i||this.element,ce=new Ui(this._driver,W,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(W,b||0));return ce.previousNode=this.previousNode,ce.currentAnimateTimings=this.currentAnimateTimings,ce.options=this._copyOptions(),ce.updateOptions(y),ce.currentQueryIndex=this.currentQueryIndex,ce.currentQueryTotal=this.currentQueryTotal,ce.parentContext=this,this.subContextCount++,ce}transformIntoNewTimeline(y){return this.previousNode=pr,this.currentTimeline=this.currentTimeline.fork(this.element,y),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(y,i,b){const W={duration:i??y.duration,delay:this.currentTimeline.currentTime+(b??0)+y.delay,easing:""},ce=new Na(this._driver,y.element,y.keyframes,y.preStyleProps,y.postStyleProps,W,y.stretchStartingKeyframe);return this.timelines.push(ce),W}incrementTime(y){this.currentTimeline.forwardTime(this.currentTimeline.duration+y)}delayNextStep(y){y>0&&this.currentTimeline.delayNextStep(y)}invokeQuery(y,i,b,W,ce,ke){let Ve=[];if(W&&Ve.push(this.element),y.length>0){y=(y=y.replace(sn,"."+this._enterClassName)).replace(Er,"."+this._leaveClassName);let tt=this._driver.query(this.element,y,1!=b);0!==b&&(tt=b<0?tt.slice(tt.length+b,tt.length):tt.slice(0,b)),Ve.push(...tt)}return!ce&&0==Ve.length&&ke.push(function G(c){return new e.wOt(3014,!1)}()),Ve}}class ln{constructor(y,i,b,W){this._driver=y,this.element=i,this.startTime=b,this._elementTimelineStylesLookup=W,this.duration=0,this.easing=null,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(i),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(i,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(y){const i=1===this._keyframes.size&&this._pendingStyles.size;this.duration||i?(this.forwardTime(this.currentTime+y),i&&this.snapshotCurrentStyles()):this.startTime+=y}fork(y,i){return this.applyStylesToKeyframe(),new ln(this._driver,y,i||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(y){this.applyStylesToKeyframe(),this.duration=y,this._loadKeyframe()}_updateStyle(y,i){this._localTimelineStyles.set(y,i),this._globalTimelineStyles.set(y,i),this._styleSummary.set(y,{time:this.currentTime,value:i})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(y){y&&this._previousKeyframe.set("easing",y);for(let[i,b]of this._globalTimelineStyles)this._backFill.set(i,b||q.kp),this._currentKeyframe.set(i,q.kp);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(y,i,b,W){i&&this._previousKeyframe.set("easing",i);const ce=W&&W.params||{},ke=function Fa(c,y){const i=new Map;let b;return c.forEach(W=>{if("*"===W){b??=y.keys();for(let ce of b)i.set(ce,q.kp)}else for(let[ce,ke]of W)i.set(ce,ke)}),i}(y,this._globalTimelineStyles);for(let[Ve,Ze]of ke){const tt=vi(Ze,ce,b);this._pendingStyles.set(Ve,tt),this._localTimelineStyles.has(Ve)||this._backFill.set(Ve,this._globalTimelineStyles.get(Ve)??q.kp),this._updateStyle(Ve,tt)}}applyStylesToKeyframe(){0!=this._pendingStyles.size&&(this._pendingStyles.forEach((y,i)=>{this._currentKeyframe.set(i,y)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((y,i)=>{this._currentKeyframe.has(i)||this._currentKeyframe.set(i,y)}))}snapshotCurrentStyles(){for(let[y,i]of this._localTimelineStyles)this._pendingStyles.set(y,i),this._updateStyle(y,i)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const y=[];for(let i in this._currentKeyframe)y.push(i);return y}mergeTimelineCollectedStyles(y){y._styleSummary.forEach((i,b)=>{const W=this._styleSummary.get(b);(!W||i.time>W.time)&&this._updateStyle(b,i.value)})}buildKeyframes(){this.applyStylesToKeyframe();const y=new Set,i=new Set,b=1===this._keyframes.size&&0===this.duration;let W=[];this._keyframes.forEach((Ve,Ze)=>{const tt=new Map([...this._backFill,...Ve]);tt.forEach((bt,Mt)=>{bt===q.FX?y.add(Mt):bt===q.kp&&i.add(Mt)}),b||tt.set("offset",Ze/this.duration),W.push(tt)});const ce=[...y.values()],ke=[...i.values()];if(b){const Ve=W[0],Ze=new Map(Ve);Ve.set("offset",0),Ze.set("offset",1),W=[Ve,Ze]}return Hn(this.element,W,ce,ke,this.duration,this.startTime,this.easing,!1)}}class Na extends ln{constructor(y,i,b,W,ce,ke,Ve=!1){super(y,i,ke.delay),this.keyframes=b,this.preStyleProps=W,this.postStyleProps=ce,this._stretchStartingKeyframe=Ve,this.timings={duration:ke.duration,delay:ke.delay,easing:ke.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let y=this.keyframes,{delay:i,duration:b,easing:W}=this.timings;if(this._stretchStartingKeyframe&&i){const ce=[],ke=b+i,Ve=i/ke,Ze=new Map(y[0]);Ze.set("offset",0),ce.push(Ze);const tt=new Map(y[0]);tt.set("offset",lr(Ve)),ce.push(tt);const bt=y.length-1;for(let Mt=1;Mt<=bt;Mt++){let Lt=new Map(y[Mt]);const Wt=Lt.get("offset");Lt.set("offset",lr((i+Wt*b)/ke)),ce.push(Lt)}b=ke,i=0,W="",y=ce}return Hn(this.element,y,this.preStyleProps,this.postStyleProps,b,i,W,!0)}}function lr(c,y=3){const i=Math.pow(10,y-1);return Math.round(c*i)/i}function Ba(c,y,i,b,W,ce,ke,Ve,Ze,tt,bt,Mt,Lt){return{type:0,element:c,triggerName:y,isRemovalTransition:W,fromState:i,fromStyles:ce,toState:b,toStyles:ke,timelines:Ve,queriedElements:Ze,preStyleProps:tt,postStyleProps:bt,totalTime:Mt,errors:Lt}}const ja={};class go{constructor(y,i,b){this._triggerName=y,this.ast=i,this._stateStyles=b}match(y,i,b,W){return function Va(c,y,i,b,W){return c.some(ce=>ce(y,i,b,W))}(this.ast.matchers,y,i,b,W)}buildStyles(y,i,b){let W=this._stateStyles.get("*");return void 0!==y&&(W=this._stateStyles.get(y?.toString())||W),W?W.buildStyles(i,b):new Map}build(y,i,b,W,ce,ke,Ve,Ze,tt,bt){const Mt=[],Lt=this.ast.options&&this.ast.options.params||ja,Zt=this.buildStyles(b,Ve&&Ve.params||ja,Mt),hi=Ze&&Ze.params||ja,Yt=this.buildStyles(W,hi,Mt),ui=new Set,yi=new Map,fi=new Map,Ti="void"===W,ji={params:za(hi,Lt),delay:this.ast.options?.delay},Mi=bt?[]:bs(y,i,this.ast.animation,ce,ke,Zt,Yt,ji,tt,Mt);let hn=0;return Mi.forEach(dn=>{hn=Math.max(dn.duration+dn.delay,hn)}),Mt.length?Ba(i,this._triggerName,b,W,Ti,Zt,Yt,[],[],yi,fi,hn,Mt):(Mi.forEach(dn=>{const xs=dn.element,An=N(yi,xs,new Set);dn.preStyleProps.forEach(Xn=>An.add(Xn));const Hi=N(fi,xs,new Set);dn.postStyleProps.forEach(Xn=>Hi.add(Xn)),xs!==i&&ui.add(xs)}),Ba(i,this._triggerName,b,W,Ti,Zt,Yt,Mi,[...ui.values()],yi,fi,hn))}}function za(c,y){const i={...y};return Object.entries(c).forEach(([b,W])=>{null!=W&&(i[b]=W)}),i}class $s{constructor(y,i,b){this.styles=y,this.defaultParams=i,this.normalizer=b}buildStyles(y,i){const b=new Map,W=za(y,this.defaultParams);return this.styles.styles.forEach(ce=>{"string"!=typeof ce&&ce.forEach((ke,Ve)=>{ke&&(ke=vi(ke,W,i));const Ze=this.normalizer.normalizePropertyName(Ve,i);ke=this.normalizer.normalizeStyleValue(Ve,Ze,ke,i),b.set(Ve,ke)})}),b}}class Rl{constructor(y,i,b){this.name=y,this.ast=i,this._normalizer=b,this.transitionFactories=[],this.states=new Map,i.states.forEach(W=>{this.states.set(W.name,new $s(W.style,W.options&&W.options.params||{},b))}),wr(this.states,"true","1"),wr(this.states,"false","0"),i.transitions.forEach(W=>{this.transitionFactories.push(new go(y,W,this.states))}),this.fallbackTransition=function Nl(c,y,i){return new go(c,{type:q.If.Transition,animation:{type:q.If.Sequence,steps:[],options:null},matchers:[(ke,Ve)=>!0],options:null,queryCount:0,depCount:0},y)}(y,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(y,i,b,W){return this.transitionFactories.find(ke=>ke.match(y,i,b,W))||null}matchStyles(y,i,b){return this.fallbackTransition.buildStyles(y,i,b)}}function wr(c,y,i){c.has(y)?c.has(i)||c.set(i,c.get(y)):c.has(i)&&c.set(y,c.get(i))}const Jr=new tn;class Xo{constructor(y,i,b){this.bodyNode=y,this._driver=i,this._normalizer=b,this._animations=new Map,this._playersById=new Map,this.players=[]}register(y,i){const b=[],ce=_t(this._driver,i,b,[]);if(b.length)throw function n(c){return new e.wOt(3503,!1)}();this._animations.set(y,ce)}_buildPlayer(y,i,b){const W=y.element,ce=S(this._normalizer,y.keyframes,i,b);return this._driver.animate(W,ce,y.duration,y.delay,y.easing,[],!0)}create(y,i,b={}){const W=[],ce=this._animations.get(y);let ke;const Ve=new Map;if(ce?(ke=bs(this._driver,i,ce,Je,lt,new Map,new Map,b,Jr,W),ke.forEach(bt=>{const Mt=N(Ve,bt.element,new Map);bt.postStyleProps.forEach(Lt=>Mt.set(Lt,null))})):(W.push(function r(){return new e.wOt(3300,!1)}()),ke=[]),W.length)throw function l(c){return new e.wOt(3504,!1)}();Ve.forEach((bt,Mt)=>{bt.forEach((Lt,Wt)=>{bt.set(Wt,this._driver.computeStyle(Mt,Wt,q.kp))})});const tt=se(ke.map(bt=>{const Mt=Ve.get(bt.element);return this._buildPlayer(bt,new Map,Mt)}));return this._playersById.set(y,tt),tt.onDestroy(()=>this.destroy(y)),this.players.push(tt),tt}destroy(y){const i=this._getPlayer(y);i.destroy(),this._playersById.delete(y);const b=this.players.indexOf(i);b>=0&&this.players.splice(b,1)}_getPlayer(y){const i=this._playersById.get(y);if(!i)throw function d(c){return new e.wOt(3301,!1)}();return i}listen(y,i,b,W){const ce=x(i,"","","");return $(this._getPlayer(y),b,ce,W),()=>{}}command(y,i,b,W){if("register"==b)return void this.register(y,W[0]);if("create"==b)return void this.create(y,i,W[0]||{});const ce=this._getPlayer(y);switch(b){case"play":ce.play();break;case"pause":ce.pause();break;case"reset":ce.reset();break;case"restart":ce.restart();break;case"finish":ce.finish();break;case"init":ce.init();break;case"setPosition":ce.setPosition(parseFloat(W[0]));break;case"destroy":this.destroy(y)}}}const Fl="ng-animate-queued",da="ng-animate-disabled",tr=[],Ha={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Es={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},ir="__ng_removed";class $i{get params(){return this.options.params}constructor(y,i=""){this.namespaceId=i;const b=y&&y.hasOwnProperty("value");if(this.value=function fa(c){return c??null}(b?y.value:y),b){const{value:ce,...ke}=y;this.options=ke}else this.options={};this.options.params||(this.options.params={})}absorbOptions(y){const i=y.params;if(i){const b=this.options.params;Object.keys(i).forEach(W=>{null==b[W]&&(b[W]=i[W])})}}}const Ar="void",So=new $i(Ar);class Yo{constructor(y,i,b){this.id=y,this.hostElement=i,this._engine=b,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+y,cr(i,this._hostClassName)}listen(y,i,b,W){if(!this._triggers.has(i))throw function C(c,y){return new e.wOt(3302,!1)}();if(null==b||0==b.length)throw function k(c){return new e.wOt(3303,!1)}();if(!function ga(c){return"start"==c||"done"==c}(b))throw function p(c,y){return new e.wOt(3400,!1)}();const ce=N(this._elementListeners,y,[]),ke={name:i,phase:b,callback:W};ce.push(ke);const Ve=N(this._engine.statesByElement,y,new Map);return Ve.has(i)||(cr(y,qe),cr(y,qe+"-"+i),Ve.set(i,So)),()=>{this._engine.afterFlush(()=>{const Ze=ce.indexOf(ke);Ze>=0&&ce.splice(Ze,1),this._triggers.has(i)||Ve.delete(i)})}}register(y,i){return!this._triggers.has(y)&&(this._triggers.set(y,i),!0)}_getTrigger(y){const i=this._triggers.get(y);if(!i)throw function T(c){return new e.wOt(3401,!1)}();return i}trigger(y,i,b,W=!0){const ce=this._getTrigger(i),ke=new ua(this.id,i,y);let Ve=this._engine.statesByElement.get(y);Ve||(cr(y,qe),cr(y,qe+"-"+i),this._engine.statesByElement.set(y,Ve=new Map));let Ze=Ve.get(i);const tt=new $i(b,this.id);if(!(b&&b.hasOwnProperty("value"))&&Ze&&tt.absorbOptions(Ze.options),Ve.set(i,tt),Ze||(Ze=So),tt.value!==Ar&&Ze.value===tt.value){if(!function Zo(c,y){const i=Object.keys(c),b=Object.keys(y);if(i.length!=b.length)return!1;for(let W=0;W{wt(y,Yt),xt(y,ui)})}return}const Lt=N(this._engine.playersByElement,y,[]);Lt.forEach(hi=>{hi.namespaceId==this.id&&hi.triggerName==i&&hi.queued&&hi.destroy()});let Wt=ce.matchTransition(Ze.value,tt.value,y,tt.params),Zt=!1;if(!Wt){if(!W)return;Wt=ce.fallbackTransition,Zt=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:y,triggerName:i,transition:Wt,fromState:Ze,toState:tt,player:ke,isFallbackTransition:Zt}),Zt||(cr(y,Fl),ke.onStart(()=>{es(y,Fl)})),ke.onDone(()=>{let hi=this.players.indexOf(ke);hi>=0&&this.players.splice(hi,1);const Yt=this._engine.playersByElement.get(y);if(Yt){let ui=Yt.indexOf(ke);ui>=0&&Yt.splice(ui,1)}}),this.players.push(ke),Lt.push(ke),ke}deregister(y){this._triggers.delete(y),this._engine.statesByElement.forEach(i=>i.delete(y)),this._elementListeners.forEach((i,b)=>{this._elementListeners.set(b,i.filter(W=>W.name!=y))})}clearElementCache(y){this._engine.statesByElement.delete(y),this._elementListeners.delete(y);const i=this._engine.playersByElement.get(y);i&&(i.forEach(b=>b.destroy()),this._engine.playersByElement.delete(y))}_signalRemovalForInnerTriggers(y,i){const b=this._engine.driver.query(y,st,!0);b.forEach(W=>{if(W[ir])return;const ce=this._engine.fetchNamespacesByElement(W);ce.size?ce.forEach(ke=>ke.triggerLeaveAnimation(W,i,!1,!0)):this.clearElementCache(W)}),this._engine.afterFlushAnimationsDone(()=>b.forEach(W=>this.clearElementCache(W)))}triggerLeaveAnimation(y,i,b,W){const ce=this._engine.statesByElement.get(y),ke=new Map;if(ce){const Ve=[];if(ce.forEach((Ze,tt)=>{if(ke.set(tt,Ze.value),this._triggers.has(tt)){const bt=this.trigger(y,tt,Ar,W);bt&&Ve.push(bt)}}),Ve.length)return this._engine.markElementAsRemoved(this.id,y,!0,i,ke),b&&se(Ve).onDone(()=>this._engine.processLeaveNode(y)),!0}return!1}prepareLeaveAnimationListeners(y){const i=this._elementListeners.get(y),b=this._engine.statesByElement.get(y);if(i&&b){const W=new Set;i.forEach(ce=>{const ke=ce.name;if(W.has(ke))return;W.add(ke);const Ze=this._triggers.get(ke).fallbackTransition,tt=b.get(ke)||So,bt=new $i(Ar),Mt=new ua(this.id,ke,y);this._engine.totalQueuedPlayers++,this._queue.push({element:y,triggerName:ke,transition:Ze,fromState:tt,toState:bt,player:Mt,isFallbackTransition:!0})})}}removeNode(y,i){const b=this._engine;if(y.childElementCount&&this._signalRemovalForInnerTriggers(y,i),this.triggerLeaveAnimation(y,i,!0))return;let W=!1;if(b.totalAnimations){const ce=b.players.length?b.playersByQueriedElement.get(y):[];if(ce&&ce.length)W=!0;else{let ke=y;for(;ke=ke.parentNode;)if(b.statesByElement.get(ke)){W=!0;break}}}if(this.prepareLeaveAnimationListeners(y),W)b.markElementAsRemoved(this.id,y,!1,i);else{const ce=y[ir];(!ce||ce===Ha)&&(b.afterFlush(()=>this.clearElementCache(y)),b.destroyInnerAnimations(y),b._onRemovalComplete(y,i))}}insertNode(y,i){cr(y,this._hostClassName)}drainQueuedTransitions(y){const i=[];return this._queue.forEach(b=>{const W=b.player;if(W.destroyed)return;const ce=b.element,ke=this._elementListeners.get(ce);ke&&ke.forEach(Ve=>{if(Ve.name==b.triggerName){const Ze=x(ce,b.triggerName,b.fromState.value,b.toState.value);Ze._data=y,$(b.player,Ve.phase,Ze,Ve.callback)}}),W.markedForDestroy?this._engine.afterFlush(()=>{W.destroy()}):i.push(b)}),this._queue=[],i.sort((b,W)=>{const ce=b.transition.ast.depCount,ke=W.transition.ast.depCount;return 0==ce||0==ke?ce-ke:this._engine.driver.containsElement(b.element,W.element)?1:-1})}destroy(y){this.players.forEach(i=>i.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,y)}}class ko{_onRemovalComplete(y,i){this.onRemovalComplete(y,i)}constructor(y,i,b,W){this.bodyNode=y,this.driver=i,this._normalizer=b,this.scheduler=W,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(ce,ke)=>{}}get queuedPlayers(){const y=[];return this._namespaceList.forEach(i=>{i.players.forEach(b=>{b.queued&&y.push(b)})}),y}createNamespace(y,i){const b=new Yo(y,i,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,i)?this._balanceNamespaceList(b,i):(this.newHostElements.set(i,b),this.collectEnterElement(i)),this._namespaceLookup[y]=b}_balanceNamespaceList(y,i){const b=this._namespaceList,W=this.namespacesByHostElement;if(b.length-1>=0){let ke=!1,Ve=this.driver.getParentElement(i);for(;Ve;){const Ze=W.get(Ve);if(Ze){const tt=b.indexOf(Ze);b.splice(tt+1,0,y),ke=!0;break}Ve=this.driver.getParentElement(Ve)}ke||b.unshift(y)}else b.push(y);return W.set(i,y),y}register(y,i){let b=this._namespaceLookup[y];return b||(b=this.createNamespace(y,i)),b}registerTrigger(y,i,b){let W=this._namespaceLookup[y];W&&W.register(i,b)&&this.totalAnimations++}destroy(y,i){y&&(this.afterFlush(()=>{}),this.afterFlushAnimationsDone(()=>{const b=this._fetchNamespace(y);this.namespacesByHostElement.delete(b.hostElement);const W=this._namespaceList.indexOf(b);W>=0&&this._namespaceList.splice(W,1),b.destroy(i),delete this._namespaceLookup[y]}))}_fetchNamespace(y){return this._namespaceLookup[y]}fetchNamespacesByElement(y){const i=new Set,b=this.statesByElement.get(y);if(b)for(let W of b.values())if(W.namespaceId){const ce=this._fetchNamespace(W.namespaceId);ce&&i.add(ce)}return i}trigger(y,i,b,W){if(Qs(i)){const ce=this._fetchNamespace(y);if(ce)return ce.trigger(i,b,W),!0}return!1}insertNode(y,i,b,W){if(!Qs(i))return;const ce=i[ir];if(ce&&ce.setForRemoval){ce.setForRemoval=!1,ce.setForMove=!0;const ke=this.collectedLeaveElements.indexOf(i);ke>=0&&this.collectedLeaveElements.splice(ke,1)}if(y){const ke=this._fetchNamespace(y);ke&&ke.insertNode(i,b)}W&&this.collectEnterElement(i)}collectEnterElement(y){this.collectedEnterElements.push(y)}markElementAsDisabled(y,i){i?this.disabledNodes.has(y)||(this.disabledNodes.add(y),cr(y,da)):this.disabledNodes.has(y)&&(this.disabledNodes.delete(y),es(y,da))}removeNode(y,i,b){if(Qs(i)){this.scheduler?.notify();const W=y?this._fetchNamespace(y):null;W?W.removeNode(i,b):this.markElementAsRemoved(y,i,!1,b);const ce=this.namespacesByHostElement.get(i);ce&&ce.id!==y&&ce.removeNode(i,b)}else this._onRemovalComplete(i,b)}markElementAsRemoved(y,i,b,W,ce){this.collectedLeaveElements.push(i),i[ir]={namespaceId:y,setForRemoval:W,hasAnimation:b,removedBeforeQueried:!1,previousTriggersValues:ce}}listen(y,i,b,W,ce){return Qs(i)?this._fetchNamespace(y).listen(i,b,W,ce):()=>{}}_buildInstruction(y,i,b,W,ce){return y.transition.build(this.driver,y.element,y.fromState.value,y.toState.value,b,W,y.fromState.options,y.toState.options,i,ce)}destroyInnerAnimations(y){let i=this.driver.query(y,st,!0);i.forEach(b=>this.destroyActiveAnimationsForElement(b)),0!=this.playersByQueriedElement.size&&(i=this.driver.query(y,pt,!0),i.forEach(b=>this.finishActiveQueriedAnimationOnElement(b)))}destroyActiveAnimationsForElement(y){const i=this.playersByElement.get(y);i&&i.forEach(b=>{b.queued?b.markedForDestroy=!0:b.destroy()})}finishActiveQueriedAnimationOnElement(y){const i=this.playersByQueriedElement.get(y);i&&i.forEach(b=>b.finish())}whenRenderingDone(){return new Promise(y=>{if(this.players.length)return se(this.players).onDone(()=>y());y()})}processLeaveNode(y){const i=y[ir];if(i&&i.setForRemoval){if(y[ir]=Ha,i.namespaceId){this.destroyInnerAnimations(y);const b=this._fetchNamespace(i.namespaceId);b&&b.clearElementCache(y)}this._onRemovalComplete(y,i.setForRemoval)}y.classList?.contains(da)&&this.markElementAsDisabled(y,!1),this.driver.query(y,".ng-animate-disabled",!0).forEach(b=>{this.markElementAsDisabled(b,!1)})}flush(y=-1){let i=[];if(this.newHostElements.size&&(this.newHostElements.forEach((b,W)=>this._balanceNamespaceList(b,W)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let b=0;bb()),this._flushFns=[],this._whenQuietFns.length){const b=this._whenQuietFns;this._whenQuietFns=[],i.length?se(i).onDone(()=>{b.forEach(W=>W())}):b.forEach(W=>W())}}reportError(y){throw function B(c){return new e.wOt(3402,!1)}()}_flushAnimations(y,i){const b=new tn,W=[],ce=new Map,ke=[],Ve=new Map,Ze=new Map,tt=new Map,bt=new Set;this.disabledNodes.forEach(_i=>{bt.add(_i);const Si=this.driver.query(_i,".ng-animate-queued",!0);for(let Vi=0;Vi{const Vi=Je+hi++;Zt.set(Si,Vi),_i.forEach(Gi=>cr(Gi,Vi))});const Yt=[],ui=new Set,yi=new Set;for(let _i=0;_iui.add(Gi)):yi.add(Si))}const fi=new Map,Ti=Ir(Lt,Array.from(ui));Ti.forEach((_i,Si)=>{const Vi=lt+hi++;fi.set(Si,Vi),_i.forEach(Gi=>cr(Gi,Vi))}),y.push(()=>{Wt.forEach((_i,Si)=>{const Vi=Zt.get(Si);_i.forEach(Gi=>es(Gi,Vi))}),Ti.forEach((_i,Si)=>{const Vi=fi.get(Si);_i.forEach(Gi=>es(Gi,Vi))}),Yt.forEach(_i=>{this.processLeaveNode(_i)})});const ji=[],Mi=[];for(let _i=this._namespaceList.length-1;_i>=0;_i--)this._namespaceList[_i].drainQueuedTransitions(i).forEach(Vi=>{const Gi=Vi.player,Nn=Vi.element;if(ji.push(Gi),this.collectedEnterElements.length){const ns=Nn[ir];if(ns&&ns.setForMove){if(ns.previousTriggersValues&&ns.previousTriggersValues.has(Vi.triggerName)){const Ur=ns.previousTriggersValues.get(Vi.triggerName),Ii=this.statesByElement.get(Vi.element);if(Ii&&Ii.has(Vi.triggerName)){const un=Ii.get(Vi.triggerName);un.value=Ur,Ii.set(Vi.triggerName,un)}}return void Gi.destroy()}}const is=!Mt||!this.driver.containsElement(Mt,Nn),Yn=fi.get(Nn),fo=Zt.get(Nn),ps=this._buildInstruction(Vi,b,fo,Yn,is);if(ps.errors&&ps.errors.length)return void Mi.push(ps);if(is)return Gi.onStart(()=>wt(Nn,ps.fromStyles)),Gi.onDestroy(()=>xt(Nn,ps.toStyles)),void W.push(Gi);if(Vi.isFallbackTransition)return Gi.onStart(()=>wt(Nn,ps.fromStyles)),Gi.onDestroy(()=>xt(Nn,ps.toStyles)),void W.push(Gi);const Qr=[];ps.timelines.forEach(ns=>{ns.stretchStartingKeyframe=!0,this.disabledNodes.has(ns.element)||Qr.push(ns)}),ps.timelines=Qr,b.append(Nn,ps.timelines),ke.push({instruction:ps,player:Gi,element:Nn}),ps.queriedElements.forEach(ns=>N(Ve,ns,[]).push(Gi)),ps.preStyleProps.forEach((ns,Ur)=>{if(ns.size){let Ii=Ze.get(Ur);Ii||Ze.set(Ur,Ii=new Set),ns.forEach((un,Gn)=>Ii.add(Gn))}}),ps.postStyleProps.forEach((ns,Ur)=>{let Ii=tt.get(Ur);Ii||tt.set(Ur,Ii=new Set),ns.forEach((un,Gn)=>Ii.add(Gn))})});if(Mi.length){const _i=[];Mi.forEach(Si=>{_i.push(function K(c,y){return new e.wOt(3505,!1)}())}),ji.forEach(Si=>Si.destroy()),this.reportError(_i)}const hn=new Map,dn=new Map;ke.forEach(_i=>{const Si=_i.element;b.has(Si)&&(dn.set(Si,Si),this._beforeAnimationBuild(_i.player.namespaceId,_i.instruction,hn))}),W.forEach(_i=>{const Si=_i.element;this._getPreviousPlayers(Si,!1,_i.namespaceId,_i.triggerName,null).forEach(Gi=>{N(hn,Si,[]).push(Gi),Gi.destroy()})});const xs=Yt.filter(_i=>to(_i,Ze,tt)),An=new Map;ma(An,this.driver,yi,tt,q.kp).forEach(_i=>{to(_i,Ze,tt)&&xs.push(_i)});const Xn=new Map;Wt.forEach((_i,Si)=>{ma(Xn,this.driver,new Set(_i),Ze,q.FX)}),xs.forEach(_i=>{const Si=An.get(_i),Vi=Xn.get(_i);An.set(_i,new Map([...Si?.entries()??[],...Vi?.entries()??[]]))});const Pi=[],Zi=[],rr={};ke.forEach(_i=>{const{element:Si,player:Vi,instruction:Gi}=_i;if(b.has(Si)){if(bt.has(Si))return Vi.onDestroy(()=>xt(Si,Gi.toStyles)),Vi.disabled=!0,Vi.overrideTotalTime(Gi.totalTime),void W.push(Vi);let Nn=rr;if(dn.size>1){let Yn=Si;const fo=[];for(;Yn=Yn.parentNode;){const ps=dn.get(Yn);if(ps){Nn=ps;break}fo.push(Yn)}fo.forEach(ps=>dn.set(ps,Nn))}const is=this._buildAnimation(Vi.namespaceId,Gi,hn,ce,Xn,An);if(Vi.setRealPlayer(is),Nn===rr)Pi.push(Vi);else{const Yn=this.playersByElement.get(Nn);Yn&&Yn.length&&(Vi.parentPlayer=se(Yn)),W.push(Vi)}}else wt(Si,Gi.fromStyles),Vi.onDestroy(()=>xt(Si,Gi.toStyles)),Zi.push(Vi),bt.has(Si)&&W.push(Vi)}),Zi.forEach(_i=>{const Si=ce.get(_i.element);if(Si&&Si.length){const Vi=se(Si);_i.setRealPlayer(Vi)}}),W.forEach(_i=>{_i.parentPlayer?_i.syncPlayerEvents(_i.parentPlayer):_i.destroy()});for(let _i=0;_i!is.destroyed);Nn.length?$r(this,Si,Nn):this.processLeaveNode(Si)}return Yt.length=0,Pi.forEach(_i=>{this.players.push(_i),_i.onDone(()=>{_i.destroy();const Si=this.players.indexOf(_i);this.players.splice(Si,1)}),_i.play()}),Pi}afterFlush(y){this._flushFns.push(y)}afterFlushAnimationsDone(y){this._whenQuietFns.push(y)}_getPreviousPlayers(y,i,b,W,ce){let ke=[];if(i){const Ve=this.playersByQueriedElement.get(y);Ve&&(ke=Ve)}else{const Ve=this.playersByElement.get(y);if(Ve){const Ze=!ce||ce==Ar;Ve.forEach(tt=>{tt.queued||!Ze&&tt.triggerName!=W||ke.push(tt)})}}return(b||W)&&(ke=ke.filter(Ve=>!(b&&b!=Ve.namespaceId||W&&W!=Ve.triggerName))),ke}_beforeAnimationBuild(y,i,b){const ce=i.element,ke=i.isRemovalTransition?void 0:y,Ve=i.isRemovalTransition?void 0:i.triggerName;for(const Ze of i.timelines){const tt=Ze.element,bt=tt!==ce,Mt=N(b,tt,[]);this._getPreviousPlayers(tt,bt,ke,Ve,i.toState).forEach(Wt=>{const Zt=Wt.getRealPlayer();Zt.beforeDestroy&&Zt.beforeDestroy(),Wt.destroy(),Mt.push(Wt)})}wt(ce,i.fromStyles)}_buildAnimation(y,i,b,W,ce,ke){const Ve=i.triggerName,Ze=i.element,tt=[],bt=new Set,Mt=new Set,Lt=i.timelines.map(Zt=>{const hi=Zt.element;bt.add(hi);const Yt=hi[ir];if(Yt&&Yt.removedBeforeQueried)return new q.sf(Zt.duration,Zt.delay);const ui=hi!==Ze,yi=function Ko(c){const y=[];return Do(c,y),y}((b.get(hi)||tr).map(hn=>hn.getRealPlayer())).filter(hn=>!!hn.element&&hn.element===hi),fi=ce.get(hi),Ti=ke.get(hi),ji=S(this._normalizer,Zt.keyframes,fi,Ti),Mi=this._buildPlayer(Zt,ji,yi);if(Zt.subTimeline&&W&&Mt.add(hi),ui){const hn=new ua(y,Ve,hi);hn.setRealPlayer(Mi),tt.push(hn)}return Mi});tt.forEach(Zt=>{N(this.playersByQueriedElement,Zt.element,[]).push(Zt),Zt.onDone(()=>function pa(c,y,i){let b=c.get(y);if(b){if(b.length){const W=b.indexOf(i);b.splice(W,1)}0==b.length&&c.delete(y)}return b}(this.playersByQueriedElement,Zt.element,Zt))}),bt.forEach(Zt=>cr(Zt,Tt));const Wt=se(Lt);return Wt.onDestroy(()=>{bt.forEach(Zt=>es(Zt,Tt)),xt(Ze,i.toStyles)}),Mt.forEach(Zt=>{N(W,Zt,[]).push(Wt)}),Wt}_buildPlayer(y,i,b){return i.length>0?this.driver.animate(y.element,i,y.duration,y.delay,y.easing,b):new q.sf(y.duration,y.delay)}}class ua{constructor(y,i,b){this.namespaceId=y,this.triggerName=i,this.element=b,this._player=new q.sf,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.parentPlayer=null,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(y){this._containsRealPlayer||(this._player=y,this._queuedCallbacks.forEach((i,b)=>{i.forEach(W=>$(y,b,void 0,W))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(y.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(y){this.totalTime=y}syncPlayerEvents(y){const i=this._player;i.triggerCallback&&y.onStart(()=>i.triggerCallback("start")),y.onDone(()=>this.finish()),y.onDestroy(()=>this.destroy())}_queueEvent(y,i){N(this._queuedCallbacks,y,[]).push(i)}onDone(y){this.queued&&this._queueEvent("done",y),this._player.onDone(y)}onStart(y){this.queued&&this._queueEvent("start",y),this._player.onStart(y)}onDestroy(y){this.queued&&this._queueEvent("destroy",y),this._player.onDestroy(y)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(y){this.queued||this._player.setPosition(y)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(y){const i=this._player;i.triggerCallback&&i.triggerCallback(y)}}function Qs(c){return c&&1===c.nodeType}function eo(c,y){const i=c.style.display;return c.style.display=y??"none",i}function ma(c,y,i,b,W){const ce=[];i.forEach(Ze=>ce.push(eo(Ze)));const ke=[];b.forEach((Ze,tt)=>{const bt=new Map;Ze.forEach(Mt=>{const Lt=y.computeStyle(tt,Mt,W);bt.set(Mt,Lt),(!Lt||0==Lt.length)&&(tt[ir]=Es,ke.push(tt))}),c.set(tt,bt)});let Ve=0;return i.forEach(Ze=>eo(Ze,ce[Ve++])),ke}function Ir(c,y){const i=new Map;if(c.forEach(Ve=>i.set(Ve,[])),0==y.length)return i;const W=new Set(y),ce=new Map;function ke(Ve){if(!Ve)return 1;let Ze=ce.get(Ve);if(Ze)return Ze;const tt=Ve.parentNode;return Ze=i.has(tt)?tt:W.has(tt)?1:ke(tt),ce.set(Ve,Ze),Ze}return y.forEach(Ve=>{const Ze=ke(Ve);1!==Ze&&i.get(Ze).push(Ve)}),i}function cr(c,y){c.classList?.add(y)}function es(c,y){c.classList?.remove(y)}function $r(c,y,i){se(i).onDone(()=>c.processLeaveNode(y))}function Do(c,y){for(let i=0;iW.add(ce)):y.set(c,b),i.delete(c),!0}class ba{constructor(y,i,b,W){this._driver=i,this._normalizer=b,this._triggerCache={},this.onRemovalComplete=(ce,ke)=>{},this._transitionEngine=new ko(y.body,i,b,W),this._timelineEngine=new Xo(y.body,i,b),this._transitionEngine.onRemovalComplete=(ce,ke)=>this.onRemovalComplete(ce,ke)}registerTrigger(y,i,b,W,ce){const ke=y+"-"+W;let Ve=this._triggerCache[ke];if(!Ve){const Ze=[],bt=_t(this._driver,ce,Ze,[]);if(Ze.length)throw function v(c,y){return new e.wOt(3404,!1)}();Ve=function ha(c,y,i){return new Rl(c,y,i)}(W,bt,this._normalizer),this._triggerCache[ke]=Ve}this._transitionEngine.registerTrigger(i,W,Ve)}register(y,i){this._transitionEngine.register(y,i)}destroy(y,i){this._transitionEngine.destroy(y,i)}onInsert(y,i,b,W){this._transitionEngine.insertNode(y,i,b,W)}onRemove(y,i,b){this._transitionEngine.removeNode(y,i,b)}disableAnimations(y,i){this._transitionEngine.markElementAsDisabled(y,i)}process(y,i,b,W){if("@"==b.charAt(0)){const[ce,ke]=R(b);this._timelineEngine.command(ce,i,ke,W)}else this._transitionEngine.trigger(y,i,b,W)}listen(y,i,b,W,ce){if("@"==b.charAt(0)){const[ke,Ve]=R(b);return this._timelineEngine.listen(ke,i,Ve,ce)}return this._transitionEngine.listen(y,i,b,W,ce)}flush(y=-1){this._transitionEngine.flush(y)}get players(){return[...this._transitionEngine.players,...this._timelineEngine.players]}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}afterFlushAnimationsDone(y){this._transitionEngine.afterFlushAnimationsDone(y)}}class Mo{static#e=this.initialStylesByElement=new WeakMap;constructor(y,i,b){this._element=y,this._startStyles=i,this._endStyles=b,this._state=0;let W=Mo.initialStylesByElement.get(y);W||Mo.initialStylesByElement.set(y,W=new Map),this._initialStyles=W}start(){this._state<1&&(this._startStyles&&xt(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(xt(this._element,this._initialStyles),this._endStyles&&(xt(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(Mo.initialStylesByElement.delete(this._element),this._startStyles&&(wt(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(wt(this._element,this._endStyles),this._endStyles=null),xt(this._element,this._initialStyles),this._state=3)}}function Js(c){let y=null;return c.forEach((i,b)=>{(function bo(c){return"display"===c||"position"===c})(b)&&(y=y||new Map,y.set(b,i))}),y}class Eo{constructor(y,i,b,W){this.element=y,this.keyframes=i,this.options=b,this._specialStyles=W,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this._originalOnDoneFns=[],this._originalOnStartFns=[],this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,this._duration=b.duration,this._delay=b.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(y=>y()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const y=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,y,this.options),this._finalKeyframe=y.length?y[y.length-1]:new Map;const i=()=>this._onFinish();this.domPlayer.addEventListener("finish",i),this.onDestroy(()=>{this.domPlayer.removeEventListener("finish",i)})}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(y){const i=[];return y.forEach(b=>{i.push(Object.fromEntries(b))}),i}_triggerWebAnimation(y,i,b){return y.animate(this._convertKeyframesToObject(i),b)}onStart(y){this._originalOnStartFns.push(y),this._onStartFns.push(y)}onDone(y){this._originalOnDoneFns.push(y),this._onDoneFns.push(y)}onDestroy(y){this._onDestroyFns.push(y)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(y=>y()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(y=>y()),this._onDestroyFns=[])}setPosition(y){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=y*this.time}getPosition(){return+(this.domPlayer.currentTime??0)/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const y=new Map;this.hasStarted()&&this._finalKeyframe.forEach((b,W)=>{"offset"!==W&&y.set(W,this._finished?b:fn(this.element,W))}),this.currentSnapshot=y}triggerCallback(y){const i="start"===y?this._onStartFns:this._onDoneFns;i.forEach(b=>b()),i.length=0}}class wh{validateStyleProperty(y){return!0}validateAnimatableStyleProperty(y){return!0}matchesElement(y,i){return!1}containsElement(y,i){return Be(y,i)}getParentElement(y){return Y(y)}query(y,i,b){return oe(y,i,b)}computeStyle(y,i,b){return fn(y,i)}animate(y,i,b,W,ce,ke=[]){const Ze={duration:b,delay:W,fill:0==W?"both":"forwards"};ce&&(Ze.easing=ce);const tt=new Map,bt=ke.filter(Wt=>Wt instanceof Eo);(function as(c,y){return 0===c||0===y})(b,W)&&bt.forEach(Wt=>{Wt.currentSnapshot.forEach((Zt,hi)=>tt.set(hi,Zt))});let Mt=function Dt(c){return c.length?c[0]instanceof Map?c:c.map(y=>new Map(Object.entries(y))):[]}(i).map(Wt=>new Map(Wt));Mt=function ms(c,y,i){if(i.size&&y.length){let b=y[0],W=[];if(i.forEach((ce,ke)=>{b.has(ke)||W.push(ke),b.set(ke,ce)}),W.length)for(let ce=1;ceke.set(Ve,fn(c,Ve)))}}return y}(y,Mt,tt);const Lt=function va(c,y){let i=null,b=null;return Array.isArray(y)&&y.length?(i=Js(y[0]),y.length>1&&(b=Js(y[y.length-1]))):y instanceof Map&&(i=Js(y)),i||b?new Mo(c,i,b):null}(y,Mt);return new Eo(y,Mt,Ze,Lt)}}const Ao="@.disabled";class ya{constructor(y,i,b,W){this.namespaceId=y,this.delegate=i,this.engine=b,this._onDestroy=W,this.\u0275type=0}get data(){return this.delegate.data}destroyNode(y){this.delegate.destroyNode?.(y)}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.engine.afterFlushAnimationsDone(()=>{queueMicrotask(()=>{this.delegate.destroy()})}),this._onDestroy?.()}createElement(y,i){return this.delegate.createElement(y,i)}createComment(y){return this.delegate.createComment(y)}createText(y){return this.delegate.createText(y)}appendChild(y,i){this.delegate.appendChild(y,i),this.engine.onInsert(this.namespaceId,i,y,!1)}insertBefore(y,i,b,W=!0){this.delegate.insertBefore(y,i,b),this.engine.onInsert(this.namespaceId,i,y,W)}removeChild(y,i,b){this.engine.onRemove(this.namespaceId,i,this.delegate)}selectRootElement(y,i){return this.delegate.selectRootElement(y,i)}parentNode(y){return this.delegate.parentNode(y)}nextSibling(y){return this.delegate.nextSibling(y)}setAttribute(y,i,b,W){this.delegate.setAttribute(y,i,b,W)}removeAttribute(y,i,b){this.delegate.removeAttribute(y,i,b)}addClass(y,i){this.delegate.addClass(y,i)}removeClass(y,i){this.delegate.removeClass(y,i)}setStyle(y,i,b,W){this.delegate.setStyle(y,i,b,W)}removeStyle(y,i,b){this.delegate.removeStyle(y,i,b)}setProperty(y,i,b){"@"==i.charAt(0)&&i==Ao?this.disableAnimations(y,!!b):this.delegate.setProperty(y,i,b)}setValue(y,i){this.delegate.setValue(y,i)}listen(y,i,b){return this.delegate.listen(y,i,b)}disableAnimations(y,i){this.engine.disableAnimations(y,i)}}class Io extends ya{constructor(y,i,b,W,ce){super(i,b,W,ce),this.factory=y,this.namespaceId=i}setProperty(y,i,b){"@"==i.charAt(0)?"."==i.charAt(1)&&i==Ao?this.disableAnimations(y,b=void 0===b||!!b):this.engine.process(this.namespaceId,y,i.slice(1),b):this.delegate.setProperty(y,i,b)}listen(y,i,b){if("@"==i.charAt(0)){const W=function hr(c){switch(c){case"body":return document.body;case"document":return document;case"window":return window;default:return c}}(y);let ce=i.slice(1),ke="";return"@"!=ce.charAt(0)&&([ce,ke]=function ol(c){const y=c.indexOf(".");return[c.substring(0,y),c.slice(y+1)]}(ce)),this.engine.listen(this.namespaceId,W,ce,ke,Ve=>{this.factory.scheduleListenerCallback(Ve._data||-1,b,Ve)})}return this.delegate.listen(y,i,b)}}class Or{constructor(y,i,b){this.delegate=y,this.engine=i,this._zone=b,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,i.onRemovalComplete=(W,ce)=>{const ke=ce?.parentNode(W);ke&&ce.removeChild(ke,W)}}createRenderer(y,i){const W=this.delegate.createRenderer(y,i);if(!y||!i?.data?.animation){const tt=this._rendererCache;let bt=tt.get(W);return bt||(bt=new ya("",W,this.engine,()=>tt.delete(W)),tt.set(W,bt)),bt}const ce=i.id,ke=i.id+"-"+this._currentId;this._currentId++,this.engine.register(ke,y);const Ve=tt=>{Array.isArray(tt)?tt.forEach(Ve):this.engine.registerTrigger(ce,ke,y,tt.name,tt)};return i.data.animation.forEach(Ve),new Io(this,ke,W,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){queueMicrotask(()=>{this._microtaskId++})}scheduleListenerCallback(y,i,b){if(y>=0&&yi(b));const W=this._animationCallbacksBuffer;0==W.length&&queueMicrotask(()=>{this._zone.run(()=>{W.forEach(ce=>{const[ke,Ve]=ce;ke(Ve)}),this._animationCallbacksBuffer=[]})}),W.push([i,b])}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}var cn=We(60177);const ct=[{provide:Ie,useFactory:function Ua(){return new Cs}},{provide:ba,useClass:(()=>{class c extends ba{constructor(i,b,W){super(i,b,W,(0,e.WQX)(e.An2,{optional:!0}))}ngOnDestroy(){this.flush()}static#e=this.\u0275fac=function(b){return new(b||c)(e.KVO(cn.qQ),e.KVO(xe),e.KVO(Ie))};static#t=this.\u0275prov=e.jDH({token:c,factory:c.\u0275fac})}return c})()},{provide:e._9s,useFactory:function ot(c,y,i){return new Or(c,y,i)},deps:[M.B7,ba,e.SKi]}],Ye=[{provide:xe,useFactory:()=>new wh},{provide:e.bc$,useValue:"BrowserAnimations"},...ct],vt=[{provide:xe,useClass:be},{provide:e.bc$,useValue:"NoopAnimations"},...ct];let Ft=(()=>{class c{static withConfig(i){return{ngModule:c,providers:i.disableAnimations?vt:Ye}}static#e=this.\u0275fac=function(b){return new(b||c)};static#t=this.\u0275mod=e.$C({type:c});static#i=this.\u0275inj=e.G2t({providers:Ye,imports:[M.Bb]})}return c})();var nr=We(38117),Vs=We(93887),qo=We(88652),gr=We(19664),ac=We(45794),Mn=We(99062),jl=We(41584),lc=We(25558),cc=We(39974),al=We(54360),ll=We(33669),ad=We(58750);function Vl(c=1/0){let y;y=c&&"object"==typeof c?c:{count:c};const{count:i=1/0,delay:b,resetOnSuccess:W=!1}=y;return i<=0?ll.D:(0,cc.N)((ce,ke)=>{let Ze,Ve=0;const tt=()=>{let bt=!1;Ze=ce.subscribe((0,al._)(ke,Mt=>{W&&(Ve=0),ke.next(Mt)},void 0,Mt=>{if(Ve++{Ze?(Ze.unsubscribe(),Ze=null,tt()):bt=!0};if(null!=b){const Wt="number"==typeof b?(0,jl.O)(b):(0,ad.Tg)(b(Mt,Ve)),Zt=(0,al._)(ke,()=>{Zt.unsubscribe(),Lt()},()=>{ke.complete()});Wt.subscribe(Zt)}else Lt()}else ke.error(Mt)})),bt&&(Ze.unsubscribe(),Ze=null,tt())};tt()})}var hc=We(97647),zl=We(56977),Oo=We(5964),Gl=We(96354),vo=We(20546),Wa=We(28990),pn=We(38852),vs=We(3366),fs=We(89417);const kr=()=>["/admin"],er=()=>({action:"plugin"}),Qo=()=>({action:"pairing"}),dc=()=>({action:"group"}),uc=()=>({action:"coordinator"}),Th=()=>["/admin/firmware"],Sh=()=>["/tools/error"];function Jo(c,y){if(1&c){const i=e.RV6();e.j41(0,"li",84),e.bIt("click",function(){e.eBV(i);const W=e.XpG();return e.Njj(W.toggleMenu())}),e.EFF(1,"\n "),e.nrm(2,"i",85),e.EFF(3," "),e.nrm(4,"span",86),e.EFF(5,"\n "),e.k0s()}}function pc(c,y){if(1&c){const i=e.RV6();e.j41(0,"li",91),e.bIt("click",function(){e.eBV(i);const W=e.XpG(2);return e.Njj(W.toggleMenu())}),e.EFF(1,"\n "),e.nrm(2,"img",92),e.EFF(3,"\n "),e.k0s()}}function cl(c,y){if(1&c){const i=e.RV6();e.j41(0,"li",93),e.bIt("click",function(){e.eBV(i);const W=e.XpG(2);return e.Njj(W.toggleMenu())}),e.EFF(1,"\n "),e.nrm(2,"img",94),e.EFF(3,"\n "),e.k0s()}}function Pc(c,y){if(1&c&&(e.j41(0,"li",87),e.EFF(1,"\n "),e.nrm(2,"a",88),e.EFF(3,"\n "),e.j41(4,"ul",21),e.EFF(5,"\n "),e.DNE(6,pc,4,0,"li",89),e.EFF(7,"\n "),e.DNE(8,cl,4,0,"li",90),e.EFF(9,"\n "),e.k0s(),e.EFF(10,"\n "),e.k0s()),2&c){const i=e.XpG();e.R7$(6),e.Y8G("ngIf",i.showManufacturerCasaia),e.R7$(2),e.Y8G("ngIf",i.showManufacturerZlinky)}}function Hl(c,y){1&c&&(e.j41(0,"div",95),e.EFF(1,"\n "),e.j41(2,"div",96),e.EFF(3,"\n "),e.j41(4,"div",97),e.EFF(5,"\n "),e.j41(6,"a",98),e.EFF(7,"\n "),e.nrm(8,"i",99),e.nI1(9,"translate"),e.nI1(10,"translate"),e.EFF(11,"\n "),e.k0s(),e.EFF(12,"\n "),e.k0s(),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n "),e.k0s()),2&c&&(e.R7$(6),e.Y8G("routerLink",e.lJ4(8,kr))("queryParams",e.lJ4(9,er)),e.R7$(2),e.FS9("ngbPopover",e.bMT(9,4,"header.popover.text")),e.FS9("popoverTitle",e.bMT(10,6,"header.popover.title")))}function Rc(c,y){1&c&&(e.j41(0,"div",95),e.EFF(1,"\n "),e.j41(2,"div",96),e.EFF(3,"\n "),e.j41(4,"div",97),e.EFF(5,"\n "),e.j41(6,"a",100),e.EFF(7,"\n "),e.nrm(8,"i",101),e.nI1(9,"translate"),e.nI1(10,"translate"),e.EFF(11,"\n "),e.k0s(),e.EFF(12,"\n "),e.k0s(),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n "),e.k0s()),2&c&&(e.R7$(6),e.Y8G("routerLink",e.lJ4(7,Sh)),e.R7$(2),e.FS9("ngbPopover",e.bMT(9,3,"error.popover.text")),e.FS9("popoverTitle",e.bMT(10,5,"error.popover.title")))}function Lo(c,y){if(1&c){const i=e.RV6();e.j41(0,"button",102),e.bIt("click",function(){const W=e.eBV(i).$implicit,ce=e.XpG();return e.Njj(ce.setLanguage(W))}),e.EFF(1,"\n "),e.nrm(2,"img",74),e.EFF(3,"\n "),e.k0s()}if(2&c){const i=y.$implicit;e.R7$(2),e.Mz_("src","assets/",i.flag,"",e.B4B)}}function Nc(c,y){if(1&c){const i=e.RV6();e.j41(0,"button",102),e.bIt("click",function(){const W=e.eBV(i).$implicit,ce=e.XpG();return e.Njj(ce.setLanguage(W))}),e.EFF(1,"\n "),e.nrm(2,"img",74),e.EFF(3,"\n "),e.k0s()}if(2&c){const i=y.$implicit;e.R7$(2),e.Mz_("src","assets/",i.flag,"",e.B4B)}}let Ul=(()=>{class c extends Wa.U{headerService;toastr;i18nService;apiService;translate;menuHidden=!0;permitToJoin;permitChecked=!1;restart;showManufacturerCasaia;showManufacturerZlinky;logError;settings;settingsToSave=[];plugin;poll=!1;constructor(i,b,W,ce,ke){super(),this.headerService=i,this.toastr=b,this.i18nService=W,this.apiService=ce,this.translate=ke}ngOnInit(){setTimeout(()=>{this.plugin=JSON.parse(sessionStorage.getItem("plugin"))},500),this.subs.add(this.headerService.restart.subscribe(i=>{this.restart=i})),this.subs.add(this.headerService.showManufacturerCasaia.subscribe(i=>{this.showManufacturerCasaia=i})),this.subs.add(this.headerService.showManufacturerZlinky.subscribe(i=>{this.showManufacturerZlinky=i})),this.subs.add(this.headerService.logError.subscribe(i=>this.logError=i)),this.subs.add(this.headerService.polling.subscribe(i=>{this.poll=i,this.subs.add((0,jl.O)(1,vo.c.refresh).pipe((0,lc.n)(()=>this.getPermitToJoin()),Vl(),(0,hc.u)(),(0,zl.Q)(this.headerService.polling.pipe((0,Oo.p)(b=>!1===b)))).subscribe())})),this.poll||this.getPermitToJoin().subscribe(),this.apiService.getSettings().subscribe(i=>{this.settings=i,this.settings.forEach(b=>{this.settingsToSave=this.settingsToSave.concat(b.ListOfSettings)})})}permit(i){this.permitToJoin.PermitToJoin=i.currentTarget.checked?240:0,this.startStopPermitToJoin(this.permitToJoin)}startStopPermitToJoin(i){this.apiService.putPermitToJoin(i).subscribe(()=>{240===i.PermitToJoin?(i.PermitToJoin=0,setTimeout(()=>this.startStopPermitToJoin(i),24e4),this.toastr.success(this.translate.instant("admin.permittojoin.on.notify"))):(this.getPermitToJoin().subscribe(),this.toastr.success(this.translate.instant("admin.permittojoin.off.notify")))})}toggleMenu(){this.menuHidden=!this.menuHidden}setLanguage(i){this.i18nService.language=i.code,this.updateSettings(i.code)}get currentLanguage(){return this.i18nService.language}get currentFlag(){return this.languages.find(i=>i.code===this.currentLanguage).flag}get languages(){return this.i18nService.supportedLanguages}updateSettings(i){const b={};this.settingsToSave.forEach(W=>{const ce=W.Name;let ke=W.current_value;"Lang"===ce&&(ke=i),b[ce]={current:ke}}),this.apiService.putSettings(b).subscribe()}getPermitToJoin(){return this.apiService.getPermitToJoin().pipe((0,Gl.T)(i=>{this.permitToJoin=i,this.permitChecked=0!==i.PermitToJoin}))}static \u0275fac=function(b){return new(b||c)(e.rXU(pn.d),e.rXU(ac.tw),e.rXU(nr.W4),e.rXU(vs.G),e.rXU(gr.c$))};static \u0275cmp=e.VBU({type:c,selectors:[["app-header"]],features:[e.Vt3],decls:252,vars:32,consts:[[1,"p-2","navbar","navbar-expand-xl","navbar-light","bg-light","navbar-fixed-top'"],[1,"container-fluid"],["href","https://github.com/zigbeefordomoticz/Domoticz-Zigbee",1,"navbar-brand"],["src","assets/z4d_logo.png","alt","Logo",1,"img-responsive","logo"],["type","button","aria-controls","appNavigation","aria-expanded","!menuHidden","aria-label","Toggle navigation",1,"navbar-toggler","navbar-toggler-right",3,"click"],[1,"navbar-toggler-icon"],["id","appNavigation",1,"collapse","navbar-collapse","float-xs-none","h-100","justify-content-between",3,"ngbCollapse"],[1,"navbar-nav","h-100"],["ngbDropdown","","routerLinkActive","active",1,"dropdown"],["routerLink","/dashboard","routerLinkActive","active",1,"nav-item","nav-link","mx-2"],[1,"fas","fa-home"],["ngbDropdown","","routerLinkActive","active",1,"nav-item","dropdown"],["id","dropdown1","ngbDropdownToggle","","translate","management",1,"nav-link","nav-item","dropdown-toggle"],["ngbDropdownMenu","","aria-labelledby","dropdown1",1,"dropdown-menu"],["routerLink","/device","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-tablet","me-2"],["translate","device"],["routerLink","/group","routerLinkActive","active",1,"dropdown-item","nav-link","nav-item",3,"click"],[1,"fas","fa-layer-group","me-2"],["translate","group"],["id","dropdown2","ngbDropdownToggle","","translate","network",1,"nav-link","nav-item","dropdown-toggle"],["ngbDropdownMenu","","aria-labelledby","dropdown2",1,"dropdown-menu"],["routerLink","/network/topology","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-wifi","me-2"],["translate","network.topo"],["routerLink","/network/energy-level","routerLinkActive","active",1,"dropdown-item","nav-link","nav-item",3,"click"],[1,"fas","fa-broadcast-tower","me-2"],["translate","network.energy"],["id","dropdown4","ngbDropdownToggle","","translate","admin",1,"nav-link","nav-item","dropdown-toggle"],["ngbDropdownMenu","","aria-labelledby","dropdown4",1,"dropdown-menu"],["routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click","routerLink","queryParams"],[1,"fas","fa-satellite-dish","me-2"],["translate","admin.plugin"],[1,"fab","fa-usb","me-2"],["translate","admin.pairing"],["translate","admin.group"],[1,"fas","fa-user","me-2"],["translate","admin.coordinator"],["routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click","routerLink"],[1,"fas","fa-retweet","me-2"],["translate","admin.firmware"],["routerLink","/settings","routerLinkActive","active",1,"nav-item","nav-link","mx-2"],[1,"fas","fa-cog"],["translate",""],["id","dropdown3","ngbDropdownToggle","","translate","tools",1,"nav-link","nav-item","dropdown-toggle"],["ngbDropdownMenu","","aria-labelledby","dropdown3",1,"dropdown-menu"],["routerLink","/tools/link","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-toolbox","me-2"],["translate","tools.tools"],["routerLink","/tools/command","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-lightbulb","me-2"],["translate","tools.command"],["class","dropdown-item nav-item nav-link","routerLink","/tools/configure","routerLinkActive","active",3,"click",4,"ngIf"],["routerLink","/tools/binding","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-compress-arrows-alt","me-2"],["translate","tools.binding"],["routerLink","/tools/debug","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-wrench","me-2"],["translate","tools.debug"],["routerLink","/tools/error","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-bug","me-2"],["translate","tools.error"],["ngbDropdown","","routerLinkActive","active","class","nav-item dropdown test",4,"ngIf"],["routerLink","/about","routerLinkActive","active",1,"nav-item","nav-link","mx-2"],[1,"fas","fa-question-circle"],["class","navbar-nav ml-auto",4,"ngIf"],[1,"d-none","d-xl-block"],[1,"navbar-nav","ml-auto","d-flex","align-items-center"],[1,"nav-item","border-start","ps-3"],[1,"switch","switch-sm","me-2","pe-3"],["type","checkbox","id","switch-sm",3,"ngModelChange","click","ngModel"],["for","switch-sm","translate","admin.permittojoin.label",1,"mb-0"],["ngbDropdown","","placement","bottom",1,"nav-item","border-start"],["id","language-dropdown","ngbDropdownToggle","",1,"nav-link","ps-3"],[1,"img-responsive",2,"width","1.25rem",3,"src"],["ngbDropdownMenu","","aria-labelledby","language-dropdown"],["class","dropdown-item",3,"click",4,"ngFor","ngForOf"],[1,"d-xl-none"],[1,"navbar-nav"],[1,"nav-item","border-top","mt-1"],[1,"switch","switch-sm","mt-3"],["for","switch-sm","translate","admin.permittojoin.label"],["ngbDropdown","","placement","bottom",1,"mb-3","nav-item","border-top","mt-3"],["id","language-dropdown mt-3","ngbDropdownToggle","",1,"nav-link"],["routerLink","/tools/configure","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-user-cog","me-2"],["translate","tools.reporting.configure"],["ngbDropdown","","routerLinkActive","active",1,"nav-item","dropdown","test"],["id","dropdown2","ngbDropdownToggle","","translate","manufacturer",1,"nav-link","nav-item","dropdown-toggle"],["class","dropdown-item nav-item nav-link","routerLink","/manufacturer/casaia","routerLinkActive","active",3,"click",4,"ngIf"],["class","dropdown-item nav-item nav-link","routerLink","/manufacturer/zlinky","routerLinkActive","active",3,"click",4,"ngIf"],["routerLink","/manufacturer/casaia","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],["src","assets/logo-casa.svg",2,"width","50%","height","50%"],["routerLink","/manufacturer/zlinky","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],["src","https://lixee.fr/img/prestashop-logo-1599316711.jpg",2,"width","30%","height","30%"],[1,"navbar-nav","ml-auto"],["ngbDropdown","","placement","bottom",1,"nav-item","d-flex","align-items-center","border-left","pl-5"],[1,"me-3"],["routerLinkActive","active",1,"nav-item","nav-link","mx-2",3,"routerLink","queryParams"],["triggers","mouseenter:mouseleave",1,"fa","fa-2x","fa-exclamation-circle","blink",3,"ngbPopover","popoverTitle"],["routerLinkActive","active",1,"nav-item","nav-link","mx-2",3,"routerLink"],["triggers","mouseenter:mouseleave",1,"fa","fa-2x","fa-exclamation-triangle","blink",3,"ngbPopover","popoverTitle"],[1,"dropdown-item",3,"click"]],template:function(b,W){1&b&&(e.j41(0,"nav",0),e.EFF(1,"\n "),e.j41(2,"div",1),e.EFF(3,"\n "),e.j41(4,"a",2),e.EFF(5,"\n "),e.nrm(6,"img",3),e.EFF(7,"\n "),e.k0s(),e.EFF(8,"\n\n "),e.j41(9,"button",4),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(10,"\n "),e.nrm(11,"span",5),e.EFF(12,"\n "),e.k0s(),e.EFF(13,"\n\n "),e.j41(14,"div",6),e.EFF(15,"\n "),e.j41(16,"ul",7),e.EFF(17,"\n "),e.j41(18,"li",8),e.EFF(19,"\n "),e.j41(20,"a",9),e.EFF(21,"\n "),e.nrm(22,"i",10),e.EFF(23,"\n "),e.j41(24,"span"),e.EFF(25),e.k0s(),e.EFF(26,"\n "),e.k0s(),e.EFF(27,"\n "),e.k0s(),e.EFF(28,"\n "),e.j41(29,"li",11),e.EFF(30,"\n "),e.nrm(31,"a",12),e.EFF(32,"\n "),e.j41(33,"ul",13),e.EFF(34,"\n "),e.j41(35,"li",14),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(36,"\n "),e.nrm(37,"i",15),e.EFF(38," "),e.nrm(39,"span",16),e.EFF(40,"\n "),e.k0s(),e.EFF(41,"\n "),e.j41(42,"li",17),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(43,"\n "),e.nrm(44,"i",18),e.EFF(45," "),e.nrm(46,"span",19),e.EFF(47,"\n "),e.k0s(),e.EFF(48,"\n "),e.k0s(),e.EFF(49,"\n "),e.k0s(),e.EFF(50,"\n "),e.j41(51,"li",11),e.EFF(52,"\n "),e.nrm(53,"a",20),e.EFF(54,"\n "),e.j41(55,"ul",21),e.EFF(56,"\n "),e.j41(57,"li",22),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(58,"\n "),e.nrm(59,"i",23),e.EFF(60," "),e.nrm(61,"span",24),e.EFF(62,"\n "),e.k0s(),e.EFF(63,"\n "),e.j41(64,"li",25),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(65,"\n "),e.nrm(66,"i",26),e.EFF(67," "),e.nrm(68,"span",27),e.EFF(69,"\n "),e.k0s(),e.EFF(70,"\n "),e.k0s(),e.EFF(71,"\n "),e.k0s(),e.EFF(72,"\n\n "),e.j41(73,"li",11),e.EFF(74,"\n "),e.nrm(75,"a",28),e.EFF(76,"\n "),e.j41(77,"ul",29),e.EFF(78,"\n "),e.j41(79,"li",30),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(80,"\n "),e.nrm(81,"i",31),e.EFF(82," "),e.nrm(83,"span",32),e.EFF(84,"\n "),e.k0s(),e.EFF(85,"\n "),e.j41(86,"li",30),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(87,"\n "),e.nrm(88,"i",33),e.EFF(89," "),e.nrm(90,"span",34),e.EFF(91,"\n "),e.k0s(),e.EFF(92,"\n "),e.j41(93,"li",30),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(94,"\n "),e.nrm(95,"i",18),e.EFF(96," "),e.nrm(97,"span",35),e.EFF(98,"\n "),e.k0s(),e.EFF(99,"\n "),e.j41(100,"li",30),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(101,"\n "),e.nrm(102,"i",36),e.EFF(103," "),e.nrm(104,"span",37),e.EFF(105,"\n "),e.k0s(),e.EFF(106,"\n "),e.j41(107,"li",38),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(108,"\n "),e.nrm(109,"i",39),e.EFF(110," "),e.nrm(111,"span",40),e.EFF(112,"\n "),e.k0s(),e.EFF(113,"\n "),e.k0s(),e.EFF(114,"\n "),e.k0s(),e.EFF(115,"\n\n "),e.j41(116,"li",8),e.EFF(117,"\n "),e.j41(118,"a",41),e.EFF(119,"\n "),e.nrm(120,"i",42),e.EFF(121,"\n "),e.j41(122,"span",43),e.EFF(123,"settings"),e.k0s(),e.EFF(124,"\n "),e.k0s(),e.EFF(125,"\n "),e.k0s(),e.EFF(126,"\n "),e.j41(127,"li",11),e.EFF(128,"\n "),e.nrm(129,"a",44),e.EFF(130,"\n "),e.j41(131,"ul",45),e.EFF(132,"\n "),e.j41(133,"li",46),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(134,"\n "),e.nrm(135,"i",47),e.EFF(136," "),e.nrm(137,"span",48),e.EFF(138,"\n "),e.k0s(),e.EFF(139,"\n "),e.j41(140,"li",49),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(141,"\n "),e.nrm(142,"i",50),e.EFF(143," "),e.nrm(144,"span",51),e.EFF(145,"\n "),e.k0s(),e.EFF(146,"\n "),e.DNE(147,Jo,6,0,"li",52),e.EFF(148,"\n "),e.j41(149,"li",53),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(150,"\n "),e.nrm(151,"i",54),e.EFF(152," "),e.nrm(153,"span",55),e.EFF(154,"\n "),e.k0s(),e.EFF(155,"\n "),e.j41(156,"li",56),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(157,"\n "),e.nrm(158,"i",57),e.EFF(159," "),e.nrm(160,"span",58),e.EFF(161,"\n "),e.k0s(),e.EFF(162,"\n "),e.j41(163,"li",59),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(164,"\n "),e.nrm(165,"i",60),e.EFF(166," "),e.nrm(167,"span",61),e.EFF(168,"\n "),e.k0s(),e.EFF(169,"\n "),e.k0s(),e.EFF(170,"\n "),e.k0s(),e.EFF(171,"\n "),e.DNE(172,Pc,11,2,"li",62),e.EFF(173,"\n\n "),e.j41(174,"li",8),e.EFF(175,"\n "),e.j41(176,"a",63),e.EFF(177,"\n "),e.nrm(178,"i",64),e.EFF(179,"\n "),e.j41(180,"span",43),e.EFF(181,"About"),e.k0s(),e.EFF(182,"\n "),e.k0s(),e.EFF(183,"\n "),e.k0s(),e.EFF(184,"\n "),e.k0s(),e.EFF(185,"\n\n "),e.DNE(186,Hl,15,10,"div",65),e.EFF(187,"\n "),e.DNE(188,Rc,15,8,"div",65),e.EFF(189,"\n "),e.j41(190,"div",66),e.EFF(191,"\n "),e.j41(192,"div",67),e.EFF(193,"\n "),e.j41(194,"div",68),e.EFF(195,"\n "),e.j41(196,"div",69),e.EFF(197,"\n "),e.j41(198,"input",70),e.mxI("ngModelChange",function(ke){return e.DH7(W.permitChecked,ke)||(W.permitChecked=ke),ke}),e.bIt("click",function(ke){return W.permit(ke)}),e.k0s(),e.EFF(199,"\n "),e.nrm(200,"label",71),e.EFF(201,"\n "),e.k0s(),e.EFF(202,"\n "),e.k0s(),e.EFF(203,"\n "),e.j41(204,"div",72),e.EFF(205,"\n "),e.j41(206,"div"),e.EFF(207,"\n "),e.j41(208,"a",73),e.nrm(209,"img",74),e.EFF(210,"\n "),e.k0s(),e.EFF(211,"\n "),e.j41(212,"div",75),e.EFF(213,"\n "),e.DNE(214,Lo,4,2,"button",76),e.EFF(215,"\n "),e.k0s(),e.EFF(216,"\n "),e.k0s(),e.EFF(217,"\n "),e.k0s(),e.EFF(218,"\n "),e.k0s(),e.EFF(219,"\n "),e.k0s(),e.EFF(220,"\n "),e.j41(221,"div",77),e.EFF(222,"\n "),e.j41(223,"div",78),e.EFF(224,"\n "),e.j41(225,"div",79),e.EFF(226,"\n "),e.j41(227,"div",80),e.EFF(228,"\n "),e.j41(229,"input",70),e.mxI("ngModelChange",function(ke){return e.DH7(W.permitChecked,ke)||(W.permitChecked=ke),ke}),e.bIt("click",function(ke){return W.permit(ke)}),e.k0s(),e.EFF(230,"\n "),e.nrm(231,"label",81),e.EFF(232,"\n "),e.k0s(),e.EFF(233,"\n "),e.k0s(),e.EFF(234,"\n "),e.j41(235,"div",82),e.EFF(236,"\n "),e.j41(237,"a",83),e.nrm(238,"img",74),e.EFF(239,"\n "),e.k0s(),e.EFF(240,"\n "),e.j41(241,"div",75),e.EFF(242,"\n "),e.DNE(243,Nc,4,2,"button",76),e.EFF(244,"\n "),e.k0s(),e.EFF(245,"\n "),e.k0s(),e.EFF(246,"\n "),e.k0s(),e.EFF(247,"\n "),e.k0s(),e.EFF(248,"\n "),e.k0s(),e.EFF(249,"\n "),e.k0s(),e.EFF(250,"\n"),e.k0s(),e.EFF(251,"\n")),2&b&&(e.R7$(14),e.Y8G("ngbCollapse",W.menuHidden),e.R7$(11),e.JRh(null==W.plugin?null:W.plugin.Name),e.R7$(54),e.Y8G("routerLink",e.lJ4(23,kr))("queryParams",e.lJ4(24,er)),e.R7$(7),e.Y8G("routerLink",e.lJ4(25,kr))("queryParams",e.lJ4(26,Qo)),e.R7$(7),e.Y8G("routerLink",e.lJ4(27,kr))("queryParams",e.lJ4(28,dc)),e.R7$(7),e.Y8G("routerLink",e.lJ4(29,kr))("queryParams",e.lJ4(30,uc)),e.R7$(7),e.Y8G("routerLink",e.lJ4(31,Th)),e.R7$(40),e.Y8G("ngIf",null==W.plugin?null:W.plugin.Zigpy),e.R7$(25),e.Y8G("ngIf",W.showManufacturerCasaia||W.showManufacturerZlinky),e.R7$(14),e.Y8G("ngIf",W.restart),e.R7$(2),e.Y8G("ngIf",W.logError),e.R7$(10),e.R50("ngModel",W.permitChecked),e.R7$(11),e.Mz_("src","assets/",W.currentFlag,"",e.B4B),e.R7$(5),e.Y8G("ngForOf",W.languages),e.R7$(15),e.R50("ngModel",W.permitChecked),e.R7$(9),e.Mz_("src","assets/",W.currentFlag,"",e.B4B),e.R7$(5),e.Y8G("ngForOf",W.languages))},dependencies:[cn.Sq,cn.bT,gr.Mm,qo.$G,qo.tg,qo.do,qo.U0,qo.ZM,fs.Zm,fs.BC,fs.vS,Mn.Wk,Mn.wQ,gr.D9],styles:[".navbar[_ngcontent-%COMP%]{margin-bottom:1rem}a[_ngcontent-%COMP%]:not([href]):not([tabindex]){cursor:pointer}.dropdown-menu[_ngcontent-%COMP%]{cursor:pointer}.logo[_ngcontent-%COMP%]{width:50px}li.test[_ngcontent-%COMP%] .dropdown-item.active[_ngcontent-%COMP%], li.test[_ngcontent-%COMP%] .dropdown-item[_ngcontent-%COMP%]:active{color:transparent;text-decoration:none;background-color:transparent}"]})}return c})();var As=We(27468),Fc=We(84412);let Po=(()=>{class c{reload=new Fc.t(!1);constructor(){}setReload(i){this.reload.next(i)}static \u0275fac=function(b){return new(b||c)};static \u0275prov=e.jDH({token:c,factory:c.\u0275fac,providedIn:"root"})}return c})();function ea(c,y){1&c&&(e.qex(0),e.EFF(1,"\n "),e.bVm())}function Hs(c,y){if(1&c&&(e.j41(0,"span"),e.EFF(1),e.nI1(2,"translate"),e.nI1(3,"translate"),e.k0s()),2&c){const i=e.XpG(2);e.R7$(),e.LHq("",e.bMT(2,4,"dashboard.rxps")," : ",i.fork.pluginStats.Rxps,"\xa0\xa0\xa0",e.bMT(3,6,"dashboard.txps"),"\n : ",i.fork.pluginStats.Txps,"\xa0\xa0\xa0")}}function Xs(c,y){if(1&c&&(e.j41(0,"span"),e.EFF(1),e.nI1(2,"translate"),e.nI1(3,"translate"),e.k0s()),2&c){const i=e.XpG(3);e.R7$(),e.LHq("",e.bMT(2,4,"dashboard.rxpm")," : ",i.fork.pluginStats.Rxpm,"\xa0\xa0\xa0",e.bMT(3,6,"dashboard.txpm"),"\n : ",i.fork.pluginStats.Txpm,"\xa0\xa0\xa0")}}function ta(c,y){if(1&c&&(e.j41(0,"span"),e.EFF(1),e.nI1(2,"translate"),e.nI1(3,"translate"),e.k0s()),2&c){const i=e.XpG(3);e.R7$(),e.LHq("",e.bMT(2,4,"dashboard.rxph")," : ",i.fork.pluginStats.Rxph,"\xa0\xa0\xa0",e.bMT(3,6,"dashboard.txph"),"\n : ",i.fork.pluginStats.Txph,"\xa0\xa0\xa0")}}function hl(c,y){if(1&c&&(e.EFF(0,"\n "),e.DNE(1,Xs,4,8,"span",22),e.EFF(2,"\n\n "),e.DNE(3,ta,4,8,"ng-template",null,4,e.C5r),e.EFF(5,"\n ")),2&c){const i=e.sdS(4),b=e.XpG(2);e.R7$(),e.Y8G("ngIf",b.fork.pluginStats.Rxpm>=.5&&b.fork.pluginStats.Txpm>=.5)("ngIfElse",i)}}function xa(c,y){if(1&c&&(e.j41(0,"div",23),e.EFF(1,"\n "),e.j41(2,"span"),e.EFF(3),e.nI1(4,"translate"),e.k0s(),e.EFF(5,"\n "),e.k0s()),2&c){const i=e.XpG(2);e.R7$(3),e.Lme("",e.bMT(4,2,"dashboard.health.group")," ",null==i.fork.pluginHealth?null:i.fork.pluginHealth.GroupStatus,"")}}function Xr(c,y){if(1&c&&(e.j41(0,"div",24),e.EFF(1,"\n "),e.nrm(2,"span",25),e.j41(3,"span"),e.EFF(4),e.k0s(),e.EFF(5,"\n "),e.k0s()),2&c){const i=e.XpG(2);e.R7$(4),e.Lme("",null==i.fork.pluginHealth?null:i.fork.pluginHealth.OTAupdateDevice," ",null==i.fork.pluginHealth?null:i.fork.pluginHealth.OTAupdateProgress,"")}}function _a(c,y){if(1&c&&(e.j41(0,"span"),e.EFF(1),e.k0s()),2&c){const i=e.XpG(3);e.R7$(),e.SpI("[",i.fork.plugin.CertifiedDbVersion,"]")}}function ia(c,y){if(1&c&&(e.j41(0,"div",26),e.EFF(1,"\n "),e.j41(2,"a",27),e.nI1(3,"translate"),e.EFF(4,"\n "),e.nrm(5,"span",28),e.EFF(6),e.DNE(7,_a,2,1,"span",29),e.EFF(8,"\n "),e.k0s(),e.EFF(9,"\n "),e.k0s()),2&c){const i=e.XpG(2),b=e.sdS(6);e.R7$(2),e.FS9("popoverTitle",e.bMT(3,4,"dashboard.plugin.update.available.title")),e.Y8G("ngbPopover",b),e.R7$(4),e.SpI("\n ",i.fork.plugin.PluginVersion,"\n "),e.R7$(),e.Y8G("ngIf",i.fork.plugin.CertifiedDbVersion)}}function kh(c,y){if(1&c&&(e.j41(0,"div",30),e.EFF(1,"\n "),e.j41(2,"a",27),e.nI1(3,"translate"),e.EFF(4,"\n "),e.nrm(5,"span",31),e.EFF(6),e.k0s(),e.EFF(7,"\n "),e.k0s()),2&c){const i=e.XpG(2),b=e.sdS(3);e.R7$(2),e.FS9("popoverTitle",e.bMT(3,3,"dashboard.firmware.update.available.title")),e.Y8G("ngbPopover",b),e.R7$(4),e.SpI("",i.fork.plugin.DisplayFirmwareVersion,"\n ")}}function Dh(c,y){if(1&c&&(e.j41(0,"span"),e.EFF(1),e.k0s()),2&c){const i=e.XpG(3);e.R7$(),e.SpI("[",i.fork.plugin.CertifiedDbVersion,"]")}}function Wl(c,y){if(1&c&&(e.j41(0,"div",32),e.EFF(1,"\n "),e.nrm(2,"span",28),e.EFF(3),e.DNE(4,Dh,2,1,"span",29),e.EFF(5,"\n "),e.k0s()),2&c){const i=e.XpG(2);e.R7$(3),e.SpI("\n ",i.fork.plugin.PluginVersion,"\n "),e.R7$(),e.Y8G("ngIf",i.fork.plugin.CertifiedDbVersion)}}function Ca(c,y){if(1&c&&(e.j41(0,"div",33),e.EFF(1,"\n "),e.nrm(2,"span",31),e.EFF(3),e.k0s()),2&c){const i=e.XpG(2);e.R7$(3),e.SpI("",i.fork.plugin.DisplayFirmwareVersion,"\n ")}}function Mh(c,y){if(1&c&&(e.j41(0,"footer",6),e.EFF(1,"\n "),e.j41(2,"div",7),e.EFF(3,"\n "),e.j41(4,"div",8),e.EFF(5,"\n "),e.j41(6,"div",9),e.EFF(7,"\n "),e.nrm(8,"span",10),e.EFF(9),e.nI1(10,"date"),e.k0s(),e.EFF(11,"\n "),e.j41(12,"div",11),e.EFF(13,"\n "),e.DNE(14,ea,2,0,"ng-container",12),e.EFF(15,"\n\n "),e.DNE(16,Hs,4,8,"ng-template",null,2,e.C5r),e.EFF(18,"\n "),e.DNE(19,hl,6,2,"ng-template",null,3,e.C5r),e.EFF(21,"\n "),e.k0s(),e.EFF(22,"\n "),e.j41(23,"div",13),e.EFF(24),e.nI1(25,"translate"),e.k0s(),e.EFF(26,"\n "),e.j41(27,"div",14),e.EFF(28,"\n "),e.nrm(29,"span",15),e.EFF(30,"\n "),e.k0s(),e.EFF(31,"\n "),e.DNE(32,xa,6,4,"div",16),e.EFF(33,"\n\n "),e.DNE(34,Xr,6,2,"div",17),e.EFF(35,"\n\n "),e.DNE(36,ia,10,6,"div",18),e.EFF(37,"\n "),e.DNE(38,kh,8,5,"div",19),e.EFF(39,"\n "),e.DNE(40,Wl,6,2,"div",20),e.EFF(41,"\n "),e.DNE(42,Ca,4,1,"div",21),e.EFF(43,"\n "),e.k0s(),e.EFF(44,"\n "),e.k0s(),e.EFF(45,"\n"),e.k0s()),2&c){const i=e.sdS(17),b=e.sdS(20),W=e.XpG();e.R7$(2),e.Y8G("ngClass",4===(null==W.fork.pluginHealth?null:W.fork.pluginHealth.HealthFlag)?"bg-primary fixed-bottom":3===(null==W.fork.pluginHealth?null:W.fork.pluginHealth.HealthFlag)?"bg-danger fixed-bottom":1!==(null==W.fork.pluginHealth?null:W.fork.pluginHealth.HealthFlag)||null!=W.fork.pluginHealth&&W.fork.pluginHealth.GroupStatus&&"ready"!==(null==W.fork.pluginHealth?null:W.fork.pluginHealth.GroupStatus)?2===(null==W.fork.pluginHealth?null:W.fork.pluginHealth.HealthFlag)||"ready"!==(null==W.fork.pluginHealth?null:W.fork.pluginHealth.GroupStatus)?"bg-warning fixed-bottom":"bg-danger fixed-bottom":"bg-success fixed-bottom"),e.R7$(7),e.SpI("",e.i5U(10,14,1e3*(null==W.fork.pluginStats?null:W.fork.pluginStats.StartTime),"dd/MM/yyyy\n HH:mm:ss"),"\n "),e.R7$(5),e.Y8G("ngIf",W.fork.pluginStats.Rxps>=.5&&W.fork.pluginStats.Txps>=.5)("ngIfThen",i)("ngIfElse",b),e.R7$(10),e.Lme("\n ",e.bMT(25,17,"dashboard.maxload")," : ",W.fork.pluginStats.MaxLoad,"\n "),e.R7$(5),e.FS9("translate",null==W.fork.pluginHealth?null:W.fork.pluginHealth.HealthTxt),e.R7$(3),e.Y8G("ngIf",null==W.fork.pluginHealth?null:W.fork.pluginHealth.GroupStatus),e.R7$(2),e.Y8G("ngIf",null==W.fork.pluginHealth?null:W.fork.pluginHealth.OTAupdateDevice),e.R7$(2),e.Y8G("ngIf",null==W.fork.plugin?null:W.fork.plugin.PluginUpdate),e.R7$(2),e.Y8G("ngIf",null==W.fork.plugin?null:W.fork.plugin.FirmwareUpdate),e.R7$(2),e.Y8G("ngIf",!(null!=W.fork.plugin&&W.fork.plugin.PluginUpdate)),e.R7$(2),e.Y8G("ngIf",!(null!=W.fork.plugin&&W.fork.plugin.FirmwareUpdate))}}function dl(c,y){1&c&&(e.nrm(0,"span",34),e.nI1(1,"translate")),2&c&&e.Y8G("innerHTML",e.bMT(1,1,"dashboard.firmware.update.available"),e.npT)}function Yr(c,y){1&c&&(e.nrm(0,"span",34),e.nI1(1,"translate")),2&c&&e.Y8G("innerHTML",e.bMT(1,1,"dashboard.plugin.update.available"),e.npT)}let na=(()=>{class c extends Wa.U{apiService;versionService;headerService;fork$;poll=!1;fork;constructor(i,b,W){super(),this.apiService=i,this.versionService=b,this.headerService=W}ngOnInit(){this.fork$=(0,As.p)([this.apiService.getPluginhealth(),this.apiService.getPluginStats(),this.apiService.getPlugin()]).pipe((0,Gl.T)(([i,b,W])=>{this.headerService.setError(b.Error),this.fork={pluginHealth:i,pluginStats:b,plugin:W},W&&sessionStorage.setItem("plugin",JSON.stringify(W))})),this.subs.sink=this.headerService.polling.subscribe(i=>{this.poll=i,this.subs.add((0,jl.O)(1,vo.c.refresh).pipe((0,lc.n)(()=>this.fork$),Vl(),(0,hc.u)(),(0,zl.Q)(this.headerService.polling.pipe((0,Oo.p)(b=>!1===b)))).subscribe())}),this.versionService.reload.subscribe(()=>{this.fork$.subscribe()})}static \u0275fac=function(b){return new(b||c)(e.rXU(vs.G),e.rXU(Po),e.rXU(pn.d))};static \u0275cmp=e.VBU({type:c,selectors:[["app-version"]],features:[e.Vt3],decls:8,vars:1,consts:[["popContentFirmware",""],["popContentPlugin",""],["perSecond",""],["other",""],["perHour",""],["class","navbar navbar-fixed-bottom navbar-expand-lg","style","line-height: 1",4,"ngIf"],[1,"navbar","navbar-fixed-bottom","navbar-expand-lg",2,"line-height","1"],[3,"ngClass"],[1,"d-flex","flex-row","justify-content-between"],[1,"order-first","p-2","text-white","ms-2"],["translate","dashboard.health.starttime"],[1,"order-0","p-2","text-center","text-white","d-none","d-xl-block"],[4,"ngIf","ngIfThen","ngIfElse"],[1,"d-none","d-md-block","order-1","p-2","text-center","text-white"],[1,"order-1","p-2","text-center","text-white"],[3,"translate"],["class","d-none d-lg-block order-2 p-2 text-center text-white",4,"ngIf"],["class","order-3 p-2 text-center text-white d-none d-lg-block",4,"ngIf"],["class","order-4 p-2",4,"ngIf"],["class","me-2 order-5 p-2",4,"ngIf"],["class","order-4 p-2 text-white",4,"ngIf"],["class","d-none d-lg-block me-2 order-5 p-2 text-white",4,"ngIf"],[4,"ngIf","ngIfElse"],[1,"d-none","d-lg-block","order-2","p-2","text-center","text-white"],[1,"order-3","p-2","text-center","text-white","d-none","d-lg-block"],["translate","dashboard.health.OTA"],[1,"order-4","p-2"],["placement","top",1,"text-danger",2,"cursor","pointer",3,"ngbPopover","popoverTitle"],["translate","dashboard.plugin.version"],[4,"ngIf"],[1,"me-2","order-5","p-2"],["translate","dashboard.firmware.version"],[1,"order-4","p-2","text-white"],[1,"d-none","d-lg-block","me-2","order-5","p-2","text-white"],[3,"innerHTML"]],template:function(b,W){1&b&&(e.DNE(0,Mh,46,19,"footer",5),e.EFF(1,"\n\n"),e.DNE(2,dl,2,3,"ng-template",null,0,e.C5r),e.EFF(4,"\n\n"),e.DNE(5,Yr,2,3,"ng-template",null,1,e.C5r),e.EFF(7,"\n")),2&b&&e.Y8G("ngIf",W.fork)},dependencies:[cn.YU,cn.bT,gr.Mm,qo.ZM,cn.vh,gr.D9]})}return c})(),$l=(()=>{class c{static \u0275fac=function(b){return new(b||c)};static \u0275cmp=e.VBU({type:c,selectors:[["app-shell"]],decls:9,vars:0,consts:[[1,"container-fluid"]],template:function(b,W){1&b&&(e.nrm(0,"app-header"),e.EFF(1,"\n"),e.j41(2,"div",0),e.EFF(3,"\n "),e.nrm(4,"router-outlet"),e.EFF(5,"\n"),e.k0s(),e.EFF(6,"\n"),e.nrm(7,"app-version"),e.EFF(8,"\n"))},dependencies:[Mn.n3,Ul,na]})}return c})();class fc{static childRoutes(y){return{path:"",component:$l,children:y,data:{reuse:!0}}}}const Ge=[fc.childRoutes([{path:"about",loadChildren:()=>We.e(644).then(We.bind(We,60644)).then(c=>c.AboutModule)},{path:"device",loadChildren:()=>We.e(12).then(We.bind(We,55012)).then(c=>c.DeviceModule)},{path:"group",loadChildren:()=>Promise.all([We.e(76),We.e(577)]).then(We.bind(We,74577)).then(c=>c.GroupModule)},{path:"network",loadChildren:()=>We.e(837).then(We.bind(We,86837)).then(c=>c.NetworkModule)},{path:"admin",loadChildren:()=>Promise.all([We.e(76),We.e(908)]).then(We.bind(We,5908)).then(c=>c.AdminModule)},{path:"settings",loadChildren:()=>We.e(521).then(We.bind(We,16521)).then(c=>c.SettingsModule)},{path:"manufacturer",loadChildren:()=>We.e(317).then(We.bind(We,22317)).then(c=>c.ManufacturerModule)},{path:"tools",loadChildren:()=>We.e(846).then(We.bind(We,2846)).then(c=>c.ToolsModule)}]),{path:"**",redirectTo:"",pathMatch:"full"}];let ut=(()=>{class c{static \u0275fac=function(b){return new(b||c)};static \u0275mod=e.$C({type:c});static \u0275inj=e.G2t({imports:[Mn.iI.forRoot(Ge,{preloadingStrategy:Mn.Kp}),Mn.iI]})}return c})();var Ke=We(57786),at=We(73028),Et=We(5779),Jt=We(21413),ci=We(33726),Oi=We(7673),Wn=We(983),Qn=We(71985),os=We(88141),xn=We(70152),ys=We(70980);function Bi(){return["Mac","iPhone","iPad"].some(y=>navigator.userAgent.includes(y))?"apple":"pc"}function En(c,y){const i={up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight"};function b(W){return"pc"===y&&"meta"===W&&(W="control"),W in i&&(W=i[W]),W}return c.toLowerCase().split(">").map(W=>W.split(".").map(b).join(".")).join(">")}let ks=(()=>{class c{constructor(i,b){this.eventManager=i,this.document=b,this.hotkeys=new Map,this.dispose=new Jt.B,this.defaults={trigger:"keydown",allowIn:[],element:this.document.documentElement,group:void 0,description:void 0,showInHelpMenu:!0,preventDefault:!0},this.callbacks=[],this.sequenceMaps=new Map,this.sequenceDebounce=250}getHotkeys(){const i=Array.from(this.sequenceMaps.values()).map(b=>[b.hotkeyMap].reduce((W,ce)=>[...ce.values()],[])).reduce((b,W)=>W,[]).map(b=>b.hotkey);return Array.from(this.hotkeys.values()).concat(i)}getShortcuts(){const i=this.getHotkeys(),b=[];for(const W of i){if(!W.showInHelpMenu)continue;let ce=b.find(Ve=>Ve.group===W.group);ce||(ce={group:W.group,hotkeys:[]},b.push(ce));const ke=En(W.keys,Bi());ce.hotkeys.push({keys:ke,description:W.description})}return b}addSequenceShortcut(i){const b=(Ve,Ze)=>{let tt="";return(0,ci.R)(Ve,Ze).pipe((0,os.M)(bt=>tt=`${tt}${tt?">":""}${bt.ctrlKey?"control.":""}${bt.altKey?"alt.":""}${bt.shiftKey?"shift.":""}${bt.key}`),(0,xn.B)(this.sequenceDebounce),(0,at.Z)(()=>{const bt=tt;tt="";const Mt=this.sequenceMaps.get(Ve);if(Mt.hotkeyMap.has(bt)){const Lt=Mt.hotkeyMap.get(bt);return Lt.subject.next(Lt.hotkey),(0,Oi.of)(Lt.hotkey)}return Wn.w}))},W={...this.defaults,...i};let ce=En(W.keys,Bi());return(()=>{const Ve={subject:new Jt.B,hotkey:W};if(this.sequenceMaps.has(W.element)){const Ze=this.sequenceMaps.get(W.element);if(Ze.hotkeyMap.has(ce))return console.error("Duplicated shortcut"),(0,Oi.of)(null);Ze.hotkeyMap.set(ce,Ve)}else{const Ze=b(W.element,W.trigger),Mt={subscription:Ze.subscribe(),observer:Ze,hotkeyMap:new Map([[ce,Ve]])};this.sequenceMaps.set(W.element,Mt)}return Ve.subject.asObservable()})().pipe((0,zl.Q)(this.dispose.pipe((0,Oo.p)(Ve=>Ve===ce))),(0,Oo.p)(Ve=>!this.targetIsExcluded(Ve.allowIn)),(0,os.M)(Ve=>this.callbacks.forEach(Ze=>Ze(Ve,ce,Ve.element))),(0,ys.j)(()=>this.removeShortcuts(ce)))}addShortcut(i){const b={...this.defaults,...i},W=En(b.keys,Bi());if(this.hotkeys.has(W))return console.error("Duplicated shortcut"),(0,Oi.of)(null);this.hotkeys.set(W,b);const ce=`${b.trigger}.${W}`;return new Qn.c(ke=>{const Ze=this.eventManager.addEventListener(b.element,ce,tt=>{const bt=this.hotkeys.get(W);this.targetIsExcluded(bt.allowIn)||(b.preventDefault&&tt.preventDefault(),this.callbacks.forEach(Lt=>Lt(tt,W,bt.element)),ke.next(tt))});return()=>{this.hotkeys.delete(W),Ze()}}).pipe((0,zl.Q)(this.dispose.pipe((0,Oo.p)(ke=>ke===W))))}removeShortcuts(i){(function gi(c){return Array.isArray(c)?c:[c]})(i).map(W=>En(W,Bi())).forEach(W=>{this.hotkeys.delete(W),this.dispose.next(W),this.sequenceMaps.forEach((ce,ke)=>{const Ve=ce.hotkeyMap.get(W);Ve&&(Ve.subject.observers.filter(Ze=>!Ze.closed).forEach(Ze=>Ze.unsubscribe()),ce.hotkeyMap.delete(W)),0===ce.hotkeyMap.size&&(ce.subscription.unsubscribe(),this.sequenceMaps.delete(ke))})})}setSequenceDebounce(i){this.sequenceDebounce=i}onShortcut(i){return this.callbacks.push(i),()=>this.callbacks=this.callbacks.filter(b=>b!==i)}registerHelpModal(i,b=""){this.addShortcut({keys:b||"shift.?",showInHelpMenu:!1,preventDefault:!1}).subscribe(W=>{!/^(input|textarea|select)$/i.test(document.activeElement.nodeName)&&!W.target.isContentEditable&&this.hotkeys.size&&i()})}targetIsExcluded(i){const b=this.document.activeElement,ce=b.isContentEditable;let ke=["INPUT","SELECT","TEXTAREA"].includes(b.nodeName)||ce;if(ke&&i?.length)for(let Ve of i)if(b.nodeName===Ve||"CONTENTEDITABLE"===Ve&&ce){ke=!1;break}return ke}static#e=this.\u0275fac=function(b){return new(b||c)(e.KVO(M.EU),e.KVO(cn.qQ))};static#t=this.\u0275prov=e.jDH({token:c,factory:c.\u0275fac,providedIn:"root"})}return c})();const Qi=new nr.Vy("App");let No=(()=>{class c extends Wa.U{router;activatedRoute;titleService;translateService;apiService;i18nService;headerService;primengConfig;hotkeys;keysBoundActive=vo.c.keysBoundActive;activateRefresh=!1;statusChangeSubscription;hasRememberedConsent;constructor(i,b,W,ce,ke,Ve,Ze,tt,bt){super(),this.router=i,this.activatedRoute=b,this.titleService=W,this.translateService=ce,this.apiService=ke,this.i18nService=Ve,this.headerService=Ze,this.primengConfig=tt,this.hotkeys=bt}ngOnInit(){this.primengConfig.ripple=!0,vo.c.production&&nr.Vy.enableProductionMode(),Qi.debug("init"),this.i18nService.init(vo.c.defaultLanguage,vo.c.supportedLanguages),this.subs.sink=(0,As.p)([this.apiService.getCasiaDevices(),this.apiService.getZlinky()]).subscribe(([i,b])=>{i.length>0&&this.headerService.setShowManufacturerCasaia(!0),b.length>0&&this.headerService.setShowManufacturerZlinky(!0)}),this.apiService.getPlugin().subscribe(i=>{sessionStorage.setItem("plugin",JSON.stringify(i)),this.titleService.setTitle(i?.Name.concat(" - ").concat(this.translateService.instant("dashboard"))),this.setTitle()}),this.keysBoundActive.forEach(i=>{this.subs.add(this.hotkeys.addSequenceShortcut({keys:i}).subscribe(()=>{this.activateRefresh=!this.activateRefresh,this.headerService.setPolling(this.activateRefresh)}))})}setTitle(){const i=this.router.events.pipe((0,Oo.p)(b=>b instanceof Mn.wF));(0,Ke.h)(this.translateService.onLangChange,i).pipe((0,Gl.T)(()=>{let b=this.activatedRoute;for(;b.firstChild;)b=b.firstChild;return b}),(0,Oo.p)(b=>"primary"===b.outlet),(0,at.Z)(b=>b.data),(0,nr.s0)(this)).subscribe(b=>{const W=b.title;if(W){const ce=JSON.parse(sessionStorage.getItem("plugin"));this.titleService.setTitle(ce?.Name.concat(" - ").concat(this.translateService.instant(W)))}})}ngOnDestroy(){this.i18nService.destroy(),this.statusChangeSubscription.unsubscribe(),this.hasRememberedConsent.unsubscribe()}static \u0275fac=function(b){return new(b||c)(e.rXU(Mn.Ix),e.rXU(Mn.nX),e.rXU(M.hE),e.rXU(gr.c$),e.rXU(vs.G),e.rXU(nr.W4),e.rXU(pn.d),e.rXU(Et.r1),e.rXU(ks))};static \u0275cmp=e.VBU({type:c,selectors:[["app-root"]],features:[e.Vt3],decls:2,vars:0,template:function(b,W){1&b&&(e.nrm(0,"router-outlet"),e.EFF(1,"\n"))},dependencies:[Mn.n3]})}return c})();var Xl=We(31635);class wa{attach(y){return this._attachedHost=y,y.attach(this)}detach(){let y=this._attachedHost;null!=y&&(this._attachedHost=null,y.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(y){this._attachedHost=y}}class yo extends wa{constructor(y,i,b,W,ce){super(),this.component=y,this.viewContainerRef=i,this.injector=b,this.componentFactoryResolver=W,this.projectableNodes=ce}}class Zr extends wa{constructor(y,i,b,W){super(),this.templateRef=y,this.viewContainerRef=i,this.context=b,this.injector=W}get origin(){return this.templateRef.elementRef}attach(y,i=this.context){return this.context=i,super.attach(y)}detach(){return this.context=void 0,super.detach()}}class $a extends wa{constructor(y){super(),this.element=y instanceof e.aKT?y.nativeElement:y}}class rn{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(y){return y instanceof yo?(this._attachedPortal=y,this.attachComponentPortal(y)):y instanceof Zr?(this._attachedPortal=y,this.attachTemplatePortal(y)):this.attachDomPortal&&y instanceof $a?(this._attachedPortal=y,this.attachDomPortal(y)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(y){this._disposeFn=y}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class gc extends rn{constructor(y,i,b,W,ce){super(),this.outletElement=y,this._componentFactoryResolver=i,this._appRef=b,this._defaultInjector=W,this.attachDomPortal=ke=>{const Ve=ke.element,Ze=this._document.createComment("dom-portal");Ve.parentNode.insertBefore(Ze,Ve),this.outletElement.appendChild(Ve),this._attachedPortal=ke,super.setDisposeFn(()=>{Ze.parentNode&&Ze.parentNode.replaceChild(Ve,Ze)})},this._document=ce}attachComponentPortal(y){const b=(y.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(y.component);let W;return y.viewContainerRef?(W=y.viewContainerRef.createComponent(b,y.viewContainerRef.length,y.injector||y.viewContainerRef.injector,y.projectableNodes||void 0),this.setDisposeFn(()=>W.destroy())):(W=b.create(y.injector||this._defaultInjector||e.zZn.NULL),this._appRef.attachView(W.hostView),this.setDisposeFn(()=>{this._appRef.viewCount>0&&this._appRef.detachView(W.hostView),W.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(W)),this._attachedPortal=y,W}attachTemplatePortal(y){let i=y.viewContainerRef,b=i.createEmbeddedView(y.templateRef,y.context,{injector:y.injector});return b.rootNodes.forEach(W=>this.outletElement.appendChild(W)),b.detectChanges(),this.setDisposeFn(()=>{let W=i.indexOf(b);-1!==W&&i.remove(W)}),this._attachedPortal=y,b}dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(y){return y.hostView.rootNodes[0]}}function jc(){}function Bo(c){return null==c?jc:function(){return this.querySelector(c)}}function Vc(){return[]}function bc(c){return null==c?Vc:function(){return this.querySelectorAll(c)}}function zc(c){return function(){return this.matches(c)}}function Ah(c){return function(y){return y.matches(c)}}var Gc=Array.prototype.find;function ld(){return this.firstElementChild}var Ih=Array.prototype.filter;function vc(){return Array.from(this.children)}function Oh(c){return new Array(c.length)}function Hc(c,y){this.ownerDocument=c.ownerDocument,this.namespaceURI=c.namespaceURI,this._next=null,this._parent=c,this.__data__=y}function Re(c,y,i,b,W,ce){for(var Ve,ke=0,Ze=y.length,tt=ce.length;key?1:c>=y?0:NaN}Hc.prototype={constructor:Hc,appendChild:function(c){return this._parent.insertBefore(c,this._next)},insertBefore:function(c,y){return this._parent.insertBefore(c,y)},querySelector:function(c){return this._parent.querySelector(c)},querySelectorAll:function(c){return this._parent.querySelectorAll(c)}};var Ks="http://www.w3.org/1999/xhtml";const dd={svg:"http://www.w3.org/2000/svg",xhtml:Ks,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Lh(c){var y=c+="",i=y.indexOf(":");return i>=0&&"xmlns"!==(y=c.slice(0,i))&&(c=c.slice(i+1)),dd.hasOwnProperty(y)?{space:dd[y],local:c}:c}function Yu(c){return function(){this.removeAttribute(c)}}function Ef(c){return function(){this.removeAttributeNS(c.space,c.local)}}function Xg(c,y){return function(){this.setAttribute(c,y)}}function Ts(c,y){return function(){this.setAttributeNS(c.space,c.local,y)}}function qd(c,y){return function(){var i=y.apply(this,arguments);null==i?this.removeAttribute(c):this.setAttribute(c,i)}}function Ph(c,y){return function(){var i=y.apply(this,arguments);null==i?this.removeAttributeNS(c.space,c.local):this.setAttributeNS(c.space,c.local,i)}}function Ku(c){return c.ownerDocument&&c.ownerDocument.defaultView||c.document&&c||c.defaultView}function Rh(c){return function(){this.style.removeProperty(c)}}function Uc(c,y,i){return function(){this.style.setProperty(c,y,i)}}function jo(c,y,i){return function(){var b=y.apply(this,arguments);null==b?this.style.removeProperty(c):this.style.setProperty(c,b,i)}}function bl(c,y){return c.style.getPropertyValue(y)||Ku(c).getComputedStyle(c,null).getPropertyValue(y)}function Af(c){return function(){delete this[c]}}function Ka(c,y){return function(){this[c]=y}}function Zu(c,y){return function(){var i=y.apply(this,arguments);null==i?delete this[c]:this[c]=i}}function Qd(c){return c.trim().split(/^|\s+/)}function Nh(c){return c.classList||new $c(c)}function $c(c){this._node=c,this._names=Qd(c.getAttribute("class")||"")}function Xc(c,y){for(var i=Nh(c),b=-1,W=y.length;++b=0&&(this._names.splice(y,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(c){return this._names.indexOf(c)>=0}};var Bh=[null];function oo(c,y){this._groups=c,this._parents=y}function wc(){return new oo([[document.documentElement]],Bh)}oo.prototype=wc.prototype={constructor:oo,select:function fl(c){"function"!=typeof c&&(c=Bo(c));for(var y=this._groups,i=y.length,b=new Array(i),W=0;W=fi&&(fi=yi+1);!(ji=Yt[fi])&&++fi=0;)(ke=b[W])&&(ce&&4^ke.compareDocumentPosition(ce)&&ce.parentNode.insertBefore(ke,ce),ce=ke);return this},sort:function Ei(c){function y(Mt,Lt){return Mt&&Lt?c(Mt.__data__,Lt.__data__):!Mt-!Lt}c||(c=on);for(var i=this._groups,b=i.length,W=new Array(b),ce=0;ce1?this.each((null==y?Rh:"function"==typeof y?jo:Uc)(c,y,i??"")):bl(this.node(),c)},property:function If(c,y){return arguments.length>1?this.each((null==y?Af:"function"==typeof y?Zu:Ka)(c,y)):this.node()[c]},classed:function Fh(c,y){var i=Qd(c+"");if(arguments.length<2){for(var b=Nh(this.node()),W=-1,ce=i.length;++W=0&&(i=y.slice(b+1),y=y.slice(0,b)),{type:y,name:i}})}(c+""),ce=b.length;if(!(arguments.length<2)){for(Ve=y?Ta:ip,W=0;W{}};function jh(){for(var b,c=0,y=arguments.length,i={};c=0&&(b=i.slice(W+1),i=i.slice(0,W)),i&&!y.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:b}})}(c+"",i),ce=-1,ke=b.length;if(!(arguments.length<2)){if(null!=y&&"function"!=typeof y)throw new Error("invalid callback: "+y);for(;++ce0)for(var W,ce,i=new Array(W),b=0;b>8&15|y>>4&240,y>>4&15|240&y,(15&y)<<4|15&y,1):8===i?Ja(y>>24&255,y>>16&255,y>>8&255,(255&y)/255):4===i?Ja(y>>12&15|y>>8&240,y>>8&15|y>>4&240,y>>4&15|240&y,((15&y)<<4|15&y)/255):null):(y=ou.exec(c))?new Fr(y[1],y[2],y[3],1):(y=Cl.exec(c))?new Fr(255*y[1]/100,255*y[2]/100,255*y[3]/100,1):(y=lp.exec(c))?Ja(y[1],y[2],y[3],y[4]):(y=Tc.exec(c))?Ja(255*y[1]/100,255*y[2]/100,255*y[3]/100,y[4]):(y=Qc.exec(c))?lu(y[1],y[2]/100,y[3]/100,1):(y=Gh.exec(c))?lu(y[1],y[2]/100,y[3]/100,y[4]):Hh.hasOwnProperty(c)?eh(Hh[c]):"transparent"===c?new Fr(NaN,NaN,NaN,0):null}function eh(c){return new Fr(c>>16&255,c>>8&255,255&c,1)}function Ja(c,y,i,b){return b<=0&&(c=y=i=NaN),new Fr(c,y,i,b)}function el(c,y,i,b){return 1===arguments.length?function hp(c){return c instanceof Qa||(c=Sc(c)),c?new Fr((c=c.rgb()).r,c.g,c.b,c.opacity):new Fr}(c):new Fr(c,y,i,b??1)}function Fr(c,y,i,b){this.r=+c,this.g=+y,this.b=+i,this.opacity=+b}function kc(){return`#${Br(this.r)}${Br(this.g)}${Br(this.b)}`}function th(){const c=wl(this.opacity);return`${1===c?"rgb(":"rgba("}${ka(this.r)}, ${ka(this.g)}, ${ka(this.b)}${1===c?")":`, ${c})`}`}function wl(c){return isNaN(c)?1:Math.max(0,Math.min(1,c))}function ka(c){return Math.max(0,Math.min(255,Math.round(c)||0))}function Br(c){return((c=ka(c))<16?"0":"")+c.toString(16)}function lu(c,y,i,b){return b<=0?c=y=i=NaN:i<=0||i>=1?c=y=NaN:y<=0&&(c=NaN),new lo(c,y,i,b)}function ih(c){if(c instanceof lo)return new lo(c.h,c.s,c.l,c.opacity);if(c instanceof Qa||(c=Sc(c)),!c)return new lo;if(c instanceof lo)return c;var y=(c=c.rgb()).r/255,i=c.g/255,b=c.b/255,W=Math.min(y,i,b),ce=Math.max(y,i,b),ke=NaN,Ve=ce-W,Ze=(ce+W)/2;return Ve?(ke=y===ce?(i-b)/Ve+6*(i0&&Ze<1?0:ke,new lo(ke,Ve,Ze,c.opacity)}function lo(c,y,i,b){this.h=+c,this.s=+y,this.l=+i,this.opacity=+b}function Wh(c){return(c=(c||0)%360)<0?c+360:c}function nh(c){return Math.max(0,Math.min(1,c||0))}function $h(c,y,i){return 255*(c<60?y+(i-y)*c/60:c<180?i:c<240?y+(i-y)*(240-c)/60:y)}function md(c,y,i,b,W){var ce=c*c,ke=ce*c;return((1-3*c+3*ce-ke)*y+(4-6*ce+3*ke)*i+(1+3*c+3*ce-3*ke)*b+ke*W)/6}Vh(Qa,Sc,{copy(c){return Object.assign(new this.constructor,this,c)},displayable(){return this.rgb().displayable()},hex:Jc,formatHex:Jc,formatHex8:function au(){return this.rgb().formatHex8()},formatHsl:function Uh(){return ih(this).formatHsl()},formatRgb:cp,toString:cp}),Vh(Fr,el,qc(Qa,{brighter(c){return c=null==c?Zl:Math.pow(Zl,c),new Fr(this.r*c,this.g*c,this.b*c,this.opacity)},darker(c){return c=null==c?.7:Math.pow(.7,c),new Fr(this.r*c,this.g*c,this.b*c,this.opacity)},rgb(){return this},clamp(){return new Fr(ka(this.r),ka(this.g),ka(this.b),wl(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:kc,formatHex:kc,formatHex8:function Bf(){return`#${Br(this.r)}${Br(this.g)}${Br(this.b)}${Br(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:th,toString:th})),Vh(lo,function gd(c,y,i,b){return 1===arguments.length?ih(c):new lo(c,y,i,b??1)},qc(Qa,{brighter(c){return c=null==c?Zl:Math.pow(Zl,c),new lo(this.h,this.s,this.l*c,this.opacity)},darker(c){return c=null==c?.7:Math.pow(.7,c),new lo(this.h,this.s,this.l*c,this.opacity)},rgb(){var c=this.h%360+360*(this.h<0),y=isNaN(c)||isNaN(this.s)?0:this.s,i=this.l,b=i+(i<.5?i:1-i)*y,W=2*i-b;return new Fr($h(c>=240?c-240:c+120,W,b),$h(c,W,b),$h(c<120?c+240:c-120,W,b),this.opacity)},clamp(){return new lo(Wh(this.h),nh(this.s),nh(this.l),wl(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 c=wl(this.opacity);return`${1===c?"hsl(":"hsla("}${Wh(this.h)}, ${100*nh(this.s)}%, ${100*nh(this.l)}%${1===c?")":`, ${c})`}`}}));const sh=c=>()=>c;function hu(c,y){var i=y-c;return i?function yd(c,y){return function(i){return c+i*y}}(c,i):sh(isNaN(c)?y:c)}const Xh=function c(y){var i=function cu(c){return 1==(c=+c)?hu:function(y,i){return i-y?function rh(c,y,i){return c=Math.pow(c,i),y=Math.pow(y,i)-c,i=1/i,function(b){return Math.pow(c+b*y,i)}}(y,i,c):sh(isNaN(y)?i:y)}}(y);function b(W,ce){var ke=i((W=el(W)).r,(ce=el(ce)).r),Ve=i(W.g,ce.g),Ze=i(W.b,ce.b),tt=hu(W.opacity,ce.opacity);return function(bt){return W.r=ke(bt),W.g=Ve(bt),W.b=Ze(bt),W.opacity=tt(bt),W+""}}return b.gamma=c,b}(1);function Tl(c){return function(y){var ke,Ve,i=y.length,b=new Array(i),W=new Array(i),ce=new Array(i);for(ke=0;ke=1?(i=1,y-1):Math.floor(i*y),W=c[b],ce=c[b+1];return md((i-b/y)*y,b>0?c[b-1]:2*W-ce,W,ce,bi&&(ce=y.slice(i,ce),Ve[ke]?Ve[ke]+=ce:Ve[++ke]=ce),(b=b[0])===(W=W[0])?Ve[ke]?Ve[ke]+=W:Ve[++ke]=W:(Ve[++ke]=null,Ze.push({i:ke,x:aa(b,W)})),i=uu.lastIndex;return i=0&&c._call.call(void 0,y),c=c._next;--lh}()}finally{lh=0,function gp(){for(var c,i,y=fu,b=1/0;y;)y._call?(b>y._time&&(b=y._time),c=y,y=y._next):(i=y._next,y._next=null,y=c?c._next=i:fu=i);Yh=c,mp(b)}(),yr=0}}function fp(){var c=Zh.now(),y=c-Kh;y>zf&&(wd-=y,Kh=c)}function mp(c){lh||(ch&&(ch=clearTimeout(ch)),c-yr>24?(c<1/0&&(ch=setTimeout(Hf,c-Zh.now()-wd)),Cd&&(Cd=clearInterval(Cd))):(Cd||(Kh=Zh.now(),Cd=setInterval(fp,zf)),lh=1,Zg(Hf)))}function gu(c,y,i){var b=new hh;return b.restart(W=>{b.stop(),c(W+y)},y=null==y?0:+y,i),b}hh.prototype=ec.prototype={constructor:hh,restart:function(c,y,i){if("function"!=typeof c)throw new TypeError("callback is not a function");i=(null==i?Td():+i)+(null==y?0:+y),!this._next&&Yh!==this&&(Yh?Yh._next=this:fu=this,Yh=this),this._call=c,this._time=i,mp()},stop:function(){this._call&&(this._call=null,this._time=1/0,mp())}};var qg=Rr("start","end","cancel","interrupt"),Uf=[],bp=0,qh=3;function Sd(c,y,i,b,W,ce){var ke=c.__transition;if(ke){if(i in ke)return}else c.__transition={};!function yp(c,y,i){var W,b=c.__transition;function ke(tt){var bt,Mt,Lt,Wt;if(1!==i.state)return Ze();for(bt in b)if((Wt=b[bt]).name===i.name){if(Wt.state===qh)return gu(ke);4===Wt.state?(Wt.state=6,Wt.timer.stop(),Wt.on.call("interrupt",c,c.__data__,Wt.index,Wt.group),delete b[bt]):+btbp)throw new Error("too late; already scheduled");return i}function xo(c,y){var i=Da(c,y);if(i.state>qh)throw new Error("too late; already running");return i}function Da(c,y){var i=c.__transition;if(!i||!(i=i[y]))throw new Error("transition not found");return i}var Ma,ed=180/Math.PI,Dc={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function xp(c,y,i,b,W,ce){var ke,Ve,Ze;return(ke=Math.sqrt(c*c+y*y))&&(c/=ke,y/=ke),(Ze=c*i+y*b)&&(i-=c*Ze,b-=y*Ze),(Ve=Math.sqrt(i*i+b*b))&&(i/=Ve,b/=Ve,Ze/=Ve),c*b180?bt+=360:bt-tt>180&&(tt+=360),Lt.push({i:Mt.push(W(Mt)+"rotate(",null,b)-2,x:aa(tt,bt)})):bt&&Mt.push(W(Mt)+"rotate("+bt+b)}(tt.rotate,bt.rotate,Mt,Lt),function Ve(tt,bt,Mt,Lt){tt!==bt?Lt.push({i:Mt.push(W(Mt)+"skewX(",null,b)-2,x:aa(tt,bt)}):bt&&Mt.push(W(Mt)+"skewX("+bt+b)}(tt.skewX,bt.skewX,Mt,Lt),function Ze(tt,bt,Mt,Lt,Wt,Zt){if(tt!==Mt||bt!==Lt){var hi=Wt.push(W(Wt)+"scale(",null,",",null,")");Zt.push({i:hi-4,x:aa(tt,Mt)},{i:hi-2,x:aa(bt,Lt)})}else(1!==Mt||1!==Lt)&&Wt.push(W(Wt)+"scale("+Mt+","+Lt+")")}(tt.scaleX,tt.scaleY,bt.scaleX,bt.scaleY,Mt,Lt),tt=bt=null,function(Wt){for(var Yt,Zt=-1,hi=Lt.length;++Zt=0&&(y=y.slice(0,i)),!y||"start"===y})}(y)?Jh:xo;return function(){var ke=ce(this,c),Ve=ke.on;Ve!==b&&(W=(b=Ve).copy()).on(y,i),ke.on=W}}(i,c,y))},attr:function Vt(c,y){var i=Lh(c),b="transform"===i?Qg:me;return this.attrTween(c,"function"==typeof y?(i.local?ft:it)(i,b,Md(this,"attr."+c,y)):null==y?(i.local?ae:je)(i):(i.local?Ne:Ce)(i,b,y))},attrTween:function Ci(c,y){var i="attr."+c;if(arguments.length<2)return(i=this.tween(i))&&i._value;if(null==y)return this.tween(i,null);if("function"!=typeof y)throw new Error;var b=Lh(c);return this.tween(i,(b.local?ii:wi)(b,y))},style:function ai(c,y,i){var b="transform"==(c+="")?wp:me;return null==y?this.styleTween(c,function de(c,y){var i,b,W;return function(){var ce=bl(this,c),ke=(this.style.removeProperty(c),bl(this,c));return ce===ke?null:ce===i&&ke===b?W:W=y(i=ce,b=ke)}}(c,b)).on("end.style."+c,Ae(c)):"function"==typeof y?this.styleTween(c,function kt(c,y,i){var b,W,ce;return function(){var ke=bl(this,c),Ve=i(this),Ze=Ve+"";return null==Ve&&(this.style.removeProperty(c),Ze=Ve=bl(this,c)),ke===Ze?null:ke===b&&Ze===W?ce:(W=Ze,ce=y(b=ke,Ve))}}(c,b,Md(this,"style."+c,y))).each(function zt(c,y){var i,b,W,Ve,ce="style."+y,ke="end."+ce;return function(){var Ze=xo(this,c),tt=Ze.on,bt=null==Ze.value[ce]?Ve||(Ve=Ae(y)):void 0;(tt!==i||W!==bt)&&(b=(i=tt).copy()).on(ke,W=bt),Ze.on=b}}(this._id,c)):this.styleTween(c,function nt(c,y,i){var b,ce,W=i+"";return function(){var ke=bl(this,c);return ke===W?null:ke===b?ce:ce=y(b=ke,i)}}(c,b,y),i).on("end.style."+c,null)},styleTween:function Yi(c,y,i){var b="style."+(c+="");if(arguments.length<2)return(b=this.tween(b))&&b._value;if(null==y)return this.tween(b,null);if("function"!=typeof y)throw new Error;return this.tween(b,function Li(c,y,i){var b,W;function ce(){var ke=y.apply(this,arguments);return ke!==W&&(b=(W=ke)&&function oi(c,y,i){return function(b){this.style.setProperty(c,y.call(this,b),i)}}(c,ke,i)),b}return ce._value=y,ce}(c,y,i??""))},text:function _n(c){return this.tween("text","function"==typeof c?function Ji(c){return function(){var y=c(this);this.textContent=y??""}}(Md(this,"text",c)):function Xi(c){return function(){this.textContent=c}}(null==c?"":c+""))},textTween:function Ms(c){var y="text";if(arguments.length<1)return(y=this.tween(y))&&y._value;if(null==c)return this.tween(y,null);if("function"!=typeof c)throw new Error;return this.tween(y,function Jn(c){var y,i;function b(){var W=c.apply(this,arguments);return W!==i&&(y=(i=W)&&function en(c){return function(y){this.textContent=c.call(this,y)}}(W)),y}return b._value=c,b}(c))},remove:function Vr(){return this.on("end.remove",function zo(c){return function(){var y=this.parentNode;for(var i in this.__transition)if(+i!==c)return;y&&y.removeChild(this)}}(this._id))},tween:function Sp(c,y){var i=this._id;if(c+="",arguments.length<2){for(var ke,b=Da(this.node(),i).tween,W=0,ce=b.length;W2&&b.state<5,b.state=6,b.timer.stop(),b.on.call(W?"interrupt":"cancel",c,c.__data__,b.index,b.group),delete i[ke]):ce=!1;ce&&delete c.__transition}}(this,c)})},_l.prototype.transition=function Dl(c){var y,i;c instanceof sr?(y=c._id,c=c._name):(y=la(),(i=Xf).time=Td(),c=null==c?null:c+"");for(var b=this._groups,W=b.length,ce=0;cey?1:c>=y?0:NaN}function Qy(c,y){return null==c||null==y?NaN:yc?1:y>=c?0:NaN}function nm(c){let y,i,b;function W(Ve,Ze,tt=0,bt=Ve.length){if(tt>>1;i(Ve[Mt],Ze)<0?tt=Mt+1:bt=Mt}while(ttyu(c(Ve),Ze),b=(Ve,Ze)=>c(Ve)-Ze):(y=c===yu||c===Qy?c:W0,i=c,b=c),{left:W,center:function ke(Ve,Ze,tt=0,bt=Ve.length){const Mt=W(Ve,Ze,tt,bt-1);return Mt>tt&&b(Ve[Mt-1],Ze)>-b(Ve[Mt],Ze)?Mt-1:Mt},right:function ce(Ve,Ze,tt=0,bt=Ve.length){if(tt>>1;i(Ve[Mt],Ze)<=0?tt=Mt+1:bt=Mt}while(tt=Qf?10:ce>=$0?5:ce>=sm?2:1;let Ve,Ze,tt;return W<0?(tt=Math.pow(10,-W)/ke,Ve=Math.round(c*tt),Ze=Math.round(y*tt),Ve/tty&&--Ze,tt=-tt):(tt=Math.pow(10,W)*ke,Ve=Math.round(c/tt),Ze=Math.round(y/tt),Ve*tty&&--Ze),Ze(c(ce=new Date(+ce)),ce),W.ceil=ce=>(c(ce=new Date(ce-1)),y(ce,1),c(ce),ce),W.round=ce=>{const ke=W(ce),Ve=W.ceil(ce);return ce-ke(y(ce=new Date(+ce),null==ke?1:Math.floor(ke)),ce),W.range=(ce,ke,Ve)=>{const Ze=[];if(ce=W.ceil(ce),Ve=null==Ve?1:Math.floor(Ve),!(ce0))return Ze;let tt;do{Ze.push(tt=new Date(+ce)),y(ce,Ve),c(ce)}while(ttur(ke=>{if(ke>=ke)for(;c(ke),!ce(ke);)ke.setTime(ke-1)},(ke,Ve)=>{if(ke>=ke)if(Ve<0)for(;++Ve<=0;)for(;y(ke,-1),!ce(ke););else for(;--Ve>=0;)for(;y(ke,1),!ce(ke););}),i&&(W.count=(ce,ke)=>(Y0.setTime(+ce),K0.setTime(+ke),c(Y0),c(K0),Math.floor(i(Y0,K0))),W.every=ce=>(ce=Math.floor(ce),isFinite(ce)&&ce>0?ce>1?W.filter(b?ke=>b(ke)%ce==0:ke=>W.count(0,ke)%ce==0):W:null)),W}const ig=ur(()=>{},(c,y)=>{c.setTime(+c+y)},(c,y)=>y-c);ig.every=c=>(c=Math.floor(c),isFinite(c)&&c>0?c>1?ur(y=>{y.setTime(Math.floor(y/c)*c)},(y,i)=>{y.setTime(+y+i*c)},(y,i)=>(i-y)/c):ig:null);const xu=ur(c=>{c.setTime(c-c.getMilliseconds())},(c,y)=>{c.setTime(+c+y*ic)},(c,y)=>(y-c)/ic,c=>c.getUTCSeconds()),am=ur(c=>{c.setTime(c-c.getMilliseconds()-c.getSeconds()*ic)},(c,y)=>{c.setTime(+c+y*tl)},(c,y)=>(y-c)/tl,c=>c.getMinutes()),Z0=ur(c=>{c.setUTCSeconds(0,0)},(c,y)=>{c.setTime(+c+y*tl)},(c,y)=>(y-c)/tl,c=>c.getUTCMinutes()),Mp=ur(c=>{c.setTime(c-c.getMilliseconds()-c.getSeconds()*ic-c.getMinutes()*tl)},(c,y)=>{c.setTime(+c+y*uh)},(c,y)=>(y-c)/uh,c=>c.getHours()),q0=ur(c=>{c.setUTCMinutes(0,0,0)},(c,y)=>{c.setTime(+c+y*uh)},(c,y)=>(y-c)/uh,c=>c.getUTCHours()),ng=ur(c=>c.setHours(0,0,0,0),(c,y)=>c.setDate(c.getDate()+y),(c,y)=>(y-c-(y.getTimezoneOffset()-c.getTimezoneOffset())*tl)/ph,c=>c.getDate()-1),sg=(ur(c=>{c.setUTCHours(0,0,0,0)},(c,y)=>{c.setUTCDate(c.getUTCDate()+y)},(c,y)=>(y-c)/ph,c=>c.getUTCDate()-1),ur(c=>{c.setUTCHours(0,0,0,0)},(c,y)=>{c.setUTCDate(c.getUTCDate()+y)},(c,y)=>(y-c)/ph,c=>Math.floor(c/ph)));function fh(c){return ur(y=>{y.setDate(y.getDate()-(y.getDay()+7-c)%7),y.setHours(0,0,0,0)},(y,i)=>{y.setDate(y.getDate()+7*i)},(y,i)=>(i-y-(i.getTimezoneOffset()-y.getTimezoneOffset())*tl)/om)}const uo=fh(0);function gh(c){return ur(y=>{y.setUTCDate(y.getUTCDate()-(y.getUTCDay()+7-c)%7),y.setUTCHours(0,0,0,0)},(y,i)=>{y.setUTCDate(y.getUTCDate()+7*i)},(y,i)=>(i-y)/om)}fh(1),fh(2),fh(3),fh(4),fh(5),fh(6);const rx=gh(0),rg=(gh(1),gh(2),gh(3),gh(4),gh(5),gh(6),ur(c=>{c.setDate(1),c.setHours(0,0,0,0)},(c,y)=>{c.setMonth(c.getMonth()+y)},(c,y)=>y.getMonth()-c.getMonth()+12*(y.getFullYear()-c.getFullYear()),c=>c.getMonth())),dm=ur(c=>{c.setUTCDate(1),c.setUTCHours(0,0,0,0)},(c,y)=>{c.setUTCMonth(c.getUTCMonth()+y)},(c,y)=>y.getUTCMonth()-c.getUTCMonth()+12*(y.getUTCFullYear()-c.getUTCFullYear()),c=>c.getUTCMonth()),Uo=ur(c=>{c.setMonth(0,1),c.setHours(0,0,0,0)},(c,y)=>{c.setFullYear(c.getFullYear()+y)},(c,y)=>y.getFullYear()-c.getFullYear(),c=>c.getFullYear());Uo.every=c=>isFinite(c=Math.floor(c))&&c>0?ur(y=>{y.setFullYear(Math.floor(y.getFullYear()/c)*c),y.setMonth(0,1),y.setHours(0,0,0,0)},(y,i)=>{y.setFullYear(y.getFullYear()+i*c)}):null;const og=ur(c=>{c.setUTCMonth(0,1),c.setUTCHours(0,0,0,0)},(c,y)=>{c.setUTCFullYear(c.getUTCFullYear()+y)},(c,y)=>y.getUTCFullYear()-c.getUTCFullYear(),c=>c.getUTCFullYear());function ib(c,y,i,b,W,ce){const ke=[[xu,1,ic],[xu,5,5e3],[xu,15,15e3],[xu,30,3e4],[ce,1,tl],[ce,5,5*tl],[ce,15,15*tl],[ce,30,30*tl],[W,1,uh],[W,3,3*uh],[W,6,6*uh],[W,12,12*uh],[b,1,ph],[b,2,2*ph],[i,1,om],[y,1,X0],[y,3,3*X0],[c,1,tg]];function Ze(tt,bt,Mt){const Lt=Math.abs(bt-tt)/Mt,Wt=nm(([,,Yt])=>Yt).right(ke,Lt);if(Wt===ke.length)return c.every(rm(tt/tg,bt/tg,Mt));if(0===Wt)return ig.every(Math.max(rm(tt,bt,Mt),1));const[Zt,hi]=ke[Lt/ke[Wt-1][2]isFinite(c=Math.floor(c))&&c>0?ur(y=>{y.setUTCFullYear(Math.floor(y.getUTCFullYear()/c)*c),y.setUTCMonth(0,1),y.setUTCHours(0,0,0,0)},(y,i)=>{y.setUTCFullYear(y.getUTCFullYear()+i*c)}):null;const[LD,PD]=ib(og,dm,rx,sg,q0,Z0),[nb,sb]=ib(Uo,rg,uo,ng,Mp,am);var rb=new Date,_u=new Date;function nc(c,y,i,b){function W(ce){return c(ce=0===arguments.length?new Date:new Date(+ce)),ce}return W.floor=function(ce){return c(ce=new Date(+ce)),ce},W.ceil=function(ce){return c(ce=new Date(ce-1)),y(ce,1),c(ce),ce},W.round=function(ce){var ke=W(ce),Ve=W.ceil(ce);return ce-ke0))return Ze;do{Ze.push(tt=new Date(+ce)),y(ce,Ve),c(ce)}while(tt=ke)for(;c(ke),!ce(ke);)ke.setTime(ke-1)},function(ke,Ve){if(ke>=ke)if(Ve<0)for(;++Ve<=0;)for(;y(ke,-1),!ce(ke););else for(;--Ve>=0;)for(;y(ke,1),!ce(ke););})},i&&(W.count=function(ce,ke){return rb.setTime(+ce),_u.setTime(+ke),c(rb),c(_u),Math.floor(i(rb,_u))},W.every=function(ce){return ce=Math.floor(ce),isFinite(ce)&&ce>0?ce>1?W.filter(b?function(ke){return b(ke)%ce==0}:function(ke){return W.count(0,ke)%ce==0}):W:null}),W}const Ld=864e5,pm=7*Ld;function Pd(c){return nc(function(y){y.setUTCDate(y.getUTCDate()-(y.getUTCDay()+7-c)%7),y.setUTCHours(0,0,0,0)},function(y,i){y.setUTCDate(y.getUTCDate()+7*i)},function(y,i){return(i-y)/pm})}var lb=Pd(0),Op=Pd(1),Cu=(Pd(2),Pd(3),Pd(4));const bm=(Pd(5),Pd(6),nc(function(c){c.setUTCHours(0,0,0,0)},function(c,y){c.setUTCDate(c.getUTCDate()+y)},function(c,y){return(y-c)/Ld},function(c){return c.getUTCDate()-1}));function Tu(c){return nc(function(y){y.setDate(y.getDate()-(y.getDay()+7-c)%7),y.setHours(0,0,0,0)},function(y,i){y.setDate(y.getDate()+7*i)},function(y,i){return(i-y-6e4*(i.getTimezoneOffset()-y.getTimezoneOffset()))/pm})}var Pp=Tu(0),ag=Tu(1),Rd=(Tu(2),Tu(3),Tu(4));const bb=(Tu(5),Tu(6),nc(c=>c.setHours(0,0,0,0),(c,y)=>c.setDate(c.getDate()+y),(c,y)=>(y-c-6e4*(y.getTimezoneOffset()-c.getTimezoneOffset()))/Ld,c=>c.getDate()-1));var xm=nc(function(c){c.setMonth(0,1),c.setHours(0,0,0,0)},function(c,y){c.setFullYear(c.getFullYear()+y)},function(c,y){return y.getFullYear()-c.getFullYear()},function(c){return c.getFullYear()});xm.every=function(c){return isFinite(c=Math.floor(c))&&c>0?nc(function(y){y.setFullYear(Math.floor(y.getFullYear()/c)*c),y.setMonth(0,1),y.setHours(0,0,0,0)},function(y,i){y.setFullYear(y.getFullYear()+i*c)}):null};const Np=xm;var hg=nc(function(c){c.setUTCMonth(0,1),c.setUTCHours(0,0,0,0)},function(c,y){c.setUTCFullYear(c.getUTCFullYear()+y)},function(c,y){return y.getUTCFullYear()-c.getUTCFullYear()},function(c){return c.getUTCFullYear()});hg.every=function(c){return isFinite(c=Math.floor(c))&&c>0?nc(function(y){y.setUTCFullYear(Math.floor(y.getUTCFullYear()/c)*c),y.setUTCMonth(0,1),y.setUTCHours(0,0,0,0)},function(y,i){y.setUTCFullYear(y.getUTCFullYear()+i*c)}):null};const Su=hg;function dg(c){if(0<=c.y&&c.y<100){var y=new Date(-1,c.m,c.d,c.H,c.M,c.S,c.L);return y.setFullYear(c.y),y}return new Date(c.y,c.m,c.d,c.H,c.M,c.S,c.L)}function ug(c){if(0<=c.y&&c.y<100){var y=new Date(Date.UTC(-1,c.m,c.d,c.H,c.M,c.S,c.L));return y.setUTCFullYear(c.y),y}return new Date(Date.UTC(c.y,c.m,c.d,c.H,c.M,c.S,c.L))}function Ac(c,y,i){return{y:c,m:y,d:i,H:0,M:0,S:0,L:0}}var _m={"-":"",_:" ",0:"0"},po=/^\s*\d+/,pg=/^%/,ku=/[\\^$*+?|[\]().{}]/g;function us(c,y,i){var b=c<0?"-":"",W=(b?-c:c)+"",ce=W.length;return b+(ce[y.toLowerCase(),i]))}function Cm(c,y,i){var b=po.exec(y.slice(i,i+1));return b?(c.w=+b[0],i+b[0].length):-1}function wm(c,y,i){var b=po.exec(y.slice(i,i+1));return b?(c.u=+b[0],i+b[0].length):-1}function yb(c,y,i){var b=po.exec(y.slice(i,i+2));return b?(c.U=+b[0],i+b[0].length):-1}function Tm(c,y,i){var b=po.exec(y.slice(i,i+2));return b?(c.V=+b[0],i+b[0].length):-1}function gx(c,y,i){var b=po.exec(y.slice(i,i+2));return b?(c.W=+b[0],i+b[0].length):-1}function xb(c,y,i){var b=po.exec(y.slice(i,i+4));return b?(c.y=+b[0],i+b[0].length):-1}function _b(c,y,i){var b=po.exec(y.slice(i,i+2));return b?(c.y=+b[0]+(+b[0]>68?1900:2e3),i+b[0].length):-1}function Cb(c,y,i){var b=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(y.slice(i,i+6));return b?(c.Z=b[1]?0:-(b[2]+(b[3]||"00")),i+b[0].length):-1}function mx(c,y,i){var b=po.exec(y.slice(i,i+1));return b?(c.q=3*b[0]-3,i+b[0].length):-1}function bx(c,y,i){var b=po.exec(y.slice(i,i+2));return b?(c.m=b[0]-1,i+b[0].length):-1}function wb(c,y,i){var b=po.exec(y.slice(i,i+2));return b?(c.d=+b[0],i+b[0].length):-1}function vx(c,y,i){var b=po.exec(y.slice(i,i+3));return b?(c.m=0,c.d=+b[0],i+b[0].length):-1}function Sm(c,y,i){var b=po.exec(y.slice(i,i+2));return b?(c.H=+b[0],i+b[0].length):-1}function Tb(c,y,i){var b=po.exec(y.slice(i,i+2));return b?(c.M=+b[0],i+b[0].length):-1}function yx(c,y,i){var b=po.exec(y.slice(i,i+2));return b?(c.S=+b[0],i+b[0].length):-1}function xx(c,y,i){var b=po.exec(y.slice(i,i+3));return b?(c.L=+b[0],i+b[0].length):-1}function Aa(c,y,i){var b=po.exec(y.slice(i,i+6));return b?(c.L=Math.floor(b[0]/1e3),i+b[0].length):-1}function _x(c,y,i){var b=pg.exec(y.slice(i,i+1));return b?i+b[0].length:-1}function Cx(c,y,i){var b=po.exec(y.slice(i));return b?(c.Q=+b[0],i+b[0].length):-1}function uw(c,y,i){var b=po.exec(y.slice(i));return b?(c.s=+b[0],i+b[0].length):-1}function fg(c,y){return us(c.getDate(),y,2)}function Sb(c,y){return us(c.getHours(),y,2)}function wx(c,y){return us(c.getHours()%12||12,y,2)}function Tx(c,y){return us(1+bb.count(Np(c),c),y,3)}function kb(c,y){return us(c.getMilliseconds(),y,3)}function Db(c,y){return kb(c,y)+"000"}function Sx(c,y){return us(c.getMonth()+1,y,2)}function kx(c,y){return us(c.getMinutes(),y,2)}function km(c,y){return us(c.getSeconds(),y,2)}function Dx(c){var y=c.getDay();return 0===y?7:y}function Mx(c,y){return us(Pp.count(Np(c)-1,c),y,2)}function Mb(c){var y=c.getDay();return y>=4||0===y?Rd(c):Rd.ceil(c)}function Ex(c,y){return c=Mb(c),us(Rd.count(Np(c),c)+(4===Np(c).getDay()),y,2)}function Ax(c){return c.getDay()}function Ic(c,y){return us(ag.count(Np(c)-1,c),y,2)}function Dm(c,y){return us(c.getFullYear()%100,y,2)}function Ix(c,y){return us((c=Mb(c)).getFullYear()%100,y,2)}function Ox(c,y){return us(c.getFullYear()%1e4,y,4)}function Eb(c,y){var i=c.getDay();return us((c=i>=4||0===i?Rd(c):Rd.ceil(c)).getFullYear()%1e4,y,4)}function Ab(c){var y=c.getTimezoneOffset();return(y>0?"-":(y*=-1,"+"))+us(y/60|0,"0",2)+us(y%60,"0",2)}function Bp(c,y){return us(c.getUTCDate(),y,2)}function Mm(c,y){return us(c.getUTCHours(),y,2)}function pw(c,y){return us(c.getUTCHours()%12||12,y,2)}function Ib(c,y){return us(1+bm.count(Su(c),c),y,3)}function Em(c,y){return us(c.getUTCMilliseconds(),y,3)}function Ob(c,y){return Em(c,y)+"000"}function gg(c,y){return us(c.getUTCMonth()+1,y,2)}function Am(c,y){return us(c.getUTCMinutes(),y,2)}function mh(c,y){return us(c.getUTCSeconds(),y,2)}function Lx(c){var y=c.getUTCDay();return 0===y?7:y}function Px(c,y){return us(lb.count(Su(c)-1,c),y,2)}function mg(c){var y=c.getUTCDay();return y>=4||0===y?Cu(c):Cu.ceil(c)}function Rx(c,y){return c=mg(c),us(Cu.count(Su(c),c)+(4===Su(c).getUTCDay()),y,2)}function jp(c){return c.getUTCDay()}function Lb(c,y){return us(Op.count(Su(c)-1,c),y,2)}function Mu(c,y){return us(c.getUTCFullYear()%100,y,2)}function Vp(c,y){return us((c=mg(c)).getUTCFullYear()%100,y,2)}function Im(c,y){return us(c.getUTCFullYear()%1e4,y,4)}function zp(c,y){var i=c.getUTCDay();return us((c=i>=4||0===i?Cu(c):Cu.ceil(c)).getUTCFullYear()%1e4,y,4)}function Pb(){return"+0000"}function Om(){return"%"}function Rb(c){return+c}function Nb(c){return Math.floor(+c/1e3)}function Lm(c){return null===c?NaN:+c}!function jb(c){(function vb(c){var y=c.dateTime,i=c.date,b=c.time,W=c.periods,ce=c.days,ke=c.shortDays,Ve=c.months,Ze=c.shortMonths,tt=Du(W),bt=Nd(W),Mt=Du(ce),Lt=Nd(ce),Wt=Du(ke),Zt=Nd(ke),hi=Du(Ve),Yt=Nd(Ve),ui=Du(Ze),yi=Nd(Ze),fi={a:function Si(Ii){return ke[Ii.getDay()]},A:function Vi(Ii){return ce[Ii.getDay()]},b:function Gi(Ii){return Ze[Ii.getMonth()]},B:function Nn(Ii){return Ve[Ii.getMonth()]},c:null,d:fg,e:fg,f:Db,g:Ix,G:Eb,H:Sb,I:wx,j:Tx,L:kb,m:Sx,M:kx,p:function is(Ii){return W[+(Ii.getHours()>=12)]},q:function Yn(Ii){return 1+~~(Ii.getMonth()/3)},Q:Rb,s:Nb,S:km,u:Dx,U:Mx,V:Ex,w:Ax,W:Ic,x:null,X:null,y:Dm,Y:Ox,Z:Ab,"%":Om},Ti={a:function fo(Ii){return ke[Ii.getUTCDay()]},A:function ps(Ii){return ce[Ii.getUTCDay()]},b:function Qr(Ii){return Ze[Ii.getUTCMonth()]},B:function Ll(Ii){return Ve[Ii.getUTCMonth()]},c:null,d:Bp,e:Bp,f:Ob,g:Vp,G:zp,H:Mm,I:pw,j:Ib,L:Em,m:gg,M:Am,p:function ns(Ii){return W[+(Ii.getUTCHours()>=12)]},q:function Ur(Ii){return 1+~~(Ii.getUTCMonth()/3)},Q:Rb,s:Nb,S:mh,u:Lx,U:Px,V:Rx,w:jp,W:Lb,x:null,X:null,y:Mu,Y:Im,Z:Pb,"%":Om},ji={a:function An(Ii,un,Gn){var xi=Wt.exec(un.slice(Gn));return xi?(Ii.w=Zt.get(xi[0].toLowerCase()),Gn+xi[0].length):-1},A:function Hi(Ii,un,Gn){var xi=Mt.exec(un.slice(Gn));return xi?(Ii.w=Lt.get(xi[0].toLowerCase()),Gn+xi[0].length):-1},b:function Xn(Ii,un,Gn){var xi=ui.exec(un.slice(Gn));return xi?(Ii.m=yi.get(xi[0].toLowerCase()),Gn+xi[0].length):-1},B:function Pi(Ii,un,Gn){var xi=hi.exec(un.slice(Gn));return xi?(Ii.m=Yt.get(xi[0].toLowerCase()),Gn+xi[0].length):-1},c:function Zi(Ii,un,Gn){return dn(Ii,y,un,Gn)},d:wb,e:wb,f:Aa,g:_b,G:xb,H:Sm,I:Sm,j:vx,L:xx,m:bx,M:Tb,p:function xs(Ii,un,Gn){var xi=tt.exec(un.slice(Gn));return xi?(Ii.p=bt.get(xi[0].toLowerCase()),Gn+xi[0].length):-1},q:mx,Q:Cx,s:uw,S:yx,u:wm,U:yb,V:Tm,w:Cm,W:gx,x:function rr(Ii,un,Gn){return dn(Ii,i,un,Gn)},X:function _i(Ii,un,Gn){return dn(Ii,b,un,Gn)},y:_b,Y:xb,Z:Cb,"%":_x};function Mi(Ii,un){return function(Gn){var $o,vn,or,xi=[],_r=-1,Fs=0,_o=Ii.length;for(Gn instanceof Date||(Gn=new Date(+Gn));++_r<_o;)37===Ii.charCodeAt(_r)&&(xi.push(Ii.slice(Fs,_r)),null!=(vn=_m[$o=Ii.charAt(++_r)])?$o=Ii.charAt(++_r):vn="e"===$o?" ":"0",(or=un[$o])&&($o=or(Gn,vn)),xi.push($o),Fs=_r+1);return xi.push(Ii.slice(Fs,_r)),xi.join("")}}function hn(Ii,un){return function(Gn){var Fs,_o,xi=Ac(1900,void 0,1);if(dn(xi,Ii,Gn+="",0)!=Gn.length)return null;if("Q"in xi)return new Date(xi.Q);if("s"in xi)return new Date(1e3*xi.s+("L"in xi?xi.L:0));if(un&&!("Z"in xi)&&(xi.Z=0),"p"in xi&&(xi.H=xi.H%12+12*xi.p),void 0===xi.m&&(xi.m="q"in xi?xi.q:0),"V"in xi){if(xi.V<1||xi.V>53)return null;"w"in xi||(xi.w=1),"Z"in xi?(_o=(Fs=ug(Ac(xi.y,0,1))).getUTCDay(),Fs=_o>4||0===_o?Op.ceil(Fs):Op(Fs),Fs=bm.offset(Fs,7*(xi.V-1)),xi.y=Fs.getUTCFullYear(),xi.m=Fs.getUTCMonth(),xi.d=Fs.getUTCDate()+(xi.w+6)%7):(_o=(Fs=dg(Ac(xi.y,0,1))).getDay(),Fs=_o>4||0===_o?ag.ceil(Fs):ag(Fs),Fs=bb.offset(Fs,7*(xi.V-1)),xi.y=Fs.getFullYear(),xi.m=Fs.getMonth(),xi.d=Fs.getDate()+(xi.w+6)%7)}else("W"in xi||"U"in xi)&&("w"in xi||(xi.w="u"in xi?xi.u%7:"W"in xi?1:0),_o="Z"in xi?ug(Ac(xi.y,0,1)).getUTCDay():dg(Ac(xi.y,0,1)).getDay(),xi.m=0,xi.d="W"in xi?(xi.w+6)%7+7*xi.W-(_o+5)%7:xi.w+7*xi.U-(_o+6)%7);return"Z"in xi?(xi.H+=xi.Z/100|0,xi.M+=xi.Z%100,ug(xi)):dg(xi)}}function dn(Ii,un,Gn,xi){for(var $o,vn,_r=0,Fs=un.length,_o=Gn.length;_r=_o)return-1;if(37===($o=un.charCodeAt(_r++))){if($o=un.charAt(_r++),!(vn=ji[$o in _m?un.charAt(_r++):$o])||(xi=vn(Ii,Gn,xi))<0)return-1}else if($o!=Gn.charCodeAt(xi++))return-1}return xi}return fi.x=Mi(i,fi),fi.X=Mi(b,fi),fi.c=Mi(y,fi),Ti.x=Mi(i,Ti),Ti.X=Mi(b,Ti),Ti.c=Mi(y,Ti),{format:function(Ii){var un=Mi(Ii+="",fi);return un.toString=function(){return Ii},un},parse:function(Ii){var un=hn(Ii+="",!1);return un.toString=function(){return Ii},un},utcFormat:function(Ii){var un=Mi(Ii+="",Ti);return un.toString=function(){return Ii},un},utcParse:function(Ii){var un=hn(Ii+="",!0);return un.toString=function(){return Ii},un}}})(c)}({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"]});const jx=nm(yu).right,Vb=(nm(Lm),jx);function zb(c,y){return c=+c,y=+y,function(i){return Math.round(c*(1-i)+y*i)}}function zx(c){return+c}var Pm=[0,1];function id(c){return c}function bg(c,y){return(y-=c=+c)?function(i){return(i-c)/y}:function Vx(c){return function(){return c}}(isNaN(y)?NaN:.5)}function Up(c,y,i){var b=c[0],W=c[1],ce=y[0],ke=y[1];return Wy&&(i=c,c=y,y=i),function(b){return Math.max(c,Math.min(y,b))}}(c[0],c[Lt-1])),Ve=Lt>2?Wp:Up,Ze=tt=null,Mt}function Mt(Lt){return null==Lt||isNaN(Lt=+Lt)?ce:(Ze||(Ze=Ve(c.map(b),y,i)))(b(ke(Lt)))}return Mt.invert=function(Lt){return ke(W((tt||(tt=Ve(y,c.map(b),aa)))(Lt)))},Mt.domain=function(Lt){return arguments.length?(c=Array.from(Lt,zx),bt()):c.slice()},Mt.range=function(Lt){return arguments.length?(y=Array.from(Lt),bt()):y.slice()},Mt.rangeRound=function(Lt){return y=Array.from(Lt),i=zb,bt()},Mt.clamp=function(Lt){return arguments.length?(ke=!!Lt||id,bt()):ke!==id},Mt.interpolate=function(Lt){return arguments.length?(i=Lt,bt()):i},Mt.unknown=function(Lt){return arguments.length?(ce=Lt,Mt):ce},function(Lt,Wt){return b=Lt,W=Wt,bt()}}()(id,id)}function nd(c,y){switch(arguments.length){case 0:break;case 1:this.range(c);break;default:this.range(y).domain(c)}return this}var Fm,bw=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function vg(c){if(!(y=bw.exec(c)))throw new Error("invalid format: "+c);var y;return new $b({fill:y[1],align:y[2],sign:y[3],symbol:y[4],zero:y[5],width:y[6],comma:y[7],precision:y[8]&&y[8].slice(1),trim:y[9],type:y[10]})}function $b(c){this.fill=void 0===c.fill?" ":c.fill+"",this.align=void 0===c.align?">":c.align+"",this.sign=void 0===c.sign?"-":c.sign+"",this.symbol=void 0===c.symbol?"":c.symbol+"",this.zero=!!c.zero,this.width=void 0===c.width?void 0:+c.width,this.comma=!!c.comma,this.precision=void 0===c.precision?void 0:+c.precision,this.trim=!!c.trim,this.type=void 0===c.type?"":c.type+""}function yg(c,y){if((i=(c=y?c.toExponential(y-1):c.toExponential()).indexOf("e"))<0)return null;var i,b=c.slice(0,i);return[b.length>1?b[0]+b.slice(2):b,+c.slice(i+1)]}function Au(c){return(c=yg(Math.abs(c)))?c[1]:NaN}function Bm(c,y){var i=yg(c,y);if(!i)return c+"";var b=i[0],W=i[1];return W<0?"0."+new Array(-W).join("0")+b:b.length>W+1?b.slice(0,W+1)+"."+b.slice(W+1):b+new Array(W-b.length+2).join("0")}vg.prototype=$b.prototype,$b.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const Xb={"%":(c,y)=>(100*c).toFixed(y),b:c=>Math.round(c).toString(2),c:c=>c+"",d:function Wx(c){return Math.abs(c=Math.round(c))>=1e21?c.toLocaleString("en").replace(/,/g,""):c.toString(10)},e:(c,y)=>c.toExponential(y),f:(c,y)=>c.toFixed(y),g:(c,y)=>c.toPrecision(y),o:c=>Math.round(c).toString(8),p:(c,y)=>Bm(100*c,y),r:Bm,s:function Xp(c,y){var i=yg(c,y);if(!i)return c+"";var b=i[0],W=i[1],ce=W-(Fm=3*Math.max(-8,Math.min(8,Math.floor(W/3))))+1,ke=b.length;return ce===ke?b:ce>ke?b+new Array(ce-ke+1).join("0"):ce>0?b.slice(0,ce)+"."+b.slice(ce):"0."+new Array(1-ce).join("0")+yg(c,Math.max(0,y+ce-1))[0]},X:c=>Math.round(c).toString(16).toUpperCase(),x:c=>Math.round(c).toString(16)};function Iu(c){return c}var _g,Yp,Zb,jm=Array.prototype.map,Yb=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function Vm(c){var y=c.domain;return c.ticks=function(i){var b=y();return function Id(c,y,i){if(!((i=+i)>0))return[];if((c=+c)==(y=+y))return[c];const b=y=W))return[];const Ve=ce-W+1,Ze=new Array(Ve);if(b)if(ke<0)for(let tt=0;tt0;){if((tt=eg(ke,Ve,i))===Ze)return b[W]=ke,b[ce]=Ve,y(b);if(tt>0)ke=Math.floor(ke/tt)*tt,Ve=Math.ceil(Ve/tt)*tt;else{if(!(tt<0))break;ke=Math.ceil(ke*tt)/tt,Ve=Math.floor(Ve*tt)/tt}Ze=tt}return c},c}function bh(){var c=Hb();return c.copy=function(){return function Gb(c,y){return y.domain(c.domain()).range(c.range()).interpolate(c.interpolate()).clamp(c.clamp()).unknown(c.unknown())}(c,bh())},nd.apply(c,arguments),Vm(c)}function qb(c,y,i){c=+c,y=+y,i=(W=arguments.length)<2?(y=c,c=0,1):W<3?1:+i;for(var b=-1,W=0|Math.max(0,Math.ceil((y-c)/i)),ce=new Array(W);++b0&&Ve>0&&(Ze+Ve+1>b&&(Ve=Math.max(1,b-Ze)),ce.push(i.substring(W-=Ve,W+Ve)),!((Ze+=Ve+1)>b));)Ve=c[ke=(ke+1)%c.length];return ce.reverse().join(y)}}(jm.call(c.grouping,Number),c.thousands+""),i=void 0===c.currency?"":c.currency[0]+"",b=void 0===c.currency?"":c.currency[1]+"",W=void 0===c.decimal?".":c.decimal+"",ce=void 0===c.numerals?Iu:function Nm(c){return function(y){return y.replace(/[0-9]/g,function(i){return c[+i]})}}(jm.call(c.numerals,String)),ke=void 0===c.percent?"%":c.percent+"",Ve=void 0===c.minus?"\u2212":c.minus+"",Ze=void 0===c.nan?"NaN":c.nan+"";function tt(Mt){var Lt=(Mt=vg(Mt)).fill,Wt=Mt.align,Zt=Mt.sign,hi=Mt.symbol,Yt=Mt.zero,ui=Mt.width,yi=Mt.comma,fi=Mt.precision,Ti=Mt.trim,ji=Mt.type;"n"===ji?(yi=!0,ji="g"):Xb[ji]||(void 0===fi&&(fi=12),Ti=!0,ji="g"),(Yt||"0"===Lt&&"="===Wt)&&(Yt=!0,Lt="0",Wt="=");var Mi="$"===hi?i:"#"===hi&&/[boxX]/.test(ji)?"0"+ji.toLowerCase():"",hn="$"===hi?b:/[%p]/.test(ji)?ke:"",dn=Xb[ji],xs=/[defgprs%]/.test(ji);function An(Hi){var Zi,rr,_i,Xn=Mi,Pi=hn;if("c"===ji)Pi=dn(Hi)+Pi,Hi="";else{var Si=(Hi=+Hi)<0||1/Hi<0;if(Hi=isNaN(Hi)?Ze:dn(Math.abs(Hi),fi),Ti&&(Hi=function xg(c){e:for(var W,y=c.length,i=1,b=-1;i0&&(b=0)}return b>0?c.slice(0,b)+c.slice(W+1):c}(Hi)),Si&&0==+Hi&&"+"!==Zt&&(Si=!1),Xn=(Si?"("===Zt?Zt:Ve:"-"===Zt||"("===Zt?"":Zt)+Xn,Pi=("s"===ji?Yb[8+Fm/3]:"")+Pi+(Si&&"("===Zt?")":""),xs)for(Zi=-1,rr=Hi.length;++Zi(_i=Hi.charCodeAt(Zi))||_i>57){Pi=(46===_i?W+Hi.slice(Zi+1):Hi.slice(Zi))+Pi,Hi=Hi.slice(0,Zi);break}}yi&&!Yt&&(Hi=y(Hi,1/0));var Vi=Xn.length+Hi.length+Pi.length,Gi=Vi>1)+Xn+Hi+Pi+Gi.slice(Vi);break;default:Hi=Gi+Xn+Hi+Pi}return ce(Hi)}return fi=void 0===fi?6:/[gprs]/.test(ji)?Math.max(1,Math.min(21,fi)):Math.max(0,Math.min(20,fi)),An.toString=function(){return Mt+""},An}return{format:tt,formatPrefix:function bt(Mt,Lt){var Wt=tt(((Mt=vg(Mt)).type="f",Mt)),Zt=3*Math.max(-8,Math.min(8,Math.floor(Au(Lt)/3))),hi=Math.pow(10,-Zt),Yt=Yb[8+Zt/3];return function(ui){return Wt(hi*ui)+Yt}}}}(c),Yp=_g.format,Zb=_g.formatPrefix}({thousands:",",grouping:[3],currency:["$",""]});class Kp extends Map{constructor(y,i=Cg){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:i}}),null!=y)for(const[b,W]of y)this.set(b,W)}get(y){return super.get(Qb(this,y))}has(y){return super.has(Qb(this,y))}set(y,i){return super.set(function Jb({_intern:c,_key:y},i){const b=y(i);return c.has(b)?c.get(b):(c.set(b,i),i)}(this,y),i)}delete(y){return super.delete(function ev({_intern:c,_key:y},i){const b=y(i);return c.has(b)&&(i=c.get(b),c.delete(b)),i}(this,y))}}function Qb({_intern:c,_key:y},i){const b=y(i);return c.has(b)?c.get(b):i}function Cg(c){return null!==c&&"object"==typeof c?c.valueOf():c}Set;const tv=Symbol("implicit");function wg(){var c=new Kp,y=[],i=[],b=tv;function W(ce){let ke=c.get(ce);if(void 0===ke){if(b!==tv)return b;c.set(ce,ke=y.push(ce)-1)}return i[ke%i.length]}return W.domain=function(ce){if(!arguments.length)return y.slice();y=[],c=new Kp;for(const ke of ce)c.has(ke)||c.set(ke,y.push(ke)-1);return W},W.range=function(ce){return arguments.length?(i=Array.from(ce),W):i.slice()},W.unknown=function(ce){return arguments.length?(b=ce,W):b},W.copy=function(){return wg(y,i).unknown(b)},nd.apply(W,arguments),W}function Gm(){var ce,ke,c=wg().unknown(void 0),y=c.domain,i=c.range,b=0,W=1,Ve=!1,Ze=0,tt=0,bt=.5;function Mt(){var Lt=y().length,Wt=W=1)return+i(c[b-1],b-1,c);var b,W=(b-1)*y,ce=Math.floor(W),ke=+i(c[ce],ce,c);return ke+(+i(c[ce+1],ce+1,c)-ke)*(W-ce)}}function qp(){var b,c=[],y=[],i=[];function W(){var ke=0,Ve=Math.max(1,y.length);for(i=new Array(Ve-1);++ke0?i[Ve-1]:c[0],Ve=1?Tg:c<=-1?-Tg:Math.asin(c)}const El=Math.PI,Sg=2*El,Bd=1e-6,xw=Sg-Bd;function xr(c){this._+=c[0];for(let y=1,i=c.length;y=0))throw new Error(`invalid digits: ${c}`);if(y>15)return xr;const i=10**y;return function(b){this._+=b[0];for(let W=1,ce=b.length;WBd)if(Math.abs(Mt*Ze-tt*bt)>Bd&&ce){let Wt=b-ke,Zt=W-Ve,hi=Ze*Ze+tt*tt,Yt=Wt*Wt+Zt*Zt,ui=Math.sqrt(hi),yi=Math.sqrt(Lt),fi=ce*Math.tan((El-Math.acos((hi+Lt-Yt)/(2*ui*yi)))/2),Ti=fi/yi,ji=fi/ui;Math.abs(Ti-1)>Bd&&this._append`L${y+Ti*bt},${i+Ti*Mt}`,this._append`A${ce},${ce},0,0,${+(Mt*Wt>bt*Zt)},${this._x1=y+ji*Ze},${this._y1=i+ji*tt}`}else this._append`L${this._x1=y},${this._y1=i}`}arc(y,i,b,W,ce,ke){if(y=+y,i=+i,ke=!!ke,(b=+b)<0)throw new Error(`negative radius: ${b}`);let Ve=b*Math.cos(W),Ze=b*Math.sin(W),tt=y+Ve,bt=i+Ze,Mt=1^ke,Lt=ke?W-ce:ce-W;null===this._x1?this._append`M${tt},${bt}`:(Math.abs(this._x1-tt)>Bd||Math.abs(this._y1-bt)>Bd)&&this._append`L${tt},${bt}`,b&&(Lt<0&&(Lt=Lt%Sg+Sg),Lt>xw?this._append`A${b},${b},0,1,${Mt},${y-Ve},${i-Ze}A${b},${b},0,1,${Mt},${this._x1=tt},${this._y1=bt}`:Lt>Bd&&this._append`A${b},${b},0,${+(Lt>=El)},${Mt},${this._x1=y+b*Math.cos(ce)},${this._y1=i+b*Math.sin(ce)}`)}rect(y,i,b,W){this._append`M${this._x0=this._x1=+y},${this._y0=this._y1=+i}h${b=+b}v${+W}h${-b}Z`}toString(){return this._}}function sv(c){return c.innerRadius}function rv(c){return c.outerRadius}function ov(c){return c.startAngle}function e_(c){return c.endAngle}function t_(c){return c&&c.padAngle}function Jp(c,y,i,b,W,ce,ke){var Ve=c-i,Ze=y-b,tt=(ke?ce:-ce)/Fd(Ve*Ve+Ze*Ze),bt=tt*Ze,Mt=-tt*Ve,Lt=c+bt,Wt=y+Mt,Zt=i+bt,hi=b+Mt,Yt=(Lt+Zt)/2,ui=(Wt+hi)/2,yi=Zt-Lt,fi=hi-Wt,Ti=yi*yi+fi*fi,ji=W-ce,Mi=Lt*hi-Zt*Wt,hn=(fi<0?-1:1)*Fd(yw(0,ji*ji*Ti-Mi*Mi)),dn=(Mi*fi-yi*hn)/Ti,xs=(-Mi*yi-fi*hn)/Ti,An=(Mi*fi+yi*hn)/Ti,Hi=(-Mi*yi+fi*hn)/Ti,Xn=dn-Yt,Pi=xs-ui,Zi=An-Yt,rr=Hi-ui;return Xn*Xn+Pi*Pi>Zi*Zi+rr*rr&&(dn=An,xs=Hi),{cx:dn,cy:xs,x01:-bt,y01:-Mt,x11:dn*(W/ji-1),y11:xs*(W/ji-1)}}function ef(){var c=sv,y=rv,i=ca(0),b=null,W=ov,ce=e_,ke=t_,Ve=null,Ze=function $m(c){let y=3;return c.digits=function(i){if(!arguments.length)return y;if(null==i)y=null;else{const b=Math.floor(i);if(!(b>=0))throw new RangeError(`invalid digits: ${i}`);y=b}return c},()=>new Lu(y)}(tt);function tt(){var bt,Mt,Lt=+c.apply(this,arguments),Wt=+y.apply(this,arguments),Zt=W.apply(this,arguments)-Tg,hi=ce.apply(this,arguments)-Tg,Yt=Hm(hi-Zt),ui=hi>Zt;if(Ve||(Ve=bt=Ze()),WtOa)if(Yt>Ou-Oa)Ve.moveTo(Wt*sd(Zt),Wt*Ia(Zt)),Ve.arc(0,0,Wt,Zt,hi,!ui),Lt>Oa&&(Ve.moveTo(Lt*sd(hi),Lt*Ia(hi)),Ve.arc(0,0,Lt,hi,Zt,ui));else{var Pi,Zi,yi=Zt,fi=hi,Ti=Zt,ji=hi,Mi=Yt,hn=Yt,dn=ke.apply(this,arguments)/2,xs=dn>Oa&&(b?+b.apply(this,arguments):Fd(Lt*Lt+Wt*Wt)),An=Um(Hm(Wt-Lt)/2,+i.apply(this,arguments)),Hi=An,Xn=An;if(xs>Oa){var rr=Wm(xs/Lt*Ia(dn)),_i=Wm(xs/Wt*Ia(dn));(Mi-=2*rr)>Oa?(Ti+=rr*=ui?1:-1,ji-=rr):(Mi=0,Ti=ji=(Zt+hi)/2),(hn-=2*_i)>Oa?(yi+=_i*=ui?1:-1,fi-=_i):(hn=0,yi=fi=(Zt+hi)/2)}var Si=Wt*sd(yi),Vi=Wt*Ia(yi),Gi=Lt*sd(ji),Nn=Lt*Ia(ji);if(An>Oa){var Qr,is=Wt*sd(fi),Yn=Wt*Ia(fi),fo=Lt*sd(Ti),ps=Lt*Ia(Ti);if(Yt1?0:c<-1?Qp:Math.acos(c)}((Ll*Ur+ns*Ii)/(Fd(Ll*Ll+ns*ns)*Fd(Ur*Ur+Ii*Ii)))/2),Gn=Fd(Qr[0]*Qr[0]+Qr[1]*Qr[1]);Hi=Um(An,(Lt-Gn)/(un-1)),Xn=Um(An,(Wt-Gn)/(un+1))}else Hi=Xn=0}hn>Oa?Xn>Oa?(Pi=Jp(fo,ps,Si,Vi,Wt,Xn,ui),Zi=Jp(is,Yn,Gi,Nn,Wt,Xn,ui),Ve.moveTo(Pi.cx+Pi.x01,Pi.cy+Pi.y01),XnOa&&Mi>Oa?Hi>Oa?(Pi=Jp(Gi,Nn,is,Yn,Lt,-Hi,ui),Zi=Jp(Si,Vi,fo,ps,Lt,-Hi,ui),Ve.lineTo(Pi.cx+Pi.x01,Pi.cy+Pi.y01),Hic?1:y>=c?0:NaN}function cv(c){return c}var rd=We(76021);const kg=["caretElm"],hv=c=>({model:c});function nf(c,y){}function i_(c,y){if(1&c&&(e.j41(0,"span"),e.DNE(1,nf,0,0,"ng-template",5),e.k0s()),2&c){const i=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",i.template)("ngTemplateOutletContext",e.eq3(2,hv,i.context))}}function n_(c,y){if(1&c&&e.nrm(0,"span",6),2&c){const i=e.XpG();e.Y8G("innerHTML",i.title,e.npT)}}function Ym(c,y){if(1&c&&(e.j41(0,"header",4)(1,"span",5),e.EFF(2),e.k0s()()),2&c){const i=e.XpG();e.R7$(2),e.JRh(i.title)}}function dv(c,y){if(1&c){const i=e.RV6();e.j41(0,"li",6)(1,"ngx-charts-legend-entry",7),e.bIt("select",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.labelClick.emit(W))})("activate",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.activate(W))})("deactivate",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.deactivate(W))}),e.k0s()()}if(2&c){const i=y.$implicit,b=e.XpG();e.R7$(),e.Y8G("label",i.label)("formattedLabel",i.formattedLabel)("color",i.color)("isActive",b.isActive(i))}}const vh=["*"];function sf(c,y){if(1&c&&e.nrm(0,"ngx-charts-scale-legend",4),2&c){const i=e.XpG();e.Y8G("horizontal",i.legendOptions&&i.legendOptions.position===i.LegendPosition.Below)("valueRange",i.legendOptions.domain)("colors",i.legendOptions.colors)("height",i.view[1])("width",i.legendWidth)}}function ww(c,y){if(1&c){const i=e.RV6();e.j41(0,"ngx-charts-legend",5),e.bIt("labelClick",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.legendLabelClick.emit(W))})("labelActivate",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.legendLabelActivate.emit(W))})("labelDeactivate",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.legendLabelDeactivate.emit(W))}),e.k0s()}if(2&c){const i=e.XpG();e.Y8G("horizontal",i.legendOptions&&i.legendOptions.position===i.LegendPosition.Below)("data",i.legendOptions.domain)("title",i.legendOptions.title)("colors",i.legendOptions.colors)("height",i.view[1])("width",i.legendWidth)("activeEntries",i.activeEntries)}}const C_=["ngx-charts-svg-radial-gradient",""];function n0(c,y){if(1&c&&(e.qSk(),e.nrm(0,"stop")),2&c){const i=y.$implicit;e.xc7("stop-color",i.color)("stop-opacity",i.opacity),e.BMQ("offset",i.offset+"%")}}const Iw=["ngx-charts-count-up",""];function Av(c,y){if(1&c&&e.nrm(0,"div",7),2&c){const i=e.XpG();e.Y8G("countTo",i.roundedTotal)("valueFormatting",i.valueFormatting)}}function Iv(c,y){if(1&c&&(e.j41(0,"div",8),e.EFF(1),e.k0s()),2&c){const i=e.XpG();e.R7$(),e.SpI(" ",i.valueFormatting?i.valueFormatting(i.roundedTotal):i.defaultValueFormatting(i.roundedTotal)," ")}}function Ov(c,y){if(1&c&&e.nrm(0,"div",16),2&c){const i=e.XpG().$implicit,b=e.XpG();e.Y8G("countTo",i._value)("valueFormatting",b.valueFormatting)}}function Lv(c,y){if(1&c&&(e.j41(0,"div",17),e.EFF(1),e.k0s()),2&c){const i=e.XpG().$implicit,b=e.XpG();e.R7$(),e.SpI(" ",b.valueFormatting?b.valueFormatting(i.value):b.defaultValueFormatting(i.value)," ")}}function w_(c,y){if(1&c&&e.nrm(0,"div",18),2&c){const i=e.XpG().$implicit;e.Y8G("countTo",i.percentage)("countSuffix","%")}}function Lw(c,y){if(1&c&&(e.j41(0,"div",19),e.EFF(1),e.k0s()),2&c){const i=e.XpG().$implicit;e.R7$(),e.SpI("",i.percentage.toLocaleString(),"%")}}function Pw(c,y){if(1&c){const i=e.RV6();e.j41(0,"div",9),e.bIt("mouseenter",function(){const W=e.eBV(i).$implicit,ce=e.XpG();return e.Njj(ce.activate.emit(W.data))})("mouseleave",function(){const W=e.eBV(i).$implicit,ce=e.XpG();return e.Njj(ce.deactivate.emit(W.data))})("click",function(){const W=e.eBV(i).$implicit,ce=e.XpG();return e.Njj(ce.select.emit(W.data))}),e.nrm(1,"div",10),e.DNE(2,Ov,1,2,"div",11)(3,Lv,2,1,"div",12),e.j41(4,"div",13),e.EFF(5),e.k0s(),e.DNE(6,w_,1,2,"div",14)(7,Lw,2,1,"div",15),e.k0s()}if(2&c){const i=y.$implicit,b=e.XpG();e.R7$(),e.xc7("border-left-color",i.color),e.R7$(),e.Y8G("ngIf",b.animations),e.R7$(),e.Y8G("ngIf",!b.animations),e.R7$(2),e.JRh(i.displayLabel),e.R7$(),e.Y8G("ngIf",b.animations),e.R7$(),e.Y8G("ngIf",!b.animations)}}const Rw=["tooltipTemplate"],Dg=(c,y)=>[c,y],Fu=["ngx-charts-pie-label",""],e1=["ngx-charts-pie-arc",""];function t1(c,y){if(1&c&&(e.qSk(),e.j41(0,"defs"),e.nrm(1,"g",3),e.k0s()),2&c){const i=e.XpG();e.R7$(),e.Y8G("color",i.fill)("name",i.radialGradientId)("startOpacity",i.startOpacity)}}const Zv=["ngx-charts-pie-series",""];function qv(c,y){if(1&c&&(e.qSk(),e.nrm(0,"g",3)),2&c){const i=e.XpG().$implicit,b=e.XpG();e.Y8G("data",i)("radius",b.outerRadius)("color",b.color(i))("label",b.labelText(i))("labelTrim",b.trimLabels)("labelTrimSize",b.maxLabelLength)("max",b.max)("value",i.value)("explodeSlices",b.explodeSlices)("animations",b.animations)}}function n1(c,y){if(1&c){const i=e.RV6();e.qSk(),e.j41(0,"g"),e.DNE(1,qv,1,10,"g",1),e.j41(2,"g",2),e.bIt("select",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.onClick(W))})("activate",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.activate.emit(W))})("deactivate",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.deactivate.emit(W))})("dblclick",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.dblclick.emit(W))}),e.k0s()()}if(2&c){const i=y.$implicit,b=e.XpG();e.R7$(),e.Y8G("ngIf",b.labelVisible(i)),e.R7$(),e.Y8G("startAngle",i.startAngle)("endAngle",i.endAngle)("innerRadius",b.innerRadius)("outerRadius",b.outerRadius)("fill",b.color(i))("value",i.data.value)("gradient",b.gradient)("data",i.data)("max",b.max)("explodeSlices",b.explodeSlices)("isActive",b.isActive(i.data))("animate",b.animations)("tooltipDisabled",b.tooltipDisabled)("tooltipPlacement",b.placementTypes.Top)("tooltipType",b.styleTypes.tooltip)("tooltipTitle",b.getTooltipTitle(i))("tooltipTemplate",b.tooltipTemplate)("tooltipContext",i.data)}}function ju(c,y,i){i=i||{};let b,W,ce,ke=null,Ve=0;function Ze(){Ve=!1===i.leading?0:+new Date,ke=null,ce=c.apply(b,W)}return function(){const tt=+new Date;!Ve&&!1===i.leading&&(Ve=tt);const bt=y-(tt-Ve);return b=this,W=arguments,bt<=0?(clearTimeout(ke),ke=null,Ve=tt,ce=c.apply(b,W)):!ke&&!1!==i.trailing&&(ke=setTimeout(Ze,bt)),ce}}function Vu(c,y){return function(b,W,ce){return{configurable:!0,enumerable:ce.enumerable,get:function(){return Object.defineProperty(this,W,{configurable:!0,enumerable:ce.enumerable,value:ju(ce.value,c,y)}),this[W]}}}}var Rn=function(c){return c.Top="top",c.Bottom="bottom",c.Left="left",c.Right="right",c.Center="center",c}(Rn||{});function y0(c,y,i){return i===Rn.Top?c.top-7:i===Rn.Bottom?c.top+c.height-y.height+7:i===Rn.Center?c.top+c.height/2-y.height/2:void 0}function x0(c,y,i){return i===Rn.Left?c.left-7:i===Rn.Right?c.left+c.width-y.width+7:i===Rn.Center?c.left+c.width/2-y.width/2:void 0}class La{static calculateVerticalAlignment(y,i,b){let W=y0(y,i,b);return W+i.height>window.innerHeight&&(W=window.innerHeight-i.height),W}static calculateVerticalCaret(y,i,b,W){let ce;W===Rn.Top&&(ce=y.height/2-b.height/2+7),W===Rn.Bottom&&(ce=i.height-y.height/2-b.height/2-7),W===Rn.Center&&(ce=i.height/2-b.height/2);const ke=y0(y,i,W);return ke+i.height>window.innerHeight&&(ce+=ke+i.height-window.innerHeight),ce}static calculateHorizontalAlignment(y,i,b){let W=x0(y,i,b);return W+i.width>window.innerWidth&&(W=window.innerWidth-i.width),W}static calculateHorizontalCaret(y,i,b,W){let ce;W===Rn.Left&&(ce=y.width/2-b.width/2+7),W===Rn.Right&&(ce=i.width-y.width/2-b.width/2-7),W===Rn.Center&&(ce=i.width/2-b.width/2);const ke=x0(y,i,W);return ke+i.width>window.innerWidth&&(ce+=ke+i.width-window.innerWidth),ce}static shouldFlip(y,i,b,W){let ce=!1;return b===Rn.Right&&y.left+y.width+i.width+W>window.innerWidth&&(ce=!0),b===Rn.Left&&y.left-i.width-W<0&&(ce=!0),b===Rn.Top&&y.top-i.height-W<0&&(ce=!0),b===Rn.Bottom&&y.top+y.height+i.height+W>window.innerHeight&&(ce=!0),ce}static positionCaret(y,i,b,W,ce){let ke=0,Ve=0;return y===Rn.Right?(Ve=-7,ke=La.calculateVerticalCaret(b,i,W,ce)):y===Rn.Left?(Ve=i.width,ke=La.calculateVerticalCaret(b,i,W,ce)):y===Rn.Top?(ke=i.height,Ve=La.calculateHorizontalCaret(b,i,W,ce)):y===Rn.Bottom&&(ke=-7,Ve=La.calculateHorizontalCaret(b,i,W,ce)),{top:ke,left:Ve}}static positionContent(y,i,b,W,ce){let ke=0,Ve=0;return y===Rn.Right?(Ve=b.left+b.width+W,ke=La.calculateVerticalAlignment(b,i,ce)):y===Rn.Left?(Ve=b.left-i.width-W,ke=La.calculateVerticalAlignment(b,i,ce)):y===Rn.Top?(ke=b.top-i.height-W,Ve=La.calculateHorizontalAlignment(b,i,ce)):y===Rn.Bottom&&(ke=b.top+b.height+W,Ve=La.calculateHorizontalAlignment(b,i,ce)),{top:ke,left:Ve}}static determinePlacement(y,i,b,W){if(La.shouldFlip(b,i,y,W)){if(y===Rn.Right)return Rn.Left;if(y===Rn.Left)return Rn.Right;if(y===Rn.Top)return Rn.Bottom;if(y===Rn.Bottom)return Rn.Top}return y}}let ty=(()=>{class c{constructor(i,b,W){this.element=i,this.renderer=b,this.platformId=W}get cssClasses(){let i="ngx-charts-tooltip-content";return i+=` position-${this.placement}`,i+=` type-${this.type}`,i+=` ${this.cssClass}`,i}ngAfterViewInit(){setTimeout(this.position.bind(this))}position(){if(!(0,cn.UE)(this.platformId))return;const i=this.element.nativeElement,b=this.host.nativeElement.getBoundingClientRect();if(!b.height&&!b.width)return;const W=i.getBoundingClientRect();this.checkFlip(b,W),this.positionContent(i,b,W),this.showCaret&&this.positionCaret(b,W),setTimeout(()=>this.renderer.addClass(i,"animate"),1)}positionContent(i,b,W){const{top:ce,left:ke}=La.positionContent(this.placement,W,b,this.spacing,this.alignment);this.renderer.setStyle(i,"top",`${ce}px`),this.renderer.setStyle(i,"left",`${ke}px`)}positionCaret(i,b){const W=this.caretElm.nativeElement,ce=W.getBoundingClientRect(),{top:ke,left:Ve}=La.positionCaret(this.placement,b,i,ce,this.alignment);this.renderer.setStyle(W,"top",`${ke}px`),this.renderer.setStyle(W,"left",`${Ve}px`)}checkFlip(i,b){this.placement=La.determinePlacement(this.placement,b,i,this.spacing)}onWindowResize(){this.position()}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(e.aKT),e.rXU(e.sFG),e.rXU(e.Agw))},c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-tooltip-content"]],viewQuery:function(i,b){if(1&i&&e.GBs(kg,5),2&i){let W;e.mGM(W=e.lsd())&&(b.caretElm=W.first)}},hostVars:2,hostBindings:function(i,b){1&i&&e.bIt("resize",function(){return b.onWindowResize()},!1,e.tSv),2&i&&e.HbH(b.cssClasses)},inputs:{host:"host",showCaret:"showCaret",type:"type",placement:"placement",alignment:"alignment",spacing:"spacing",cssClass:"cssClass",title:"title",template:"template",context:"context"},decls:6,vars:6,consts:[["caretElm",""],[3,"hidden"],[1,"tooltip-content"],[4,"ngIf"],[3,"innerHTML",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"innerHTML"]],template:function(i,b){1&i&&(e.j41(0,"div"),e.nrm(1,"span",1,0),e.j41(3,"div",2),e.DNE(4,i_,2,4,"span",3)(5,n_,1,1,"span",4),e.k0s()()),2&i&&(e.R7$(),e.ZvI("tooltip-caret position-",b.placement,""),e.Y8G("hidden",!b.showCaret),e.R7$(3),e.Y8G("ngIf",!b.title),e.R7$(),e.Y8G("ngIf",b.title))},dependencies:[cn.bT,cn.T3],styles:[".ngx-charts-tooltip-content{position:fixed;border-radius:3px;z-index:5000;display:block;font-weight:400;opacity:0;pointer-events:none!important}.ngx-charts-tooltip-content.type-popover{background:#fff;color:#060709;border:1px solid #72809b;box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;font-size:13px;padding:4px}.ngx-charts-tooltip-content.type-popover .tooltip-caret{position:absolute;z-index:5001;width:0;height:0}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-left{border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-top{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-right{border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-bottom{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #fff}.ngx-charts-tooltip-content.type-tooltip{color:#fff;background:rgba(0,0,0,.75);font-size:12px;padding:0 10px;text-align:center;pointer-events:auto}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-left{border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-top{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-right{border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-bottom{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content .tooltip-label{display:block;line-height:1em;padding:8px 5px 5px;font-size:1em}.ngx-charts-tooltip-content .tooltip-val{display:block;font-size:1.3em;line-height:1em;padding:0 5px 8px}.ngx-charts-tooltip-content .tooltip-caret{position:absolute;z-index:5001;width:0;height:0}.ngx-charts-tooltip-content.position-right{transform:translate(10px)}.ngx-charts-tooltip-content.position-left{transform:translate(-10px)}.ngx-charts-tooltip-content.position-top{transform:translateY(-10px)}.ngx-charts-tooltip-content.position-bottom{transform:translateY(10px)}.ngx-charts-tooltip-content.animate{opacity:1;transition:opacity .3s,transform .3s;transform:translate(0);pointer-events:auto}.area-tooltip-container{padding:5px 0;pointer-events:none}.tooltip-item{text-align:left;line-height:1.2em;padding:5px 0}.tooltip-item .tooltip-item-color{display:inline-block;height:12px;width:12px;margin-right:5px;color:#5b646b;border-radius:3px}\n"],encapsulation:2}),(0,Xl.Cg)([Vu(100)],c.prototype,"onWindowResize",null),c})();class iy{constructor(y){this.injectionService=y,this.defaults={},this.components=new Map}getByType(y=this.type){return this.components.get(y)}create(y){return this.createByType(this.type,y)}createByType(y,i){i=this.assignDefaults(i);const b=this.injectComponent(y,i);return this.register(y,b),b}destroy(y){const i=this.components.get(y.componentType);if(i&&i.length){const b=i.indexOf(y);b>-1&&(i[b].destroy(),i.splice(b,1))}}destroyAll(){this.destroyByType(this.type)}destroyByType(y){const i=this.components.get(y);if(i&&i.length){let b=i.length-1;for(;b>=0;)this.destroy(i[b--])}}injectComponent(y,i){return this.injectionService.appendComponent(y,i)}assignDefaults(y){const i={...this.defaults.inputs},b={...this.defaults.outputs};return!y.inputs&&!y.outputs&&(y={inputs:y}),i&&(y.inputs={...i,...y.inputs}),b&&(y.outputs={...b,...y.outputs}),y}register(y,i){this.components.has(y)||this.components.set(y,[]),this.components.get(y).push(i)}}let _0=(()=>{class c{constructor(i,b,W){this.applicationRef=i,this.componentFactoryResolver=b,this.injector=W}static setGlobalRootViewContainer(i){c.globalRootViewContainer=i}getRootViewContainer(){if(this._container)return this._container;if(c.globalRootViewContainer)return c.globalRootViewContainer;if(this.applicationRef.components.length)return this.applicationRef.components[0];throw new Error("View Container not found! ngUpgrade needs to manually set this via setRootViewContainer or setGlobalRootViewContainer.")}setRootViewContainer(i){this._container=i}getComponentRootNode(i){return function ny(c){return c.element}(i)?i.element.nativeElement:i.hostView&&i.hostView.rootNodes.length>0?i.hostView.rootNodes[0]:i.location.nativeElement}getRootViewContainerNode(i){return this.getComponentRootNode(i)}projectComponentBindings(i,b){if(b){if(void 0!==b.inputs){const W=Object.getOwnPropertyNames(b.inputs);for(const ce of W)i.instance[ce]=b.inputs[ce]}if(void 0!==b.outputs){const W=Object.getOwnPropertyNames(b.outputs);for(const ce of W)i.instance[ce]=b.outputs[ce]}}return i}appendComponent(i,b={},W){W||(W=this.getRootViewContainer());const ce=this.getComponentRootNode(W),ke=new gc(ce,this.componentFactoryResolver,this.applicationRef,this.injector),Ve=new yo(i),Ze=ke.attach(Ve);return this.projectComponentBindings(Ze,b),Ze}}return c.globalRootViewContainer=null,c.\u0275fac=function(i){return new(i||c)(e.KVO(e.o8S),e.KVO(e.OM3),e.KVO(e.zZn))},c.\u0275prov=e.jDH({token:c,factory:c.\u0275fac}),c})(),Pg=(()=>{class c extends iy{constructor(i){super(i),this.type=ty}}return c.\u0275fac=function(i){return new(i||c)(e.KVO(_0))},c.\u0275prov=e.jDH({token:c,factory:c.\u0275fac}),c})();var xh=function(c){return c.Right="right",c.Below="below",c}(xh||{}),Il=function(c){return c.ScaleLegend="scaleLegend",c.Legend="legend",c}(Il||{}),Cn=function(c){return c.Time="time",c.Linear="linear",c.Ordinal="ordinal",c.Quantile="quantile",c}(Cn||{});let sy=(()=>{class c{constructor(){this.horizontal=!1}ngOnChanges(i){const b=this.gradientString(this.colors.range(),this.colors.domain());this.gradient=`linear-gradient(to ${this.horizontal?"right":"bottom"}, ${b})`}gradientString(i,b){b.push(1);const W=[];return i.reverse().forEach((ce,ke)=>{W.push(`${ce} ${Math.round(100*b[ke])}%`)}),W.join(", ")}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-charts-scale-legend"]],inputs:{valueRange:"valueRange",colors:"colors",height:"height",width:"width",horizontal:"horizontal"},features:[e.OA$],decls:8,vars:10,consts:[[1,"scale-legend"],[1,"scale-legend-label"],[1,"scale-legend-wrap"]],template:function(i,b){1&i&&(e.j41(0,"div",0)(1,"div",1)(2,"span"),e.EFF(3),e.k0s()(),e.nrm(4,"div",2),e.j41(5,"div",1)(6,"span"),e.EFF(7),e.k0s()()()),2&i&&(e.xc7("height",b.horizontal?void 0:b.height,"px")("width",b.width,"px"),e.AVh("horizontal-legend",b.horizontal),e.R7$(3),e.JRh(b.valueRange[1].toLocaleString()),e.R7$(),e.xc7("background",b.gradient),e.R7$(3),e.JRh(b.valueRange[0].toLocaleString()))},styles:[".chart-legend{display:inline-block;padding:0;width:auto!important}.chart-legend .scale-legend{text-align:center;display:flex;flex-direction:column}.chart-legend .scale-legend-wrap{display:inline-block;flex:1;width:30px;border-radius:5px;margin:0 auto}.chart-legend .scale-legend-label{font-size:12px}.chart-legend .horizontal-legend.scale-legend{flex-direction:row}.chart-legend .horizontal-legend .scale-legend-wrap{width:auto;height:30px;margin:0 16px}\n"],encapsulation:2,changeDetection:0}),c})();function Gd(c){return c instanceof Date?c.toLocaleDateString():c.toLocaleString()}let Rg=(()=>{class c{constructor(){this.isActive=!1,this.select=new e.bkB,this.activate=new e.bkB,this.deactivate=new e.bkB,this.toggle=new e.bkB}get trimmedLabel(){return this.formattedLabel||"(empty)"}onMouseEnter(){this.activate.emit({name:this.label})}onMouseLeave(){this.deactivate.emit({name:this.label})}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-charts-legend-entry"]],hostBindings:function(i,b){1&i&&e.bIt("mouseenter",function(){return b.onMouseEnter()})("mouseleave",function(){return b.onMouseLeave()})},inputs:{color:"color",label:"label",formattedLabel:"formattedLabel",isActive:"isActive"},outputs:{select:"select",activate:"activate",deactivate:"deactivate",toggle:"toggle"},decls:4,vars:6,consts:[["tabindex","-1",3,"click","title"],[1,"legend-label-color",3,"click"],[1,"legend-label-text"]],template:function(i,b){1&i&&(e.j41(0,"span",0),e.bIt("click",function(){return b.select.emit(b.formattedLabel)}),e.j41(1,"span",1),e.bIt("click",function(){return b.toggle.emit(b.formattedLabel)}),e.k0s(),e.j41(2,"span",2),e.EFF(3),e.k0s()()),2&i&&(e.AVh("active",b.isActive),e.Y8G("title",b.formattedLabel),e.R7$(),e.xc7("background-color",b.color),e.R7$(2),e.SpI(" ",b.trimmedLabel," "))},encapsulation:2,changeDetection:0}),c})(),ry=(()=>{class c{constructor(i){this.cd=i,this.horizontal=!1,this.labelClick=new e.bkB,this.labelActivate=new e.bkB,this.labelDeactivate=new e.bkB,this.legendEntries=[]}ngOnChanges(i){this.update()}update(){this.cd.markForCheck(),this.legendEntries=this.getLegendEntries()}getLegendEntries(){const i=[];for(const b of this.data){const W=Gd(b);-1===i.findIndex(ke=>ke.label===W)&&i.push({label:b,formattedLabel:W,color:this.colors.getColor(b)})}return i}isActive(i){return!!this.activeEntries&&void 0!==this.activeEntries.find(W=>i.label===W.name)}activate(i){this.labelActivate.emit(i)}deactivate(i){this.labelDeactivate.emit(i)}trackBy(i,b){return b.label}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(e.gRc))},c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-charts-legend"]],inputs:{data:"data",title:"title",colors:"colors",height:"height",width:"width",activeEntries:"activeEntries",horizontal:"horizontal"},outputs:{labelClick:"labelClick",labelActivate:"labelActivate",labelDeactivate:"labelDeactivate"},features:[e.OA$],decls:5,vars:9,consts:[["class","legend-title",4,"ngIf"],[1,"legend-wrap"],[1,"legend-labels"],["class","legend-label",4,"ngFor","ngForOf","ngForTrackBy"],[1,"legend-title"],[1,"legend-title-text"],[1,"legend-label"],[3,"select","activate","deactivate","label","formattedLabel","color","isActive"]],template:function(i,b){1&i&&(e.j41(0,"div"),e.DNE(1,Ym,3,1,"header",0),e.j41(2,"div",1)(3,"ul",2),e.DNE(4,dv,2,4,"li",3),e.k0s()()()),2&i&&(e.xc7("width",b.width,"px"),e.R7$(),e.Y8G("ngIf",(null==b.title?null:b.title.length)>0),e.R7$(2),e.xc7("max-height",b.height-45,"px"),e.AVh("horizontal-legend",b.horizontal),e.R7$(),e.Y8G("ngForOf",b.legendEntries)("ngForTrackBy",b.trackBy))},dependencies:[Rg,cn.bT,cn.Sq],styles:[".chart-legend{display:inline-block;padding:0;width:auto!important}.chart-legend .legend-title{white-space:nowrap;overflow:hidden;margin-left:10px;margin-bottom:5px;font-size:14px;font-weight:700}.chart-legend ul,.chart-legend li{padding:0;margin:0;list-style:none}.chart-legend .horizontal-legend li{display:inline-block}.chart-legend .legend-wrap{width:calc(100% - 10px)}.chart-legend .legend-labels{line-height:85%;list-style:none;text-align:left;float:left;width:100%;border-radius:3px;overflow-y:auto;overflow-x:hidden;white-space:nowrap;background:rgba(0,0,0,.05)}.chart-legend .legend-label{cursor:pointer;font-size:90%;margin:8px;color:#afb7c8}.chart-legend .legend-label:hover{color:#000;transition:.2s}.chart-legend .legend-label .active .legend-label-text{color:#000}.chart-legend .legend-label-color{display:inline-block;height:15px;width:15px;margin-right:5px;color:#5b646b;border-radius:3px}.chart-legend .legend-label-text{display:inline-block;vertical-align:top;line-height:15px;font-size:12px;width:calc(100% - 20px);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chart-legend .legend-title-text{vertical-align:bottom;display:inline-block;line-height:16px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\n"],encapsulation:2,changeDetection:0}),c})(),Ng=(()=>{class c{constructor(){this.showLegend=!1,this.animations=!0,this.legendLabelClick=new e.bkB,this.legendLabelActivate=new e.bkB,this.legendLabelDeactivate=new e.bkB,this.LegendPosition=xh,this.LegendType=Il}ngOnChanges(i){this.update()}update(){let i=0;this.showLegend&&(this.legendType=this.getLegendType(),(!this.legendOptions||this.legendOptions.position===xh.Right)&&(i=this.legendType===Il.ScaleLegend?1:2)),this.chartWidth=Math.floor(this.view[0]*(12-i)/12),this.legendWidth=this.legendOptions&&this.legendOptions.position!==xh.Right?this.chartWidth:Math.floor(this.view[0]*i/12)}getLegendType(){return this.legendOptions.scaleType===Cn.Linear?Il.ScaleLegend:Il.Legend}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-charts-chart"]],inputs:{view:"view",showLegend:"showLegend",legendOptions:"legendOptions",legendType:"legendType",activeEntries:"activeEntries",animations:"animations"},outputs:{legendLabelClick:"legendLabelClick",legendLabelActivate:"legendLabelActivate",legendLabelDeactivate:"legendLabelDeactivate"},features:[e.Jv_([Pg]),e.OA$],ngContentSelectors:vh,decls:5,vars:8,consts:[[1,"ngx-charts-outer"],[1,"ngx-charts"],["class","chart-legend",3,"horizontal","valueRange","colors","height","width",4,"ngIf"],["class","chart-legend",3,"horizontal","data","title","colors","height","width","activeEntries","labelClick","labelActivate","labelDeactivate",4,"ngIf"],[1,"chart-legend",3,"horizontal","valueRange","colors","height","width"],[1,"chart-legend",3,"labelClick","labelActivate","labelDeactivate","horizontal","data","title","colors","height","width","activeEntries"]],template:function(i,b){1&i&&(e.NAR(),e.j41(0,"div",0),e.qSk(),e.j41(1,"svg",1),e.SdG(2),e.k0s(),e.DNE(3,sf,1,5,"ngx-charts-scale-legend",2)(4,ww,1,7,"ngx-charts-legend",3),e.k0s()),2&i&&(e.xc7("width",b.view[0],"px")("height",b.view[1],"px"),e.R7$(),e.BMQ("width",b.chartWidth)("height",b.view[1]),e.R7$(2),e.Y8G("ngIf",b.showLegend&&b.legendType===b.LegendType.ScaleLegend),e.R7$(),e.Y8G("ngIf",b.showLegend&&b.legendType===b.LegendType.Legend))},dependencies:[sy,ry,cn.bT],encapsulation:2,changeDetection:0}),c})(),DT=(()=>{class c{constructor(i,b){this.element=i,this.zone=b,this.visible=new e.bkB,this.isVisible=!1,this.runCheck()}destroy(){clearTimeout(this.timeout)}onVisibilityChange(){this.zone.run(()=>{this.isVisible=!0,this.visible.emit(!0)})}runCheck(){const i=()=>{if(!this.element)return;const{offsetHeight:b,offsetWidth:W}=this.element.nativeElement;b&&W?(clearTimeout(this.timeout),this.onVisibilityChange()):(clearTimeout(this.timeout),this.zone.runOutsideAngular(()=>{this.timeout=setTimeout(()=>i(),100)}))};this.zone.runOutsideAngular(()=>{this.timeout=setTimeout(()=>i())})}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(e.aKT),e.rXU(e.SKi))},c.\u0275dir=e.FsC({type:c,selectors:[["visibility-observer"]],outputs:{visible:"visible"}}),c})();function m1(c){return"[object Date]"===toString.call(c)}let oy=(()=>{class c{constructor(i,b,W,ce){this.chartElement=i,this.zone=b,this.cd=W,this.platformId=ce,this.scheme="cool",this.schemeType=Cn.Ordinal,this.animations=!0,this.select=new e.bkB}ngOnInit(){(0,cn.Vy)(this.platformId)&&(this.animations=!1)}ngAfterViewInit(){this.bindWindowResizeEvent(),this.visibilityObserver=new DT(this.chartElement,this.zone),this.visibilityObserver.visible.subscribe(this.update.bind(this))}ngOnDestroy(){this.unbindEvents(),this.visibilityObserver&&(this.visibilityObserver.visible.unsubscribe(),this.visibilityObserver.destroy())}ngOnChanges(i){this.update()}update(){if(this.results=this.results?this.cloneData(this.results):[],this.view)this.width=this.view[0],this.height=this.view[1];else{const i=this.getContainerDims();i&&(this.width=i.width,this.height=i.height)}this.width||(this.width=600),this.height||(this.height=400),this.width=Math.floor(this.width),this.height=Math.floor(this.height),this.cd&&this.cd.markForCheck()}getContainerDims(){let i,b;const W=this.chartElement.nativeElement;if((0,cn.UE)(this.platformId)&&null!==W.parentNode){const ce=W.parentNode.getBoundingClientRect();i=ce.width,b=ce.height}return i&&b?{width:i,height:b}:null}formatDates(){for(let i=0;i{this.update(),this.cd&&this.cd.markForCheck()});this.resizeSubscription=b}cloneData(i){const b=[];for(const W of i){const ce={};if(void 0!==W.name&&(ce.name=W.name),void 0!==W.value&&(ce.value=W.value),void 0!==W.series){ce.series=[];for(const ke of W.series){const Ve=Object.assign({},ke);ce.series.push(Ve)}}void 0!==W.extra&&(ce.extra=JSON.parse(JSON.stringify(W.extra))),void 0!==W.source&&(ce.source=W.source),void 0!==W.target&&(ce.target=W.target),b.push(ce)}return b}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(e.aKT),e.rXU(e.SKi),e.rXU(e.gRc),e.rXU(e.Agw))},c.\u0275cmp=e.VBU({type:c,selectors:[["base-chart"]],inputs:{results:"results",view:"view",scheme:"scheme",schemeType:"schemeType",customColors:"customColors",animations:"animations"},outputs:{select:"select"},features:[e.OA$],decls:1,vars:0,template:function(i,b){1&i&&e.nrm(0,"div")},encapsulation:2}),c})();function Hr(c,y=16){return"string"!=typeof c?"number"==typeof c?c+"":"":(c=c.trim()).length<=y?c:`${c.slice(0,y)}...`}var C0=function(c){return c.Start="start",c.Middle="middle",c.End="end",c}(C0||{});let ly=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[cn.MD]]}),c})();var _f=function(c){return c.popover="popover",c.tooltip="tooltip",c}(_f||{}),Hd=function(c){return c[c.all="all"]="all",c[c.focus="focus"]="focus",c[c.mouseover="mouseover"]="mouseover",c}(Hd||{});let w0=(()=>{class c{constructor(i,b,W){this.tooltipService=i,this.viewContainerRef=b,this.renderer=W,this.tooltipCssClass="",this.tooltipAppendToBody=!0,this.tooltipSpacing=10,this.tooltipDisabled=!1,this.tooltipShowCaret=!0,this.tooltipPlacement=Rn.Top,this.tooltipAlignment=Rn.Center,this.tooltipType=_f.popover,this.tooltipCloseOnClickOutside=!0,this.tooltipCloseOnMouseLeave=!0,this.tooltipHideTimeout=300,this.tooltipShowTimeout=100,this.tooltipShowEvent=Hd.all,this.tooltipImmediateExit=!1,this.show=new e.bkB,this.hide=new e.bkB}get listensForFocus(){return this.tooltipShowEvent===Hd.all||this.tooltipShowEvent===Hd.focus}get listensForHover(){return this.tooltipShowEvent===Hd.all||this.tooltipShowEvent===Hd.mouseover}ngOnDestroy(){this.hideTooltip(!0)}onFocus(){this.listensForFocus&&this.showTooltip()}onBlur(){this.listensForFocus&&this.hideTooltip(!0)}onMouseEnter(){this.listensForHover&&this.showTooltip()}onMouseLeave(i){if(this.listensForHover&&this.tooltipCloseOnMouseLeave){if(clearTimeout(this.timeout),this.component&&this.component.instance.element.nativeElement.contains(i))return;this.hideTooltip(this.tooltipImmediateExit)}}onMouseClick(){this.listensForHover&&this.hideTooltip(!0)}showTooltip(i){if(this.component||this.tooltipDisabled)return;const b=i?0:this.tooltipShowTimeout+(navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)?400:0);clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.tooltipService.destroyAll();const W=this.createBoundOptions();this.component=this.tooltipService.create(W),setTimeout(()=>{this.component&&this.addHideListeners(this.component.instance.element.nativeElement)},10),this.show.emit(!0)},b)}addHideListeners(i){this.mouseEnterContentEvent=this.renderer.listen(i,"mouseenter",()=>{clearTimeout(this.timeout)}),this.tooltipCloseOnMouseLeave&&(this.mouseLeaveContentEvent=this.renderer.listen(i,"mouseleave",()=>{this.hideTooltip(this.tooltipImmediateExit)})),this.tooltipCloseOnClickOutside&&(this.documentClickEvent=this.renderer.listen("window","click",b=>{i.contains(b.target)||this.hideTooltip()}))}hideTooltip(i=!1){if(!this.component)return;const b=()=>{this.mouseLeaveContentEvent&&this.mouseLeaveContentEvent(),this.mouseEnterContentEvent&&this.mouseEnterContentEvent(),this.documentClickEvent&&this.documentClickEvent(),this.hide.emit(!0),this.tooltipService.destroy(this.component),this.component=void 0};clearTimeout(this.timeout),i?b():this.timeout=setTimeout(b,this.tooltipHideTimeout)}createBoundOptions(){return{title:this.tooltipTitle,template:this.tooltipTemplate,host:this.viewContainerRef.element,placement:this.tooltipPlacement,alignment:this.tooltipAlignment,type:this.tooltipType,showCaret:this.tooltipShowCaret,cssClass:this.tooltipCssClass,spacing:this.tooltipSpacing,context:this.tooltipContext}}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(Pg),e.rXU(e.c1b),e.rXU(e.sFG))},c.\u0275dir=e.FsC({type:c,selectors:[["","ngx-tooltip",""]],hostBindings:function(i,b){1&i&&e.bIt("focusin",function(){return b.onFocus()})("blur",function(){return b.onBlur()})("mouseenter",function(){return b.onMouseEnter()})("mouseleave",function(ce){return b.onMouseLeave(ce.target)})("click",function(){return b.onMouseClick()})},inputs:{tooltipCssClass:"tooltipCssClass",tooltipTitle:"tooltipTitle",tooltipAppendToBody:"tooltipAppendToBody",tooltipSpacing:"tooltipSpacing",tooltipDisabled:"tooltipDisabled",tooltipShowCaret:"tooltipShowCaret",tooltipPlacement:"tooltipPlacement",tooltipAlignment:"tooltipAlignment",tooltipType:"tooltipType",tooltipCloseOnClickOutside:"tooltipCloseOnClickOutside",tooltipCloseOnMouseLeave:"tooltipCloseOnMouseLeave",tooltipHideTimeout:"tooltipHideTimeout",tooltipShowTimeout:"tooltipShowTimeout",tooltipTemplate:"tooltipTemplate",tooltipShowEvent:"tooltipShowEvent",tooltipContext:"tooltipContext",tooltipImmediateExit:"tooltipImmediateExit"},outputs:{show:"show",hide:"hide"}}),c})(),T0=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({providers:[_0,Pg],imports:[[cn.MD]]}),c})();const _1={};function Ud(){let c=("0000"+(Math.random()*Math.pow(36,4)|0).toString(36)).slice(-4);return c=`a${c}`,_1[c]?Ud():(_1[c]=!0,c)}var rc=function(c){return c.Vertical="vertical",c.Horizontal="horizontal",c}(rc||{});let Ol=(()=>{class c{constructor(){this.endOpacity=1,this.cx=0,this.cy=0}get stops(){return this.stopsInput||this.stopsDefault}set stops(i){this.stopsInput=i}ngOnChanges(i){this.r="30%",("color"in i||"startOpacity"in i||"endOpacity"in i)&&(this.stopsDefault=[{offset:0,color:this.color,opacity:this.startOpacity},{offset:100,color:this.color,opacity:this.endOpacity}])}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275cmp=e.VBU({type:c,selectors:[["g","ngx-charts-svg-radial-gradient",""]],inputs:{color:"color",name:"name",startOpacity:"startOpacity",endOpacity:"endOpacity",cx:"cx",cy:"cy",stops:"stops"},features:[e.OA$],attrs:C_,decls:2,vars:5,consts:[["gradientUnits","userSpaceOnUse",3,"id"],[3,"stop-color","stop-opacity",4,"ngFor","ngForOf"]],template:function(i,b){1&i&&(e.qSk(),e.j41(0,"radialGradient",0),e.DNE(1,n0,1,5,"stop",1),e.k0s()),2&i&&(e.Y8G("id",b.name),e.BMQ("cx",b.cx)("cy",b.cy)("r",b.r),e.R7$(),e.Y8G("ngForOf",b.stops))},dependencies:[cn.Sq],encapsulation:2,changeDetection:0}),c})();function k0(c,y,i,b){return i*(1-Math.pow(2,-10*c/b))*1024/1023+y}function w1(c,y,i,b,W){const ce=Number(c),ke=Number(y),Ve=ce>ke,Ze=Math.max(0,i),tt=Math.pow(10,Ze),bt=1e3*Number(b);let Mt;function Lt(Wt){let Zt;const hi=Wt-Mt;Zt=Ve?ce-k0(hi,0,ce-ke,bt):k0(hi,ce,ke-ce,bt),Zt=Ve?Ztke?ke:Zt,Zt=Math.round(Zt*tt)/tt;const Yt=hiLt(ui))}return requestAnimationFrame(Wt=>(Mt=Wt,Lt(Wt)))}let D0,hy=(()=>{class c{constructor(i,b){this.cd=i,this.countDuration=1,this.countPrefix="",this.countSuffix="",this.countChange=new e.bkB,this.countFinish=new e.bkB,this.value="",this._countDecimals=0,this._countTo=0,this._countFrom=0,this.nativeElement=b.nativeElement}set countDecimals(i){this._countDecimals=i}get countDecimals(){return this._countDecimals?this._countDecimals:function T1(c){const y=Number(c);return y%1!=0&&Math.abs(y)<=10?2:0}(this.countTo)}set countTo(i){this._countTo=parseFloat(i),this.start()}get countTo(){return this._countTo}set countFrom(i){this._countFrom=parseFloat(i),this.start()}get countFrom(){return this._countFrom}ngOnDestroy(){cancelAnimationFrame(this.animationReq)}start(){cancelAnimationFrame(this.animationReq);const i=this.valueFormatting||(W=>`${this.countPrefix}${W.toLocaleString()}${this.countSuffix}`);this.animationReq=w1(this.countFrom,this.countTo,this.countDecimals,this.countDuration,({value:W,progress:ce,finished:ke})=>{this.value=i(W),this.cd.markForCheck(),ke||this.countChange.emit({value:this.value,progress:ce}),ke&&this.countFinish.emit({value:this.value,progress:ce})})}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(e.gRc),e.rXU(e.aKT))},c.\u0275cmp=e.VBU({type:c,selectors:[["","ngx-charts-count-up",""]],inputs:{countDuration:"countDuration",countPrefix:"countPrefix",countSuffix:"countSuffix",valueFormatting:"valueFormatting",countDecimals:"countDecimals",countTo:"countTo",countFrom:"countFrom"},outputs:{countChange:"countChange",countFinish:"countFinish"},attrs:Iw,decls:1,vars:1,template:function(i,b){1&i&&e.EFF(0),2&i&&e.SpI(" ",b.value," ")},encapsulation:2}),c})();typeof window<"u"?D0=window:typeof global<"u"&&(D0=global);let uy=(()=>{class c{constructor(){this.label="Total",this.animations=!0,this.select=new e.bkB,this.activate=new e.bkB,this.deactivate=new e.bkB,this.legendItems=[],this.labelFormatting=i=>i,this.percentageFormatting=i=>i,this.defaultValueFormatting=i=>i.toLocaleString()}ngOnChanges(i){this.update()}getTotal(){return this.data.map(i=>Number(i.value)).reduce((i,b)=>i+b,0)}update(){this.total=this.getTotal(),this.roundedTotal=this.total,this.legendItems=this.getLegendItems()}getLegendItems(){return this.data.map(i=>{const b=Gd(i.name),W=i.value,ce=this.colors.getColor(b),ke=this.total>0?W/this.total*100:0,Ve="function"==typeof this.labelFormatting?this.labelFormatting(b):b;return{_value:W,data:i,value:W,color:ce,label:Ve,displayLabel:Hr(Ve,20),origialLabel:i.name,percentage:this.percentageFormatting?this.percentageFormatting(ke):ke.toLocaleString()}})}trackBy(i,b){return b.label}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-charts-advanced-legend"]],inputs:{width:"width",data:"data",colors:"colors",label:"label",animations:"animations",valueFormatting:"valueFormatting",labelFormatting:"labelFormatting",percentageFormatting:"percentageFormatting"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.OA$],decls:8,vars:7,consts:[[1,"advanced-pie-legend"],["class","total-value","ngx-charts-count-up","",3,"countTo","valueFormatting",4,"ngIf"],["class","total-value",4,"ngIf"],[1,"total-label"],[1,"legend-items-container"],[1,"legend-items"],["tabindex","-1","class","legend-item",3,"mouseenter","mouseleave","click",4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-count-up","",1,"total-value",3,"countTo","valueFormatting"],[1,"total-value"],["tabindex","-1",1,"legend-item",3,"mouseenter","mouseleave","click"],[1,"item-color"],["class","item-value","ngx-charts-count-up","",3,"countTo","valueFormatting",4,"ngIf"],["class","item-value",4,"ngIf"],[1,"item-label"],["class","item-percent","ngx-charts-count-up","",3,"countTo","countSuffix",4,"ngIf"],["class","item-percent",4,"ngIf"],["ngx-charts-count-up","",1,"item-value",3,"countTo","valueFormatting"],[1,"item-value"],["ngx-charts-count-up","",1,"item-percent",3,"countTo","countSuffix"],[1,"item-percent"]],template:function(i,b){1&i&&(e.j41(0,"div",0),e.DNE(1,Av,1,2,"div",1)(2,Iv,2,1,"div",2),e.j41(3,"div",3),e.EFF(4),e.k0s(),e.j41(5,"div",4)(6,"div",5),e.DNE(7,Pw,8,7,"div",6),e.k0s()()()),2&i&&(e.xc7("width",b.width,"px"),e.R7$(),e.Y8G("ngIf",b.animations),e.R7$(),e.Y8G("ngIf",!b.animations),e.R7$(2),e.SpI(" ",b.label," "),e.R7$(3),e.Y8G("ngForOf",b.legendItems)("ngForTrackBy",b.trackBy))},dependencies:[hy,cn.bT,cn.Sq],styles:[".advanced-pie-legend{float:left;position:relative;top:50%;transform:translateY(-50%)}.advanced-pie-legend .total-value{font-size:36px}.advanced-pie-legend .total-label{font-size:24px;margin-bottom:19px}.advanced-pie-legend .legend-items-container{width:100%}.advanced-pie-legend .legend-items-container .legend-items{white-space:nowrap;overflow:auto}.advanced-pie-legend .legend-items-container .legend-items .legend-item{margin-right:20px;display:inline-block;cursor:pointer}.advanced-pie-legend .legend-items-container .legend-items .legend-item:focus{outline:none}.advanced-pie-legend .legend-items-container .legend-items .legend-item:hover{color:#000;transition:.2s}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-value{font-size:24px;margin-top:-6px;margin-left:11px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-label{font-size:14px;opacity:.7;margin-left:11px;margin-top:-6px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-percent{font-size:24px;opacity:.7;margin-left:11px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-color{border-left:4px solid;width:4px;height:42px;float:left;margin-right:7px}\n"],encapsulation:2,changeDetection:0}),c})(),Ra=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[cn.MD,ly,T0],cn.MD,ly,T0]}),c})();const wf=[{name:"vivid",selectable:!0,group:Cn.Ordinal,domain:["#647c8a","#3f51b5","#2196f3","#00b862","#afdf0a","#a7b61a","#f3e562","#ff9800","#ff5722","#ff4514"]},{name:"natural",selectable:!0,group:Cn.Ordinal,domain:["#bf9d76","#e99450","#d89f59","#f2dfa7","#a5d7c6","#7794b1","#afafaf","#707160","#ba9383","#d9d5c3"]},{name:"cool",selectable:!0,group:Cn.Ordinal,domain:["#a8385d","#7aa3e5","#a27ea8","#aae3f5","#adcded","#a95963","#8796c0","#7ed3ed","#50abcc","#ad6886"]},{name:"fire",selectable:!0,group:Cn.Ordinal,domain:["#ff3d00","#bf360c","#ff8f00","#ff6f00","#ff5722","#e65100","#ffca28","#ffab00"]},{name:"solar",selectable:!0,group:Cn.Linear,domain:["#fff8e1","#ffecb3","#ffe082","#ffd54f","#ffca28","#ffc107","#ffb300","#ffa000","#ff8f00","#ff6f00"]},{name:"air",selectable:!0,group:Cn.Linear,domain:["#e1f5fe","#b3e5fc","#81d4fa","#4fc3f7","#29b6f6","#03a9f4","#039be5","#0288d1","#0277bd","#01579b"]},{name:"aqua",selectable:!0,group:Cn.Linear,domain:["#e0f7fa","#b2ebf2","#80deea","#4dd0e1","#26c6da","#00bcd4","#00acc1","#0097a7","#00838f","#006064"]},{name:"flame",selectable:!1,group:Cn.Ordinal,domain:["#A10A28","#D3342D","#EF6D49","#FAAD67","#FDDE90","#DBED91","#A9D770","#6CBA67","#2C9653","#146738"]},{name:"ocean",selectable:!1,group:Cn.Ordinal,domain:["#1D68FB","#33C0FC","#4AFFFE","#AFFFFF","#FFFC63","#FDBD2D","#FC8A25","#FA4F1E","#FA141B","#BA38D1"]},{name:"forest",selectable:!1,group:Cn.Ordinal,domain:["#55C22D","#C1F33D","#3CC099","#AFFFFF","#8CFC9D","#76CFFA","#BA60FB","#EE6490","#C42A1C","#FC9F32"]},{name:"horizon",selectable:!1,group:Cn.Ordinal,domain:["#2597FB","#65EBFD","#99FDD0","#FCEE4B","#FEFCFA","#FDD6E3","#FCB1A8","#EF6F7B","#CB96E8","#EFDEE0"]},{name:"neons",selectable:!1,group:Cn.Ordinal,domain:["#FF3333","#FF33FF","#CC33FF","#0000FF","#33CCFF","#33FFFF","#33FF66","#CCFF33","#FFCC00","#FF6600"]},{name:"picnic",selectable:!1,group:Cn.Ordinal,domain:["#FAC51D","#66BD6D","#FAA026","#29BB9C","#E96B56","#55ACD2","#B7332F","#2C83C9","#9166B8","#92E7E8"]},{name:"night",selectable:!1,group:Cn.Ordinal,domain:["#2B1B5A","#501356","#183356","#28203F","#391B3C","#1E2B3C","#120634","#2D0432","#051932","#453080","#75267D","#2C507D","#4B3880","#752F7D","#35547D"]},{name:"nightLights",selectable:!1,group:Cn.Ordinal,domain:["#4e31a5","#9c25a7","#3065ab","#57468b","#904497","#46648b","#32118d","#a00fb3","#1052a2","#6e51bd","#b63cc3","#6c97cb","#8671c1","#b455be","#7496c3"]}];class k1{constructor(y,i,b,W){"string"==typeof y&&(y=wf.find(ce=>ce.name===y)),this.colorDomain=y.domain,this.scaleType=i,this.domain=b,this.customColors=W,this.scale=this.generateColorScheme(y,i,this.domain)}generateColorScheme(y,i,b){let W;switch("string"==typeof y&&(y=wf.find(ce=>ce.name===y)),i){case Cn.Quantile:W=qp().range(y.domain).domain(b);break;case Cn.Ordinal:W=wg().range(y.domain).domain(b);break;case Cn.Linear:{const ce=[...y.domain];1===ce.length&&(ce.push(ce[0]),this.colorDomain=ce);const ke=qb(0,1,1/ce.length);W=bh().range(ce).domain(ke)}}return W}getColor(y){if(null==y)throw new Error("Value can not be null");if(this.scaleType===Cn.Linear){const i=bh().domain(this.domain).range([0,1]);return this.scale(i(y))}{if("function"==typeof this.customColors)return this.customColors(y);const i=y.toString();let b;return this.customColors&&this.customColors.length>0&&(b=this.customColors.find(W=>W.name.toLowerCase()===i.toLowerCase())),b?b.value:this.scale(y)}}getLinearGradientStops(y,i){void 0===i&&(i=this.domain[0]);const b=bh().domain(this.domain).range([0,1]),W=Gm().domain(this.colorDomain).range([0,1]),ce=this.getColor(y),ke=b(i),Ve=this.getColor(i),Ze=b(y);let tt=1,bt=ke;const Mt=[];for(Mt.push({color:Ve,offset:ke,originalOffset:ke,opacity:1});bt=(Ze-W.bandwidth()).toFixed(4))break;Mt.push({color:Lt,offset:Wt,opacity:1}),bt=Wt,tt++}}if(Mt[Mt.length-1].offset<100&&Mt.push({color:ce,offset:Ze,opacity:1}),Ze===ke)Mt[0].offset=0,Mt[1].offset=100;else if(100!==Mt[Mt.length-1].offset)for(const Lt of Mt)Lt.offset=(Lt.offset-ke)/(Ze-ke)*100;return Mt}}let M1=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})(),E0=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})();rd();let N1=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})(),B1=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})(),jg=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})(),xy=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})(),_y=(()=>{class c{constructor(i){this.platformId=i,this.animations=!0,this.labelTrim=!0,this.labelTrimSize=10,this.trimLabel=Hr}ngOnChanges(i){this.setTransforms(),this.update()}setTransforms(){if((0,cn.Vy)(this.platformId))this.styleTransform=`translate3d(${this.textX}px,${this.textY}px, 0)`,this.attrTransform=`translate(${this.textX},${this.textY})`,this.textTransition=this.animations?"transform 0.75s":null;else{const i=/(edge|msie|trident)/i.test(navigator.userAgent);this.styleTransform=i?null:`translate3d(${this.textX}px,${this.textY}px, 0)`,this.attrTransform=i?`translate(${this.textX},${this.textY})`:null,this.textTransition=i||!this.animations?null:"transform 0.75s"}}update(){let i=this.radius;this.explodeSlices&&(i=this.radius*this.value/this.max);const W=ef().innerRadius(i).outerRadius(i).centroid(this.data);let ce=this.data.pos[1]/W[1];(0===this.data.pos[1]||0===W[1])&&(ce=1),this.line=`M${W}L${[ce*W[0],ce*W[1]]}L${this.data.pos}`}get textX(){return this.data.pos[0]}get textY(){return this.data.pos[1]}textAnchor(){return this.midAngle(this.data){class c{constructor(i){this.startAngle=0,this.endAngle=2*Math.PI,this.cornerRadius=0,this.explodeSlices=!1,this.gradient=!1,this.animate=!0,this.pointerEvents=!0,this.isActive=!1,this.select=new e.bkB,this.activate=new e.bkB,this.deactivate=new e.bkB,this.dblclick=new e.bkB,this.barOrientation=rc,this.initialized=!1,this.element=i.nativeElement}ngOnChanges(i){this.update()}getGradient(){return this.gradient?this.gradientFill:this.fill}getPointerEvents(){return this.pointerEvents?"auto":"none"}update(){const i=this.calculateArc();this.startOpacity=.5,this.radialGradientId="linearGrad"+Ud().toString(),this.gradientFill=`url(#${this.radialGradientId})`,this.animate?this.initialized?this.updateAnimation():(this.loadAnimation(),this.initialized=!0):this.path=i.startAngle(this.startAngle).endAngle(this.endAngle)()}calculateArc(){let i=this.outerRadius;return this.explodeSlices&&0===this.innerRadius&&(i=this.outerRadius*this.value/this.max),ef().innerRadius(this.innerRadius).outerRadius(i).cornerRadius(this.cornerRadius)}loadAnimation(){const i=ao(this.element).selectAll(".arc").data([{startAngle:this.startAngle,endAngle:this.endAngle}]),b=this.calculateArc();i.transition().attrTween("d",function(W){this._current=this._current||W;const ce=Object.assign({},W);ce.endAngle=ce.startAngle;const ke=Jl(ce,ce);return this._current=ke(0),function(Ve){return b(ke(Ve))}}).transition().duration(750).attrTween("d",function(W){this._current=this._current||W;const ce=Jl(this._current,W);return this._current=ce(0),function(ke){return b(ce(ke))}})}updateAnimation(){const i=ao(this.element).selectAll(".arc").data([{startAngle:this.startAngle,endAngle:this.endAngle}]),b=this.calculateArc();i.transition().duration(750).attrTween("d",function(W){this._current=this._current||W;const ce=Jl(this._current,W);return this._current=ce(0),function(ke){return b(ce(ke))}})}onClick(){clearTimeout(this._timeout),this._timeout=setTimeout(()=>this.select.emit(this.data),200)}onDblClick(i){i.preventDefault(),i.stopPropagation(),clearTimeout(this._timeout),this.dblclick.emit({data:this.data,nativeEvent:i})}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(e.aKT))},c.\u0275cmp=e.VBU({type:c,selectors:[["g","ngx-charts-pie-arc",""]],inputs:{fill:"fill",startAngle:"startAngle",endAngle:"endAngle",innerRadius:"innerRadius",outerRadius:"outerRadius",cornerRadius:"cornerRadius",value:"value",max:"max",data:"data",explodeSlices:"explodeSlices",gradient:"gradient",animate:"animate",pointerEvents:"pointerEvents",isActive:"isActive"},outputs:{select:"select",activate:"activate",deactivate:"deactivate",dblclick:"dblclick"},features:[e.OA$],attrs:e1,decls:3,vars:7,consts:[[1,"arc-group"],[4,"ngIf"],[1,"arc",3,"click","dblclick","mouseenter","mouseleave"],["ngx-charts-svg-radial-gradient","",3,"color","name","startOpacity"]],template:function(i,b){1&i&&(e.qSk(),e.j41(0,"g",0),e.DNE(1,t1,2,3,"defs",1),e.j41(2,"path",2),e.bIt("click",function(){return b.onClick()})("dblclick",function(ce){return b.onDblClick(ce)})("mouseenter",function(){return b.activate.emit(b.data)})("mouseleave",function(){return b.deactivate.emit(b.data)}),e.k0s()()),2&i&&(e.R7$(),e.Y8G("ngIf",b.gradient),e.R7$(),e.xc7("pointer-events",b.getPointerEvents()),e.AVh("active",b.isActive),e.BMQ("d",b.path)("fill",b.getGradient()))},dependencies:[Ol,cn.bT],encapsulation:2,changeDetection:0}),c})(),z1=(()=>{class c{constructor(){this.series=[],this.innerRadius=60,this.outerRadius=80,this.trimLabels=!0,this.maxLabelLength=10,this.tooltipDisabled=!1,this.animations=!0,this.select=new e.bkB,this.activate=new e.bkB,this.deactivate=new e.bkB,this.dblclick=new e.bkB,this.placementTypes=Rn,this.styleTypes=_f}ngOnChanges(i){this.update()}update(){const b=function tf(){var c=cv,y=lv,i=null,b=ca(0),W=ca(Ou),ce=ca(0);function ke(Ve){var Ze,bt,Mt,ui,Ti,tt=(Ve=function av(c){return"object"==typeof c&&"length"in c?c:Array.from(c)}(Ve)).length,Lt=0,Wt=new Array(tt),Zt=new Array(tt),hi=+b.apply(this,arguments),Yt=Math.min(Ou,Math.max(-Ou,W.apply(this,arguments)-hi)),yi=Math.min(Math.abs(Yt)/tt,ce.apply(this,arguments)),fi=yi*(Yt<0?-1:1);for(Ze=0;Ze0&&(Lt+=Ti);for(null!=y?Wt.sort(function(ji,Mi){return y(Zt[ji],Zt[Mi])}):null!=i&&Wt.sort(function(ji,Mi){return i(Ve[ji],Ve[Mi])}),Ze=0,Mt=Lt?(Yt-tt*fi)/Lt:0;Ze0?Ti*Mt:0)+fi,padAngle:yi};return Zt}return ke.value=function(Ve){return arguments.length?(c="function"==typeof Ve?Ve:ca(+Ve),ke):c},ke.sortValues=function(Ve){return arguments.length?(y=Ve,i=null,ke):y},ke.sort=function(Ve){return arguments.length?(i=Ve,y=null,ke):i},ke.startAngle=function(Ve){return arguments.length?(b="function"==typeof Ve?Ve:ca(+Ve),ke):b},ke.endAngle=function(Ve){return arguments.length?(W="function"==typeof Ve?Ve:ca(+Ve),ke):W},ke.padAngle=function(Ve){return arguments.length?(ce="function"==typeof Ve?Ve:ca(+Ve),ke):ce},ke}().value(W=>W.value).sort(null)(this.series);this.max=function Xm(c,y){let i;if(void 0===y)for(const b of c)null!=b&&(i=b)&&(i=b);else{let b=-1;for(let W of c)null!=(W=y(W,++b,c))&&(i=W)&&(i=W)}return i}(b,W=>W.value),this.data=this.calculateLabelPositions(b),this.tooltipText=this.tooltipText||this.defaultTooltipText}midAngle(i){return i.startAngle+(i.endAngle-i.startAngle)/2}outerArc(){return ef().innerRadius(1.5*this.outerRadius).outerRadius(1.5*this.outerRadius)}calculateLabelPositions(i){const ce=i;ce.forEach(ke=>{ke.pos=this.outerArc().centroid(ke),ke.pos[0]=1.5*this.outerRadius*(this.midAngle(ke)0){const bt=10-Math.abs(tt.pos[1]-Ve.pos[1]);bt>0&&(tt.pos[1]+=Math.sign(tt.pos[0])*bt)}}}return ce}labelVisible(i){return this.showLabels&&i.endAngle-i.startAngle>Math.PI/30}getTooltipTitle(i){return this.tooltipTemplate?void 0:this.tooltipText(i)}labelText(i){return this.labelFormatting?this.labelFormatting(i.data.name):this.label(i)}label(i){return Gd(i.data.name)}defaultTooltipText(i){const b=this.label(i),W=Gd(i.data.value);return`\n ${function _h(c){return c.toLocaleString().replace(/[&'`"<>]/g,y=>({"&":"&","'":"'","`":"`",'"':""","<":"<",">":">"}[y]))}(b)}\n ${W}\n `}color(i){return this.colors.getColor(this.label(i))}trackBy(i,b){return b.data.name}onClick(i){this.select.emit(i)}isActive(i){return!!this.activeEntries&&void 0!==this.activeEntries.find(W=>i.name===W.name&&i.series===W.series)}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275cmp=e.VBU({type:c,selectors:[["g","ngx-charts-pie-series",""]],inputs:{colors:"colors",series:"series",dims:"dims",innerRadius:"innerRadius",outerRadius:"outerRadius",explodeSlices:"explodeSlices",showLabels:"showLabels",gradient:"gradient",activeEntries:"activeEntries",labelFormatting:"labelFormatting",trimLabels:"trimLabels",maxLabelLength:"maxLabelLength",tooltipText:"tooltipText",tooltipDisabled:"tooltipDisabled",tooltipTemplate:"tooltipTemplate",animations:"animations"},outputs:{select:"select",activate:"activate",deactivate:"deactivate",dblclick:"dblclick"},features:[e.OA$],attrs:Zv,decls:1,vars:2,consts:[[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-pie-label","",3,"data","radius","color","label","labelTrim","labelTrimSize","max","value","explodeSlices","animations",4,"ngIf"],["ngx-charts-pie-arc","","ngx-tooltip","",3,"select","activate","deactivate","dblclick","startAngle","endAngle","innerRadius","outerRadius","fill","value","gradient","data","max","explodeSlices","isActive","animate","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext"],["ngx-charts-pie-label","",3,"data","radius","color","label","labelTrim","labelTrimSize","max","value","explodeSlices","animations"]],template:function(i,b){1&i&&e.DNE(0,n1,3,19,"g",0),2&i&&e.Y8G("ngForOf",b.data)("ngForTrackBy",b.trackBy)},dependencies:[_y,V1,cn.Sq,cn.bT,w0],encapsulation:2,changeDetection:0}),c})(),Gu=(()=>{class c extends oy{constructor(){super(...arguments),this.activeEntries=[],this.tooltipDisabled=!1,this.label="Total",this.activate=new e.bkB,this.deactivate=new e.bkB,this.margin=[20,20,20,20]}update(){super.update(),this.dims=function py({width:c,height:y,margins:i,showXAxis:b=!1,showYAxis:W=!1,xAxisHeight:ce=0,yAxisWidth:ke=0,showXLabel:Ve=!1,showYLabel:Ze=!1,showLegend:tt=!1,legendType:bt=Cn.Ordinal,legendPosition:Mt=xh.Right,columns:Lt=12}){let Wt=i[3],Zt=c,hi=y-i[0]-i[2];return tt&&Mt===xh.Right&&(Lt-=bt===Cn.Ordinal?2:1),Zt=Zt*Lt/12,Zt=Zt-i[1]-i[3],b&&(hi-=5,hi-=ce,Ve&&(hi-=30)),W&&(Zt-=5,Zt-=ke,Wt+=ke,Wt+=10,Ze&&(Zt-=30,Wt+=30)),Zt=Math.max(0,Zt),hi=Math.max(0,hi),{width:Math.floor(Zt),height:Math.floor(hi),xOffset:Math.floor(Wt)}}({width:4*this.width/12,height:this.height,margins:this.margin}),this.formatDates(),this.domain=this.getDomain(),this.setColors();const i=this.dims.width/2,b=this.margin[0]+this.dims.height/2;this.legendWidth=this.width-this.dims.width-this.margin[1],this.outerRadius=Math.min(this.dims.width,this.dims.height)/2.5,this.innerRadius=.75*this.outerRadius,this.transform=`translate(${i} , ${b})`}getDomain(){return this.results.map(i=>i.label)}onClick(i){this.select.emit(i)}setColors(){this.colors=new k1(this.scheme,Cn.Ordinal,this.domain,this.customColors)}onActivate(i,b=!1){i=this.results.find(ce=>b?ce.label===i.name:ce.name===i.name),!(this.activeEntries.findIndex(ce=>ce.name===i.name&&ce.value===i.value&&ce.series===i.series)>-1)&&(this.activeEntries=[i,...this.activeEntries],this.activate.emit({value:i,entries:this.activeEntries}))}onDeactivate(i,b=!1){i=this.results.find(ce=>b?ce.label===i.name:ce.name===i.name);const W=this.activeEntries.findIndex(ce=>ce.name===i.name&&ce.value===i.value&&ce.series===i.series);this.activeEntries.splice(W,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:i,entries:this.activeEntries})}}return c.\u0275fac=(()=>{let y;return function(b){return(y||(y=e.xGo(c)))(b||c)}})(),c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-charts-advanced-pie-chart"]],contentQueries:function(i,b,W){if(1&i&&e.wni(W,Rw,5),2&i){let ce;e.mGM(ce=e.lsd())&&(b.tooltipTemplate=ce.first)}},inputs:{gradient:"gradient",activeEntries:"activeEntries",tooltipDisabled:"tooltipDisabled",tooltipText:"tooltipText",label:"label",valueFormatting:"valueFormatting",nameFormatting:"nameFormatting",percentageFormatting:"percentageFormatting"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.Vt3],decls:7,vars:37,consts:[[1,"advanced-pie","chart"],[3,"view","showLegend","animations"],[1,"pie","chart"],["ngx-charts-pie-series","",3,"select","activate","deactivate","colors","series","innerRadius","activeEntries","outerRadius","gradient","tooltipDisabled","tooltipTemplate","tooltipText","animations"],[1,"advanced-pie-legend-wrapper"],[3,"select","activate","deactivate","data","colors","width","label","animations","valueFormatting","labelFormatting","percentageFormatting"]],template:function(i,b){1&i&&(e.j41(0,"div")(1,"div",0)(2,"ngx-charts-chart",1),e.qSk(),e.j41(3,"g",2)(4,"g",3),e.bIt("select",function(ce){return b.onClick(ce)})("activate",function(ce){return b.onActivate(ce)})("deactivate",function(ce){return b.onDeactivate(ce)}),e.k0s()()()(),e.joV(),e.j41(5,"div",4)(6,"ngx-charts-advanced-legend",5),e.bIt("select",function(ce){return b.onClick(ce)})("activate",function(ce){return b.onActivate(ce,!0)})("deactivate",function(ce){return b.onDeactivate(ce,!0)}),e.k0s()()()),2&i&&(e.xc7("width",b.width,"px")("height",b.height,"px"),e.R7$(),e.xc7("width",b.dims.width,"px")("height",b.dims.height,"px"),e.R7$(),e.Y8G("view",e.l_i(34,Dg,b.width,b.height))("showLegend",!1)("animations",b.animations),e.R7$(),e.BMQ("transform",b.transform),e.R7$(),e.Y8G("colors",b.colors)("series",b.results)("innerRadius",b.innerRadius)("activeEntries",b.activeEntries)("outerRadius",b.outerRadius)("gradient",b.gradient)("tooltipDisabled",b.tooltipDisabled)("tooltipTemplate",b.tooltipTemplate)("tooltipText",b.tooltipText)("animations",b.animations),e.R7$(),e.xc7("width",b.width-b.dims.width,"px")("height",b.height,"px"),e.R7$(),e.Y8G("data",b.results)("colors",b.colors)("width",b.width-b.dims.width-b.margin[1])("label",b.label)("animations",b.animations)("valueFormatting",b.valueFormatting)("labelFormatting",b.nameFormatting)("percentageFormatting",b.percentageFormatting))},dependencies:[Ng,z1,uy],styles:[".ngx-charts-outer{animation:chartFadeIn linear .6s}@keyframes chartFadeIn{0%{opacity:0}20%{opacity:0}to{opacity:1}}.ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .node,.ngx-charts .link,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .node.active,.ngx-charts .node:hover,.ngx-charts .link.active,.ngx-charts .link:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .node:focus,.ngx-charts .link:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .node.hidden,.ngx-charts .link.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\n",".advanced-pie{display:inline-block;float:left}.advanced-pie-legend-wrapper{display:inline-block}\n"],encapsulation:2,changeDetection:0}),c})(),od=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})(),H1=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra,od,xy]]}),c})(),Sy=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})(),ky=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})(),X1=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra,od,E0]]}),c})(),Gg=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})(),My=(()=>{class c{constructor(){!function Y1(){typeof SVGElement<"u"&&typeof SVGElement.prototype.contains>"u"&&(SVGElement.prototype.contains=HTMLDivElement.prototype.contains)}()}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[Ra,M1,E0,N1,B1,jg,Gg,xy,H1,Sy,od,ky,X1]}),c})();var Sf=We(91346),Z1=We(12168),kf=We(38833),$d=We(46247),q1=We(41570);const Q1=()=>({width:"75vw"}),Ey=()=>[10,25,50];function Df(c,y){if(1&c){const i=e.RV6();e.j41(0,"button",13),e.bIt("click",function(){e.eBV(i);const W=e.XpG();return e.Njj(W.refresh())}),e.k0s()}}function J1(c,y){if(1&c){const i=e.RV6();e.j41(0,"div",14),e.EFF(1,"\n "),e.j41(2,"div",15),e.EFF(3,"\n "),e.j41(4,"div",16),e.EFF(5,"\n "),e.j41(6,"div",17),e.EFF(7,"\n "),e.j41(8,"div",15),e.EFF(9,"\n "),e.nrm(10,"div",18),e.nI1(11,"translate"),e.EFF(12,"\n "),e.nrm(13,"div",19),e.EFF(14,"\n "),e.j41(15,"div",20),e.EFF(16,"\n "),e.j41(17,"ngx-charts-advanced-pie-chart",21),e.bIt("select",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.open("state",W))}),e.EFF(18,"\n "),e.k0s(),e.EFF(19,"\n "),e.k0s(),e.EFF(20,"\n "),e.j41(21,"div",20),e.EFF(22,"\n "),e.nrm(23,"div",22),e.nI1(24,"translate"),e.EFF(25,"\n "),e.nrm(26,"div",19),e.EFF(27,"\n "),e.k0s(),e.EFF(28,"\n "),e.k0s(),e.EFF(29,"\n "),e.k0s(),e.EFF(30,"\n "),e.k0s(),e.EFF(31,"\n "),e.k0s(),e.EFF(32,"\n\n "),e.j41(33,"div",15),e.EFF(34,"\n "),e.j41(35,"div",16),e.EFF(36,"\n "),e.j41(37,"div",17),e.EFF(38,"\n "),e.j41(39,"div",15),e.EFF(40,"\n "),e.nrm(41,"div",18),e.nI1(42,"translate"),e.EFF(43,"\n "),e.nrm(44,"div",19),e.EFF(45,"\n "),e.j41(46,"div",20),e.EFF(47,"\n "),e.j41(48,"ngx-charts-advanced-pie-chart",23),e.EFF(49,"\n "),e.k0s(),e.EFF(50,"\n "),e.k0s(),e.EFF(51,"\n "),e.j41(52,"div",20),e.EFF(53,"\n "),e.nrm(54,"div",22),e.nI1(55,"translate"),e.EFF(56,"\n "),e.nrm(57,"div",19),e.EFF(58,"\n "),e.k0s(),e.EFF(59,"\n "),e.k0s(),e.EFF(60,"\n "),e.k0s(),e.EFF(61,"\n "),e.k0s(),e.EFF(62,"\n "),e.k0s(),e.EFF(63,"\n\n "),e.j41(64,"div",15),e.EFF(65,"\n "),e.j41(66,"div",16),e.EFF(67,"\n "),e.j41(68,"div",17),e.EFF(69,"\n "),e.j41(70,"div",15),e.EFF(71,"\n "),e.nrm(72,"div",18),e.nI1(73,"translate"),e.EFF(74,"\n "),e.nrm(75,"div",19),e.EFF(76,"\n "),e.j41(77,"div",20),e.EFF(78,"\n "),e.nrm(79,"div",24),e.EFF(80,"\n "),e.k0s(),e.EFF(81,"\n "),e.j41(82,"div",20),e.EFF(83,"\n "),e.nrm(84,"div",22),e.nI1(85,"translate"),e.EFF(86,"\n "),e.nrm(87,"div",19),e.EFF(88,"\n "),e.k0s(),e.EFF(89,"\n "),e.k0s(),e.EFF(90,"\n "),e.k0s(),e.EFF(91,"\n "),e.k0s(),e.EFF(92,"\n "),e.k0s(),e.EFF(93,"\n"),e.k0s()}if(2&c){const i=e.XpG();e.R7$(10),e.Y8G("innerHTML",e.bMT(11,21,"dashboard.health.title"),e.npT),e.R7$(7),e.Y8G("results",i.advancedPieState)("animations",i.animations)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("scheme",i.colorSchemeGBROG)("label",i.advancedPieStateLabel)("percentageFormatting",i.percentageFormatting),e.R7$(6),e.Y8G("innerHTML",e.bMT(24,23,"dashboard.health.comment"),e.npT),e.R7$(18),e.Y8G("innerHTML",e.bMT(42,25,"dashboard.traffic.title"),e.npT),e.R7$(7),e.Y8G("results",i.advancedPieSent)("animations",i.animations)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("scheme",i.colorSchemeBG)("label",i.advancedPieSentLabel)("percentageFormatting",i.percentageFormatting),e.R7$(6),e.Y8G("innerHTML",e.bMT(55,27,"dashboard.traffic.comment"),e.npT),e.R7$(18),e.Y8G("innerHTML",e.bMT(73,29,"dashboard.trend.title"),e.npT),e.R7$(7),e.Y8G("chart",i.chart),e.R7$(5),e.Y8G("innerHTML",e.bMT(85,31,"dashboard.trend.comment"),e.npT)}}function eC(c,y){if(1&c){const i=e.RV6();e.j41(0,"div",14),e.EFF(1,"\n "),e.j41(2,"div",15),e.EFF(3,"\n "),e.j41(4,"div",16),e.EFF(5,"\n "),e.j41(6,"div",17),e.EFF(7,"\n "),e.j41(8,"div",15),e.EFF(9,"\n "),e.nrm(10,"div",18),e.nI1(11,"translate"),e.EFF(12,"\n "),e.nrm(13,"div",19),e.EFF(14,"\n "),e.j41(15,"div",20),e.EFF(16,"\n "),e.j41(17,"ngx-charts-advanced-pie-chart",21),e.bIt("select",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.open("device",W))}),e.EFF(18,"\n "),e.k0s(),e.EFF(19,"\n "),e.k0s(),e.EFF(20,"\n "),e.j41(21,"div",20),e.EFF(22,"\n "),e.nrm(23,"div",22),e.nI1(24,"translate"),e.EFF(25,"\n "),e.nrm(26,"div",19),e.EFF(27,"\n "),e.k0s(),e.EFF(28,"\n "),e.k0s(),e.EFF(29,"\n "),e.k0s(),e.EFF(30,"\n "),e.k0s(),e.EFF(31,"\n "),e.k0s(),e.EFF(32,"\n\n "),e.j41(33,"div",15),e.EFF(34,"\n "),e.j41(35,"div",16),e.EFF(36,"\n "),e.j41(37,"div",17),e.EFF(38,"\n "),e.j41(39,"div",15),e.EFF(40,"\n "),e.nrm(41,"div",18),e.nI1(42,"translate"),e.EFF(43,"\n "),e.nrm(44,"div",19),e.EFF(45,"\n "),e.j41(46,"div",20),e.EFF(47,"\n "),e.j41(48,"ngx-charts-advanced-pie-chart",21),e.bIt("select",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.open("battery",W))}),e.EFF(49,"\n "),e.k0s(),e.EFF(50,"\n "),e.k0s(),e.EFF(51,"\n "),e.j41(52,"div",20),e.EFF(53,"\n "),e.nrm(54,"div",22),e.nI1(55,"translate"),e.EFF(56,"\n "),e.nrm(57,"div",19),e.EFF(58,"\n "),e.k0s(),e.EFF(59,"\n "),e.k0s(),e.EFF(60,"\n "),e.k0s(),e.EFF(61,"\n "),e.k0s(),e.EFF(62,"\n "),e.k0s(),e.EFF(63,"\n\n "),e.j41(64,"div",15),e.EFF(65,"\n "),e.j41(66,"div",16),e.EFF(67,"\n "),e.j41(68,"div",17),e.EFF(69,"\n "),e.j41(70,"div",15),e.EFF(71,"\n "),e.nrm(72,"div",18),e.nI1(73,"translate"),e.EFF(74,"\n "),e.nrm(75,"div",19),e.EFF(76,"\n "),e.j41(77,"div",20),e.EFF(78,"\n "),e.j41(79,"ngx-charts-advanced-pie-chart",21),e.bIt("select",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.open("certified",W))}),e.EFF(80,"\n "),e.k0s(),e.EFF(81,"\n "),e.k0s(),e.EFF(82,"\n "),e.j41(83,"div",20),e.EFF(84,"\n "),e.nrm(85,"div",22),e.nI1(86,"translate"),e.EFF(87,"\n "),e.nrm(88,"div",19),e.EFF(89,"\n "),e.k0s(),e.EFF(90,"\n "),e.k0s(),e.EFF(91,"\n "),e.k0s(),e.EFF(92,"\n "),e.k0s(),e.EFF(93,"\n "),e.k0s(),e.EFF(94,"\n"),e.k0s()}if(2&c){const i=e.XpG();e.R7$(10),e.Y8G("innerHTML",e.bMT(11,27,"dashboard.device.title"),e.npT),e.R7$(7),e.Y8G("results",i.advancedPieDevice)("animations",i.animations)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("scheme",i.colorSchemePC)("label",i.advancedPieDeviceLabel)("percentageFormatting",i.percentageFormatting),e.R7$(6),e.Y8G("innerHTML",e.bMT(24,29,"dashboard.devices.comment"),e.npT),e.R7$(18),e.Y8G("innerHTML",e.bMT(42,31,"dashboard.battery.title"),e.npT),e.R7$(7),e.Y8G("results",i.advancedPieBattery)("animations",i.animations)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("scheme",i.colorSchemeROBG)("label",i.advancedPieBatteryLabel)("percentageFormatting",i.percentageFormatting),e.R7$(6),e.Y8G("innerHTML",e.bMT(55,33,"dashboard.battery.comment"),e.npT),e.R7$(18),e.Y8G("innerHTML",e.bMT(73,35,"dashboard.optimized.title"),e.npT),e.R7$(7),e.Y8G("results",i.advancedPieCertified)("animations",i.animations)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("scheme",i.colorSchemeGO)("label",i.advancedCertifiedLabel)("percentageFormatting",i.percentageFormatting),e.R7$(6),e.Y8G("innerHTML",e.bMT(86,37,"dashboard.optimized.comment"),e.npT)}}function tC(c,y){1&c&&(e.EFF(0,"\n "),e.nrm(1,"div",25),e.EFF(2,"\n "))}function Ay(c,y){1&c&&(e.EFF(0,"\n "),e.j41(1,"tr"),e.EFF(2,"\n "),e.j41(3,"th",26),e.EFF(4),e.nI1(5,"translate"),e.nrm(6,"p-sortIcon",27),e.EFF(7,"\n "),e.k0s(),e.EFF(8,"\n "),e.j41(9,"th",28),e.EFF(10),e.nI1(11,"translate"),e.nrm(12,"p-sortIcon",29),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n "),e.j41(15,"th",30),e.EFF(16),e.nI1(17,"translate"),e.nrm(18,"p-sortIcon",31),e.EFF(19,"\n "),e.k0s(),e.EFF(20,"\n "),e.j41(21,"th",32),e.EFF(22),e.nI1(23,"translate"),e.nrm(24,"p-sortIcon",33),e.EFF(25,"\n "),e.k0s(),e.EFF(26,"\n "),e.j41(27,"th",34),e.EFF(28),e.nI1(29,"translate"),e.nrm(30,"p-sortIcon",35),e.EFF(31,"\n "),e.k0s(),e.EFF(32,"\n "),e.j41(33,"th",36),e.EFF(34),e.nI1(35,"translate"),e.nrm(36,"p-sortIcon",37),e.EFF(37,"\n "),e.k0s(),e.EFF(38,"\n "),e.j41(39,"th",38),e.EFF(40),e.nI1(41,"translate"),e.nrm(42,"p-sortIcon",39),e.EFF(43,"\n "),e.k0s(),e.EFF(44,"\n "),e.k0s(),e.EFF(45,"\n ")),2&c&&(e.R7$(4),e.SpI("\n ",e.bMT(5,7,"device.byname.shortid.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(11,9,"device.byname.ieee.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(17,11,"device.byname.model.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(23,13,"device.byname.devicename.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(29,15,"device.byname.status.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(35,17,"device.byname.battery.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(41,19,"device.byname.health.column"),""))}function Iy(c,y){if(1&c&&(e.EFF(0,"\n "),e.j41(1,"tr"),e.EFF(2,"\n "),e.j41(3,"td"),e.EFF(4),e.k0s(),e.EFF(5,"\n "),e.j41(6,"td"),e.EFF(7),e.k0s(),e.EFF(8,"\n "),e.j41(9,"td"),e.EFF(10),e.k0s(),e.EFF(11,"\n "),e.j41(12,"td"),e.EFF(13),e.k0s(),e.EFF(14,"\n "),e.j41(15,"td"),e.EFF(16),e.k0s(),e.EFF(17,"\n "),e.j41(18,"td"),e.EFF(19),e.k0s(),e.EFF(20,"\n "),e.j41(21,"td"),e.EFF(22),e.k0s(),e.EFF(23,"\n "),e.k0s(),e.EFF(24,"\n ")),2&c){const i=y.$implicit;e.R7$(4),e.JRh(i._NwkId),e.R7$(3),e.JRh(i.IEEE),e.R7$(3),e.JRh(i.Model),e.R7$(3),e.JRh(i.ZDeviceName),e.R7$(3),e.JRh(i.Status),e.R7$(3),e.JRh(i.Battery),e.R7$(3),e.JRh(i.Health)}}const iC=[fc.childRoutes([{path:"",redirectTo:"/dashboard",pathMatch:"full"},{path:"dashboard",component:(()=>{class c extends Wa.U{apiService;versionService;headerService;translateService;visible=!1;settingsToSave=[];poll=!1;chart;devices;certified;routers;inDbs;healthsLive;healthsDisabled;healthsNotSeen;healthsNotReachable;healthsOthers={};pluginStats;maxLoad={};currentLoad={};devicesOther;certifiedDevices;notCertifiedDevices;devicesToOverlay;battery1;battery2;battery3;battery4;advancedPieLoad;advancedPieSent;advancedPieDevice;advancedPieState=[];advancedPieBattery;advancedPieCertified;advancedPieLoadLabel;advancedPieSentLabel;advancedPieDeviceLabel;advancedPieStateLabel;advancedPieBatteryLabel;advancedCertifiedLabel;getScreenWidth;getScreenHeight;gaugeType="full";gaugeAppendText="";thick=15;animations=!0;gradient=!1;tooltipDisabled=!1;colorShemeState;colorSchemeROBG={domain:["red","orange","green","blue"]};colorSchemeGBROG={domain:["green","blue","red","orange","gray"]};colorSchemeBG={domain:["blue","green"]};colorSchemePC={domain:["purple","cyan"]};colorSchemeGO={domain:["green","orange"]};plugin;constructor(i,b,W,ce){super(),this.apiService=i,this.versionService=b,this.headerService=W,this.translateService=ce}ngOnInit(){this.getScreenWidth=window.innerWidth,this.getScreenHeight=window.innerHeight,this.apiService.getSettings().subscribe(i=>{i.forEach(b=>{this.settingsToSave=this.settingsToSave.concat(b.ListOfSettings)})}),this.subs.sink=this.headerService.polling.subscribe(i=>{this.poll=i,this.subs.add((0,jl.O)(1,vo.c.refresh).pipe((0,lc.n)(()=>this.getStats()),Vl(),(0,hc.u)(),(0,zl.Q)(this.headerService.polling.pipe((0,Oo.p)(b=>!1===b)))).subscribe())}),this.poll||this.getStats().subscribe(),this.getInfos()}onWindowResize(){this.getScreenWidth=window.innerWidth,this.getScreenHeight=window.innerHeight}getInfos(){this.advancedPieLoadLabel=this.translateService.instant("dashboard.trafic.maxload.label"),this.advancedPieSentLabel=this.translateService.instant("dashboard.trafic.label"),this.advancedPieDeviceLabel=this.translateService.instant("dashboard.devices.label"),this.advancedPieStateLabel=this.translateService.instant("dashboard.devices.state.label"),this.advancedPieBatteryLabel=this.translateService.instant("dashboard.devices.battery.label"),this.advancedCertifiedLabel=this.translateService.instant("dashboard.devices.optimized.label")}percentageFormatting(i){return Math.round(i)}createChart(){const i=[],b=[],W=[],ce=this.pluginStats.Trend.sort((Ze,tt)=>{const bt=Ze._TS,Mt=tt._TS;return bt>Mt?1:bt{const tt=new Date,bt=new Date(tt.setSeconds(tt.getSeconds()-ke));ke-=5,i.push({x:bt,y:Ze.Txps}),b.push({x:bt,y:Ze.Rxps}),W.push({x:bt,y:Ze.Load})});const Ve={chart:{type:"line",height:"150"},title:{text:""},legend:{align:"center",verticalAlign:"top",floating:!0},xAxis:{allowDecimals:!1,labels:{formatter:function(){const Ze=new Date(this.value);return Ze.getHours()+(Ze.getMinutes()>9?":"+Ze.getMinutes():":0"+Ze.getMinutes())+(Ze.getSeconds()>9?":"+Ze.getSeconds():":0"+Ze.getSeconds())}},type:"datetime"},yAxis:{title:{text:""},labels:{formatter:function(){return this.value+""}}},tooltip:{pointFormat:"{series.name} {point.y}"},credits:{enabled:!1},plotOptions:{series:{label:{connectorAllowed:!1}}},series:[{name:this.translateService.instant("dashboard.txps"),data:i,type:"line",color:"blue"},{name:this.translateService.instant("dashboard.rxps"),data:b,type:"line",color:"green"},{name:this.translateService.instant("dashboard.load"),data:W,type:"line",color:"orange"}]};this.chart=new Sf.t1(Ve),this.subs.add(this.chart.ref$.subscribe())}open(i,b){"device"===i?this.devicesToOverlay=b.name===this.translateService.instant("dashboard.devices.routers")?this.routers:this.devicesOther:"state"===i?this.devicesToOverlay=b.name===this.translateService.instant("dashboard.devices.live")?this.healthsLive:b.name===this.translateService.instant("dashboard.devices.disabled")?this.healthsDisabled:b.name===this.translateService.instant("dashboard.devices.others")?this.healthsOthers:b.name===this.translateService.instant("dashboard.devices.notReachable")?this.healthsNotReachable:this.healthsNotSeen:"battery"===i?this.devicesToOverlay=b.name===this.translateService.instant("dashboard.devices.battery.inf.15")?this.battery1:b.name===this.translateService.instant("dashboard.devices.battery.inf.35")?this.battery2:b.name===this.translateService.instant("dashboard.devices.battery.inf.75")?this.battery3:this.battery4:"certified"===i&&(this.devicesToOverlay=b.name===this.translateService.instant("dashboard.devices.optimized")?this.certifiedDevices:this.notCertifiedDevices),80*this.getScreenWidth/100>768&&(this.visible=!0)}refresh(){this.getStats().subscribe(),this.versionService.setReload(!0)}getStats(){return(0,As.p)([this.apiService.getPluginStats(),this.apiService.getZDevices(),this.apiService.getPlugin(),this.apiService.getZDeviceName()]).pipe((0,Gl.T)(([i,b,W,ce])=>{this.plugin=W,this.pluginStats=i,this.devices=b||[],this.certified=ce||[],this.createChart(),this.maxLoad.label=this.translateService.instant("dashboard.trafic.maxload"),this.maxLoad.total=i.MaxLoad,this.currentLoad.label=this.translateService.instant("dashboard.trafic.currentload"),this.currentLoad.total=i.CurrentLoad,this.advancedPieLoad=[{name:this.translateService.instant("dashboard.trafic.maxload"),value:i.MaxLoad-i.CurrentLoad},{name:this.translateService.instant("dashboard.trafic.currentload"),value:i.CurrentLoad}],this.advancedPieSent=[{name:this.translateService.instant("dashboard.trafic.send"),value:i.Sent},{name:this.translateService.instant("dashboard.trafic.receive"),value:i.Received}],this.devices.total=this.devices.length,this.devices.label=this.translateService.instant("devices"),this.routers=this.devices.filter(Ve=>"Router"===Ve.LogicalType&&"Disabled"!==Ve.Health),this.devicesOther=this.devices.filter(Ve=>"Router"!==Ve.LogicalType&&"Disabled"!==Ve.Health),this.routers.label=this.translateService.instant("dashboard.devices.routers"),this.routers.total=(this.routers.length/this.devices.total*100).toFixed(0),this.routers.append="%",this.inDbs=this.devices.filter(Ve=>"inDB"===Ve.Status),this.inDbs.label=this.translateService.instant("dashboard.devices.indb"),this.inDbs.total=(this.inDbs.length/this.devices.total*100).toFixed(0),this.inDbs.append="%",this.advancedPieDevice=[{name:this.translateService.instant("dashboard.devices.routers"),value:this.routers.length},{name:this.translateService.instant("dashboard.devices.enddevice"),value:this.devicesOther.length}],this.healthsLive=this.devices.filter(Ve=>"Live"===Ve.Health&&"notDB"!==Ve.Status),this.healthsDisabled=this.devices.filter(Ve=>"Disabled"===Ve.Health||"notDB"===Ve.Status),this.healthsNotReachable=this.devices.filter(Ve=>"Not Reachable"===Ve.Health&&"notDB"!==Ve.Status||"Leave"===Ve.Status),this.healthsNotSeen=this.devices.filter(Ve=>"Not seen last 24hours"===Ve.Health&&"notDB"!==Ve.Status),this.healthsOthers=this.devices.filter(Ve=>"Not seen last 24hours"!==Ve.Health&&"Not Reachable"!==Ve.Health&&"Live"!==Ve.Health&&"notDB"!==Ve.Status&&"Leave"!==Ve.Status&&"Disabled"!==Ve.Health),this.colorShemeState=this.colorSchemeGBROG,this.advancedPieState=[],this.advancedPieState.push({name:this.translateService.instant("dashboard.devices.live"),value:this.healthsLive.length}),this.healthsDisabled.length>0?this.advancedPieState.push({name:this.translateService.instant("dashboard.devices.disabled"),value:this.healthsDisabled.length}):this.colorShemeState.domain=this.colorShemeState.domain.filter(Ve=>"blue"!==Ve),this.healthsNotReachable.length>0?this.advancedPieState.push({name:this.translateService.instant("dashboard.devices.notReachable"),value:this.healthsNotReachable.length}):this.colorShemeState.domain=this.colorShemeState.domain.filter(Ve=>"red"!==Ve),this.advancedPieState.push({name:this.translateService.instant("dashboard.devices.notseen"),value:this.healthsNotSeen.length}),this.advancedPieState.push({name:this.translateService.instant("dashboard.devices.others"),value:this.healthsOthers.length});const ke=this.devices.filter(Ve=>"Battery"===Ve.PowerSource&&"notDB"!==Ve.Status);this.battery1=ke.filter(Ve=>Ve.Battery<=15&&"Disabled"!==Ve.Health),this.battery2=ke.filter(Ve=>Ve.Battery>15&&Ve.Battery<=35&&"Disabled"!==Ve.Health),this.battery3=ke.filter(Ve=>Ve.Battery>35&&Ve.Battery<=75&&"Disabled"!==Ve.Health),this.battery4=ke.filter(Ve=>Ve.Battery>75&&"Disabled"!==Ve.Health),this.advancedPieBattery=[{name:this.translateService.instant("dashboard.devices.battery.inf.15"),value:this.battery1.length},{name:this.translateService.instant("dashboard.devices.battery.inf.35"),value:this.battery2.length},{name:this.translateService.instant("dashboard.devices.battery.inf.75"),value:this.battery3.length},{name:this.translateService.instant("dashboard.devices.battery.sup.75"),value:this.battery4.length}],this.certifiedDevices=this.certified.filter(Ve=>Ve.CertifiedDevice&&"Disabled"!==Ve.Health),this.notCertifiedDevices=this.certified.filter(Ve=>!Ve.CertifiedDevice&&"Disabled"!==Ve.Health),this.advancedPieCertified=[{name:this.translateService.instant("dashboard.devices.optimized"),value:this.certifiedDevices.length},{name:this.translateService.instant("dashboard.devices.not.optimized"),value:this.notCertifiedDevices.length}],this.headerService.setError(i.Error)}))}static \u0275fac=function(b){return new(b||c)(e.rXU(vs.G),e.rXU(Po),e.rXU(pn.d),e.rXU(gr.c$))};static \u0275cmp=e.VBU({type:c,selectors:[["app-dashboard"]],hostBindings:function(b,W){1&b&&e.bIt("resize",function(ke){return W.onWindowResize(ke)},!1,e.tSv)},features:[e.Vt3],decls:40,vars:28,consts:[["dt1",""],[1,"col-12","card"],[1,"card-header"],[1,"fw-bold"],["class","d-none d-md-block btn btn-default btn-primary float-bottom float-end","translate","dashboard.button.refresh",3,"click",4,"ngIf"],["class","row row-cols-1 row-cols-md-2 row-cols-lg-3 g-4",4,"ngIf"],[1,"col-12","card","mt-2"],[1,"card-header","fw-bold"],["header","Header",3,"visibleChange","visible","position"],["pTemplate","header"],[1,"card-title",3,"innerHTML"],["styleClass","p-datatable-sm","responsiveLayout","scroll","stateStorage","local","stateKey","dashboard",3,"rowHover","showCurrentPageReport","currentPageReportTemplate","rowsPerPageOptions","value","rows","paginator","scrollable"],["pTemplate","body"],["translate","dashboard.button.refresh",1,"d-none","d-md-block","btn","btn-default","btn-primary","float-bottom","float-end",3,"click"],[1,"row","row-cols-1","row-cols-md-2","row-cols-lg-3","g-4"],[1,"col"],[1,"card","h-100"],[1,"card-body"],[1,"col-sm",3,"innerHTML"],[1,"col-sm-1"],[1,"row"],[3,"select","results","animations","gradient","tooltipDisabled","scheme","label","percentageFormatting"],[1,"col-sm","border-start","border-3",3,"innerHTML"],[3,"results","animations","gradient","tooltipDisabled","scheme","label","percentageFormatting"],[1,"col-sm",3,"chart"],["translate","dashboard.popup.device.header",1,"col-sm"],["pSortableColumn","_NwkId",2,"width","7rem"],["field","_NwkId"],["pSortableColumn","IEEE",2,"width","5rem"],["field","IEEE"],["pSortableColumn","Model",2,"width","13rem"],["field","Model"],["pSortableColumn","ZDeviceName",2,"width","20rem"],["field","ZDeviceName"],["pSortableColumn","Status",2,"width","7rem"],["field","Status"],["pSortableColumn","Battery",2,"width","7rem"],["field","Battery"],["pSortableColumn","Health",2,"width","6rem"],["field","Health"]],template:function(b,W){if(1&b){const ce=e.RV6();e.j41(0,"div",1),e.EFF(1,"\n "),e.j41(2,"div",2),e.EFF(3,"\n "),e.j41(4,"span",3),e.EFF(5),e.nI1(6,"translate"),e.k0s(),e.EFF(7,"\n "),e.DNE(8,Df,1,0,"button",4),e.EFF(9,"\n "),e.k0s(),e.EFF(10,"\n"),e.k0s(),e.EFF(11,"\n"),e.DNE(12,J1,94,33,"div",5),e.EFF(13,"\n\n"),e.j41(14,"div",6),e.EFF(15,"\n "),e.j41(16,"div",7),e.EFF(17),e.nI1(18,"translate"),e.k0s(),e.EFF(19,"\n"),e.k0s(),e.EFF(20,"\n"),e.DNE(21,eC,95,39,"div",5),e.EFF(22,"\n\n"),e.j41(23,"p-dialog",8),e.mxI("visibleChange",function(Ve){return e.eBV(ce),e.DH7(W.visible,Ve)||(W.visible=Ve),e.Njj(Ve)}),e.EFF(24,"\n "),e.DNE(25,tC,3,0,"ng-template",9),e.EFF(26,"\n "),e.nrm(27,"h5",10),e.nI1(28,"translate"),e.EFF(29,"\n "),e.j41(30,"p-table",11,0),e.nI1(32,"translate"),e.EFF(33,"\n "),e.DNE(34,Ay,46,21,"ng-template",9),e.EFF(35,"\n "),e.DNE(36,Iy,25,7,"ng-template",12),e.EFF(37,"\n "),e.k0s(),e.EFF(38,"\n"),e.k0s(),e.EFF(39,"\n")}2&b&&(e.R7$(5),e.JRh(e.bMT(6,18,"dashboard.trafic.title")),e.R7$(3),e.Y8G("ngIf",!W.poll),e.R7$(4),e.Y8G("ngIf",W.pluginStats),e.R7$(5),e.SpI("\n ",e.bMT(18,20,"dashboard.devices.title"),"\n "),e.R7$(4),e.Y8G("ngIf",W.pluginStats),e.R7$(2),e.Aen(e.lJ4(26,Q1)),e.R50("visible",W.visible),e.Y8G("position","bottom"),e.R7$(4),e.Y8G("innerHTML",e.bMT(28,22,"dashboard.popup.device.subtitle"),e.npT),e.R7$(3),e.FS9("currentPageReportTemplate",e.bMT(32,24,"TOTAL")),e.Y8G("rowHover",!0)("showCurrentPageReport",!0)("rowsPerPageOptions",e.lJ4(27,Ey))("value",W.devicesToOverlay)("rows",10)("paginator",!0)("scrollable",!0))},dependencies:[cn.bT,Gu,gr.Mm,Sf.S6,$d.XI,Et.Ei,$d.Tg,$d.yc,q1.l,gr.D9],styles:[".border-3[_ngcontent-%COMP%]{border-width:3px}.consent-banner[_ngcontent-%COMP%]{position:fixed;bottom:0;left:0;z-index:2147483645;box-sizing:border-box;width:100%;background-color:#f1f6f4}.consent-banner__inner[_ngcontent-%COMP%]{max-width:960px;margin:0 auto;padding:32px 0}.consent-banner__copy[_ngcontent-%COMP%]{margin-bottom:16px}.consent-banner__header[_ngcontent-%COMP%]{margin-bottom:8px;font-family:CeraPRO-Bold,sans-serif,arial;font-weight:400;font-size:16px;line-height:24px}.consent-banner__description[_ngcontent-%COMP%]{font-family:CeraPRO-Regular,sans-serif,arial;font-weight:400;color:#838f93;font-size:16px;line-height:24px}.card[_ngcontent-%COMP%]{--bs-card-border-width: none}"]})}return c})(),data:{title:(0,nr.o6)("dashboard")}}])];let Ly=(()=>{class c{static \u0275fac=function(b){return new(b||c)};static \u0275mod=e.$C({type:c});static \u0275inj=e.G2t({imports:[Mn.iI.forChild(iC),Mn.iI]})}return c})(),nC=(()=>{class c{static \u0275fac=function(b){return new(b||c)};static \u0275mod=e.$C({type:c});static \u0275inj=e.G2t({providers:[{provide:Sf.SV,useFactory:()=>[Z1,kf]}],imports:[Ft,My,Ly,cn.MD,fs.X1,gr.h,Sf.Fr,Vs.G]})}return c})(),sC=(()=>{class c{static \u0275fac=function(b){return new(b||c)};static \u0275mod=e.$C({type:c});static \u0275inj=e.G2t({imports:[cn.MD,gr.h,qo.UN,fs.YN,Mn.iI]})}return c})(),rS=(()=>{class c{static \u0275fac=function(b){return new(b||c)};static \u0275mod=e.$C({type:c,bootstrap:[No]});static \u0275inj=e.G2t({imports:[M.Bb,Ft,Le.q1,V.FQ,gr.h.forRoot(),qo.UN,nr.Ui,Vs.G,sC,nC,ac._B.forRoot({timeOut:5e3,positionClass:"toast-bottom-right",preventDuplicates:!0}),ut]})}return c})();vo.c.production&&(0,e.SmG)(),M.sG().bootstrapModule(rS,{preserveWhitespaces:!0}).catch(c=>console.log(c))},31923:function(ri,Bt,We){var M,e,V;e=typeof window<"u"?window:this,V=function(e){"use strict";var V={};function Le(q,ne,re,ve){q.hasOwnProperty(ne)||(q[ne]=ve.apply(null,re),"function"==typeof CustomEvent&&e.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:ne,module:q[ne]}})))}return Le(V,"Core/Globals.js",[],function(){var q,ne;return(ne=q||(q={})).SVG_NS="http://www.w3.org/2000/svg",ne.product="Highcharts",ne.version="11.4.0",ne.win=void 0!==e?e:{},ne.doc=ne.win.document,ne.svg=ne.doc&&ne.doc.createElementNS&&!!ne.doc.createElementNS(ne.SVG_NS,"svg").createSVGRect,ne.userAgent=ne.win.navigator&&ne.win.navigator.userAgent||"",ne.isChrome=-1!==ne.userAgent.indexOf("Chrome"),ne.isFirefox=-1!==ne.userAgent.indexOf("Firefox"),ne.isMS=/(edge|msie|trident)/i.test(ne.userAgent)&&!ne.win.opera,ne.isSafari=!ne.isChrome&&-1!==ne.userAgent.indexOf("Safari"),ne.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(ne.userAgent),ne.isWebKit=-1!==ne.userAgent.indexOf("AppleWebKit"),ne.deg2rad=2*Math.PI/360,ne.hasBidiBug=ne.isFirefox&&4>parseInt(ne.userAgent.split("Firefox/")[1],10),ne.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],ne.noop=function(){},ne.supportsPassiveEvents=function(){let re=!1;if(!ne.isMS){let ve=Object.defineProperty({},"passive",{get:function(){re=!0}});ne.win.addEventListener&&ne.win.removeEventListener&&(ne.win.addEventListener("testPassive",ne.noop,ve),ne.win.removeEventListener("testPassive",ne.noop,ve))}return re}(),ne.charts=[],ne.composed=[],ne.dateFormats={},ne.seriesTypes={},ne.symbolSizes={},ne.chartCount=0,q}),Le(V,"Core/Utilities.js",[V["Core/Globals.js"]],function(q){let ne,{charts:re,doc:ve,win:le}=q;function pe(o,n,r,l){let d=n?"Highcharts error":"Highcharts warning";32===o&&(o=`${d}: Deprecated member`);let C=F(o),k=C?`${d} #${o}: www.highcharts.com/errors/${o}/`:o.toString();if(void 0!==l){let p="";C&&(k+="?"),f(l,function(T,B){p+=`\n - ${B}: ${T}`,C&&(k+=encodeURI(B)+"="+encodeURI(T))}),k+=p}g(q,"displayError",{chart:r,code:o,message:k,params:l},function(){if(n)throw Error(k);le.console&&-1===pe.messages.indexOf(k)&&console.warn(k)}),pe.messages.push(k)}function ue(o,n){return parseInt(o,n||10)}function J(o){return"string"==typeof o}function te(o){let n=Object.prototype.toString.call(o);return"[object Array]"===n||"[object Array Iterator]"===n}function X(o,n){return!(!o||"object"!=typeof o||n&&te(o))}function E(o){return X(o)&&"number"==typeof o.nodeType}function j(o){let n=o&&o.constructor;return!(!X(o,!0)||E(o)||!n||!n.name||"Object"===n.name)}function F(o){return"number"==typeof o&&!isNaN(o)&&o<1/0&&o>-1/0}function P(o){return null!=o}function D(o,n,r){let l,d=J(n)&&!P(r),C=(k,p)=>{P(k)?o.setAttribute(p,k):d?(l=o.getAttribute(p))||"class"!==p||(l=o.getAttribute(p+"Name")):o.removeAttribute(p)};return J(n)?C(r,n):f(n,C),l}function A(o){return te(o)?o:[o]}function I(o,n){let r;for(r in o||(o={}),n)o[r]=n[r];return o}function _(){let o=arguments,n=o.length;for(let r=0;r1e14?o:parseFloat(o.toPrecision(n||14))}(pe||(pe={})).messages=[],Math.easeInOutSine=function(o){return-.5*(Math.cos(Math.PI*o)-1)};let O=Array.prototype.find?function(o,n){return o.find(n)}:function(o,n){let r,l=o.length;for(r=0;rp.order-T.order),d.forEach(p=>{!1===p.fn.call(o,r)&&r.preventDefault()})}l&&!r.defaultPrevented&&l.call(o,r)}f({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(o,n){q[n]=function(r){return pe(32,!1,void 0,{[`Highcharts.${n}`]:`use Array.${o}`}),Array.prototype[o].apply(r,[].slice.call(arguments,1))}});let v=function(){let o=Math.random().toString(36).substring(2,9)+"-",n=0;return function(){return"highcharts-"+(ne?"":o)+n++}}();return le.jQuery&&(le.jQuery.fn.highcharts=function(){let o=[].slice.call(arguments);if(this[0])return o[0]?(new(q[J(o[0])?o.shift():"Chart"])(this[0],o[0],o[1]),this):re[D(this[0],"data-highcharts-chart")]}),{addEvent:function(o,n,r,l={}){let d="function"==typeof o&&o.prototype||o;Object.hasOwnProperty.call(d,"hcEvents")||(d.hcEvents={});let C=d.hcEvents;q.Point&&o instanceof q.Point&&o.series&&o.series.chart&&(o.series.chart.runTrackerClick=!0);let k=o.addEventListener;return k&&k.call(o,n,r,!!q.supportsPassiveEvents&&{passive:void 0===l.passive?-1!==n.indexOf("touch"):l.passive,capture:!1}),C[n]||(C[n]=[]),C[n].push({fn:r,order:"number"==typeof l.order?l.order:1/0}),C[n].sort((T,B)=>T.order-B.order),function(){a(o,n,r)}},arrayMax:function(o){let n=o.length,r=o[0];for(;n--;)o[n]>r&&(r=o[n]);return r},arrayMin:function(o){let n=o.length,r=o[0];for(;n--;)o[n]n?o-1&&p[U]){K=A(K),T[U]=[];for(let se=0;se{if(p.length>1)for(C=l=p.length-1;C>0;C--)(d=p[C]-p[C-1])<0&&!k?(n?.(),n=void 0):d&&(void 0===r||d=k-1&&(k=Math.floor(p)),Math.max(0,k-(o(n,"padding-left",!0)||0)-(o(n,"padding-right",!0)||0))}if("height"===r)return Math.max(0,Math.min(n.offsetHeight,n.scrollHeight)-(o(n,"padding-top",!0)||0)-(o(n,"padding-bottom",!0)||0));let C=le.getComputedStyle(n,void 0);return C&&(d=C.getPropertyValue(r),_(l,"opacity"!==r)&&(d=ue(d))),d},inArray:function(o,n,r){return pe(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),n.indexOf(o,r)},insertItem:function(o,n){let r,l=o.options.index,d=n.length;for(r=o.options.isInternal?d:0;r=o))&&(d||!(p<=(n[C]+(n[C+1]||n[C]))/2)));C++);return G(k*r,-Math.round(Math.log(.001)/Math.LN10))},objectEach:f,offset:function(o){let n=ve.documentElement,r=o.parentElement||o.parentNode?o.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:r.top+(le.pageYOffset||n.scrollTop)-(n.clientTop||0),left:r.left+(le.pageXOffset||n.scrollLeft)-(n.clientLeft||0),width:r.width,height:r.height}},pad:function(o,n,r){return Array((n||2)+1-String(o).replace("-","").length).join(r||"0")+o},pick:_,pInt:ue,pushUnique:function(o,n){return 0>o.indexOf(n)&&!!o.push(n)},relativeLength:function(o,n,r){return/%$/.test(o)?n*parseFloat(o)/100+(r||0):parseFloat(o)},removeEvent:a,replaceNested:function(o,...n){let r,l;do{for(l of(r=o,n))o=o.replace(l[0],l[1])}while(o!==r);return o},splat:A,stableSort:function(o,n){let r,l,d=o.length;for(l=0;l0?setTimeout(o,n,r):(o.call(0,r),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:v,useSerialIds:function(o){return ne=_(o,ne)},wrap:function(o,n,r){let l=o[n];o[n]=function(){let d=arguments,C=this;return r.apply(this,[function(){return l.apply(C,arguments.length?arguments:d)}].concat([].slice.call(arguments)))}}}}),Le(V,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),Le(V,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),Le(V,"Core/Time.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{win:re}=q,{defined:ve,error:le,extend:pe,isNumber:ue,isObject:J,merge:te,objectEach:X,pad:E,pick:j,splat:F,timeUnits:P}=ne,D=q.isSafari&&re.Intl&&re.Intl.DateTimeFormat.prototype.formatRange,A=q.isSafari&&re.Intl&&!re.Intl.DateTimeFormat.prototype.formatRange;class I{constructor(m){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=re.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(m)}get(m,w){if(this.variableTimezone||this.timezoneOffset){let G=w.getTime(),O=G-this.getTimezoneOffset(w);w.setTime(O);let f=w["getUTC"+m]();return w.setTime(G),f}return this.useUTC?w["getUTC"+m]():w["get"+m]()}set(m,w,G){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===m||"Seconds"===m||"Minutes"===m&&this.getTimezoneOffset(w)%36e5==0)return w["setUTC"+m](G);let O=this.getTimezoneOffset(w),f=w.getTime()-O;w.setTime(f),w["setUTC"+m](G);let a=this.getTimezoneOffset(w);return f=w.getTime()+a,w.setTime(f)}return this.useUTC||D&&"FullYear"===m?w["setUTC"+m](G):w["set"+m](G)}update(m={}){let w=j(m.useUTC,!0);this.options=m=te(!0,this.options,m),this.Date=m.Date||re.Date||Date,this.useUTC=w,this.timezoneOffset=w&&m.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=w&&!(!m.getTimezoneOffset&&!m.timezone)}makeTime(m,w,G,O,f,a){let g,v,o;return this.useUTC?(g=this.Date.UTC.apply(0,arguments),v=this.getTimezoneOffset(g),g+=v,v!==(o=this.getTimezoneOffset(g))?g+=o-v:v-36e5!==this.getTimezoneOffset(g-36e5)||A||(g-=36e5)):g=new this.Date(m,w,j(G,1),j(O,0),j(f,0),j(a,0)).getTime(),g}timezoneOffsetFunction(){let m=this,w=this.options,G=w.getTimezoneOffset;return this.useUTC?w.timezone?O=>{try{let f=`shortOffset,${w.timezone||""}`,[a,g,v,o,n=0]=(I.formatCache[f]=I.formatCache[f]||Intl.DateTimeFormat("en",{timeZone:w.timezone,timeZoneName:"shortOffset"})).format(O).split(/(GMT|:)/).map(Number),r=-36e5*(v+n/60);if(ue(r))return r}catch{le(34)}return 0}:this.useUTC&&G?O=>6e4*G(O.valueOf()):()=>6e4*(m.timezoneOffset||0):O=>6e4*new Date(O.toString()).getTimezoneOffset()}dateFormat(m,w,G){if(!ve(w)||isNaN(w))return q.defaultOptions.lang&&q.defaultOptions.lang.invalidDate||"";m=j(m,"%Y-%m-%d %H:%M:%S");let O=this,f=new this.Date(w),a=this.get("Hours",f),g=this.get("Day",f),v=this.get("Date",f),o=this.get("Month",f),n=this.get("FullYear",f),r=q.defaultOptions.lang,l=r&&r.weekdays,d=r&&r.shortWeekdays;return X(pe({a:d?d[g]:l[g].substr(0,3),A:l[g],d:E(v),e:E(v,2," "),w:g,b:r.shortMonths[o],B:r.months[o],m:E(o+1),o:o+1,y:n.toString().substr(2,2),Y:n,H:E(a),k:a,I:E(a%12||12),l:a%12||12,M:E(this.get("Minutes",f)),p:a<12?"AM":"PM",P:a<12?"am":"pm",S:E(this.get("Seconds",f)),L:E(Math.floor(w%1e3),3)},q.dateFormats),function(C,k){for(;-1!==m.indexOf("%"+k);)m=m.replace("%"+k,"function"==typeof C?C.call(O,w):C)}),G?m.substr(0,1).toUpperCase()+m.substr(1):m}resolveDTLFormat(m){return J(m,!0)?m:{main:(m=F(m))[0],from:m[1],to:m[2]}}getTimeTicks(m,w,G,O){let f,a,g,v,o=this,r=[],l={},d=new(0,o.Date)(w),C=m.unitRange,k=m.count||1;if(O=j(O,1),ve(w)){o.set("Milliseconds",d,C>=P.second?0:k*Math.floor(o.get("Milliseconds",d)/k)),C>=P.second&&o.set("Seconds",d,C>=P.minute?0:k*Math.floor(o.get("Seconds",d)/k)),C>=P.minute&&o.set("Minutes",d,C>=P.hour?0:k*Math.floor(o.get("Minutes",d)/k)),C>=P.hour&&o.set("Hours",d,C>=P.day?0:k*Math.floor(o.get("Hours",d)/k)),C>=P.day&&o.set("Date",d,C>=P.month?1:Math.max(1,k*Math.floor(o.get("Date",d)/k))),C>=P.month&&(o.set("Month",d,C>=P.year?0:k*Math.floor(o.get("Month",d)/k)),a=o.get("FullYear",d)),C>=P.year&&(a-=a%k,o.set("FullYear",d,a)),C===P.week&&(v=o.get("Day",d),o.set("Date",d,o.get("Date",d)-v+O+(v4*P.month||o.getTimezoneOffset(w)!==o.getTimezoneOffset(G));let z=d.getTime();for(f=1;z1?z=o.makeTime(a,p,T,B+f*k):z+=C*k:z=o.makeTime(a,p,T+f*k*(C===P.day?1:7)),f++;r.push(z),C<=P.hour&&r.length<1e4&&r.forEach(function(K){K%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",K)&&(l[K]="day")})}return r.info=pe(m,{higherRanks:l,totalRange:C*k}),r}getDateFormat(m,w,G,O){let f=this.dateFormat("%m-%d %H:%M:%S.%L",w),a="01-01 00:00:00.000",g={millisecond:15,second:12,minute:9,hour:6,day:3},v="millisecond",o=v;for(v in P){if(m===P.week&&+this.dateFormat("%w",w)===G&&f.substr(6)===a.substr(6)){v="week";break}if(P[v]>m){v=o;break}if(g[v]&&f.substr(g[v])!==a.substr(g[v]))break;"week"!==v&&(o=v)}return this.resolveDTLFormat(O[v]).main}}return I.formatCache={},I}),Le(V,"Core/Defaults.js",[V["Core/Chart/ChartDefaults.js"],V["Core/Globals.js"],V["Core/Color/Palettes.js"],V["Core/Time.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{isTouchDevice:pe,svg:ue}=ne,{merge:J}=le,te={colors:re.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",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"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:q,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:ue,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:pe?25:10,headerFormat:'{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};te.chart.styledMode=!1;let X=new ve(te.time);return{defaultOptions:te,defaultTime:X,getOptions:function(){return te},setOptions:function(E){return J(!0,te,E),(E.time||E.global)&&(ne.time?ne.time.update(J(te.global,te.time,E.global,E.time)):ne.time=X),te}}}),Le(V,"Core/Color/Color.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{isNumber:re,merge:ve,pInt:le}=ne;class pe{static parse(J){return J?new pe(J):pe.None}constructor(J){let te,X,E,j;this.rgba=[NaN,NaN,NaN,NaN],this.input=J;let F=q.Color;if(F&&F!==pe)return new F(J);if("object"==typeof J&&void 0!==J.stops)this.stops=J.stops.map(P=>new pe(P[1]));else if("string"==typeof J){if(this.input=J=pe.names[J.toLowerCase()]||J,"#"===J.charAt(0)){let P=J.length,D=parseInt(J.substr(1),16);7===P?X=[(16711680&D)>>16,(65280&D)>>8,255&D,1]:4===P&&(X=[(3840&D)>>4|(3840&D)>>8,(240&D)>>4|240&D,(15&D)<<4|15&D,1])}if(!X)for(E=pe.parsers.length;E--&&!X;)(te=(j=pe.parsers[E]).regex.exec(J))&&(X=j.parse(te))}X&&(this.rgba=X)}get(J){let te=this.input,X=this.rgba;if("object"==typeof te&&void 0!==this.stops){let E=ve(te);return E.stops=[].slice.call(E.stops),this.stops.forEach((j,F)=>{E.stops[F]=[E.stops[F][0],j.get(J)]}),E}return X&&re(X[0])?"rgb"===J||!J&&1===X[3]?"rgb("+X[0]+","+X[1]+","+X[2]+")":"a"===J?`${X[3]}`:"rgba("+X.join(",")+")":te}brighten(J){let te=this.rgba;if(this.stops)this.stops.forEach(function(X){X.brighten(J)});else if(re(J)&&0!==J)for(let X=0;X<3;X++)te[X]+=le(255*J),te[X]<0&&(te[X]=0),te[X]>255&&(te[X]=255);return this}setOpacity(J){return this.rgba[3]=J,this}tweenTo(J,te){let X=this.rgba,E=J.rgba;if(!re(X[0])||!re(E[0]))return J.input||"none";let j=1!==E[3]||1!==X[3];return(j?"rgba(":"rgb(")+Math.round(E[0]+(X[0]-E[0])*(1-te))+","+Math.round(E[1]+(X[1]-E[1])*(1-te))+","+Math.round(E[2]+(X[2]-E[2])*(1-te))+(j?","+(E[3]+(X[3]-E[3])*(1-te)):"")+")"}}return pe.names={white:"#ffffff",black:"#000000"},pe.parsers=[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(ue){return[le(ue[1]),le(ue[2]),le(ue[3]),parseFloat(ue[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(ue){return[le(ue[1]),le(ue[2]),le(ue[3]),1]}}],pe.None=new pe(""),pe}),Le(V,"Core/Animation/Fx.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{parse:ve}=q,{win:le}=ne,{isNumber:pe,objectEach:ue}=re;class J{constructor(X,E,j){this.pos=NaN,this.options=E,this.elem=X,this.prop=j}dSetter(){let X=this.paths,E=X&&X[0],j=X&&X[1],F=this.now||0,P=[];if(1!==F&&E&&j)if(E.length===j.length&&F<1)for(let D=0;D=I+this.startTime?(this.now=this.end,this.pos=1,this.update(),_[this.prop]=!0,j=!0,ue(_,function(m){!0!==m&&(j=!1)}),j&&A&&A.call(D),E=!1):(this.pos=P.easing((F-this.startTime)/I),this.now=this.start+(this.end-this.start)*this.pos,this.update(),E=!0),E}initPath(X,E,j){let _,m,w,G,F=X.startX,P=X.endX,D=j.slice(),A=X.isArea,I=A?2:1,O=E&&E.slice();if(!O)return[D,D];function f(g,v){for(;g.length{let G=E(w.options.animation);_=ue(P)&&re(P.defer)?A.defer:Math.max(_,G.duration+G.defer),m=Math.min(A.duration,G.duration)}),F.renderer.forExport&&(_=0),{defer:Math.max(0,_-m),duration:Math.min(_,m)}},setAnimation:function(F,P){P.renderer.globalAnimation=X(F,P.options.chart.animation,!0)},stop:j}}),Le(V,"Core/Renderer/HTML/AST.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{SVG_NS:re,win:ve}=q,{attr:le,createElement:pe,css:ue,error:J,isFunction:te,isString:X,objectEach:E,splat:j}=ne,{trustedTypes:F}=ve,P=F&&te(F.createPolicy)&&F.createPolicy("highcharts",{createHTML:_=>_}),D=P?P.createHTML(""):"",A=function(){try{return!!(new DOMParser).parseFromString(D,"text/html")}catch{return!1}}();class I{static filterUserAttributes(m){return E(m,(w,G)=>{let O=!0;-1===I.allowedAttributes.indexOf(G)&&(O=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(G)&&(O=X(w)&&I.allowedReferences.some(f=>0===w.indexOf(f))),O||(J(33,!1,void 0,{"Invalid attribute in config":`${G}`}),delete m[G]),X(w)&&m[G]&&(m[G]=w.replace(/{let O=G.split(":").map(a=>a.trim()),f=O.shift();return f&&O.length&&(w[f.replace(/-([a-z])/g,a=>a[1].toUpperCase())]=O.join(":")),w},{})}static setElementHTML(m,w){m.innerHTML=I.emptyHTML,w&&new I(w).addToDOM(m)}constructor(m){this.nodes="string"==typeof m?this.parseMarkup(m):m}addToDOM(m){return function w(G,O){let f;return j(G).forEach(function(a){let g,v=a.tagName,o=a.textContent?q.doc.createTextNode(a.textContent):void 0,n=I.bypassHTMLFiltering;if(v)if("#text"===v)g=o;else if(-1!==I.allowedTags.indexOf(v)||n){let l=q.doc.createElementNS("svg"===v?re:O.namespaceURI||re,v),d=a.attributes||{};E(a,function(C,k){"tagName"!==k&&"attributes"!==k&&"children"!==k&&"style"!==k&&"textContent"!==k&&(d[k]=C)}),le(l,n?d:I.filterUserAttributes(d)),a.style&&ue(l,a.style),o&&l.appendChild(o),w(a.children||[],l),g=l}else J(33,!1,void 0,{"Invalid tagName in config":v});g&&O.appendChild(g),f=g}),f}(this.nodes,m)}parseMarkup(m){let w,G=[];if(m=m.trim().replace(/ style=(["'])/g," data-style=$1"),A)w=(new DOMParser).parseFromString(P?P.createHTML(m):m,"text/html");else{let f=pe("div");f.innerHTML=m,w={body:f}}let O=(f,a)=>{let g=f.nodeName.toLowerCase(),v={tagName:g};"#text"===g&&(v.textContent=f.textContent||"");let o=f.attributes;if(o){let n={};[].forEach.call(o,r=>{"data-style"===r.name?v.style=I.parseStyle(r.value):n[r.name]=r.value}),v.attributes=n}if(f.childNodes.length){let n=[];[].forEach.call(f.childNodes,r=>{O(r,n)}),n.length&&(v.children=n)}a.push(v)};return[].forEach.call(w.body.childNodes,f=>O(f,G)),G}}return I.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","markerHeight","markerWidth","offset","opacity","orient","padding","paddingLeft","paddingRight","patternUnits","r","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],I.allowedReferences=["https://","http://","mailto:","/","../","./","#"],I.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feDropShadow","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],I.emptyHTML=D,I.bypassHTMLFiltering=!1,I}),Le(V,"Core/Templating.js",[V["Core/Defaults.js"],V["Core/Utilities.js"]],function(q,ne){let{defaultOptions:re,defaultTime:ve}=q,{extend:le,getNestedProperty:pe,isArray:ue,isNumber:J,isObject:te,pick:X,pInt:E}=ne,j={add:(D,A)=>D+A,divide:(D,A)=>0!==A?D/A:"",eq:(D,A)=>D==A,each:function(D){let A=arguments[arguments.length-1];return!!ue(D)&&D.map((I,_)=>F(A.body,le(te(I)?I:{"@this":I},{"@index":_,"@first":0===_,"@last":_===D.length-1}))).join("")},ge:(D,A)=>D>=A,gt:(D,A)=>D>A,if:D=>!!D,le:(D,A)=>D<=A,lt:(D,A)=>DD*A,ne:(D,A)=>D!=A,subtract:(D,A)=>D-A,unless:D=>!D};function F(D="",A,I){let o,n,l,_=/\{([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= #\(\)]+)\}/g,m=/\(([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= ]+)\)/g,w=[],G=/f$/,O=/\.([0-9])/,f=re.lang,a=I&&I.time||ve,g=I&&I.numberFormatter||P,v=(d="")=>{let C;return"true"===d||"false"!==d&&((C=Number(d)).toString()===d?C:pe(d,A))},r=0;for(;null!==(o=_.exec(D));){let d=m.exec(o[1]);d&&(o=d,l=!0),n&&n.isBlock||(n={ctx:A,expression:o[1],find:o[0],isBlock:"#"===o[1].charAt(0),start:o.index,startInner:o.index+o[0].length,length:o[0].length});let C=o[1].split(" ")[0].replace("#","");j[C]&&(n.isBlock&&C===n.fn&&r++,n.fn||(n.fn=C));let k="else"===o[1];if(n.isBlock&&n.fn&&(o[1]===`/${n.fn}`||k))if(r)!k&&r--;else{let p=n.startInner,T=D.substr(p,o.index-p);void 0===n.body?(n.body=T,n.startInner=o.index+o[0].length):n.elseBody=T,n.find+=T+o[0],k||(w.push(n),n=void 0)}else n.isBlock||w.push(n);if(d&&!n?.isBlock)break}return w.forEach(d=>{let C,k,{body:p,elseBody:T,expression:B,fn:z}=d;if(z){let K=[d],U=B.split(" ");for(k=j[z].length;k--;)K.unshift(v(U[k+1]));C=j[z].apply(A,K),d.isBlock&&"boolean"==typeof C&&(C=F(C?p:T,A))}else{let K=B.split(":");if(C=v(K.shift()||""),K.length&&"number"==typeof C){let U=K.join(":");if(G.test(U)){let se=parseInt((U.match(O)||["","-1"])[1],10);null!==C&&(C=g(C,se,f.decimalPoint,U.indexOf(",")>-1?f.thousandsSep:""))}else C=a.dateFormat(U,C)}}D=D.replace(d.find,X(C,""))}),l?F(D,A,I):D}function P(D,A,I,_){let m,w;A=+A;let G=re.lang,O=((D=+D||0).toString().split(".")[1]||"").split("e")[0].length,f=D.toString().split("e"),a=A;-1===A?A=Math.min(O,20):J(A)?A&&f[1]&&f[1]<0&&((w=A+ +f[1])>=0?(f[0]=(+f[0]).toExponential(w).split("e")[0],A=w):(f[0]=f[0].split(".")[0]||0,D=A<20?(f[0]*Math.pow(10,f[1])).toFixed(A):0,f[1]=0)):A=2;let g=(Math.abs(f[1]?f[0]:D)+Math.pow(10,-Math.max(A,O)-1)).toFixed(A),v=String(E(g)),o=v.length>3?v.length%3:0;return I=X(I,G.decimalPoint),_=X(_,G.thousandsSep),m=(D<0?"-":"")+(o?v.substr(0,o)+_:""),0>+f[1]&&!a?m="0":m+=v.substr(o).replace(/(\d{3})(?=\d)/g,"$1"+_),A&&(m+=I+g.slice(-A)),f[1]&&0!=+m&&(m+="e"+f[1]),m}return{dateFormat:function(D,A,I){return ve.dateFormat(D,A,I)},format:F,helpers:j,numberFormat:P}}),Le(V,"Core/Renderer/RendererRegistry.js",[V["Core/Globals.js"]],function(q){var ne,re;let ve;return(re=ne||(ne={})).rendererTypes={},re.getRendererType=function(le=ve){return re.rendererTypes[le]||re.rendererTypes[ve]},re.registerRendererType=function(le,pe,ue){re.rendererTypes[le]=pe,(!ve||ue)&&(ve=le,q.Renderer=pe)},ne}),Le(V,"Core/Renderer/RendererUtilities.js",[V["Core/Utilities.js"]],function(q){var ne;let{clamp:re,pick:ve,pushUnique:le,stableSort:pe}=q;return(ne||(ne={})).distribute=function ue(J,te,X){let _,m,w,O,f,g,E=J,j=E.reducedLen||te,F=(v,o)=>v.target-o.target,P=[],D=J.length,A=[],I=P.push,G=!0,a=0;for(_=D;_--;)a+=J[_].size;if(a>j){for(pe(J,(v,o)=>(o.rank||0)-(v.rank||0)),w=(g=J[0].rank===J[J.length-1].rank)?D/2:-1,m=g?w:D-1;w&&a>j;)O=J[_=Math.floor(m)],le(A,_)&&(a-=O.size),m+=w,g&&m>=J.length&&(w/=2,m=w);A.sort((v,o)=>o-v).forEach(v=>I.apply(P,J.splice(v,1)))}for(pe(J,F),J=J.map(v=>({size:v.size,targets:[v.target],align:ve(v.align,.5)}));G;){for(_=J.length;_--;)O=J[_],f=(Math.min.apply(0,O.targets)+Math.max.apply(0,O.targets))/2,O.pos=re(f-O.size*O.align,0,te-O.size);for(_=J.length,G=!1;_--;)_>0&&J[_-1].pos+J[_-1].size>J[_].pos&&(J[_-1].size+=J[_].size,J[_-1].targets=J[_-1].targets.concat(J[_].targets),J[_-1].align=.5,J[_-1].pos+J[_-1].size>te&&(J[_-1].pos=te-J[_-1].size),J.splice(_,1),G=!0)}return I.apply(E,P),_=0,J.some(v=>{let o=0;return(v.targets||[]).some(()=>(E[_].pos=v.pos+o,void 0!==X&&Math.abs(E[_].pos-E[_].target)>X?(E.slice(0,_+1).forEach(n=>delete n.pos),E.reducedLen=(E.reducedLen||te)-.1*te,E.reducedLen>.1*te&&ue(E,te,X),!0):(o+=E[_].size,_++,!1)))}),pe(E,F),E},ne}),Le(V,"Core/Renderer/SVG/SVGElement.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{animate:le,animObject:pe,stop:ue}=q,{deg2rad:J,doc:te,svg:X,SVG_NS:E,win:j}=re,{addEvent:F,attr:P,createElement:D,css:A,defined:I,erase:_,extend:m,fireEvent:w,isArray:G,isFunction:O,isObject:f,isString:a,merge:g,objectEach:v,pick:o,pInt:n,replaceNested:r,syncTimeout:l,uniqueKey:d}=ve;class C{_defaultGetter(p){let T=o(this[p+"Value"],this[p],this.element?this.element.getAttribute(p):null,0);return/^[\-0-9\.]+$/.test(T)&&(T=parseFloat(T)),T}_defaultSetter(p,T,B){B.setAttribute(T,p)}add(p){let T,B=this.renderer,z=this.element;return p&&(this.parentGroup=p),void 0!==this.textStr&&"text"===this.element.nodeName&&B.buildText(this),this.added=!0,(!p||p.handleZ||this.zIndex)&&(T=this.zIndexSetter()),T||(p?p.element:B.box).appendChild(z),this.onAdd&&this.onAdd(),this}addClass(p,T){let B=T?"":this.attr("class")||"";return(p=(p||"").split(/ /g).reduce(function(z,K){return-1===B.indexOf(K)&&z.push(K),z},B?[B]:[]).join(" "))!==B&&this.attr("class",p),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(p,T,B,z=!0){let K,U,se,S,$,H={},x=this.renderer,N=x.alignedObjects;p?(this.alignOptions=p,this.alignByTranslate=T,(!B||a(B))&&(this.alignTo=se=B||"renderer",_(N,this),N.push(this),B=void 0)):(p=this.alignOptions,T=this.alignByTranslate,se=this.alignTo),B=o(B,x[se],x);let R=p.align,Z=p.verticalAlign;return K=(B.x||0)+(p.x||0),U=(B.y||0)+(p.y||0),"right"===R?S=1:"center"===R&&(S=2),S&&(K+=(B.width-(p.width||0))/S),H[T?"translateX":"x"]=Math.round(K),"bottom"===Z?$=1:"middle"===Z&&($=2),$&&(U+=(B.height-(p.height||0))/$),H[T?"translateY":"y"]=Math.round(U),z&&(this[this.placed?"animate":"attr"](H),this.placed=!0),this.alignAttr=H,this}alignSetter(p){let T={left:"start",center:"middle",right:"end"};T[p]&&(this.alignValue=p,this.element.setAttribute("text-anchor",T[p]))}animate(p,T,B){let z=pe(o(T,this.renderer.globalAnimation,!0)),K=z.defer;return te.hidden&&(z.duration=0),0!==z.duration?(B&&(z.complete=B),l(()=>{this.element&&le(this,p,z)},K)):(this.attr(p,void 0,B||z.complete),v(p,function(U,se){z.step&&z.step.call(this,U,{prop:se,pos:1,elem:this})},this)),this}applyTextOutline(p){let T=this.element;-1!==p.indexOf("contrast")&&(p=p.replace(/contrast/g,this.renderer.getContrast(T.style.fill)));let B=p.split(" "),z=B[B.length-1],K=B[0];if(K&&"none"!==K&&re.svg){this.fakeTS=!0,K=K.replace(/(^[\d\.]+)(.*?)$/g,function(H,x,N){return 2*Number(x)+N}),this.removeTextOutline();let U=te.createElementNS(E,"tspan");P(U,{class:"highcharts-text-outline",fill:z,stroke:z,"stroke-width":K,"stroke-linejoin":"round"});let se=T.querySelector("textPath")||T;[].forEach.call(se.childNodes,H=>{let x=H.cloneNode(!0);x.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(N=>x.removeAttribute(N)),U.appendChild(x)});let S=0;[].forEach.call(se.querySelectorAll("text tspan"),H=>{S+=Number(H.getAttribute("dy"))});let $=te.createElementNS(E,"tspan");$.textContent="\u200b",P($,{x:Number(T.getAttribute("x")),dy:-S}),U.appendChild($),se.insertBefore(U,se.firstChild)}}attr(p,T,B,z){let se,S,H,K=this.element,U=C.symbolCustomAttribs,$=this;return"string"==typeof p&&void 0!==T&&(se=p,(p={})[se]=T),"string"==typeof p?$=(this[p+"Getter"]||this._defaultGetter).call(this,p,K):(v(p,function(x,N){H=!1,z||ue(this,N),this.symbolName&&-1!==U.indexOf(N)&&(S||(this.symbolAttr(p),S=!0),H=!0),this.rotation&&("x"===N||"y"===N)&&(this.doTransform=!0),H||(this[N+"Setter"]||this._defaultSetter).call(this,x,N,K)},this),this.afterSetters()),B&&B.call(this),$}clip(p){if(p&&!p.clipPath){let T=d()+"-",B=this.renderer.createElement("clipPath").attr({id:T}).add(this.renderer.defs);m(p,{clipPath:B,id:T,count:0}),p.add(B)}return this.attr("clip-path",p?`url(${this.renderer.url}#${p.id})`:"none")}crisp(p,T){let B=Math.round(T=T||p.strokeWidth||0)%2/2;return p.x=Math.floor(p.x||this.x||0)+B,p.y=Math.floor(p.y||this.y||0)+B,p.width=Math.floor((p.width||this.width||0)-2*B),p.height=Math.floor((p.height||this.height||0)-2*B),I(p.strokeWidth)&&(p.strokeWidth=T),p}complexColor(p,T,B){let K,U,se,S,$,H,x,N,R,Z,he,z=this.renderer,Y=[];w(this.renderer,"complexColor",{args:arguments},function(){if(p.radialGradient?U="radialGradient":p.linearGradient&&(U="linearGradient"),U){if(se=p[U],$=z.gradients,H=p.stops,R=B.radialReference,G(se)&&(p[U]=se={x1:se[0],y1:se[1],x2:se[2],y2:se[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===U&&R&&!I(se.gradientUnits)&&(S=se,se=g(se,z.getRadialAttr(R,S),{gradientUnits:"userSpaceOnUse"})),v(se,function(ge,_e){"id"!==_e&&Y.push(_e,ge)}),v(H,function(ge){Y.push(ge)}),$[Y=Y.join(",")])Z=$[Y].attr("id");else{se.id=Z=d();let ge=$[Y]=z.createElement(U).attr(se).add(z.defs);ge.radAttr=S,ge.stops=[],H.forEach(function(_e){0===_e[1].indexOf("rgba")?(x=(K=ne.parse(_e[1])).get("rgb"),N=K.get("a")):(x=_e[1],N=1);let Te=z.createElement("stop").attr({offset:_e[0],"stop-color":x,"stop-opacity":N}).add(ge);ge.stops.push(Te)})}he="url("+z.url+"#"+Z+")",B.setAttribute(T,he),B.gradient=Y,p.toString=function(){return he}}})}css(p){let K,T=this.styles,B={},z=this.element,U=!T;if(T&&v(p,function(se,S){T&&T[S]!==se&&(B[S]=se,U=!0)}),U){T&&(p=m(T,B)),null===p.width||"auto"===p.width?delete this.textWidth:"text"===z.nodeName.toLowerCase()&&p.width&&(K=this.textWidth=n(p.width)),m(this.styles,p),K&&!X&&this.renderer.forExport&&delete p.width;let se=g(p);z.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(S=>se&&delete se[S]),se.color&&(se.fill=se.color)),A(z,se)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),p.textOutline&&this.applyTextOutline(p.textOutline)),this}dashstyleSetter(p){let T,B=this["stroke-width"];if("inherit"===B&&(B=1),p=p&&p.toLowerCase()){let z=p.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(T=z.length;T--;)z[T]=""+n(z[T])*o(B,NaN);p=z.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",p)}}destroy(){let U,se,p=this,T=p.element||{},B=p.renderer,z=T.ownerSVGElement,K="SPAN"===T.nodeName&&p.parentGroup||void 0;if(T.onclick=T.onmouseout=T.onmouseover=T.onmousemove=T.point=null,ue(p),p.clipPath&&z){let S=p.clipPath;[].forEach.call(z.querySelectorAll("[clip-path],[CLIP-PATH]"),function($){$.getAttribute("clip-path").indexOf(S.element.id)>-1&&$.removeAttribute("clip-path")}),p.clipPath=S.destroy()}if(p.connector=p.connector?.destroy(),p.stops){for(se=0;seK&&K.join?(U?z+" ":"")+K.join(" "):(K||"").toString(),"")),/(NaN| {2}|^$)/.test(p)&&(p="M 0 0"),this[T]!==p&&(B.setAttribute(T,p),this[T]=p)}fillSetter(p,T,B){"string"==typeof p?B.setAttribute(T,p):p&&this.complexColor(p,T,B)}hrefSetter(p,T,B){B.setAttributeNS("http://www.w3.org/1999/xlink",T,p)}getBBox(p,T){let B,z,K,U,{alignValue:se,element:S,renderer:$,styles:H,textStr:x}=this,{cache:N,cacheKeys:R}=$,Z=S.namespaceURI===this.SVG_NS,Y=o(T,this.rotation,0),he=$.styledMode?S&&C.prototype.getStyle.call(S,"font-size"):H.fontSize;if(I(x)&&(-1===(U=x.toString()).indexOf("<")&&(U=U.replace(/[0-9]/g,"0")),U+=["",$.rootFontSize,he,Y,this.textWidth,se,H.textOverflow,H.fontWeight].join(",")),U&&!p&&(B=N[U]),!B){if(Z||$.forExport){try{K=this.fakeTS&&function(ge){let _e=S.querySelector(".highcharts-text-outline");_e&&A(_e,{display:ge})},O(K)&&K("none"),B=S.getBBox?m({},S.getBBox()):{width:S.offsetWidth,height:S.offsetHeight,x:0,y:0},O(K)&&K("")}catch{}(!B||B.width<0)&&(B={x:0,y:0,width:0,height:0})}else B=this.htmlGetBBox();z=B.height,Z&&(B.height=z={"11px,17":14,"13px,20":16}[`${he||""},${Math.round(z)}`]||z),Y&&(B=this.getRotatedBox(B,Y))}if(U&&(""===x||B.height>0)){for(;R.length>250;)delete N[R.shift()];N[U]||R.push(U),N[U]=B}return B}getRotatedBox(p,T){let{x:B,y:z,width:K,height:U}=p,{alignValue:se,translateY:S,rotationOriginX:$=0,rotationOriginY:H=0}=this,x={right:1,center:.5}[se||0]||0,N=Number(this.element.getAttribute("y")||0)-(S?0:z),R=T*J,Z=(T-90)*J,Y=Math.cos(R),he=Math.sin(R),ge=K*Y,_e=K*he,Te=Math.cos(Z),Oe=Math.sin(Z),[[De,Be],[oe,ee]]=[$,H].map(pt=>[pt-pt*Y,pt*he]),be=B+x*(K-ge)+De+ee+N*Te,xe=be+ge,Ie=xe-U*Te,we=Ie-ge,Ee=z+N-x*_e-Be+oe+N*Oe,Me=Ee+_e,Xe=Me-U*Oe,Je=Xe-_e,lt=Math.min(be,xe,Ie,we),qe=Math.min(Ee,Me,Xe,Je);return{x:lt,y:qe,width:Math.max(be,xe,Ie,we)-lt,height:Math.max(Ee,Me,Xe,Je)-qe}}getStyle(p){return j.getComputedStyle(this.element||this,"").getPropertyValue(p)}hasClass(p){return-1!==(""+this.attr("class")).split(" ").indexOf(p)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(p,T){this.onEvents={},this.opacity=1,this.SVG_NS=E,this.element="span"===T||"body"===T?D(T):te.createElementNS(this.SVG_NS,T),this.renderer=p,this.styles={},w(this,"afterInit")}on(p,T){let{onEvents:B}=this;return B[p]&&B[p](),B[p]=F(this.element,p,T),this}opacitySetter(p,T,B){let z=Number(Number(p).toFixed(3));this.opacity=z,B.setAttribute(T,z)}removeClass(p){return this.attr("class",(""+this.attr("class")).replace(a(p)?RegExp(`(^| )${p}( |$)`):p," ").replace(/ +/g," ").trim())}removeTextOutline(){let p=this.element.querySelector("tspan.highcharts-text-outline");p&&this.safeRemoveChild(p)}safeRemoveChild(p){let T=p.parentNode;T&&T.removeChild(p)}setRadialReference(p){let T=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=p,T&&T.radAttr&&T.animate(this.renderer.getRadialAttr(p,T.radAttr)),this}setTextPath(p,T){T=g(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},T);let B=this.renderer.url,z=this.text||this,K=z.textPath,{attributes:U,enabled:se}=T;if(p=p||K&&K.path,K&&K.undo(),p&&se){let S=F(z,"afterModifyTree",$=>{if(p&&se){let H=p.attr("id");H||p.attr("id",H=d());let x={x:0,y:0};I(U.dx)&&(x.dx=U.dx,delete U.dx),I(U.dy)&&(x.dy=U.dy,delete U.dy),z.attr(x),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let N=$.nodes.slice(0);$.nodes.length=0,$.nodes[0]={tagName:"textPath",attributes:m(U,{"text-anchor":U.textAnchor,href:`${B}#${H}`}),children:N}}});z.textPath={path:p,undo:S}}else z.attr({dx:0,dy:0}),delete z.textPath;return this.added&&(z.textCache="",this.renderer.buildText(z)),this}shadow(p){let{renderer:T}=this,B=g(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},f(p)?p:{}),z=T.shadowDefinition(B);return this.attr({filter:p?`url(${T.url}#${z})`:"none"})}show(p=!0){return this.attr({visibility:p?"inherit":"visible"})}"stroke-widthSetter"(p,T,B){this[T]=p,B.setAttribute(T,p)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let B,p=this.getStyle("stroke-width"),T=0;return/px$/.test(p)?T=n(p):""!==p&&(P(B=te.createElementNS(E,"rect"),{width:p,"stroke-width":0}),this.element.parentNode.appendChild(B),T=B.getBBox().width,B.parentNode.removeChild(B)),T}symbolAttr(p){let T=this;C.symbolCustomAttribs.forEach(function(B){T[B]=o(p[B],T[B])}),T.attr({d:T.renderer.symbols[T.symbolName](T.x,T.y,T.width,T.height,T)})}textSetter(p){p!==this.textStr&&(delete this.textPxLength,this.textStr=p,this.added&&this.renderer.buildText(this))}titleSetter(p){let T=this.element,B=T.getElementsByTagName("title")[0]||te.createElementNS(this.SVG_NS,"title");T.insertBefore?T.insertBefore(B,T.firstChild):T.appendChild(B),B.textContent=r(o(p,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let p=this.element;return p.parentNode.appendChild(p),this}translate(p,T){return this.attr({translateX:p,translateY:T})}updateTransform(p="transform"){let{element:T,matrix:B,rotation:z=0,rotationOriginX:K,rotationOriginY:U,scaleX:se,scaleY:S,translateX:$=0,translateY:H=0}=this,x=["translate("+$+","+H+")"];I(B)&&x.push("matrix("+B.join(",")+")"),z&&(x.push("rotate("+z+" "+o(K,T.getAttribute("x"),0)+" "+o(U,T.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:z,rotationOriginX:(K||0)-this.padding,rotationOriginY:(U||0)-this.padding})),(I(se)||I(S))&&x.push("scale("+o(se,1)+" "+o(S,1)+")"),x.length&&!(this.text||this).textPath&&T.setAttribute(p,x.join(" "))}visibilitySetter(p,T,B){"inherit"===p?B.removeAttribute(T):this[T]!==p&&B.setAttribute(T,p),this[T]=p}xGetter(p){return"circle"===this.element.nodeName&&("x"===p?p="cx":"y"===p&&(p="cy")),this._defaultGetter(p)}zIndexSetter(p,T){let S,$,H,N,Z,B=this.renderer,z=this.parentGroup,K=(z||B).element||B.box,U=this.element,se=K===B.box,x=!1,R=this.added;if(I(p)?(U.setAttribute("data-z-index",p),this[T]===(p=+p)&&(R=!1)):I(this[T])&&U.removeAttribute("data-z-index"),this[T]=p,R){for((p=this.zIndex)&&z&&(z.handleZ=!0),Z=(S=K.childNodes).length-1;Z>=0&&!x;Z--)N=!I(H=($=S[Z]).getAttribute("data-z-index")),$!==U&&(p<0&&N&&!se&&!Z?(K.insertBefore(U,S[Z]),x=!0):(n(H)<=p||N&&(!I(p)||p>=0))&&(K.insertBefore(U,S[Z+1]),x=!0));x||(K.insertBefore(U,S[se?3:0]),x=!0)}return x}}return C.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],C.prototype.strokeSetter=C.prototype.fillSetter,C.prototype.yGetter=C.prototype.xGetter,C.prototype.matrixSetter=C.prototype.rotationOriginXSetter=C.prototype.rotationOriginYSetter=C.prototype.rotationSetter=C.prototype.scaleXSetter=C.prototype.scaleYSetter=C.prototype.translateXSetter=C.prototype.translateYSetter=C.prototype.verticalAlignSetter=function(k,p){this[p]=k,this.doTransform=!0},C}),Le(V,"Core/Renderer/SVG/SVGLabel.js",[V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne){let{defined:re,extend:ve,isNumber:le,merge:pe,pick:ue,removeEvent:J}=ne;class te extends q{constructor(E,j,F,P,D,A,I,_,m,w){let G;super(E,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.textStr=j,this.x=F,this.y=P,this.anchorX=A,this.anchorY=I,this.baseline=m,this.className=w,this.addClass("button"===w?"highcharts-no-tooltip":"highcharts-label"),w&&this.addClass("highcharts-"+w),this.text=E.text(void 0,0,0,_).attr({zIndex:1}),"string"==typeof D&&((G=/^url\((.*?)\)$/.test(D))||this.renderer.symbols[D])&&(this.symbolKey=D),this.bBox=te.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=E.styledMode||G,this.deferredAttr={},this.alignFactor=0}alignSetter(E){let j={left:0,center:.5,right:1}[E];j!==this.alignFactor&&(this.alignFactor=j,this.bBox&&le(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(E,j){this.anchorX=E,this.boxAttr(j,Math.round(E)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(E,j){this.anchorY=E,this.boxAttr(j,E-this.ySetting)}boxAttr(E,j){this.box?this.box.attr(E,j):this.deferredAttr[E]=j}css(E){if(E){let j={};E=pe(E),te.textProps.forEach(F=>{void 0!==E[F]&&(j[F]=E[F],delete E[F])}),this.text.css(j),"fontSize"in j||"fontWeight"in j?this.updateTextPadding():("width"in j||"textOverflow"in j)&&this.updateBoxSize()}return q.prototype.css.call(this,E)}destroy(){J(this.element,"mouseenter"),J(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),q.prototype.destroy.call(this)}fillSetter(E,j){E&&(this.needsBox=!0),this.fill=E,this.boxAttr(j,E)}getBBox(E,j){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:F,height:P=0,translateX:D=0,translateY:A=0,width:I=0}=this,_=ue(this.paddingLeft,F),m=j??(this.rotation||0),w={width:I,height:P,x:D+this.bBox.x-_,y:A+this.bBox.y-F+this.baselineOffset};return m&&(w=this.getRotatedBox(w,m)),w}getCrispAdjust(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(E){this.heightSetting=E}onAdd(){this.text.add(this),this.attr({text:ue(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&re(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(E,j){le(E)?E!==this[j]&&(this[j]=E,this.updateTextPadding()):this[j]=void 0}rSetter(E,j){this.boxAttr(j,E)}strokeSetter(E,j){this.stroke=E,this.boxAttr(j,E)}"stroke-widthSetter"(E,j){E&&(this.needsBox=!0),this["stroke-width"]=E,this.boxAttr(j,E)}"text-alignSetter"(E){this.textAlign=E}textSetter(E){void 0!==E&&this.text.attr({text:E}),this.updateTextPadding()}updateBoxSize(){let E,j=this.text,F={},P=this.padding,D=this.bBox=le(this.widthSetting)&&le(this.heightSetting)&&!this.textAlign||!re(j.textStr)?te.emptyBBox:j.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||D.height||0)+2*P;let A=this.renderer.fontMetrics(j);if(this.baselineOffset=P+Math.min((this.text.firstLineMetrics||A).b,D.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-A.h)/2),this.needsBox&&!j.textPath){if(!this.box){let I=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();I.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),I.add(this)}E=this.getCrispAdjust(),F.x=E,F.y=(this.baseline?-this.baselineOffset:0)+E,F.width=Math.round(this.width),F.height=Math.round(this.height),this.box.attr(ve(F,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let E=this.text;if(!E.textPath){this.updateBoxSize();let j=this.baseline?0:this.baselineOffset,F=ue(this.paddingLeft,this.padding);re(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(F+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(F!==E.x||j!==E.y)&&(E.attr("x",F),E.hasBoxWidthChanged&&(this.bBox=E.getBBox(!0)),void 0!==j&&E.attr("y",j)),E.x=F,E.y=j}}widthSetter(E){this.widthSetting=le(E)?E:void 0}getPaddedWidth(){let E=this.padding,j=ue(this.paddingLeft,E),F=ue(this.paddingRight,E);return(this.widthSetting||this.bBox.width||0)+j+F}xSetter(E){this.x=E,this.alignFactor&&(E-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(E),this.attr("translateX",this.xSetting)}ySetter(E){this.ySetting=this.y=Math.round(E),this.attr("translateY",this.ySetting)}}return te.emptyBBox={width:0,height:0,x:0,y:0},te.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],te}),Le(V,"Core/Renderer/SVG/Symbols.js",[V["Core/Utilities.js"]],function(q){let{defined:ne,isNumber:re,pick:ve}=q;function le(J,te,X,E,j){let F=[];if(j){let P=j.start||0,D=ve(j.r,X),A=ve(j.r,E||X),I=.001>Math.abs((j.end||0)-P-2*Math.PI),_=(j.end||0)-.001,m=j.innerR,w=ve(j.open,I),G=Math.cos(P),O=Math.sin(P),f=Math.cos(_),a=Math.sin(_),g=ve(j.longArc,_-P-Math.PI<.001?0:1),v=["A",D,A,0,g,ve(j.clockwise,1),J+D*f,te+A*a];v.params={start:P,end:_,cx:J,cy:te},F.push(["M",J+D*G,te+A*O],v),ne(m)&&((v=["A",m,m,0,g,ne(j.clockwise)?1-j.clockwise:0,J+m*G,te+m*O]).params={start:_,end:P,cx:J,cy:te},F.push(w?["M",J+m*f,te+m*a]:["L",J+m*f,te+m*a],v)),w||F.push(["Z"])}return F}function pe(J,te,X,E,j){return j&&j.r?ue(J,te,X,E,j):[["M",J,te],["L",J+X,te],["L",J+X,te+E],["L",J,te+E],["Z"]]}function ue(J,te,X,E,j){let F=j?.r||0;return[["M",J+F,te],["L",J+X-F,te],["A",F,F,0,0,1,J+X,te+F],["L",J+X,te+E-F],["A",F,F,0,0,1,J+X-F,te+E],["L",J+F,te+E],["A",F,F,0,0,1,J,te+E-F],["L",J,te+F],["A",F,F,0,0,1,J+F,te],["Z"]]}return{arc:le,callout:function(J,te,X,E,j){let F=Math.min(j&&j.r||0,X,E),P=F+6,D=j&&j.anchorX,A=j&&j.anchorY||0,I=ue(J,te,X,E,{r:F});if(!re(D)||D0&&A0)return I;if(J+D>X-P)if(A>te+P&&Ate+P&&A0){let _=AE&&DP&&I.splice(1,1,["L",D-6,te],["L",D,te-6],["L",D+6,te],["L",X-F,te]);return I},circle:function(J,te,X,E){return le(J+X/2,te+E/2,X/2,E/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(J,te,X,E){return[["M",J+X/2,te],["L",J+X,te+E/2],["L",J+X/2,te+E],["L",J,te+E/2],["Z"]]},rect:pe,roundedRect:ue,square:pe,triangle:function(J,te,X,E){return[["M",J+X/2,te],["L",J+X,te+E],["L",J,te+E],["Z"]]},"triangle-down":function(J,te,X,E){return[["M",J,te],["L",J+X,te],["L",J+X/2,te+E],["Z"]]}}}),Le(V,"Core/Renderer/SVG/TextBuilder.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{doc:ve,SVG_NS:le,win:pe}=ne,{attr:ue,extend:J,fireEvent:te,isString:X,objectEach:E,pick:j}=re;return class{constructor(F){let P=F.styles;this.renderer=F.renderer,this.svgElement=F,this.width=F.textWidth,this.textLineHeight=P&&P.lineHeight,this.textOutline=P&&P.textOutline,this.ellipsis=!(!P||"ellipsis"!==P.textOverflow),this.noWrap=!(!P||"nowrap"!==P.whiteSpace)}buildSVG(){let F=this.svgElement,P=F.element,D=F.renderer,A=j(F.textStr,"").toString(),I=-1!==A.indexOf("<"),_=P.childNodes,m=!F.added&&D.box,w=[A,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,F.getStyle("font-size"),this.width].join(",");if(w!==F.textCache){F.textCache=w,delete F.actualWidth;for(let G=_.length;G--;)P.removeChild(_[G]);if(I||this.ellipsis||this.width||F.textPath||-1!==A.indexOf(" ")&&(!this.noWrap||//g.test(A))){if(""!==A){m&&m.appendChild(P);let G=new q(A);this.modifyTree(G.nodes),G.addToDOM(P),this.modifyDOM(),this.ellipsis&&-1!==(P.textContent||"").indexOf("\u2026")&&F.attr("title",this.unescapeEntities(F.textStr||"",["<",">"])),m&&m.removeChild(P)}}else P.appendChild(ve.createTextNode(this.unescapeEntities(A)));X(this.textOutline)&&F.applyTextOutline&&F.applyTextOutline(this.textOutline)}}modifyDOM(){let F,P=this.svgElement,D=ue(P.element,"x");for(P.firstLineMetrics=void 0;(F=P.element.firstChild)&&/^[\s\u200B]*$/.test(F.textContent||" ");)P.element.removeChild(F);[].forEach.call(P.element.querySelectorAll("tspan.highcharts-br"),(m,w)=>{m.nextSibling&&m.previousSibling&&(0===w&&1===m.previousSibling.nodeType&&(P.firstLineMetrics=P.renderer.fontMetrics(m.previousSibling)),ue(m,{dy:this.getLineHeight(m.nextSibling),x:D}))});let A=this.width||0;if(!A)return;let I=(m,w)=>{let G=m.textContent||"",O=G.replace(/([^\^])-/g,"$1- ").split(" "),f=!this.noWrap&&(O.length>1||P.element.childNodes.length>1),a=this.getLineHeight(w),g=0,v=P.actualWidth;if(this.ellipsis)G&&this.truncate(m,G,void 0,0,Math.max(0,A-.8*a),(o,n)=>o.substring(0,n)+"\u2026");else if(f){let o=[],n=[];for(;w.firstChild&&w.firstChild!==m;)n.push(w.firstChild),w.removeChild(w.firstChild);for(;O.length;)O.length&&!this.noWrap&&g>0&&(o.push(m.textContent||""),m.textContent=O.join(" ").replace(/- /g,"-")),this.truncate(m,void 0,O,0===g&&v||0,A,(r,l)=>O.slice(0,l).join(" ").replace(/- /g,"-")),v=P.actualWidth,g++;n.forEach(r=>{w.insertBefore(r,m)}),o.forEach(r=>{w.insertBefore(ve.createTextNode(r),m);let l=ve.createElementNS(le,"tspan");l.textContent="\u200b",ue(l,{dy:a,x:D}),w.insertBefore(l,m)})}},_=m=>{[].slice.call(m.childNodes).forEach(w=>{w.nodeType===pe.Node.TEXT_NODE?I(w,m):(-1!==w.className.baseVal.indexOf("highcharts-br")&&(P.actualWidth=0),_(w))})};_(P.element)}getLineHeight(F){let P=F.nodeType===pe.Node.TEXT_NODE?F.parentElement:F;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(P||this.svgElement.element).h}modifyTree(F){let P=(D,A)=>{let{attributes:I={},children:_,style:m={},tagName:w}=D,G=this.renderer.styledMode;if("b"===w||"strong"===w?G?I.class="highcharts-strong":m.fontWeight="bold":("i"===w||"em"===w)&&(G?I.class="highcharts-emphasized":m.fontStyle="italic"),m&&m.color&&(m.fill=m.color),"br"===w){I.class="highcharts-br",D.textContent="\u200b";let O=F[A+1];O&&O.textContent&&(O.textContent=O.textContent.replace(/^ +/gm,""))}else"a"===w&&_&&_.some(O=>"#text"===O.tagName)&&(D.children=[{children:_,tagName:"tspan"}]);"#text"!==w&&"a"!==w&&(D.tagName="tspan"),J(D,{attributes:I,style:m}),_&&_.filter(O=>"#text"!==O.tagName).forEach(P)};F.forEach(P),te(this.svgElement,"afterModifyTree",{nodes:F})}truncate(F,P,D,A,I,_){let m,w,G=this.svgElement,{rotation:O}=G,f=[],a=D?1:0,g=(P||D||"").length,v=g,o=function(n,r){let l=r||n,d=F.parentNode;if(d&&void 0===f[l]&&d.getSubStringLength)try{f[l]=A+d.getSubStringLength(0,D?l+1:l)}catch{}return f[l]};if(G.rotation=0,A+(w=o(F.textContent.length))>I){for(;a<=g;)v=Math.ceil((a+g)/2),D&&(m=_(D,v)),w=o(v,m&&m.length-1),a===g?a=g+1:w>I?g=v-1:a=v;0===g?F.textContent="":P&&g===P.length-1||(F.textContent=m||_(P||D,v))}D&&D.splice(0,v),G.actualWidth=w,G.rotation=O}unescapeEntities(F,P){return E(this.renderer.escapes,function(D,A){P&&-1!==P.indexOf(D)||(F=F.toString().replace(RegExp(D,"g"),A))}),F}}}),Le(V,"Core/Renderer/SVG/SVGRenderer.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGLabel.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Renderer/SVG/TextBuilder.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te){let X,{charts:E,deg2rad:j,doc:F,isFirefox:P,isMS:D,isWebKit:A,noop:I,SVG_NS:_,symbolSizes:m,win:w}=re,{addEvent:G,attr:O,createElement:f,css:a,defined:g,destroyObjectProperties:v,extend:o,isArray:n,isNumber:r,isObject:l,isString:d,merge:C,pick:k,pInt:p,replaceNested:T,uniqueKey:B}=te;class z{constructor(U,se,S,$,H,x,N){let R,Z,Y=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),he=Y.element;N||Y.css(this.getStyle($||{})),U.appendChild(he),O(U,"dir","ltr"),-1===U.innerHTML.indexOf("xmlns")&&O(he,"xmlns",this.SVG_NS),this.box=he,this.boxWrapper=Y,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(F.createTextNode("Created with Highcharts 11.4.0")),this.defs=this.createElement("defs").add(),this.allowHTML=x,this.forExport=H,this.styledMode=N,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=Y.getStyle("font-size"),this.setSize(se,S,!1),P&&U.getBoundingClientRect&&((R=function(){a(U,{left:0,top:0}),Z=U.getBoundingClientRect(),a(U,{left:Math.ceil(Z.left)-Z.left+"px",top:Math.ceil(Z.top)-Z.top+"px"})})(),this.unSubPixelFix=G(w,"resize",R))}definition(U){return new q([U]).addToDOM(this.defs.element)}getReferenceURL(){if((P||A)&&F.getElementsByTagName("base").length){if(!g(X)){let U=B(),se=new q([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:U},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${U})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(F.body);a(se,{position:"fixed",top:0,left:0,zIndex:9e5});let S=F.elementFromPoint(6,6);X="hitme"===(S&&S.id),F.body.removeChild(se)}if(X)return T(w.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(U){return this.style=o({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},U),this.style}setStyle(U){this.boxWrapper.css(this.getStyle(U))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let U=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),v(this.gradients||{}),this.gradients=null,this.defs=U.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(U){return new this.Element(this,U)}getRadialAttr(U,se){return{cx:U[0]-U[2]/2+(se.cx||0)*U[2],cy:U[1]-U[2]/2+(se.cy||0)*U[2],r:(se.r||0)*U[2]}}shadowDefinition(U){let se=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(U).map($=>`${$}-${U[$]}`)].join("-").toLowerCase().replace(/[^a-z0-9\-]/g,""),S=C({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},U);return this.defs.element.querySelector(`#${se}`)||this.definition({tagName:"filter",attributes:{id:se,filterUnits:S.filterUnits},children:[{tagName:"feDropShadow",attributes:{dx:S.offsetX,dy:S.offsetY,"flood-color":S.color,"flood-opacity":Math.min(5*S.opacity,1),stdDeviation:S.width/2}}]}),se}buildText(U){new J(U).buildSVG()}getContrast(U){let se=ne.parse(U).rgba.map($=>{let H=$/255;return H<=.03928?H/12.92:Math.pow((H+.055)/1.055,2.4)}),S=.2126*se[0]+.7152*se[1]+.0722*se[2];return 1.05/(S+.05)>(S+.05)/.05?"#FFFFFF":"#000000"}button(U,se,S,$,H={},x,N,R,Z,Y){let he,ge,_e,Te=this.label(U,se,S,Z,void 0,void 0,Y,void 0,"button"),Oe=this.styledMode,De=H.states||{},Be=0;delete(H=C(H)).states;let oe=C({color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},H.style);delete H.style;let ee=q.filterUserAttributes(H);return Te.attr(C({padding:8,r:2},ee)),Oe||(ee=C({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},ee),he=(x=C(ee,{fill:"#e6e6e6"},q.filterUserAttributes(x||De.hover||{}))).style,delete x.style,ge=(N=C(ee,{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},q.filterUserAttributes(N||De.select||{}))).style,delete N.style,_e=(R=C(ee,{style:{color:"#cccccc"}},q.filterUserAttributes(R||De.disabled||{}))).style,delete R.style),G(Te.element,D?"mouseover":"mouseenter",function(){3!==Be&&Te.setState(1)}),G(Te.element,D?"mouseout":"mouseleave",function(){3!==Be&&Te.setState(Be)}),Te.setState=function(be){if(1!==be&&(Te.state=Be=be),Te.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][be||0]),!Oe){Te.attr([ee,x,N,R][be||0]);let xe=[oe,he,ge,_e][be||0];l(xe)&&Te.css(xe)}},!Oe&&(Te.attr(ee).css(o({cursor:"default"},oe)),Y&&Te.text.css({pointerEvents:"none"})),Te.on("touchstart",be=>be.stopPropagation()).on("click",function(be){3!==Be&&$.call(Te,be)})}crispLine(U,se,S="round"){let $=U[0],H=U[1];return g($[1])&&$[1]===H[1]&&($[1]=H[1]=Math[S]($[1])-se%2/2),g($[2])&&$[2]===H[2]&&($[2]=H[2]=Math[S]($[2])+se%2/2),U}path(U){let se=this.styledMode?{}:{fill:"none"};return n(U)?se.d=U:l(U)&&o(se,U),this.createElement("path").attr(se)}circle(U,se,S){let $=l(U)?U:void 0===U?{}:{x:U,y:se,r:S},H=this.createElement("circle");return H.xSetter=H.ySetter=function(x,N,R){R.setAttribute("c"+N,x)},H.attr($)}arc(U,se,S,$,H,x){let N;l(U)?(se=(N=U).y,S=N.r,$=N.innerR,H=N.start,x=N.end,U=N.x):N={innerR:$,start:H,end:x};let R=this.symbol("arc",U,se,S,S,N);return R.r=S,R}rect(U,se,S,$,H,x){let N=l(U)?U:void 0===U?{}:{x:U,y:se,r:H,width:Math.max(S||0,0),height:Math.max($||0,0)},R=this.createElement("rect");return this.styledMode||(void 0!==x&&(N["stroke-width"]=x,o(N,R.crisp(N))),N.fill="none"),R.rSetter=function(Z,Y,he){R.r=Z,O(he,{rx:Z,ry:Z})},R.rGetter=function(){return R.r||0},R.attr(N)}roundedRect(U){return this.symbol("roundedRect").attr(U)}setSize(U,se,S){this.width=U,this.height=se,this.boxWrapper.animate({width:U,height:se},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:k(S,!0)?void 0:0}),this.alignElements()}g(U){let se=this.createElement("g");return U?se.attr({class:"highcharts-"+U}):se}image(U,se,S,$,H,x){let N={preserveAspectRatio:"none"};r(se)&&(N.x=se),r(S)&&(N.y=S),r($)&&(N.width=$),r(H)&&(N.height=H);let R=this.createElement("image").attr(N),Z=function(Y){R.attr({href:U}),x.call(R,Y)};if(x){R.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let Y=new w.Image;G(Y,"load",Z),Y.src=U,Y.complete&&Z({})}else R.attr({href:U});return R}symbol(U,se,S,$,H,x){let N,R,Z,Y,he=this,ge=/^url\((.*?)\)$/,_e=ge.test(U),Te=!_e&&(this.symbols[U]?U:"circle"),Oe=Te&&this.symbols[Te];if(Oe)"number"==typeof se&&(R=Oe.call(this.symbols,Math.round(se||0),Math.round(S||0),$||0,H||0,x)),N=this.path(R),he.styledMode||N.attr("fill","none"),o(N,{symbolName:Te||void 0,x:se,y:S,width:$,height:H}),x&&o(N,x);else if(_e){Z=U.match(ge)[1];let De=N=this.image(Z);De.imgwidth=k(x&&x.width,m[Z]&&m[Z].width),De.imgheight=k(x&&x.height,m[Z]&&m[Z].height),Y=Be=>Be.attr({width:Be.width,height:Be.height}),["width","height"].forEach(Be=>{De[`${Be}Setter`]=function(oe,ee){this[ee]=oe;let{alignByTranslate:be,element:xe,width:Ie,height:we,imgwidth:Ee,imgheight:Me}=this,Xe="width"===ee?Ee:Me,Je=1;x&&"within"===x.backgroundSize&&Ie&&we&&Ee&&Me?(Je=Math.min(Ie/Ee,we/Me),O(xe,{width:Math.round(Ee*Je),height:Math.round(Me*Je)})):xe&&Xe&&xe.setAttribute(ee,Xe),!be&&Ee&&Me&&this.translate(((Ie||0)-Ee*Je)/2,((we||0)-Me*Je)/2)}}),g(se)&&De.attr({x:se,y:S}),De.isImg=!0,g(De.imgwidth)&&g(De.imgheight)?Y(De):(De.attr({width:0,height:0}),f("img",{onload:function(){let Be=E[he.chartIndex];0===this.width&&(a(this,{position:"absolute",top:"-999em"}),F.body.appendChild(this)),m[Z]={width:this.width,height:this.height},De.imgwidth=this.width,De.imgheight=this.height,De.element&&Y(De),this.parentNode&&this.parentNode.removeChild(this),he.imgCount--,he.imgCount||!Be||Be.hasLoaded||Be.onload()},src:Z}),this.imgCount++)}return N}clipRect(U,se,S,$){return this.rect(U,se,S,$,0)}text(U,se,S,$){let H={};if($&&(this.allowHTML||!this.forExport))return this.html(U,se,S);H.x=Math.round(se||0),S&&(H.y=Math.round(S)),g(U)&&(H.text=U);let x=this.createElement("text").attr(H);return $&&(!this.forExport||this.allowHTML)||(x.xSetter=function(N,R,Z){let Y=Z.getElementsByTagName("tspan"),he=Z.getAttribute(R);for(let _e,ge=0;geU.align())}}return o(z.prototype,{Element:le,SVG_NS:_,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:ue,draw:I}),ve.registerRendererType("svg",z,!0),z}),Le(V,"Core/Renderer/HTML/HTMLElement.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{composed:le}=ne,{attr:pe,css:ue,createElement:J,defined:te,extend:X,pInt:E,pushUnique:j}=ve;function F(I,_,m){let w=this.div?.style||m.style;re.prototype[`${_}Setter`].call(this,I,_,m),w&&(w[_]=I)}let P=(I,_)=>{if(!I.div){let m=pe(I.element,"class"),w=I.css,G=J("div",m?{className:m}:void 0,{position:"absolute",left:`${I.translateX||0}px`,top:`${I.translateY||0}px`,...I.styles,display:I.display,opacity:I.opacity,visibility:I.visibility},I.parentGroup?.div||_);I.classSetter=(O,f,a)=>{a.setAttribute("class",O),G.className=O},I.translateXSetter=I.translateYSetter=(O,f)=>{I[f]=O,G.style["translateX"===f?"left":"top"]=`${O}px`,I.doTransform=!0},I.opacitySetter=I.visibilitySetter=F,I.css=O=>(w.call(I,O),O.cursor&&(G.style.cursor=O.cursor),O.pointerEvents&&(G.style.pointerEvents=O.pointerEvents),I),I.on=function(){return re.prototype.on.apply({element:G,onEvents:I.onEvents},arguments),I},I.div=G}return I.div};class D extends re{static compose(_){j(le,this.compose)&&(_.prototype.html=function(m,w,G){return new D(this,"span").attr({text:m,x:Math.round(w),y:Math.round(G)})})}constructor(_,m){super(_,m),this.css({position:"absolute",..._.styledMode?{}:{fontFamily:_.style.fontFamily,fontSize:_.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(_,m,w){this.xCorr=-_*w,this.yCorr=-m}css(_){let m,{element:w}=this,G="SPAN"===w.tagName&&_&&"width"in _,O=G&&_.width;return G&&(delete _.width,this.textWidth=E(O)||void 0,m=!0),"ellipsis"===_?.textOverflow&&(_.whiteSpace="nowrap",_.overflow="hidden"),X(this.styles,_),ue(w,_),m&&this.updateTransform(),this}htmlGetBBox(){let{element:_}=this;return{x:_.offsetLeft,y:_.offsetTop,width:_.offsetWidth,height:_.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:_,renderer:m,rotation:w,rotationOriginX:G,rotationOriginY:O,styles:f,textAlign:a="left",textWidth:g,translateX:v=0,translateY:o=0,x:n=0,y:r=0}=this,l=f.whiteSpace;if(ue(_,{marginLeft:`${v}px`,marginTop:`${o}px`}),"SPAN"===_.tagName){let k,d=[w,a,_.innerHTML,g,this.textAlign].join(","),C=-1*this.parentGroup?.padding||0,p=!1;if(g!==this.oldTextWidth){let U=this.textPxLength?this.textPxLength:(ue(_,{width:"",whiteSpace:l||"nowrap"}),_.offsetWidth),se=g||0;(se>this.oldTextWidth||U>se)&&(/[ \-]/.test(_.textContent||_.innerText)||"ellipsis"===_.style.textOverflow)&&(ue(_,{width:U>se||w?g+"px":"auto",display:"block",whiteSpace:l||"normal"}),this.oldTextWidth=g,p=!0)}this.hasBoxWidthChanged=p,d!==this.cTT&&(k=m.fontMetrics(_).b,te(w)&&(w!==(this.oldRotation||0)||a!==this.oldAlign)&&this.setSpanRotation(w,C,C),this.getSpanCorrection(!te(w)&&this.textPxLength||_.offsetWidth,k,{left:0,center:.5,right:1}[a]));let{xCorr:T=0,yCorr:B=0}=this;ue(_,{left:`${n+T}px`,top:`${r+B}px`,transformOrigin:`${(G??n)-T-n-C}px ${(O??r)-B-r-C}px`}),this.cTT=d,this.oldRotation=w,this.oldAlign=a}}setSpanRotation(_,m,w){ue(this.element,{transform:`rotate(${_}deg)`,transformOrigin:`${m}% ${w}px`})}add(_){let m,w=this.renderer.box.parentNode,G=[];if(this.parentGroup=_,_&&!(m=_.div)){let O=_;for(;O;)G.push(O),O=O.parentGroup;for(let f of G.reverse())m=P(f,w)}return(m||w).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(_){_!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,q.setElementHTML(this.element,_??""),this.textStr=_,this.doTransform=!0)}alignSetter(_){this.alignValue=this.textAlign=_,this.doTransform=!0}xSetter(_,m){this[m]=_,this.doTransform=!0}}let A=D.prototype;return A.visibilitySetter=A.opacitySetter=F,A.ySetter=A.rotationSetter=A.rotationOriginXSetter=A.rotationOriginYSetter=A.xSetter,D}),Le(V,"Core/Axis/AxisDefaults.js",[],function(){var q,ne;return(ne=q||(q={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},ne.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:re}=this.axis.chart;return re(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},q}),Le(V,"Core/Foundation.js",[V["Core/Utilities.js"]],function(q){var ne;let{addEvent:re,isFunction:ve,objectEach:le,removeEvent:pe}=q;return(ne||(ne={})).registerEventOptions=function(ue,J){ue.eventOptions=ue.eventOptions||{},le(J.events,function(te,X){ue.eventOptions[X]!==te&&(ue.eventOptions[X]&&(pe(ue,X,ue.eventOptions[X]),delete ue.eventOptions[X]),ve(te)&&(ue.eventOptions[X]=te,re(ue,X,te,{order:0})))})},ne}),Le(V,"Core/Axis/Tick.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{deg2rad:ve}=ne,{clamp:le,correctFloat:pe,defined:ue,destroyObjectProperties:J,extend:te,fireEvent:X,isNumber:E,merge:j,objectEach:F,pick:P}=re;return class{constructor(D,A,I,_,m){this.isNew=!0,this.isNewLabel=!0,this.axis=D,this.pos=A,this.type=I||"",this.parameters=m||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,X(this,"init"),I||_||this.addLabel()}addLabel(){let l,d,C,D=this,A=D.axis,I=A.options,_=A.chart,m=A.categories,w=A.logarithmic,G=A.names,O=D.pos,f=P(D.options&&D.options.labels,I.labels),a=A.tickPositions,g=O===a[0],v=O===a[a.length-1],o=(!f.step||1===f.step)&&1===A.tickInterval,n=a.info,r=D.label,k=this.parameters.category||(m?P(m[O],G[O],O):O);w&&E(k)&&(k=pe(w.lin2log(k))),A.dateTime&&(n?l=(d=_.time.resolveDTLFormat(I.dateTimeLabelFormats[!I.grid&&n.higherRanks[O]||n.unitName])).main:E(k)&&(l=A.dateTime.getXDateFormat(k,I.dateTimeLabelFormats||{}))),D.isFirst=g,D.isLast=v;let p={axis:A,chart:_,dateTimeLabelFormat:l,isFirst:g,isLast:v,pos:O,tick:D,tickPositionInfo:n,value:k};X(this,"labelFormat",p);let T=K=>f.formatter?f.formatter.call(K,K):f.format?(K.text=A.defaultLabelFormatter.call(K),q.format(f.format,K,_)):A.defaultLabelFormatter.call(K),B=T.call(p,p),z=d&&d.list;D.shortenLabel=z?function(){for(C=0;C0&&_+g*v>O&&(k=Math.round((m-_)/Math.cos(a*ve))):(d=_-g*v,C=_+(1-g)*v,dO&&(r=O-D.x+r*g,l=-1),(r=Math.min(o,r))r||A.autoRotation&&(f.styles||{}).width)&&(k=r)),k&&(this.shortenLabel?this.shortenLabel():(n.width=Math.floor(k)+"px",(I.style||{}).textOverflow||(n.textOverflow="ellipsis"),f.css(n)))}moveLabel(D,A){let G,I=this,_=I.label,m=I.axis,w=!1;_&&_.textStr===D?(I.movedLabel=_,w=!0,delete I.label):F(m.ticks,function(O){w||O.isNew||O===I||!O.label||O.label.textStr!==D||(I.movedLabel=O.label,w=!0,O.labelPos=I.movedLabel.xy,delete O.label)}),!w&&(I.labelPos||_)&&(G=I.labelPos||_.xy,I.movedLabel=I.createLabel(D,A,G),I.movedLabel&&I.movedLabel.attr({opacity:0}))}render(D,A,I){let _=this.axis,m=_.horiz,w=this.pos,G=P(this.tickmarkOffset,_.tickmarkOffset),O=this.getPosition(m,w,G,A),f=O.x,a=O.y,g=_.pos,v=g+_.len,o=m&&f===v||!m&&a===g?-1:1,n=m?f:a;!_.chart.polar&&this.isNew&&(pe(n)v)&&(I=0);let r=P(I,this.label&&this.label.newOpacity,1);I=P(I,1),this.isActive=!0,this.renderGridLine(A,I,o),this.renderMark(O,I,o),this.renderLabel(O,A,r,D),this.isNew=!1,X(this,"afterRender")}renderGridLine(D,A,I){let v,_=this.axis,m=_.options,w={},G=this.pos,O=this.type,f=P(this.tickmarkOffset,_.tickmarkOffset),a=_.chart.renderer,g=this.gridLine,o=m.gridLineWidth,n=m.gridLineColor,r=m.gridLineDashStyle;"minor"===this.type&&(o=m.minorGridLineWidth,n=m.minorGridLineColor,r=m.minorGridLineDashStyle),g||(_.chart.styledMode||(w.stroke=n,w["stroke-width"]=o||0,w.dashstyle=r),O||(w.zIndex=1),D&&(A=0),this.gridLine=g=a.path().attr(w).addClass("highcharts-"+(O?O+"-":"")+"grid-line").add(_.gridGroup)),g&&(v=_.getPlotLinePath({value:G+f,lineWidth:g.strokeWidth()*I,force:"pass",old:D,acrossPanes:!1}))&&g[D||this.isNew?"attr":"animate"]({d:v,opacity:A})}renderMark(D,A,I){let _=this.axis,m=_.options,w=_.chart.renderer,G=this.type,O=_.tickSize(G?G+"Tick":"tick"),f=D.x,a=D.y,g=P(m["minor"!==G?"tickWidth":"minorTickWidth"],!G&&_.isXAxis?1:0),v=m["minor"!==G?"tickColor":"minorTickColor"],o=this.mark,n=!o;O&&(_.opposite&&(O[0]=-O[0]),o||(this.mark=o=w.path().addClass("highcharts-"+(G?G+"-":"")+"tick").add(_.axisGroup),_.chart.styledMode||o.attr({stroke:v,"stroke-width":g})),o[n?"attr":"animate"]({d:this.getMarkPath(f,a,O[0],o.strokeWidth()*I,_.horiz,w),opacity:A}))}renderLabel(D,A,I,_){let m=this.axis,w=m.horiz,G=m.options,O=this.label,f=G.labels,a=f.step,g=P(this.tickmarkOffset,m.tickmarkOffset),v=D.x,o=D.y,n=!0;O&&E(v)&&(O.xy=D=this.getLabelPosition(v,o,O,w,f,g,_,a),this.isFirst&&!this.isLast&&!G.showFirstLabel||this.isLast&&!this.isFirst&&!G.showLastLabel?n=!1:!w||f.step||f.rotation||A||0===I||this.handleOverflow(D),a&&_%a&&(n=!1),n&&E(D.y)?(D.opacity=I,O[this.isNewLabel?"attr":"animate"](D).show(!0),this.isNewLabel=!1):(O.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let D=this.label,A=this.axis;D&&!this.isNew&&(D.animate({opacity:0},void 0,D.destroy),delete this.label),A.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),Le(V,"Core/Axis/Axis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/AxisDefaults.js"],V["Core/Color/Color.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Axis/Tick.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{animObject:te}=q,{xAxis:X,yAxis:E}=ne,{defaultOptions:j}=ve,{registerEventOptions:F}=le,{deg2rad:P}=pe,{arrayMax:D,arrayMin:A,clamp:I,correctFloat:_,defined:m,destroyObjectProperties:w,erase:G,error:O,extend:f,fireEvent:a,getClosestDistance:g,insertItem:v,isArray:o,isNumber:n,isString:r,merge:l,normalizeTickInterval:d,objectEach:C,pick:k,relativeLength:p,removeEvent:T,splat:B,syncTimeout:z}=J,K=(se,S)=>d(S,void 0,void 0,k(se.options.allowDecimals,S<.5||void 0!==se.tickAmount),!!se.tickAmount);f(j,{xAxis:X,yAxis:l(X,E)});class U{constructor(S,$,H){this.init(S,$,H)}init(S,$,H=this.coll){let x="xAxis"===H,N=this.isZAxis||(S.inverted?!x:x);this.chart=S,this.horiz=N,this.isXAxis=x,this.coll=H,a(this,"init",{userOptions:$}),this.opposite=k($.opposite,this.opposite),this.side=k($.side,this.side,N?this.opposite?0:2:this.opposite?1:3),this.setOptions($);let R=this.options,Z=R.labels,Y=R.type;this.userOptions=$,this.minPixelPadding=0,this.reversed=k(R.reversed,this.reversed),this.visible=R.visible,this.zoomEnabled=R.zoomEnabled,this.hasNames="category"===Y||!0===R.categories,this.categories=o(R.categories)&&R.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=m(R.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=R.minRange||R.maxZoom,this.range=R.range,this.offset=R.offset||0,this.max=void 0,this.min=void 0;let he=k(R.crosshair,B(S.options.tooltip.crosshairs)[x?0:1]);this.crosshair=!0===he?{}:he,-1===S.axes.indexOf(this)&&(x?S.axes.splice(S.xAxis.length,0,this):S.axes.push(this),v(this,S[this.coll])),S.orderItems(this.coll),this.series=this.series||[],S.inverted&&!this.isZAxis&&x&&!m(this.reversed)&&(this.reversed=!0),this.labelRotation=n(Z.rotation)?Z.rotation:void 0,F(this,R),a(this,"afterInit")}setOptions(S){this.options=l(this.horiz?{labels:{autoRotation:[-45]},margin:15}:{title:{rotation:90*this.side}},j[this.coll],S),a(this,"afterSetOptions",{userOptions:S})}defaultLabelFormatter(){let Te,Oe,S=this.axis,{numberFormatter:$}=this.chart,H=n(this.value)?this.value:NaN,x=S.chart.time,N=S.categories,R=this.dateTimeLabelFormat,Z=j.lang,Y=Z.numericSymbols,he=Z.numericSymbolMagnitude||1e3,ge=S.logarithmic?Math.abs(H):S.tickInterval,_e=Y&&Y.length;if(N)Oe=`${this.value}`;else if(R)Oe=x.dateFormat(R,H);else if(_e&&Y&&ge>=1e3)for(;_e--&&void 0===Oe;)ge>=(Te=Math.pow(he,_e+1))&&10*H%Te==0&&null!==Y[_e]&&0!==H&&(Oe=$(H/Te,-1)+Y[_e]);return void 0===Oe&&(Oe=Math.abs(H)>=1e4?$(H,-1):$(H,-1,void 0,"")),Oe}getSeriesExtremes(){let S,$=this;a(this,"getSeriesExtremes",null,function(){$.hasVisibleSeries=!1,$.dataMin=$.dataMax=$.threshold=void 0,$.softThreshold=!$.isXAxis,$.series.forEach(H=>{if(H.reserveSpace()){let N,Z,Y,x=H.options,R=x.threshold;if($.hasVisibleSeries=!0,$.positiveValuesOnly&&0>=(R||0)&&(R=void 0),$.isXAxis)(N=H.xData)&&N.length&&(N=$.logarithmic?N.filter(he=>he>0):N,Z=(S=H.getXExtremes(N)).min,Y=S.max,n(Z)||Z instanceof Date||(N=N.filter(n),Z=(S=H.getXExtremes(N)).min,Y=S.max),N.length&&($.dataMin=Math.min(k($.dataMin,Z),Z),$.dataMax=Math.max(k($.dataMax,Y),Y)));else{let he=H.applyExtremes();n(he.dataMin)&&(Z=he.dataMin,$.dataMin=Math.min(k($.dataMin,Z),Z)),n(he.dataMax)&&(Y=he.dataMax,$.dataMax=Math.max(k($.dataMax,Y),Y)),m(R)&&($.threshold=R),(!x.softThreshold||$.positiveValuesOnly)&&($.softThreshold=!1)}}})}),a(this,"afterGetSeriesExtremes")}translate(S,$,H,x,N,R){let Z=this.linkedParent||this,Y=x&&Z.old?Z.old.min:Z.min;if(!n(Y))return NaN;let he=Z.minPixelPadding,ge=(Z.isOrdinal||Z.brokenAxis?.hasBreaks||Z.logarithmic&&N)&&Z.lin2val,_e=1,Te=0,Oe=x&&Z.old?Z.old.transA:Z.transA,De=0;if(Oe||(Oe=Z.transA),H&&(_e*=-1,Te=Z.len),Z.reversed&&(_e*=-1,Te-=_e*(Z.sector||Z.len)),$)De=(S=S*_e+Te-he)/Oe+Y,ge&&(De=Z.lin2val(De));else{ge&&(S=Z.val2lin(S));let Be=_e*(S-Y)*Oe;De=(Z.isRadial?Be:_(Be))+Te+_e*he+(n(R)?Oe*R:0)}return De}toPixels(S,$){return this.translate(S,!1,!this.horiz,void 0,!0)+($?0:this.pos)}toValue(S,$){return this.translate(S-($?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(S){let De,Be,oe,ee,be,$=this,H=$.chart,x=$.left,N=$.top,R=S.old,Z=S.value,Y=S.lineWidth,he=R&&H.oldChartHeight||H.chartHeight,ge=R&&H.oldChartWidth||H.chartWidth,_e=$.transB,Te=S.translatedValue,Oe=S.force;function xe(we,Ee,Me){return"pass"!==Oe&&(weMe)&&(Oe?we=I(we,Ee,Me):be=!0),we}let Ie={value:Z,lineWidth:Y,old:R,force:Oe,acrossPanes:S.acrossPanes,translatedValue:Te};return a(this,"getPlotLinePath",Ie,function(we){De=oe=Math.round((Te=I(Te=k(Te,$.translate(Z,void 0,void 0,R)),-1e5,1e5))+_e),Be=ee=Math.round(he-Te-_e),n(Te)?$.horiz?(Be=N,ee=he-$.bottom+(H.scrollablePixelsY||0),De=oe=xe(De,x,x+$.width)):(De=x,oe=ge-$.right+(H.scrollablePixelsX||0),Be=ee=xe(Be,N,N+$.height)):(be=!0,Oe=!1),we.path=be&&!Oe?void 0:H.renderer.crispLine([["M",De,Be],["L",oe,ee]],Y||1)}),Ie.path}getLinearTickPositions(S,$,H){let x,N,R,Z=_(Math.floor($/S)*S),Y=_(Math.ceil(H/S)*S),he=[];if(_(Z+S)===Z&&(R=20),this.single)return[$];for(x=Z;x<=Y&&(he.push(x),(x=_(x+S,R))!==N);)N=x;return he}getMinorTickInterval(){let{minorTicks:S,minorTickInterval:$}=this.options;return!0===S?k($,"auto"):!1!==S?$:void 0}getMinorTickPositions(){let he,S=this.options,$=this.tickPositions,H=this.minorTickInterval,x=this.pointRangePadding||0,N=(this.min||0)-x,R=(this.max||0)+x,Z=R-N,Y=[];if(Z&&Z/H(ge.xIncrement?ge.xData?.slice(0,2):ge.xData)||[]))||0),this.dataMax-this.dataMin)),n(H)&&n(x)&&n(N)&&H-x=N,R=(N-H+x)/2,Y=[x-R,k(S.min,x-R)],Z&&(Y[2]=$?$.log2lin(this.dataMin):this.dataMin),he=[(x=D(Y))+N,k(S.max,x+N)],Z&&(he[2]=$?$.log2lin(this.dataMax):this.dataMax),(H=A(he))-xx-N),S=g([H]))}return S&&$?Math.min(S,$):S||$}nameToX(S){let N,$=o(this.options.categories),H=$?this.categories:this.names,x=S.options.x;return S.series.requireSorting=!1,m(x)||(x=this.options.uniqueNames&&H?$?H.indexOf(S.name):k(H.keys[S.name],-1):S.series.autoIncrement()),-1===x?!$&&H&&(N=H.length):N=x,void 0!==N?(this.names[N]=S.name,this.names.keys[S.name]=N):S.x&&(N=S.x),N}updateNames(){let S=this,$=this.names;$.length>0&&(Object.keys($.keys).forEach(function(H){delete $.keys[H]}),$.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(H=>{H.xIncrement=null,(!H.points||H.isDirtyData)&&(S.max=Math.max(S.max,H.xData.length-1),H.processData(),H.generatePoints()),H.data.forEach(function(x,N){let R;x?.options&&void 0!==x.name&&void 0!==(R=S.nameToX(x))&&R!==x.x&&(x.x=R,H.xData[N]=R)})}))}setAxisTranslation(){let Z,ge,S=this,$=S.max-S.min,H=S.linkedParent,x=!!S.categories,N=S.isXAxis,R=S.axisPointRange||0,Y=0,he=0,_e=S.transA;(N||x||R)&&(Z=S.getClosest(),H?(Y=H.minPointOffset,he=H.pointRangePadding):S.series.forEach(function(Te){let Oe=x?1:N?k(Te.options.pointRange,Z,0):S.axisPointRange||0,De=Te.options.pointPlacement;if(R=Math.max(R,Oe),!S.single||x){let Be=Te.is("xrange")?!N:N;Y=Math.max(Y,Be&&r(De)?0:Oe/2),he=Math.max(he,Be&&"on"===De?0:Oe)}}),ge=S.ordinal&&S.ordinal.slope&&Z?S.ordinal.slope/Z:1,S.minPointOffset=Y*=ge,S.pointRangePadding=he*=ge,S.pointRange=Math.min(R,S.single&&x?1:$),N&&Z&&(S.closestPointRange=Z)),S.translationSlope=S.transA=_e=S.staticScale||S.len/($+he||1),S.transB=S.horiz?S.left:S.bottom,S.minPixelPadding=_e*Y,a(this,"afterSetAxisTranslation")}minFromRange(){let{max:S,min:$}=this;return n(S)&&n($)&&S-$||void 0}setTickInterval(S){let Me,Je,lt,qe,st,{categories:$,chart:H,dataMax:x,dataMin:N,dateTime:R,isXAxis:Z,logarithmic:Y,options:he,softThreshold:ge}=this,_e=n(this.threshold)?this.threshold:void 0,Te=this.minRange||0,{ceiling:Oe,floor:De,linkedTo:Be,softMax:oe,softMin:ee}=he,be=n(Be)&&H[this.coll]?.[Be],xe=he.tickPixelInterval,Ie=he.maxPadding,we=he.minPadding,Ee=0,Xe=n(he.tickInterval)&&he.tickInterval>=0?he.tickInterval:void 0;if(R||$||be||this.getTickAmount(),qe=k(this.userMin,he.min),st=k(this.userMax,he.max),be?(this.linkedParent=be,Me=be.getExtremes(),this.min=k(Me.min,Me.dataMin),this.max=k(Me.max,Me.dataMax),he.type!==be.options.type&&O(11,!0,H)):(ge&&m(_e)&&n(x)&&n(N)&&(N>=_e?(Je=_e,we=0):x<=_e&&(lt=_e,Ie=0)),this.min=k(qe,Je,N),this.max=k(st,lt,x)),n(this.max)&&n(this.min)&&(Y&&(this.positiveValuesOnly&&!S&&0>=Math.min(this.min,k(N,this.min))&&O(10,!0,H),this.min=_(Y.log2lin(this.min),16),this.max=_(Y.log2lin(this.max),16)),this.range&&n(N)&&(this.userMin=this.min=qe=Math.max(N,this.minFromRange()||0),this.userMax=st=this.max,this.range=void 0)),a(this,"foundExtremes"),this.adjustForMinRange(),n(this.min)&&n(this.max)){if(!n(this.userMin)&&n(ee)&&eethis.max&&(this.max=st=oe),$||this.axisPointRange||this.stacking?.usePercentage||be||!(Ee=this.max-this.min)||(!m(qe)&&we&&(this.min-=Ee*we),m(st)||!Ie||(this.max+=Ee*Ie)),!n(this.userMin)&&n(De)&&(this.min=Math.max(this.min,De)),!n(this.userMax)&&n(Oe)&&(this.max=Math.min(this.max,Oe)),ge&&n(N)&&n(x)){let pt=_e||0;!m(qe)&&this.min=pt?this.min=he.minRange?Math.min(pt,this.max-Te):pt:!m(st)&&this.max>pt&&x<=pt&&(this.max=he.minRange?Math.max(pt,this.min+Te):pt)}!H.polar&&this.min>this.max&&(m(he.min)?this.max=this.min:m(he.max)&&(this.min=this.max)),Ee=this.max-this.min}if(this.tickInterval=this.min!==this.max&&n(this.min)&&n(this.max)?be&&!Xe&&xe===be.options.tickPixelInterval?Xe=be.tickInterval:k(Xe,this.tickAmount?Ee/Math.max(this.tickAmount-1,1):void 0,$?1:Ee*xe/Math.max(this.len,xe)):1,Z&&!S){let pt=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(ht){ht.forceCrop=ht.forceCropping?.(),ht.processData(pt)}),a(this,"postProcessData",{hasExtremesChanged:pt})}this.setAxisTranslation(),a(this,"initialAxisTranslation"),this.pointRange&&!Xe&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let Tt=k(he.minTickInterval,R&&!this.series.some(pt=>pt.noSharedTooltip)?this.closestPointRange:0);!Xe&&this.tickIntervalMath.max(2*this.len,200))Y=[this.min,this.max],O(19,!1,this.chart);else if(this.dateTime)Y=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,S.units),this.min,this.max,S.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)Y=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let ge=this.tickInterval,_e=ge;for(;_e<=2*ge&&(Y=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&Y.length>this.tickAmount);)this.tickInterval=K(this,_e*=1.1)}Y.length>this.len&&(Y=[Y[0],Y[Y.length-1]])[0]===Y[1]&&(Y.length=1),H&&(this.tickPositions=Y,(he=H.apply(this,[this.min,this.max]))&&(Y=he))}this.tickPositions=Y,this.paddedTicks=Y.slice(0),this.trimTicks(Y,R,Z),!this.isLinked&&n(this.min)&&n(this.max)&&(this.single&&Y.length<2&&!this.categories&&!this.series.some(ge=>ge.is("heatmap")&&"between"===ge.options.pointPlacement)&&(this.min-=.5,this.max+=.5),$||he||this.adjustTickAmount()),a(this,"afterSetTickPositions")}trimTicks(S,$,H){let x=S[0],N=S[S.length-1],R=!this.isOrdinal&&this.minPointOffset||0;if(a(this,"trimTicks"),!this.isLinked){if($&&x!==-1/0)this.min=x;else for(;this.min-R>S[0];)S.shift();if(H)this.max=N;else for(;this.max+R{let{horiz:Te,options:Oe}=_e;return[Te?Oe.left:Oe.top,Oe.width,Oe.height,Oe.pane].join(",")},ge=he(this);H[this.coll].forEach(function(_e){let{series:Te}=_e;Te.length&&Te.some(Oe=>Oe.visible)&&_e!==$&&he(_e)===ge&&(S=!0,x.push(_e))})}if(S&&Z){x.forEach(ge=>{let _e=ge.getThresholdAlignment($);n(_e)&&Y.push(_e)});let he=Y.length>1?Y.reduce((ge,_e)=>ge+_e,0)/Y.length:void 0;x.forEach(ge=>{ge.thresholdAlignment=he})}return S}getThresholdAlignment(S){if((!n(this.dataMin)||this!==S&&this.series.some($=>$.isDirty||$.isDirtyData))&&this.getSeriesExtremes(),n(this.threshold)){let $=I((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&($=1-$),$}}getTickAmount(){let S=this.options,$=S.tickPixelInterval,H=S.tickAmount;m(S.tickInterval)||H||!(this.len<$)||this.isRadial||this.logarithmic||!S.startOnTick||!S.endOnTick||(H=2),!H&&this.alignToOthers()&&(H=Math.ceil(this.len/$)+1),H<4&&(this.finalTickAmt=H,H=5),this.tickAmount=H}adjustTickAmount(){let _e,Te,De,S=this,{finalTickAmt:$,max:H,min:x,options:N,tickPositions:R,tickAmount:Z,thresholdAlignment:Y}=S,he=R?.length,ge=k(S.threshold,S.softThreshold?0:null),Oe=S.tickInterval,Be=()=>R.push(_(R[R.length-1]+Oe)),oe=()=>R.unshift(_(R[0]-Oe));if(n(Y)&&(De=Y<.5?Math.ceil(Y*(Z-1)):Math.floor(Y*(Z-1)),N.reversed&&(De=Z-1-De)),S.hasData()&&n(x)&&n(H)){let ee=()=>{S.transA*=(he-1)/(Z-1),S.min=N.startOnTick?R[0]:Math.min(x,R[0]),S.max=N.endOnTick?R[R.length-1]:Math.max(H,R[R.length-1])};if(n(De)&&n(S.threshold)){for(;R[De]!==ge||R.length!==Z||R[0]>x||R[R.length-1]S.threshold?oe():Be();if(Oe>8*S.tickInterval)break;Oe*=2}ee()}else if(he0&&Te<_e-1)&&R.splice(Te,1);S.finalTickAmt=void 0}}}setScale(){let{coll:S,stacking:$}=this,H=!1,x=!1;this.series.forEach(R=>{H=H||R.isDirtyData||R.isDirty,x=x||R.xAxis&&R.xAxis.isDirty||!1}),this.setAxisSize();let N=this.len!==(this.old&&this.old.len);N||H||x||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?($&&"yAxis"===S&&$.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),$&&"xAxis"===S&&$.buildStacks(),this.isDirty||(this.isDirty=N||this.min!==this.old?.min||this.max!==this.old?.max)):$&&$.cleanStacks(),H&&delete this.allExtremes,a(this,"afterSetScale")}setExtremes(S,$,H=!0,x,N){this.series.forEach(R=>{delete R.kdTree}),a(this,"setExtremes",N=f(N,{min:S,max:$}),R=>{this.userMin=R.min,this.userMax=R.max,this.eventArgs=R,H&&this.chart.redraw(x)})}setAxisSize(){let S=this.chart,$=this.options,H=$.offsets||[0,0,0,0],x=this.horiz,N=this.width=Math.round(p(k($.width,S.plotWidth-H[3]+H[1]),S.plotWidth)),R=this.height=Math.round(p(k($.height,S.plotHeight-H[0]+H[2]),S.plotHeight)),Z=this.top=Math.round(p(k($.top,S.plotTop+H[0]),S.plotHeight,S.plotTop)),Y=this.left=Math.round(p(k($.left,S.plotLeft+H[3]),S.plotWidth,S.plotLeft));this.bottom=S.chartHeight-R-Z,this.right=S.chartWidth-N-Y,this.len=Math.max(x?N:R,0),this.pos=x?Y:Z}getExtremes(){let S=this.logarithmic;return{min:S?_(S.lin2log(this.min)):this.min,max:S?_(S.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(S){let $=this.logarithmic,H=$?$.lin2log(this.min):this.min,x=$?$.lin2log(this.max):this.max;return null===S||S===-1/0?S=H:S===1/0?S=x:H>S?S=H:x15&&$<165?x.align="right":$>195&&$<345&&(x.align="left")}),H.align}tickSize(S){let N,$=this.options,H=k($["tick"===S?"tickWidth":"minorTickWidth"],"tick"===S&&this.isXAxis&&!this.categories?1:0),x=$["tick"===S?"tickLength":"minorTickLength"];H&&x&&("inside"===$[S+"Position"]&&(x=-x),N=[x,H]);let R={tickSize:N};return a(this,"afterTickSize",R),R.tickSize}labelMetrics(){let S=this.chart.renderer,$=this.ticks,H=$[Object.keys($)[0]]||{};return this.chart.renderer.fontMetrics(H.label||H.movedLabel||S.box)}unsquish(){let ge,Te,S=this.options.labels,$=this.horiz,H=this.tickInterval,x=this.len/(((this.categories?1:0)+this.max-this.min)/H),N=S.rotation,R=this.labelMetrics().h,Z=Math.max(this.max-this.min,0),Y=function(Oe){let De=Oe/(x||1);return(De=De>1?Math.ceil(De):1)*H>Z&&Oe!==1/0&&x!==1/0&&Z&&(De=Math.ceil(Z/H)),_(De*H)},he=H,_e=Number.MAX_VALUE;if($){if(!S.staggerLines&&(n(N)?Te=[N]:x=-90&&Be<=90)&&(De=(Oe=Y(Math.abs(R/Math.sin(P*Be))))+Math.abs(Be/360))<_e&&(_e=De,ge=Be,he=Oe)}}else he=Y(.75*R);return this.autoRotation=Te,this.labelRotation=k(ge,n(N)?N:0),S.step?H:he}getSlotWidth(S){let $=this.chart,H=this.horiz,x=this.options.labels,N=Math.max(this.tickPositions.length-(this.categories?0:1),1),R=$.margin[3];if(S&&n(S.slotWidth))return S.slotWidth;if(H&&x.step<2)return x.rotation?0:(this.staggerLines||1)*this.len/N;if(!H){let Z=x.style.width;if(void 0!==Z)return parseInt(String(Z),10);if(R)return R-$.spacing[3]}return.33*$.chartWidth}renderUnsquish(){let Oe,De,oe,ee,S=this.chart,$=S.renderer,H=this.tickPositions,x=this.ticks,N=this.options.labels,R=N.style,Z=this.horiz,Y=this.getSlotWidth(),he=Math.max(1,Math.round(Y-2*N.padding)),ge={},_e=this.labelMetrics(),Te=R.textOverflow,Be=0;if(r(N.rotation)||(ge.rotation=N.rotation||0),H.forEach(function(be){let xe=x[be];xe.movedLabel&&xe.replaceMovedLabel(),xe&&xe.label&&xe.label.textPxLength>Be&&(Be=xe.label.textPxLength)}),this.maxLabelLength=Be,this.autoRotation)Be>he&&Be>_e.h?ge.rotation=this.labelRotation:this.labelRotation=0;else if(Y&&(Oe=he,!Te))for(De="clip",ee=H.length;!Z&&ee--;)(oe=x[H[ee]].label)&&("ellipsis"===oe.styles.textOverflow?oe.css({textOverflow:"clip"}):oe.textPxLength>Y&&oe.css({width:Y+"px"}),oe.getBBox().height>this.len/H.length-(_e.h-_e.f)&&(oe.specificTextOverflow="ellipsis"));ge.rotation&&(Oe=Be>.5*S.chartHeight?.33*S.chartHeight:Be,Te||(De="ellipsis")),this.labelAlign=N.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(ge.align=this.labelAlign),H.forEach(function(be){let xe=x[be],Ie=xe&&xe.label,we=R.width,Ee={};Ie&&(Ie.attr(ge),xe.shortenLabel?xe.shortenLabel():Oe&&!we&&"nowrap"!==R.whiteSpace&&(OeN.g(Z).attr({zIndex:he}).addClass(`highcharts-${H.toLowerCase()}${Y} `+(this.isRadial?`highcharts-radial-axis${Y} `:"")+(x.className||"")).add(S);this.axisGroup||(this.gridGroup=R("grid","-grid",x.gridZIndex),this.axisGroup=R("axis","",x.zIndex),this.labelGroup=R("axis-labels","-labels",x.labels.zIndex))}getOffset(){let ee,xe,Ee,Me,S=this,{chart:$,horiz:H,options:x,side:N,ticks:R,tickPositions:Z,coll:Y}=S,he=$.inverted&&!S.isZAxis?[1,0,3,2][N]:N,ge=S.hasData(),_e=x.title,Te=x.labels,Oe=n(x.crossing),De=$.axisOffset,Be=$.clipOffset,oe=[-1,1,1,-1][N],be=0,Ie=0,we=0;if(S.showAxis=ee=ge||x.showEmpty,S.staggerLines=S.horiz&&Te.staggerLines||void 0,S.createGroups(),ge||S.isLinked?(Z.forEach(function(Xe){S.generateTick(Xe)}),S.renderUnsquish(),S.reserveSpaceDefault=0===N||2===N||{1:"left",3:"right"}[N]===S.labelAlign,k(Te.reserveSpace,!Oe&&null,"center"===S.labelAlign||null,S.reserveSpaceDefault)&&Z.forEach(function(Xe){we=Math.max(R[Xe].getLabelSize(),we)}),S.staggerLines&&(we*=S.staggerLines),S.labelOffset=we*(S.opposite?-1:1)):C(R,function(Xe,Je){Xe.destroy(),delete R[Je]}),_e?.text&&!1!==_e.enabled&&(S.addTitle(ee),ee&&!Oe&&!1!==_e.reserveSpace&&(S.titleOffset=be=S.axisTitle.getBBox()[H?"height":"width"],Ie=m(xe=_e.offset)?0:k(_e.margin,H?5:10))),S.renderLine(),S.offset=oe*k(x.offset,De[N]?De[N]+(x.margin||0):0),S.tickRotCorr=S.tickRotCorr||{x:0,y:0},Me=0===N?-S.labelMetrics().h:2===N?S.tickRotCorr.y:0,Ee=Math.abs(we)+Ie,we&&(Ee-=Me,Ee+=oe*(H?k(Te.y,S.tickRotCorr.y+oe*Te.distance):k(Te.x,oe*Te.distance))),S.axisTitleMargin=k(xe,Ee),S.getMaxLabelDimensions&&(S.maxLabelDimensions=S.getMaxLabelDimensions(R,Z)),"colorAxis"!==Y){let Xe=this.tickSize("tick");De[N]=Math.max(De[N],(S.axisTitleMargin||0)+be+oe*S.offset,Ee,Z&&Z.length&&Xe?Xe[0]+oe*S.offset:0);let Je=!S.axisLine||x.offset?0:2*Math.floor(S.axisLine.strokeWidth()/2);Be[he]=Math.max(Be[he],Je)}a(this,"afterGetOffset")}getLinePath(S){let $=this.chart,H=this.opposite,x=this.offset,N=this.horiz,R=this.left+(H?this.width:0)+x,Z=$.chartHeight-this.bottom-(H?this.height:0)+x;return H&&(S*=-1),$.renderer.crispLine([["M",N?this.left:R,N?Z:this.top],["L",N?$.chartWidth-this.right:R,N?Z:$.chartHeight-this.bottom]],S)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(S){let $=this.horiz,H=this.left,x=this.top,N=this.len,R=this.options.title,Z=$?H:x,Y=this.opposite,he=this.offset,ge=R.x,_e=R.y,Te=this.chart.renderer.fontMetrics(S),Oe=S?Math.max(S.getBBox(!1,0).height-Te.h-1,0):0,De={low:Z+($?0:N),middle:Z+N/2,high:Z+($?N:0)}[R.align],Be=($?x+this.height:H)+($?1:-1)*(Y?-1:1)*(this.axisTitleMargin||0)+[-Oe,Oe,Te.f,-Oe][this.side],oe={x:$?De+ge:Be+(Y?this.width:0)+he+ge,y:$?Be+_e-(Y?this.height:0)+he:De+_e};return a(this,"afterGetTitlePosition",{titlePosition:oe}),oe}renderMinorTick(S,$){let H=this.minorTicks;H[S]||(H[S]=new ue(this,S,"minor")),$&&H[S].isNew&&H[S].render(null,!0),H[S].render(null,!1,1)}renderTick(S,$,H){let N=this.ticks;(!this.isLinked||S>=this.min&&S<=this.max||this.grid&&this.grid.isColumn)&&(N[S]||(N[S]=new ue(this,S)),H&&N[S].isNew&&N[S].render($,!0,-1),N[S].render($))}render(){let S,$,H=this,x=H.chart,N=H.logarithmic,Z=H.options,Y=H.isLinked,he=H.tickPositions,ge=H.axisTitle,_e=H.ticks,Te=H.minorTicks,Oe=H.alternateBands,De=Z.stackLabels,Be=Z.alternateGridColor,oe=Z.crossing,ee=H.tickmarkOffset,be=H.axisLine,xe=H.showAxis,Ie=te(x.renderer.globalAnimation);if(H.labelEdge.length=0,H.overlap=!1,[_e,Te,Oe].forEach(function(we){C(we,function(Ee){Ee.isActive=!1})}),n(oe)){let we=this.isXAxis?x.yAxis[0]:x.xAxis[0],Ee=[1,-1,-1,1][this.side];if(we){let Me=we.toPixels(oe,!0);H.horiz&&(Me=we.len-Me),H.offset=Ee*Me}}if(H.hasData()||Y){let we=H.chart.hasRendered&&H.old&&n(H.old.min);H.minorTickInterval&&!H.categories&&H.getMinorTickPositions().forEach(function(Ee){H.renderMinorTick(Ee,we)}),he.length&&(he.forEach(function(Ee,Me){H.renderTick(Ee,Me,we)}),ee&&(0===H.min||H.single)&&(_e[-1]||(_e[-1]=new ue(H,-1,null,!0)),_e[-1].render(-1))),Be&&he.forEach(function(Ee,Me){$=void 0!==he[Me+1]?he[Me+1]+ee:H.max-ee,Me%2==0&&Ee=.5)E=Math.round(E),_=D.getLinearTickPositions(E,j,F);else if(E>=.08){let m,w,G,O,f,a,g;for(m=E>.3?[1,2,4]:E>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],w=Math.floor(j);wj&&(!P||a<=F)&&void 0!==a&&_.push(a),a>F&&(g=!0),a=f}else{let m=this.lin2log(j),w=this.lin2log(F),G=P?D.getMinorTickInterval():I.tickInterval;E=ve(E=le("auto"===G?null:G,this.minorAutoInterval,I.tickPixelInterval/(P?5:1)*(w-m)/((P?A/D.tickPositions.length:A)||1))),_=D.getLinearTickPositions(E,m,w).map(this.log2lin),P||(this.minorAutoInterval=E/5)}return P||(D.tickInterval=E),_}lin2log(E){return Math.pow(10,E)}log2lin(E){return Math.log(E)/Math.LN10}}pe.Additions=te}(ne||(ne={})),ne}),Le(V,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[V["Core/Utilities.js"]],function(q){var ne;let{erase:re,extend:ve,isNumber:le}=q;return function(pe){let ue;function J(D){return this.addPlotBandOrLine(D,"plotBands")}function te(D,A){let I=this.userOptions,_=new ue(this,D);if(this.visible&&(_=_.render()),_){if(this._addedPlotLB||(this._addedPlotLB=!0,(I.plotLines||[]).concat(I.plotBands||[]).forEach(m=>{this.addPlotBandOrLine(m)})),A){let m=I[A]||[];m.push(D),I[A]=m}this.plotLinesAndBands.push(_)}return _}function X(D){return this.addPlotBandOrLine(D,"plotLines")}function E(D,A,I){let f,g,_=this.getPlotLinePath({value:A,force:!0,acrossPanes:(I=I||this.options).acrossPanes}),m=[],w=this.horiz,G=!le(this.min)||!le(this.max)||Dthis.max&&A>this.max,O=this.getPlotLinePath({value:D,force:!0,acrossPanes:I.acrossPanes}),a=1;if(O&&_)for(G&&(g=O.toString()===_.toString(),a=0),f=0;f{r?.on(K,U=>{m[K].apply(this,[U])})}),this.eventsAdded=!0),!p&&r.d||!l?.length?r&&(l?(r.show(),r.animate({d:l})):r.d&&(r.hide(),n&&(this.label=n=n.destroy()))):r.attr({d:l}),o&&(le(o.text)||le(o.formatter))&&l?.length&&P.width>0&&P.height>0&&!l.isFlat?(o=te({align:A&&C&&"center",x:A?!C&&4:10,verticalAlign:!A&&C&&"middle",y:A?C?16:10:C?6:-4,rotation:A&&!C&&90},o),this.renderLabel(o,l,C,w)):n&&n.hide(),this}renderLabel(P,D,A,I){let _=this.axis,w=this.label;w||(this.label=w=_.chart.renderer.text(this.getLabelText(P),0,0,P.useHTML).attr({align:P.textAlign||P.align,rotation:P.rotation,class:"highcharts-plot-"+(A?"band":"line")+"-label"+(P.className||""),zIndex:I}),_.chart.styledMode||w.css(te({fontSize:"0.8em",textOverflow:"ellipsis"},P.style)),w.add());let G=D.xBounds||[D[0][1],D[1][1],A?D[2][1]:D[0][1]],O=D.yBounds||[D[0][2],D[1][2],A?D[2][2]:D[0][2]],f=ve(G),a=ve(O);w.align(P,!1,{x:f,y:a,width:re(G)-f,height:re(O)-a}),w.alignValue&&"left"!==w.alignValue||w.css({width:(90===w.rotation?_.height-(w.alignAttr.y-_.top):(P.clip?_.width:_.chart.chartWidth)-(w.alignAttr.x-_.left))+"px"}),w.show(!0)}getLabelText(P){return le(P.formatter)?P.formatter.call(this):P.text}destroy(){ue(this.axis.plotLinesAndBands,this),delete this.axis,pe(this)}}return j}),Le(V,"Core/Tooltip.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{format:ue}=q,{composed:J,doc:te,isSafari:X}=ne,{distribute:E}=re,{addEvent:j,clamp:F,css:P,discardElement:D,extend:A,fireEvent:I,isArray:_,isNumber:m,isString:w,merge:G,pick:O,pushUnique:f,splat:a,syncTimeout:g}=le;class v{constructor(n,r,l){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=n,this.init(n,r),this.pointer=l}bodyFormatter(n){return n.map(function(r){let l=r.series.tooltipOptions;return(l[(r.point.formatPrefix||"point")+"Formatter"]||r.point.tooltipFormatter).call(r.point,l[(r.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(n){this.chart.series.forEach(function(r){let l=r&&r.tt;l&&(!l.isActive||n?r.tt=l.destroy():l.isActive=!1)})}defaultFormatter(n){let r,l=this.points||a(this);return(r=(r=[n.tooltipFooterHeaderFormatter(l[0])]).concat(n.bodyFormatter(l))).push(n.tooltipFooterHeaderFormatter(l[0],!0)),r}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),D(this.container)),le.clearTimeout(this.hideTimer),le.clearTimeout(this.tooltipTimeout)}getAnchor(n,r){let l,{chart:d,pointer:C}=this,k=d.inverted,p=d.plotTop,T=d.plotLeft;if((n=a(n))[0].series&&n[0].series.yAxis&&!n[0].series.yAxis.options.reversedStacks&&(n=n.slice().reverse()),this.followPointer&&r)void 0===r.chartX&&(r=C.normalize(r)),l=[r.chartX-T,r.chartY-p];else if(n[0].tooltipPos)l=n[0].tooltipPos;else{let B=0,z=0;n.forEach(function(K){let U=K.pos(!0);U&&(B+=U[0],z+=U[1])}),B/=n.length,z/=n.length,this.shared&&n.length>1&&r&&(k?B=r.chartX:z=r.chartY),l=[B-T,z-p]}return l.map(Math.round)}getClassName(n,r,l){let C=n.series,k=C.options;return[this.options.className,"highcharts-label",l&&"highcharts-tooltip-header",r?"highcharts-tooltip-box":"highcharts-tooltip",!l&&"highcharts-color-"+O(n.colorIndex,C.colorIndex),k&&k.className].filter(w).join(" ")}getLabel(){let n=this,r=this.chart.styledMode,l=this.options,d=this.split&&this.allowShared,C=this.container,k=this.chart.renderer;if(this.label){let p=!this.label.hasClass("highcharts-label");(!d&&p||d&&!p)&&this.destroy()}if(!this.label){if(this.outside){let p=this.chart.options.chart.style,T=ve.getRendererType();this.container=C=ne.doc.createElement("div"),C.className="highcharts-tooltip-container",P(C,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(p&&p.zIndex||0)+3)}),this.renderer=k=new T(C,0,0,p,void 0,void 0,k.styledMode)}if(d?this.label=k.g("tooltip"):(this.label=k.label("",0,0,l.shape,void 0,void 0,l.useHTML,void 0,"tooltip").attr({padding:l.padding,r:l.borderRadius}),r||this.label.attr({fill:l.backgroundColor,"stroke-width":l.borderWidth||0}).css(l.style).css({pointerEvents:l.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),n.outside){let p=this.label,{xSetter:T,ySetter:B}=p;p.xSetter=function(z){T.call(p,n.distance),C&&(C.style.left=z+"px")},p.ySetter=function(z){B.call(p,n.distance),C&&(C.style.top=z+"px")}}this.label.attr({zIndex:8}).shadow(l.shadow).add()}return C&&!C.parentElement&&ne.doc.body.appendChild(C),this.label}getPlayingField(){let{body:n,documentElement:r}=te,{chart:l,distance:d,outside:C}=this;return{width:C?Math.max(n.scrollWidth,r.scrollWidth,n.offsetWidth,r.offsetWidth,r.clientWidth)-2*d:l.chartWidth,height:C?Math.max(n.scrollHeight,r.scrollHeight,n.offsetHeight,r.offsetHeight,r.clientHeight):l.chartHeight}}getPosition(n,r,l){let _e,{distance:d,chart:C,outside:k,pointer:p}=this,{inverted:T,plotLeft:B,plotTop:z,polar:K}=C,{plotX:U=0,plotY:se=0}=l,S={},$=T&&l.h||0,{height:H,width:x}=this.getPlayingField(),N=p.getChartPosition(),R=be=>be*N.scaleX,Z=be=>be*N.scaleY,Y=be=>{let xe="x"===be;return[be,xe?x:H,xe?n:r].concat(k?[xe?R(n):Z(r),xe?N.left-d+R(U+B):N.top-d+Z(se+z),0,xe?x:H]:[xe?n:r,xe?U+B:se+z,xe?B:z,xe?B+C.plotWidth:z+C.plotHeight])},he=Y("y"),ge=Y("x"),Te=!!l.negative;!K&&C.hoverSeries?.yAxis?.reversed&&(Te=!Te);let Oe=!this.followPointer&&O(l.ttBelow,!K&&!T===Te),De=function(be,xe,Ie,we,Ee,Me,Xe){let Je=k?"y"===be?Z(d):R(d):d,lt=(Ie-we)/2,qe=wexe?pt:pt+$)}},Be=function(be,xe,Ie,we,Ee){if(Eexe-d)return!1;S[be]=Eexe-we/2?xe-we-2:Ee-Ie/2},oe=function(be){[he,ge]=[ge,he],_e=be},ee=()=>{!1!==De.apply(0,he)?!1!==Be.apply(0,ge)||_e||(oe(!0),ee()):_e?S.x=S.y=0:(oe(!0),ee())};return(T&&!K||this.len>1)&&oe(),ee(),S}hide(n){let r=this;le.clearTimeout(this.hideTimer),n=O(n,this.options.hideDelay),this.isHidden||(this.hideTimer=g(function(){let l=r.getLabel();r.getLabel().animate({opacity:0},{duration:n&&150,complete:()=>{l.hide(),r.container&&r.container.remove()}}),r.isHidden=!0},n))}init(n,r){this.chart=n,this.options=r,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=r.split&&!n.inverted&&!n.polar,this.shared=r.shared||this.split,this.outside=O(r.outside,!(!n.scrollablePixelsX&&!n.scrollablePixelsY))}shouldStickOnContact(n){return!(this.followPointer||!this.options.stickOnContact||n&&!this.pointer.inClass(n.target,"highcharts-tooltip"))}move(n,r,l,d){let C=this,k=C.now,p=!1!==C.options.animation&&!C.isHidden&&(Math.abs(n-k.x)>1||Math.abs(r-k.y)>1),T=C.followPointer||C.len>1;A(k,{x:p?(2*k.x+n)/3:n,y:p?(k.y+r)/2:r,anchorX:T?void 0:p?(2*k.anchorX+l)/3:l,anchorY:T?void 0:p?(k.anchorY+d)/2:d}),C.getLabel().attr(k),C.drawTracker(),p&&(le.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){C&&C.move(n,r,l,d)},32))}refresh(n,r){let{chart:l,options:d,pointer:C,shared:k}=this,p=a(n),T=p[0],B=[],z=d.format,K=d.formatter||this.defaultFormatter,U=l.styledMode,se={};if(!d.enabled||!T.series)return;le.clearTimeout(this.hideTimer),this.allowShared=!(!_(n)&&n.series&&n.series.noSharedTooltip),this.followPointer=!this.split&&T.series.tooltipOptions.followPointer;let S=this.getAnchor(n,r),$=S[0],H=S[1];k&&this.allowShared?(C.applyInactiveState(p),p.forEach(function(R){R.setState("hover"),B.push(R.getLabelConfig())}),(se=T.getLabelConfig()).points=B):se=T.getLabelConfig(),this.len=B.length;let x=w(z)?ue(z,se,l):K.call(se,this),N=T.series;if(this.distance=O(N.tooltipOptions.distance,16),!1===x)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(x,p);else{let R=$,Z=H;if(r&&C.isDirectTouch&&(R=r.chartX-l.plotLeft,Z=r.chartY-l.plotTop),!l.polar&&!1!==N.options.clip&&!p.some(Y=>C.isDirectTouch||Y.series.shouldShowTooltip(R,Z)))return void this.hide();{let Y=this.getLabel();(!d.style.width||U)&&Y.css({width:(this.outside?this.getPlayingField():l.spacingBox).width+"px"}),Y.attr({text:x&&x.join?x.join(""):x}),Y.addClass(this.getClassName(T),!0),U||Y.attr({stroke:d.borderColor||T.color||N.color||"#666666"}),this.updatePosition({plotX:$,plotY:H,negative:T.negative,ttBelow:T.ttBelow,h:S[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}I(this,"refresh")}renderSplit(n,r){let l=this,{chart:d,chart:{chartWidth:C,chartHeight:k,plotHeight:p,plotLeft:T,plotTop:B,scrollablePixelsY:z=0,scrollablePixelsX:K,styledMode:U},distance:se,options:S,options:{positioner:$},pointer:H}=l,{scrollLeft:x=0,scrollTop:N=0}=d.scrollablePlotArea?.scrollingContainer||{},R=l.outside&&"number"!=typeof K?te.documentElement.getBoundingClientRect():{left:x,right:x+C,top:N,bottom:N+k},Z=l.getLabel(),Y=this.renderer||d.renderer,he=!(!d.xAxis[0]||!d.xAxis[0].opposite),{left:ge,top:_e}=H.getChartPosition(),Te=B+N,Oe=0,De=p-z;function Be(we,Ee,Me,Xe,Je=!0){let lt,qe;return Me?(lt=he?0:De,qe=F(we-Xe/2,R.left,R.right-Xe-(l.outside?ge:0))):(lt=Ee-Te,qe=F(qe=Je?we-Xe-se:we+se,Je?qe:R.left,R.right)),{x:qe,y:lt}}w(n)&&(n=[!1,n]);let oe=n.slice(0,r.length+1).reduce(function(we,Ee,Me){if(!1!==Ee&&""!==Ee){let Xe=r[Me-1]||{isHeader:!0,plotX:r[0].plotX,plotY:p,series:{}},Je=Xe.isHeader,lt=Je?l:Xe.series,qe=lt.tt=function(Pt,Gt,ti){let Dt=Pt,{isHeader:It,series:xt}=Gt;if(!Dt){let wt={padding:S.padding,r:S.borderRadius};U||(wt.fill=S.backgroundColor,wt["stroke-width"]=S.borderWidth??1),Dt=Y.label("",0,0,S[It?"headerShape":"shape"],void 0,void 0,S.useHTML).addClass(l.getClassName(Gt,!0,It)).attr(wt).add(Z)}return Dt.isActive=!0,Dt.attr({text:ti}),U||Dt.css(S.style).attr({stroke:S.borderColor||Gt.color||xt.color||"#333333"}),Dt}(lt.tt,Xe,Ee.toString()),st=qe.getBBox(),Tt=st.width+qe.strokeWidth();Je&&(Oe=st.height,De+=Oe,he&&(Te-=Oe));let{anchorX:pt,anchorY:ht}=function(Pt){let Gt,ti,{isHeader:Dt,plotX:It=0,plotY:xt=0,series:wt}=Pt;if(Dt)Gt=Math.max(T+It,T),ti=B+p/2;else{let{xAxis:Qt,yAxis:di}=wt;Gt=Qt.pos+F(It,-se,Qt.len+se),wt.shouldShowTooltip(0,di.pos-B+xt,{ignoreX:!0})&&(ti=di.pos+xt)}return{anchorX:Gt=F(Gt,R.left-se,R.right+se),anchorY:ti}}(Xe);if("number"==typeof ht){let Pt=st.height+1,Gt=$?$.call(l,Tt,Pt,Xe):Be(pt,ht,Je,Tt);we.push({align:$?0:void 0,anchorX:pt,anchorY:ht,boxWidth:Tt,point:Xe,rank:O(Gt.rank,Je?1:0),size:Pt,target:Gt.y,tt:qe,x:Gt.x})}else qe.isActive=!1}return we},[]);!$&&oe.some(we=>{let{outside:Ee}=l,Me=(Ee?ge:0)+we.anchorX;return MeMe})&&(oe=oe.map(we=>{let{x:Ee,y:Me}=Be(we.anchorX,we.anchorY,we.point.isHeader,we.boxWidth,!1);return A(we,{target:Me,x:Ee})})),l.cleanSplit(),E(oe,De);let ee={left:ge,right:ge};oe.forEach(function(we){let{x:Ee,boxWidth:Me,isHeader:Xe}=we;!Xe&&(l.outside&&ge+Eeee.right&&(ee.right=ge+Ee))}),oe.forEach(function(we){let{x:Ee,anchorX:Me,anchorY:Xe,pos:Je,point:{isHeader:lt}}=we,qe={visibility:void 0===Je?"hidden":"inherit",x:Ee,y:(Je||0)+Te,anchorX:Me,anchorY:Xe};if(l.outside&&Ee0&&(lt||(qe.x=Ee+st,qe.anchorX=Me+st),lt&&(qe.x=(ee.right-ee.left)/2,qe.anchorX=Me+st))}we.tt.attr(qe)});let{container:be,outside:xe,renderer:Ie}=l;if(xe&&be&&Ie){let{width:we,height:Ee,x:Me,y:Xe}=Z.getBBox();Ie.setSize(we+Me,Ee+Xe,!1),be.style.left=ee.left+"px",be.style.top=_e+"px"}X&&Z.attr({opacity:1===Z.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact())return void(this.tracker&&(this.tracker=this.tracker.destroy()));let n=this.chart,r=this.label,l=this.shared?n.hoverPoints:n.hoverPoint;if(!r||!l)return;let d={x:0,y:0,width:0,height:0},C=this.getAnchor(l),k=r.getBBox();C[0]+=n.plotLeft-(r.translateX||0),C[1]+=n.plotTop-(r.translateY||0),d.x=Math.min(0,C[0]),d.y=Math.min(0,C[1]),d.width=C[0]<0?Math.max(Math.abs(C[0]),k.width-C[0]):Math.max(Math.abs(C[0]),k.width),d.height=C[1]<0?Math.max(Math.abs(C[1]),k.height-Math.abs(C[1])):Math.max(Math.abs(C[1]),k.height),this.tracker?this.tracker.attr(d):(this.tracker=r.renderer.rect(d).addClass("highcharts-tracker").add(r),n.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(n){return n.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(n,r){let l=n.series,d=l.tooltipOptions,C=l.xAxis,k=C&&C.dateTime,p={isFooter:r,labelConfig:n},T=d.xDateFormat,B=d[r?"footerFormat":"headerFormat"];return I(this,"headerFormatter",p,function(z){k&&!T&&m(n.key)&&(T=k.getXDateFormat(n.key,d.dateTimeLabelFormats)),k&&T&&(n.point&&n.point.tooltipDateKeys||["key"]).forEach(function(K){B=B.replace("{point."+K+"}","{point."+K+":"+T+"}")}),l.chart.styledMode&&(B=this.styledModeFormat(B)),z.text=ue(B,{point:n,series:l},this.chart)}),p.text}update(n){this.destroy(),this.init(this.chart,G(!0,this.options,n))}updatePosition(n){let x,{chart:r,container:l,distance:d,options:C,pointer:k,renderer:p}=this,{height:T=0,width:B=0}=this.getLabel(),{left:z,top:K,scaleX:U,scaleY:se}=k.getChartPosition(),S=(C.positioner||this.getPosition).call(this,B,T,n),$=(n.plotX||0)+r.plotLeft,H=(n.plotY||0)+r.plotTop;p&&l&&(C.positioner&&(S.x+=z-d,S.y+=K-d),x=(C.borderWidth||0)+2*d+2,p.setSize(B+x,T+x,!1),(1!==U||1!==se)&&(P(l,{transform:`scale(${U}, ${se})`}),$*=U,H*=se),$+=z-S.x,H+=K-S.y),this.move(Math.round(S.x),Math.round(S.y||0),$,H)}}return(pe=v||(v={})).compose=function(o){f(J,"Core.Tooltip")&&j(o,"afterInit",function(){let n=this.chart;n.options.tooltip&&(n.tooltip=new pe(n,n.options.tooltip,this))})},v}),Le(V,"Core/Series/Point.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{animObject:pe}=ne,{defaultOptions:ue}=re,{format:J}=ve,{addEvent:te,erase:X,extend:E,fireEvent:j,getNestedProperty:F,isArray:P,isFunction:D,isNumber:A,isObject:I,pick:_,syncTimeout:m,removeEvent:w,uniqueKey:G}=le;class O{animateBeforeDestroy(){let a=this,g={x:a.startXPos,opacity:0},v=a.getGraphicalProps();v.singular.forEach(function(o){a[o]=a[o].animate("dataLabel"===o?{x:a[o].startXPos,y:a[o].startYPos,opacity:0}:g)}),v.plural.forEach(function(o){a[o].forEach(function(n){n.element&&n.animate(E({x:a.startXPos},n.startYPos?{x:n.startXPos,y:n.startYPos}:{}))})})}applyOptions(a,g){let v=this.series,o=v.options.pointValKey||v.pointValKey;return E(this,a=O.prototype.optionsToObject.call(this,a)),this.options=this.options?E(this.options,a):a,a.group&&delete this.group,a.dataLabels&&delete this.dataLabels,o&&(this.y=O.prototype.getNestedProperty.call(this,o)),this.selected&&(this.state="select"),"name"in this&&void 0===g&&v.xAxis&&v.xAxis.hasNames&&(this.x=v.xAxis.nameToX(this)),void 0===this.x&&v?this.x=void 0===g?v.autoIncrement():g:A(a.x)&&v.options.relativeXValue&&(this.x=v.autoIncrement(a.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let a=this,g=a.series,v=g.chart,o=g.options.dataSorting,n=v.hoverPoints,r=pe(a.series.chart.renderer.globalAnimation),l=()=>{for(let d in(a.graphic||a.graphics||a.dataLabel||a.dataLabels)&&(w(a),a.destroyElements()),a)delete a[d]};a.legendItem&&v.legend.destroyItem(a),n&&(a.setState(),X(n,a),n.length||(v.hoverPoints=null)),a===v.hoverPoint&&a.onMouseOut(),o&&o.enabled?(this.animateBeforeDestroy(),m(l,r.duration)):l(),v.pointCount--}this.destroyed=!0}destroyElements(a){let g=this,v=g.getGraphicalProps(a);v.singular.forEach(function(o){g[o]=g[o].destroy()}),v.plural.forEach(function(o){g[o].forEach(function(n){n&&n.element&&n.destroy()}),delete g[o]})}firePointEvent(a,g,v){let o=this,n=this.series.options;o.manageEvent(a),"click"===a&&n.allowPointSelect&&(v=function(r){!o.destroyed&&o.select&&o.select(null,r.ctrlKey||r.metaKey||r.shiftKey)}),j(o,a,g,v)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(a){let g,v,o=this,n=[],r={singular:[],plural:[]};for((a=a||{graphic:1,dataLabel:1}).graphic&&n.push("graphic","connector"),a.dataLabel&&n.push("dataLabel","dataLabelPath","dataLabelUpper"),v=n.length;v--;)o[g=n[v]]&&r.singular.push(g);return["graphic","dataLabel"].forEach(function(l){let d=l+"s";a[l]&&o[d]&&r.plural.push(d)}),r}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(a){return a?0===a.indexOf("custom.")?F(a,this.options):this[a]:void 0}getZone(){let o,a=this.series,g=a.zones,v=a.zoneAxis||"y",n=0;for(o=g[0];this[v]>=o.value;)o=g[++n];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=o&&o.color&&!this.options.color?o.color:this.nonZonedColor,o}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(a,g,v){this.formatPrefix="point",this.visible=!0,this.series=a,this.applyOptions(g,v),this.id??(this.id=G()),this.resolveColor(),a.chart.pointCount++,j(this,"afterInit")}isValid(){return(A(this.x)||this.x instanceof Date)&&A(this.y)}optionsToObject(a){let l,g=this.series,v=g.options.keys,o=v||g.pointArrayMap||["y"],n=o.length,r={},d=0,C=0;if(A(a)||null===a)r[o[0]]=a;else if(P(a))for(!v&&a.length>n&&("string"==(l=typeof a[0])?r.name=a[0]:"number"===l&&(r.x=a[0]),d++);C0?O.prototype.setNestedProperty(r,a[d],o[C]):r[o[C]]=a[d]),d++,C++;else"object"==typeof a&&(r=a,a.dataLabels&&(g.hasDataLabels=()=>!0),a.marker&&(g._hasPointMarkers=!0));return r}pos(a,g=this.plotY){if(!this.destroyed){let{plotX:v,series:o}=this,{chart:n,xAxis:r,yAxis:l}=o,d=0,C=0;if(A(v)&&A(g))return a&&(d=r?r.pos:n.plotLeft,C=l?l.pos:n.plotTop),n.inverted&&r&&l?[l.len-g+C,r.len-v+d]:[v+d,g+C]}}resolveColor(){let o,n,l,a=this.series,v=a.chart.styledMode,r=a.chart.options.chart.colorCount;delete this.nonZonedColor,a.options.colorByPoint?(v||(o=(n=a.options.colors||a.chart.options.colors)[a.colorCounter],r=n.length),l=a.colorCounter,a.colorCounter++,a.colorCounter===r&&(a.colorCounter=0)):(v||(o=a.color),l=a.colorIndex),this.colorIndex=_(this.options.colorIndex,l),this.color=_(this.options.color,o)}setNestedProperty(a,g,v){return v.split(".").reduce(function(o,n,r,l){return o[n]=l.length-1===r?g:I(o[n],!0)?o[n]:{},o[n]},a),a}shouldDraw(){return!this.isNull}tooltipFormatter(a){let g=this.series,v=g.tooltipOptions,o=_(v.valueDecimals,""),n=v.valuePrefix||"",r=v.valueSuffix||"";return g.chart.styledMode&&(a=g.chart.tooltip.styledModeFormat(a)),(g.pointArrayMap||["y"]).forEach(function(l){l="{point."+l,(n||r)&&(a=a.replace(RegExp(l+"}","g"),n+l+"}"+r)),a=a.replace(RegExp(l+"}","g"),l+":,."+o+"f}")}),J(a,{point:this,series:this.series},g.chart)}update(a,g,v,o){let n,r=this,l=r.series,d=r.graphic,C=l.chart,k=l.options;function p(){r.applyOptions(a);let T=d&&r.hasMockGraphic;d&&(null===r.y?!T:T)&&(r.graphic=d.destroy(),delete r.hasMockGraphic),I(a,!0)&&(d&&d.element&&a&&a.marker&&void 0!==a.marker.symbol&&(r.graphic=d.destroy()),a?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),n=r.index,l.updateParallelArrays(r,n),k.data[n]=I(k.data[n],!0)||I(a,!0)?r.options:_(a,k.data[n]),l.isDirty=l.isDirtyData=!0,!l.fixedBox&&l.hasCartesianSeries&&(C.isDirtyBox=!0),"point"===k.legendType&&(C.isDirtyLegend=!0),g&&C.redraw(v)}g=_(g,!0),!1===o?p():r.firePointEvent("update",{options:a},p)}remove(a,g){this.series.removePoint(this.series.data.indexOf(this),a,g)}select(a,g){let v=this,o=v.series,n=o.chart;a=_(a,!v.selected),this.selectedStaging=a,v.firePointEvent(a?"select":"unselect",{accumulate:g},function(){v.selected=v.options.selected=a,o.options.data[o.data.indexOf(v)]=v.options,v.setState(a&&"select"),g||n.getSelectedPoints().forEach(function(r){let l=r.series;r.selected&&r!==v&&(r.selected=r.options.selected=!1,l.options.data[l.data.indexOf(r)]=r.options,r.setState(n.hoverPoints&&l.options.inactiveOtherPoints?"inactive":""),r.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(a){let{inverted:g,pointer:v}=this.series.chart;v&&(a=a?v.normalize(a):v.getChartCoordinatesFromPoint(this,g),v.runPointActions(a,this))}onMouseOut(){let a=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(a.hoverPoints||[]).forEach(function(g){g.setState()}),a.hoverPoints=a.hoverPoint=null}manageEvent(a){let g=this.series.options.point||{},v=g.events?.[a];!D(v)||this.hcEvents?.[a]&&-1!==this.hcEvents?.[a]?.map(o=>o.fn).indexOf(v)?this.hasImportedEvents&&!v&&this.hcEvents?.[a]&&(w(this,a),delete this.hcEvents[a],Object.keys(this.hcEvents)||(this.hasImportedEvents=!1)):(te(this,a,v),this.hasImportedEvents=!0)}setState(a,g){let z,K,U,S,v=this.series,o=this.state,n=v.options.states[a||"normal"]||{},r=ue.plotOptions[v.type].marker&&v.options.marker,d=r&&r.states&&r.states[a||"normal"]||{},k=this.marker||{},p=v.chart,T=r&&v.markerAttribs,B=v.halo,se=v.stateMarkerGraphic;if((a=a||"")===this.state&&!g||this.selected&&"select"!==a||!1===n.enabled||a&&(!1===d.enabled||r&&!1===r.enabled&&!1===d.enabled)||a&&k.states&&k.states[a]&&!1===k.states[a].enabled)return;if(this.state=a,T&&(z=v.markerAttribs(this,a)),this.graphic&&!this.hasMockGraphic){if(o&&this.graphic.removeClass("highcharts-point-"+o),a&&this.graphic.addClass("highcharts-point-"+a),!p.styledMode){K=v.pointAttribs(this,a),U=_(p.options.chart.animation,n.animation);let N=K.opacity;v.options.inactiveOtherPoints&&A(N)&&(this.dataLabels||[]).forEach(function(R){R&&!R.hasClass("highcharts-data-label-hidden")&&(R.animate({opacity:N},U),R.connector&&R.connector.animate({opacity:N},U))}),this.graphic.animate(K,U)}z&&this.graphic.animate(z,_(p.options.chart.animation,d.animation,r.animation)),se&&se.hide()}else a&&d&&(S=k.symbol||v.symbol,se&&se.currentSymbol!==S&&(se=se.destroy()),z&&(se?se[g?"animate":"attr"]({x:z.x,y:z.y}):S&&(v.stateMarkerGraphic=se=p.renderer.symbol(S,z.x,z.y,z.width,z.height).add(v.markerGroup),se.currentSymbol=S)),!p.styledMode&&se&&"inactive"!==this.state&&se.attr(v.pointAttribs(this,a))),se&&(se[a&&this.isInside?"show":"hide"](),se.element.point=this,se.addClass(this.getClassName(),!0));let $=n.halo,H=this.graphic||se,x=H&&H.visibility||"inherit";$&&$.size&&H&&"hidden"!==x&&!this.isCluster?(B||(v.halo=B=p.renderer.path().add(H.parentGroup)),B.show()[g?"animate":"attr"]({d:this.haloPath($.size)}),B.attr({class:"highcharts-halo highcharts-color-"+_(this.colorIndex,v.colorIndex)+(this.className?" "+this.className:""),visibility:x,zIndex:-1}),B.point=this,p.styledMode||B.attr(E({fill:this.color||v.color,"fill-opacity":$.opacity},q.filterUserAttributes($.attributes||{})))):B&&B.point&&B.point.haloPath&&B.animate({d:B.point.haloPath(0)},null,B.hide),j(this,"afterSetState",{state:a})}haloPath(a){let g=this.pos();return g?this.series.chart.renderer.symbols.circle(Math.floor(g[0])-a,g[1]-a,2*a,2*a):[]}}return O}),Le(V,"Core/Pointer.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve;let{parse:le}=q,{charts:pe,composed:ue}=ne,{addEvent:J,attr:te,css:X,extend:E,find:j,fireEvent:F,isNumber:P,isObject:D,objectEach:A,offset:I,pick:_,pushUnique:m,splat:w}=re;class G{applyInactiveState(f){let g,a=[];(f||[]).forEach(function(v){g=v.series,a.push(g),g.linkedParent&&a.push(g.linkedParent),g.linkedSeries&&(a=a.concat(g.linkedSeries)),g.navigatorSeries&&a.push(g.navigatorSeries)}),this.chart.series.forEach(function(v){-1===a.indexOf(v)?v.setState("inactive",!0):v.options.inactiveOtherPoints&&v.setAllPointsToState("inactive")})}destroy(){let f=this;this.eventsToUnbind.forEach(a=>a()),this.eventsToUnbind=[],!ne.chartCount&&(G.unbindDocumentMouseUp&&(G.unbindDocumentMouseUp=G.unbindDocumentMouseUp()),G.unbindDocumentTouchEnd&&(G.unbindDocumentTouchEnd=G.unbindDocumentTouchEnd())),clearInterval(f.tooltipTimeout),A(f,function(a,g){f[g]=void 0})}getSelectionMarkerAttrs(f,a){let g={args:{chartX:f,chartY:a},attrs:{},shapeType:"rect"};return F(this,"getSelectionMarkerAttrs",g,v=>{let o,{chart:n,zoomHor:r,zoomVert:l}=this,{mouseDownX:d=0,mouseDownY:C=0}=n,k=v.attrs;k.x=n.plotLeft,k.y=n.plotTop,k.width=r?1:n.plotWidth,k.height=l?1:n.plotHeight,r&&(o=f-d,k.width=Math.max(1,Math.abs(o)),k.x=(o>0?0:o)+d),l&&(o=a-C,k.height=Math.max(1,Math.abs(o)),k.y=(o>0?0:o)+C)}),g}drag(f){let K,{chart:a}=this,{mouseDownX:g=0,mouseDownY:v=0}=a,{panning:o,panKey:n,selectionMarkerFill:r}=a.options.chart,l=a.plotLeft,d=a.plotTop,C=a.plotWidth,k=a.plotHeight,p=D(o)?o.enabled:o,T=n&&f[`${n}Key`],B=f.chartX,z=f.chartY,U=this.selectionMarker;if((!U||!U.touch)&&(Bl+C&&(B=l+C),zd+k&&(z=d+k),this.hasDragged=Math.sqrt(Math.pow(g-B,2)+Math.pow(v-z,2)),this.hasDragged>10)){K=a.isInsidePlot(g-l,v-d,{visiblePlotOnly:!0});let{shapeType:se,attrs:S}=this.getSelectionMarkerAttrs(B,z);(a.hasCartesianSeries||a.mapView)&&this.hasZoom&&K&&!T&&!U&&(this.selectionMarker=U=a.renderer[se](),U.attr({class:"highcharts-selection-marker",zIndex:7}).add(),a.styledMode||U.attr({fill:r||le("#334eff").setOpacity(.25).get()})),U&&U.attr(S),K&&!U&&p&&a.pan(f,o)}}dragStart(f){let a=this.chart;a.mouseIsDown=f.type,a.cancelClick=!1,a.mouseDownX=f.chartX,a.mouseDownY=f.chartY}getSelectionBox(f){let a={args:{marker:f},result:f.getBBox()};return F(this,"getSelectionBox",a),a.result}drop(f){let a,{chart:g,selectionMarker:v}=this;for(let o of g.axes)o.isPanning&&(o.isPanning=!1,(o.options.startOnTick||o.options.endOnTick||o.series.some(n=>n.boosted))&&(o.forceRedraw=!0,o.setExtremes(o.userMin,o.userMax,!1),a=!0));if(a&&g.redraw(),v&&f){if(this.hasDragged){let o=this.getSelectionBox(v);g.transform({axes:g.axes.filter(n=>n.zoomEnabled&&("xAxis"===n.coll&&this.zoomX||"yAxis"===n.coll&&this.zoomY)),selection:{originalEvent:f,xAxis:[],yAxis:[],...o},from:o})}P(g.index)&&(this.selectionMarker=v.destroy())}g&&P(g.index)&&(X(g.container,{cursor:g._cursor}),g.cancelClick=this.hasDragged>10,g.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(f,a,g){let v;return f.forEach(function(o){let n=!(o.noSharedTooltip&&a)&&0>o.options.findNearestPointBy.indexOf("y"),r=o.searchPoint(g,n);D(r,!0)&&r.series&&(!D(v,!0)||function(l,d){let C=l.distX-d.distX,k=l.dist-d.dist,p=d.series.group?.zIndex-l.series.group?.zIndex;return 0!==C&&a?C:0!==k?k:0!==p?p:l.series.index>d.series.index?-1:1}(v,r)>0)&&(v=r)}),v}getChartCoordinatesFromPoint(f,a){let{xAxis:g,yAxis:v}=f.series,o=f.shapeArgs;if(g&&v){let n=f.clientX??f.plotX??0,r=f.plotY||0;return f.isNode&&o&&P(o.x)&&P(o.y)&&(n=o.x,r=o.y),a?{chartX:v.len+v.pos-r,chartY:g.len+g.pos-n}:{chartX:n+g.pos,chartY:r+v.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:f}=this.chart,a=I(f);this.chartPosition={left:a.left,top:a.top,scaleX:1,scaleY:1};let{offsetHeight:g,offsetWidth:v}=f;return v>2&&g>2&&(this.chartPosition.scaleX=a.width/v,this.chartPosition.scaleY=a.height/g),this.chartPosition}getCoordinates(f){let a={xAxis:[],yAxis:[]};for(let g of this.chart.axes)a[g.isXAxis?"xAxis":"yAxis"].push({axis:g,value:g.toValue(f[g.horiz?"chartX":"chartY"])});return a}getHoverData(f,a,g,v,o,n){let C,r=[],l=function(T){return T.visible&&!(!o&&T.directTouch)&&_(T.options.enableMouseTracking,!0)},d=a,k={chartX:n?n.chartX:void 0,chartY:n?n.chartY:void 0,shared:o};F(this,"beforeGetHoverData",k),C=d&&!d.stickyTracking?[d]:g.filter(T=>T.stickyTracking&&(k.filter||l)(T));let p=v&&f||!n?f:this.findNearestKDPoint(C,o,n);return d=p&&p.series,p&&(o&&!d.noSharedTooltip?(C=g.filter(function(T){return k.filter?k.filter(T):l(T)&&!T.noSharedTooltip})).forEach(function(T){let B=j(T.points,function(z){return z.x===p.x&&!z.isNull});D(B)&&(T.boosted&&T.boost&&(B=T.boost.getPoint(B)),r.push(B))}):r.push(p)),F(this,"afterGetHoverData",k={hoverPoint:p}),{hoverPoint:k.hoverPoint,hoverSeries:d,hoverPoints:r}}getPointFromEvent(f){let g,a=f.target;for(;a&&!g;)g=a.point,a=a.parentNode;return g}onTrackerMouseOut(f){let g=f.relatedTarget,v=this.chart.hoverSeries;this.isDirectTouch=!1,!v||!g||v.stickyTracking||this.inClass(g,"highcharts-tooltip")||this.inClass(g,"highcharts-series-"+v.index)&&this.inClass(g,"highcharts-tracker")||v.onMouseOut()}inClass(f,a){let v,g=f;for(;g;){if(v=te(g,"class")){if(-1!==v.indexOf(a))return!0;if(-1!==v.indexOf("highcharts-container"))return!1}g=g.parentElement}}constructor(f,a){this.hasDragged=0,this.eventsToUnbind=[],this.options=a,this.chart=f,this.runChartClick=!!a.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),F(this,"afterInit")}normalize(f,a){let g=f.touches,v=g?g.length?g.item(0):_(g.changedTouches,f.changedTouches)[0]:f;a||(a=this.getChartPosition());let o=v.pageX-a.left,n=v.pageY-a.top;return E(f,{chartX:Math.round(o/=a.scaleX),chartY:Math.round(n/=a.scaleY)})}onContainerClick(f){let a=this.chart,g=a.hoverPoint,v=this.normalize(f),o=a.plotLeft,n=a.plotTop;!a.cancelClick&&(g&&this.inClass(v.target,"highcharts-tracker")?(F(g.series,"click",E(v,{point:g})),a.hoverPoint&&g.firePointEvent("click",v)):(E(v,this.getCoordinates(v)),a.isInsidePlot(v.chartX-o,v.chartY-n,{visiblePlotOnly:!0})&&F(a,"click",v)))}onContainerMouseDown(f){let a=!(1&~(f.buttons||f.button));f=this.normalize(f),ne.isFirefox&&0!==f.button&&this.onContainerMouseMove(f),(void 0===f.button||a)&&(this.zoomOption(f),a&&f.preventDefault?.(),this.dragStart(f))}onContainerMouseLeave(f){let{pointer:a}=pe[_(G.hoverChartIndex,-1)]||{};f=this.normalize(f),this.onContainerMouseMove(f),a&&f.relatedTarget&&!this.inClass(f.relatedTarget,"highcharts-tooltip")&&(a.reset(),a.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(f){let a=this.chart,g=a.tooltip,v=this.normalize(f);this.setHoverChartIndex(f),("mousedown"===a.mouseIsDown||this.touchSelect(v))&&this.drag(v),!a.openMenu&&(this.inClass(v.target,"highcharts-tracker")||a.isInsidePlot(v.chartX-a.plotLeft,v.chartY-a.plotTop,{visiblePlotOnly:!0}))&&(!g||!g.shouldStickOnContact(v))&&(this.inClass(v.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(v))}onDocumentTouchEnd(f){this.onDocumentMouseUp(f)}onContainerTouchMove(f){this.touchSelect(f)?this.onContainerMouseMove(f):this.touch(f)}onContainerTouchStart(f){this.touchSelect(f)?this.onContainerMouseDown(f):(this.zoomOption(f),this.touch(f,!0))}onDocumentMouseMove(f){let a=this.chart,g=a.tooltip,v=this.chartPosition,o=this.normalize(f,v);!v||a.isInsidePlot(o.chartX-a.plotLeft,o.chartY-a.plotTop,{visiblePlotOnly:!0})||g&&g.shouldStickOnContact(o)||this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(f){pe[_(G.hoverChartIndex,-1)]?.pointer?.drop(f)}pinch(f){let a=this,{chart:g,hasZoom:v,lastTouches:o}=a,n=[].map.call(f.touches||[],k=>a.normalize(k)),r=n.length,l=1===r&&(a.inClass(f.target,"highcharts-tracker")&&g.runTrackerClick||a.runChartClick),d=g.tooltip,C=1===r&&_(d?.options.followTouchMove,!0);r>1?a.initiated=!0:C&&(a.initiated=!1),v&&a.initiated&&!l&&!1!==f.cancelable&&f.preventDefault(),"touchstart"===f.type?(a.pinchDown=n,a.res=!0):C?this.runPointActions(a.normalize(f)):o&&(F(g,"touchpan",{originalEvent:f,touches:n},()=>{let k=p=>{let T=p[0],B=p[1]||T;return{x:T.chartX,y:T.chartY,width:B.chartX-T.chartX,height:B.chartY-T.chartY}};g.transform({axes:g.axes.filter(p=>p.zoomEnabled&&(this.zoomHor&&p.horiz||this.zoomVert&&!p.horiz)),to:k(n),from:k(o),trigger:f.type})}),a.res&&(a.res=!1,this.reset(!1,0))),a.lastTouches=n}reset(f,a){let g=this.chart,v=g.hoverSeries,o=g.hoverPoint,n=g.hoverPoints,r=g.tooltip,l=r&&r.shared?n:o;f&&l&&w(l).forEach(function(d){d.series.isCartesian&&void 0===d.plotX&&(f=!1)}),f?r&&l&&w(l).length&&(r.refresh(l),r.shared&&n?n.forEach(function(d){d.setState(d.state,!0),d.series.isCartesian&&(d.series.xAxis.crosshair&&d.series.xAxis.drawCrosshair(null,d),d.series.yAxis.crosshair&&d.series.yAxis.drawCrosshair(null,d))}):o&&(o.setState(o.state,!0),g.axes.forEach(function(d){d.crosshair&&o.series[d.coll]===d&&d.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),n&&n.forEach(function(d){d.setState()}),v&&v.onMouseOut(),r&&r.hide(a),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),g.axes.forEach(function(d){d.hideCrosshair()}),g.hoverPoints=g.hoverPoint=void 0)}runPointActions(f,a,g){let v=this.chart,n=v.tooltip&&v.tooltip.options.enabled?v.tooltip:void 0,r=!!n&&n.shared,l=a||v.hoverPoint,d=l&&l.series||v.hoverSeries,k=this.getHoverData(l,d,v.series,(!f||"touchmove"!==f.type)&&(!!a||d&&d.directTouch&&this.isDirectTouch),r,f);l=k.hoverPoint,d=k.hoverSeries;let p=k.hoverPoints,T=d&&d.tooltipOptions.followPointer&&!d.tooltipOptions.split,B=r&&d&&!d.noSharedTooltip;if(l&&(g||l!==v.hoverPoint||n&&n.isHidden)){if((v.hoverPoints||[]).forEach(function(z){-1===p.indexOf(z)&&z.setState()}),v.hoverSeries!==d&&d.onMouseOver(),this.applyInactiveState(p),(p||[]).forEach(function(z){z.setState("hover")}),v.hoverPoint&&v.hoverPoint.firePointEvent("mouseOut"),!l.series)return;v.hoverPoints=p,v.hoverPoint=l,l.firePointEvent("mouseOver",void 0,()=>{n&&l&&n.refresh(B?p:l,f)})}else if(T&&n&&!n.isHidden){let z=n.getAnchor([{}],f);v.isInsidePlot(z[0],z[1],{visiblePlotOnly:!0})&&n.updatePosition({plotX:z[0],plotY:z[1]})}this.unDocMouseMove||(this.unDocMouseMove=J(v.container.ownerDocument,"mousemove",z=>pe[G.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(z)),this.eventsToUnbind.push(this.unDocMouseMove)),v.axes.forEach(function(z){let K,U=_((z.crosshair||{}).snap,!0);!U||(K=v.hoverPoint)&&K.series[z.coll]===z||(K=j(p,se=>se.series&&se.series[z.coll]===z)),K||!U?z.drawCrosshair(f,K):z.hideCrosshair()})}setDOMEvents(){let f=this.chart.container,a=f.ownerDocument;f.onmousedown=this.onContainerMouseDown.bind(this),f.onmousemove=this.onContainerMouseMove.bind(this),f.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(J(f,"mouseenter",this.onContainerMouseEnter.bind(this)),J(f,"mouseleave",this.onContainerMouseLeave.bind(this))),G.unbindDocumentMouseUp||(G.unbindDocumentMouseUp=J(a,"mouseup",this.onDocumentMouseUp.bind(this)));let g=this.chart.renderTo.parentElement;for(;g&&"BODY"!==g.tagName;)this.eventsToUnbind.push(J(g,"scroll",()=>{delete this.chartPosition})),g=g.parentElement;this.eventsToUnbind.push(J(f,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),J(f,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),G.unbindDocumentTouchEnd||(G.unbindDocumentTouchEnd=J(a,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1}))}setHoverChartIndex(f){let a=this.chart,g=ne.charts[_(G.hoverChartIndex,-1)];g&&g!==a&&g.pointer?.onContainerMouseLeave(f||{relatedTarget:a.container}),g&&g.mouseIsDown||(G.hoverChartIndex=a.index)}touch(f,a){let g,{chart:v,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===f.touches.length?(f=this.normalize(f),v.isInsidePlot(f.chartX-v.plotLeft,f.chartY-v.plotTop,{visiblePlotOnly:!0})&&!v.openMenu?(a&&this.runPointActions(f),"touchmove"===f.type&&(g=!!o[0]&&Math.pow(o[0].chartX-f.chartX,2)+Math.pow(o[0].chartY-f.chartY,2)>=16),_(g,!0)&&this.pinch(f)):a&&this.reset()):2===f.touches.length&&this.pinch(f)}touchSelect(f){return!(!this.chart.zooming.singleTouch||!f.touches||1!==f.touches.length)}zoomOption(f){let o,n,a=this.chart,g=a.inverted,v=a.zooming.type||"";/touch/.test(f.type)&&(v=_(a.zooming.pinchType,v)),this.zoomX=o=/x/.test(v),this.zoomY=n=/y/.test(v),this.zoomHor=o&&!g||n&&g,this.zoomVert=n&&!g||o&&g,this.hasZoom=o||n}}return(ve=G||(G={})).compose=function(O){m(ue,"Core.Pointer")&&J(O,"beforeRender",function(){this.pointer=new ve(this,this.options)})},G}),Le(V,"Core/Legend/Legend.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Series/Point.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){var ue;let{animObject:J,setAnimation:te}=q,{format:X}=ne,{composed:E,marginNames:j}=re,{distribute:F}=le,{addEvent:P,createElement:D,css:A,defined:I,discardElement:_,find:m,fireEvent:w,isNumber:G,merge:O,pick:f,pushUnique:a,relativeLength:g,stableSort:v,syncTimeout:o}=pe;class n{constructor(l,d){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=l,this.setOptions(d),d.enabled&&(this.render(),P(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),P(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(l){let d=f(l.padding,8);this.options=l,this.chart.styledMode||(this.itemStyle=l.itemStyle,this.itemHiddenStyle=O(this.itemStyle,l.itemHiddenStyle)),this.itemMarginTop=l.itemMarginTop,this.itemMarginBottom=l.itemMarginBottom,this.padding=d,this.initialItemY=d-5,this.symbolWidth=f(l.symbolWidth,16),this.pages=[],this.proximate="proximate"===l.layout&&!this.chart.inverted,this.baseline=void 0}update(l,d){let C=this.chart;this.setOptions(O(!0,this.options,l)),this.destroy(),C.isDirtyLegend=C.isDirtyBox=!0,f(d,!0)&&C.redraw(),w(this,"afterUpdate",{redraw:d})}colorizeItem(l,d){let{area:C,group:k,label:p,line:T,symbol:B}=l.legendItem||{};if(k?.[d?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:z={}}=this,K=z.color,{fillColor:U,fillOpacity:se,lineColor:S,marker:$}=l.options,H=x=>(!d&&(x.fill&&(x.fill=K),x.stroke&&(x.stroke=K)),x);p?.css(O(d?this.itemStyle:z)),T?.attr(H({stroke:S||l.color})),B&&B.attr(H($&&B.isMarker?l.pointAttribs():{fill:l.color})),C?.attr(H({fill:U||l.color,"fill-opacity":U?1:se??.75}))}w(this,"afterColorizeItem",{item:l,visible:d})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(l){let{group:d,x:C=0,y:k=0}=l.legendItem||{},p=this.options,z=l.checkbox;if(d&&d.element){let K={translateX:p.rtl?this.legendWidth-C-2*p.symbolPadding-4:C,translateY:k};d[I(d.translateY)?"animate":"attr"](K,void 0,()=>{w(this,"afterPositionItem",{item:l})})}z&&(z.x=C,z.y=k)}destroyItem(l){let d=l.checkbox,C=l.legendItem||{};for(let k of["group","label","line","symbol"])C[k]&&(C[k]=C[k].destroy());d&&_(d),l.legendItem=void 0}destroy(){for(let l of this.getAllItems())this.destroyItem(l);for(let l of["clipRect","up","down","pager","nav","box","title","group"])this[l]&&(this[l]=this[l].destroy());this.display=null}positionCheckboxes(){let l,d=this.group&&this.group.alignAttr,C=this.clipHeight||this.legendHeight,k=this.titleHeight;d&&(l=d.translateY,this.allItems.forEach(function(p){let T,B=p.checkbox;B&&(T=l+k+B.y+(this.scrollOffset||0)+3,A(B,{left:d.translateX+p.checkboxOffset+B.x-20+"px",top:T+"px",display:this.proximate||T>l-6&&T1.5*_e?ge.height:_e))}layoutItem(l){let d=this.options,C=this.padding,k="horizontal"===d.layout,p=l.itemHeight,T=this.itemMarginBottom,B=this.itemMarginTop,z=k?f(d.itemDistance,20):0,K=this.maxLegendWidth,U=d.alignColumns&&this.totalItemWidth>K?this.maxItemWidth:l.itemWidth,se=l.legendItem||{};k&&this.itemX-C+U>K&&(this.itemX=C,this.lastLineHeight&&(this.itemY+=B+this.lastLineHeight+T),this.lastLineHeight=0),this.lastItemY=B+this.itemY+T,this.lastLineHeight=Math.max(p,this.lastLineHeight),se.x=this.itemX,se.y=this.itemY,k?this.itemX+=U:(this.itemY+=B+p+T,this.lastLineHeight=p),this.offsetWidth=this.widthOption||Math.max((k?this.itemX-C-(l.checkbox?0:z):U)+C,this.offsetWidth)}getAllItems(){let l=[];return this.chart.series.forEach(function(d){let C=d&&d.options;d&&f(C.showInLegend,!I(C.linkedTo)&&void 0,!0)&&(l=l.concat((d.legendItem||{}).labels||("point"===C.legendType?d.data:d)))}),w(this,"afterGetAllItems",{allItems:l}),l}getAlignment(){let l=this.options;return this.proximate?l.align.charAt(0)+"tv":l.floating?"":l.align.charAt(0)+l.verticalAlign.charAt(0)+l.layout.charAt(0)}adjustMargins(l,d){let C=this.chart,k=this.options,p=this.getAlignment();p&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(T,B){T.test(p)&&!I(l[B])&&(C[j[B]]=Math.max(C[j[B]],C.legend[(B+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][B]*k[B%2?"x":"y"]+f(k.margin,12)+d[B]+(C.titleOffset[B]||0)))})}proximatePositions(){let l,d=this.chart,C=[],k="left"===this.options.align;for(let p of(this.allItems.forEach(function(T){let B,z,U,se,K=k;T.yAxis&&(T.xAxis.options.reversed&&(K=!K),T.points&&(B=m(K?T.points:T.points.slice(0).reverse(),function(S){return G(S.plotY)})),z=this.itemMarginTop+T.legendItem.label.getBBox().height+this.itemMarginBottom,se=T.yAxis.top-d.plotTop,U=T.visible?(B?B.plotY:T.yAxis.height)+(se-.3*z):se+T.yAxis.height,C.push({target:U,size:z,item:T}))},this),F(C,d.plotHeight)))l=p.item.legendItem||{},G(p.pos)&&(l.y=d.plotTop-d.spacing[0]+p.pos)}render(){let T,B,z,U,l=this.chart,d=l.renderer,C=this.options,k=this.padding,p=this.getAllItems(),K=this.group,se=this.box;this.itemX=k,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=g(C.width,l.spacingBox.width-k),U=l.spacingBox.width-2*k-C.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(U/=2),this.maxLegendWidth=this.widthOption||U,K||(this.group=K=d.g("legend").addClass(C.className||"").attr({zIndex:7}).add(),this.contentGroup=d.g().attr({zIndex:1}).add(K),this.scrollGroup=d.g().add(this.contentGroup)),this.renderTitle(),v(p,(S,$)=>(S.options&&S.options.legendIndex||0)-($.options&&$.options.legendIndex||0)),C.reversed&&p.reverse(),this.allItems=p,this.display=T=!!p.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,p.forEach(this.renderItem,this),p.forEach(this.layoutItem,this),B=(this.widthOption||this.offsetWidth)+k,z=this.lastItemY+this.lastLineHeight+this.titleHeight,z=this.handleOverflow(z)+k,se||(this.box=se=d.rect().addClass("highcharts-legend-box").attr({r:C.borderRadius}).add(K)),l.styledMode||se.attr({stroke:C.borderColor,"stroke-width":C.borderWidth||0,fill:C.backgroundColor||"none"}).shadow(C.shadow),B>0&&z>0&&se[se.placed?"animate":"attr"](se.crisp.call({},{x:0,y:0,width:B,height:z},se.strokeWidth())),K[T?"show":"hide"](),l.styledMode&&"none"===K.getStyle("display")&&(B=z=0),this.legendWidth=B,this.legendHeight=z,T&&this.align(),this.proximate||this.positionItems(),w(this,"afterRender")}align(l=this.chart.spacingBox){let d=this.chart,C=this.options,k=l.y;/(lth|ct|rth)/.test(this.getAlignment())&&d.titleOffset[0]>0?k+=d.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&d.titleOffset[2]>0&&(k-=d.titleOffset[2]),k!==l.y&&(l=O(l,{y:k})),d.hasRendered||(this.group.placed=!1),this.group.align(O(C,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":C.verticalAlign}),!0,l)}handleOverflow(l){let R,Z,Y,d=this,C=this.chart,k=C.renderer,p=this.options,T=p.y,B="top"===p.verticalAlign,z=this.padding,K=p.maxHeight,U=p.navigation,se=f(U.animation,!0),S=U.arrowSize||12,$=this.pages,H=this.allItems,x=function(Te){"number"==typeof Te?_e.attr({height:Te}):_e&&(d.clipRect=_e.destroy(),d.contentGroup.clip()),d.contentGroup.div&&(d.contentGroup.div.style.clip=Te?"rect("+z+"px,9999px,"+(z+Te)+"px,0)":"auto")},N=function(Te){return d[Te]=k.circle(0,0,1.3*S).translate(S/2,S/2).add(ge),C.styledMode||d[Te].attr("fill","rgba(0,0,0,0.0001)"),d[Te]},he=C.spacingBox.height+(B?-T:T)-z,ge=this.nav,_e=this.clipRect;return"horizontal"!==p.layout||"middle"===p.verticalAlign||p.floating||(he/=2),K&&(he=Math.min(he,K)),$.length=0,l&&he>0&&l>he&&!1!==U.enabled?(this.clipHeight=R=Math.max(he-20-this.titleHeight-z,0),this.currentPage=f(this.currentPage,1),this.fullHeight=l,H.forEach((Te,Oe)=>{let De=(Y=Te.legendItem||{}).y||0,Be=Math.round(Y.label.getBBox().height),oe=$.length;(!oe||De-$[oe-1]>R&&(Z||De)!==$[oe-1])&&($.push(Z||De),oe++),Y.pageIx=oe-1,Z&&((H[Oe-1].legendItem||{}).pageIx=oe-1),Oe===H.length-1&&De+Be-$[oe-1]>R&&De>$[oe-1]&&($.push(De),Y.pageIx=oe),De!==Z&&(Z=De)}),_e||(_e=d.clipRect=k.clipRect(0,z-2,9999,0),d.contentGroup.clip(_e)),x(R),ge||(this.nav=ge=k.g().attr({zIndex:1}).add(this.group),this.up=k.symbol("triangle",0,0,S,S).add(ge),N("upTracker").on("click",function(){d.scroll(-1,se)}),this.pager=k.text("",15,10).addClass("highcharts-legend-navigation"),!C.styledMode&&U.style&&this.pager.css(U.style),this.pager.add(ge),this.down=k.symbol("triangle-down",0,0,S,S).add(ge),N("downTracker").on("click",function(){d.scroll(1,se)})),d.scroll(0),l=he):ge&&(x(),this.nav=ge.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),l}scroll(l,d){let C=this.chart,k=this.pages,p=k.length,T=this.clipHeight,B=this.options.navigation,z=this.pager,K=this.padding,U=this.currentPage+l;U>p&&(U=p),U>0&&(void 0!==d&&te(d,C),this.nav.attr({translateX:K,translateY:T+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(se){se.attr({class:1===U?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),z.attr({text:U+"/"+p}),[this.down,this.downTracker].forEach(function(se){se.attr({x:18+this.pager.getBBox().width,class:U===p?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),C.styledMode||(this.up.attr({fill:1===U?B.inactiveColor:B.activeColor}),this.upTracker.css({cursor:1===U?"default":"pointer"}),this.down.attr({fill:U===p?B.inactiveColor:B.activeColor}),this.downTracker.css({cursor:U===p?"default":"pointer"})),this.scrollOffset=-k[U-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=U,this.positionCheckboxes(),o(()=>{w(this,"afterScroll",{currentPage:U})},J(f(d,C.renderer.globalAnimation,!0)).duration))}setItemEvents(l,d,C){let k=this,p=l.legendItem||{},T=k.chart.renderer.boxWrapper,B=l instanceof ve,z="highcharts-legend-"+(B?"point":"series")+"-active",K=k.chart.styledMode,U=C?[d,p.symbol]:[p.group],se=S=>{k.allItems.forEach($=>{l!==$&&[$].concat($.linkedSeries||[]).forEach(H=>{H.setState(S,!B)})})};for(let S of U)S&&S.on("mouseover",function(){l.visible&&se("inactive"),l.setState("hover"),l.visible&&T.addClass(z),K||d.css(k.options.itemHoverStyle)}).on("mouseout",function(){k.chart.styledMode||d.css(O(l.visible?k.itemStyle:k.itemHiddenStyle)),se(""),T.removeClass(z),l.setState()}).on("click",function($){let H="legendItemClick",x=function(){l.setVisible&&l.setVisible(),se(l.visible?"inactive":"")};T.removeClass(z),$={browserEvent:$},l.firePointEvent?l.firePointEvent(H,$,x):w(l,H,$,x)})}createCheckboxForItem(l){l.checkbox=D("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:l.selected,defaultChecked:l.selected},this.options.itemCheckboxStyle,this.chart.container),P(l.checkbox,"click",function(d){w(l.series||l,"checkboxClick",{checked:d.target.checked,item:l},function(){l.select()})})}}return(ue=n||(n={})).compose=function(r){a(E,"Core.Legend")&&P(r,"beforeMargins",function(){this.legend=new ue(this,this.options.legend)})},n}),Le(V,"Core/Legend/LegendSymbol.js",[V["Core/Utilities.js"]],function(q){var ne;let{extend:re,merge:ve,pick:le}=q;return function(pe){function ue(J,te,X){let f,E=this.legendItem=this.legendItem||{},{chart:j,options:F}=this,{baseline:P=0,symbolWidth:D,symbolHeight:A}=J,I=this.symbol||"circle",_=A/2,m=j.renderer,w=E.group,G=P-Math.round(A*(X?.4:.3)),O={},a=F.marker,g=0;if(j.styledMode||(O["stroke-width"]=Math.min(F.lineWidth||0,24),F.dashStyle?O.dashstyle=F.dashStyle:"square"===F.linecap||(O["stroke-linecap"]="round")),E.line=m.path().addClass("highcharts-graph").attr(O).add(w),X&&(E.area=m.path().addClass("highcharts-area").add(w)),O["stroke-linecap"]&&(g=Math.min(E.line.strokeWidth(),D)/2),D){let v=[["M",g,G],["L",D-g,G]];E.line.attr({d:v}),E.area?.attr({d:[...v,["L",D-g,P],["L",g,P]]})}if(a&&!1!==a.enabled&&D){let v=Math.min(le(a.radius,_),_);0===I.indexOf("url")&&(a=ve(a,{width:A,height:A}),v=0),E.symbol=f=m.symbol(I,D/2-v,G-v,2*v,2*v,re({context:"legend"},a)).addClass("highcharts-point").add(w),f.isMarker=!0}}pe.areaMarker=function(J,te){ue.call(this,J,te,!0)},pe.lineMarker=ue,pe.rectangle=function(J,te){let X=te.legendItem||{},j=J.symbolHeight,F=J.options.squareSymbol;X.symbol=this.chart.renderer.rect(F?(J.symbolWidth-j)/2:0,J.baseline-j+1,F?j:J.symbolWidth,j,le(J.options.symbolRadius,j/2)).addClass("highcharts-point").attr({zIndex:3}).add(X.group)}}(ne||(ne={})),ne}),Le(V,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:q}=this.series.chart;return"number"!=typeof this.y?"":q(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),Le(V,"Core/Series/SeriesRegistry.js",[V["Core/Globals.js"],V["Core/Defaults.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{defaultOptions:pe}=ne,{extend:ue,extendClass:J,merge:te}=ve;return function(X){function E(j,F){let P=pe.plotOptions||{},D=F.defaultOptions,A=F.prototype;return A.type=j,A.pointClass||(A.pointClass=re),!X.seriesTypes[j]&&(D&&(P[j]=D),X.seriesTypes[j]=F,!0)}X.seriesTypes=q.seriesTypes,X.registerSeriesType=E,X.seriesType=function(j,F,P,D,A){let I=pe.plotOptions||{};if(I[j]=te(I[F=F||""],P),delete X.seriesTypes[j],E(j,J(X.seriesTypes[F]||function(){},D)),X.seriesTypes[j].prototype.type=j,A){class _ extends re{}ue(_.prototype,A),X.seriesTypes[j].prototype.pointClass=_}return X.seriesTypes[j]}}(le||(le={})),le}),Le(V,"Core/Series/Series.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Series/Point.js"],V["Core/Series/SeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X){let{animObject:E,setAnimation:j}=q,{defaultOptions:F}=ne,{registerEventOptions:P}=re,{svg:D,win:A}=ve,{seriesTypes:I}=J,{arrayMax:_,arrayMin:m,clamp:w,correctFloat:G,defined:O,destroyObjectProperties:f,diffObjects:a,erase:g,error:v,extend:o,find:n,fireEvent:r,getClosestDistance:l,getNestedProperty:d,insertItem:C,isArray:k,isNumber:p,isString:T,merge:B,objectEach:z,pick:K,removeEvent:U,splat:se,syncTimeout:S}=X;class ${constructor(){this.zoneAxis="y"}init(x,N){let R;r(this,"init",{options:N});let Z=this,Y=x.series;this.eventsToUnbind=[],Z.chart=x,Z.options=Z.setOptions(N);let he=Z.options,ge=!1!==he.visible;Z.linkedSeries=[],Z.bindAxes(),o(Z,{name:he.name,state:"",visible:ge,selected:!0===he.selected}),P(this,he);let _e=he.events;(_e&&_e.click||he.point&&he.point.events&&he.point.events.click||he.allowPointSelect)&&(x.runTrackerClick=!0),Z.getColor(),Z.getSymbol(),Z.parallelArrays.forEach(function(Te){Z[Te+"Data"]||(Z[Te+"Data"]=[])}),Z.isCartesian&&(x.hasCartesianSeries=!0),Y.length&&(R=Y[Y.length-1]),Z._i=K(R&&R._i,-1)+1,Z.opacity=Z.options.opacity,x.orderItems("series",C(this,Y)),he.dataSorting&&he.dataSorting.enabled?Z.setDataSortingOptions():Z.points||Z.data||Z.setData(he.data,!1),r(this,"afterInit")}is(x){return I[x]&&this instanceof I[x]}bindAxes(){let x,N=this,R=N.options,Z=N.chart;r(this,"bindAxes",null,function(){(N.axisTypes||[]).forEach(function(Y){Z[Y].forEach(function(he){x=he.options,(K(R[Y],0)===he.index||void 0!==R[Y]&&R[Y]===x.id)&&(C(N,he.series),N[Y]=he,he.isDirty=!0)}),N[Y]||N.optionalAxis===Y||v(18,!0,Z)})}),r(this,"afterBindAxes")}updateParallelArrays(x,N,R){let Z=x.series,Y=p(N)?function(he){let ge="y"===he&&Z.toYData?Z.toYData(x):x[he];Z[he+"Data"][N]=ge}:function(he){Array.prototype[N].apply(Z[he+"Data"],R)};Z.parallelArrays.forEach(Y)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(x,N){let R=x.marker,Z=N.marker||{};return R&&(Z.enabled&&!R.enabled||Z.symbol!==R.symbol||Z.height!==R.height||Z.width!==R.width)}autoIncrement(x){let ge,_e,N=this.options,R=N.pointIntervalUnit,Z=N.relativeXValue,Y=this.chart.time,he=this.xIncrement;return he=K(he,N.pointStart,0),this.pointInterval=_e=K(this.pointInterval,N.pointInterval,1),Z&&p(x)&&(_e*=x),R&&(ge=new Y.Date(he),"day"===R?Y.set("Date",ge,Y.get("Date",ge)+_e):"month"===R?Y.set("Month",ge,Y.get("Month",ge)+_e):"year"===R&&Y.set("FullYear",ge,Y.get("FullYear",ge)+_e),_e=ge.getTime()-he),Z&&p(x)?he+_e:(this.xIncrement=he+_e,he)}setDataSortingOptions(){let x=this.options;o(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),O(x.pointRange)||(x.pointRange=1)}setOptions(x){let N,R=this.chart,Z=R.options.plotOptions,Y=R.userOptions||{},he=B(x),ge=R.styledMode,_e={plotOptions:Z,userOptions:he};r(this,"setOptions",_e);let Te=_e.plotOptions[this.type],Oe=Y.plotOptions||{},De=Oe.series||{},Be=F.plotOptions[this.type]||{},oe=Oe[this.type]||{};this.userOptions=_e.userOptions;let ee=B(Te,Z.series,oe,he);this.tooltipOptions=B(F.tooltip,F.plotOptions.series?.tooltip,Be?.tooltip,R.userOptions.tooltip,Oe.series?.tooltip,oe.tooltip,he.tooltip),this.stickyTracking=K(he.stickyTracking,oe.stickyTracking,De.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||ee.stickyTracking),null===Te.marker&&delete ee.marker,this.zoneAxis=ee.zoneAxis||"y";let be=this.zones=(ee.zones||[]).map(xe=>({...xe}));return(ee.negativeColor||ee.negativeFillColor)&&!ee.zones&&(N={value:ee[this.zoneAxis+"Threshold"]||ee.threshold||0,className:"highcharts-negative"},ge||(N.color=ee.negativeColor,N.fillColor=ee.negativeFillColor),be.push(N)),be.length&&O(be[be.length-1].value)&&be.push(ge?{}:{color:this.color,fillColor:this.fillColor}),r(this,"afterSetOptions",{options:ee}),ee}getName(){return K(this.options.name,"Series "+(this.index+1))}getCyclic(x,N,R){let Z,Y,he=this.chart,ge=`${x}Index`,_e=`${x}Counter`,Te=R?.length||he.options.chart.colorCount;!N&&(O(Y=K("color"===x?this.options.colorIndex:void 0,this[ge]))?Z=Y:(he.series.length||(he[_e]=0),Z=he[_e]%Te,he[_e]+=1),R&&(N=R[Z])),void 0!==Z&&(this[ge]=Z),this[x]=N}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||F.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)}findPointIndex(x,N){let R,Z,Y,he=x.id,ge=x.x,_e=this.points,Te=this.options.dataSorting;if(he){let Oe=this.chart.get(he);Oe instanceof pe&&(R=Oe)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let Oe=De=>!De.touched&&De.index===x.index;if(Te&&Te.matchByName?Oe=De=>!De.touched&&De.name===x.name:this.options.relativeXValue&&(Oe=De=>!De.touched&&De.options.x===x.x),!(R=n(_e,Oe)))return}return R&&void 0!==(Y=R&&R.index)&&(Z=!0),void 0===Y&&p(ge)&&(Y=this.xData.indexOf(ge,N)),-1!==Y&&void 0!==Y&&this.cropped&&(Y=Y>=this.cropStart?Y-this.cropStart:Y),!Z&&p(Y)&&_e[Y]&&_e[Y].touched&&(Y=void 0),Y}updateData(x,N){let Te,Oe,De,Be,R=this.options,Z=R.dataSorting,Y=this.points,he=[],ge=this.requireSorting,_e=x.length===Y.length,oe=!0;if(this.xIncrement=null,x.forEach(function(ee,be){let xe,Ie=O(ee)&&this.pointClass.prototype.optionsToObject.call({series:this},ee)||{};Ie.id||p(Ie.x)?(-1===(xe=this.findPointIndex(Ie,Be))||void 0===xe?he.push(ee):Y[xe]&&ee!==R.data[xe]?(Y[xe].update(ee,!1,null,!1),Y[xe].touched=!0,ge&&(Be=xe+1)):Y[xe]&&(Y[xe].touched=!0),(!_e||be!==xe||Z&&Z.enabled||this.hasDerivedData)&&(Te=!0)):he.push(ee)},this),Te)for(Oe=Y.length;Oe--;)(De=Y[Oe])&&!De.touched&&De.remove&&De.remove(!1,N);else!_e||Z&&Z.enabled?oe=!1:(x.forEach(function(ee,be){ee===Y[be].y||Y[be].destroyed||Y[be].update(ee,!1,null,!1)}),he.length=0);return Y.forEach(function(ee){ee&&(ee.touched=!1)}),!!oe&&(he.forEach(function(ee){this.addPoint(ee,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=_(this.xData),this.autoIncrement()),!0)}setData(x,N=!0,R,Z){let we,Ee,Me,qe,Y=this,he=Y.points,ge=he&&he.length||0,_e=Y.options,Te=Y.chart,Oe=_e.dataSorting,De=Y.xAxis,Be=_e.turboThreshold,oe=this.xData,ee=this.yData,be=Y.pointArrayMap,xe=be&&be.length,Ie=_e.keys,Xe=0,Je=1,lt=null;Te.options.chart.allowMutatingData||(_e.data&&delete Y.options.data,Y.userOptions.data&&delete Y.userOptions.data,qe=B(!0,x));let st=(x=qe||x||[]).length;if(Oe&&Oe.enabled&&(x=this.sortData(x)),Te.options.chart.allowMutatingData&&!1!==Z&&st&&ge&&!Y.cropped&&!Y.hasGroupedData&&Y.visible&&!Y.boosted&&(Me=this.updateData(x,R)),!Me){if(Y.xIncrement=null,Y.colorCounter=0,this.parallelArrays.forEach(function(Tt){Y[Tt+"Data"].length=0}),Be&&st>Be)if(p(lt=Y.getFirstValidPoint(x)))for(we=0;we=0?Xe:0,Je=Je>=0?Je:1),1===lt.length&&(Je=0),Xe===Je)for(we=0;we{let ge=d(R,Y),_e=d(R,he);return _ege?1:0}).forEach(function(Y,he){Y.x=he},this),N.linkedSeries&&N.linkedSeries.forEach(function(Y){let he=Y.options,ge=he.data;he.dataSorting&&he.dataSorting.enabled||!ge||(ge.forEach(function(_e,Te){ge[Te]=Z(Y,_e),x[Te]&&(ge[Te].x=x[Te].x,ge[Te].index=Te)}),Y.setData(ge,!1))}),x}getProcessedData(x){let Te,Oe,Be,oe,ee,N=this,R=N.xAxis,Z=N.options,Y=Z.cropThreshold,he=x||N.getExtremesFromAll||Z.getExtremesFromAll,ge=R?.logarithmic,_e=N.isCartesian,De=0,be=N.xData,xe=N.yData,Ie=!1,we=be.length;R&&(oe=(Be=R.getExtremes()).min,ee=Be.max,Ie=!(!R.categories||R.names.length)),_e&&N.sorted&&!he&&(!Y||we>Y||N.forceCrop)&&(be[we-1]ee?(be=[],xe=[]):N.yData&&(be[0]ee)&&(be=(Te=this.cropData(N.xData,N.yData,oe,ee)).xData,xe=Te.yData,De=Te.start,Oe=!0));let Ee=l([ge?be.map(ge.log2lin):be],()=>N.requireSorting&&!Ie&&v(15,!1,N.chart));return{xData:be,yData:xe,cropped:Oe,cropStart:De,closestPointRange:Ee}}processData(x){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!x)return!1;let R=this.getProcessedData();this.cropped=R.cropped,this.cropStart=R.cropStart,this.processedXData=R.xData,this.processedYData=R.yData,this.closestPointRange=this.basePointRange=R.closestPointRange,r(this,"afterProcessData")}cropData(x,N,R,Z){let he,ge,Y=x.length,_e=0,Te=Y;for(he=0;he=R){_e=Math.max(0,he-1);break}for(ge=he;geZ){Te=ge+1;break}return{xData:x.slice(_e,Te),yData:N.slice(_e,Te),start:_e,end:Te}}generatePoints(){let Be,oe,ee,be,x=this.options,N=this.processedData||x.data,R=this.processedXData,Z=this.processedYData,Y=this.pointClass,he=R.length,ge=this.cropStart||0,_e=this.hasGroupedData,Te=x.keys,Oe=[],De=x.dataGrouping&&x.dataGrouping.groupAll?ge:0,xe=this.data;if(!xe&&!_e){let Ie=[];Ie.length=N.length,xe=this.data=Ie}for(Te&&_e&&(this.options.keys=!1),be=0;be0:oe.length)||!_e),De=N||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!R||(Y[ee+ge]||Be)>=xe&&(Y[ee-ge]||Be)<=Ie,Oe&&De)if(be=oe.length)for(;be--;)p(oe[be])&&(he[we++]=oe[be]);else he[we++]=oe;let Me={activeYData:he,dataMin:m(he),dataMax:_(he)};return r(this,"afterGetExtremes",{dataExtremes:Me}),Me}applyExtremes(){let x=this.getExtremes();return this.dataMin=x.dataMin,this.dataMax=x.dataMax,x}getFirstValidPoint(x){let N=x.length,R=0,Z=null;for(;null===Z&&R1)&&(he.step=function(Be,oe){De&&De.apply(oe,arguments),"width"===oe.prop&&Te?.element&&Te.attr(Y?"height":"width",Be+99)}),_e.addClass("highcharts-animating").animate(Oe,he)}}afterAnimate(){this.setClip(),z(this.chart.sharedClips,(x,N,R)=>{x&&!this.chart.container.querySelector(`[clip-path="url(#${x.id})"]`)&&(x.destroy(),delete R[N])}),this.finishedAnimating=!0,r(this,"afterAnimate")}drawPoints(x=this.points){let N,R,Z,Y,he,ge,_e,Te=this.chart,Oe=Te.styledMode,{colorAxis:De,options:Be}=this,oe=Be.marker,ee=this[this.specialGroup||"markerGroup"],be=this.xAxis,xe=K(oe.enabled,!be||!!be.isRadial||null,this.closestPointRangePx>=oe.enabledThreshold*oe.radius);if(!1!==oe.enabled||this._hasPointMarkers)for(N=0;N0||R.hasImage)&&(R.graphic=Z=Te.renderer.symbol(Ie,_e.x,_e.y,_e.width,_e.height,ge?he:oe).add(ee),this.enabledDataSorting&&Te.hasRendered&&(Z.attr({x:R.startXPos}),Y="animate")),Z&&"animate"===Y&&Z[we?"show":"hide"](we).animate(_e),Z){let Ee=this.pointAttribs(R,Oe||!R.selected?void 0:"select");Oe?De&&Z.css({fill:Ee.fill}):Z[Y](Ee)}Z&&Z.addClass(R.getClassName(),!0)}else Z&&(R.graphic=Z.destroy())}markerAttribs(x,N){let _e,Te,R=this.options,Z=R.marker,Y=x.marker||{},he=Y.symbol||Z.symbol,ge={},Oe=K(Y.radius,Z&&Z.radius);N&&(_e=Z.states[N],Oe=K((Te=Y.states&&Y.states[N])&&Te.radius,_e&&_e.radius,Oe&&Oe+(_e&&_e.radiusPlus||0))),x.hasImage=he&&0===he.indexOf("url"),x.hasImage&&(Oe=0);let De=x.pos();return p(Oe)&&De&&(ge.x=De[0]-Oe,ge.y=De[1]-Oe,R.crisp&&(ge.x=Math.floor(ge.x))),Oe&&(ge.width=ge.height=2*Oe),ge}pointAttribs(x,N){let Te,Oe,Be,oe,R=this.options.marker,Z=x&&x.options,Y=Z&&Z.marker||{},he=Z&&Z.color,ge=x&&x.color,_e=x&&x.zone&&x.zone.color,De=this.color,ee=K(Y.lineWidth,R.lineWidth),be=1;return De=he||_e||ge||De,Be=Y.fillColor||R.fillColor||De,oe=Y.lineColor||R.lineColor||De,Te=R.states[N=N||"normal"]||{},ee=K((Oe=Y.states&&Y.states[N]||{}).lineWidth,Te.lineWidth,ee+K(Oe.lineWidthPlus,Te.lineWidthPlus,0)),Be=Oe.fillColor||Te.fillColor||Be,{stroke:oe=Oe.lineColor||Te.lineColor||oe,"stroke-width":ee,fill:Be,opacity:be=K(Oe.opacity,Te.opacity,be)}}destroy(x){let N,R,Z,Y=this,he=Y.chart,ge=/AppleWebKit\/533/.test(A.navigator.userAgent),_e=Y.data||[];for(r(Y,"destroy",{keepEventsForUpdate:x}),this.removeEvents(x),(Y.axisTypes||[]).forEach(function(Te){(Z=Y[Te])&&Z.series&&(g(Z.series,Y),Z.isDirty=Z.forceRedraw=!0)}),Y.legendItem&&Y.chart.legend.destroyItem(Y),N=_e.length;N--;)(R=_e[N])&&R.destroy&&R.destroy();for(let Te of Y.zones)f(Te,void 0,!0);X.clearTimeout(Y.animationTimeout),z(Y,function(Te,Oe){Te instanceof te&&!Te.survive&&Te[ge&&"group"===Oe?"hide":"destroy"]()}),he.hoverSeries===Y&&(he.hoverSeries=void 0),g(he.series,Y),he.orderItems("series"),z(Y,function(Te,Oe){x&&"hcEvents"===Oe||delete Y[Oe]})}applyZones(){let{area:x,chart:N,graph:R,zones:Z,points:Y,xAxis:he,yAxis:ge,zoneAxis:_e}=this,{inverted:Te,renderer:Oe}=N,De=this[`${_e}Axis`],{isXAxis:Be,len:oe=0}=De||{},ee=(R?.strokeWidth()||0)/2+1,be=(xe,Ie=0,we=0)=>{Te&&(we=oe-we);let{translated:Ee=0,lineClip:Me}=xe,Xe=we-Ee;Me?.push(["L",Ie,Math.abs(Xe){Me.forEach((Xe,Je)=>{("M"===Xe[0]||"L"===Xe[0])&&(Me[Je]=[Xe[0],Be?oe-Xe[1]:Xe[1],Be?Xe[2]:oe-Xe[2]])})};if(Z.forEach(Me=>{Me.lineClip=[],Me.translated=w(De.toPixels(K(Me.value,xe),!0)||0,0,oe)}),R&&!this.showLine&&R.hide(),x&&x.hide(),"y"===_e&&Y.length{let Xe=Me.lineClip||[],Je=Math.round(Me.translated||0);he.reversed&&Xe.reverse();let{clip:lt,simpleClip:qe}=Me,st=0,Tt=0,pt=he.len,ht=ge.len;Be?(st=Je,pt=Ee):(Tt=Je,ht=Ee);let Pt=[["M",st,Tt],["L",pt,Tt],["L",pt,ht],["L",st,ht],["Z"]],Gt=[Pt[0],...Xe,Pt[1],Pt[2],...we,Pt[3],Pt[4]];we=Xe.reverse(),Ee=Je,Te&&(Ie(Gt),x&&Ie(Pt)),lt?(lt.animate({d:Gt}),qe?.animate({d:Pt})):(lt=Me.clip=Oe.path(Gt),x&&(qe=Me.simpleClip=Oe.path(Pt))),R&&Me.graph?.clip(lt),x&&Me.area?.clip(qe)})}else this.visible&&(R&&R.show(),x&&x.show())}plotGroup(x,N,R,Z,Y){let he=this[x],ge=!he,_e={visibility:R,zIndex:Z||.1};return O(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(_e.opacity=this.opacity),he||(this[x]=he=this.chart.renderer.g().add(Y)),he.addClass("highcharts-"+N+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(O(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(he.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),he.attr(_e)[ge?"attr":"animate"](this.getPlotBox(N)),he}getPlotBox(x){let N=this.xAxis,R=this.yAxis,Z=this.chart,Y=Z.inverted&&!Z.polar&&N&&this.invertible&&"series"===x;return Z.inverted&&(N=R,R=this.xAxis),{translateX:N?N.left:Z.plotLeft,translateY:R?R.top:Z.plotTop,rotation:Y?90:0,rotationOriginX:Y?(N.len-R.len)/2:0,rotationOriginY:Y?(N.len+R.len)/2:0,scaleX:Y?-1:1,scaleY:1}}removeEvents(x){let{eventsToUnbind:N}=this;x||U(this),N.length&&(N.forEach(R=>{R()}),N.length=0)}render(){let x=this,{chart:N,options:R,hasRendered:Z}=x,Y=E(R.animation),he=x.visible?"inherit":"hidden",ge=R.zIndex,_e=N.seriesGroup,Te=x.finishedAnimating?0:Y.duration;r(this,"render"),x.plotGroup("group","series",he,ge,_e),x.markerGroup=x.plotGroup("markerGroup","markers",he,ge,_e),!1!==R.clip&&x.setClip(),Te&&x.animate?.(!0),x.drawGraph&&(x.drawGraph(),x.applyZones()),x.visible&&x.drawPoints(),x.drawDataLabels?.(),x.redrawPoints?.(),R.enableMouseTracking&&x.drawTracker?.(),Te&&x.animate?.(),Z||(Te&&Y.defer&&(Te+=Y.defer),x.animationTimeout=S(()=>{x.afterAnimate()},Te||0)),x.isDirty=!1,x.hasRendered=!0,r(x,"afterRender")}redraw(){let x=this.isDirty||this.isDirtyData;this.translate(),this.render(),x&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(x,N){let{xAxis:R,yAxis:Z}=this,Y=this.chart.inverted;return this.searchKDTree({clientX:Y?R.len-x.chartY+R.pos:x.chartX-R.pos,plotY:Y?Z.len-x.chartX+Z.pos:x.chartY-Z.pos},N,x)}buildKDTree(x){this.buildingKdTree=!0;let N=this,R=N.options.findNearestPointBy.indexOf("y")>-1?2:1;delete N.kdTree,S(function(){N.kdTree=function Z(Y,he,ge){let _e,Te,Oe=Y?.length;if(Oe)return _e=N.kdAxisArray[he%ge],Y.sort((De,Be)=>(De[_e]||0)-(Be[_e]||0)),{point:Y[Te=Math.floor(Oe/2)],left:Z(Y.slice(0,Te),he+1,ge),right:Z(Y.slice(Te+1),he+1,ge)}}(N.getValidPoints(void 0,!N.directTouch),R,R),N.buildingKdTree=!1},N.options.kdNow||"touchstart"===x?.type?0:1)}searchKDTree(x,N,R){let Z=this,[Y,he]=this.kdAxisArray,ge=N?"distX":"dist",_e=(Z.options.findNearestPointBy||"").indexOf("y")>-1?2:1,Te=!!Z.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(R),this.kdTree)return function Oe(De,Be,oe,ee){let Ie,we,be=Be.point,xe=Z.kdAxisArray[oe%ee],Ee=be;!function(lt,qe){let st=lt[Y],Tt=qe[Y],pt=O(st)&&O(Tt)?st-Tt:null,ht=lt[he],Pt=qe[he],Gt=O(ht)&&O(Pt)?ht-Pt:0,ti=Te&&qe.marker?.radius||0;qe.dist=Math.sqrt((pt&&pt*pt||0)+Gt*Gt)-ti,qe.distX=O(pt)?Math.abs(pt)-ti:Number.MAX_VALUE}(De,be);let Me=(De[xe]||0)-(be[xe]||0)+(Te&&be.marker?.radius||0),Xe=Me<0?"left":"right",Je=Me<0?"right":"left";return Be[Xe]&&(Ee=(Ie=Oe(De,Be[Xe],oe+1,ee))[ge]=0&&he<=(Z?Z.len:N.plotHeight)&&Y>=0&&Y<=(R?R.len:N.plotWidth)}drawTracker(){let x=this,N=x.options,R=N.trackByArea,Z=[].concat((R?x.areaPath:x.graphPath)||[]),Y=x.chart,he=Y.pointer,ge=Y.renderer,_e=Y.options.tooltip?.snap||0,Te=()=>{N.enableMouseTracking&&Y.hoverSeries!==x&&x.onMouseOver()},Oe="rgba(192,192,192,"+(D?1e-4:.002)+")",De=x.tracker;De?De.attr({d:Z}):x.graph&&(x.tracker=De=ge.path(Z).attr({visibility:x.visible?"inherit":"hidden",zIndex:2}).addClass(R?"highcharts-tracker-area":"highcharts-tracker-line").add(x.group),Y.styledMode||De.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:Oe,fill:R?Oe:"none","stroke-width":x.graph.strokeWidth()+(R?0:2*_e)}),[x.tracker,x.markerGroup,x.dataLabelsGroup].forEach(Be=>{Be&&(Be.addClass("highcharts-tracker").on("mouseover",Te).on("mouseout",oe=>{he?.onTrackerMouseOut(oe)}),N.cursor&&!Y.styledMode&&Be.css({cursor:N.cursor}),Be.on("touchstart",Te))})),r(this,"afterDrawTracker")}addPoint(x,N,R,Z,Y){let he,ge,_e=this.options,Te=this.data,Oe=this.chart,De=this.xAxis,Be=De&&De.hasNames&&De.names,oe=_e.data,ee=this.xData;N=K(N,!0);let be={series:this};this.pointClass.prototype.applyOptions.apply(be,[x]);let xe=be.x;if(ge=ee.length,this.requireSorting&&xexe;)ge--;this.updateParallelArrays(be,"splice",[ge,0,0]),this.updateParallelArrays(be,ge),Be&&be.name&&(Be[xe]=be.name),oe.splice(ge,0,x),(he||this.processedData)&&(this.data.splice(ge,0,null),this.processData()),"point"===_e.legendType&&this.generatePoints(),R&&(Te[0]&&Te[0].remove?Te[0].remove(!1):(Te.shift(),this.updateParallelArrays(be,"shift"),oe.shift())),!1!==Y&&r(this,"addPoint",{point:be}),this.isDirty=!0,this.isDirtyData=!0,N&&Oe.redraw(Z)}removePoint(x,N,R){let Z=this,Y=Z.data,he=Y[x],ge=Z.points,_e=Z.chart,Te=function(){ge&&ge.length===Y.length&&ge.splice(x,1),Y.splice(x,1),Z.options.data.splice(x,1),Z.updateParallelArrays(he||{series:Z},"splice",[x,1]),he&&he.destroy(),Z.isDirty=!0,Z.isDirtyData=!0,N&&_e.redraw()};j(R,_e),N=K(N,!0),he?he.firePointEvent("remove",null,Te):Te()}remove(x,N,R,Z){let Y=this,he=Y.chart;function ge(){Y.destroy(Z),he.isDirtyLegend=he.isDirtyBox=!0,he.linkSeries(Z),K(x,!0)&&he.redraw(N)}!1!==R?r(Y,"remove",null,ge):ge()}update(x,N){r(this,"update",{options:x=a(x,this.userOptions)});let De,Be,R=this,Z=R.chart,Y=R.userOptions,he=R.initialType||R.type,ge=Z.options.plotOptions,_e=I[he].prototype,Te=R.finishedAnimating&&{animation:!1},Oe={},oe=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],ee=x.type||Y.type||Z.options.chart.type,be=!(this.hasDerivedData||ee&&ee!==this.type||void 0!==x.pointStart||void 0!==x.pointInterval||void 0!==x.relativeXValue||x.joinBy||x.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(Ie=>R.hasOptionChanged(Ie)));ee=ee||he,be&&(oe.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==x.visible&&oe.push("area","graph"),R.parallelArrays.forEach(function(Ie){oe.push(Ie+"Data")}),x.data&&(x.dataSorting&&o(R.options.dataSorting,x.dataSorting),this.setData(x.data,!1))),x=B(Y,{index:void 0===Y.index?R.index:Y.index,pointStart:ge?.series?.pointStart??Y.pointStart??R.xData?.[0]},!be&&{data:R.options.data},x,Te),be&&x.data&&(x.data=R.options.data),(oe=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(oe)).forEach(function(Ie){oe[Ie]=R[Ie],delete R[Ie]});let xe=!1;if(I[ee]){if(xe=ee!==R.type,R.remove(!1,!1,!1,!0),xe)if(Z.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(R,I[ee].prototype);else{let Ie=Object.hasOwnProperty.call(R,"hcEvents")&&R.hcEvents;for(Be in _e)R[Be]=void 0;o(R,I[ee].prototype),Ie?R.hcEvents=Ie:delete R.hcEvents}}else v(17,!0,Z,{missingModuleFor:ee});if(oe.forEach(function(Ie){R[Ie]=oe[Ie]}),R.init(Z,x),be&&this.points)for(let Ie of(!1===(De=R.options).visible?(Oe.graphic=1,Oe.dataLabel=1):(this.hasMarkerChanged(De,Y)&&(Oe.graphic=1),R.hasDataLabels?.()||(Oe.dataLabel=1)),this.points))Ie&&Ie.series&&(Ie.resolveColor(),Object.keys(Oe).length&&Ie.destroyElements(Oe),!1===De.showInLegend&&Ie.legendItem&&Z.legend.destroyItem(Ie));R.initialType=he,Z.linkSeries(),Z.setSortedData(),xe&&R.linkedSeries.length&&(R.isDirtyData=!0),r(this,"afterUpdate"),K(N,!0)&&Z.redraw(!!be&&void 0)}setName(x){this.name=this.options.name=this.userOptions.name=x,this.chart.isDirtyLegend=!0}hasOptionChanged(x){let R=this.options[x],Z=this.chart.options.plotOptions,Y=this.userOptions[x],he=K(Z?.[this.type]?.[x],Z?.series?.[x]);return Y&&!O(he)?R!==Y:R!==K(he,R)}onMouseOver(){let x=this.chart,N=x.hoverSeries;x.pointer?.setHoverChartIndex(),N&&N!==this&&N.onMouseOut(),this.options.events.mouseOver&&r(this,"mouseOver"),this.setState("hover"),x.hoverSeries=this}onMouseOut(){let x=this.options,N=this.chart,R=N.tooltip,Z=N.hoverPoint;N.hoverSeries=null,Z&&Z.onMouseOut(),this&&x.events.mouseOut&&r(this,"mouseOut"),R&&!this.stickyTracking&&(!R.shared||this.noSharedTooltip)&&R.hide(),N.series.forEach(function(Y){Y.setState("",!0)})}setState(x,N){let R=this,Z=R.options,Y=R.graph,he=Z.inactiveOtherPoints,ge=Z.states,_e=K(ge[x||"normal"]&&ge[x||"normal"].animation,R.chart.options.chart.animation),Te=Z.lineWidth,Oe=Z.opacity;if(R.state!==(x=x||"")&&([R.group,R.markerGroup,R.dataLabelsGroup].forEach(function(De){De&&(R.state&&De.removeClass("highcharts-series-"+R.state),x&&De.addClass("highcharts-series-"+x))}),R.state=x,!R.chart.styledMode)){if(ge[x]&&!1===ge[x].enabled)return;if(x&&(Te=ge[x].lineWidth||Te+(ge[x].lineWidthPlus||0),Oe=K(ge[x].opacity,Oe)),Y&&!Y.dashstyle&&p(Te))for(let De of[Y,...this.zones.map(Be=>Be.graph)])De?.animate({"stroke-width":Te},_e);he||[R.group,R.markerGroup,R.dataLabelsGroup,R.labelBySeries].forEach(function(De){De&&De.animate({opacity:Oe},_e)})}N&&he&&R.points&&R.setAllPointsToState(x||void 0)}setAllPointsToState(x){this.points.forEach(function(N){N.setState&&N.setState(x)})}setVisible(x,N){let R=this,Z=R.chart,Y=Z.options.chart.ignoreHiddenSeries;R.visible=x=R.options.visible=R.userOptions.visible=void 0===x?!R.visible:x;let ge=x?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(_e=>{R[_e]?.[ge]()}),(Z.hoverSeries===R||Z.hoverPoint?.series===R)&&R.onMouseOut(),R.legendItem&&Z.legend.colorizeItem(R,x),R.isDirty=!0,R.options.stacking&&Z.series.forEach(_e=>{_e.options.stacking&&_e.visible&&(_e.isDirty=!0)}),R.linkedSeries.forEach(_e=>{_e.setVisible(x,!1)}),Y&&(Z.isDirtyBox=!0),r(R,ge),!1!==N&&Z.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(x){this.selected=x=this.options.selected=void 0===x?!this.selected:x,this.checkbox&&(this.checkbox.checked=x),r(this,x?"select":"unselect")}shouldShowTooltip(x,N,R={}){return R.series=this,R.visiblePlotOnly=!0,this.chart.isInsidePlot(x,N,R)}drawLegendSymbol(x,N){le[this.options.legendSymbol||"rectangle"]?.call(this,x,N)}}return $.defaultOptions=ue,$.types=J.seriesTypes,$.registerType=J.registerSeriesType,o($.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:pe,requireSorting:!0,sorted:!0}),J.series=$,$}),Le(V,"Core/Chart/Chart.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Time.js"],V["Core/Utilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Axis/Tick.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X,E,j,F,P){let{animate:D,animObject:A,setAnimation:I}=q,{defaultOptions:_,defaultTime:m}=re,{numberFormat:w}=ve,{registerEventOptions:G}=le,{charts:O,doc:f,marginNames:a,svg:g,win:v}=pe,{seriesTypes:o}=te,{addEvent:n,attr:r,createElement:l,css:d,defined:C,diffObjects:k,discardElement:p,erase:T,error:B,extend:z,find:K,fireEvent:U,getStyle:se,isArray:S,isNumber:$,isObject:H,isString:x,merge:N,objectEach:R,pick:Z,pInt:Y,relativeLength:he,removeEvent:ge,splat:_e,syncTimeout:Te,uniqueKey:Oe}=j;class De{static chart(oe,ee,be){return new De(oe,ee,be)}constructor(oe,ee,be){this.sharedClips={};let xe=[...arguments];(x(oe)||oe.nodeName)&&(this.renderTo=xe.shift()),this.init(xe[0],xe[1])}setZoomOptions(){let oe=this.options.chart,ee=oe.zooming;this.zooming={...ee,type:Z(oe.zoomType,ee.type),key:Z(oe.zoomKey,ee.key),pinchType:Z(oe.pinchType,ee.pinchType),singleTouch:Z(oe.zoomBySingleTouch,ee.singleTouch,!1),resetButton:N(ee.resetButton,oe.resetZoomButton)}}init(oe,ee){U(this,"init",{args:arguments},function(){let be=N(_,oe),xe=be.chart;this.userOptions=z({},oe),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=ee,this.isResizing=0,this.options=be,this.axes=[],this.series=[],this.time=oe.time&&Object.keys(oe.time).length?new E(oe.time):pe.time,this.numberFormatter=xe.numberFormatter||w,this.styledMode=xe.styledMode,this.hasCartesianSeries=xe.showAxes,this.index=O.length,O.push(this),pe.chartCount++,G(this,xe),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),U(this,"afterInit"),this.firstRender()})}initSeries(oe){let be=oe.type||this.options.chart.type,xe=o[be];xe||B(17,!0,this,{missingModuleFor:be});let Ie=new xe;return"function"==typeof Ie.init&&Ie.init(this,oe),Ie}setSortedData(){this.getSeriesOrderByLinks().forEach(function(oe){oe.points||oe.data||!oe.enabledDataSorting||oe.setData(oe.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(oe,ee){return oe.linkedSeries.length||ee.linkedSeries.length?ee.linkedSeries.length-oe.linkedSeries.length:0})}orderItems(oe,ee=0){let be=this[oe],xe=this.options[oe]=_e(this.options[oe]).slice(),Ie=this.userOptions[oe]=this.userOptions[oe]?_e(this.userOptions[oe]).slice():[];if(this.hasRendered&&(xe.splice(ee),Ie.splice(ee)),be)for(let we=ee,Ee=be.length;we=Math.max(Xe+we,ht.pos)&&Pt<=Math.min(Xe+we+qe.width,ht.pos+ht.len)||(pt.isInsidePlot=!1)}if(!be.ignoreY&&pt.isInsidePlot){let ht=!xe&&be.axis&&!be.axis.isXAxis&&be.axis||lt&&(xe?lt.xAxis:lt.yAxis)||{pos:Ee,len:1/0},Pt=be.paneCoordinates?ht.pos+Tt:Ee+Tt;Pt>=Math.max(Je+Ee,ht.pos)&&Pt<=Math.min(Je+Ee+qe.height,ht.pos+ht.len)||(pt.isInsidePlot=!1)}return U(this,"afterIsInsidePlot",pt),pt.isInsidePlot}redraw(oe){U(this,"beforeRedraw");let Je,lt,qe,pt,ee=this.hasCartesianSeries?this.axes:this.colorAxis||[],be=this.series,xe=this.pointer,Ie=this.legend,we=this.userOptions.legend,Ee=this.renderer,Me=Ee.isHidden(),Xe=[],st=this.isDirtyBox,Tt=this.isDirtyLegend;for(Ee.rootFontSize=Ee.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),I(!!this.hasRendered&&oe,this),Me&&this.temporaryDisplay(),this.layOutTitles(!1),qe=be.length;qe--;)if(((pt=be[qe]).options.stacking||pt.options.centerInCategory)&&(lt=!0,pt.isDirty)){Je=!0;break}if(Je)for(qe=be.length;qe--;)(pt=be[qe]).options.stacking&&(pt.isDirty=!0);be.forEach(function(ht){ht.isDirty&&("point"===ht.options.legendType?("function"==typeof ht.updateTotals&&ht.updateTotals(),Tt=!0):we&&(we.labelFormatter||we.labelFormat)&&(Tt=!0)),ht.isDirtyData&&U(ht,"updatedData")}),Tt&&Ie&&Ie.options.enabled&&(Ie.render(),this.isDirtyLegend=!1),lt&&this.getStacks(),ee.forEach(function(ht){ht.updateNames(),ht.setScale()}),this.getMargins(),ee.forEach(function(ht){ht.isDirty&&(st=!0)}),ee.forEach(function(ht){let Pt=ht.min+","+ht.max;ht.extKey!==Pt&&(ht.extKey=Pt,Xe.push(function(){U(ht,"afterSetExtremes",z(ht.eventArgs,ht.getExtremes())),delete ht.eventArgs})),(st||lt)&&ht.redraw()}),st&&this.drawChartBox(),U(this,"predraw"),be.forEach(function(ht){(st||ht.isDirty)&&ht.visible&&ht.redraw(),ht.isDirtyData=!1}),xe&&xe.reset(!0),Ee.draw(),U(this,"redraw"),U(this,"render"),Me&&this.temporaryDisplay(!0),Xe.forEach(function(ht){ht.call()})}get(oe){let ee=this.series;function be(Ie){return Ie.id===oe||Ie.options&&Ie.options.id===oe}let xe=K(this.axes,be)||K(this.series,be);for(let Ie=0;!xe&&Ie(ee.getPointsCollection().forEach(be=>{Z(be.selectedStaging,be.selected)&&oe.push(be)}),oe),[])}getSelectedSeries(){return this.series.filter(function(oe){return oe.selected})}setTitle(oe,ee,be){this.applyDescription("title",oe),this.applyDescription("subtitle",ee),this.applyDescription("caption",void 0),this.layOutTitles(be)}applyDescription(oe,ee){let be=this,xe=this.options[oe]=N(this.options[oe],ee),Ie=this[oe];Ie&&ee&&(this[oe]=Ie=Ie.destroy()),xe&&!Ie&&((Ie=this.renderer.text(xe.text,0,0,xe.useHTML).attr({align:xe.align,class:"highcharts-"+oe,zIndex:xe.zIndex||4}).add()).update=function(we,Ee){be.applyDescription(oe,we),be.layOutTitles(Ee)},this.styledMode||Ie.css(z("title"===oe?{fontSize:this.options.isStock?"1em":"1.2em"}:{},xe.style)),this[oe]=Ie)}layOutTitles(oe=!0){let ee=[0,0,0],be=this.renderer,xe=this.spacingBox;["title","subtitle","caption"].forEach(function(we){let Ee=this[we],Me=this.options[we],Xe=Me.verticalAlign||"top",Je="title"===we?"top"===Xe?-3:0:"top"===Xe?ee[0]+2:0;if(Ee){Ee.css({width:(Me.width||xe.width+(Me.widthAdjust||0))+"px"});let lt=be.fontMetrics(Ee).b,qe=Math.round(Ee.getBBox(Me.useHTML).height);Ee.align(z({y:"bottom"===Xe?lt:Je+lt,height:qe},Me),!1,"spacingBox"),Me.floating||("top"===Xe?ee[0]=Math.ceil(ee[0]+qe):"bottom"===Xe&&(ee[2]=Math.ceil(ee[2]+qe)))}},this),ee[0]&&"top"===(this.options.title.verticalAlign||"top")&&(ee[0]+=this.options.title.margin),ee[2]&&"bottom"===this.options.caption.verticalAlign&&(ee[2]+=this.options.caption.margin);let Ie=!this.titleOffset||this.titleOffset.join(",")!==ee.join(",");this.titleOffset=ee,U(this,"afterLayOutTitles"),!this.isDirtyBox&&Ie&&(this.isDirtyBox=this.isDirtyLegend=Ie,this.hasRendered&&oe&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:se(this.renderTo,"width",!0)||0,height:se(this.renderTo,"height",!0)||0}}getChartSize(){let oe=this.options.chart,ee=oe.width,be=oe.height,xe=this.getContainerBox();this.chartWidth=Math.max(0,ee||xe.width||600),this.chartHeight=Math.max(0,he(be,this.chartWidth)||(xe.height>1?xe.height:400)),this.containerBox=xe}temporaryDisplay(oe){let be,ee=this.renderTo;if(oe)for(;ee&&ee.style;)ee.hcOrigStyle&&(d(ee,ee.hcOrigStyle),delete ee.hcOrigStyle),ee.hcOrigDetached&&(f.body.removeChild(ee),ee.hcOrigDetached=!1),ee=ee.parentNode;else for(;ee&&ee.style&&(f.body.contains(ee)||ee.parentNode||(ee.hcOrigDetached=!0,f.body.appendChild(ee)),("none"===se(ee,"display",!1)||ee.hcOricDetached)&&(ee.hcOrigStyle={display:ee.style.display,height:ee.style.height,overflow:ee.style.overflow},be={display:"block",overflow:"hidden"},ee!==this.renderTo&&(be.height=0),d(ee,be),ee.offsetWidth||ee.style.setProperty("display","block","important")),(ee=ee.parentNode)!==f.body););}setClassName(oe){this.container.className="highcharts-container "+(oe||"")}getContainer(){let Ie,oe=this.options,ee=oe.chart,be="data-highcharts-chart",xe=Oe(),we=this.renderTo;we||(this.renderTo=we=ee.renderTo),x(we)&&(this.renderTo=we=f.getElementById(we)),we||B(13,!0,this);let Ee=Y(r(we,be));$(Ee)&&O[Ee]&&O[Ee].hasRendered&&O[Ee].destroy(),r(we,be,this.index),we.innerHTML=F.emptyHTML,ee.skipClone||we.offsetWidth||this.temporaryDisplay(),this.getChartSize();let Me=this.chartHeight,Xe=this.chartWidth;d(we,{overflow:"hidden"}),this.styledMode||(Ie=z({position:"relative",overflow:"hidden",width:Xe+"px",height:Me+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},ee.style||{}));let Je=l("div",{id:xe},Ie,we);this.container=Je,this.getChartSize(),Xe===this.chartWidth||(Xe=this.chartWidth,this.styledMode||d(Je,{width:Z(ee.style?.width,Xe+"px")})),this.containerBox=this.getContainerBox(),this._cursor=Je.style.cursor;let lt=ee.renderer||!g?ue.getRendererType(ee.renderer):X;if(this.renderer=new lt(Je,Xe,Me,void 0,ee.forExport,oe.exporting&&oe.exporting.allowHTML,this.styledMode),I(void 0,this),this.setClassName(ee.className),this.styledMode)for(let qe in oe.defs)this.renderer.definition(oe.defs[qe]);else this.renderer.setStyle(ee.style);this.renderer.chartIndex=this.index,U(this,"afterGetContainer")}getMargins(oe){let{spacing:ee,margin:be,titleOffset:xe}=this;this.resetMargins(),xe[0]&&!C(be[0])&&(this.plotTop=Math.max(this.plotTop,xe[0]+ee[0])),xe[2]&&!C(be[2])&&(this.marginBottom=Math.max(this.marginBottom,xe[2]+ee[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(be,ee),U(this,"getMargins"),oe||this.getAxisMargins()}getAxisMargins(){let oe=this,ee=oe.axisOffset=[0,0,0,0],be=oe.colorAxis,xe=oe.margin,Ie=function(we){we.forEach(function(Ee){Ee.visible&&Ee.getOffset()})};oe.hasCartesianSeries?Ie(oe.axes):be&&be.length&&Ie(be),a.forEach(function(we,Ee){C(xe[Ee])||(oe[we]+=ee[Ee])}),oe.setChartSize()}getOptions(){return k(this.userOptions,_)}reflow(oe){let ee=this,be=ee.containerBox,xe=ee.getContainerBox();delete ee.pointer?.chartPosition,!ee.isPrinting&&!ee.isResizing&&be&&xe.width&&((xe.width!==be.width||xe.height!==be.height)&&(j.clearTimeout(ee.reflowTimeout),ee.reflowTimeout=Te(function(){ee.container&&ee.setSize(void 0,void 0,!1)},oe?100:0)),ee.containerBox=xe)}setReflow(){let oe=this,ee=be=>{oe.options?.chart.reflow&&oe.hasLoaded&&oe.reflow(be)};if("function"==typeof ResizeObserver)new ResizeObserver(ee).observe(oe.renderTo);else{let be=n(v,"resize",ee);n(this,"destroy",be)}}setSize(oe,ee,be){let xe=this,Ie=xe.renderer;xe.isResizing+=1,I(be,xe);let we=Ie.globalAnimation;xe.oldChartHeight=xe.chartHeight,xe.oldChartWidth=xe.chartWidth,void 0!==oe&&(xe.options.chart.width=oe),void 0!==ee&&(xe.options.chart.height=ee),xe.getChartSize();let{chartWidth:Ee,chartHeight:Me,scrollablePixelsX:Xe=0,scrollablePixelsY:Je=0}=xe;(xe.isDirtyBox||Ee!==xe.oldChartWidth||Me!==xe.oldChartHeight)&&(xe.styledMode||(we?D:d)(xe.container,{width:`${Ee+Xe}px`,height:`${Me+Je}px`},we),xe.setChartSize(!0),Ie.setSize(Ee,Me,we),xe.axes.forEach(function(lt){lt.isDirty=!0,lt.setScale()}),xe.isDirtyLegend=!0,xe.isDirtyBox=!0,xe.layOutTitles(),xe.getMargins(),xe.redraw(we),xe.oldChartHeight=void 0,U(xe,"resize"),setTimeout(()=>{xe&&U(xe,"endResize",void 0,()=>{xe.isResizing-=1})},A(we).duration))}setChartSize(oe){let ee,be,xe,Ie,we=this.inverted,Ee=this.renderer,Me=this.chartWidth,Xe=this.chartHeight,Je=this.options.chart,lt=this.spacing,qe=this.clipOffset;this.plotLeft=ee=Math.round(this.plotLeft),this.plotTop=be=Math.round(this.plotTop),this.plotWidth=xe=Math.max(0,Math.round(Me-ee-this.marginRight)),this.plotHeight=Ie=Math.max(0,Math.round(Xe-be-this.marginBottom)),this.plotSizeX=we?Ie:xe,this.plotSizeY=we?xe:Ie,this.plotBorderWidth=Je.plotBorderWidth||0,this.spacingBox=Ee.spacingBox={x:lt[3],y:lt[0],width:Me-lt[3]-lt[1],height:Xe-lt[0]-lt[2]},this.plotBox=Ee.plotBox={x:ee,y:be,width:xe,height:Ie};let st=2*Math.floor(this.plotBorderWidth/2),Tt=Math.ceil(Math.max(st,qe[3])/2),pt=Math.ceil(Math.max(st,qe[0])/2);this.clipBox={x:Tt,y:pt,width:Math.floor(this.plotSizeX-Math.max(st,qe[1])/2-Tt),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(st,qe[2])/2-pt))},oe||(this.axes.forEach(function(ht){ht.setAxisSize(),ht.setAxisTranslation()}),Ee.alignElements()),U(this,"afterSetChartSize",{skipAxes:oe})}resetMargins(){U(this,"resetMargins");let oe=this,ee=oe.options.chart;["margin","spacing"].forEach(function(be){let xe=ee[be],Ie=H(xe)?xe:[xe,xe,xe,xe];["Top","Right","Bottom","Left"].forEach(function(we,Ee){oe[be][Ee]=Z(ee[be+we],Ie[Ee])})}),a.forEach(function(be,xe){oe[be]=Z(oe.margin[xe],oe.spacing[xe])}),oe.axisOffset=[0,0,0,0],oe.clipOffset=[0,0,0,0]}drawChartBox(){let Dt,It,xt,oe=this.options.chart,ee=this.renderer,be=this.chartWidth,xe=this.chartHeight,Ie=this.styledMode,we=this.plotBGImage,Ee=oe.backgroundColor,Me=oe.plotBackgroundColor,Xe=oe.plotBackgroundImage,Je=this.plotLeft,lt=this.plotTop,qe=this.plotWidth,st=this.plotHeight,Tt=this.plotBox,pt=this.clipRect,ht=this.clipBox,Pt=this.chartBackground,Gt=this.plotBackground,ti=this.plotBorder,wt="animate";Pt||(this.chartBackground=Pt=ee.rect().addClass("highcharts-background").add(),wt="attr"),Ie?Dt=It=Pt.strokeWidth():(It=(Dt=oe.borderWidth||0)+(oe.shadow?8:0),xt={fill:Ee||"none"},(Dt||Pt["stroke-width"])&&(xt.stroke=oe.borderColor,xt["stroke-width"]=Dt),Pt.attr(xt).shadow(oe.shadow)),Pt[wt]({x:It/2,y:It/2,width:be-It-Dt%2,height:xe-It-Dt%2,r:oe.borderRadius}),wt="animate",Gt||(wt="attr",this.plotBackground=Gt=ee.rect().addClass("highcharts-plot-background").add()),Gt[wt](Tt),!Ie&&(Gt.attr({fill:Me||"none"}).shadow(oe.plotShadow),Xe&&(we?(Xe!==we.attr("href")&&we.attr("href",Xe),we.animate(Tt)):this.plotBGImage=ee.image(Xe,Je,lt,qe,st).add())),pt?pt.animate({width:ht.width,height:ht.height}):this.clipRect=ee.clipRect(ht),wt="animate",ti||(wt="attr",this.plotBorder=ti=ee.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),Ie||ti.attr({stroke:oe.plotBorderColor,"stroke-width":oe.plotBorderWidth||0,fill:"none"}),ti[wt](ti.crisp({x:Je,y:lt,width:qe,height:st},-ti.strokeWidth())),this.isDirtyBox=!1,U(this,"afterDrawChartBox")}propFromSeries(){let oe,ee,be,xe=this,Ie=xe.options.chart,we=xe.options.series;["inverted","angular","polar"].forEach(function(Ee){for(ee=o[Ie.type],be=Ie[Ee]||ee&&ee.prototype[Ee],oe=we&&we.length;!be&&oe--;)(ee=o[we[oe].type])&&ee.prototype[Ee]&&(be=!0);xe[Ee]=be})}linkSeries(oe){let ee=this,be=ee.series;be.forEach(function(xe){xe.linkedSeries.length=0}),be.forEach(function(xe){let{linkedTo:Ie}=xe.options;if(x(Ie)){let we;(we=":previous"===Ie?ee.series[xe.index-1]:ee.get(Ie))&&we.linkedParent!==xe&&(we.linkedSeries.push(xe),xe.linkedParent=we,we.enabledDataSorting&&xe.setDataSortingOptions(),xe.visible=Z(xe.options.visible,we.options.visible,xe.visible))}}),U(this,"afterLinkSeries",{isUpdating:oe})}renderSeries(){this.series.forEach(function(oe){oe.translate(),oe.render()})}render(){let Me,oe=this.axes,ee=this.colorAxis,be=this.renderer,xe=this.options.chart.axisLayoutRuns||2,Ie=Je=>{Je.forEach(lt=>{lt.visible&<.render()})},we=0,Ee=!0,Xe=0;for(let Je of(this.setTitle(),U(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),oe)){let{options:lt}=Je,{labels:qe}=lt;if(Je.horiz&&Je.visible&&qe.enabled&&Je.series.length&&"colorAxis"!==Je.coll&&!this.polar){we=lt.tickLength,Je.createGroups();let st=new P(Je,0,"",!0),Tt=st.createLabel("x",qe);if(st.destroy(),Tt&&Z(qe.reserveSpace,!$(lt.crossing))&&(we=Tt.getBBox().height+qe.distance+Math.max(lt.offset||0,0)),we){Tt?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-we,0);(Ee||Me||xe>1)&&Xe(Xe?1:1.1),Me=lt/this.plotHeight>(Xe?1:1.05),Xe++}this.drawChartBox(),this.hasCartesianSeries?Ie(oe):ee&&ee.length&&Ie(ee),this.seriesGroup||(this.seriesGroup=be.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(oe){let ee=this,be=N(!0,this.options.credits,oe);be.enabled&&!this.credits&&(this.credits=this.renderer.text(be.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){be.href&&(v.location.href=be.href)}).attr({align:be.position.align,zIndex:8}),ee.styledMode||this.credits.css(be.style),this.credits.add().align(be.position),this.credits.update=function(xe){ee.credits=ee.credits.destroy(),ee.addCredits(xe)})}destroy(){let oe,ee=this,be=ee.axes,xe=ee.series,Ie=ee.container,we=Ie&&Ie.parentNode;for(U(ee,"destroy"),ee.renderer.forExport?T(O,ee):O[ee.index]=void 0,pe.chartCount--,ee.renderTo.removeAttribute("data-highcharts-chart"),ge(ee),oe=be.length;oe--;)be[oe]=be[oe].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),oe=xe.length;oe--;)xe[oe]=xe[oe].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(Ee){let Me=ee[Ee];Me&&Me.destroy&&(ee[Ee]=Me.destroy())}),Ie&&(Ie.innerHTML=F.emptyHTML,ge(Ie),we&&p(Ie)),R(ee,function(Ee,Me){delete ee[Me]})}firstRender(){let oe=this,ee=oe.options;oe.getContainer(),oe.resetMargins(),oe.setChartSize(),oe.propFromSeries(),oe.getAxes();let be=S(ee.series)?ee.series:[];ee.series=[],be.forEach(function(xe){oe.initSeries(xe)}),oe.linkSeries(),oe.setSortedData(),U(oe,"beforeRender"),oe.render(),oe.pointer?.getChartPosition(),oe.renderer.imgCount||oe.hasLoaded||oe.onload(),oe.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(oe){oe&&void 0!==this.index&&oe.apply(this,[this])},this),U(this,"load"),U(this,"render"),C(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:oe,title:ee}=this;!oe||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(ee&&ee.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(oe,ee){let be=this,xe="object"==typeof ee?ee:{enabled:ee,type:"x"},Ie=xe.type,we=Ie&&be[{x:"xAxis",xy:"axes",y:"yAxis"}[Ie]].filter(Me=>Me.options.panningEnabled&&!Me.options.isInternal),Ee=be.options.chart;Ee?.panning&&(Ee.panning=xe),U(this,"pan",{originalEvent:oe},()=>{be.transform({axes:we,event:oe,to:{x:oe.chartX-(be.mouseDownX||0),y:oe.chartY-(be.mouseDownY||0)},trigger:"pan"}),d(be.container,{cursor:"move"})})}transform(oe){let qe,{axes:ee=this.axes,event:be,from:xe={},reset:Ie,selection:we,to:Ee={},trigger:Me}=oe,{inverted:Xe,resetZoomButton:Je}=this,lt=!1;for(let st of(this.hoverPoints?.forEach(Tt=>Tt.setState()),ee)){let{horiz:Tt,len:pt,minPointOffset:ht=0,options:Pt,reversed:Gt}=st,ti=Tt?"width":"height",Dt=Tt?"x":"y",It=Ee[ti]||st.len,xt=xe[ti]||st.len,wt=10>Math.abs(It)?1:It/xt,Qt=(xe[Dt]||0)+xt/2-st.pos,di=Qt-((Ee[Dt]??st.pos)+It/2-st.pos)/wt,Ni=Gt&&!Xe||!Gt&&Xe?-1:1;if(!Ie&&(Qt<0||Qt>st.len))continue;let mi=st.toValue(di,!0)+ht*Ni,vi=st.toValue(di+pt/wt,!0)-(ht*Ni||0),zi=st.allExtremes;if(mi>vi&&([mi,vi]=[vi,mi]),1===wt&&!Ie&&"yAxis"===st.coll&&!zi){for(let js of st.series){let On=js.getExtremes(js.getProcessedData(!0).yData,!0);zi??(zi={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),$(On.dataMin)&&$(On.dataMax)&&(zi.dataMin=Math.min(On.dataMin,zi.dataMin),zi.dataMax=Math.max(On.dataMax,zi.dataMax))}st.allExtremes=zi}let{dataMin:gs,dataMax:Fn,min:as,max:ms}=z(st.getExtremes(),zi||{}),Ln=gs??Pt.min,fn=Fn??Pt.max,ki=vi-mi,Cs=st.categories?0:Math.min(ki,fn-Ln),Kn=Ln-Cs*(C(Pt.min)?0:Pt.minPadding),In=fn+Cs*(C(Pt.max)?0:Pt.maxPadding),Bs=st.allowZoomOutside||1===wt||"zoom"!==Me&&wt>1,qn=Math.min(Pt.min??Kn,Kn,Bs?as:Kn),Wi=Math.max(Pt.max??In,In,Bs?ms:In);(!st.isOrdinal||1!==wt||Ie)&&(mi=1&&(vi=mi+ki)),vi>Wi&&(vi=Wi,wt>=1&&(mi=vi-ki)),(Ie||st.series.length&&(mi!==as||vi!==ms)&&mi>=qn&&vi<=Wi)&&(we?we[st.coll].push({axis:st,min:mi,max:vi}):(st.isPanning="zoom"!==Me,st.setExtremes(Ie?void 0:mi,Ie?void 0:vi,!1,!1,{move:di,trigger:Me,scale:wt}),!Ie&&(mi>qn||vi{delete oe.selection,oe.trigger="zoom",this.transform(oe)}):(qe&&!Je?this.showResetZoom():!qe&&Je&&(this.resetZoomButton=Je.destroy()),this.redraw("zoom"===Me&&(this.options.chart.animation??this.pointCount<100)))),lt}}return z(De.prototype,{callbacks:[],collectionsWithInit:{xAxis:[De.prototype.addAxis,[!0]],yAxis:[De.prototype.addAxis,[!1]],series:[De.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),De}),Le(V,"Extensions/ScrollablePlotArea.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{stop:le}=q,{composed:pe}=ne,{addEvent:ue,createElement:J,css:te,defined:X,merge:E,pushUnique:j}=ve;function F(){let A=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!A&&(this.scrollablePlotArea=A=new D(this)),A?.applyFixed()}function P(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class D{static compose(I,_,m){j(pe,this.compose)&&(ue(I,"afterInit",P),ue(_,"afterSetChartSize",w=>this.afterSetSize(w.target,w)),ue(_,"render",F),ue(m,"show",P))}static afterSetSize(I,_){let m,w,G,{minWidth:O,minHeight:f}=I.options.chart.scrollablePlotArea||{},{clipBox:a,plotBox:g,inverted:v,renderer:o}=I;if(!o.forExport&&(O?(I.scrollablePixelsX=m=Math.max(0,O-I.chartWidth),m&&(I.scrollablePlotBox=E(I.plotBox),g.width=I.plotWidth+=m,a[v?"height":"width"]+=m,G=!0)):f&&(I.scrollablePixelsY=w=Math.max(0,f-I.chartHeight),X(w)&&(I.scrollablePlotBox=E(I.plotBox),g.height=I.plotHeight+=w,a[v?"width":"height"]+=w,G=!1)),X(G)&&!_.skipAxes))for(let n of I.axes)n.horiz===G&&(n.setAxisSize(),n.setAxisTranslation())}constructor(I){let _,m=I.options.chart,w=re.getRendererType(),G=m.scrollablePlotArea||{},O=this.moveFixedElements.bind(this),f={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};I.scrollablePixelsX&&(f.overflowX="auto"),I.scrollablePixelsY&&(f.overflowY="auto"),this.chart=I;let a=this.parentDiv=J("div",{className:"highcharts-scrolling-parent"},{position:"relative"},I.renderTo),g=this.scrollingContainer=J("div",{className:"highcharts-scrolling"},f,a),v=this.innerContainer=J("div",{className:"highcharts-inner-container"},void 0,g),o=this.fixedDiv=J("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(m.style?.zIndex||0)+2,top:0},void 0,!0),n=this.fixedRenderer=new w(o,I.chartWidth,I.chartHeight,m.style);this.mask=n.path().attr({fill:m.backgroundColor||"#fff","fill-opacity":G.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),g.parentNode.insertBefore(o,g),te(I.renderTo,{overflow:"visible"}),ue(I,"afterShowResetZoom",O),ue(I,"afterApplyDrilldown",O),ue(I,"afterLayOutTitles",O),ue(g,"scroll",()=>{let{pointer:r,hoverPoint:l}=I;r&&(delete r.chartPosition,l&&(_=l),r.runPointActions(void 0,_,!0))}),v.appendChild(I.container)}applyFixed(){let{chart:I,fixedRenderer:_,isDirty:m,scrollingContainer:w}=this,{axisOffset:G,chartWidth:O,chartHeight:f,container:a,plotHeight:g,plotLeft:v,plotTop:o,plotWidth:n,scrollablePixelsX:r=0,scrollablePixelsY:l=0}=I,{scrollPositionX:d=0,scrollPositionY:C=0}=I.options.chart.scrollablePlotArea||{},k=O+r,p=f+l;_.setSize(O,f),(m??!0)&&(this.isDirty=!1,this.moveFixedElements()),le(I.container),te(a,{width:`${k}px`,height:`${p}px`}),I.renderer.boxWrapper.attr({width:k,height:p,viewBox:[0,0,k,p].join(" ")}),I.chartBackground?.attr({width:k,height:p}),te(w,{width:`${O}px`,height:`${f}px`}),X(m)||(w.scrollLeft=r*d,w.scrollTop=l*C);let T=o-G[0]-1,B=v-G[3]-1,z=o+g+G[2]+1,K=v+n+G[1]+1,U=v+n-r,se=o+g-l,S=[["M",0,0]];r?S=[["M",0,T],["L",v-1,T],["L",v-1,z],["L",0,z],["Z"],["M",U,T],["L",O,T],["L",O,z],["L",U,z],["Z"]]:l&&(S=[["M",B,0],["L",B,o-1],["L",K,o-1],["L",K,0],["Z"],["M",B,se],["L",B,f],["L",K,f],["L",K,se],["Z"]]),"adjustHeight"!==I.redrawTrigger&&this.mask.attr({d:S})}moveFixedElements(){let I,{container:_,inverted:m,scrollablePixelsX:w,scrollablePixelsY:G}=this.chart,O=this.fixedRenderer,f=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-reset-zoom",".highcharts-drillup-button",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];for(let a of(w&&!m?I=".highcharts-yaxis":w&&m||G&&!m?I=".highcharts-xaxis":G&&m&&(I=".highcharts-yaxis"),I&&f.push(`${I}:not(.highcharts-radial-axis)`,`${I}-labels:not(.highcharts-radial-axis-labels)`),f))[].forEach.call(_.querySelectorAll(a),g=>{(g.namespaceURI===O.SVG_NS?O.box:O.box.parentNode).appendChild(g),g.style.pointerEvents="auto"})}}return D}),Le(V,"Core/Axis/Stacking/StackItem.js",[V["Core/Templating.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{format:ve}=q,{series:le}=ne,{destroyObjectProperties:pe,fireEvent:ue,isNumber:J,pick:te}=re;return class{constructor(X,E,j,F,P){let D=X.chart.inverted,A=X.reversed;this.axis=X;let I=this.isNegative=!!j!=!!A;this.options=E=E||{},this.x=F,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=P,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:E.align||(D?I?"left":"right":"center"),verticalAlign:E.verticalAlign||(D?"middle":I?"bottom":"top"),y:E.y,x:E.x},this.textAlign=E.textAlign||(D?I?"right":"left":"center")}destroy(){pe(this,this.axis)}render(X){let E=this.axis.chart,j=this.options,F=j.format,P=F?ve(F,this,E):j.formatter.call(this);if(this.label)this.label.attr({text:P,visibility:"hidden"});else{this.label=E.renderer.label(P,null,void 0,j.shape,void 0,void 0,j.useHTML,!1,"stack-labels");let D={r:j.borderRadius||0,text:P,padding:te(j.padding,5),visibility:"hidden"};E.styledMode||(D.fill=j.backgroundColor,D.stroke=j.borderColor,D["stroke-width"]=j.borderWidth,this.label.css(j.style||{})),this.label.attr(D),this.label.added||this.label.add(X)}this.label.labelrank=E.plotSizeY,ue(this,"afterRender")}setOffset(X,E,j,F,P,D){let{alignOptions:A,axis:I,label:_,options:m,textAlign:w}=this,G=I.chart,O=this.getStackBox({xOffset:X,width:E,boxBottom:j,boxTop:F,defaultX:P,xAxis:D}),{verticalAlign:f}=A;if(_&&O){let o,a=_.getBBox(void 0,0),g=_.padding,v="justify"===te(m.overflow,"justify");A.x=m.x||0,A.y=m.y||0;let{x:n,y:r}=this.adjustStackPosition({labelBox:a,verticalAlign:f,textAlign:w});O.x-=n,O.y-=r,_.align(A,!1,O),(o=G.isInsidePlot(_.alignAttr.x+A.x+n,_.alignAttr.y+A.y+r))||(v=!1),v&&le.prototype.justifyDataLabel.call(I,_,A,_.alignAttr,a,O),_.attr({x:_.alignAttr.x,y:_.alignAttr.y,rotation:m.rotation,rotationOriginX:a.width*{left:0,center:.5,right:1}[m.textAlign||"center"],rotationOriginY:a.height/2}),te(!v&&m.crop,!0)&&(o=J(_.x)&&J(_.y)&&G.isInsidePlot(_.x-g+(_.width||0),_.y)&&G.isInsidePlot(_.x+g,_.y)),_[o?"show":"hide"]()}ue(this,"afterSetOffset",{xOffset:X,width:E})}adjustStackPosition({labelBox:X,verticalAlign:E,textAlign:j}){let F={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:X.width/2+X.width/2*F[j],y:X.height/2*F[E]}}getStackBox(X){let E=this.axis,j=E.chart,{boxTop:F,defaultX:P,xOffset:D,width:A,boxBottom:I}=X,_=E.stacking.usePercentage?100:te(F,this.total,0),m=E.toPixels(_),w=X.xAxis||j.xAxis[0],G=te(P,w.translate(this.x))+D,O=Math.abs(m-E.toPixels(I||J(E.min)&&E.logarithmic&&E.logarithmic.lin2log(E.min)||0)),a=this.isNegative;return j.inverted?{x:(a?m:m-O)-j.plotLeft,y:w.height-G-A,width:O,height:A}:{x:G+w.transB-j.plotLeft,y:(a?m-O:m)-j.plotTop,width:A,height:O}}}}),Le(V,"Core/Axis/Stacking/StackingAxis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{getDeferredAnimation:ue}=q,{series:{prototype:J}}=re,{addEvent:te,correctFloat:X,defined:E,destroyObjectProperties:j,fireEvent:F,isArray:P,isNumber:D,objectEach:A,pick:I}=le;function _(){let o=this.inverted;this.axes.forEach(n=>{n.stacking&&n.stacking.stacks&&n.hasVisibleSeries&&(n.stacking.oldStacks=n.stacking.stacks)}),this.series.forEach(n=>{let r=n.xAxis&&n.xAxis.options||{};n.options.stacking&&n.reserveSpace()&&(n.stackKey=[n.type,I(n.options.stack,""),o?r.top:r.left,o?r.height:r.width].join(","))})}function m(){let o=this.stacking;if(o){let n=o.stacks;A(n,(r,l)=>{j(r),delete n[l]}),o.stackTotalGroup?.destroy()}}function w(){this.stacking||(this.stacking=new v(this))}function G(o,n,r,l){return!E(o)||o.x!==n||l&&o.stackKey!==l?o={x:n,index:0,key:l,stackKey:l}:o.index++,o.key=[r,n,o.index].join(","),o}function O(){let o,n=this,l=n.stackKey||"",d=n.yAxis.stacking.stacks,C=n.processedXData,p=n[n.options.stacking+"Stacker"];p&&[l,"-"+l].forEach(T=>{let z,K,U,B=C.length;for(;B--;)z=C[B],o=n.getStackIndicator(o,z,n.index,T),K=d[T]?.[z],(U=K?.points[o.key||""])&&p.call(n,U,K,B)})}function f(o,n,r){let l=n.total?100/n.total:0;o[0]=X(o[0]*l),o[1]=X(o[1]*l),this.stackedYData[r]=o[1]}function a(o){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?J.setStackedPoints.call(this,o,"group"):o.stacking.resetStacks())}function g(o,n){let r,l,d,C,k,p,T,B,z,K=n||this.options.stacking;if(!K||!this.reserveSpace()||({group:"xAxis"}[K]||"yAxis")!==o.coll)return;let U=this.processedXData,se=this.processedYData,S=[],$=se.length,H=this.options,x=H.threshold||0,N=H.startFromThreshold?x:0,R=H.stack,Z=n?`${this.type},${K}`:this.stackKey||"",Y="-"+Z,he=this.negStacks,ge=o.stacking,_e=ge.stacks,Te=ge.oldStacks;for(ge.stacksTouched+=1,T=0;T<$;T++){B=U[T],z=se[T],p=(r=this.getStackIndicator(r,B,this.index)).key||"",_e[k=(l=he&&z<(N?0:x))?Y:Z]||(_e[k]={}),_e[k][B]||(Te[k]?.[B]?(_e[k][B]=Te[k][B],_e[k][B].total=null):_e[k][B]=new ve(o,o.options.stackLabels,!!l,B,R)),d=_e[k][B],null!==z?(d.points[p]=d.points[this.index]=[I(d.cumulative,N)],E(d.cumulative)||(d.base=p),d.touched=ge.stacksTouched,r.index>0&&!1===this.singleStacks&&(d.points[p][0]=d.points[this.index+","+B+",0"][0])):(delete d.points[p],delete d.points[this.index]);let Oe=d.total||0;"percent"===K?(C=l?Z:Y,Oe=he&&_e[C]?.[B]?(C=_e[C][B]).total=Math.max(C.total||0,Oe)+Math.abs(z)||0:X(Oe+(Math.abs(z)||0))):"group"===K?(P(z)&&(z=z[0]),null!==z&&Oe++):Oe=X(Oe+(z||0)),d.cumulative="group"===K?(Oe||1)-1:X(I(d.cumulative,N)+(z||0)),d.total=Oe,null!==z&&(d.points[p].push(d.cumulative),S[T]=d.cumulative,d.hasValidPoints=!0)}"percent"===K&&(ge.usePercentage=!0),"group"!==K&&(this.stackedYData=S),ge.oldStacks={}}class v{constructor(n){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=n}buildStacks(){let n,r,l=this.axis,d=l.series,C="xAxis"===l.coll,k=l.options.reversedStacks,p=d.length;for(this.resetStacks(),this.usePercentage=!1,r=p;r--;)n=d[k?r:p-r-1],C&&n.setGroupedPoints(l),n.setStackedPoints(l);if(!C)for(r=0;r{A(n,r=>{r.cumulative=r.total})}))}resetStacks(){A(this.stacks,n=>{A(n,(r,l)=>{D(r.touched)&&r.touched{A(p,T=>{T.render(k)})}),k.animate({opacity:1},C)}}return(pe||(pe={})).compose=function(o,n,r){let l=n.prototype,d=r.prototype;l.getStacks||(te(o,"init",w),te(o,"destroy",m),l.getStacks=_,d.getStackIndicator=G,d.modifyStacks=O,d.percentStacker=f,d.setGroupedPoints=a,d.setStackedPoints=g)},pe}),Le(V,"Series/Line/LineSeries.js",[V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{defined:ve,merge:le,isObject:pe}=re;class ue extends q{drawGraph(){let te=this.options,X=(this.gappedPath||this.getGraphPath).call(this),E=this.chart.styledMode;[this,...this.zones].forEach((j,F)=>{let P,D=j.graph,A=D?"animate":"attr",I=j.dashStyle||te.dashStyle;D?(D.endX=this.preventGraphAnimation?null:X.xMap,D.animate({d:X})):X.length&&(j.graph=D=this.chart.renderer.path(X).addClass("highcharts-graph"+(F?` highcharts-zone-graph-${F-1} `:" ")+(F&&j.className||"")).attr({zIndex:1}).add(this.group)),D&&!E&&(P={stroke:!F&&te.lineColor||j.color||this.color||"#cccccc","stroke-width":te.lineWidth||0,fill:this.fillGraph&&this.color||"none"},I?P.dashstyle=I:"square"!==te.linecap&&(P["stroke-linecap"]=P["stroke-linejoin"]="round"),D[A](P).shadow(F<2&&te.shadow&&le({filterUnits:"userSpaceOnUse"},pe(te.shadow)?te.shadow:{}))),D&&(D.startX=X.xMap,D.isArea=X.isArea)})}getGraphPath(te,X,E){let A,j=this,F=j.options,P=[],D=[],I=F.step,_=(te=te||j.points).reversed;return _&&te.reverse(),(I={right:1,center:2}[I]||I&&3)&&_&&(I=4-I),(te=this.getValidPoints(te,!1,!(F.connectNulls&&!X&&!E))).forEach(function(m,w){let G,O=m.plotX,f=m.plotY,a=te[w-1],g=m.isNull||"number"!=typeof f;(m.leftCliff||a&&a.rightCliff)&&!E&&(A=!0),g&&!ve(X)&&w>0?A=!F.connectNulls:g&&!X?A=!0:(0===w||A?G=[["M",m.plotX,m.plotY]]:j.getPointSpline?G=[j.getPointSpline(te,m,w)]:I?(G=1===I?[["L",a.plotX,f]]:2===I?[["L",(a.plotX+O)/2,a.plotY],["L",(a.plotX+O)/2,f]]:[["L",O,a.plotY]]).push(["L",O,f]):G=[["L",O,f]],D.push(m.x),I&&(D.push(m.x),2===I&&D.push(m.x)),P.push.apply(P,G),A=!1)}),P.xMap=D,j.graphPath=P,P}}return ue.defaultOptions=le(q.defaultOptions,{legendSymbol:"lineMarker"}),ne.registerSeriesType("line",ue),ue}),Le(V,"Series/Area/AreaSeries.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne){let{seriesTypes:{line:re}}=q,{extend:ve,merge:le,objectEach:pe,pick:ue}=ne;class J extends re{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:X,options:E}=this;[this,...this.zones].forEach((j,F)=>{let P={},D=j.fillColor||E.fillColor,A=j.area,I=A?"animate":"attr";A?(A.endX=this.preventGraphAnimation?null:X.xMap,A.animate({d:X})):(P.zIndex=0,(A=j.area=this.chart.renderer.path(X).addClass("highcharts-area"+(F?` highcharts-zone-area-${F-1} `:" ")+(F&&j.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(P.fill=D||j.color||this.color,P["fill-opacity"]=D?1:E.fillOpacity??.75,A.css({pointerEvents:this.stickyTracking?"none":"auto"})),A[I](P),A.startX=X.xMap,A.shiftUnit=E.step?2:1})}getGraphPath(X){let E,j,F,P=re.prototype.getGraphPath,D=this.options,A=D.stacking,I=this.yAxis,_=[],m=[],w=this.index,G=I.stacking.stacks[this.stackKey],O=D.threshold,f=Math.round(I.getThreshold(D.threshold)),a=ue(D.connectNulls,"percent"===A),g=function(d,C,k){let K,U,p=X[d],T=A&&G[p.x].points[w],B=p[k+"Null"]||0,z=p[k+"Cliff"]||0,se=!0;z||B?(K=(B?T[0]:T[1])+z,U=T[0]+z,se=!!B):!A&&X[C]&&X[C].isNull&&(K=U=O),void 0!==K&&(m.push({plotX:E,plotY:null===K?f:I.getThreshold(K),isNull:se,isCliff:!0}),_.push({plotX:E,plotY:null===U?f:I.getThreshold(U),doCurve:!1}))};X=X||this.points,A&&(X=this.getStackPoints(X));for(let d=0,C=X.length;df.visible);F.forEach(function(f,a){let v,o,g=0;if(I[f]&&!I[f].isNull)j.push(I[f]),[-1,1].forEach(function(n){let r=1===n?"rightNull":"leftNull",l=A[F[a+n]],d=0;if(l){let C=G;for(;C>=0&&C=0&&nO&&j>A?(j=Math.max(O,A),P=2*A-j):ja&&P>A?(P=Math.max(a,A),j=2*A-P):P=Math.abs(f)&&r>.5;return g=r-(f=Math.round(f)+n),l&&g&&(f-=1,g+=1),{x:O,y:f,width:a,height:g}}adjustForMissingColumns(O,f,a,g){if(!a.isNull&&g.columnCount>1){let v=this.xAxis.series.filter(l=>l.visible).map(l=>l.index),o=0,n=0;m(this.xAxis.stacking?.stacks,l=>{if("number"==typeof a.x){let d=l[a.x.toString()];if(d&&D(d.points[this.index])){let C=Object.keys(d.points).filter(k=>!k.match(",")&&d.points[k]&&d.points[k].length>1).map(parseFloat).filter(k=>-1!==v.indexOf(k)).sort((k,p)=>p-k);o=C.indexOf(this.index),n=C.length}}}),o=this.xAxis.reversed?n-1-o:o,O=(a.plotX||0)+((n-1)*g.paddedWidth+f)/2-f-o*g.paddedWidth}return O}translate(){let O=this,f=O.chart,a=O.options,g=O.dense=O.closestPointRange*O.xAxis.transA<2,v=O.borderWidth=_(a.borderWidth,g?0:1),o=O.xAxis,n=O.yAxis,r=a.threshold,l=_(a.minPointLength,5),d=O.getColumnMetrics(),C=d.width,k=O.pointXOffset=d.offset,p=O.dataMin,T=O.dataMax,B=O.barW=Math.max(C,1+2*v),z=O.translatedThreshold=n.getThreshold(r);f.inverted&&(z-=.5),a.pointPadding&&(B=Math.ceil(B)),le.prototype.translate.apply(O),O.points.forEach(function(K){let H,U=_(K.yBottom,z),se=999+Math.abs(U),S=K.plotX||0,$=E(K.plotY,-se,n.len+se),x=Math.min($,U),N=Math.max($,U)-x,R=C,Z=S+k,Y=B;l&&Math.abs(N)l?U-l:z-(H?l:0)),j(K.options.pointWidth)&&(Z-=Math.round(((R=Y=Math.ceil(K.options.pointWidth))-C)/2)),a.centerInCategory&&!a.stacking&&(Z=O.adjustForMissingColumns(Z,R,K,d)),K.barX=Z,K.pointWidth=R,K.tooltipPos=f.inverted?[E(n.len+n.pos-f.plotLeft-$,n.pos-f.plotLeft,n.len+n.pos-f.plotLeft),o.len+o.pos-f.plotTop-Z-Y/2,N]:[o.left-f.plotLeft+Z+Y/2,E($+n.pos-f.plotTop,n.pos-f.plotTop,n.len+n.pos-f.plotTop),N],K.shapeType=O.pointClass.prototype.shapeType||"roundedRect",K.shapeArgs=O.crispCol(Z,K.isNull?z:x,Y,K.isNull?0:N)}),P(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(O,f){let n,r,l,a=this.options,g=this.pointAttrToOptions||{},v=g.stroke||"borderColor",o=g["stroke-width"]||"borderWidth",d=O&&O.color||this.color,C=O&&O[v]||a[v]||d,k=O&&O.options.dashStyle||a.dashStyle,p=O&&O[o]||a[o]||this[o]||0,T=_(O&&O.opacity,a.opacity,1);O&&this.zones.length&&(r=O.getZone(),d=O.options.color||r&&(r.color||O.nonZonedColor)||this.color,r&&(C=r.borderColor||C,k=r.dashStyle||k,p=r.borderWidth||p)),f&&O&&(l=(n=I(a.states[f],O.options.states&&O.options.states[f]||{})).brightness,d=n.color||void 0!==l&&te(d).brighten(n.brightness).get()||d,C=n[v]||C,p=n[o]||p,k=n.dashStyle||k,T=_(n.opacity,T));let B={fill:d,stroke:C,"stroke-width":p,opacity:T};return k&&(B.dashstyle=k),B}drawPoints(O=this.points){let f,a=this,g=this.chart,v=a.options,o=g.renderer,n=v.animationLimit||250;O.forEach(function(r){let d=r.graphic,C=!!d,k=d&&g.pointCounto?.enabled)}function m(o,n,r,l,d){let C=this.chart,k=this.isCartesian&&C.inverted,p=this.enabledDataSorting,T=o.plotX,B=o.plotY,z=r.rotation||0,K=ue(T)&&ue(B)&&C.isInsidePlot(T,Math.round(B),{inverted:k,paneCoordinates:!0,series:this}),U=0===z&&"justify"===P(r.overflow,p?"none":"justify"),se=this.visible&&!1!==o.visible&&ue(T)&&(o.series.forceDL||p&&!U||K||P(r.inside,!!this.options.stacking)&&l&&C.isInsidePlot(T,k?l.x+1:l.y+l.height-1,{inverted:k,paneCoordinates:!0,series:this})),S=o.pos();if(se&&S){let H=n.getBBox(),x=n.getBBox(void 0,0),N={right:1,center:.5}[r.align||0]||0,R={bottom:1,middle:.5}[r.verticalAlign||0]||0;if(l=J({x:S[0],y:Math.round(S[1]),width:0,height:0},l||{}),J(r,{width:H.width,height:H.height}),p&&this.xAxis&&!U&&this.setDataLabelStartPos(o,n,d,K,l),n.align(j(r,{width:x.width,height:x.height}),!1,l,!1),n.alignAttr.x+=N*(x.width-H.width),n.alignAttr.y+=R*(x.height-H.height),n[n.placed?"animate":"attr"]({x:n.alignAttr.x+(H.width-x.width)/2,y:n.alignAttr.y+(H.height-x.height)/2,rotationOriginX:(n.width||0)/2,rotationOriginY:(n.height||0)/2}),U&&l.height>=0)this.justifyDataLabel(n,r,n.alignAttr,H,l,d);else if(P(r.crop,!0)){let{x:Z,y:Y}=n.alignAttr;se=C.isInsidePlot(Z,Y,{paneCoordinates:!0,series:this})&&C.isInsidePlot(Z+H.width-1,Y+H.height-1,{paneCoordinates:!0,series:this})}r.shape&&!z&&n[d?"attr":"animate"]({anchorX:S[0],anchorY:S[1]})}d&&p&&(n.placed=!1),se||p&&!U?(n.show(),n.placed=!0):(n.hide(),n.placed=!1)}function w(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function G(o){let n=this.hasRendered||0,r=this.initDataLabelsGroup().attr({opacity:+n});return!n&&r&&(this.visible&&r.show(),this.options.animation?r.animate({opacity:1},o):r.attr({opacity:1})),r}function O(o){let n;o=o||this.points;let r=this,l=r.chart,d=r.options,C=l.renderer,{backgroundColor:k,plotBackgroundColor:p}=l.options.chart,T=C.getContrast(E(p)&&p||E(k)&&k||"#000000"),B=g(r),{animation:z,defer:K}=B[0],U=K?le(l,z,r):{defer:0,duration:0};te(this,"drawDataLabels"),r.hasDataLabels?.()&&(n=this.initDataLabels(U),o.forEach(se=>{let S=se.dataLabels||[];A(a(B,se.dlOptions||se.options?.dataLabels)).forEach((H,x)=>{let ge,_e,Te,Oe,ee,N=H.enabled&&(se.visible||se.dataLabelOnHidden)&&(!se.isNull||se.dataLabelOnNull)&&function(be,xe){let Ie=xe.filter;if(Ie){let we=Ie.operator,Ee=be[Ie.property],Me=Ie.value;return">"===we&&Ee>Me||"<"===we&&Ee="===we&&Ee>=Me||"<="===we&&Ee<=Me||"=="===we&&Ee==Me||"==="===we&&Ee===Me||"!="===we&&Ee!=Me||"!=="===we&&Ee!==Me}return!0}(se,H),{backgroundColor:R,borderColor:Z,distance:Y,style:he={}}=H,De={},Be=S[x],oe=!Be;if(N&&(_e=P(H[se.formatPrefix+"Format"],H.format),ge=se.getLabelConfig(),Te=ue(_e)?pe(_e,ge,l):(H[se.formatPrefix+"Formatter"]||H.formatter).call(ge,H),Oe=H.rotation,!l.styledMode&&(he.color=P(H.color,he.color,E(r.color)?r.color:void 0,"#000000"),"contrast"===he.color?("none"!==R&&(ee=R),se.contrastColor=C.getContrast("auto"!==ee&&ee||se.color||r.color),he.color=ee||!ue(Y)&&H.inside||0>D(Y||0)||d.stacking?se.contrastColor:T):delete se.contrastColor,d.cursor&&(he.cursor=d.cursor)),De={r:H.borderRadius||0,rotation:Oe,padding:H.padding,zIndex:1},l.styledMode||(De.fill="auto"===R?se.color:R,De.stroke="auto"===Z?se.color:Z,De["stroke-width"]=H.borderWidth),F(De,(be,xe)=>{void 0===be&&delete De[xe]})),!Be||N&&ue(Te)&&!!Be.div==!!H.useHTML&&(Be.rotation&&H.rotation||Be.rotation===H.rotation)||(Be=void 0,oe=!0),N&&ue(Te)&&(Be?De.text=Te:(Be=C.label(Te,0,0,H.shape,void 0,void 0,H.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+se.colorIndex+" "+(H.className||"")+(H.useHTML?" highcharts-tracker":"")),Be)){Be.options=H,Be.attr(De),l.styledMode||Be.css(he).shadow(H.shadow);let be=H[se.formatPrefix+"TextPath"]||H.textPath;be&&!H.useHTML&&(Be.setTextPath(se.getDataLabelPath?.(Be)||se.graphic,be),se.dataLabelPath&&!be.enabled&&(se.dataLabelPath=se.dataLabelPath.destroy())),Be.added||Be.add(n),r.alignDataLabel(se,Be,H,void 0,oe),Be.isActive=!0,S[x]&&S[x]!==Be&&S[x].destroy(),S[x]=Be}});let $=S.length;for(;$--;)S[$]&&S[$].isActive?S[$].isActive=!1:(S[$]?.destroy(),S.splice($,1));se.dataLabel=S[0],se.dataLabels=S})),te(this,"afterDrawDataLabels")}function f(o,n,r,l,d,C){let U,se,k=this.chart,p=n.align,T=n.verticalAlign,B=o.box?0:o.padding||0,{x:z=0,y:K=0}=n;return(U=(r.x||0)+B)<0&&("right"===p&&z>=0?(n.align="left",n.inside=!0):z-=U,se=!0),(U=(r.x||0)+l.width-B)>k.plotWidth&&("left"===p&&z<=0?(n.align="right",n.inside=!0):z+=k.plotWidth-U,se=!0),(U=r.y+B)<0&&("bottom"===T&&K>=0?(n.verticalAlign="top",n.inside=!0):K-=U,se=!0),(U=(r.y||0)+l.height-B)>k.plotHeight&&("top"===T&&K<=0?(n.verticalAlign="bottom",n.inside=!0):K+=k.plotHeight-U,se=!0),se&&(n.x=z,n.y=K,o.placed=!C,o.align(n,void 0,d)),se}function a(o,n){let l,r=[];if(X(o)&&!X(n))r=o.map(function(d){return j(d,n)});else if(X(n)&&!X(o))r=n.map(function(d){return j(o,d)});else if(X(o)||X(n)){if(X(o)&&X(n))for(l=Math.max(o.length,n.length);l--;)r[l]=j(o[l],n[l])}else r=j(o,n);return r}function g(o){let n=o.chart.options.plotOptions;return A(a(a(n?.series?.dataLabels,n?.[o.type]?.dataLabels),o.options.dataLabels))}function v(o,n,r,l,d){let C=this.chart,k=C.inverted,p=this.xAxis,T=p.reversed,B=((k?n.height:n.width)||0)/2,z=o.pointWidth,K=z?z/2:0;n.startXPos=k?d.x:T?-B-K:p.width-B+K,n.startYPos=k?T?this.yAxis.height-B+K:-B-K:d.y,l?"hidden"===n.visibility&&(n.show(),n.attr({opacity:0}).animate({opacity:1})):n.attr({opacity:1}).animate({opacity:0},void 0,n.hide),C.hasRendered&&(r&&n.attr({x:n.startXPos,y:n.startYPos}),n.placed=!0)}I.compose=function(o){let n=o.prototype;n.initDataLabels||(n.initDataLabels=G,n.initDataLabelsGroup=w,n.alignDataLabel=m,n.drawDataLabels=O,n.justifyDataLabel=f,n.setDataLabelStartPos=v,n.hasDataLabels=_)}}(ve||(ve={})),ve}),Le(V,"Series/Column/ColumnDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{composed:pe}=ne,{series:ue}=re,{merge:J,pick:te,pushUnique:X}=ve;return function(E){function j(F,P,D,A,I){let _=this.chart.inverted,m=F.series,w=(m.xAxis?m.xAxis.len:this.chart.plotSizeX)||0,G=(m.yAxis?m.yAxis.len:this.chart.plotSizeY)||0,O=F.dlBox||F.shapeArgs,f=te(F.below,F.plotY>te(this.translatedThreshold,G)),a=te(D.inside,!!this.options.stacking);if(O){if(A=J(O),"allow"!==D.overflow||!1!==D.crop){A.y<0&&(A.height+=A.y,A.y=0);let g=A.y+A.height-G;g>0&&g\u25cf
{series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),Le(V,"Series/Scatter/ScatterSeries.js",[V["Series/Scatter/ScatterSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{column:ve,line:le}=ne.seriesTypes,{addEvent:pe,extend:ue,merge:J}=re;class te extends le{applyJitter(){let E=this,j=this.options.jitter,F=this.points.length;j&&this.points.forEach(function(P,D){["x","y"].forEach(function(A,I){let _,w,G,O,m="plot"+A.toUpperCase();j[A]&&!P.isNull&&(_=E[A+"Axis"],O=j[A]*_.transA,_&&!_.isLog&&(w=Math.max(0,P[m]-O),G=Math.min(_.len,P[m]+O),P[m]=w+(G-w)*function(f){let a=1e4*Math.sin(f);return a-Math.floor(a)}(D+I*F),"x"===A&&(P.clientX=P.plotX)))})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return te.defaultOptions=J(le.defaultOptions,q),ue(te.prototype,{drawTracker:ve.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),pe(te,"afterTranslate",function(){this.applyJitter()}),ne.registerSeriesType("scatter",te),te}),Le(V,"Series/CenteredUtilities.js",[V["Core/Globals.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve,le;let{deg2rad:pe}=q,{fireEvent:ue,isNumber:J,pick:te,relativeLength:X}=re;return(le=ve||(ve={})).getCenter=function(){let m,O,f,E=this.options,j=this.chart,F=2*(E.slicedOffset||0),P=j.plotWidth-2*F,D=j.plotHeight-2*F,A=E.center,I=Math.min(P,D),_=E.thickness,w=E.size,G=E.innerSize||0;"string"==typeof w&&(w=parseFloat(w)),"string"==typeof G&&(G=parseFloat(G));let a=[te(A[0],"50%"),te(A[1],"50%"),te(w&&w<0?void 0:E.size,"100%"),te(G&&G<0?void 0:E.innerSize||0,"0%")];for(!j.angular||this instanceof ne||(a[3]=0),O=0;O<4;++O)f=a[O],m=O<2||2===O&&/%$/.test(f),a[O]=X(f,[P,D,I,a[2]][O])+(m?F:0);return a[3]>a[2]&&(a[3]=a[2]),J(_)&&2*_0&&(a[3]=a[2]-2*_),ue(this,"afterGetCenter",{positions:a}),a},le.getStartAndEndRadians=function(E,j){let F=J(E)?E:0,P=J(j)&&j>F&&j-F<360?j:F+360;return{start:pe*(F+-90),end:pe*(P+-90)}},ve}),Le(V,"Series/Pie/PiePoint.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(q,ne,re){let{setAnimation:ve}=q,{addEvent:le,defined:pe,extend:ue,isNumber:J,pick:te,relativeLength:X}=re;class E extends ne{getConnectorPath(F){let P=F.dataLabelPosition,D=F.options||{},A=D.connectorShape;return P&&(this.connectorShapes[A]||A).call(this,{...P.computed,alignment:P.alignment},P.connectorPosition,D)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(F){let P=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(P.x,P.y,P.r+F,P.r+F,{innerR:P.r-1,start:P.start,end:P.end,borderRadius:P.borderRadius})}constructor(F,P,D){super(F,P,D),this.half=0,this.name??(this.name="Slice");let A=I=>{this.slice("select"===I.type)};le(this,"select",A),le(this,"unselect",A)}isValid(){return J(this.y)&&this.y>=0}setVisible(F,P=!0){F!==this.visible&&this.update({visible:F??!this.visible},P,void 0,!1)}slice(F,P,D){let A=this.series;ve(D,A.chart),P=te(P,!0),this.sliced=this.options.sliced=F=pe(F)?F:!this.sliced,A.options.data[A.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return ue(E.prototype,{connectorShapes:{fixedOffset:function(j,F,P){let D=F.breakAt,A=F.touchingSliceAt;return[["M",j.x,j.y],P.softConnector?["C",j.x+("left"===j.alignment?-5:5),j.y,2*D.x-A.x,2*D.y-A.y,D.x,D.y]:["L",D.x,D.y],["L",A.x,A.y]]},straight:function(j,F){let P=F.touchingSliceAt;return[["M",j.x,j.y],["L",P.x,P.y]]},crookedLine:function(j,F,P){let{breakAt:D,touchingSliceAt:A}=F,{series:I}=this,[_,m,w]=I.center,G=w/2,{plotLeft:O,plotWidth:f}=I.chart,a="left"===j.alignment,{x:g,y:v}=j,o=D.x;if(P.crookDistance){let r=X(P.crookDistance,1);o=a?_+G+(f+O-_-G)*(1-r):O+(_-G)*r}else o=_+(m-v)*Math.tan((this.angle||0)-Math.PI/2);let n=[["M",g,v]];return(a?o<=g&&o>=D.x:o>=g&&o<=D.x)&&n.push(["L",o,v]),n.push(["L",D.x,D.y],["L",A.x,A.y]),n}}}),E}),Le(V,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),Le(V,"Series/Pie/PieSeries.js",[V["Series/CenteredUtilities.js"],V["Series/Column/ColumnSeries.js"],V["Core/Globals.js"],V["Series/Pie/PiePoint.js"],V["Series/Pie/PieSeriesDefaults.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te){let{getStartAndEndRadians:X}=q,{noop:E}=re,{clamp:j,extend:F,fireEvent:P,merge:D,pick:A}=te;class I extends pe{animate(m){let w=this,O=w.startAngleRad;m||w.points.forEach(function(f){let a=f.graphic,g=f.shapeArgs;a&&g&&(a.attr({r:A(f.startR,w.center&&w.center[3]/2),start:O,end:O}),a.animate({r:g.r,start:g.start,end:g.end},w.options.animation))})}drawEmpty(){let m,w,G=this.startAngleRad,O=this.endAngleRad,f=this.options;0===this.total&&this.center?(m=this.center[0],w=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(m,w,this.center[1]/2,0,G,O).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:J.arc(m,w,this.center[2]/2,0,{start:G,end:O,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":f.borderWidth,fill:f.fillColor||"none",stroke:f.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let m=this.chart.renderer;this.points.forEach(function(w){w.graphic&&w.hasNewShapeType()&&(w.graphic=w.graphic.destroy()),w.graphic||(w.graphic=m[w.shapeType](w.shapeArgs).add(w.series.group),w.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(m,w,G,O){let f=this.center,a=this.radii?this.radii[G.index]||0:f[2]/2,g=O.dataLabelPosition,v=g?.distance||0,o=Math.asin(j((m-f[1])/(a+v),-1,1));return f[0]+Math.cos(o)*(a+v)*(w?-1:1)+(v>0?(w?-1:1)*(O.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let m,w,G,O,f=this,a=f.chart;this.drawEmpty(),f.group&&!a.styledMode&&f.group.shadow(f.options.shadow),f.points.forEach(function(g){let v={};w=g.graphic,!g.isNull&&w?(O=g.shapeArgs,m=g.getTranslate(),a.styledMode||(G=f.pointAttribs(g,g.selected&&"select")),g.delayedRendering?(w.setRadialReference(f.center).attr(O).attr(m),a.styledMode||w.attr(G).attr({"stroke-linejoin":"round"}),g.delayedRendering=!1):(w.setRadialReference(f.center),a.styledMode||D(!0,v,G),D(!0,v,O,m),w.animate(v)),w.attr({visibility:g.visible?"inherit":"hidden"}),w.addClass(g.getClassName(),!0)):w&&(g.graphic=w.destroy())})}sortByAngle(m,w){m.sort(function(G,O){return void 0!==G.angle&&(O.angle-G.angle)*w})}translate(m){P(this,"translate"),this.generatePoints();let n,r,l,d,C,k,p,w=this.options,G=w.slicedOffset,O=X(w.startAngle,w.endAngle),f=this.startAngleRad=O.start,a=(this.endAngleRad=O.end)-f,g=this.points,v=w.ignoreHiddenPoint,o=g.length,T=0;for(m||(this.center=m=this.getCenter()),k=0;k1.5*Math.PI?l-=2*Math.PI:l<-Math.PI/2&&(l+=2*Math.PI),p.slicedTranslation={translateX:Math.round(Math.cos(l)*G),translateY:Math.round(Math.sin(l)*G)},d=Math.cos(l)*m[2]/2,C=Math.sin(l)*m[2]/2,p.tooltipPos=[m[0]+.7*d,m[1]+.7*C],p.half=l<-Math.PI/2||l>Math.PI/2?1:0,p.angle=l}P(this,"afterTranslate")}updateTotals(){let O,f,m=this.points,w=m.length,G=this.options.ignoreHiddenPoint,a=0;for(O=0;O0&&(f.visible||!G)?f.y/a*100:0,f.total=a}}return I.defaultOptions=D(pe.defaultOptions,le),F(I.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:ne.prototype.drawTracker,getCenter:q.getCenter,getSymbol:E,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:ne.prototype.pointAttribs,pointClass:ve,requireSorting:!1,searchPoint:E,trackerGroups:["group","dataLabelsGroup"]}),ue.registerSeriesType("pie",I),I}),Le(V,"Series/Pie/PieDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{composed:ue,noop:J}=ne,{distribute:te}=re,{series:X}=ve,{arrayMax:E,clamp:j,defined:F,pick:P,pushUnique:D,relativeLength:A}=le;return function(I){let _={radialDistributionY:function(f,a){return(a.dataLabelPosition?.top||0)+f.distributeBox.pos},radialDistributionX:function(f,a,g,v,o){let n=o.dataLabelPosition;return f.getX(g<(n?.top||0)+2||g>(n?.bottom||0)-2?v:g,a.half,a,o)},justify:function(f,a,g,v){return v[0]+(f.half?-1:1)*(g+(a.dataLabelPosition?.distance||0))},alignToPlotEdges:function(f,a,g,v){let o=f.getBBox().width;return a?o+v:g-o-v},alignToConnectors:function(f,a,g,v){let n,o=0;return f.forEach(function(r){(n=r.dataLabel.getBBox().width)>o&&(o=n)}),a?o+v:g-o-v}};function m(f,a){let{center:g,options:v}=this,o=g[2]/2,n=f.angle||0,r=Math.cos(n),l=Math.sin(n),d=g[0]+r*o,C=g[1]+l*o,k=Math.min((v.slicedOffset||0)+(v.borderWidth||0),a/5);return{natural:{x:d+r*a,y:C+l*a},computed:{},alignment:a<0?"center":f.half?"right":"left",connectorPosition:{breakAt:{x:d+r*k,y:C+l*k},touchingSliceAt:{x:d,y:C}},distance:a}}function w(){let B,z,K,f=this,a=f.points,g=f.chart,v=g.plotWidth,o=g.plotHeight,n=g.plotLeft,r=Math.round(g.chartWidth/3),l=f.center,d=l[2]/2,C=l[1],k=[[],[]],p=[0,0,0,0],T=f.dataLabelPositioners,U=0;f.visible&&f.hasDataLabels?.()&&(a.forEach(se=>{(se.dataLabels||[]).forEach(S=>{S.shortened&&(S.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),S.shortened=!1)})}),X.prototype.drawDataLabels.apply(f),a.forEach(se=>{(se.dataLabels||[]).forEach((S,$)=>{let H=l[2]/2,x=S.options,N=A(x?.distance||0,H);0===$&&k[se.half].push(se),!F(x?.style?.width)&&S.getBBox().width>r&&(S.css({width:Math.round(.7*r)+"px"}),S.shortened=!0),S.dataLabelPosition=this.getDataLabelPosition(se,N),U=Math.max(U,N)})}),k.forEach((se,S)=>{let x,N,Z,H=[],R=0;se.length&&(f.sortByAngle(se,S-.5),U>0&&(x=Math.max(0,C-d-U),N=Math.min(C+d+U,g.plotHeight),se.forEach(Y=>{(Y.dataLabels||[]).forEach(he=>{let ge=he.dataLabelPosition;ge&&ge.distance>0&&(ge.top=Math.max(0,C-d-ge.distance),ge.bottom=Math.min(C+d+ge.distance,g.plotHeight),R=he.getBBox().height||21,Y.distributeBox={target:(he.dataLabelPosition?.natural.y||0)-ge.top+R/2,size:R,rank:Y.y},H.push(Y.distributeBox))})}),te(H,Z=N+R-x,Z/5)),se.forEach(Y=>{(Y.dataLabels||[]).forEach(he=>{let ge=he.options||{},_e=Y.distributeBox,Te=he.dataLabelPosition,Oe=Te?.natural.y||0,De=ge.connectorPadding||0,Be=0,oe=Oe,ee="inherit";if(Te){if(H&&F(_e)&&Te.distance>0&&(void 0===_e.pos?ee="hidden":(K=_e.size,oe=T.radialDistributionY(Y,he))),ge.justify)Be=T.justify(Y,he,d,l);else switch(ge.alignTo){case"connectors":Be=T.alignToConnectors(se,S,v,n);break;case"plotEdges":Be=T.alignToPlotEdges(he,S,v,n);break;default:Be=T.radialDistributionX(f,Y,oe,Oe,he)}if(Te.attribs={visibility:ee,align:Te.alignment},Te.posAttribs={x:Be+(ge.x||0)+({left:De,right:-De}[Te.alignment]||0),y:oe+(ge.y||0)-he.getBBox().height/2},Te.computed.x=Be,Te.computed.y=oe,P(ge.crop,!0)){let be;Be-(z=he.getBBox().width)v-De&&0===S&&(be=Math.round(Be+z-v+De),p[1]=Math.max(be,p[1])),oe-K/2<0?p[0]=Math.max(Math.round(K/2-oe),p[0]):oe+K/2>o&&(p[2]=Math.max(Math.round(oe+K/2-o),p[2])),Te.sideOverflow=be}}})}))}),(0===E(p)||this.verifyDataLabelOverflow(p))&&(this.placeDataLabels(),this.points.forEach(se=>{(se.dataLabels||[]).forEach(S=>{let{connectorColor:$,connectorWidth:H=1}=S.options||{},x=S.dataLabelPosition;if(H){let N;B=S.connector,x&&x.distance>0?(N=!B,B||(S.connector=B=g.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+se.colorIndex+(se.className?" "+se.className:"")).add(f.dataLabelsGroup)),g.styledMode||B.attr({"stroke-width":H,stroke:$||se.color||"#666666"}),B[N?"attr":"animate"]({d:se.getConnectorPath(S)}),B.attr({visibility:x.attribs?.visibility})):B&&(S.connector=B.destroy())}})})))}function G(){this.points.forEach(f=>{(f.dataLabels||[]).forEach(a=>{let g=a.dataLabelPosition;g?(g.sideOverflow&&(a.css({width:Math.max(a.getBBox().width-g.sideOverflow,0)+"px",textOverflow:(a.options?.style||{}).textOverflow||"ellipsis"}),a.shortened=!0),a.attr(g.attribs),a[a.moved?"animate":"attr"](g.posAttribs),a.moved=!0):a&&a.attr({y:-9999})}),delete f.distributeBox},this)}function O(f){let a=this.center,g=this.options,v=g.center,o=g.minSize||80,n=o,r=null!==g.size;return!r&&(null!==v[0]?n=Math.max(a[2]-Math.max(f[1],f[3]),o):(n=Math.max(a[2]-f[1]-f[3],o),a[0]+=(f[3]-f[1])/2),null!==v[1]?n=j(n,o,a[2]-Math.max(f[0],f[2])):(n=j(n,o,a[2]-f[0]-f[2]),a[1]+=(f[0]-f[2])/2),n!(m.x>=_.x+_.width||m.x+m.width<=_.x||m.y>=_.y+_.height||m.y+m.height<=_.y),I=!1;for(let _=0;_(m.labelrank||0)-(_.labelrank||0));for(let _=0;_{ve(j,F=>{F.label&&X.push(F.label)})});for(let E of te.series||[])if(E.visible&&E.hasDataLabels?.()){let j=F=>{for(let P of F)P.visible&&(P.dataLabels||[]).forEach(D=>{let A=D.options||{};D.labelrank=le(A.labelrank,P.labelrank,P.shapeArgs?.height),A.allowOverlap??Number(A.distance)>0?(D.oldOpacity=D.opacity,D.newOpacity=1,ue(D,te)):X.push(D)})};j(E.nodes||[]),j(E.points)}this.hideOverlappingLabels(X)}return{compose:function(te){let X=te.prototype;X.hideOverlappingLabels||(X.hideOverlappingLabels=pe,ne(te,"render",J))}}}),Le(V,"Extensions/BorderRadius.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{defaultOptions:ve}=q,{noop:le}=ne,{addEvent:pe,extend:ue,isObject:J,merge:te,relativeLength:X}=re,E={radius:0,scope:"stack",where:void 0},j=le,F=le;function P(m,w,G,O,f={}){let a=j(m,w,G,O,f),{innerR:g=0,r:v=G,start:o=0,end:n=0}=f;if(f.open||!f.borderRadius)return a;let r=n-o,l=Math.sin(r/2),d=Math.max(Math.min(X(f.borderRadius||0,v-g),(v-g)/2,v*l/(1+l)),0),C=Math.min(d,r/Math.PI*2*g),k=a.length-1;for(;k--;)!function(p,T,B){let z,K,U,se=p[T],S=p[T+1];if("Z"===S[0]&&(S=p[0]),"M"!==se[0]&&"L"!==se[0]||"A"!==S[0]?"A"===se[0]&&("M"===S[0]||"L"===S[0])&&(z=S,K=se):(z=se,K=S,U=!0),z&&K&&K.params){let $=K[1],H=K[5],x=K.params,{start:N,end:R,cx:Z,cy:Y}=x,he=H?$-B:$+B,ge=he?Math.asin(B/he):0,_e=H?ge:-ge,Te=Math.cos(ge)*he;U?(x.start=N+_e,z[1]=Z+Te*Math.cos(N),z[2]=Y+Te*Math.sin(N),p.splice(T+1,0,["A",B,B,0,0,1,Z+$*Math.cos(x.start),Y+$*Math.sin(x.start)])):(x.end=R-_e,K[6]=Z+$*Math.cos(x.end),K[7]=Y+$*Math.sin(x.end),p.splice(T+1,0,["A",B,B,0,0,1,Z+Te*Math.cos(R),Y+Te*Math.sin(R)])),K[4]=Math.abs(x.end-x.start)1?C:d);return a}function D(){if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){let{options:m,yAxis:w}=this,G="percent"===m.stacking,O=ve.plotOptions?.[this.type]?.borderRadius,f=A(m.borderRadius,J(O)?O:{}),a=w.options.reversed;for(let g of this.points){let{shapeArgs:v}=g;if("roundedRect"===g.shapeType&&v){let{width:o=0,height:n=0,y:r=0}=v,l=r,d=n;if("stack"===f.scope&&g.stackTotal){let T=w.translate(G?100:g.stackTotal,!1,!0,!1,!0),B=w.translate(m.threshold||0,!1,!0,!1,!0),z=this.crispCol(0,Math.min(T,B),0,Math.abs(T-B));l=z.y,d=z.height}let C=(g.negative?-1:1)*(a?-1:1)==-1,k=f.where;!k&&this.is("waterfall")&&Math.abs((g.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(k="all"),k||(k="end");let p=Math.min(X(f.radius,o),o/2,"all"===k?n/2:1/0)||0;"end"===k&&(C&&(l-=p),d+=p),ue(v,{brBoxHeight:d,brBoxY:l,r:p})}}}}function A(m,w){return J(m)||(m={radius:m||0}),te(E,w,m)}function I(){let m=A(this.options.borderRadius);for(let w of this.points){let G=w.shapeArgs;G&&(G.borderRadius=X(m.radius,(G.r||0)-(G.innerR||0)))}}function _(m,w,G,O,f={}){let a=F(m,w,G,O,f),{r:g=0,brBoxHeight:v=O,brBoxY:o=w}=f,n=w-o,r=o+v-(w+O),l=n-g>-.1?0:g,d=r-g>-.1?0:g,C=Math.max(l&&n,0),k=Math.max(d&&r,0),p=[m+l,w],T=[m+G-l,w],B=[m+G,w+l],z=[m+G,w+O-d],K=[m+G-d,w+O],U=[m+d,w+O],se=[m,w+O-d],S=[m,w+l],$=(H,x)=>Math.sqrt(Math.pow(H,2)-Math.pow(x,2));if(C){let H=$(l,l-C);p[0]-=H,T[0]+=H,B[1]=S[1]=w+l-C}if(O=ue(P.minWidth,0)&&this.chartHeight>=ue(P.minHeight,0)}).call(this)&&F.push(j._id)}function E(j,F){let I,P=this.options.responsive,D=this.currentResponsive,A=[];!F&&P&&P.rules&&P.rules.forEach(w=>{void 0===w._id&&(w._id=J()),this.matchResponsiveRule(w,A)},this);let _=pe(...A.map(w=>le((P||{}).rules||[],G=>G._id===w)).map(w=>w&&w.chartOptions));_.isResponsiveOptions=!0,A=A.toString()||void 0,A!==(D&&D.ruleIds)&&(D&&this.update(D.undoOptions,j,!0),A?((I=re(_,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:A,mergedOptions:_,undoOptions:I},this.update(_,j,!0)):this.currentResponsive=void 0)}te.compose=function(j){let F=j.prototype;return F.matchResponsiveRule||ve(F,{matchResponsiveRule:X,setResponsive:E}),j}}(ne||(ne={})),ne}),Le(V,"masters/highcharts.src.js",[V["Core/Globals.js"],V["Core/Utilities.js"],V["Core/Defaults.js"],V["Core/Animation/Fx.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Templating.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Renderer/HTML/HTMLElement.js"],V["Core/Axis/Axis.js"],V["Core/Axis/DateTimeAxis.js"],V["Core/Axis/LogarithmicAxis.js"],V["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],V["Core/Axis/Tick.js"],V["Core/Tooltip.js"],V["Core/Series/Point.js"],V["Core/Pointer.js"],V["Core/Legend/Legend.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Chart/Chart.js"],V["Extensions/ScrollablePlotArea.js"],V["Core/Axis/Stacking/StackingAxis.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Series/Column/ColumnDataLabel.js"],V["Series/Pie/PieDataLabel.js"],V["Core/Series/DataLabel.js"],V["Extensions/OverlappingDataLabels.js"],V["Extensions/BorderRadius.js"],V["Core/Responsive.js"],V["Core/Color/Color.js"],V["Core/Time.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X,E,j,F,P,D,A,I,_,m,w,G,O,f,a,g,v,o,n,r,l,d,C,k,p,T,B){return q.AST=pe,q.Axis=F,q.Chart=f,q.Color=T,q.DataLabel=d,q.Fx=ve,q.HTMLElement=j,q.Legend=G,q.LegendSymbol=O,q.OverlappingDataLabels=q.OverlappingDataLabels||C,q.PlotLineOrBand=A,q.Point=m,q.Pointer=w,q.RendererRegistry=J,q.Series=o,q.SeriesRegistry=n,q.StackItem=v,q.SVGElement=X,q.SVGRenderer=E,q.Templating=ue,q.Tick=I,q.Time=B,q.Tooltip=_,q.animate=le.animate,q.animObject=le.animObject,q.chart=f.chart,q.color=T.parse,q.dateFormat=ue.dateFormat,q.defaultOptions=re.defaultOptions,q.distribute=te.distribute,q.format=ue.format,q.getDeferredAnimation=le.getDeferredAnimation,q.getOptions=re.getOptions,q.numberFormat=ue.numberFormat,q.seriesType=n.seriesType,q.setAnimation=le.setAnimation,q.setOptions=re.setOptions,q.stop=le.stop,q.time=re.defaultTime,q.timers=ve.timers,k.compose(q.Series,q.SVGElement,q.SVGRenderer),r.compose(q.Series.types.column),d.compose(q.Series),P.compose(q.Axis),j.compose(q.SVGRenderer),G.compose(q.Chart),D.compose(q.Axis),C.compose(q.Chart),l.compose(q.Series.types.pie),A.compose(q.Axis),w.compose(q.Chart),p.compose(q.Chart),a.compose(q.Axis,q.Chart,q.Series),g.compose(q.Axis,q.Chart,q.Series),_.compose(q.Pointer),ne.extend(q,ne),q}),Le(V,"Extensions/ArrowSymbols.js",[],function(){function q(le,pe,ue,J){return[["M",le,pe+J/2],["L",le+ue,pe],["L",le,pe+J/2],["L",le+ue,pe+J]]}function ne(le,pe,ue,J){return q(le,pe,ue/2,J)}function re(le,pe,ue,J){return[["M",le+ue,pe],["L",le,pe+J/2],["L",le+ue,pe+J],["Z"]]}function ve(le,pe,ue,J){return re(le,pe,ue/2,J)}return{compose:function(le){let pe=le.prototype.symbols;pe.arrow=q,pe["arrow-filled"]=re,pe["arrow-filled-half"]=ve,pe["arrow-half"]=ne,pe["triangle-left"]=re,pe["triangle-left-half"]=ve}}}),Le(V,"Gantt/Connection.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{defined:re,error:ve,merge:le,objectEach:pe}=ne,ue=q.deg2rad,J=Math.max,te=Math.min;return class{constructor(X,E,j){this.init(X,E,j)}init(X,E,j){this.fromPoint=X,this.toPoint=E,this.options=j,this.chart=X.series.chart,this.pathfinder=this.chart.pathfinder}renderPath(X,E){let j=this.chart,F=j.styledMode,P=this.pathfinder,D={},A=this.graphics&&this.graphics.path;P.group||(P.group=j.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(j.seriesGroup)),P.group.translate(j.plotLeft,j.plotTop),A&&A.renderer||(A=j.renderer.path().add(P.group),F||A.attr({opacity:0})),A.attr(E),D.d=X,F||(D.opacity=1),A.animate(D),this.graphics=this.graphics||{},this.graphics.path=A}addMarker(X,E,j){let F,P,D,A,I,_,m,w,G=this.fromPoint.series.chart,O=G.pathfinder,f=G.renderer,a="start"===X?this.fromPoint:this.toPoint,g=a.getPathfinderAnchorPoint(E);E.enabled&&((w="start"===X?j[1]:j[j.length-2])&&"M"===w[0]||"L"===w[0])&&(m={x:w[1],y:w[2]},P=a.getRadiansToVector(m,g),F=a.getMarkerVector(P,E.radius,g),D=-P/ue,E.width&&E.height?(I=E.width,_=E.height):I=_=2*E.radius,this.graphics=this.graphics||{},A={x:F.x-I/2,y:F.y-_/2,width:I,height:_,rotation:D,rotationOriginX:F.x,rotationOriginY:F.y},this.graphics[X]?this.graphics[X].animate(A):(this.graphics[X]=f.symbol(E.symbol).addClass("highcharts-point-connecting-path-"+X+"-marker highcharts-color-"+this.fromPoint.colorIndex).attr(A).add(O.group),f.styledMode||this.graphics[X].attr({fill:E.color||this.fromPoint.color,stroke:E.lineColor,"stroke-width":E.lineWidth,opacity:0}).animate({opacity:1},a.series.options.animation)))}getPath(X){let E=this.pathfinder,j=this.chart,F=E.algorithms[X.type],P=E.chartObstacles;return"function"!=typeof F?(ve('"'+X.type+'" is not a Pathfinder algorithm.'),{path:[],obstacles:[]}):(F.requiresObstacles&&!P&&(P=E.chartObstacles=E.getChartObstacles(X),j.options.connectors.algorithmMargin=X.algorithmMargin,E.chartObstacleMetrics=E.getObstacleMetrics(P)),F(this.fromPoint.getPathfinderAnchorPoint(X.startMarker),this.toPoint.getPathfinderAnchorPoint(X.endMarker),le({chartObstacles:P,lineObstacles:E.lineObstacles||[],obstacleMetrics:E.chartObstacleMetrics,hardBounds:{xMin:0,xMax:j.plotWidth,yMin:0,yMax:j.plotHeight},obstacleOptions:{margin:X.algorithmMargin},startDirectionX:E.getAlgorithmStartDirection(X.startMarker)},X)))}render(){let X=this.fromPoint,E=X.series,j=E.chart,F=j.pathfinder,P={},D=le(j.options.connectors,E.options.connectors,X.options.connectors,this.options);!j.styledMode&&(P.stroke=D.lineColor||X.color,P["stroke-width"]=D.lineWidth,D.dashStyle&&(P.dashstyle=D.dashStyle)),P.class="highcharts-point-connecting-path highcharts-color-"+X.colorIndex,re((D=le(P,D)).marker.radius)||(D.marker.radius=te(J(Math.ceil((D.algorithmMargin||8)/2)-1,1),5));let A=this.getPath(D),I=A.path;A.obstacles&&(F.lineObstacles=F.lineObstacles||[],F.lineObstacles=F.lineObstacles.concat(A.obstacles)),this.renderPath(I,P),this.addMarker("start",le(D.marker,D.startMarker),I),this.addMarker("end",le(D.marker,D.endMarker),I)}destroy(){this.graphics&&(pe(this.graphics,function(X){X.destroy()}),delete this.graphics)}}}),Le(V,"Extensions/CurrentDateIndication.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{composed:re}=q,{addEvent:ve,merge:le,pushUnique:pe,wrap:ue}=ne,J={color:"#ccd3ff",width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:function(j,F){return this.axis.chart.time.dateFormat(F||"",j)},rotation:0,style:{fontSize:"0.7em"}}};function te(){let j=this.options,F=j.currentDateIndicator;if(F){let P="object"==typeof F?le(J,F):le(J);P.value=Date.now(),P.className="highcharts-current-date-indicator",j.plotLines||(j.plotLines=[]),j.plotLines.push(P)}}function X(){this.label&&this.label.attr({text:this.getLabelText(this.options.label)})}function E(j,F){let P=this.options;return P&&P.className&&-1!==P.className.indexOf("highcharts-current-date-indicator")&&P.label&&"function"==typeof P.label.formatter?(P.value=Date.now(),P.label.formatter.call(this,P.value,P.label.format)):j.call(this,F)}return{compose:function(j,F){pe(re,"CurrentDateIndication")&&(ve(j,"afterSetOptions",te),ve(F,"render",X),ue(F.prototype,"getLabelText",E))}}}),Le(V,"Core/Chart/GanttChart.js",[V["Core/Chart/Chart.js"],V["Core/Defaults.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve;let{defaultOptions:le}=ne,{isArray:pe,merge:ue,splat:J}=re;class te extends q{init(E,j){let F,P=E.xAxis,D=E.yAxis;E.xAxis=E.yAxis=void 0;let A=ue(!0,{chart:{type:"gantt"},title:{text:""},legend:{enabled:!1},navigator:{series:{type:"gantt"},yAxis:{type:"category"}}},E,{isGantt:!0});E.xAxis=P,E.yAxis=D,A.xAxis=(pe(E.xAxis)?E.xAxis:[E.xAxis||{},{}]).map((I,_)=>(1===_&&(F=0),ue({grid:{borderColor:"#cccccc",enabled:!0},opposite:le.xAxis?.opposite??I.opposite??!0,linkedTo:F},I,{type:"datetime"}))),A.yAxis=J(E.yAxis||{}).map(I=>ue({grid:{borderColor:"#cccccc",enabled:!0},staticScale:50,reversed:!0,type:I.categories?I.type:"treegrid"},I)),super.init(A,j)}}return(ve=te||(te={})).ganttChart=function(X,E,j){return new ve(X,E,j)},te}),Le(V,"Stock/Navigator/ChartNavigatorComposition.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let re,{isTouchDevice:ve}=q,{addEvent:le,merge:pe,pick:ue}=ne,J=[];function te(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function X(){let A,I,_,m=this.legend,w=this.navigator;if(w){A=m&&m.options,I=w.xAxis,_=w.yAxis;let{scrollbarHeight:G,scrollButtonSize:O}=w;this.inverted?(w.left=w.opposite?this.chartWidth-G-w.height:this.spacing[3]+G,w.top=this.plotTop+O):(w.left=ue(I.left,this.plotLeft+O),w.top=w.navigatorOptions.top||this.chartHeight-w.height-G-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(A&&"bottom"===A.verticalAlign&&"proximate"!==A.layout&&A.enabled&&!A.floating?m.legendHeight+ue(A.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),I&&_&&(this.inverted?I.options.left=_.options.left=w.left:I.options.top=_.options.top=w.top,I.setAxisSize(),_.setAxisSize())}}function E(A){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new re(this),ue(A.redraw,!0)&&this.redraw(A.animation))}function j(){let A=this.options;(A.navigator.enabled||A.scrollbar.enabled)&&(this.scroller=this.navigator=new re(this))}function F(){let A=this.options,I=A.navigator,_=A.rangeSelector;if((I&&I.enabled||_&&_.enabled)&&(!ve&&"x"===this.zooming.type||ve&&"x"===this.zooming.pinchType))return!1}function P(A){let I=A.navigator;if(I&&A.xAxis[0]){let _=A.xAxis[0].getExtremes();I.render(_.min,_.max)}}function D(A){let I=A.options.navigator||{},_=A.options.scrollbar||{};!this.navigator&&!this.scroller&&(I.enabled||_.enabled)&&(pe(!0,this.options.navigator,I),pe(!0,this.options.scrollbar,_),delete A.options.navigator,delete A.options.scrollbar)}return{compose:function(A,I){ne.pushUnique(J,A)&&(re=I,A.prototype.callbacks.push(P),le(A,"afterAddSeries",te),le(A,"afterSetChartSize",X),le(A,"afterUpdate",E),le(A,"beforeRender",j),le(A,"beforeShowResetZoom",F),le(A,"update",D))}}}),Le(V,"Core/Axis/NavigatorAxisComposition.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{isTouchDevice:re}=q,{addEvent:ve,correctFloat:le,defined:pe,isNumber:ue,pick:J}=ne;function te(){this.navigatorAxis||(this.navigatorAxis=new E(this))}function X(j){let F,P=this.chart,D=P.options,A=D.navigator,I=this.navigatorAxis,_=P.zooming.pinchType,m=D.rangeSelector,w=P.zooming.type;if(this.isXAxis&&(A?.enabled||m?.enabled))if("y"===w&&"zoom"===j.trigger)F=!1;else if(("zoom"===j.trigger&&"xy"===w||re&&"xy"===_)&&this.options.range){let G=I.previousZoom;pe(j.min)?I.previousZoom=[this.min,this.max]:G&&(j.min=G[0],j.max=G[1],I.previousZoom=void 0)}void 0!==F&&j.preventDefault()}class E{static compose(F){F.keepProps.includes("navigatorAxis")||(F.keepProps.push("navigatorAxis"),ve(F,"init",te),ve(F,"setExtremes",X))}constructor(F){this.axis=F}destroy(){this.axis=void 0}toFixedRange(F,P,D,A){let I=this.axis,_=I.chart,m=J(I.ordinal?.convertOverscroll(I.options.overscroll),0),w=J(D,I.translate(F,!0,!I.horiz)),G=J(A,I.translate(P,!0,!I.horiz)),O=_&&_.fixedRange,f=(I.pointRange||0)/2;if(pe(D)||(w=le(w+f)),pe(A)||(G=le(G-f)),O&&I.dataMin&&I.dataMax){let a=I.dataMax+m;G>=a&&(w=le(a-O),G=le(a)),w<=I.dataMin&&(G=le(I.dataMin+O))}return ue(w)&&ue(G)||(w=G=void 0),{min:w,max:G}}}return E}),Le(V,"Stock/Navigator/NavigatorDefaults.js",[V["Core/Color/Color.js"],V["Core/Series/SeriesRegistry.js"]],function(q,ne){let{parse:re}=q,{seriesTypes:ve}=ne;return{height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:re("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===ve.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}),Le(V,"Stock/Navigator/NavigatorSymbols.js",[],function(){return{"navigator-handle":function(q,ne,re,ve,le={}){let pe=le.width?le.width/2:re,ue=Math.round(pe/3)+.5;return[["M",-pe-1,.5],["L",pe,.5],["L",pe,(ve=le.height||ve)+.5],["L",-pe-1,ve+.5],["L",-pe-1,.5],["M",-ue,4],["L",-ue,ve-3],["M",ue-1,4],["L",ue-1,ve-3]]}}}),Le(V,"Stock/Utilities/StockUtilities.js",[V["Core/Utilities.js"]],function(q){let{defined:ne}=q;return{setFixedRange:function(re){let ve=this.xAxis[0];this.fixedRange=ne(ve.dataMax)&&ne(ve.dataMin)&&re?Math.min(re,ve.dataMax-ve.dataMin):re}}}),Le(V,"Stock/Navigator/NavigatorComposition.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Axis/NavigatorAxisComposition.js"],V["Stock/Navigator/NavigatorDefaults.js"],V["Stock/Navigator/NavigatorSymbols.js"],V["Core/Renderer/RendererRegistry.js"],V["Stock/Utilities/StockUtilities.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{setOptions:te}=q,{composed:X}=ne,{getRendererType:E}=pe,{setFixedRange:j}=ue,{addEvent:F,extend:P,pushUnique:D}=J;function A(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(I,_,m){re.compose(_),D(X,"Navigator")&&(I.prototype.setFixedRange=j,P(E().prototype.symbols,le),F(m,"afterUpdate",A),te({navigator:ve}))}}}),Le(V,"Core/Axis/ScrollbarAxis.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){var re;let{composed:ve}=q,{addEvent:le,defined:pe,pick:ue,pushUnique:J}=ne;return function(te){let X;function E(D){let A=ue(D.options&&D.options.min,D.min),I=ue(D.options&&D.options.max,D.max);return{axisMin:A,axisMax:I,scrollMin:pe(D.dataMin)?Math.min(A,D.min,D.dataMin,ue(D.threshold,1/0)):A,scrollMax:pe(D.dataMax)?Math.max(I,D.max,D.dataMax,ue(D.threshold,-1/0)):I}}function j(){let D=this.scrollbar,I=this.horiz?2:D&&!D.options.opposite?3:1;D&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[I]+=D.size+(D.options.margin||0))}function F(){let D=this;D.options&&D.options.scrollbar&&D.options.scrollbar.enabled&&(D.options.scrollbar.vertical=!D.horiz,D.options.startOnTick=D.options.endOnTick=!1,D.scrollbar=new X(D.chart.renderer,D.options.scrollbar,D.chart),le(D.scrollbar,"changed",function(A){let I,_,{axisMin:m,axisMax:w,scrollMin:G,scrollMax:O}=E(D),f=O-G;pe(m)&&pe(w)&&(D.horiz&&!D.reversed||!D.horiz&&D.reversed?(I=G+f*this.to,_=G+f*this.from):(I=G+f*(1-this.from),_=G+f*(1-this.to)),this.shouldUpdateExtremes(A.DOMType)?D.setExtremes(_,I,!0,"mousemove"!==A.DOMType&&"touchmove"!==A.DOMType&&void 0,A):this.setRange(this.from,this.to))}))}function P(){let D,A,I,{scrollMin:_,scrollMax:m}=E(this),w=this.scrollbar,G=this.axisTitleMargin+(this.titleOffset||0),O=this.chart.scrollbarsOffsets,f=this.options.margin||0;if(w&&O){if(this.horiz)this.opposite||(O[1]+=G),w.position(this.left,this.top+this.height+2+O[1]-(this.opposite?f:0),this.width,this.height),this.opposite||(O[1]+=f),D=1;else{let a;this.opposite&&(O[0]+=G),a=w.options.opposite?this.left+this.width+2+O[0]-(this.opposite?0:f):this.opposite?0:f,w.position(a,this.top,this.width,this.height),this.opposite&&(O[0]+=f),D=0}O[D]+=w.size+(w.options.margin||0),isNaN(_)||isNaN(m)||!pe(this.min)||!pe(this.max)||this.min===this.max?w.setRange(0,1):(A=(this.min-_)/(m-_),I=(this.max-_)/(m-_),this.horiz&&!this.reversed||!this.horiz&&this.reversed?w.setRange(A,I):w.setRange(1-I,1-A))}}te.compose=function(D,A){J(ve,"Axis.Scrollbar")&&(X=A,le(D,"afterGetOffset",j),le(D,"afterInit",F),le(D,"afterRender",P))}}(re||(re={})),re}),Le(V,"Stock/Scrollbar/ScrollbarDefaults.js",[],function(){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}}),Le(V,"Stock/Scrollbar/Scrollbar.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Axis/ScrollbarAxis.js"],V["Stock/Scrollbar/ScrollbarDefaults.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{defaultOptions:pe}=q,{addEvent:ue,correctFloat:J,defined:te,destroyObjectProperties:X,fireEvent:E,merge:j,pick:F,removeEvent:P}=le;class D{static compose(I){re.compose(I,D)}static swapXY(I,_){return _&&I.forEach(m=>{let w,G=m.length;for(let O=0;Othis.calculatedWidth?_.minWidth:0;return{chartX:(I.chartX-this.x-this.xOffset)/(this.barWidth-m),chartY:(I.chartY-this.y-this.yOffset)/(this.barWidth-m)}}destroy(){let I=this,_=I.chart.scroller;I.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(m){I[m]&&I[m].destroy&&(I[m]=I[m].destroy())}),_&&I===_.scrollbar&&(_.scrollbar=null,X(_.scrollbarButtons))}drawScrollbarButton(I){let _=this.renderer,m=this.scrollbarButtons,w=this.options,G=this.size,O=_.g().add(this.group);if(m.push(O),w.buttonsEnabled){let f=_.rect().addClass("highcharts-scrollbar-button").add(O);this.chart.styledMode||f.attr({stroke:w.buttonBorderColor,"stroke-width":w.buttonBorderWidth,fill:w.buttonBackgroundColor}),f.attr(f.crisp({x:-.5,y:-.5,width:G+1,height:G+1,r:w.buttonBorderRadius},f.strokeWidth()));let a=_.path(D.swapXY([["M",G/2+(I?-1:1),G/2-3],["L",G/2+(I?-1:1),G/2+3],["L",G/2+(I?2:-2),G/2]],w.vertical)).addClass("highcharts-scrollbar-arrow").add(m[I]);this.chart.styledMode||a.attr({fill:w.buttonArrowColor})}}init(I,_,m){this.scrollbarButtons=[],this.renderer=I,this.userOptions=_,this.options=j(ve,pe.scrollbar,_),this.options.margin=F(this.options.margin,10),this.chart=m,this.size=F(this.options.size,this.options.height),_.enabled&&(this.render(),this.addEvents())}mouseDownHandler(I){let _=this.chart.pointer?.normalize(I)||I,m=this.cursorToScrollbarPosition(_);this.chartX=m.chartX,this.chartY=m.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(I){let _,m=this.chart.pointer?.normalize(I)||I,w=this.options.vertical?"chartY":"chartX",G=this.initPositions||[];this.grabbedCenter&&(!I.touches||0!==I.touches[0][w])&&(_=this.cursorToScrollbarPosition(m)[w]-this[w],this.hasDragged=!0,this.updatePosition(G[0]+_,G[1]+_),this.hasDragged&&E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:I.type,DOMEvent:I}))}mouseUpHandler(I){this.hasDragged&&E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:I.type,DOMEvent:I}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(I,_,m,w){let{buttonsEnabled:G,margin:O=0,vertical:f}=this.options,a=this.rendered?"animate":"attr",g=w,v=0;this.group.show(),this.x=I,this.y=_+this.trackBorderWidth,this.width=m,this.height=w,this.xOffset=g,this.yOffset=v,f?(this.width=this.yOffset=m=v=this.size,this.xOffset=g=0,this.yOffset=v=G?this.size:0,this.barWidth=w-(G?2*m:0),this.x=I+=O):(this.height=w=this.size,this.xOffset=g=G?this.size:0,this.barWidth=m-(G?2*w:0),this.y=this.y+O),this.group[a]({translateX:I,translateY:this.y}),this.track[a]({width:m,height:w}),this.scrollbarButtons[1][a]({translateX:f?0:m-g,translateY:f?w-v:0})}removeEvents(){this._events.forEach(function(I){P.apply(null,I)}),this._events.length=0}render(){let I=this.renderer,_=this.options,m=this.size,w=this.chart.styledMode,G=I.g("scrollbar").attr({zIndex:_.zIndex}).hide().add();this.group=G,this.track=I.rect().addClass("highcharts-scrollbar-track").attr({r:_.trackBorderRadius||0,height:m,width:m}).add(G),w||this.track.attr({fill:_.trackBackgroundColor,stroke:_.trackBorderColor,"stroke-width":_.trackBorderWidth});let O=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-O%2/2,y:-O%2/2}),this.scrollbarGroup=I.g().add(G),this.scrollbar=I.rect().addClass("highcharts-scrollbar-thumb").attr({height:m-O,width:m-O,r:_.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=I.path(D.swapXY([["M",-3,m/4],["L",-3,2*m/3],["M",0,m/4],["L",0,2*m/3],["M",3,m/4],["L",3,2*m/3]],_.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),w||(this.scrollbar.attr({fill:_.barBackgroundColor,stroke:_.barBorderColor,"stroke-width":_.barBorderWidth}),this.scrollbarRifles.attr({stroke:_.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(I,_){let m,w,G=this.options,O=G.vertical,f=G.minWidth,a=this.barWidth,g=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!te(a))return;let v=a*Math.min(_,1);m=Math.ceil(a*(I=Math.max(I,0))),this.calculatedWidth=w=J(v-m),w=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(I){return F(this.options.liveRedraw,ne.svg&&!ne.isTouchDevice&&!this.chart.boosted)||"mouseup"===I||"touchend"===I||!te(I)}trackClick(I){let _=this.chart.pointer?.normalize(I)||I,m=this.to-this.from;this.options.vertical&&_.chartY>this.y+this.scrollbarTop||!this.options.vertical&&_.chartX>this.x+this.scrollbarLeft?this.updatePosition(this.from+m,this.to+m):this.updatePosition(this.from-m,this.to-m),E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:I})}update(I){this.destroy(),this.init(this.chart.renderer,j(!0,this.options,I),this.chart)}updatePosition(I,_){_>1&&(I=J(1-J(_-I)),_=1),I<0&&(_=J(_-I),I=0),this.from=I,this.to=_}}return D.defaultOptions=ve,pe.scrollbar=j(!0,D.defaultOptions,pe.scrollbar),D}),Le(V,"Stock/Navigator/Navigator.js",[V["Core/Axis/Axis.js"],V["Stock/Navigator/ChartNavigatorComposition.js"],V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Axis/NavigatorAxisComposition.js"],V["Stock/Navigator/NavigatorComposition.js"],V["Stock/Scrollbar/Scrollbar.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{defaultOptions:te}=re,{isTouchDevice:X}=ve,{addEvent:E,clamp:j,correctFloat:F,defined:P,destroyObjectProperties:D,erase:A,extend:I,find:_,fireEvent:m,isArray:w,isNumber:G,merge:O,pick:f,removeEvent:a,splat:g}=J;function v(n,...r){let l=[].filter.call(r,G);if(l.length)return Math[n].apply(0,l)}class o{static compose(r,l,d){ne.compose(r,o),pe.compose(r,l,d)}constructor(r){this.scrollbarHeight=0,this.init(r)}drawHandle(r,l,d,C){let k=this.navigatorOptions.handles.height;this.handles[l][C](d?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(r,10)+.5-k)}:{translateX:Math.round(this.left+parseInt(r,10)),translateY:Math.round(this.top+this.height/2-k/2-1)})}drawOutline(r,l,d,C){let x,N,k=this.navigatorOptions.maskInside,p=this.outline.strokeWidth(),T=p/2,B=p%2/2,z=this.scrollButtonSize,K=this.size,U=this.top,se=this.height,S=U-T,$=U+se,H=this.left;d?(x=U+l+B,N=[["M",H+se,U-z-B],["L",H+se,x],["L",H,x],["M",H,l=U+r+B],["L",H+se,l],["L",H+se,U+K+z]],k&&N.push(["M",H+se,x-T],["L",H+se,l+T])):(H-=z,N=[["M",H,S],["L",r+=H+z-B,S],["L",r,$],["M",l+=H+z-B,$],["L",l,S],["L",H+K+2*z,U+T]],k&&N.push(["M",r-T,S],["L",l+T,S])),this.outline[C]({d:N})}drawMasks(r,l,d,C){let k,p,T,B,z=this.left,K=this.top,U=this.height;d?(T=[z,z,z],B=[K,K+r,K+l],p=[U,U,U],k=[r,l-r,this.size-l]):(T=[z,z+r,z+l],B=[K,K,K],p=[r,l-r,this.size-l],k=[U,U,U]),this.shades.forEach((se,S)=>{se[C]({x:T[S],y:B[S],width:p[S],height:k[S]})})}renderElements(){let r=this,l=r.navigatorOptions,d=l.maskInside,C=r.chart,p=C.renderer,T={cursor:C.inverted?"ns-resize":"ew-resize"},B=r.navigatorGroup=p.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();if([!d,d,!d].forEach((z,K)=>{let U=p.rect().addClass("highcharts-navigator-mask"+(1===K?"-inside":"-outside")).add(B);C.styledMode||(U.attr({fill:z?l.maskFill:"rgba(0,0,0,0)"}),1===K&&U.css(T)),r.shades[K]=U}),r.outline=p.path().addClass("highcharts-navigator-outline").add(B),C.styledMode||r.outline.attr({"stroke-width":l.outlineWidth,stroke:l.outlineColor}),l.handles&&l.handles.enabled){let z=l.handles,{height:K,width:U}=z;[0,1].forEach(se=>{r.handles[se]=p.symbol(z.symbols[se],-U/2-1,0,U,K,z),C.inverted&&r.handles[se].attr({rotation:90,rotationOriginX:Math.floor(-U/2),rotationOriginY:(K+U)/2}),r.handles[se].attr({zIndex:7-se}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][se]).add(B),C.styledMode||r.handles[se].attr({fill:z.backgroundColor,stroke:z.borderColor,"stroke-width":z.lineWidth}).css(T)})}}update(r){(this.series||[]).forEach(l=>{l.baseSeries&&delete l.baseSeries.navigatorSeries}),this.destroy(),O(!0,this.chart.options.navigator,r),this.init(this.chart)}render(r,l,d,C){let H,x,N,Z,Y,k=this.chart,p=this.xAxis,T=p.pointRange||0,B=p.navigatorAxis.fake?k.xAxis[0]:p,z=this.navigatorEnabled,K=this.rendered,U=k.inverted,se=k.xAxis[0].minRange,S=k.xAxis[0].options.maxRange,$=this.scrollButtonSize,R=this.scrollbarHeight;if(this.hasDragged&&!P(d))return;if(r=F(r-T/2),l=F(l+T/2),!G(r)||!G(l)){if(!K)return;d=0,C=f(p.width,B.width)}this.left=f(p.left,k.plotLeft+$+(U?k.plotWidth:0));let he=this.size=Z=f(p.len,(U?k.plotHeight:k.plotWidth)-2*$);H=U?R:Z+2*$,d=f(d,p.toPixels(r,!0)),C=f(C,p.toPixels(l,!0)),G(d)&&Math.abs(d)!==1/0||(d=0,C=H);let ge=p.toValue(d,!0),_e=p.toValue(C,!0),Te=Math.abs(F(_e-ge));TeS&&(this.grabbedLeft?d=p.toPixels(_e-S-T,!0):this.grabbedRight&&(C=p.toPixels(ge+S+T,!0))),this.zoomedMax=j(Math.max(d,C),0,he),this.zoomedMin=j(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(d,C),0,he),this.range=this.zoomedMax-this.zoomedMin,he=Math.round(this.zoomedMax);let Oe=Math.round(this.zoomedMin);z&&(this.navigatorGroup.attr({visibility:"inherit"}),Y=K&&!this.hasDragged?"animate":"attr",this.drawMasks(Oe,he,U,Y),this.drawOutline(Oe,he,U,Y),this.navigatorOptions.handles.enabled&&(this.drawHandle(Oe,0,U,Y),this.drawHandle(he,1,U,Y))),this.scrollbar&&(U?(N=this.top-$,x=this.left-R+(z||!B.opposite?0:(B.titleOffset||0)+B.axisTitleMargin),R=Z+2*$):(N=this.top+(z?this.height:-R),x=this.left-$),this.scrollbar.position(x,N,H,R),this.scrollbar.setRange(this.zoomedMin/(Z||1),this.zoomedMax/(Z||1))),this.rendered=!0,m(this,"afterRender")}addMouseEvents(){let k,p,r=this,l=r.chart,d=l.container,C=[];r.mouseMoveHandler=k=function(T){r.onMouseMove(T)},r.mouseUpHandler=p=function(T){r.onMouseUp(T)},(C=r.getPartsEvents("mousedown")).push(E(l.renderTo,"mousemove",k),E(d.ownerDocument,"mouseup",p),E(l.renderTo,"touchmove",k),E(d.ownerDocument,"touchend",p)),C.concat(r.getPartsEvents("touchstart")),r.eventsToUnbind=C,r.series&&r.series[0]&&C.push(E(r.series[0].xAxis,"foundExtremes",function(){l.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(r){let l=this,d=[];return["shades","handles"].forEach(function(C){l[C].forEach(function(k,p){d.push(E(k.element,r,function(T){l[C+"Mousedown"](T,p)}))})}),d}shadesMousedown(r,l){r=this.chart.pointer?.normalize(r)||r;let K,U,se,S,C=this.xAxis,k=this.zoomedMin,p=this.size,T=this.range,B=this.left,z=r.chartX;this.chart.inverted&&(z=r.chartY,B=this.top),1===l?(this.grabbedCenter=z,this.fixedWidth=T,this.dragOffset=z-k):(S=z-B-T/2,0===l?S=Math.max(0,S):2===l&&S+T>=p&&(S=p-T,this.reversedExtremes?(S-=T,U=this.getUnionExtremes().dataMin):K=this.getUnionExtremes().dataMax),S!==k&&(this.fixedWidth=T,P((se=C.navigatorAxis.toFixedRange(S,S+T,U,K)).min)&&m(this,"setRange",{min:Math.min(se.min,se.max),max:Math.max(se.min,se.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(r,l){r=this.chart.pointer?.normalize(r)||r;let d=this.chart,C=d.xAxis[0],k=this.reversedExtremes;0===l?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=k?C.min:C.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=k?C.max:C.min),d.setFixedRange(void 0)}onMouseMove(r){let z,l=this,d=l.chart,C=l.navigatorSize,k=l.range,p=l.dragOffset,T=d.inverted,B=l.left;(!r.touches||0!==r.touches[0].pageX)&&(z=(r=d.pointer?.normalize(r)||r).chartX,T&&(B=l.top,z=r.chartY),l.grabbedLeft?(l.hasDragged=!0,l.render(0,0,z-B,l.otherHandlePos)):l.grabbedRight?(l.hasDragged=!0,l.render(0,0,l.otherHandlePos,z-B)):l.grabbedCenter&&(l.hasDragged=!0,zC+p-k&&(z=C+p-k),l.render(0,0,z-p,z-p+k)),l.hasDragged&&l.scrollbar&&f(l.scrollbar.options.liveRedraw,!X&&!this.chart.boosted)&&(r.DOMType=r.type,setTimeout(function(){l.onMouseUp(r)},0)))}onMouseUp(r){let l,d,C,k,p,T,z=this.xAxis,K=this.scrollbar,U=r.DOMEvent||r,se=this.chart.inverted,S=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!K||!K.hasDragged)||"scrollbar"===r.trigger)&&(C=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?k=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(p=this.fixedExtreme),this.zoomedMax===this.size&&(p=this.reversedExtremes?C.dataMin:C.dataMax),0===this.zoomedMin&&(k=this.reversedExtremes?C.dataMax:C.dataMin),P((T=z.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,k,p)).min)&&m(this,"setRange",{min:Math.min(T.min,T.max),max:Math.max(T.min,T.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:U}})),"mousemove"!==r.DOMType&&"touchmove"!==r.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&G(this.zoomedMin)&&G(this.zoomedMax)&&(d=Math.round(this.zoomedMin),l=Math.round(this.zoomedMax),this.shades&&this.drawMasks(d,l,se,S),this.outline&&this.drawOutline(d,l,se,S),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(d,0,se,S),this.drawHandle(l,1,se,S)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(r){r()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let r=this.baseSeries||[];this.navigatorEnabled&&r[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&r.forEach(function(l){a(l,"updatedData",this.updatedDataHandler)},this),r[0].xAxis&&a(r[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}init(r){let l=r.options,d=l.navigator||{},C=d.enabled,k=l.scrollbar||{},p=k.enabled,T=C&&d.height||0,B=p&&k.height||0,z=k.buttonsEnabled&&B||0;this.handles=[],this.shades=[],this.chart=r,this.setBaseSeries(),this.height=T,this.scrollbarHeight=B,this.scrollButtonSize=z,this.scrollbarEnabled=p,this.navigatorEnabled=C,this.navigatorOptions=d,this.scrollbarOptions=k,this.opposite=f(d.opposite,!(C||!r.inverted));let K=this,U=K.baseSeries,se=r.xAxis.length,S=r.yAxis.length,$=U&&U[0]&&U[0].xAxis||r.xAxis[0]||{options:{}};if(r.isDirtyBox=!0,K.navigatorEnabled?(K.xAxis=new q(r,O({breaks:$.options.breaks,ordinal:$.options.ordinal,overscroll:$.options.overscroll},d.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",type:"datetime",index:se,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},r.inverted?{offsets:[z,0,-z,0],width:T}:{offsets:[0,-z,0,z],height:T}),"xAxis"),K.yAxis=new q(r,O(d.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:S,isInternal:!0,reversed:f(d.yAxis&&d.yAxis.reversed,r.yAxis[0]&&r.yAxis[0].reversed,!1),zoomEnabled:!1},r.inverted?{width:T}:{height:T}),"yAxis"),U||d.series.data?K.updateNavigatorSeries(!1):0===r.series.length&&(K.unbindRedraw=E(r,"beforeRedraw",function(){r.series.length>0&&!K.series&&(K.setBaseSeries(),K.unbindRedraw())})),K.reversedExtremes=r.inverted&&!K.xAxis.reversed||!r.inverted&&K.xAxis.reversed,K.renderElements(),K.addMouseEvents()):(K.xAxis={chart:r,navigatorAxis:{fake:!0},translate:function(H,x){let N=r.xAxis[0],R=N.getExtremes(),Z=N.len-2*z,Y=v("min",N.options.min,R.dataMin),he=v("max",N.options.max,R.dataMax)-Y;return x?H*he/Z+Y:Z*(H-Y)/he},toPixels:function(H){return this.translate(H)},toValue:function(H){return this.translate(H,!0)}},K.xAxis.navigatorAxis.axis=K.xAxis,K.xAxis.navigatorAxis.toFixedRange=le.prototype.toFixedRange.bind(K.xAxis.navigatorAxis)),r.options.scrollbar.enabled){let H=O(r.options.scrollbar,{vertical:r.inverted});!G(H.margin)&&K.navigatorEnabled&&(H.margin=r.inverted?-3:3),r.scrollbar=K.scrollbar=new ue(r.renderer,H,r),E(K.scrollbar,"changed",function(x){let N=K.size,R=N*this.to,Z=N*this.from;K.hasDragged=K.scrollbar.hasDragged,K.render(0,0,Z,R),this.shouldUpdateExtremes(x.DOMType)&&setTimeout(function(){K.onMouseUp(x)})})}K.addBaseSeriesEvents(),K.addChartEvents()}getUnionExtremes(r){let l,d=this.chart.xAxis[0],C=this.xAxis,k=C.options,p=d.options;return r&&null===d.dataMin||(l={dataMin:f(k&&k.min,v("min",p.min,d.dataMin,C.dataMin,C.min)),dataMax:f(k&&k.max,v("max",p.max,d.dataMax,C.dataMax,C.max))}),l}setBaseSeries(r,l){let d=this.chart,C=this.baseSeries=[];r=r||d.options&&d.options.navigator.baseSeries||(d.series.length?_(d.series,k=>!k.options.isInternal).index:0),(d.series||[]).forEach((k,p)=>{!k.options.isInternal&&(k.options.showInNavigator||(p===r||k.options.id===r)&&!1!==k.options.showInNavigator)&&C.push(k)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,l)}updateNavigatorSeries(r,l){let B,z,U,d=this,C=d.chart,k=d.baseSeries,p={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},T=d.series=(d.series||[]).filter(se=>{let S=se.baseSeries;return!(0>k.indexOf(S)&&(S&&(a(S,"updatedData",d.updatedDataHandler),delete S.navigatorSeries),se.chart&&se.destroy(),1))}),K=d.navigatorOptions.series;k&&k.length&&k.forEach(se=>{let S=se.navigatorSeries,$=I({color:se.color,visible:se.visible},w(K)?te.navigator.series:K);if(S&&!1===d.navigatorOptions.adaptToUpdatedData)return;p.name="Navigator "+k.length,U=(B=se.options||{}).navigatorOptions||{},$.dataLabels=g($.dataLabels),(z=O(B,p,$,U)).pointRange=f($.pointRange,U.pointRange,te.plotOptions[z.type||"line"].pointRange);let H=U.data||$.data;d.hasNavigatorData=d.hasNavigatorData||!!H,z.data=H||B.data&&B.data.slice(0),S&&S.options?S.update(z,l):(se.navigatorSeries=C.initSeries(z),C.setSortedData(),se.navigatorSeries.baseSeries=se,T.push(se.navigatorSeries))}),(K.data&&!(k&&k.length)||w(K))&&(d.hasNavigatorData=!1,(K=g(K)).forEach((se,S)=>{p.name="Navigator "+(T.length+1),(z=O(te.navigator.series,{color:C.series[S]&&!C.series[S].options.isInternal&&C.series[S].color||C.options.colors[S]||C.options.colors[0]},p,se)).data=se.data,z.data&&(d.hasNavigatorData=!0,T.push(C.initSeries(z)))})),r&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let r=this,l=r.baseSeries||[];l[0]&&l[0].xAxis&&l[0].eventsToUnbind.push(E(l[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),l.forEach(d=>{d.eventsToUnbind.push(E(d,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),d.eventsToUnbind.push(E(d,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&d.xAxis&&d.eventsToUnbind.push(E(d,"updatedData",this.updatedDataHandler)),d.eventsToUnbind.push(E(d,"remove",function(){this.navigatorSeries&&(A(r.series,this.navigatorSeries),P(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(r){return this.baseSeries.reduce(function(l,d){return Math.min(l,d.xData&&d.xData.length?d.xData[0]:l)},r)}modifyNavigatorAxisExtremes(){let r=this.xAxis;if(void 0!==r.getExtremes){let l=this.getUnionExtremes(!0);l&&(l.dataMin!==r.min||l.dataMax!==r.max)&&(r.min=l.dataMin,r.max=l.dataMax)}}modifyBaseAxisExtremes(){let r,l,d=this.chart.navigator,C=this.getExtremes(),T=C.dataMin,B=C.dataMax,z=C.max-C.min,K=d.stickToMin,U=d.stickToMax,se=f(this.ordinal?.convertOverscroll(this.options.overscroll),0),S=d.series&&d.series[0],$=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(K&&(r=(l=T)+z),U&&(r=B+se,K||(l=Math.max(T,r-z,d.getBaseSeriesMin(S&&S.xData?S.xData[0]:-Number.MAX_VALUE)))),$&&(K||U)&&G(l)&&(this.min=this.userMin=l,this.max=this.userMax=r)),d.stickToMin=d.stickToMax=null}updatedDataHandler(){let r=this.chart.navigator,l=this.navigatorSeries,d=r.reversedExtremes?0===Math.round(r.zoomedMin):Math.round(r.zoomedMax)>=Math.round(r.size);r.stickToMax=f(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,d),r.stickToMin=r.shouldStickToMin(this,r),l&&!r.hasNavigatorData&&(l.options.pointStart=this.xData[0],l.setData(this.options.data,!1,null,!1))}shouldStickToMin(r,l){let d=l.getBaseSeriesMin(r.xData[0]),C=r.xAxis,k=C.max,p=C.min,T=C.options.range;return!(!G(k)||!G(p))&&(T&&k-d>0?k-d{r.destroy&&r.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(r=>{this[r]&&this[r].destroy&&this[r].destroy(),this[r]=null}),[this.handles].forEach(r=>{D(r)})}}return o}),Le(V,"Stock/RangeSelector/RangeSelectorDefaults.js",[],function(){return{lang:{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"\u2192"},rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%e %b %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#334eff",cursor:"pointer",fontSize:"0.8em"},labelStyle:{color:"#666666",fontSize:"0.8em"}}}}),Le(V,"Stock/RangeSelector/RangeSelectorComposition.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Stock/RangeSelector/RangeSelectorDefaults.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let le,{defaultOptions:pe}=q,{composed:ue}=ne,{addEvent:J,defined:te,extend:X,find:E,isNumber:j,merge:F,pick:P,pushUnique:D}=ve,A=[];function I(){let g,v,o=this.range,n=o.type,r=this.max,l=this.chart.time,d=function(k,p){let T="year"===n?"FullYear":"Month",B=new l.Date(k),z=l.get(T,B);return l.set(T,B,z+p),z===l.get(T,B)&&l.set("Date",B,0),B.getTime()-k};j(o)?(g=r-o,v=o):o&&(g=r+d(r,-(o.count||1)),this.chart&&this.chart.setFixedRange(r-g));let C=P(this.dataMin,Number.MIN_VALUE);return j(g)||(g=C),g<=C&&(g=C,void 0===v&&(v=d(g,o.count)),this.newMax=Math.min(g+v,P(this.dataMax,Number.MAX_VALUE))),j(r)?!j(o)&&o&&o._offsetMin&&(g+=o._offsetMin):g=void 0,g}function _(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new le(this))}function m(){let g=this.axes,v=this.rangeSelector;if(v){j(v.deferredYTDClick)&&(v.clickButton(v.deferredYTDClick),delete v.deferredYTDClick),g.forEach(n=>{n.updateNames(),n.setScale()}),this.getAxisMargins(),v.render();let o=v.options.verticalAlign;v.options.floating||("bottom"===o?this.extraBottomMargin=!0:"middle"===o||(this.extraTopMargin=!0))}}function w(g){let v,o,n,r,l=g.rangeSelector,d=()=>{l&&(v=g.xAxis[0].getExtremes(),o=g.legend,r=l&&l.options.verticalAlign,j(v.min)&&l.render(v.min,v.max),o.display&&"top"===r&&r===o.options.verticalAlign&&(n=F(g.spacingBox),"vertical"===o.options.layout?n.y=g.plotTop:n.y+=l.getHeight(),o.group.placed=!1,o.align(n)))};l&&(E(A,C=>C[0]===g)||A.push([g,[J(g.xAxis[0],"afterSetExtremes",function(C){l&&l.render(C.min,C.max)}),J(g,"redraw",d)]]),d())}function G(){for(let g=0,v=A.length;gn()),void A.splice(g,1)}}function O(){let g=this.rangeSelector;if(g){let v=g.getHeight();this.extraTopMargin&&(this.plotTop+=v),this.extraBottomMargin&&(this.marginBottom+=v)}}function f(){let g=this.rangeSelector;if(g&&!g.options.floating){g.render();let v=g.options.verticalAlign;"bottom"===v?this.extraBottomMargin=!0:"middle"!==v&&(this.extraTopMargin=!0)}}function a(g){let v=g.options.rangeSelector,o=this.extraBottomMargin,n=this.extraTopMargin,r=this.rangeSelector;if(v&&v.enabled&&!te(r)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=r=new le(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,r){w(this);let l=v&&v.verticalAlign||r.options&&r.options.verticalAlign;r.options.floating||("bottom"===l?this.extraBottomMargin=!0:"middle"===l||(this.extraTopMargin=!0)),(this.extraBottomMargin!==o||this.extraTopMargin!==n)&&(this.isDirtyBox=!0)}}return{compose:function(g,v,o){if(le=o,D(ue,"RangeSelector")){let n=v.prototype;g.prototype.minFromRange=I,J(v,"afterGetContainer",_),J(v,"beforeRender",m),J(v,"destroy",G),J(v,"getMargins",O),J(v,"render",f),J(v,"update",a),n.callbacks.push(w),X(pe,{rangeSelector:re.rangeSelector}),X(pe.lang,re.lang)}}}}),Le(V,"Stock/RangeSelector/RangeSelector.js",[V["Core/Axis/Axis.js"],V["Core/Defaults.js"],V["Core/Globals.js"],V["Stock/RangeSelector/RangeSelectorComposition.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){let{defaultOptions:ue}=ne,{addEvent:J,createElement:te,css:X,defined:E,destroyObjectProperties:j,discardElement:F,extend:P,fireEvent:D,isNumber:A,merge:I,objectEach:_,pad:m,pick:w,pInt:G,splat:O}=pe;class f{static compose(g,v){ve.compose(g,v,f)}constructor(g){this.buttonOptions=f.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.chart=g,this.init(g)}clickButton(g,v){let T,z,U,se,S,$,H,o=this.chart,n=this.buttonOptions[g],r=o.xAxis[0],l=o.scroller&&o.scroller.getUnionExtremes()||r||{},d=n.type,C=n.dataGrouping,k=l.dataMin,p=l.dataMax,B=r&&Math.round(Math.min(r.max,w(p,r.max))),K=n._range,x=!0;if(null!==k&&null!==p){if(this.setSelected(g),C&&(this.forcedDataGrouping=!0,q.prototype.setDataGrouping.call(r||{chart:this.chart},C,!1),this.frozenStates=n.preserveDataGrouping),"month"===d||"year"===d)r?($={range:n,max:B,chart:o,dataMin:k,dataMax:p},T=r.minFromRange.call($),A($.newMax)&&(B=$.newMax),x=!1):K=n;else if(K)B=Math.min((T=Math.max(B-K,k))+K,p),x=!1;else if("ytd"===d){if(!r)return void(this.deferredYTDClick=g);(void 0===p||void 0===k)&&(k=Number.MAX_VALUE,p=Number.MIN_VALUE,o.series.forEach(N=>{let R=N.xData;R&&(k=Math.min(R[0],k),p=Math.max(R[R.length-1],p))}),v=!1),T=U=(H=this.getYTDExtremes(p,k,o.time.useUTC)).min,B=H.max}else"all"===d&&r&&(o.navigator&&o.navigator.baseSeries[0]&&(o.navigator.baseSeries[0].xAxis.options.range=void 0),T=k,B=p);x&&n._offsetMin&&E(T)&&(T+=n._offsetMin),n._offsetMax&&E(B)&&(B+=n._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=g+1),r?(r.setExtremes(T,B,w(v,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:n}),o.setFixedRange(n._range)):(S=(z=O(o.options.xAxis)[0]).range,z.range=K,se=z.min,z.min=U,J(o,"load",function(){o.setFixedRange(n._range),z.range=S,z.min=se})),D(this,"afterBtnClick")}}setSelected(g){this.selected=this.options.selected=g}init(g){let v=this,o=g.options.rangeSelector,n=o.buttons||v.defaultButtons.slice(),r=o.selected,l=function(){let d=v.minInput,C=v.maxInput;d&&d.blur&&D(d,"blur"),C&&C.blur&&D(C,"blur")};v.chart=g,v.options=o,v.buttons=[],v.buttonOptions=n,this.eventsToUnbind=[],this.eventsToUnbind.push(J(g.container,"mousedown",l)),this.eventsToUnbind.push(J(g,"resize",l)),n.forEach(v.computeButtonRange),void 0!==r&&n[r]&&this.clickButton(r,!1),this.eventsToUnbind.push(J(g,"load",function(){g.xAxis&&g.xAxis[0]&&J(g.xAxis[0],"setExtremes",function(d){A(this.max)&&A(this.min)&&this.max-this.min!==g.fixedRange&&"rangeSelectorButton"!==d.trigger&&"updatedData"!==d.trigger&&v.forcedDataGrouping&&!v.frozenStates&&this.setDataGrouping(!1,!1)})}))}updateButtonStates(){let g=this,v=this.chart,o=this.dropdown,n=v.xAxis[0],r=Math.round(n.max-n.min),l=!n.hasVisibleSeries,d=864e5,C=v.scroller&&v.scroller.getUnionExtremes()||n,k=C.dataMin,p=C.dataMax,T=g.getYTDExtremes(p,k,v.time.useUTC),B=T.min,z=T.max,K=g.selected,U=g.options.allButtonsEnabled,se=g.buttons,S=A(K),$=!1;g.buttonOptions.forEach((H,x)=>{let N=H._range,R=H.type,Z=H.count||1,Y=se[x],he=H._offsetMax-H._offsetMin,ge=x===K,_e=N>p-k,Te=NN&&(oe=!0)}else("month"===R||"year"===R)&&r+36e5>={month:28,year:365}[R]*d*Z-he&&r-36e5<={month:31,year:366}[R]*d*Z+he?oe=!0:"ytd"===R?(oe=z-B+he===r,De=!ge):"all"===R&&(oe=n.max-n.min>=p-k,Be=!ge&&S&&oe);let ee=!U&&!($&&"all"===R)&&(_e||Te||Be||l);ee?Oe=3:($&&"all"===R||ge&&oe||oe&&!S&&!De||ge&&g.frozenStates)&&(S=!0,Oe=2),Y.state!==Oe&&(Y.setState(Oe),o&&(o.options[x+1].disabled=ee,2===Oe&&(o.selectedIndex=x+1)),0===Oe&&K===x?g.setSelected():(2===Oe&&!E(K)||$)&&g.setSelected(x))})}computeButtonRange(g){let v=g.type,o=g.count||1,n={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5};n[v]?g._range=n[v]*o:("month"===v||"year"===v)&&(g._range=24*{month:30,year:365}[v]*36e5*o),g._offsetMin=w(g.offsetMin,0),g._offsetMax=w(g.offsetMax,0),g._range+=g._offsetMax-g._offsetMin}getInputValue(g){let v="min"===g?this.minInput:this.maxInput,n=this.chart.time;return v?("text"===v.type&&this.chart.options.rangeSelector.inputDateParser||this.defaultInputDateParser)(v.value,n.useUTC,n):0}setInputValue(g,v){let o=this.options,n=this.chart.time,r="min"===g?this.minInput:this.maxInput,l="min"===g?this.minDateBox:this.maxDateBox;if(r){let d=r.getAttribute("data-hc-time"),C=E(d)?Number(d):void 0;if(E(v)){let k=C;E(k)&&r.setAttribute("data-hc-time-previous",k),r.setAttribute("data-hc-time",v),C=v}r.value=n.dateFormat(this.inputTypeFormats[r.type]||o.inputEditDateFormat,C),l&&l.attr({text:n.dateFormat(o.inputDateFormat,C)})}}setInputExtremes(g,v,o){let n="min"===g?this.minInput:this.maxInput;if(n){let r=this.inputTypeFormats[n.type],l=this.chart.time;if(r){let d=l.dateFormat(r,v);n.min!==d&&(n.min=d);let C=l.dateFormat(r,o);n.max!==C&&(n.max=C)}}}showInput(g){let v="min"===g?this.minDateBox:this.maxDateBox,o="min"===g?this.minInput:this.maxInput;if(o&&v&&this.inputGroup){let n="text"===o.type,{translateX:r=0,translateY:l=0}=this.inputGroup,{x:d=0,width:C=0,height:k=0}=v,{inputBoxWidth:p}=this.options;X(o,{width:n?C+(p?-2:20)+"px":"auto",height:k-2+"px",border:"2px solid silver"}),X(o,n&&p?{left:r+d+"px",top:l+"px"}:{left:Math.min(Math.round(d+r-(o.offsetWidth-C)/2),this.chart.chartWidth-o.offsetWidth)+"px",top:l-(o.offsetHeight-k)/2+"px"})}}hideInput(g){let v="min"===g?this.minInput:this.maxInput;v&&X(v,{top:"-9999em",border:0,width:"1px",height:"1px"})}defaultInputDateParser(g,v,o){let n=g.split("/").join("-").split(" ").join("T");if(-1===n.indexOf("T")&&(n+="T00:00"),v)n+="Z";else{let l;if(re.isSafari&&(!((l=n).length>6)||l.lastIndexOf("-")!==l.length-6&&l.lastIndexOf("+")!==l.length-6)){let d=new Date(n).getTimezoneOffset()/60;n+=d<=0?`+${m(-d)}:00`:`-${m(d)}:00`}}let r=Date.parse(n);if(!A(r)){let l=g.split("-");r=Date.UTC(G(l[0]),G(l[1])-1,G(l[2]))}return o&&v&&A(r)&&(r+=o.getTimezoneOffset(r)),r}drawInput(g){let{chart:v,div:o,inputGroup:n}=this,r=this,l=v.renderer.style||{},d=v.renderer,C=v.options.rangeSelector,p="min"===g;function T(){let{maxInput:S,minInput:$}=r,H=v.xAxis[0],x=v.scroller&&v.scroller.getUnionExtremes()||H,N=x.dataMin,R=x.dataMax,Z=r.getInputValue(g);Z!==Number(U.getAttribute("data-hc-time-previous"))&&A(Z)&&(U.setAttribute("data-hc-time-previous",Z),p&&S&&A(N)?Z>Number(S.getAttribute("data-hc-time"))?Z=void 0:ZR&&(Z=R)),void 0!==Z&&H.setExtremes(p?Z:H.min,p?H.max:Z,void 0,void 0,{trigger:"rangeSelectorInput"}))}let B=ue.lang[p?"rangeSelectorFrom":"rangeSelectorTo"]||"",z=d.label(B,0).addClass("highcharts-range-label").attr({padding:B?2:0,height:B?C.inputBoxHeight:0}).add(n),K=d.label("",0).addClass("highcharts-range-input").attr({padding:2,width:C.inputBoxWidth,height:C.inputBoxHeight,"text-align":"center"}).on("click",function(){r.showInput(g),r[g+"Input"].focus()});v.styledMode||K.attr({stroke:C.inputBoxBorderColor,"stroke-width":1}),K.add(n);let U=te("input",{name:g,className:"highcharts-range-selector"},void 0,o);U.setAttribute("type",function(S){if(-1!==S.indexOf("%L"))return"text";let $=["a","A","d","e","w","b","B","m","o","y","Y"].some(x=>-1!==S.indexOf("%"+x)),H=["H","k","I","l","M","S"].some(x=>-1!==S.indexOf("%"+x));return $&&H?"datetime-local":$?"date":H?"time":"text"}(C.inputDateFormat||"%e %b %Y")),v.styledMode||(z.css(I(l,C.labelStyle)),K.css(I({color:"#333333"},l,C.inputStyle)),X(U,P({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:l.fontSize,fontFamily:l.fontFamily,top:"-9999em"},C.inputStyle))),U.onfocus=()=>{r.showInput(g)},U.onblur=()=>{U===re.doc.activeElement&&T(),r.hideInput(g),r.setInputValue(g),U.blur()};let se=!1;return U.onchange=()=>{se||(T(),r.hideInput(g),U.blur())},U.onkeypress=S=>{13===S.keyCode&&T()},U.onkeydown=S=>{se=!0,(38===S.keyCode||40===S.keyCode)&&T()},U.onkeyup=()=>{se=!1},{dateBox:K,input:U,label:z}}getPosition(){let g=this.chart,v=g.options.rangeSelector,o="top"===v.verticalAlign?g.plotTop-g.axisOffset[0]:0;return{buttonTop:o+v.buttonPosition.y,inputTop:o+v.inputPosition.y-10}}getYTDExtremes(g,v,o){let n=this.chart.time,r=new n.Date(g),l=n.get("FullYear",r),d=Math.max(v,o?n.Date.UTC(l,0,1):+new n.Date(l,0,1)),C=r.getTime();return{max:Math.min(g||C,C),min:d}}render(g,v){let o=this.chart,n=o.renderer,r=o.container,l=o.options,d=l.rangeSelector,C=w(l.chart.style&&l.chart.style.zIndex,0)+1,k=d.inputEnabled;if(!1!==d.enabled){if(!this.rendered&&(this.group=n.g("range-selector-group").attr({zIndex:7}).add(),this.div=te("div",void 0,{position:"relative",height:0,zIndex:C}),this.buttonOptions.length&&this.renderButtons(),r.parentNode&&r.parentNode.insertBefore(this.div,r),k)){this.inputGroup=n.g("input-group").add(this.group);let T=this.drawInput("min");this.minDateBox=T.dateBox,this.minLabel=T.label,this.minInput=T.input;let B=this.drawInput("max");this.maxDateBox=B.dateBox,this.maxLabel=B.label,this.maxInput=B.input}if(k){this.setInputValue("min",g),this.setInputValue("max",v);let T=o.scroller&&o.scroller.getUnionExtremes()||o.xAxis[0]||{};if(E(T.dataMin)&&E(T.dataMax)){let B=o.xAxis[0].minRange||0;this.setInputExtremes("min",T.dataMin,Math.min(T.dataMax,this.getInputValue("max"))-B),this.setInputExtremes("max",Math.max(T.dataMin,this.getInputValue("min"))+B,T.dataMax)}if(this.inputGroup){let B=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(z=>{if(z){let{width:K}=z.getBBox();K&&(z.attr({x:B}),B+=K+d.inputSpacing)}})}}this.alignElements(),this.rendered=!0}}renderButtons(){let{buttons:g,chart:v,options:o}=this,n=ue.lang,r=v.renderer,l=I(o.buttonTheme),d=l&&l.states,C=l.width||28;delete l.width,delete l.states,this.buttonGroup=r.g("range-selector-buttons").add(this.group);let k=this.dropdown=te("select",void 0,{position:"absolute",width:"1px",height:"1px",padding:0,border:0,top:"-9999em",cursor:"pointer",opacity:1e-4},this.div);J(k,"touchstart",()=>{k.style.fontSize="16px"}),[[re.isMS?"mouseover":"mouseenter"],[re.isMS?"mouseout":"mouseleave"],["change","click"]].forEach(([p,T])=>{J(k,p,()=>{let B=g[this.currentButtonIndex()];B&&D(B.element,T||p)})}),this.zoomText=r.label(n&&n.rangeSelectorZoom||"",0).attr({padding:o.buttonTheme.padding,height:o.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(o.labelStyle),l["stroke-width"]=w(l["stroke-width"],0)),te("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,k),this.buttonOptions.forEach((p,T)=>{te("option",{textContent:p.title||p.text},void 0,k),g[T]=r.button(p.text,0,0,B=>{let z,K=p.events&&p.events.click;K&&(z=K.call(p,B)),!1!==z&&this.clickButton(T),this.isActive=!0},l,d&&d.hover,d&&d.select,d&&d.disabled).attr({"text-align":"center",width:C}).add(this.buttonGroup),p.title&&g[T].attr("title",p.title)})}alignElements(){let{buttonGroup:g,buttons:v,chart:o,group:n,inputGroup:r,options:l,zoomText:d}=this,C=o.options,k=C.exporting&&!1!==C.exporting.enabled&&C.navigation&&C.navigation.buttonOptions,{buttonPosition:p,inputPosition:T,verticalAlign:B}=l,z=(U,se)=>k&&this.titleCollision(o)&&"top"===B&&"right"===se.align&&se.y-U.getBBox().height-12<(k.y||0)+(k.height||0)+o.spacing[0]?-40:0,K=o.plotLeft;if(n&&p&&T){let U=p.x-o.spacing[3];if(g){if(this.positionButtons(),!this.initialButtonGroupWidth){let Y=0;d&&(Y+=d.getBBox().width+5),v.forEach((he,ge)=>{Y+=he.width||0,ge!==v.length-1&&(Y+=l.buttonSpacing)}),this.initialButtonGroupWidth=Y}K-=o.spacing[3],this.updateButtonStates();let Z=z(g,p);this.alignButtonGroup(Z),n.placed=g.placed=o.hasLoaded}let se=0;r&&(se=z(r,T),"left"===T.align?U=K:"right"===T.align&&(U=-Math.max(o.axisOffset[1],-se)),r.align({y:T.y,width:r.getBBox().width,align:T.align,x:T.x+U-2},!0,o.spacingBox),r.placed=o.hasLoaded),this.handleCollision(se),n.align({verticalAlign:B},!0,o.spacingBox);let S=n.alignAttr.translateY,$=n.getBBox().height+20,H=0;if("bottom"===B){let Z=o.legend&&o.legend.options;H=S-($=$+(Z&&"bottom"===Z.verticalAlign&&Z.enabled&&!Z.floating?o.legend.legendHeight+w(Z.margin,10):0)-20)-(l.floating?0:l.y)-(o.titleOffset?o.titleOffset[2]:0)-10}"top"===B?(l.floating&&(H=0),o.titleOffset&&o.titleOffset[0]&&(H=o.titleOffset[0]),H+=o.margin[0]-o.spacing[0]||0):"middle"===B&&(T.y===p.y?H=S:(T.y||p.y)&&(T.y<0||p.y<0?H-=Math.min(T.y,p.y):H=S-$)),n.translate(l.x,l.y+Math.floor(H));let{minInput:x,maxInput:N,dropdown:R}=this;l.inputEnabled&&x&&N&&(x.style.marginTop=n.translateY+"px",N.style.marginTop=n.translateY+"px"),R&&(R.style.marginTop=n.translateY+"px")}}alignButtonGroup(g,v){let{chart:o,options:n,buttonGroup:r}=this,{buttonPosition:l}=n,d=o.plotLeft-o.spacing[3],C=l.x-o.spacing[3];"right"===l.align?C+=g-d:"center"===l.align&&(C-=d/2),r&&r.align({y:l.y,width:w(v,this.initialButtonGroupWidth),align:l.align,x:C},!0,o.spacingBox)}positionButtons(){let{buttons:g,chart:v,options:o,zoomText:n}=this,r=v.hasLoaded?"animate":"attr",{buttonPosition:l}=o,d=v.plotLeft,C=d;n&&"hidden"!==n.visibility&&(n[r]({x:w(d+l.x,d)}),C+=l.x+n.getBBox().width+5);for(let k=0,p=this.buttonOptions.length;k{let T=0;return this.buttons.forEach(B=>{let z=B.getBBox();z.width>T&&(T=z.width)}),T},k=T=>{if(n&&o){let B=n.alignAttr.translateX+n.alignOptions.x-g+n.getBBox().x+2,z=n.alignOptions.width,K=o.alignAttr.translateX+o.getBBox().x;return K+T>B&&B+z>K&&r.y{n&&o&&n.attr({translateX:n.alignAttr.translateX+(v.axisOffset[1]>=-g?0:-g),translateY:n.alignAttr.translateY+o.getBBox().height+10})};if(o){if("always"===l)return this.collapseButtons(g),void(k(C())&&p());"never"===l&&this.expandButtons()}n&&o?d.align===r.align||k(this.initialButtonGroupWidth+20)?"responsive"===l?(this.collapseButtons(g),k(C())&&p()):p():"responsive"===l&&this.expandButtons():o&&"responsive"===l&&(this.initialButtonGroupWidth>v.plotWidth?this.collapseButtons(g):this.expandButtons())}collapseButtons(g){let{buttons:v,buttonOptions:o,chart:n,dropdown:r,options:l,zoomText:d}=this;if(!0===this.isCollapsed)return;this.isCollapsed=!0;let C=n.userOptions.rangeSelector&&n.userOptions.rangeSelector.buttonTheme||{},k=B=>({text:B?`${B} \u25be`:"\u25be",width:"auto",paddingLeft:w(l.buttonTheme.paddingLeft,C.padding,8),paddingRight:w(l.buttonTheme.paddingRight,C.padding,8)});d&&d.hide();let p=!1;o.forEach((B,z)=>{let K=v[z];2!==K.state?K.hide():(K.show(),K.attr(k(B.text)),p=!0)}),p||(r&&(r.selectedIndex=0),v[0].show(),v[0].attr(k(this.zoomText&&this.zoomText.textStr)));let{align:T}=l.buttonPosition;this.positionButtons(),("right"===T||"center"===T)&&this.alignButtonGroup(g,v[this.currentButtonIndex()].getBBox().width),this.showDropdown()}expandButtons(){let{buttons:g,buttonOptions:v,options:o,zoomText:n}=this;this.hideDropdown(),!1!==this.isCollapsed&&(this.isCollapsed=!1,n&&n.show(),v.forEach((r,l)=>{let d=g[l];d.show(),d.attr({text:r.text,width:o.buttonTheme.width||28,paddingLeft:w(o.buttonTheme.paddingLeft,"unset"),paddingRight:w(o.buttonTheme.paddingRight,"unset")}),d.state<2&&d.setState(0)}),this.positionButtons())}currentButtonIndex(){let{dropdown:g}=this;return g&&g.selectedIndex>0?g.selectedIndex-1:0}showDropdown(){let{buttonGroup:g,buttons:v,chart:o,dropdown:n}=this;if(g&&n){let{translateX:r=0,translateY:l=0}=g,d=v[this.currentButtonIndex()].getBBox();X(n,{left:o.plotLeft+r+"px",top:l+.5+"px",width:d.width+"px",height:d.height+"px"}),this.hasVisibleDropdown=!0}}hideDropdown(){let{dropdown:g}=this;g&&(X(g,{top:"-9999em",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let g=this.options,v=this.group,r=g.y,l=g.buttonPosition.y,d=g.inputPosition.y,C=0;if(g.height)return g.height;this.alignElements(),C=v?v.getBBox(!0).height+13+r:0;let k=Math.min(d,l);return(d<0&&l<0||d>0&&l>0)&&(C+=Math.abs(k)),C}titleCollision(g){return!(g.options.title.text||g.options.subtitle.text)}update(g){let v=this.chart;I(!0,v.options.rangeSelector,g),this.destroy(),this.init(v),this.render()}destroy(){let g=this,v=g.minInput,o=g.maxInput;g.eventsToUnbind&&(g.eventsToUnbind.forEach(n=>n()),g.eventsToUnbind=void 0),j(g.buttons),v&&(v.onfocus=v.onblur=v.onchange=null),o&&(o.onfocus=o.onblur=o.onchange=null),_(g,function(n,r){n&&"chart"!==r&&(n instanceof le?n.destroy():n instanceof e.HTMLElement&&F(n)),n!==f.prototype[r]&&(g[r]=null)},this)}}return P(f.prototype,{defaultButtons:[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}}),f}),Le(V,"Series/PathUtilities.js",[],function(){function q(ne,re){let ve=[];for(let le=0;le>1].xMin)>0)I=m+1;else{if(!(w<0))return m;_=m-1}return I>0?I-1:0}function J(F,P){let D=ue(F,P.x+1)+1;for(;D--;){var A;if(F[D].xMax>=P.x&&P.x<=(A=F[D]).xMax&&P.x>=A.xMin&&P.y<=A.yMax&&P.y>=A.yMin)return D}return-1}function te(F){let P=[];if(F.length){P.push(["M",F[0].start.x,F[0].start.y]);for(let D=0;Dpe(P.y-F.y))?"x":"y";function v(l,d,C,k,p){let T={x:l.x,y:l.y};return T[d]=C[k||d]+(p||0),T}function o(l,d,C){let k=pe(d[C]-l[C+"Min"])>pe(d[C]-l[C+"Max"]);return v(d,C,l,C+(k?"Max":"Min"),k?1:-1)}m>-1?(w={start:f=o(I[m],P,G),end:P},g=f):g=P,_>-1&&(f=o(O=I[_],F,G),A.push({start:F,end:f}),f[G]>=F[G]==f[G]>=g[G]&&(a=F[G="y"===G?"x":"y"]pe(P.y-F.y)),I=A?"x":"y",_=[],m=D.obstacleMetrics,w=ve(F.x,P.x)-m.maxWidth-10,G=le(F.x,P.x)+m.maxWidth+10,O=ve(F.y,P.y)-m.maxHeight-10,f=le(F.y,P.y)+m.maxHeight+10,o=!1,n=D.chartObstacles,r=ue(n,G),l=ue(n,w);function d(k,p,T){let B,z,K,U,se=k.x0&&n[S].xMin<=z.x||se<0&&n[S].xMax>=B.x);){if(n[S].xMin<=z.x&&n[S].xMax>=B.x&&n[S].yMin<=K.y&&n[S].yMax>=U.y)return T?{y:k.y,x:k.x=K[se+"Max"],x=k[se+"Min"]<=K[se+"Min"],N=k[se+"Max"]>=U[se+"Max"],R=k[se+"Min"]<=U[se+"Min"],Z=pe(k[se+"Min"]-p[se]),Y=pe(k[se+"Max"]-p[se]),he=10>pe(Z-Y)?p[se]-1&&(v=function(k,p,T){let B=ve(k.xMax-p.x,p.x-k.xMin)-1;)g=P[I]-F[I]<0,(v={x:P.x,y:P.y})[I]=n[r][g?I+"Max":I+"Min"]+(g?1:-1),_.push({end:P,start:v}),P=v;return{path:te(a=(a=function k(p,T,B){let z,K,U,se,S,$,H;if(p.x===T.x&&p.y===T.y)return[];let x=B?"x":"y",N=D.obstacleOptions.margin,R={soft:{xMin:w,xMax:G,yMin:O,yMax:f},hard:D.hardBounds};return(S=J(n,p))>-1?(se=C(S=n[S],p,T,B,R),X(S,D.hardBounds),H=B?{y:p.y,x:S[se?"xMax":"xMin"]+(se?1:-1)}:{x:p.x,y:S[se?"yMax":"yMin"]+(se?1:-1)},($=J(n,H))>-1&&(X($=n[$],D.hardBounds),H[x]=se?le(S[x+"Max"]-N+1,($[x+"Min"]+S[x+"Max"])/2):ve(S[x+"Min"]+N-1,($[x+"Max"]+S[x+"Min"])/2),p.x===H.x&&p.y===H.y?(o&&(H[x]=se?le(S[x+"Max"],$[x+"Max"])+1:ve(S[x+"Min"],$[x+"Min"])-1),o=!o):o=!1),K=[{start:p,end:H}]):(z=d(p,{x:B?T.x:p.x,y:B?p.y:T.y},B),K=[{start:p,end:{x:z.x,y:z.y}}],z[B?"x":"y"]!==T[B?"x":"y"]&&(se=C(z.obstacle,z,T,!B,R),X(z.obstacle,D.hardBounds),U={x:B?z.x:z.obstacle[se?"xMax":"xMin"]+(se?1:-1),y:B?z.obstacle[se?"yMax":"yMin"]+(se?1:-1):z.y},K=K.concat(k({x:z.x,y:z.y},U,B=!B)))),K.concat(k(K[K.length-1].end,T,!B))}(F,P,A)).concat(_.reverse())),obstacles:a}}return E.requiresObstacles=!0,j.requiresObstacles=!0,{fastAvoid:j,straight:function(F,P){return{path:[["M",F.x,F.y],["L",P.x,P.y]],obstacles:[{start:F,end:P}]}},simpleConnect:E}}),Le(V,"Gantt/ConnectorsDefaults.js",[],function(){return{connectors:{type:"straight",radius:0,lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}}}),Le(V,"Gantt/PathfinderComposition.js",[V["Gantt/ConnectorsDefaults.js"],V["Core/Defaults.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve;let{setOptions:le}=ne,{defined:pe,error:ue,merge:J}=re;function te(X){let E=X.shapeArgs;if(E)return{xMin:E.x||0,xMax:(E.x||0)+(E.width||0),yMin:E.y||0,yMax:(E.y||0)+(E.height||0)};let j=X.graphic&&X.graphic.getBBox();return j?{xMin:X.plotX-j.width/2,xMax:X.plotX+j.width/2,yMin:X.plotY-j.height/2,yMax:X.plotY+j.height/2}:null}return function(X){function E(P){let D,A,I=te(this);switch(P.align){case"right":D="xMax";break;case"left":D="xMin"}switch(P.verticalAlign){case"top":A="yMin";break;case"bottom":A="yMax"}return{x:D?I[D]:(I.xMin+I.xMax)/2,y:A?I[A]:(I.yMin+I.yMax)/2}}function j(P,D){let A;return!pe(D)&&(A=te(this))&&(D={x:(A.xMin+A.xMax)/2,y:(A.yMin+A.yMax)/2}),Math.atan2(D.y-P.y,P.x-D.x)}function F(P,D,A){let I=2*Math.PI,_=te(this),m=_.xMax-_.xMin,w=_.yMax-_.yMin,G=Math.atan2(w,m),O=m/2,f=w/2,a=_.xMin+O,g=_.yMin+f,v={x:a,y:g},o=P,n=1,r=!1,l=1,d=1;for(;o<-Math.PI;)o+=I;for(;o>Math.PI;)o-=I;return n=Math.tan(o),o>-G&&o<=G?(d=-1,r=!0):o>G&&o<=Math.PI-G?d=-1:o>Math.PI-G||o<=-(Math.PI-G)?(l=-1,r=!0):l=-1,r?(v.x+=l*O,v.y+=d*O*n):(v.x+=w/(2*n)*l,v.y+=d*f),A.x!==a&&(v.x=A.x),A.y!==g&&(v.y=A.y),{x:v.x+D*Math.cos(o),y:v.y-D*Math.sin(o)}}X.compose=function(P,D,A){let I=A.prototype;I.getPathfinderAnchorPoint||(P.prototype.callbacks.push(function(_){!1!==_.options.connectors.enabled&&((_.options.pathfinder||_.series.reduce(function(m,w){return w.options&&J(!0,w.options.connectors=w.options.connectors||{},w.options.pathfinder),m||w.options&&w.options.pathfinder},!1))&&(J(!0,_.options.connectors=_.options.connectors||{},_.options.pathfinder),ue('WARNING: Pathfinder options have been renamed. Use "chart.connectors" or "series.connectors" instead.')),this.pathfinder=new D(this),this.pathfinder.update(!0))}),I.getMarkerVector=F,I.getPathfinderAnchorPoint=E,I.getRadiansToVector=j,le(q))}}(ve||(ve={})),ve}),Le(V,"Gantt/Pathfinder.js",[V["Gantt/Connection.js"],V["Gantt/PathfinderAlgorithms.js"],V["Gantt/PathfinderComposition.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{addEvent:pe,defined:ue,pick:J,splat:te}=le,X=Math.max,E=Math.min;class j{static compose(P,D){re.compose(P,j,D)}constructor(P){this.init(P)}init(P){this.chart=P,this.connections=[],pe(P,"redraw",function(){this.pathfinder.update()})}update(P){let D=this.chart,A=this,I=A.connections;A.connections=[],D.series.forEach(function(_){_.visible&&!_.options.isInternal&&_.points.forEach(function(m){let w,G=m.options;G&&G.dependency&&(G.connect=G.dependency);let O=m.options?.connect&&te(m.options.connect);m.visible&&!1!==m.isInside&&O&&O.forEach(function(f){(w=D.get("string"==typeof f?f:f.to))instanceof ve&&w.series.visible&&w.visible&&!1!==w.isInside&&A.connections.push(new q(m,w,"string"==typeof f?{}:f))})})});for(let m,w,_=0,G=I.length,O=A.connections.length;_o.yMin-r&&v.yMin-ro.xMin-r&&v.xMin-ro.xMax?v.xMin-o.xMax:o.xMin-v.xMax:1/0,k=d?v.yMin>o.yMax?v.yMin-o.yMax:o.yMin-v.yMax:1/0;return d&&l?r?g(v,o,Math.floor(r/2)):1/0:E(C,k)}(m[f],m[a]))<80&&O.push(w);return O.push(80),X(Math.floor(O.sort(function(f,a){return f-a})[Math.floor(O.length/10)]/2-1),1)}(I),I.forEach(function(m){m.xMin-=_,m.xMax+=_,m.yMin-=_,m.yMax+=_})),I}getObstacleMetrics(P){let I,_,D=0,A=0,m=P.length;for(;m--;)I=P[m].xMax-P[m].xMin,_=P[m].yMax-P[m].yMin,D=1&&(te.plotHeight=j,te.redrawTrigger="adjustHeight",te.setSize(void 0,te.chartHeight+F,X)),J.series.forEach(function(P){let D=P.sharedClipKey&&te.sharedClips[P.sharedClipKey];D&&D.attr(te.inverted?{width:te.plotHeight}:{height:te.plotHeight})})}}this.initiatedScale=!0}this.redrawTrigger=null}return{compose:function(J,te){let X=te.prototype;X.adjustHeight||(ne(J,"afterSetOptions",pe),X.adjustHeight=ue,ne(te,"render",X.adjustHeight))}}}),Le(V,"masters/modules/static-scale.src.js",[V["Core/Globals.js"],V["Extensions/StaticScale.js"]],function(q,ne){return ne.compose(q.Axis,q.Chart),q}),Le(V,"Series/XRange/XRangeSeriesDefaults.js",[V["Core/Utilities.js"]],function(q){let{correctFloat:ne,isNumber:re,isObject:ve}=q;return{colorByPoint:!0,dataLabels:{formatter:function(){let le=this.point.partialFill;if(ve(le)&&(le=le.amount),re(le)&&le>0)return ne(100*le)+"%"},inside:!0,verticalAlign:"middle",style:{whiteSpace:"nowrap"}},tooltip:{headerFormat:'{point.x} - {point.x2}
',pointFormat:'\u25cf {series.name}: {point.yCategory}
'},borderRadius:3,pointRange:0}}),Le(V,"Series/XRange/XRangePoint.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne){let{column:{prototype:{pointClass:re}}}=q.seriesTypes,{extend:ve}=ne;class le extends re{static getColorByCategory(ue,J){let te=ue.options.colors||ue.chart.options.colors,E=J.y%(te?te.length:ue.chart.options.chart.colorCount);return{colorIndex:E,color:te&&te[E]}}resolveColor(){let ue=this.series;if(ue.options.colorByPoint&&!this.options.color){let J=le.getColorByCategory(ue,this);ue.chart.styledMode||(this.color=J.color),this.options.colorIndex||(this.colorIndex=J.colorIndex)}else this.color=this.options.color||ue.color}constructor(ue,J){super(ue,J),this.y||(this.y=0)}setState(){super.setState.apply(this,arguments),this.series.drawPoint(this,this.series.getAnimationVerb())}getLabelConfig(){let ue=super.getLabelConfig.call(this),J=this.series.yAxis.categories;return ue.x2=this.x2,ue.yCategory=this.yCategory=J&&J[this.y],ue.key=this.category||this.name,ue}isValid(){return"number"==typeof this.x&&"number"==typeof this.x2}}return ve(le.prototype,{ttBelow:!1,tooltipDateKeys:["x","x2"]}),le}),Le(V,"Series/XRange/XRangeSeries.js",[V["Core/Globals.js"],V["Core/Color/Color.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"],V["Series/XRange/XRangeSeriesDefaults.js"],V["Series/XRange/XRangePoint.js"]],function(q,ne,re,ve,le,pe){let{composed:ue,noop:J}=q,{parse:te}=ne,{column:X}=re.seriesTypes,{addEvent:E,clamp:j,defined:F,extend:P,find:D,isNumber:A,isObject:I,merge:_,pick:m,pushUnique:w,relativeLength:G}=ve;function O(){let a,g;if(this.isXAxis){for(let v of(a=m(this.dataMax,-Number.MAX_VALUE),this.series))if(v.x2Data)for(let o of v.x2Data)o&&o>a&&(a=o,g=!0);g&&(this.dataMax=a)}}class f extends X{static compose(g){w(ue,"Series.XRange")&&E(g,"afterGetSeriesExtremes",O)}init(){super.init.apply(this,arguments),this.options.stacking=void 0}getColumnMetrics(){let g=()=>{for(let o of this.chart.series){let n=o.xAxis;o.xAxis=o.yAxis,o.yAxis=n}};g();let v=super.getColumnMetrics();return g(),v}cropData(g,v,o,n){let r=super.cropData(this.x2Data,v,o,n);return r.xData=g.slice(r.start,r.end),r}findPointIndex(g){let v,{cropStart:o,points:n}=this,{id:r}=g;if(r){let l=D(n,d=>d.id===r);v=l?l.index:void 0}if(void 0===v){let l=D(n,d=>d.x===g.x&&d.x2===g.x2&&!d.touched);v=l?l.index:void 0}return this.cropped&&A(v)&&A(o)&&v>=o&&(v-=o),v}alignDataLabel(g){let v=g.plotX;g.plotX=m(g.dlBox&&g.dlBox.centerX,g.plotX),g.dataLabel&&g.shapeArgs?.width&&g.dataLabel.css({width:`${g.shapeArgs.width}px`}),super.alignDataLabel.apply(this,arguments),g.plotX=v}translatePoint(g){let $,H,R,Z,Y,he,v=this.xAxis,o=this.yAxis,n=this.columnMetrics,r=this.options,l=r.minPointLength||0,d=(g.shapeArgs&&g.shapeArgs.width||0)/2,C=this.pointXOffset=n.offset,k=m(g.x2,g.x+(g.len||0)),p=r.borderRadius,T=this.chart.plotTop,B=this.chart.plotLeft,z=g.plotX,K=v.translate(k,0,0,0,1),U=Math.abs(K-z),se=this.chart.inverted,S=m(r.borderWidth,1)%2/2,x=n.offset,N=Math.round(n.width);l&&(($=l-U)<0&&($=0),z-=$/2,K+=$/2),z=Math.max(z,-10),K=j(K,-10,v.len+10),F(g.options.pointWidth)&&(x-=(Math.ceil(g.options.pointWidth)-N)/2,N=Math.ceil(g.options.pointWidth)),r.pointPlacement&&A(g.plotY)&&o.categories&&(g.plotY=o.translate(g.y,0,1,0,1,r.pointPlacement));let ge=Math.floor(Math.min(z,K))+S,_e=Math.floor(Math.max(z,K))+S-ge,Te=Math.min(G("object"==typeof p?p.radius:p||0,N),Math.min(_e,N)/2),Oe={x:ge,y:Math.floor(g.plotY+x)+S,width:_e,height:N,r:Te};g.shapeArgs=Oe,se?g.tooltipPos[1]+=C+d:g.tooltipPos[0]-=d+C-Oe.width/2,Z=(R=Oe.x)+Oe.width,R<0||Z>v.len?(R=j(R,0,v.len),Y=(Z=j(Z,0,v.len))-R,g.dlBox=_(Oe,{x:R,width:Z-R,centerX:Y?Y/2:null})):g.dlBox=null;let De=g.tooltipPos,Be=se?1:0,oe=se?0:1,ee=this.columnMetrics?this.columnMetrics.offset:-n.width/2;se?De[Be]+=Oe.width/2:De[Be]=j(De[Be]+(v.reversed?-1:0)*Oe.width,v.left-B,v.left+v.len-B-1),De[oe]=j(De[oe]+(se?-1:1)*ee,o.top-T,o.top+o.len-T-1),(H=g.partialFill)&&(I(H)&&(H=H.amount),A(H)||(H=0),g.partShapeArgs=_(Oe),he=Math.max(Math.round(U*H+g.plotX-z),0),g.clipRectArgs={x:v.reversed?Oe.x+U-he:Oe.x,y:Oe.y,width:he,height:Oe.height})}translate(){for(let g of(super.translate.apply(this,arguments),this.points))this.translatePoint(g)}drawPoint(g,v){let o=this.options,n=this.chart.renderer,r=g.shapeType,l=g.shapeArgs,d=g.partShapeArgs,C=g.clipRectArgs,k=g.state,p=o.states[k||"normal"]||{},T=void 0===k?"attr":v,B=this.pointAttribs(g,k),z=m(this.chart.options.chart.animation,p.animation),K=g.graphic,U=g.partialFill;if(g.isNull||!1===g.visible)K&&(g.graphic=K.destroy());else if(K?K.rect[v](l):(g.graphic=K=n.g("point").addClass(g.getClassName()).add(g.group||this.group),K.rect=n[r](_(l)).addClass(g.getClassName()).addClass("highcharts-partfill-original").add(K)),d&&(K.partRect?(K.partRect[v](_(d)),K.partialClipRect[v](_(C))):(K.partialClipRect=n.clipRect(C.x,C.y,C.width,C.height),K.partRect=n[r](d).addClass("highcharts-partfill-overlay").add(K).clip(K.partialClipRect))),!this.chart.styledMode&&(K.rect[v](B,z).shadow(o.shadow),d)){I(U)||(U={}),I(o.partialFill)&&(U=_(o.partialFill,U));let se=U.fill||te(B.fill).brighten(-.3).get()||te(g.color||this.color).brighten(-.3).get();B.fill=se,K.partRect[T](B,z).shadow(o.shadow)}}drawPoints(){let g=this.getAnimationVerb();for(let v of this.points)this.drawPoint(v,g)}getAnimationVerb(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"}isPointInside(g){let v=g.shapeArgs,o=g.plotX,n=g.plotY;return v?void 0!==o&&void 0!==n&&n>=0&&n<=this.yAxis.len&&(v.x||0)+(v.width||0)>=0&&o<=this.xAxis.len:super.isPointInside.apply(this,arguments)}}return f.defaultOptions=_(X.defaultOptions,le),P(f.prototype,{pointClass:pe,pointArrayMap:["x2","y"],getExtremesFromAll:!0,parallelArrays:["x","x2","y"],requireSorting:!1,type:"xrange",animate:re.series.prototype.animate,autoIncrement:J,buildKDTree:J}),re.registerSeriesType("xrange",f),f}),Le(V,"masters/modules/xrange.src.js",[V["Core/Globals.js"],V["Series/XRange/XRangeSeries.js"]],function(q,ne){return ne.compose(q.Axis),q}),Le(V,"Series/Gantt/GanttPoint.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne){let{xrange:{prototype:{pointClass:re}}}=q.seriesTypes,{pick:ve}=ne;class le extends re{static setGanttPointAliases(ue){function J(te,X){void 0!==X&&(ue[te]=X)}J("x",ve(ue.start,ue.x)),J("x2",ve(ue.end,ue.x2)),J("partialFill",ve(ue.completed,ue.partialFill))}applyOptions(ue,J){let te=super.applyOptions(ue,J);return le.setGanttPointAliases(te),te}isValid(){return("number"==typeof this.start||"number"==typeof this.x)&&("number"==typeof this.end||"number"==typeof this.x2||this.milestone)}}return le}),Le(V,"Series/Gantt/GanttSeriesDefaults.js",[V["Core/Utilities.js"]],function(q){let{isNumber:ne}=q;return{grouping:!1,dataLabels:{enabled:!0},tooltip:{headerFormat:'{series.name}
',pointFormat:null,pointFormatter:function(){let re=this.series,ve=re.xAxis,le=re.tooltipOptions.dateTimeLabelFormats,pe=ve.options.startOfWeek,ue=re.tooltipOptions,J=this.options.milestone,te=ue.xDateFormat,X=""+(this.name||this.yCategory)+"";if(ue.pointFormat)return this.tooltipFormatter(ue.pointFormat);!te&&ne(this.start)&&(te=re.chart.time.getDateFormat(ve.closestPointRange,this.start,pe,le||{}));let E=re.chart.time.dateFormat(te,this.start),j=re.chart.time.dateFormat(te,this.end);return X+="
",X+=J?E+"
":"Start: "+E+"
End: "+j+"
",X}},connectors:{type:"simpleConnect",animation:{reversed:!0},radius:0,startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}}}),Le(V,"Core/Axis/BrokenAxis.js",[V["Core/Axis/Stacking/StackItem.js"],V["Core/Utilities.js"]],function(q,ne){var re;let{addEvent:ve,find:le,fireEvent:pe,isArray:ue,isNumber:J,pick:te}=ne;return function(X){function E(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function j(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function F(){let w=this.brokenAxis;if(w?.hasBreaks){let G=this.tickPositions,O=this.tickPositions.info,f=[];for(let a=0;ad.to||f>d.from&&ad.from&&ad.from&&a>d.to&&a0){let v,o;for("value"!==this.options.gapUnit&&(a*=this.basePointRange),G&&G>a&&G>=this.basePointRange&&(a=G);g--;)if(o&&!1!==o.visible||(o=O[g+1]),v=O[g],!1!==o.visible&&!1!==v.visible){if(o.x-v.x>a){let n=(v.x+o.x)/2;O.splice(g+1,0,{isNull:!0,x:n}),f.stacking&&this.options.stacking&&((f.stacking.stacks[this.stackKey][n]=new q(f,f.options.stackLabels,!1,n,this.stack)).total=0)}o=v}}return this.getGraphPath(O)}X.compose=function(w,G){if(!w.keepProps.includes("brokenAxis")){w.keepProps.push("brokenAxis"),ve(w,"init",P),ve(w,"afterInit",E),ve(w,"afterSetTickPositions",F),ve(w,"afterSetOptions",j);let O=G.prototype;O.drawBreaks=I,O.gappedPath=_,ve(G,"afterGeneratePoints",D),ve(G,"afterRender",A)}return w};class m{static isInBreak(G,O){let f=G.repeat||1/0,a=G.from,g=G.to-G.from,v=O>=a?(O-a)%f:f-(a-O)%f;return G.inclusive?v<=g:v=a);v++)(g.to=G)break;if(m.isInBreak(g,G)){a-=G-g.from;break}}return a}constructor(G){this.hasBreaks=!1,this.axis=G}findBreakAt(G,O){return le(O,function(f){return f.fromk;)T-=C;for(;T{se.getOffset()})}K&&B.apply(this)}function w(B){if(!0===(this.options.grid||{}).enabled){let{axisTitle:z,height:K,horiz:U,left:se,offset:S,opposite:$,options:H,top:x,width:N}=this,R=this.tickSize(),Z=z&&z.getBBox().width,Y=H.title.x,he=H.title.y,ge=P(H.title.margin,U?5:10),_e=z?this.chart.renderer.fontMetrics(z).f:0,Te=(U?x+K:se)+(U?1:-1)*($?-1:1)*(R?R[0]/2:0)+(this.side===ve.bottom?_e:0);B.titlePosition.x=U?se-(Z||0)/2-ge+Y:Te+($?N:0)+S+Y,B.titlePosition.y=U?Te-($?K:0)+($?_e:-_e)/2+S+he:x-ge+he}}function G(){let{chart:B,options:{grid:z={}},userOptions:K}=this;if(z.enabled&&function(U){let se=U.options;se.labels.align=P(se.labels.align,"center"),U.categories||(se.showLastLabel=!1),U.labelRotation=0,se.labels.rotation=0,se.minTickInterval=1}(this),z.columns){let U=this.grid.columns=[],se=this.grid.columnIndex=0;for(;++se$.render()),!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent&&this.linkedParent.scrollbar)&&this.tickPositions.length){let $,H,x=this.tickmarkOffset,N=this.tickPositions[this.tickPositions.length-1],R=this.tickPositions[0];for(;($=this.hiddenLabels.pop())&&$.element;)$.show();for(;(H=this.hiddenMarks.pop())&&H.element;)H.show();($=this.ticks[R].label)&&(U-R>x?this.hiddenLabels.push($.hide()):$.show()),($=this.ticks[N].label)&&(N-se>x?this.hiddenLabels.push($.hide()):$.show());let Z=this.ticks[N].mark;Z&&N-se0&&this.ticks[N].isLast&&this.hiddenMarks.push(Z.hide())}}}function f(){let B=this.tickPositions&&this.tickPositions.info,z=this.options,U=this.userOptions.labels||{};(z.grid||{}).enabled&&(this.horiz?(this.series.forEach(se=>{se.options.pointRange=0}),B&&z.dateTimeLabelFormats&&z.labels&&!J(U.align)&&(!1===z.dateTimeLabelFormats[B.unitName].range||B.count>1)&&(z.labels.align="left",J(U.x)||(z.labels.x=3))):"treegrid"!==this.options.type&&this.grid&&this.grid.columns&&(this.minPointOffset=this.tickInterval))}function a(B){let z,K=this.options,U=B.userOptions,se=K&&I(K.grid)?K.grid:{};!0===se.enabled&&(z=F(!0,{className:"highcharts-grid-axis "+(U.className||""),dateTimeLabelFormats:{hour:{list:["%H:%M","%H"]},day:{list:["%A, %e. %B","%a, %e. %b","%E"]},week:{list:["Week %W","W%W"]},month:{list:["%B","%b","%o"]}},grid:{borderWidth:1},labels:{padding:2,style:{fontSize:"0.9em"}},margin:0,title:{text:null,reserveSpace:!1,rotation:0,style:{textOverflow:"ellipsis"}},units:[["millisecond",[1,10,100]],["second",[1,10]],["minute",[1,5,15]],["hour",[1,6]],["day",[1]],["week",[1]],["month",[1]],["year",null]]},U),"xAxis"!==this.coll||(J(U.linkedTo)&&!J(U.tickPixelInterval)&&(z.tickPixelInterval=350),!(!J(U.tickPixelInterval)&&J(U.linkedTo))||J(U.tickPositioner)||J(U.tickInterval)||J(U.units)||(z.tickPositioner=function(S,$){let H=this.linkedParent&&this.linkedParent.tickPositions&&this.linkedParent.tickPositions.info;if(H){let N,x=z.units||[],R=1,Z="year";for(let ge=0;geB.setScale())}function o(B){let{horiz:z,maxLabelDimensions:K,options:{grid:U={}}}=this;if(U.enabled&&K){let se=2*this.options.labels.distance,S=z?U.cellHeight||se+K.height:se+K.width;E(B.tickSize)?B.tickSize[0]=S:B.tickSize=[S,0]}}function n(){this.axes.forEach(B=>{(B.grid&&B.grid.columns||[]).forEach(z=>{z.setAxisSize(),z.setAxisTranslation()})})}function r(B){let{grid:z}=this;(z.columns||[]).forEach(K=>K.destroy(B.keepEvents)),z.columns=void 0}function l(B){let z=B.userOptions||{},K=z.grid||{};K.enabled&&J(K.borderColor)&&(z.tickColor=z.lineColor=K.borderColor),this.grid||(this.grid=new T(this)),this.hiddenLabels=[],this.hiddenMarks=[]}function d(B){let z=this.label,K=this.axis,U=K.reversed,se=K.chart,S=K.options.grid||{},$=K.options.labels,H=$.align,x=ve[K.side],N=B.tickmarkOffset,R=K.tickPositions,Z=this.pos-N,Y=j(R[B.index+1])?R[B.index+1]-N:(K.max||0)+N,he=K.tickSize("tick"),ge=he?he[0]:0,_e=he?he[1]/2:0;if(!0===S.enabled){let Te,Oe,De,Be;if("top"===x?Oe=(Te=K.top+K.offset)-ge:"bottom"===x?Te=(Oe=se.chartHeight-K.bottom+K.offset)+ge:(Te=K.top+K.len-(K.translate(U?Y:Z)||0),Oe=K.top+K.len-(K.translate(U?Z:Y)||0)),"right"===x?Be=(De=se.chartWidth-K.right+K.offset)+ge:"left"===x?De=(Be=K.left+K.offset)-ge:(De=Math.round(K.left+(K.translate(U?Y:Z)||0))-_e,Be=Math.min(Math.round(K.left+(K.translate(U?Z:Y)||0))-_e,K.left+K.len)),this.slotWidth=Be-De,B.pos.x="left"===H?De:"right"===H?Be:De+(Be-De)/2,B.pos.y=Oe+(Te-Oe)/2,z){let oe=se.renderer.fontMetrics(z),ee=z.getBBox().height;if($.useHTML)B.pos.y+=oe.b+-ee/2;else{let be=Math.round(ee/oe.h);B.pos.y+=(oe.b-(oe.h-oe.f))/2+-(be-1)*oe.h/2}}B.pos.x+=K.horiz&&$.x||0}}function C(B){let{axis:z,value:K}=B;if(z.options.grid&&z.options.grid.enabled){let U,se=z.tickPositions,S=(z.linkedParent||z).series[0],$=K===se[0],H=K===se[se.length-1],x=S&&X(S.options.data,function(N){return N[z.isXAxis?"x":"y"]===K});x&&S.is("gantt")&&(U=F(x),ne.seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(U)),B.isFirst=$,B.isLast=H,B.point=U}}function k(){let B=this.options,z=B.grid||{},K=this.categories,U=this.tickPositions,se=U[0],S=U[1],$=U[U.length-1],H=U[U.length-2],R=this.linkedParent&&this.linkedParent.min||this.min,Z=this.linkedParent&&this.linkedParent.max||this.max,Y=this.tickInterval,he=j(R)&&R>=se+Y&&RR,_e=j(Z)&&$>Z&&$-YH;!0===z.enabled&&!K&&(this.isXAxis||this.isLinked)&&((ge||he)&&!B.startOnTick&&(U[0]=R),(_e||Te)&&!B.endOnTick&&(U[U.length-1]=Z))}function p(B){let{options:{grid:K={}}}=this;return!0===K.enabled&&this.categories?this.tickInterval:B.apply(this,Array.prototype.slice.call(arguments,1))}(le=ve||(ve={}))[le.top=0]="top",le[le.right=1]="right",le[le.bottom=2]="bottom",le[le.left=3]="left";class T{constructor(z){this.axis=z}isOuterAxis(){let z=this.axis,K=z.chart,U=z.grid.columnIndex,se=z.linkedParent?.grid.columns||z.grid.columns||[],S=U?z.linkedParent:z,$=-1,H=0;return 3===z.side&&!K.inverted&&se.length?!z.linkedParent:((K[z.coll]||[]).forEach((x,N)=>{x.side!==z.side||x.options.isInternal||(H=N,x!==S||($=N))}),H===$&&(!j(U)||se.length===U))}renderBorder(z){let K=this.axis,U=K.chart.renderer,se=K.options,S=U.path(z).addClass("highcharts-axis-line").add(K.axisGroup);return U.styledMode||S.attr({stroke:se.lineColor,"stroke-width":se.lineWidth,zIndex:7}),S}}return pe.E=function(B){return this.dateFormat("%a",B,!0).charAt(0)},pe.W=function(B){let z=this,K=new this.Date(B);["Hours","Milliseconds","Minutes","Seconds"].forEach(function($){z.set($,K,0)});let U=(this.get("Day",K)+6)%7,se=new this.Date(K.valueOf());this.set("Date",se,this.get("Date",K)-U+3);let S=new this.Date(this.get("FullYear",se),0,1);return 4!==this.get("Day",S)&&(this.set("Month",K,0),this.set("Date",K,1+(11-this.get("Day",S))%7)),(1+Math.floor((se.valueOf()-S.valueOf())/6048e5)).toString()},{compose:function(B,z,K){return B.keepProps.includes("grid")||(B.keepProps.push("grid"),B.prototype.getMaxLabelDimensions=_,A(B.prototype,"unsquish",p),A(B.prototype,"getOffset",m),ue(B,"init",l),ue(B,"afterGetTitlePosition",w),ue(B,"afterInit",G),ue(B,"afterRender",O),ue(B,"afterSetAxisTranslation",f),ue(B,"afterSetOptions",a),ue(B,"afterSetOptions",g),ue(B,"afterSetScale",v),ue(B,"afterTickSize",o),ue(B,"trimTicks",k),ue(B,"destroy",r),ue(z,"afterSetChartSize",n),ue(K,"afterGetLabelPosition",d),ue(K,"labelFormat",C)),B}}}),Le(V,"Gantt/Tree.js",[V["Core/Utilities.js"]],function(q){let{extend:ne,isNumber:re,pick:ve}=q;function le(pe,ue,J,te,X,E){let I,_,j=E&&E.after,F=E&&E.before,P={data:te,depth:J-1,id:pe,level:J,parent:ue||""},D=0,A=0;"function"==typeof F&&F(P,E);let m=(X[pe]||[]).map(w=>{let G=le(w.id,pe,J+1,w,X,E),O=w.start||NaN,f=!0===w.milestone?O:w.end||NaN;return I=!re(I)||O_?f:_,D=D+1+G.descendants,A=Math.max(G.height+1,A),G});return te&&(te.start=ve(te.start,I),te.end=ve(te.end,_)),ne(P,{children:m,descendants:D,height:A}),"function"==typeof j&&j(P,E),P}return{getNode:le,getTree:function(pe,ue){return le("",null,1,null,function(J){let te=[],X=J.reduce((E,j)=>{let{parent:F="",id:P}=j;return void 0===E[F]&&(E[F]=[]),E[F].push(j),P&&te.push(P),E},{});return Object.keys(X).forEach(E=>{if(""!==E&&-1===te.indexOf(E)){let j=X[E].map(function(F){let{...P}=F;return P});X[""].push(...j),delete X[E]}}),X}(pe),ue)}}}),Le(V,"Core/Axis/TreeGrid/TreeGridTick.js",[V["Core/Utilities.js"]],function(q){let{addEvent:ne,removeEvent:re,isObject:ve,isNumber:le,pick:pe,wrap:ue}=q;function J(){this.treeGrid||(this.treeGrid=new E(this))}function te(j,F,P,D,A,I,_,m,w){let G,O,f,a=pe(this.options&&this.options.labels,I),g=this.pos,v=this.axis,o="treegrid"===v.options.type,n=j.apply(this,[F,P,D,A,a,_,m,w]);if(o){let{width:r=0,padding:l=(v.linkedParent?0:5)}=a&&ve(a.symbol,!0)?a.symbol:{},d=a&&le(a.indentation)?a.indentation:0;f=(O=(G=v.treeGrid.mapOfPosToGridNode)&&G[g])&&O.depth||1,n.x+=r+2*l+(f-1)*d}return n}function X(j){let F,P,D,{pos:A,axis:I,label:_,treeGrid:m,options:w}=this,G=m?.labelIcon,O=_?.element,{treeGrid:f,options:a,chart:g,tickPositions:v}=I,o=f.mapOfPosToGridNode,n=pe(w?.labels,a?.labels),r=n&&ve(n.symbol,!0)?n.symbol:{},l=o&&o[A],{descendants:d,depth:C}=l||{},k=l&&d&&d>0,p="treegrid"===a.type&&O,T=v.indexOf(A)>-1,B="highcharts-treegrid-node-",z=B+"level-",K=g.styledMode;p&&l&&_.removeClass(RegExp(z+".*")).addClass(z+C),j.apply(this,Array.prototype.slice.call(arguments,1)),p&&k?(F=f.isCollapsed(l),function(U,se){let S=U.treeGrid,$=!S.labelIcon,H=se.renderer,x=se.xy,N=se.options,R=N.width||0,Z=N.height||0,he={x:x.x-R/2-(N.padding??U.axis.linkedParent?0:5),y:x.y-Z/2},ge=se.collapsed?90:180,_e=se.show&&le(he.y),Te=S.labelIcon;Te||(S.labelIcon=Te=H.path(H.symbols[N.type](N.x||0,N.y||0,R,Z)).addClass("highcharts-label-icon").add(se.group)),Te[_e?"show":"hide"](),H.styledMode||Te.attr({cursor:"pointer",fill:pe(se.color,"#666666"),"stroke-width":1,stroke:N.lineColor,strokeWidth:N.lineWidth||0}),Te[$?"attr":"animate"]({translateX:he.x,translateY:he.y,rotation:ge})}(this,{color:!K&&_.styles.color||"",collapsed:F,group:_.parentGroup,options:r,renderer:_.renderer,show:T,xy:_.xy}),P=B+(F?"collapsed":"expanded"),D=B+(F?"expanded":"collapsed"),_.addClass(P).removeClass(D),K||_.css({cursor:"pointer"}),[_,G].forEach(U=>{U&&!U.attachedTreeGridEvents&&(ne(U.element,"mouseover",function(){_.addClass("highcharts-treegrid-node-active"),_.renderer.styledMode||_.css({textDecoration:"underline"})}),ne(U.element,"mouseout",function(){!function(se,S){let $=ve(S.style)?S.style:{};se.removeClass("highcharts-treegrid-node-active"),se.renderer.styledMode||se.css({textDecoration:$.textDecoration||"none"})}(_,n)}),ne(U.element,"click",function(){m.toggleCollapse()}),U.attachedTreeGridEvents=!0)})):G&&(re(O),_?.css({cursor:"default"}),G.destroy())}class E{static compose(F){let P=F.prototype;P.toggleCollapse||(ne(F,"init",J),ue(P,"getLabelPosition",te),ue(P,"renderLabel",X),P.collapse=function(D){this.treeGrid.collapse(D)},P.expand=function(D){this.treeGrid.expand(D)},P.toggleCollapse=function(D){this.treeGrid.toggleCollapse(D)})}constructor(F){this.tick=F}collapse(F){let P=this.tick,D=P.axis,A=D.brokenAxis;if(A&&D.treeGrid.mapOfPosToGridNode){let m=D.treeGrid.collapse(D.treeGrid.mapOfPosToGridNode[P.pos]);A.setBreaks(m,pe(F,!0))}}destroy(){this.labelIcon&&this.labelIcon.destroy()}expand(F){let{pos:P,axis:D}=this.tick,{treeGrid:A,brokenAxis:I}=D,_=A.mapOfPosToGridNode;if(I&&_){let w=A.expand(_[P]);I.setBreaks(w,pe(F,!0))}}toggleCollapse(F){let P=this.tick,D=P.axis,A=D.brokenAxis;if(A&&D.treeGrid.mapOfPosToGridNode){let m=D.treeGrid.toggleCollapse(D.treeGrid.mapOfPosToGridNode[P.pos]);A.setBreaks(m,pe(F,!0))}}}return E}),Le(V,"Series/TreeUtilities.js",[V["Core/Color/Color.js"],V["Core/Utilities.js"]],function(q,ne){let{extend:re,isArray:ve,isNumber:le,isObject:pe,merge:ue,pick:J,relativeLength:te}=ne;return{getColor:function(X,E){let j,F,P,D,A,I,_=E.index,w=E.parentColor,G=E.parentColorIndex,O=E.series,f=E.colors,a=E.siblings;return X&&(j=O.points[X.i],F=E.mapOptionsToLevel[X.level]||{},j&&F.colorByPoint&&(D=j.index%(f?f.length:O.chart.options.chart.colorCount),P=f&&f[D]),O.chart.styledMode||(A=J(j&&j.options.color,F&&F.color,P,w&&(o=>{let n=F&&F.colorVariation;return n&&"brightness"===n.key&&_&&a?q.parse(o).brighten(n.to*(_/a)).get():o})(w),O.color)),I=J(j&&j.options.colorIndex,F&&F.colorIndex,D,G,E.colorIndex)),{color:A,colorIndex:I}},getLevelOptions:function(X){let j,F,P,D,A,I,E={};if(pe(X))for(D=le(X.from)?X.from:1,I=X.levels,F={},j=pe(X.defaults)?X.defaults:{},ve(I)&&(F=I.reduce((_,m)=>{let w,G,O;return pe(m)&&le(m.level)&&(G=J((O=ue({},m)).levelIsConstant,j.levelIsConstant),delete O.levelIsConstant,delete O.level,pe(_[w=m.level+(G?0:D-1)])?ue(!0,_[w],O):_[w]=O),_},{})),A=le(X.to)?X.to:1,P=0;P<=A;P++)E[P]=ue({},j,pe(F[P])?F[P]:{});return E},getNodeWidth:function(X,E){let{chart:j,options:F}=X,{nodeDistance:P=0,nodeWidth:D=0}=F,{plotSizeX:A=1}=j;if("auto"===D){if("string"==typeof P&&/%$/.test(P))return A/(E+parseFloat(P)/100*(E-1));let I=Number(P);return(A+I)/(E||1)-I}return te(D,A)},setTreeValues:function X(E,j){let F=j.before,P=j.idRoot,I=j.points[E.i],_=I&&I.options||{},m=[],w=0;E.levelDynamic=E.level-(!1!==j.levelIsConstant?0:j.mapIdToNode[P].level),E.name=J(I&&I.name,""),E.visible=P===E.id||!0===j.visible,"function"==typeof F&&(E=F(E,j)),E.children.forEach((O,f)=>{let a=re({},j);re(a,{index:f,siblings:E.children.length,visible:E.visible}),O=X(O,a),m.push(O),O.visible&&(w+=O.val)});let G=J(_.value,w);return E.visible=G>=0&&(w>0||E.visible),E.children=m,E.childrenTotal=w,E.isLeaf=E.visible&&!w,E.val=G,E},updateRootId:function(X){let E,j;return pe(X)&&(j=pe(X.options)?X.options:{},E=J(X.rootNode,j.rootId,""),pe(X.userOptions)&&(X.userOptions.rootId=E),X.rootNode=E),E}}}),Le(V,"Core/Axis/TreeGrid/TreeGridAxis.js",[V["Core/Axis/BrokenAxis.js"],V["Core/Axis/GridAxis.js"],V["Gantt/Tree.js"],V["Core/Axis/TreeGrid/TreeGridTick.js"],V["Series/TreeUtilities.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){let ue,{getLevelOptions:J}=le,{addEvent:te,find:X,fireEvent:E,isArray:j,isObject:F,isString:P,merge:D,pick:A,removeEvent:I,wrap:_}=pe;function m(o,n){let r=o.collapseEnd||0,l=o.collapseStart||0;return r>=n&&(l-=.5),{from:l,to:r,showPoints:!1}}function w(o,n,r){let l=[],d=[],C={},k="boolean"==typeof n&&n,p={},T=-1,B=re.getTree(o,{after:function(z){let K=p[z.pos],U=0,se=0;K.children.forEach(function(S){se+=(S.descendants||0)+1,U=Math.max((S.height||0)+1,U)}),K.descendants=se,K.height=U,K.collapsed&&d.push(K)},before:function(z){let K,U,se=F(z.data,!0)?z.data:{},S=P(se.name)?se.name:"",$=C[z.parent],H=F($,!0)?p[$.pos]:null;k&&F(H,!0)&&(K=X(H.children,function(x){return x.name===S}))?(U=K.pos,K.nodes.push(z)):U=T++,!p[U]&&(p[U]=K={depth:H?H.depth+1:0,name:S,id:se.id,nodes:[z],children:[],pos:U},-1!==U&&l.push(S),F(H,!0)&&H.children.push(K)),P(z.id)&&(C[z.id]=z),K&&!0===se.collapsed&&(K.collapsed=!0),z.pos=U}});return{categories:l,mapOfIdToNode:C,mapOfPosToGridNode:p=function(z,K){let U=function(se,S,$){let x=S+(-1===S?0:K-1),N=(x-S)/2,R=S+N;return se.nodes.forEach(function(Z){let Y=Z.data;F(Y,!0)&&(Y.y=S+(Y.seriesIndex||0),delete Y.seriesIndex),Z.pos=R}),$[R]=se,se.pos=R,se.tickmarkOffset=N+.5,se.collapseStart=x+.5,se.children.forEach(function(Z){U(Z,x+1,$),x=(Z.collapseEnd||0)-.5}),se.collapseEnd=x+.5,$};return U(z[-1],-1,{})}(p,r),collapsedNodes:d,tree:B}}function G(o){o.target.axes.filter(function(n){return"treegrid"===n.options.type}).forEach(function(n){let T,B,r=n.options||{},l=r.labels,d=r.uniqueNames,C=r.max,k=!n.treeGrid.mapOfPosToGridNode||n.series.some(function(z){return!z.hasRendered||z.isDirtyData||z.isDirty}),p=0;if(k){if(T=n.series.reduce(function(z,K){return K.visible&&((K.options.data||[]).forEach(function(U){K.options.keys&&K.options.keys.length&&(U=K.pointClass.prototype.optionsToObject.call({series:K},U),K.pointClass.setGanttPointAliases(U)),F(U,!0)&&(U.seriesIndex=p,z.push(U))}),!0===d&&p++),z},[]),C&&T.length=0&&U.indexOf(se.x2)>=0&&(U=se)}),F(U,!0)?D(U):U});z.visible&&z.setData(K,!1)}),n.treeGrid.mapOptionsToLevel=J({defaults:l,from:1,levels:l&&l.levels,to:n.treeGrid.tree&&n.treeGrid.tree.height}),"beforeRender"===o.type&&(n.treeGrid.collapsedNodes=B.collapsedNodes)}})}function O(o,n){let k,p,T,d=this.ticks,C=d[n];"treegrid"===this.options.type&&this.treeGrid.mapOfPosToGridNode?((k=(this.treeGrid.mapOptionsToLevel||{})[(T=this.treeGrid.mapOfPosToGridNode[n]).depth])&&(p={labels:k}),!C&&ue?d[n]=C=new ue(this,n,void 0,void 0,{category:T.name,tickmarkOffset:T.tickmarkOffset,options:p}):(C.parameters.category=T.name,C.options=p,C.addLabel())):o.apply(this,Array.prototype.slice.call(arguments,1))}function f(o,n,r,l){let d=this,C="treegrid"===r.type;d.treeGrid||(d.treeGrid=new v(d)),C&&(te(n,"beforeRender",G),te(n,"beforeRedraw",G),te(n,"addSeries",function(k){if(k.options.data){let p=w(k.options.data,r.uniqueNames||!1,1);d.treeGrid.collapsedNodes=(d.treeGrid.collapsedNodes||[]).concat(p.collapsedNodes)}}),te(d,"foundExtremes",function(){d.treeGrid.collapsedNodes&&d.treeGrid.collapsedNodes.forEach(function(k){let p=d.treeGrid.collapse(k);d.brokenAxis&&(d.brokenAxis.setBreaks(p,!1),d.treeGrid.collapsedNodes&&(d.treeGrid.collapsedNodes=d.treeGrid.collapsedNodes.filter(T=>k.collapseStart!==T.collapseStart||k.collapseEnd!==T.collapseEnd)))})}),te(d,"afterBreaks",function(){"yAxis"===d.coll&&!d.staticScale&&d.chart.options.chart.height&&(d.isDirty=!0)}),r=D({grid:{enabled:!0},labels:{align:"left",levels:[{level:void 0},{level:1,style:{fontWeight:"bold"}}],symbol:{type:"triangle",x:-5,y:-5,height:10,width:10}},uniqueNames:!1},r,{reversed:!0})),o.apply(d,[n,r,l]),C&&(d.hasNames=!0,d.options.showLastLabel=!0)}function a(o){let n=this.options,r="number"==typeof n.linkedTo?this.chart[this.coll]?.[n.linkedTo]:void 0;if("treegrid"===n.type){if(this.min=A(this.userMin,n.min,this.dataMin),this.max=A(this.userMax,n.max,this.dataMax),E(this,"foundExtremes"),this.setAxisTranslation(),this.tickInterval=1,this.tickmarkOffset=.5,this.tickPositions=this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[],r){let l=r.getExtremes();this.min=A(l.min,l.dataMin),this.max=A(l.max,l.dataMax),this.tickPositions=r.tickPositions}this.linkedParent=r}else o.apply(this,Array.prototype.slice.call(arguments,1))}function g(o){let n=this;"treegrid"===n.options.type&&n.visible&&n.tickPositions.forEach(function(r){let l=n.ticks[r];l.label&&l.label.attachedTreeGridEvents&&(I(l.label.element),l.label.attachedTreeGridEvents=!1)}),o.apply(n,Array.prototype.slice.call(arguments,1))}class v{static compose(n,r,l,d){if(!n.keepProps.includes("treeGrid")){let C=n.prototype;n.keepProps.push("treeGrid"),_(C,"generateTick",O),_(C,"init",f),_(C,"setTickInterval",a),_(C,"redraw",g),C.utils={getNode:re.getNode},ue||(ue=d)}return ne.compose(n,r,d),q.compose(n,l),ve.compose(d),n}constructor(n){this.axis=n}setCollapsedStatus(n){let r=this.axis,l=r.chart;r.series.forEach(function(d){let C=d.options.data;if(n.id&&C){let k=l.get(n.id),p=C[d.data.indexOf(k)];k&&p&&(k.collapsed=n.collapsed,p.collapsed=n.collapsed)}})}collapse(n){let r=this.axis,l=r.options.breaks||[],d=m(n,r.max);return l.push(d),n.collapsed=!0,r.treeGrid.setCollapsedStatus(n),l}expand(n){let r=this.axis,l=r.options.breaks||[],d=m(n,r.max);return n.collapsed=!1,r.treeGrid.setCollapsedStatus(n),l.reduce(function(C,k){return(k.to!==d.to||k.from!==d.from)&&C.push(k),C},[])}getTickPositions(){let n=this.axis,r=Math.floor(n.min/n.tickInterval)*n.tickInterval,l=Math.ceil(n.max/n.tickInterval)*n.tickInterval;return Object.keys(n.treeGrid.mapOfPosToGridNode||{}).reduce(function(d,C){let k=+C;return k>=r&&k<=l&&!(n.brokenAxis&&n.brokenAxis.isInAnyBreak(k))&&d.push(k),d},[])}isCollapsed(n){let r=this.axis,l=r.options.breaks||[],d=m(n,r.max);return l.some(function(C){return C.from===d.from&&C.to===d.to})}toggleCollapse(n){return this.isCollapsed(n)?this.expand(n):this.collapse(n)}}return v}),Le(V,"Series/Gantt/GanttSeries.js",[V["Series/Gantt/GanttPoint.js"],V["Series/Gantt/GanttSeriesDefaults.js"],V["Gantt/Pathfinder.js"],V["Core/Series/SeriesRegistry.js"],V["Extensions/StaticScale.js"],V["Core/Axis/TreeGrid/TreeGridAxis.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue){let{series:J,seriesTypes:{xrange:te}}=ve,{extend:X,isNumber:E,merge:j}=ue;class F extends te{static compose(D,A,I,_){te.compose(D),A&&(le.compose(D,A),I)&&(re.compose(A,I.prototype.pointClass),_&&pe.compose(D,A,I,_))}drawPoint(D,A){let a,I=this.options,_=this.chart.renderer,m=D.shapeArgs,G=D.selected&&"select",O=I.stacking&&!I.borderRadius,f=D.graphic;D.options.milestone?E(D.plotY)&&null!==D.y&&!1!==D.visible?(a=_.symbols.diamond(m.x||0,m.y||0,m.width||0,m.height||0),f?f[A]({d:a}):D.graphic=f=_.path(a).addClass(D.getClassName(),!0).add(D.group||this.group),this.chart.styledMode||D.graphic.attr(this.pointAttribs(D,G)).shadow(I.shadow,null,O)):f&&(D.graphic=f.destroy()):super.drawPoint(D,A)}translatePoint(D){let A,I;super.translatePoint(D),D.options.milestone&&(I=(A=D.shapeArgs).height||0,D.shapeArgs={x:(A.x||0)-I/2,y:A.y,width:I,height:I})}}return F.defaultOptions=j(te.defaultOptions,ne),X(F.prototype,{pointArrayMap:["start","end","y"],pointClass:q,setData:J.prototype.setData}),ve.registerSeriesType("gantt",F),F}),Le(V,"masters/modules/gantt.src.js",[V["Core/Globals.js"],V["Extensions/ArrowSymbols.js"],V["Gantt/Connection.js"],V["Extensions/CurrentDateIndication.js"],V["Core/Chart/GanttChart.js"],V["Stock/Navigator/Navigator.js"],V["Stock/RangeSelector/RangeSelector.js"],V["Stock/Scrollbar/Scrollbar.js"],V["Series/Gantt/GanttSeries.js"]],function(q,ne,re,ve,le,pe,ue,J,te){return q.Connection=q.Connection||re,q.GanttChart=q.GanttChart||le,q.Navigator=q.Navigator||pe,q.RangeSelector=q.RangeSelector||ue,q.Scrollbar=q.Scrollbar||J,q.ganttChart=q.GanttChart.ganttChart,ne.compose(q.SVGRenderer),ve.compose(q.Axis,q.PlotLineOrBand),te.compose(q.Axis,q.Chart,q.Series,q.Tick),q.Navigator.compose(q.Chart,q.Axis,q.Series),q.RangeSelector.compose(q.Axis,q.Chart),q.Scrollbar.compose(q.Axis),q}),Le(V,"masters/highcharts-gantt.src.js",[V["masters/highcharts.src.js"]],function(q){return q.product="Highcharts Gantt",q}),V["masters/highcharts-gantt.src.js"]._modules=V,V["masters/highcharts-gantt.src.js"]},ri.exports?(V.default=V,ri.exports=e&&e.document?V(e):V):void 0!==(M=function(){return V(e)}.call(Bt,We,Bt,ri))&&(ri.exports=M)},12168:(ri,Bt,We)=>{var M,e,V;V=function(V){"use strict";var Le=V?V._modules:{};function q(ne,re,ve,le){ne.hasOwnProperty(re)||(ne[re]=le.apply(null,ve),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:re,module:ne[re]}})))}q(Le,"Extensions/Pane/PaneComposition.js",[Le["Core/Utilities.js"]],function(ne){const{addEvent:re,correctFloat:ve,defined:le,pick:pe}=ne;function ue(P){const D=this;let A;return P&&D.pane.forEach(I=>{te(P.chartX-D.plotLeft,P.chartY-D.plotTop,I.center)&&(A=I)}),A}function te(P,D,A,I,_){let m=!0;const w=A[0],G=A[1],O=Math.sqrt(Math.pow(P-w,2)+Math.pow(D-G,2));if(le(I)&&le(_)){const f=Math.atan2(ve(D-G,8),ve(P-w,8));_!==I&&(m=I>_?f>=I&&f<=Math.PI||f<=_&&f>=-Math.PI:f>=I&&f<=ve(_,8))}return O<=Math.ceil(A[2]/2)&&m}function X(P){this.polar&&(P.options.inverted&&([P.x,P.y]=[P.y,P.x]),P.isInsidePlot=this.pane.some(A=>te(P.x,P.y,A.center,A.axis&&A.axis.normalizedStartAngleRad,A.axis&&A.axis.normalizedEndAngleRad)))}function E(P){const D=this.chart;P.hoverPoint&&P.hoverPoint.plotX&&P.hoverPoint.plotY&&D.hoverPane&&!te(P.hoverPoint.plotX,P.hoverPoint.plotY,D.hoverPane.center)&&(P.hoverPoint=void 0)}function j(P){const D=this.chart;D.polar?(D.hoverPane=D.getHoverPane(P),P.filter=function(A){return A.visible&&!(!P.shared&&A.directTouch)&&pe(A.options.enableMouseTracking,!0)&&(!D.hoverPane||A.xAxis.pane===D.hoverPane)}):D.hoverPane=void 0}return{compose:function J(P,D){const A=P.prototype;A.getHoverPane||(A.collectionsWithUpdate.push("pane"),A.getHoverPane=ue,re(P,"afterIsInsidePlot",X),re(D,"afterGetHoverData",E),re(D,"beforeGetHoverData",j))}}}),q(Le,"Extensions/Pane/PaneDefaults.js",[],function(){return{pane:{center:["50%","50%"],size:"85%",innerSize:"0%",startAngle:0},background:{shape:"circle",borderWidth:1,borderColor:"#cccccc",backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#ffffff"],[1,"#e6e6e6"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"}}}),q(Le,"Extensions/Pane/Pane.js",[Le["Series/CenteredUtilities.js"],Le["Extensions/Pane/PaneComposition.js"],Le["Extensions/Pane/PaneDefaults.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le){const{extend:pe,merge:ue,splat:J}=le;class te{constructor(E,j){this.coll="pane",this.init(E,j)}init(E,j){this.chart=j,this.background=[],j.pane.push(this),this.setOptions(E)}setOptions(E){this.options=E=ue(ve.pane,this.chart.angular?{background:{}}:void 0,E)}render(){const E=this.options;this.group||(this.group=this.chart.renderer.g("pane-group").attr({zIndex:E.zIndex||0}).add()),this.updateCenter();let F=this.options.background;if(F){F=J(F);const P=Math.max(F.length,this.background.length||0);for(let D=0;Dd,v.y=v.high,v._plotY=v.plotY,v.plotY=l,O[g]=v.dataLabel,v.dataLabel=v.dataLabelUpper,v.below=o,a?n.align||(n.align=o?"right":"left"):n.verticalAlign||(n.verticalAlign=o?"top":"bottom")}for(this.options.dataLabels=n,J.drawDataLabels&&J.drawDataLabels.apply(this,arguments),g=G;g--;)v=w[g],v&&(v.dataLabelUpper=v.dataLabel,v.dataLabel=O[g],delete v.dataLabels,v.y=v.low,v.plotY=v._plotY)}if(r.enabled||this.hasDataLabels?.()){for(g=G;g--;)if(v=w[g],v){const{plotHigh:l=0,plotLow:d=0}=v;o=r.inside?ld,v.below=!o,a?r.align||(r.align=o?"left":"right"):r.verticalAlign||(r.verticalAlign=o?"bottom":"top")}this.options.dataLabels=r,J.drawDataLabels&&J.drawDataLabels.apply(this,arguments)}if(n.enabled)for(g=G;g--;)v=w[g],v&&(v.dataLabels=[v.dataLabelUpper,v.dataLabel].filter(function(l){return!!l}));this.options.dataLabels=f}}alignDataLabel(){te.alignDataLabel.apply(this,arguments)}modifyMarkerSettings(){const w=this,G={marker:w.options.marker,symbol:w.symbol};if(w.options.lowMarker){const{options:{marker:O,lowMarker:f}}=w;w.options.marker=A(O,f),f.symbol&&(w.symbol=f.symbol)}return G}restoreMarkerSettings(w){this.options.marker=w.marker,this.symbol=w.symbol}drawPoints(){const w=this,G=w.points.length;let O,f;const a=w.modifyMarkerSettings();for(J.drawPoints.apply(w,arguments),w.restoreMarkerSettings(a),O=0;O=0&&f.plotY<=w.yAxis.len&&f.plotX>=0&&f.plotX<=w.xAxis.len),O++;for(J.drawPoints.apply(w,arguments),O=0;O\u25cf
{series.name}: {point.low} - {point.high}
'},trackByArea:!0,dataLabels:{align:void 0,verticalAlign:void 0,xLow:0,xHigh:0,yLow:0,yHigh:0}}),X(_,"afterTranslate",function(){"low,high"===this.pointArrayMap.join(",")&&this.points.forEach(m=>{const w=m.high,G=m.plotY;m.isNull?m.plotY=void 0:(m.plotLow=G,m.plotHigh=P(w)?this.yAxis.translate(this.dataModify?this.dataModify.modifyValue(w):w,!1,!0,void 0,!0):void 0,this.dataModify&&(m.yBottom=m.plotHigh))})},{order:0}),X(_,"afterTranslate",function(){this.points.forEach(m=>{if(this.chart.polar)this.highToXY(m),m.plotLow=m.plotY,m.tooltipPos=[((m.plotHighX||0)+(m.plotLowX||0))/2,((m.plotHigh||0)+(m.plotLow||0))/2];else{const w=m.pos(!1,m.plotLow),G=m.pos(!1,m.plotHigh);w&&G&&(w[0]=(w[0]+G[0])/2,w[1]=(w[1]+G[1])/2),m.tooltipPos=w}})},{order:3}),j(_.prototype,{deferTranslatePolar:!0,pointArrayMap:["low","high"],pointClass:ne,pointValKey:"low",setStackedPoints:pe}),ve.registerSeriesType("arearange",_),_}),q(Le,"Series/AreaSplineRange/AreaSplineRangeSeries.js",[Le["Series/AreaRange/AreaRangeSeries.js"],Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"]],function(ne,re,ve){const{spline:{prototype:le}}=re.seriesTypes,{merge:pe,extend:ue}=ve;class J extends ne{}return J.defaultOptions=pe(ne.defaultOptions),ue(J.prototype,{getPointSpline:le.getPointSpline}),re.registerSeriesType("areasplinerange",J),J}),q(Le,"Series/BoxPlot/BoxPlotSeriesDefaults.js",[],function(){return{threshold:null,tooltip:{pointFormat:'\u25cf {series.name}
Maximum: {point.high}
Upper quartile: {point.q3}
Median: {point.median}
Lower quartile: {point.q1}
Minimum: {point.low}
'},whiskerLength:"50%",fillColor:"#ffffff",lineWidth:1,medianWidth:2,whiskerWidth:2}}),q(Le,"Series/BoxPlot/BoxPlotSeries.js",[Le["Series/BoxPlot/BoxPlotSeriesDefaults.js"],Le["Series/Column/ColumnSeries.js"],Le["Core/Globals.js"],Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le,pe){const{noop:ue}=ve,{extend:J,merge:te,pick:X}=pe;class E extends re{pointAttribs(){return{}}translate(){const F=this,P=F.yAxis,D=F.pointArrayMap;super.translate.apply(F),F.points.forEach(function(A){D.forEach(function(I){null!==A[I]&&(A[I+"Plot"]=P.translate(A[I],0,1,0,1))}),A.plotHigh=A.highPlot})}drawPoints(){const F=this,P=F.points,D=F.options,A=F.chart,I=A.renderer,_=!1!==F.doQuartiles,m=F.options.whiskerLength;let w,G,O,f,a,v,r,l,d,C,k,p,o=0;for(const T of P){r=T.graphic;const B=r?"animate":"attr",z=T.shapeArgs,K={},U={},se={},S={},$=T.color||F.color;if(typeof T.plotY<"u"){let H;l=Math.round(z.width),d=Math.floor(z.x),C=d+l,k=Math.round(l/2),w=Math.floor(_?T.q1Plot:T.lowPlot),G=Math.floor(_?T.q3Plot:T.lowPlot),O=Math.floor(T.highPlot),f=Math.floor(T.lowPlot),r||(T.graphic=r=I.g("point").add(F.group),T.stem=I.path().addClass("highcharts-boxplot-stem").add(r),m&&(T.whiskers=I.path().addClass("highcharts-boxplot-whisker").add(r)),_&&(T.box=I.path(void 0).addClass("highcharts-boxplot-box").add(r)),T.medianShape=I.path(void 0).addClass("highcharts-boxplot-median").add(r)),A.styledMode||(U.stroke=T.stemColor||D.stemColor||$,U["stroke-width"]=X(T.stemWidth,D.stemWidth,D.lineWidth),U.dashstyle=T.stemDashStyle||D.stemDashStyle||D.dashStyle,T.stem.attr(U),m&&(se.stroke=T.whiskerColor||D.whiskerColor||$,se["stroke-width"]=X(T.whiskerWidth,D.whiskerWidth,D.lineWidth),se.dashstyle=T.whiskerDashStyle||D.whiskerDashStyle||D.dashStyle,T.whiskers.attr(se)),_&&(K.fill=T.fillColor||D.fillColor||$,K.stroke=D.lineColor||$,K["stroke-width"]=D.lineWidth||0,K.dashstyle=T.boxDashStyle||D.boxDashStyle||D.dashStyle,T.box.attr(K)),S.stroke=T.medianColor||D.medianColor||$,S["stroke-width"]=X(T.medianWidth,D.medianWidth,D.lineWidth),S.dashstyle=T.medianDashStyle||D.medianDashStyle||D.dashStyle,T.medianShape.attr(S)),v=T.stem.strokeWidth()%2/2,o=d+k+v,H=[["M",o,G],["L",o,O],["M",o,w],["L",o,f]],T.stem[B]({d:H}),_&&(v=T.box.strokeWidth()%2/2,w=Math.floor(w)+v,G=Math.floor(G)+v,d+=v,C+=v,H=[["M",d,G],["L",d,w],["L",C,w],["L",C,G],["L",d,G],["Z"]],T.box[B]({d:H})),m&&(v=T.whiskers.strokeWidth()%2/2,O+=v,f+=v,p=/%$/.test(m)?k*parseFloat(m)/100:m/2,H=[["M",o-p,O],["L",o+p,O],["M",o-p,f],["L",o+p,f]],T.whiskers[B]({d:H})),a=Math.round(T.medianPlot),v=T.medianShape.strokeWidth()%2/2,a+=v,H=[["M",d,a],["L",C,a]],T.medianShape[B]({d:H})}}}toYData(F){return[F.low,F.q1,F.median,F.q3,F.high]}}return E.defaultOptions=te(re.defaultOptions,ne),J(E.prototype,{pointArrayMap:["low","q1","median","q3","high"],pointValKey:"high",drawDataLabels:ue,setStackedPoints:ue}),le.registerSeriesType("boxplot",E),E}),q(Le,"Series/Bubble/BubbleLegendDefaults.js",[],function(){return{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:"0.9em",color:"#000000"},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}}),q(Le,"Series/Bubble/BubbleLegendItem.js",[Le["Core/Color/Color.js"],Le["Core/Templating.js"],Le["Core/Globals.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le){const{parse:pe}=ne,{noop:ue}=ve,{arrayMax:J,arrayMin:te,isNumber:X,merge:E,pick:j,stableSort:F}=le;return class P{constructor(A,I){this.setState=ue,this.init(A,I)}init(A,I){this.options=A,this.visible=!0,this.chart=I.chart,this.legend=I}addToLegend(A){A.splice(this.options.legendIndex,0,this)}drawLegendSymbol(A){const I=j(A.options.itemDistance,20),_=this.legendItem||{},m=this.options,w=m.ranges,G=m.connectorDistance;let O;if(!w||!w.length||!X(w[0].value))return void(A.options.bubbleLegend.autoRanges=!0);F(w,function(v,o){return o.value-v.value}),this.ranges=w,this.setOptions(),this.render();const f=this.getMaxLabelSize(),a=this.ranges[0].radius,g=2*a;O=G-a+f.width,O=O>0?O:0,this.maxLabel=f,this.movementX="left"===m.labels.align?O:0,_.labelWidth=g+O+I,_.labelHeight=g+f.height/2}setOptions(){const A=this.ranges,I=this.options,_=this.chart.series[I.seriesIndex],m=this.legend.baseline,w={zIndex:I.zIndex,"stroke-width":I.borderWidth},G={zIndex:I.zIndex,"stroke-width":I.connectorWidth},O={align:this.legend.options.rtl||"left"===I.labels.align?"right":"left",zIndex:I.zIndex},f=_.options.marker.fillOpacity,a=this.chart.styledMode;A.forEach(function(g,v){a||(w.stroke=j(g.borderColor,I.borderColor,_.color),w.fill=j(g.color,I.color,1!==f?pe(_.color).setOpacity(f).get("rgba"):_.color),G.stroke=j(g.connectorColor,I.connectorColor,_.color)),A[v].radius=this.getRangeRadius(g.value),A[v]=E(A[v],{center:A[0].radius-A[v].radius+m}),a||E(!0,A[v],{bubbleAttribs:E(w),connectorAttribs:E(G),labelAttribs:O})},this)}getRangeRadius(A){const I=this.options;return this.chart.series[this.options.seriesIndex].getRadius.call(this,I.ranges[I.ranges.length-1].value,I.ranges[0].value,I.minSize,I.maxSize,A)}render(){const A=this.legendItem||{},I=this.chart.renderer,_=this.options.zThreshold;this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),A.symbol=I.g("bubble-legend"),A.label=I.g("bubble-legend-item").css(this.legend.itemStyle||{}),A.symbol.translateX=0,A.symbol.translateY=0,A.symbol.add(A.label),A.label.add(A.group);for(const m of this.ranges)m.value>=_&&this.renderRange(m);this.hideOverlappingLabels()}renderRange(A){const I=this.ranges[0],_=this.legend,m=this.options,w=m.labels,G=this.chart,O=G.series[m.seriesIndex],f=G.renderer,a=this.symbols,g=a.labels,v=A.center,o=Math.abs(A.radius),n=m.connectorDistance||0,r=w.align,C=m.connectorWidth,k=I.radius||0,p=v-o-m.borderWidth/2+C/2,T=(p%1?1:.5)-(C%2?0:.5),B=f.styledMode;let z=_.options.rtl||"left"===r?-n:n;"center"===r&&(z=0,m.connectorDistance=0,A.labelAttribs.align="center"),a.bubbleItems.push(f.circle(k,v+T,o).attr(B?{}:A.bubbleAttribs).addClass((B?"highcharts-color-"+O.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(m.className||"")).add(this.legendItem.symbol)),a.connectors.push(f.path(f.crispLine([["M",k,p],["L",k+z,p]],m.connectorWidth)).attr(B?{}:A.connectorAttribs).addClass((B?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(m.connectorClassName||"")).add(this.legendItem.symbol));const K=f.text(this.formatLabel(A)).attr(B?{}:A.labelAttribs).css(B?{}:w.style).addClass("highcharts-bubble-legend-labels "+(m.labels.className||"")).add(this.legendItem.symbol),U={x:k+z+m.labels.x,y:p+m.labels.y+.4*K.getBBox().height};K.attr(U),g.push(K),K.placed=!0,K.alignAttr=U}getMaxLabelSize(){let I,_;return this.symbols.labels.forEach(function(m){_=m.getBBox(!0),I=I?_.width>I.width?_:I:_}),I||{}}formatLabel(A){const I=this.options,_=I.labels.formatter,m=I.labels.format,{numberFormatter:w}=this.chart;return m?re.format(m,A):_?_.call(A):w(A.value,1)}hideOverlappingLabels(){const _=this.symbols;!this.options.labels.allowOverlap&&_&&(this.chart.hideOverlappingLabels(_.labels),_.labels.forEach(function(m,w){m.newOpacity?m.newOpacity!==m.oldOpacity&&_.connectors[w].show():_.connectors[w].hide()}))}getRanges(){const A=this.legend.bubbleLegend,_=A.options.ranges;let m,w,G=Number.MAX_VALUE,O=-Number.MAX_VALUE;return A.chart.series.forEach(function(f){f.isBubble&&!f.ignoreSeries&&(w=f.zData.filter(X),w.length&&(G=j(f.options.zMin,Math.min(G,Math.max(te(w),!1===f.options.displayNegative?f.options.zThreshold:-Number.MAX_VALUE))),O=j(f.options.zMax,Math.max(O,J(w)))))}),m=G===O?[{value:O}]:[{value:G},{value:(G+O)/2},{value:O,autoRanges:!0}],_.length&&_[0].radius&&m.reverse(),m.forEach(function(f,a){_&&_[a]&&(m[a]=E(_[a],f))}),m}predictBubbleSizes(){const A=this.chart,I=A.legend.options,_=I.floating,m="horizontal"===I.layout,w=m?A.legend.lastLineHeight:0,G=A.plotSizeX,O=A.plotSizeY,f=A.series[this.options.seriesIndex],a=f.getPxExtremes(),g=Math.ceil(a.minPxSize),v=Math.ceil(a.maxPxSize),o=Math.min(O,G);let n,r=f.options.maxSize;return _||!/%$/.test(r)?n=v:(r=parseFloat(r),n=(o+w)*r/100/(r/100+1),(m&&O-n>=G||!m&&G-n>=O)&&(n=v)),[g,Math.ceil(n)]}updateRanges(A,I){const _=this.legend.options.bubbleLegend;_.minSize=A,_.maxSize=I,_.ranges=this.getRanges()}correctSizes(){const A=this.legend,m=this.chart.series[this.options.seriesIndex].getPxExtremes(),G=this.options.maxSize;Math.abs(Math.ceil(m.maxPxSize)-G)>1&&(this.updateRanges(this.options.minSize,m.maxPxSize),A.render())}}}),q(Le,"Series/Bubble/BubbleLegendComposition.js",[Le["Series/Bubble/BubbleLegendDefaults.js"],Le["Series/Bubble/BubbleLegendItem.js"],Le["Core/Defaults.js"],Le["Core/Globals.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le,pe){const{setOptions:ue}=ve,{composed:J}=le,{addEvent:te,objectEach:X,pushUnique:E,wrap:j}=pe;function F(G,O,f){const a=this,g=a.legend,v=D(a)>=0;let o,n,r;g&&g.options.enabled&&g.bubbleLegend&&g.options.bubbleLegend.autoRanges&&v?(o=g.bubbleLegend.options,n=g.bubbleLegend.predictBubbleSizes(),g.bubbleLegend.updateRanges(n[0],n[1]),o.placed||(g.group.placed=!1,g.allItems.forEach(l=>{r=l.legendItem||{},r.group&&(r.group.translateY=void 0)})),g.render(),a.getMargins(),a.axes.forEach(function(l){l.visible&&l.render(),o.placed||(l.setScale(),l.updateNames(),X(l.ticks,function(d){d.isNew=!0,d.isNewLabel=!0}))}),o.placed=!0,a.getMargins(),G.call(a,O,f),g.bubbleLegend.correctSizes(),m(g,A(g))):(G.call(a,O,f),g&&g.options.enabled&&g.bubbleLegend&&(g.render(),m(g,A(g))))}function D(G){const O=G.series;let f=0;for(;fg.height&&(g.height=O[r].itemHeight);g.step=n}return f}function I(G){const O=this,f=O.bubbleLegend,a=O.options,g=a.bubbleLegend,v=D(O.chart);f&&f.ranges&&f.ranges.length&&(g.ranges.length&&(g.autoRanges=!!g.ranges[0].autoRanges),O.destroyItem(f)),v>=0&&a.enabled&&g.enabled&&(g.seriesIndex=v,O.bubbleLegend=new re(g,O),O.bubbleLegend.addToLegend(G.allItems))}function _(G){if(G.defaultPrevented)return!1;const O=this,f=O.chart,a=O.visible,g=O.chart.legend;let v;g&&g.bubbleLegend&&(O.visible=!a,O.ignoreSeries=a,v=D(f)>=0,g.bubbleLegend.visible!==v&&(g.update({bubbleLegend:{enabled:v}}),g.bubbleLegend.visible=v),O.visible=a)}function m(G,O){const a=G.options.rtl;let g,v,o,n,r=0;G.allItems.forEach((l,d)=>{n=l.legendItem||{},n.group&&(g=n.group.translateX||0,v=n.y||0,o=l.movementX,(o||a&&l.ranges)&&(o=a?g-l.options.maxSize/2:g+o,n.group.attr({translateX:o})),d>O[r].step&&r++,n.group.attr({translateY:Math.round(v+O[r].height/2)}),n.y=v+O[r].height/2)})}return{compose:function P(G,O,f){E(J,"Series.BubbleLegend")&&(ue({legend:{bubbleLegend:ne}}),j(G.prototype,"drawChartBox",F),te(O,"afterGetAllItems",I),te(f,"legendItemClick",_))}}}),q(Le,"Series/Bubble/BubblePoint.js",[Le["Core/Series/Point.js"],Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"]],function(ne,re,ve){const{seriesTypes:{scatter:{prototype:{pointClass:le}}}}=re,{extend:pe}=ve;class ue extends le{haloPath(te){return ne.prototype.haloPath.call(this,0===te?0:(this.marker&&this.marker.radius||0)+te)}}return pe(ue.prototype,{ttBelow:!1}),ue}),q(Le,"Series/Bubble/BubbleSeries.js",[Le["Series/Bubble/BubbleLegendComposition.js"],Le["Series/Bubble/BubblePoint.js"],Le["Core/Color/Color.js"],Le["Core/Globals.js"],Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le,pe,ue){const{parse:J}=ve,{composed:te,noop:X}=le,{series:E,seriesTypes:{column:{prototype:j},scatter:F}}=pe,{addEvent:P,arrayMax:D,arrayMin:A,clamp:I,extend:_,isNumber:m,merge:w,pick:G,pushUnique:O}=ue;function f(){const g=this.len,{coll:v,isXAxis:o,min:n}=this,r=o?"xData":"yData",l=(this.max||0)-(n||0);let p,d=0,C=g,k=g/l;"xAxis"!==v&&"yAxis"!==v||(this.series.forEach(T=>{if(T.bubblePadding&&T.reserveSpace()){this.allowZoomOutside=!0,p=!0;const B=T[r];if(o&&((T.onPoint||T).getRadii(0,0,T),T.onPoint&&(T.radii=T.onPoint.radii)),l>0){let z=B.length;for(;z--;)if(m(B[z])&&this.dataMin<=B[z]&&B[z]<=this.max){const K=T.radii&&T.radii[z]||0;d=Math.min((B[z]-n)*k-K,d),C=Math.max((B[z]-n)*k+K,C)}}}}),p&&l>0&&!this.logarithmic&&(C-=g,k*=(g+Math.max(0,d)-Math.min(C,g))/g,[["min","userMin",d],["max","userMax",C]].forEach(T=>{typeof G(this.options[T[0]],this[T[1]])>"u"&&(this[T[0]]+=T[2]/k)})))}class a extends F{static compose(v,o,n,r){ne.compose(o,n,r),O(te,"Series.Bubble")&&P(v,"foundExtremes",f)}animate(v){!v&&this.points.length{if(K.bubblePadding&&K.reserveSpace()){const U=(K.onPoint||K).getZExtremes();U&&(T=Math.min(G(T,U.zMin),U.zMin),B=Math.max(G(B,U.zMax),U.zMax),z=!0)}}),z?(C={zMin:T,zMax:B},this.chart.bubbleZExtremes=C):C={zMin:0,zMax:0}}for(l=0,r=v.length;l0&&(B=(l-v)/T)}return k&&B>=0&&(B=Math.sqrt(B)),Math.ceil(n+B*(r-n))/2}hasData(){return!!this.processedXData.length}pointAttribs(v,o){const r=this.options.marker.fillOpacity,l=E.prototype.pointAttribs.call(this,v,o);return 1!==r&&(l.fill=J(l.fill).setOpacity(r).get("rgba")),l}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){const{data:v,options:o,radii:n}=this,{minPxSize:r}=this.getPxExtremes();let l=v.length;for(;l--;){const d=v[l],C=n?n[l]:0;"z"===this.zoneAxis&&(d.negative=(d.z||0)<(o.zThreshold||0)),m(C)&&C>=r/2?(d.marker=_(d.marker,{radius:C,width:2*C,height:2*C}),d.dlBox={x:d.plotX-C,y:d.plotY-C,width:2*C,height:2*C}):(d.shapeArgs=d.plotY=d.dlBox=void 0,d.isInside=!1)}}getPxExtremes(){const v=Math.min(this.chart.plotWidth,this.chart.plotHeight),o=l=>{let d;return"string"==typeof l&&(d=/%$/.test(l),l=parseInt(l,10)),d?v*l/100:l},n=o(G(this.options.minSize,8));return{minPxSize:n,maxPxSize:Math.max(o(G(this.options.maxSize,"20%")),n)}}getZExtremes(){const v=this.options,o=(this.zData||[]).filter(m);if(o.length){const n=G(v.zMin,I(A(o),!1===v.displayNegative?v.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),r=G(v.zMax,D(o));if(m(n)&&m(r))return{zMin:n,zMax:r}}}}return a.defaultOptions=w(F.defaultOptions,{dataLabels:{formatter:function(){const{numberFormatter:g}=this.series.chart,{z:v}=this.point;return m(v)?g(v,-1):""},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"}),_(a.prototype,{alignDataLabel:j.alignDataLabel,applyZones:X,bubblePadding:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:re,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),P(a,"updatedData",g=>{delete g.target.chart.bubbleZExtremes}),P(a,"remove",g=>{delete g.target.chart.bubbleZExtremes}),pe.registerSeriesType("bubble",a),a}),q(Le,"Series/ColumnRange/ColumnRangePoint.js",[Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"]],function(ne,re){const{seriesTypes:{column:{prototype:{pointClass:{prototype:ve}}},arearange:{prototype:{pointClass:le}}}}=ne,{extend:pe,isNumber:ue}=re;class J extends le{isValid(){return ue(this.low)}}return pe(J.prototype,{setState:ve.setState}),J}),q(Le,"Series/ColumnRange/ColumnRangeSeries.js",[Le["Series/ColumnRange/ColumnRangePoint.js"],Le["Core/Globals.js"],Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le){const{noop:pe}=re,{seriesTypes:{arearange:ue,column:J,column:{prototype:te}}}=ve,{addEvent:X,clamp:E,extend:j,isNumber:F,merge:P,pick:D}=le;class I extends ue{setOptions(){return P(!0,arguments[0],{stacking:void 0}),ue.prototype.setOptions.apply(this,arguments)}translate(){return te.translate.apply(this)}pointAttribs(){return te.pointAttribs.apply(this,arguments)}translate3dPoints(){return te.translate3dPoints.apply(this,arguments)}translate3dShapes(){return te.translate3dShapes.apply(this,arguments)}afterColumnTranslate(){const m=this.yAxis,w=this.xAxis,G=w.startAngleRad,O=this.chart,f=this.xAxis.isRadial,a=Math.max(O.chartWidth,O.chartHeight)+999;let g,v,o,n;function r(l){return E(l,-a,a)}this.points.forEach(l=>{const d=l.shapeArgs||{},C=this.options.minPointLength,k=l.plotY,p=m.translate(l.high,0,1,0,1);if(F(p)&&F(k))if(l.plotHigh=r(p),l.plotLow=r(k),n=l.plotHigh,g=D(l.rectPlotY,l.plotY)-l.plotHigh,Math.abs(g)\u25cf {series.name}: {point.low} - {point.high}
'},whiskerWidth:null}}),q(Le,"Series/ErrorBar/ErrorBarSeries.js",[Le["Series/BoxPlot/BoxPlotSeries.js"],Le["Series/Column/ColumnSeries.js"],Le["Series/ErrorBar/ErrorBarSeriesDefaults.js"],Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le,pe){const{arearange:ue}=le.seriesTypes,{addEvent:J,merge:te,extend:X}=pe;class E extends ne{getColumnMetrics(){const F=this;return F.linkedParent&&F.linkedParent.columnMetrics||re.prototype.getColumnMetrics.call(F)}drawDataLabels(){const F=this,P=F.pointValKey;if(ue){ue.prototype.drawDataLabels.call(F);for(const D of F.points)D.y=D[P]}}toYData(F){return[F.low,F.high]}}return E.defaultOptions=te(ne.defaultOptions,ve),J(E,"afterTranslate",function(){for(const j of this.points)j.plotLow=j.plotY},{order:0}),X(E.prototype,{pointArrayMap:["low","high"],pointValKey:"high",doQuartiles:!1}),le.registerSeriesType("errorbar",E),E}),q(Le,"Series/Gauge/GaugePoint.js",[Le["Core/Series/SeriesRegistry.js"]],function(ne){const{series:{prototype:{pointClass:re}}}=ne;return class ve extends re{setState(pe){this.state=pe}}}),q(Le,"Series/Gauge/GaugeSeries.js",[Le["Series/Gauge/GaugePoint.js"],Le["Core/Globals.js"],Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le){const{noop:pe}=re,{series:ue,seriesTypes:{column:J}}=ve,{clamp:te,isNumber:X,extend:E,merge:j,pick:F,pInt:P,defined:D}=le;class A extends ue{translate(){const _=this,m=_.yAxis,w=_.options,G=m.center;_.generatePoints(),_.points.forEach(O=>{const f=j(w.dial,O.dial),a=P(f.radius)*G[2]/200,g=P(f.baseLength)*a/100,v=P(f.rearLength)*a/100,o=f.baseWidth,n=f.topWidth;let r=w.overshoot,l=m.startAngleRad+m.translate(O.y,void 0,void 0,void 0,!0);(X(r)||!1===w.wrap)&&(r=X(r)?r/180*Math.PI:0,l=te(l,m.startAngleRad-r,m.endAngleRad+r)),l=180*l/Math.PI,O.shapeType="path",O.shapeArgs={d:f.path||[["M",-v,-o/2],["L",g,-o/2],["L",a,-n/2],["L",a,n/2],["L",g,o/2],["L",-v,o/2],["Z"]],translateX:G[0],translateY:G[1],rotation:l},O.plotX=G[0],O.plotY=G[1],D(O.y)&&m.max-m.min&&(O.percentage=(O.y-m.min)/(m.max-m.min)*100)})}drawPoints(){const _=this,m=_.chart,w=_.yAxis.center,G=_.pivot,O=_.options,f=O.pivot,a=m.renderer;_.points.forEach(g=>{const v=g.graphic,o=g.shapeArgs,n=o.d,r=j(O.dial,g.dial);v?(v.animate(o),o.d=n):g.graphic=a[g.shapeType](o).addClass("highcharts-dial").add(_.group),m.styledMode||g.graphic[v?"animate":"attr"]({stroke:r.borderColor,"stroke-width":r.borderWidth,fill:r.backgroundColor})}),G?G.animate({translateX:w[0],translateY:w[1]}):f&&(_.pivot=a.circle(0,0,f.radius).attr({zIndex:2}).addClass("highcharts-pivot").translate(w[0],w[1]).add(_.group),m.styledMode||_.pivot.attr({fill:f.backgroundColor,stroke:f.borderColor,"stroke-width":f.borderWidth}))}animate(_){const m=this;_||m.points.forEach(w=>{const G=w.graphic;G&&(G.attr({rotation:180*m.yAxis.startAngleRad/Math.PI}),G.animate({rotation:w.shapeArgs.rotation},m.options.animation))})}render(){this.group=this.plotGroup("group","series",this.visible?"inherit":"hidden",this.options.zIndex,this.chart.seriesGroup),ue.prototype.render.call(this),this.group.clip(this.chart.clipRect)}setData(_,m){ue.prototype.setData.call(this,_,!1),this.processData(),this.generatePoints(),F(m,!0)&&this.chart.redraw()}hasData(){return!!this.points.length}}return A.defaultOptions=j(ue.defaultOptions,{dataLabels:{borderColor:"#cccccc",borderRadius:3,borderWidth:1,crop:!1,defer:!1,enabled:!0,verticalAlign:"top",y:15,zIndex:2},dial:{backgroundColor:"#000000",baseLength:"70%",baseWidth:3,borderColor:"#cccccc",borderWidth:0,radius:"80%",rearLength:"10%",topWidth:1},pivot:{radius:5,borderWidth:0,borderColor:"#cccccc",backgroundColor:"#000000"},tooltip:{headerFormat:""},showInLegend:!1}),E(A.prototype,{angular:!0,directTouch:!0,drawGraph:pe,drawTracker:J.prototype.drawTracker,fixedBox:!0,forceDL:!0,noSharedTooltip:!0,pointClass:ne,trackerGroups:["group","dataLabelsGroup"]}),ve.registerSeriesType("gauge",A),A}),q(Le,"Series/DragNodesComposition.js",[Le["Core/Globals.js"],Le["Core/Utilities.js"]],function(ne,re){const{composed:ve}=ne,{addEvent:le,pushUnique:pe}=re;function J(){const P=this;let D,A,I;P.container&&(D=le(P.container,"mousedown",_=>{const m=P.hoverPoint;m&&m.series&&m.series.hasDraggableNodes&&m.series.options.draggable&&(m.series.onMouseDown(m,_),A=le(P.container,"mousemove",w=>m&&m.series&&m.series.onMouseMove(m,w)),I=le(P.container.ownerDocument,"mouseup",w=>(A(),I(),m&&m.series&&m.series.onMouseUp(m,w))))})),le(P,"destroy",function(){D()})}return{compose:function ue(P){pe(ve,"DragNodes")&&le(P,"load",J)},onMouseDown:function te(P,D){const A=this.chart.pointer?.normalize(D)||D;P.fixedPosition={chartX:A.chartX,chartY:A.chartY,plotX:P.plotX,plotY:P.plotY},P.inDragMode=!0},onMouseMove:function X(P,D){if(P.fixedPosition&&P.inDragMode){const I=this.chart,_=I.pointer?.normalize(D)||D,m=P.fixedPosition.chartX-_.chartX,w=P.fixedPosition.chartY-_.chartY,G=I.graphLayoutsLookup;let O,f;(Math.abs(m)>5||Math.abs(w)>5)&&(O=P.fixedPosition.plotX-m,f=P.fixedPosition.plotY-w,I.isInsidePlot(O,f)&&(P.plotX=O,P.plotY=f,P.hasDragged=!0,this.redrawHalo(P),G.forEach(a=>{a.restartSimulation()})))}},onMouseUp:function E(P){P.fixedPosition&&(P.hasDragged&&(this.layout.enableSimulation?this.layout.start():this.chart.redraw()),P.inDragMode=P.hasDragged=!1,this.options.fixedDraggable||delete P.fixedPosition)},redrawHalo:function j(P){P&&this.halo&&this.halo.attr({d:P.haloPath(this.options.states.hover.halo.size)})}}}),q(Le,"Series/GraphLayoutComposition.js",[Le["Core/Animation/AnimationUtilities.js"],Le["Core/Globals.js"],Le["Core/Utilities.js"]],function(ne,re,ve){const{setAnimation:le}=ne,{composed:pe}=re,{addEvent:ue,pushUnique:J}=ve;function j(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(I=>{I.updateSimulation()}),this.redraw())}function F(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(I=>{I.updateSimulation(!1)}),this.redraw())}function P(){this.graphLayoutsLookup&&this.graphLayoutsLookup.forEach(I=>{I.stop()})}function D(){let I,_=!1;const m=w=>{w.maxIterations--&&isFinite(w.temperature)&&!w.isStable()&&!w.enableSimulation&&(w.beforeStep&&w.beforeStep(),w.step(),I=!1,_=!0)};if(this.graphLayoutsLookup){for(le(!1,this),this.graphLayoutsLookup.forEach(w=>w.start());!I;)I=!0,this.graphLayoutsLookup.forEach(m);_&&this.series.forEach(w=>{w&&w.layout&&w.render()})}}return{compose:function E(I){J(pe,"GraphLayout")&&(ue(I,"afterPrint",j),ue(I,"beforePrint",F),ue(I,"predraw",P),ue(I,"render",D))},integrations:{},layouts:{}}}),q(Le,"Series/PackedBubble/PackedBubblePoint.js",[Le["Core/Chart/Chart.js"],Le["Core/Series/Point.js"],Le["Core/Series/SeriesRegistry.js"]],function(ne,re,ve){const{seriesTypes:{bubble:{prototype:{pointClass:le}}}}=ve;return class pe extends le{destroy(){return this.series.layout&&this.series.layout.removeElementFromCollection(this,this.series.layout.nodes),re.prototype.destroy.apply(this,arguments)}firePointEvent(){const te=this.series.options;if(this.isParentNode&&te.parentNode){const X=te.allowPointSelect;te.allowPointSelect=te.parentNode.allowPointSelect,re.prototype.firePointEvent.apply(this,arguments),te.allowPointSelect=X}else re.prototype.firePointEvent.apply(this,arguments)}select(){const X=this.series.chart;this.isParentNode?(X.getSelectedPoints=X.getSelectedParentNodes,re.prototype.select.apply(this,arguments),X.getSelectedPoints=ne.prototype.getSelectedPoints):re.prototype.select.apply(this,arguments)}}}),q(Le,"Series/PackedBubble/PackedBubbleSeriesDefaults.js",[Le["Core/Utilities.js"]],function(ne){const{isNumber:re}=ne;return{minSize:"10%",maxSize:"50%",sizeBy:"area",zoneAxis:"y",crisp:!1,tooltip:{pointFormat:"Value: {point.value}"},draggable:!0,useSimulation:!0,parentNode:{allowPointSelect:!1},dataLabels:{formatter:function(){const{numberFormatter:le}=this.series.chart,{value:pe}=this.point;return re(pe)?le(pe,-1):""},parentNodeFormatter:function(){return this.name},parentNodeTextPath:{enabled:!0},padding:0,style:{transition:"opacity 2000ms"}},layoutAlgorithm:{initialPositions:"circle",initialPositionRadius:20,bubblePadding:5,parentNodeLimit:!1,seriesInteraction:!0,dragBetweenSeries:!1,parentNodeOptions:{maxIterations:400,gravitationalConstant:.03,maxSpeed:50,initialPositionRadius:100,seriesInteraction:!0,marker:{fillColor:null,fillOpacity:1,lineWidth:null,lineColor:null,symbol:"circle"}},enableSimulation:!0,type:"packedbubble",integration:"packedbubble",maxIterations:1e3,splitSeries:!1,maxSpeed:5,gravitationalConstant:.01,friction:-.981}}}),q(Le,"Series/Networkgraph/VerletIntegration.js",[],function(){return{attractive:function ne(X,E,j){const F=X.getMass(),P=-j.x*E*this.diffTemperature,D=-j.y*E*this.diffTemperature;X.fromNode.fixedPosition||(X.fromNode.plotX-=P*F.fromNode/X.fromNode.degree,X.fromNode.plotY-=D*F.fromNode/X.fromNode.degree),X.toNode.fixedPosition||(X.toNode.plotX+=P*F.toNode/X.toNode.degree,X.toNode.plotY+=D*F.toNode/X.toNode.degree)},attractiveForceFunction:function re(X,E){return(E-X)/X},barycenter:function ve(){let X=this.options.gravitationalConstant,E=this.barycenter.xFactor,j=this.barycenter.yFactor;E=(E-(this.box.left+this.box.width)/2)*X,j=(j-(this.box.top+this.box.height)/2)*X,this.nodes.forEach(function(F){F.fixedPosition||(F.plotX-=E/F.mass/F.degree,F.plotY-=j/F.mass/F.degree)})},getK:function le(X){return Math.pow(X.box.width*X.box.height/X.nodes.length,.5)},integrate:function pe(X,E){let j=-X.options.friction,F=X.options.maxSpeed,A=(E.plotX+E.dispX-E.prevX)*j,I=(E.plotY+E.dispY-E.prevY)*j,_=Math.abs,m=_(A)/(A||1),w=_(I)/(I||1);A=m*Math.min(F,Math.abs(A)),I=w*Math.min(F,Math.abs(I)),E.prevX=E.plotX+E.dispX,E.prevY=E.plotY+E.dispY,E.plotX+=A,E.plotY+=I,E.temperature=X.vectorLength({x:A,y:I})},repulsive:function ue(X,E,j){const F=E*this.diffTemperature/X.mass/X.degree;X.fixedPosition||(X.plotX+=j.x*F,X.plotY+=j.y*F)},repulsiveForceFunction:function J(X,E){return(E-X)/X*(E>X?1:0)}}}),q(Le,"Series/PackedBubble/PackedBubbleIntegration.js",[Le["Core/Globals.js"],Le["Series/Networkgraph/VerletIntegration.js"]],function(ne,re){const{noop:ve}=ne;return{barycenter:function le(){const te=this,X=te.options.gravitationalConstant,E=te.box,j=te.nodes;let F,P;for(const D of j)te.options.splitSeries&&!D.isParentNode?(F=D.series.parentNode.plotX,P=D.series.parentNode.plotY):(F=E.width/2,P=E.height/2),D.fixedPosition||(D.plotX-=(D.plotX-F)*X/(D.mass*Math.sqrt(j.length)),D.plotY-=(D.plotY-P)*X/(D.mass*Math.sqrt(j.length)))},getK:ve,integrate:re.integrate,repulsive:function pe(te,X,E,j){const F=X*this.diffTemperature/te.mass/te.degree,P=E.x*F,D=E.y*F;te.fixedPosition||(te.plotX+=P,te.plotY+=D),j.fixedPosition||(j.plotX-=P,j.plotY-=D)},repulsiveForceFunction:function ue(te,X,E,j){return Math.min(te,(E.marker.radius+j.marker.radius)/2)}}}),q(Le,"Series/Networkgraph/EulerIntegration.js",[],function(){return{attractive:function ne(X,E,j,F){const P=X.getMass(),D=j.x/F*E,A=j.y/F*E;X.fromNode.fixedPosition||(X.fromNode.dispX-=D*P.fromNode/X.fromNode.degree,X.fromNode.dispY-=A*P.fromNode/X.fromNode.degree),X.toNode.fixedPosition||(X.toNode.dispX+=D*P.toNode/X.toNode.degree,X.toNode.dispY+=A*P.toNode/X.toNode.degree)},attractiveForceFunction:function re(X,E){return X*X/E},barycenter:function ve(){const X=this.options.gravitationalConstant,E=this.barycenter.xFactor,j=this.barycenter.yFactor;this.nodes.forEach(function(F){if(!F.fixedPosition){const P=F.getDegree(),D=P*(1+P/2);F.dispX+=(E-F.plotX)*X*D/F.degree,F.dispY+=(j-F.plotY)*X*D/F.degree}})},getK:function le(X){return Math.pow(X.box.width*X.box.height/X.nodes.length,.3)},integrate:function pe(X,E){let j;E.dispX+=E.dispX*X.options.friction,E.dispY+=E.dispY*X.options.friction,j=E.temperature=X.vectorLength({x:E.dispX,y:E.dispY}),0!==j&&(E.plotX+=E.dispX/j*Math.min(Math.abs(E.dispX),X.temperature),E.plotY+=E.dispY/j*Math.min(Math.abs(E.dispY),X.temperature))},repulsive:function ue(X,E,j,F){X.dispX+=j.x/F*E/X.degree,X.dispY+=j.y/F*E/X.degree},repulsiveForceFunction:function J(X,E){return E*E/X}}}),q(Le,"Series/Networkgraph/QuadTreeNode.js",[],function(){class ne{constructor(ve){this.body=!1,this.isEmpty=!1,this.isInternal=!1,this.nodes=[],this.box=ve,this.boxSize=Math.min(ve.width,ve.height)}divideBox(){const ve=this.box.width/2,le=this.box.height/2;this.nodes[0]=new ne({left:this.box.left,top:this.box.top,width:ve,height:le}),this.nodes[1]=new ne({left:this.box.left+ve,top:this.box.top,width:ve,height:le}),this.nodes[2]=new ne({left:this.box.left+ve,top:this.box.top+le,width:ve,height:le}),this.nodes[3]=new ne({left:this.box.left,top:this.box.top+le,width:ve,height:le})}getBoxPosition(ve){const pe=ve.plotYthis.step())):(this.simulation=!1,this.series.forEach(_=>{j(_,"afterSimulation")}))}}stop(){this.simulation&&J.cancelAnimationFrame(this.simulation)}setArea(A,I,_,m){this.box={left:A,top:I,width:_,height:m}}setK(){this.k=this.options.linkLength||this.integration.getK(this)}addElementsToCollection(A,I){for(const _ of A)-1===I.indexOf(_)&&I.push(_)}removeElementFromCollection(A,I){const _=I.indexOf(A);-1!==_&&I.splice(_,1)}clear(){this.nodes.length=0,this.links.length=0,this.series.length=0,this.resetSimulation()}resetSimulation(){this.forcedStop=!1,this.systemTemperature=0,this.setMaxIterations(),this.setTemperature(),this.setDiffTemperature()}restartSimulation(){this.simulation?this.resetSimulation():(this.setInitialRendering(!1),this.enableSimulation?this.start():this.setMaxIterations(1),this.chart&&this.chart.redraw(),this.setInitialRendering(!0))}setMaxIterations(A){this.maxIterations=F(A,this.options.maxIterations)}setTemperature(){this.temperature=this.startTemperature=Math.sqrt(this.nodes.length)}setDiffTemperature(){this.diffTemperature=this.startTemperature/(this.options.maxIterations+1)}setInitialRendering(A){this.initialRendering=A}createQuadTree(){this.quadTree=new le(this.box.left,this.box.top,this.box.width,this.box.height),this.quadTree.insertNodes(this.nodes)}initPositions(){const A=this.options.initialPositions;if(E(A)){A.call(this);for(const I of this.nodes)X(I.prevX)||(I.prevX=I.plotX),X(I.prevY)||(I.prevY=I.plotY),I.dispX=0,I.dispY=0}else"circle"===A?this.setCircularPositions():this.setRandomPositions()}setCircularPositions(){const A=this.box,I=this.nodes,m=2*Math.PI/(I.length+1),w=I.filter(function(v){return 0===v.linksTo.length}),G={},O=this.options.initialPositionRadius,f=v=>{for(const o of v.linksFrom||[])G[o.toNode.id]||(G[o.toNode.id]=!0,a.push(o.toNode),f(o.toNode))};let g,a=[];for(const v of w)a.push(v),f(v);if(a.length)for(const v of I)-1===a.indexOf(v)&&a.push(v);else a=I;for(let v=0,o=a.length;v{let O=G*G/Math.PI;return O-=Math.floor(O),O};let w;for(let G=0,O=I.length;Gthis.barnesHutApproximation(A,I));else{let A,I,_;for(const m of this.nodes)for(const w of this.nodes)m!==w&&!m.fixedPosition&&(_=this.getDistXY(m,w),I=this.vectorLength(_),0!==I&&(A=this.repulsiveForce(I,this.k),this.force("repulsive",m,A*w.mass,_,I)))}}attractiveForces(){let A,I,_;for(const m of this.links)m.fromNode&&m.toNode&&(A=this.getDistXY(m.fromNode,m.toNode),I=this.vectorLength(A),0!==I&&(_=this.attractiveForce(I,this.k),this.force("attractive",m,_,A,I)))}applyLimits(){const A=this.nodes;for(const I of A){if(I.fixedPosition)return;this.integration.integrate(this,I),this.applyLimitBox(I,this.box),I.dispX=0,I.dispY=0}}applyLimitBox(A,I){const _=A.radius;A.plotX=te(A.plotX,I.left+_,I.width-_),A.plotY=te(A.plotY,I.top+_,I.height-_)}coolDown(A,I,_){return A-I*_}isStable(){return Math.abs(this.systemTemperature-this.prevSystemTemperature)<1e-5||this.temperature<=0}getSystemTemperature(){let A=0;for(const I of this.nodes)A+=I.temperature;return A}vectorLength(A){return Math.sqrt(A.x*A.x+A.y*A.y)}getDistR(A,I){const _=this.getDistXY(A,I);return this.vectorLength(_)}getDistXY(A,I){const _=A.plotX-I.plotX,m=A.plotY-I.plotY;return{x:_,y:m,absX:Math.abs(_),absY:Math.abs(m)}}}return P}),q(Le,"Series/PackedBubble/PackedBubbleLayout.js",[Le["Series/GraphLayoutComposition.js"],Le["Series/PackedBubble/PackedBubbleIntegration.js"],Le["Series/Networkgraph/ReingoldFruchtermanLayout.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le){const{addEvent:pe,pick:ue}=le;function J(){const j=[];return this.series.forEach(F=>{F.parentNode&&F.parentNode.selected&&j.push(F.parentNode)}),j}function te(){this.allDataPoints&&delete this.allDataPoints}class X extends ve{constructor(){super(...arguments),this.index=NaN,this.nodes=[],this.series=[]}static compose(j){ve.compose(j),ne.integrations.packedbubble=re,ne.layouts.packedbubble=X;const F=j.prototype;F.getSelectedParentNodes||(pe(j,"beforeRedraw",te),F.getSelectedParentNodes=J)}beforeStep(){this.options.marker&&this.series.forEach(j=>{j&&j.calculateParentRadius()})}isStable(){const j=Math.abs(this.prevSystemTemperature-this.systemTemperature),F=10*this.systemTemperature/Math.sqrt(this.nodes.length);return Math.abs(F)<1&&j<1e-5||this.temperature<=0}setCircularPositions(){const j=this,F=j.box,P=j.nodes,A=2*Math.PI/(P.length+1),I=j.options.initialPositionRadius;let _,m,w=0;for(const G of P)j.options.splitSeries&&!G.isParentNode?(_=G.series.parentNode.plotX,m=G.series.parentNode.plotY):(_=F.width/2,m=F.height/2),G.plotX=G.prevX=ue(G.plotX,_+I*Math.cos(G.index||w*A)),G.plotY=G.prevY=ue(G.plotY,m+I*Math.sin(G.index||w*A)),G.dispX=0,G.dispY=0,w++}repulsiveForces(){const j=this,F=j.options.bubblePadding;let P,D,A;j.nodes.forEach(I=>{I.degree=I.mass,I.neighbours=0,j.nodes.forEach(_=>{P=0,I!==_&&!I.fixedPosition&&(j.options.seriesInteraction||I.series===_.series)&&(A=j.getDistXY(I,_),D=j.vectorLength(A)-(I.marker.radius+_.marker.radius+F),D<0&&(I.degree+=.01,I.neighbours++,P=j.repulsiveForce(-D/Math.sqrt(I.neighbours),j.k,I,_)),j.force("repulsive",I,P*_.mass,A,_,D))})})}applyLimitBox(j,F){const P=this;let A,I;P.options.splitSeries&&!j.isParentNode&&P.options.parentNodeLimit&&(A=P.getDistXY(j,j.series.parentNode),I=j.series.parentNodeRadius-j.marker.radius-P.vectorLength(A),I<0&&I>-2*j.marker.radius&&(j.plotX-=.01*A.x,j.plotY-=.01*A.y)),super.applyLimitBox(j,F)}}return ne.layouts.packedbubble=X,X}),q(Le,"Series/SimulationSeriesUtilities.js",[Le["Core/Utilities.js"],Le["Core/Animation/AnimationUtilities.js"]],function(ne,re){const{merge:ve,syncTimeout:le}=ne,{animObject:pe}=re;return{initDataLabels:function J(){const X=this,E=X.options.dataLabels;if(!X.dataLabelsGroup){const j=this.initDataLabelsGroup();return!X.chart.styledMode&&E?.style&&j.css(E.style),j.attr({opacity:0}),X.visible&&j.show(),j}return X.dataLabelsGroup.attr(ve({opacity:1},this.getPlotBox("data-labels"))),X.dataLabelsGroup},initDataLabelsDefer:function ue(){const X=this.options.dataLabels;X?.defer&&this.options.layoutAlgorithm?.enableSimulation?le(()=>{this.deferDataLabels=!1},X?pe(X.animation).defer:0):this.deferDataLabels=!1}}}),q(Le,"Series/PackedBubble/PackedBubbleSeries.js",[Le["Core/Color/Color.js"],Le["Series/DragNodesComposition.js"],Le["Series/GraphLayoutComposition.js"],Le["Core/Globals.js"],Le["Series/PackedBubble/PackedBubblePoint.js"],Le["Series/PackedBubble/PackedBubbleSeriesDefaults.js"],Le["Series/PackedBubble/PackedBubbleLayout.js"],Le["Core/Series/SeriesRegistry.js"],Le["Series/SimulationSeriesUtilities.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le,pe,ue,J,te,X,E){const{parse:j}=ne,{noop:F}=le,{series:{prototype:P},seriesTypes:{bubble:D}}=te,{initDataLabels:A,initDataLabelsDefer:I}=X,{addEvent:_,clamp:m,defined:w,extend:G,fireEvent:O,isArray:f,isNumber:a,merge:g,pick:v}=E;class o extends D{constructor(){super(...arguments),this.parentNodeMass=0,this.deferDataLabels=!0}static compose(r,l,d,C){D.compose(r,l,d,C),re.compose(l),J.compose(l)}accumulateAllPoints(){const r=this.chart,l=[];let d;for(const C of r.series)if(C.is("packedbubble")&&C.reserveSpace()){d=C.yData||[];for(let k=0;k{T.mass=2,T.degree=1,T.collisionNmb=1}),p.setArea(0,0,this.chart.plotWidth,this.chart.plotHeight),p.addElementsToCollection([this],p.series),p.addElementsToCollection(this.points,p.nodes)}addSeriesLayout(){const r=this.options.layoutAlgorithm=this.options.layoutAlgorithm||{},l=r.type||"packedbubble",d=this.chart.graphLayoutsStorage,C=this.chart.graphLayoutsLookup,k=g(r,r.parentNodeOptions,{enableSimulation:this.layout.options.enableSimulation});let p=d[l+"-series"];p||(d[l+"-series"]=p=new ve.layouts[l],p.init(k),C.splice(p.index,0,p)),this.parentNodeLayout=p,this.createParentNodes()}calculateParentRadius(){const r=this.seriesBox();this.parentNodeRadius=m(Math.sqrt(2*this.parentNodeMass/Math.PI)+20,20,r?Math.max(Math.sqrt(Math.pow(r.width,2)+Math.pow(r.height,2))/2+20,20):Math.sqrt(2*this.parentNodeMass/Math.PI)+20),this.parentNode&&(this.parentNode.marker.radius=this.parentNode.radius=this.parentNodeRadius)}calculateZExtremes(){let d=this.options.zMin,C=this.options.zMax,k=1/0,p=-1/0;return d&&C||(this.chart.series.forEach(T=>{T.yData.forEach(B=>{w(B)&&(B>p&&(p=B),B{this.parentNodeMass+=Math.PI*Math.pow(B.marker.radius,2)}),this.calculateParentRadius(),d.nodes.forEach(B=>{B.seriesIndex===this.index&&(k=!0)}),d.setArea(0,0,l.plotWidth,l.plotHeight),k||(p||(p=new r(this,{mass:this.parentNodeRadius/2,marker:T,dataLabels:{inside:!1},states:{normal:{marker:T},hover:{marker:T}},dataLabelOnNull:!0,degree:this.parentNodeRadius,isParentNode:!0,seriesIndex:this.index})),this.parentNode&&(p.plotX=this.parentNode.plotX,p.plotY=this.parentNode.plotY),this.parentNode=p,d.addElementsToCollection([this],d.series),d.addElementsToCollection([p],d.nodes))}deferLayout(){const r=this.options.layoutAlgorithm;this.visible&&(this.addLayout(),r.splitSeries&&this.addSeriesLayout())}destroy(){this.chart.graphLayoutsLookup&&this.chart.graphLayoutsLookup.forEach(r=>{r.removeElementFromCollection(this,r.series)},this),this.parentNode&&this.parentNodeLayout&&(this.parentNodeLayout.removeElementFromCollection(this.parentNode,this.parentNodeLayout.nodes),this.parentNode.dataLabel&&(this.parentNode.dataLabel=this.parentNode.dataLabel.destroy())),P.destroy.apply(this,arguments)}drawDataLabels(){this.deferDataLabels||(P.drawDataLabels.call(this,this.points),this.parentNode&&(this.parentNode.formatPrefix="parentNode",P.drawDataLabels.call(this,[this.parentNode])))}drawGraph(){if(!this.layout||!this.layout.options.splitSeries)return;const r=this.chart,l=this.layout.options.parentNodeOptions.marker,d={fill:l.fillColor||j(this.color).brighten(.4).get(),opacity:l.fillOpacity,stroke:l.lineColor||this.color,"stroke-width":v(l.lineWidth,this.options.lineWidth)};let C={};this.parentNodesGroup=this.plotGroup("parentNodesGroup","parentNode",this.visible?"inherit":"hidden",.1,r.seriesGroup),this.group?.attr({zIndex:2}),this.calculateParentRadius(),this.parentNode&&w(this.parentNode.plotX)&&w(this.parentNode.plotY)&&w(this.parentNodeRadius)&&(C=g({x:this.parentNode.plotX-this.parentNodeRadius,y:this.parentNode.plotY-this.parentNodeRadius,width:2*this.parentNodeRadius,height:2*this.parentNodeRadius},d),this.parentNode.graphic||(this.graph=this.parentNode.graphic=r.renderer.symbol(d.symbol).add(this.parentNodesGroup)),this.parentNode.graphic.attr(C))}drawTracker(){const r=this.parentNode;let l;super.drawTracker(),r&&(l=f(r.dataLabels)?r.dataLabels:r.dataLabel?[r.dataLabel]:[],r.graphic&&(r.graphic.element.point=r),l.forEach(d=>{(d.div||d.element).point=r}))}getPointRadius(){const r=this.chart,C=this.options,k=C.useSimulation,p=Math.min(r.plotWidth,r.plotHeight),T={},B=[],z=r.allDataPoints||[],K=z.length;let U,se,S,$;["minSize","maxSize"].forEach(x=>{const N=parseInt(C[x],10),R=/%$/.test(C[x]);T[x]=R?p*N/100:N*Math.sqrt(K)}),r.minRadius=U=T.minSize/Math.sqrt(K),r.maxRadius=se=T.maxSize/Math.sqrt(K);const H=k?this.calculateZExtremes():[U,se];z.forEach((x,N)=>{S=k?m(x[2],H[0],H[1]):x[2],$=this.getRadius(H[0],H[1],U,se,S),0===$&&($=null),z[N][2]=$,B.push($)}),this.radii=B}init(){return P.init.apply(this,arguments),I.call(this),this.eventsToUnbind.push(_(this,"updatedData",function(){this.chart.series.forEach(r=>{r.type===this.type&&(r.isDirty=!0)},this)})),this}onMouseUp(r){const l=r;if(l.fixedPosition&&!l.removed){const d=this.layout,C=this.parentNodeLayout;let k,p;C&&d.options.dragBetweenSeries&&C.nodes.forEach(T=>{l&&l.marker&&T!==l.series.parentNode&&(k=d.getDistXY(l,T),p=d.vectorLength(k)-T.marker.radius-l.marker.radius,p<0&&(T.series.addPoint(g(l.options,{plotX:l.plotX,plotY:l.plotY}),!1),d.removeElementFromCollection(l,d.nodes),l.remove()))}),re.onMouseUp.apply(this,arguments)}}placeBubbles(r){const l=this.checkOverlap,d=this.positionBubble,C=[];let B,K,k=1,p=0,T=0,z=[];const U=r.sort((se,S)=>S[2]-se[2]);if(U.length){if(C.push([[0,0,U[0][2],U[0][3],U[0][4]]]),U.length>1)for(C.push([[0,0-U[1][2]-U[0][2],U[1][2],U[1][3],U[1][4]]]),K=2;K1&&C[k-1][T+1]&&l(B,C[k-1][T+1])?(T++,C[k].push(d(C[k][p],C[k-1][T],U[K])),p++):(p++,C[k].push(B));this.chart.stages=C,this.chart.rawPositions=[].concat.apply([],C),this.resizeRadius(),z=this.chart.rawPositions}return z}pointAttribs(r,l){const d=this.options;let k=d.marker;r&&r.isParentNode&&d.layoutAlgorithm&&d.layoutAlgorithm.parentNodeOptions&&(k=d.layoutAlgorithm.parentNodeOptions.marker);const p=k.fillOpacity,T=P.pointAttribs.call(this,r,l);return 1!==p&&(T["fill-opacity"]=p),T}positionBubble(r,l,d){const C=Math.sqrt,k=Math.asin,p=Math.acos,T=Math.pow,B=Math.abs,z=C(T(r[0]-l[0],2)+T(r[1]-l[1],2)),K=p((T(z,2)+T(d[2]+l[2],2)-T(d[2]+r[2],2))/(2*(d[2]+l[2])*z)),U=k(B(r[0]-l[0])/z),$=(r[1]-l[1]<0?0:Math.PI)+K+U*((r[0]-l[0])*(r[1]-l[1])<0?1:-1),H=Math.cos($),x=Math.sin($);return[l[0]+(l[2]+d[2])*x,l[1]-(l[2]+d[2])*H,d[2],d[3],d[4]]}render(){const r=[];P.render.apply(this,arguments),this.options.dataLabels.allowOverlap||(this.data.forEach(l=>{f(l.dataLabels)&&l.dataLabels.forEach(d=>{r.push(d)})}),this.options.useSimulation&&this.chart.hideOverlappingLabels(r))}resizeRadius(){const r=this.chart,l=r.rawPositions,d=Math.min,C=Math.max,k=r.plotLeft,p=r.plotTop,T=r.plotHeight,B=r.plotWidth;let z,K,U,se,S;z=U=Number.POSITIVE_INFINITY,K=se=Number.NEGATIVE_INFINITY;for(const N of l)S=N[2],z=d(z,N[0]-S),K=C(K,N[0]+S),U=d(U,N[1]-S),se=C(se,N[1]+S);const $=[K-z,se-U],x=d.apply([],[(B-k)/$[0],(T-p)/$[1]]);if(Math.abs(x-1)>1e-10){for(const N of l)N[2]*=x;this.placeBubbles(l)}else r.diffY=T/2+p-U-(se-U)/2,r.diffX=B/2+k-z-(K-z)/2}seriesBox(){const r=this.chart,d=Math.max,C=Math.min,k=[r.plotLeft,r.plotLeft+r.plotWidth,r.plotTop,r.plotTop+r.plotHeight];let p;return this.data.forEach(T=>{w(T.plotX)&&w(T.plotY)&&T.marker.radius&&(p=T.marker.radius,k[0]=C(k[0],T.plotX-p),k[1]=d(k[1],T.plotX+p),k[2]=C(k[2],T.plotY-p),k[3]=d(k[3],T.plotY+p))}),a(k.width/k.height)?k:null}setVisible(){const r=this;P.setVisible.apply(r,arguments),r.parentNodeLayout&&r.graph?r.visible?(r.graph.show(),r.parentNode.dataLabel&&r.parentNode.dataLabel.show()):(r.graph.hide(),r.parentNodeLayout.removeElementFromCollection(r.parentNode,r.parentNodeLayout.nodes),r.parentNode.dataLabel&&r.parentNode.dataLabel.hide()):r.layout&&(r.visible?r.layout.addElementsToCollection(r.points,r.layout.nodes):r.points.forEach(l=>{r.layout.removeElementFromCollection(l,r.layout.nodes)}))}translate(){const r=this.chart,l=this.data,d=this.index,C=this.options.useSimulation;let k,p,T;this.processedXData=this.xData,this.generatePoints(),w(r.allDataPoints)||(r.allDataPoints=this.accumulateAllPoints(),this.getPointRadius()),C?T=r.allDataPoints:(T=this.placeBubbles(r.allDataPoints),this.options.draggable=!1);for(const B of T)B[3]===d&&(k=l[B[4]],p=v(B[2],void 0),C||(k.plotX=B[0]-r.plotLeft+r.diffX,k.plotY=B[1]-r.plotTop+r.diffY),a(p)&&(k.marker=G(k.marker,{radius:p,width:2*p,height:2*p}),k.radius=p));C&&this.deferLayout(),O(this,"afterTranslate")}}return o.defaultOptions=g(D.defaultOptions,ue),G(o.prototype,{pointClass:pe,axisTypes:[],directTouch:!0,forces:["barycenter","repulsive"],hasDraggableNodes:!0,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointArrayMap:["value"],pointValKey:"value",requireSorting:!1,trackerGroups:["group","dataLabelsGroup","parentNodesGroup"],initDataLabels:A,alignDataLabel:P.alignDataLabel,indexateNodes:F,onMouseDown:re.onMouseDown,onMouseMove:re.onMouseMove,redrawHalo:re.redrawHalo,searchPoint:F}),te.registerSeriesType("packedbubble",o),o}),q(Le,"Series/Polygon/PolygonSeriesDefaults.js",[],function(){return{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0,legendSymbol:"rectangle"}}),q(Le,"Series/Polygon/PolygonSeries.js",[Le["Core/Globals.js"],Le["Series/Polygon/PolygonSeriesDefaults.js"],Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le){const{noop:pe}=ne,{area:ue,line:J,scatter:te}=ve.seriesTypes,{extend:X,merge:E}=le;class j extends te{getGraphPath(){const P=J.prototype.getGraphPath.call(this);let D=P.length+1;for(;D--;)(D===P.length||"M"===P[D][0])&&D>0&&P.splice(D,0,["Z"]);return this.areaPath=P,P}drawGraph(){this.options.fillColor=this.color,ue.prototype.drawGraph.call(this)}}return j.defaultOptions=E(te.defaultOptions,re),X(j.prototype,{type:"polygon",drawTracker:J.prototype.drawTracker,setStackedPoints:pe}),ve.registerSeriesType("polygon",j),j}),q(Le,"Core/Axis/RadialAxis.js",[Le["Core/Defaults.js"],Le["Core/Globals.js"],Le["Core/Utilities.js"]],function(ne,re,ve){const{defaultOptions:le}=ne,{composed:pe,noop:ue}=re,{addEvent:J,correctFloat:te,defined:X,extend:E,fireEvent:j,isObject:F,merge:P,pick:D,pushUnique:A,relativeLength:I,wrap:_}=ve;var m;return function(w){const G={gridLineWidth:1,labels:{align:void 0,x:0,y:void 0,style:{textOverflow:"none"}},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},O={endOnTick:!1,gridLineWidth:0,labels:{align:"center",distance:-25,x:0,y:void 0},lineWidth:1,minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickPosition:"inside",tickWidth:2,title:{rotation:0,text:""},zIndex:2},f={gridLineInterpolation:"circle",gridLineWidth:1,labels:{align:"right",x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}};function a(){this.autoConnect=this.isCircular&&typeof D(this.userMax,this.options.max)>"u"&&te(this.endAngleRad-this.startAngleRad)===te(2*Math.PI),!this.isCircular&&this.chart.inverted&&this.max++,this.autoConnect&&(this.max+=(this.categories?1:this.pointRange)||this.closestPointRange||0)}function v(){return()=>{if(this.isRadial&&this.tickPositions&&this.options.labels&&!0!==this.options.labels.allowOverlap)return this.tickPositions.map(ge=>this.ticks[ge]&&this.ticks[ge].label).filter(ge=>!!ge)}}function o(){return ue}function n(ge,_e,Te){const Oe=this.pane.center;let Be,oe,ee,be,De=ge.value;return this.isCircular?(X(De)?ge.point&&(Be=ge.point.shapeArgs||{},Be.start&&(De=this.chart.inverted?this.translate(ge.point.rectPlotY,!0):ge.point.x)):(ee=ge.chartX||0,be=ge.chartY||0,De=this.translate(Math.atan2(be-Te,ee-_e)-this.startAngleRad,!0)),oe=this.getPosition(De),ee=oe.x,be=oe.y):(X(De)||(ee=ge.chartX,be=ge.chartY),X(ee)&&X(be)&&(Te=Oe[1]+this.chart.plotTop,De=this.translate(Math.min(Math.sqrt(Math.pow(ee-_e,2)+Math.pow(be-Te,2)),Oe[2]/2)-Oe[3]/2,!0))),[De,ee||0,be||0]}function r(ge,_e,Te){const Oe=this.pane.center,De=this.chart,Be=this.left||0,oe=this.top||0;let ee,xe,be=D(_e,Oe[2]/2-this.offset);return typeof Te>"u"&&(Te=this.horiz?0:this.center&&-this.center[3]/2),Te&&(be+=Te),this.isCircular||typeof _e<"u"?(xe=this.chart.renderer.symbols.arc(Be+Oe[0],oe+Oe[1],be,be,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0}),xe.xBounds=[Be+Oe[0]],xe.yBounds=[oe+Oe[1]-be]):(ee=this.postTranslate(this.angleRad,be),xe=[["M",this.center[0]+De.plotLeft,this.center[1]+De.plotTop],["L",ee.x,ee.y]]),xe}function l(){this.constructor.prototype.getOffset.call(this),this.chart.axisOffset[this.side]=0}function d(ge,_e,Te){const Oe=this.chart,De=Pt=>{if("string"==typeof Pt){let Gt=parseInt(Pt,10);return we.test(Pt)&&(Gt=Gt*ee/100),Gt}return Pt},Be=this.center,oe=this.startAngleRad,ee=Be[2]/2,be=Math.min(this.offset,0),xe=this.left||0,Ie=this.top||0,we=/%$/,Ee=this.isCircular;let Me,Xe,Je,lt,qe,st,Tt=D(De(Te.outerRadius),ee),pt=De(Te.innerRadius),ht=D(De(Te.thickness),10);if("polygon"===this.options.gridLineInterpolation)st=this.getPlotLinePath({value:ge}).concat(this.getPlotLinePath({value:_e,reverse:!0}));else{ge=Math.max(ge,this.min),_e=Math.min(_e,this.max);const Pt=this.translate(ge),Gt=this.translate(_e);Ee||(Tt=Pt||0,pt=Gt||0),"circle"!==Te.shape&&Ee?(Me=oe+(Pt||0),Xe=oe+(Gt||0)):(Me=-Math.PI/2,Xe=1.5*Math.PI,qe=!0),Tt-=be,ht-=be,st=Oe.renderer.symbols.arc(xe+Be[0],Ie+Be[1],Tt,Tt,{start:Math.min(Me,Xe),end:Math.max(Me,Xe),innerR:D(pt,Tt-ht),open:qe}),Ee&&(Je=(Xe+Me)/2,lt=xe+Be[0]+Be[2]/2*Math.cos(Je),st.xBounds=Je>-Math.PI/2&&Je-Math.PI&&Je<0||Je>Math.PI?-10:10)}return st}function C(ge){const _e=this.pane.center,Te=this.chart,Oe=Te.inverted,De=ge.reverse,Be=this.pane.options.background?this.pane.options.background[0]||this.pane.options.background:{},oe=Be.innerRadius||"0%",ee=Be.outerRadius||"100%",be=_e[0]+Te.plotLeft,xe=_e[1]+Te.plotTop,Ie=this.height,we=ge.isCrosshair,Ee=_e[3]/2;let Xe,Je,lt,qe,st,Tt,pt,ht,Pt,Me=ge.value;const Gt=this.getPosition(Me);let ti=Gt.x,Dt=Gt.y;if(we&&(ht=this.getCrosshairPosition(ge,be,xe),Me=ht[0],ti=ht[1],Dt=ht[2]),this.isCircular)Je=Math.sqrt(Math.pow(ti-be,2)+Math.pow(Dt-xe,2)),lt="string"==typeof oe?I(oe,1):oe/Je,qe="string"==typeof ee?I(ee,1):ee/Je,_e&&Ee&&(Xe=Ee/Je,ltIe)&&(Me=0),"circle"===this.options.gridLineInterpolation)Pt=this.getLinePath(0,Me,Ee);else if(Pt=[],Te[Oe?"yAxis":"xAxis"].forEach(It=>{It.pane===this.pane&&(st=It)}),st){pt=st.tickPositions,st.autoConnect&&(pt=pt.concat([pt[0]])),De&&(pt=pt.slice().reverse()),Me&&(Me+=Ee);for(let It=0;ItMath.PI&&(be-=Be),xe>Math.PI&&(xe-=Be),this.normalizedStartAngleRad=be,this.normalizedEndAngleRad=xe}}function K(ge){this.isRadial&&(ge.align=void 0,ge.preventDefault())}function U(){if(this.chart&&this.chart.labelCollectors){const ge=this.labelCollector?this.chart.labelCollectors.indexOf(this.labelCollector):-1;ge>=0&&this.chart.labelCollectors.splice(ge,1)}}function se(ge){const _e=this.chart,Te=_e.angular,Oe=_e.polar,De=this.isXAxis,Be=this.coll,oe=Te&&De,be=this.pane=_e.pane&&_e.pane[ge.userOptions.pane||0];let xe;"colorAxis"!==Be?(Te?(oe?function B(ge){ge.isHidden=!0,ge.createLabelCollector=o,ge.getOffset=ue,ge.redraw=N,ge.render=N,ge.setScale=ue,ge.setCategories=ue,ge.setTitle=ue}(this):T(this),xe=!De):Oe&&(T(this),xe=this.horiz),Te||Oe?(this.isRadial=!0,this.labelCollector||(this.labelCollector=this.createLabelCollector()),this.labelCollector&&_e.labelCollectors.push(this.labelCollector)):this.isRadial=!1,be&&xe&&(be.axis=this),this.isCircular=xe):this.isRadial=!1}function S(){this.isRadial&&this.beforeSetTickPositions()}function $(ge){const _e=this.label;if(!_e)return;const Te=this.axis,Oe=_e.getBBox(),De=Te.options.labels,Be=(Te.translate(this.pos)+Te.startAngleRad+Math.PI/2)/Math.PI*180%360,oe=Math.round(Be),ee=X(De.y)?0:.3*-Oe.height;let xe,be=De.y,Ie=20,we=De.align,Ee="end",Me=oe<0?oe+360:oe,Xe=Me,Je=0,lt=0;Te.isRadial&&(xe=Te.getPosition(this.pos,Te.center[2]/2+I(D(De.distance,-25),Te.center[2]/2,-Te.center[2]/2)),"auto"===De.rotation?_e.attr({rotation:Be}):X(be)||(be=Te.chart.renderer.fontMetrics(_e).b-Oe.height/2),X(we)||(Te.isCircular?(Oe.width>Te.len*Te.tickInterval/(Te.max-Te.min)&&(Ie=0),we=Be>Ie&&Be<180-Ie?"left":Be>180+Ie&&Be<360-Ie?"right":"center"):we="center",_e.attr({align:we})),"auto"===we&&2===Te.tickPositions.length&&Te.isCircular&&(Me>90&&Me<180?Me=180-Me:Me>270&&Me<=360&&(Me=540-Me),Xe>180&&Xe<=360&&(Xe=360-Xe),(Te.pane.options.startAngle===oe||Te.pane.options.startAngle===oe+360||Te.pane.options.startAngle===oe-360)&&(Ee="start"),we=oe>=-90&&oe<=90||oe>=-360&&oe<=-270||oe>=270&&oe<=360?"start"===Ee?"right":"left":"start"===Ee?"left":"right",Xe>70&&Xe<110&&(we="center"),Me<15||Me>=180&&Me<195?Je=.3*Oe.height:Me>=15&&Me<=35?Je="start"===Ee?0:.75*Oe.height:Me>=195&&Me<=215?Je="start"===Ee?.75*Oe.height:0:Me>35&&Me<=90?Je="start"===Ee?.25*-Oe.height:Oe.height:Me>215&&Me<=270&&(Je="start"===Ee?Oe.height:.25*-Oe.height),Xe<15?lt="start"===Ee?.15*-Oe.height:.15*Oe.height:Xe>165&&Xe<=180&&(lt="start"===Ee?.15*Oe.height:.15*-Oe.height),_e.attr({align:we}),_e.translate(lt,Je+ee)),ge.pos.x=xe.x+(De.x||0),ge.pos.y=xe.y+(be||0))}function H(ge){this.axis.getPosition&&E(ge.pos,this.axis.getPosition(this.pos))}function x(ge,_e){const Te=this.chart,Oe=this.center;return ge=this.startAngleRad+ge,{x:Te.plotLeft+Oe[0]+Math.cos(ge)*_e,y:Te.plotTop+Oe[1]+Math.sin(ge)*_e}}function N(){this.isDirty=!1}function R(){let _e,Te;this.constructor.prototype.setAxisSize.call(this),this.isRadial&&(this.pane.updateCenter(this),_e=this.center=this.pane.center.slice(),this.isCircular?this.sector=this.endAngleRad-this.startAngleRad:(Te=this.postTranslate(this.angleRad,_e[3]/2),_e[0]=Te.x-this.chart.plotLeft,_e[1]=Te.y-this.chart.plotTop),this.len=this.width=this.height=(_e[2]-_e[3])*D(this.sector,1)/2)}function Z(){this.constructor.prototype.setAxisTranslation.call(this),this.center&&(this.transA=this.isCircular?(this.endAngleRad-this.startAngleRad)/(this.max-this.min||1):(this.center[2]-this.center[3])/2/(this.max-this.min||1),this.minPixelPadding=this.isXAxis?this.transA*this.minPointOffset:0)}function Y(ge){const{coll:_e}=this,{angular:Te,inverted:Oe,polar:De}=this.chart;let Be={};Te?this.isXAxis||(Be=P(le.yAxis,O)):De&&(Be=this.horiz?P(le.xAxis,G):P("xAxis"===_e?le.xAxis:le.yAxis,f)),Oe&&"yAxis"===_e&&(Be.stackLabels=F(le.yAxis,!0)?le.yAxis.stackLabels:{},Be.reversedStacks=!0);const oe=this.options=P(Be,ge);oe.plotBands||(oe.plotBands=[]),j(this,"afterSetOptions")}function he(ge,_e,Te,Oe,De,Be,oe){const ee=this.axis;let be,xe;return ee.isRadial?(be=ee.getPosition(this.pos,ee.center[2]/2+Oe),xe=["M",_e,Te,"L",be.x,be.y]):xe=ge.call(this,_e,Te,Oe,De,Be,oe),xe}w.compose=function g(ge,_e){return A(pe,"Axis.Radial")&&(J(ge,"afterInit",z),J(ge,"autoLabelAlign",K),J(ge,"destroy",U),J(ge,"init",se),J(ge,"initialAxisTranslation",S),J(_e,"afterGetLabelPosition",$),J(_e,"afterGetPosition",H),_(_e.prototype,"getMarkPath",he)),ge}}(m||(m={})),m}),q(Le,"Series/PolarComposition.js",[Le["Core/Animation/AnimationUtilities.js"],Le["Core/Globals.js"],Le["Core/Series/Series.js"],Le["Extensions/Pane/Pane.js"],Le["Core/Axis/RadialAxis.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le,pe,ue){const{animObject:J}=ne,{composed:te}=re,{addEvent:X,defined:E,find:j,isNumber:F,merge:P,pick:D,pushUnique:A,relativeLength:I,splat:_,uniqueKey:m,wrap:w}=ue;function f(H,x,N,R){const he=R?1:0;let ge,_e,Te,Oe,De,Be;ge=x>=0&&x<=H.length-1?x:x<0?H.length-1+x:0;const oe=ge-1<0?H.length-(1+he):ge-1,be=H[oe],xe=H[ge+1>H.length-1?he:ge+1],Xe=H[ge].plotX,Je=H[ge].plotY;_e=(1.5*Xe+be.plotX)/2.5,Te=(1.5*Je+be.plotY)/2.5,Oe=(1.5*Xe+xe.plotX)/2.5,De=(1.5*Je+xe.plotY)/2.5;const lt=Math.sqrt(Math.pow(_e-Xe,2)+Math.pow(Te-Je,2)),qe=Math.sqrt(Math.pow(Oe-Xe,2)+Math.pow(De-Je,2)),st=Math.atan2(Te-Je,_e-Xe),Tt=Math.atan2(De-Je,Oe-Xe);Be=Math.PI/2+(st+Tt)/2,Math.abs(st-Be)>Math.PI/2&&(Be-=Math.PI),_e=Xe+Math.cos(Be)*lt,Te=Je+Math.sin(Be)*lt,Oe=Xe+Math.cos(Math.PI+Be)*qe,De=Je+Math.sin(Math.PI+Be)*qe;const pt={rightContX:Oe,rightContY:De,leftContX:_e,leftContY:Te,plotX:Xe,plotY:Je};return N&&(pt.prevPointCont=f(H,oe,!1,R)),pt}function a(){(this.pane||[]).forEach(H=>{H.render()})}function g(H){const x=H.args[0].xAxis,N=H.args[0].yAxis,R=H.args[0].chart;x&&N&&("polygon"===N.gridLineInterpolation?(x.startOnTick=!0,x.endOnTick=!0):"polygon"===x.gridLineInterpolation&&R.inverted&&(N.startOnTick=!0,N.endOnTick=!0))}function v(){this.pane||(this.pane=[]),this.options.pane=_(this.options.pane),this.options.pane.forEach(H=>{new le(H,this)},this)}function o(H){const x=H.args.marker,N=this.chart.xAxis[0],R=this.chart.yAxis[0],Z=this.chart.inverted,Y=Z?R:N,he=Z?N:R;if(this.chart.polar){H.preventDefault();const ge=(x.attr?x.attr("start"):x.start)-Y.startAngleRad,_e=x.attr?x.attr("r"):x.r,Te=(x.attr?x.attr("end"):x.end)-Y.startAngleRad,Oe=x.attr?x.attr("innerR"):x.innerR;H.result.x=ge+Y.pos,H.result.width=Te-ge,H.result.y=he.len+he.pos-_e,H.result.height=_e-Oe}}function n(H){const x=this.chart;if(x.polar&&x.hoverPane&&x.hoverPane.axis){H.preventDefault();const N=x.hoverPane.center,R=x.mouseDownX||0,Z=x.mouseDownY||0,Y=H.args.chartY,he=H.args.chartX,ge=2*Math.PI,_e=x.hoverPane.axis.startAngleRad,Te=x.hoverPane.axis.endAngleRad,Oe=x.inverted?x.xAxis[0]:x.yAxis[0],De={};let Be="arc";if(De.x=N[0]+x.plotLeft,De.y=N[1]+x.plotTop,this.zoomHor){const oe=_e>0?Te-_e:Math.abs(_e)+Math.abs(Te);let ee=Math.atan2(Z-x.plotTop-N[1],R-x.plotLeft-N[0])-_e,be=Math.atan2(Y-x.plotTop-N[1],he-x.plotLeft-N[0])-_e;De.r=N[2]/2,De.innerR=N[3]/2,ee<=0&&(ee+=ge),be<=0&&(be+=ge),beTe+(ge-oe)/2&&(be=ee,ee=_e<=0?_e:0);const xe=De.start=Math.max(ee+_e,_e),Ie=De.end=Math.min(be+_e,Te);if("polygon"===Oe.options.gridLineInterpolation){const we=x.hoverPane.axis,Ee=xe-we.startAngleRad+we.pos,Me=Ie-xe;let Xe=Oe.getPlotLinePath({value:Oe.max}),Je=we.toValue(Ee),lt=we.toValue(Ee+Me);if(JeN[2]/2&&(be=N[2]/2),eex.max?(Z[Y].isNull=!0,Z[Y].plotY=NaN):Z[Y].isNull=Z[Y].isValid&&!Z[Y].isValid());this.hasClipCircleSetter||(this.hasClipCircleSetter=!!H.eventsToUnbind.push(X(H,"afterRender",function(){let he;R.polar&&!1!==this.options.clip&&(he=this.yAxis.pane.center,this.clipCircle?this.clipCircle.animate({x:he[0],y:he[1],r:he[2]/2,innerR:he[3]/2}):this.clipCircle=function G(H,x,N,R,Z){const Y=m(),he=H.createElement("clipPath").attr({id:Y}).add(H.defs),ge=Z?H.arc(x,N,R,Z,0,2*Math.PI).add(he):H.circle(x,N,R).add(he);return ge.id=Y,ge.clipPath=he,ge}(R.renderer,he[0],he[1],he[2]/2,he[3]/2),this.group.clip(this.clipCircle),this.setClip=re.noop)})))}}function d(H){const x=this,N=x.chart,R=x.xAxis,Y=R.pane&&R.pane.center,_e=N.inverted?{clientX:H.chartX-x.yAxis.pos,plotY:H.chartY-R.pos}:{clientX:180+Math.atan2(H.chartX-(Y&&Y[0]||0)-N.plotLeft,H.chartY-(Y&&Y[1]||0)-N.plotTop)*(-180/Math.PI)};return x.searchKDTree(_e)}function C(H,x,N,R){const Z=R.tickInterval,Y=R.tickPositions;let he=j(Y,_e=>_e>=N),ge=j([...Y].reverse(),_e=>_e<=x);return E(he)||(he=Y[Y.length-1]),E(ge)||(ge=Y[0],he+=Z,H[0][0]="L",H.unshift(H[H.length-3])),(H=H.slice(Y.indexOf(ge),Y.indexOf(he)+1))[0][0]="M",H}function k(H,x){return j(this.pane||[],N=>N.options.id===x)||H.call(this,x)}function p(H,x,N,R,Z,Y){const he=this.chart,ge=D(R.inside,!!this.options.stacking);let _e,Te,Oe;he.polar?(_e=x.rectPlotX/Math.PI*180,he.inverted?(this.forceDL=he.isInsidePlot(x.plotX,x.plotY),ge&&x.shapeArgs?(Te=x.shapeArgs,Oe=this.yAxis.postTranslate(((Te.start||0)+(Te.end||0))/2-this.xAxis.startAngleRad,x.barX+x.pointWidth/2),Z=P(Z,{x:Oe.x-he.plotLeft,y:Oe.y-he.plotTop})):x.tooltipPos&&(Z=P(Z,{x:x.tooltipPos[0],y:x.tooltipPos[1]})),R.align=D(R.align,"center"),R.verticalAlign=D(R.verticalAlign,"middle")):R=function O(H,x){let N,R;return null===x.align&&(N=H>20&&H<160?"left":H>200&&H<340?"right":"center",x.align=N),null===x.verticalAlign&&(R=H<45||H>315?"bottom":H>135&&H<225?"top":"middle",x.verticalAlign=R),x}(_e,R),ve.prototype.alignDataLabel.call(this,x,N,R,Z,Y),this.isRadialBar&&x.shapeArgs&&x.shapeArgs.start===x.shapeArgs.end?N.hide():N.show()):H.call(this,x,N,R,Z,Y)}function T(){const H=this,x=H.options,N=x.stacking,R=H.chart,Z=H.xAxis,Y=H.yAxis,he=Y.reversed,ge=Y.center,_e=Z.startAngleRad,Oe=Z.endAngleRad-_e;let oe,ee,be,xe,Ie,Me,Xe,Je,lt,qe,st,Tt,pt,De=x.threshold,Be=0,we=0,Ee=0;if(Z.isRadial)for(oe=H.points,be=oe.length,xe=Y.translate(Y.min),Ie=Y.translate(Y.max),De=x.threshold||0,R.inverted&&F(De)&&(Be=Y.translate(De),E(Be)&&(Be<0?Be=0:Be>Oe&&(Be=Oe),H.translatedThreshold=Be+_e));be--;){if(ee=oe[be],st=ee.barX,Xe=ee.x,Je=ee.y,ee.shapeType="arc",R.inverted){ee.plotY=Y.translate(Je),N&&Y.stacking?(qe=Y.stacking.stacks[(Je<0?"-":"")+H.stackKey],H.visible&&qe&&qe[Xe]&&(ee.isNull||(lt=qe[Xe].points[H.getStackIndicator(void 0,Xe,H.index).key],we=Y.translate(lt[0]),Ee=Y.translate(lt[1]),E(we)&&(we=ue.clamp(we,0,Oe))))):(we=Be,Ee=ee.plotY),we>Ee&&(Ee=[we,we=Ee][0]),he?Ee>xe?Ee=xe:wexe||EeIe?Ee=Ie:(EeIe)&&(we=Ee=0),Y.min>Y.max&&(we=Ee=he?Oe:0),we+=_e,Ee+=_e,ge&&(ee.barX=st+=ge[3]/2),Tt=Math.max(st,0),pt=Math.max(st+ee.pointWidth,0);const ht=x.borderRadius,Gt=I(("object"==typeof ht?ht.radius:ht)||0,pt-Tt);ee.shapeArgs={x:ge[0],y:ge[1],r:pt,innerR:Tt,start:we,end:Ee,borderRadius:Gt},ee.opacity=we===Ee?0:void 0,ee.plotY=(E(H.translatedThreshold)&&(wege[1])}}function B(H,x){const N=this;let R,Z;if(this.chart.polar){x=x||this.points;for(let he=0;he{typeof he.polarPlotY>"u"&&N.polar.toXY(he)})}const Y=H.apply(this,[].slice.call(arguments,1));return Z&&x.pop(),Y}function z(H,x){const N=this.chart;let R={xAxis:[],yAxis:[]};return N.polar?N.axes.forEach(Z=>{if("colorAxis"===Z.coll)return;const Y=Z.isXAxis,he=Z.center,ge=x.chartX-he[0]-N.plotLeft,_e=x.chartY-he[1]-N.plotTop;R[Y?"xAxis":"yAxis"].push({axis:Z,value:Z.translate(Y?Math.PI-Math.atan2(ge,_e):Math.sqrt(Math.pow(ge,2)+Math.pow(_e,2)),!0)})}):R=H.call(this,x),R}function K(H,x){this.chart.polar||H.call(this,x)}function U(H,x){const N=this,R=this.chart,Z=this.group,Y=this.markerGroup,he=this.xAxis&&this.xAxis.center,ge=R.plotLeft,_e=R.plotTop;let Oe,De,Be,oe,ee,be,Te=this.options.animation;R.polar?N.isRadialBar?x||(N.startAngleRad=D(N.translatedThreshold,N.xAxis.startAngleRad),re.seriesTypes.pie.prototype.animate.call(N,x)):(Te=J(Te),N.is("column")?x||(De=he[3]/2,N.points.forEach(xe=>{Be=xe.graphic,oe=xe.shapeArgs,ee=oe&&oe.r,be=oe&&oe.innerR,Be&&oe&&(Be.attr({r:De,innerR:De}),Be.animate({r:ee,innerR:be},N.options.animation))})):x?(Oe={translateX:he[0]+ge,translateY:he[1]+_e,scaleX:.001,scaleY:.001},Z.attr(Oe),Y&&Y.attr(Oe)):(Oe={translateX:ge,translateY:_e,scaleX:1,scaleY:1},Z.animate(Oe,Te),Y&&Y.animate(Oe,Te))):H.call(this,x)}function se(H,x,N,R){let Z,Y;if(this.chart.polar)if(R){Y=f(x,R,!0,this.connectEnds);const he=Y.prevPointCont&&Y.prevPointCont.rightContX,ge=Y.prevPointCont&&Y.prevPointCont.rightContY;Z=["C",F(he)?he:Y.plotX,F(ge)?ge:Y.plotY,F(Y.leftContX)?Y.leftContX:Y.plotX,F(Y.leftContY)?Y.leftContY:Y.plotY,Y.plotX,Y.plotY]}else Z=["M",N.plotX,N.plotY];else Z=H.call(this,x,N,R);return Z}function S(H,x,N=this.plotY){if(!this.destroyed){const{plotX:R,series:Z}=this,{chart:Y}=Z;return Y.polar&&F(R)&&F(N)?[R+(x?Y.plotLeft:0),N+(x?Y.plotTop:0)]:H.call(this,x,N)}}class ${static compose(x,N,R,Z,Y,he,ge,_e,Te,Oe){if(le.compose(N,R),pe.compose(x,Y),A(te,"Polar")){const De=N.prototype,Be=he.prototype,oe=R.prototype,ee=Z.prototype;if(X(N,"afterDrawChartBox",a),X(N,"getAxes",v),X(N,"init",g),w(De,"get",k),w(oe,"getCoordinates",z),w(oe,"pinch",K),X(R,"getSelectionMarkerAttrs",n),X(R,"getSelectionBox",o),X(Z,"afterInit",r),X(Z,"afterTranslate",l,{order:2}),X(Z,"afterColumnTranslate",T,{order:4}),w(ee,"animate",U),w(Be,"pos",S),_e){const be=_e.prototype;w(be,"alignDataLabel",p),w(be,"animate",U)}if(Te&&w(Te.prototype,"getGraphPath",B),Oe){const be=Oe.prototype;w(be,"getPointSpline",se),ge&&(ge.prototype.getPointSpline=be.getPointSpline)}}}constructor(x){this.series=x}arc(x,N,R,Z){const Y=this.series,he=Y.xAxis.center,ge=Y.yAxis.len,_e=he[3]/2;let Te=ge-N+_e,Oe=ge-D(x,ge)+_e;return Y.yAxis.reversed&&(Te<0&&(Te=_e),Oe<0&&(Oe=_e)),{x:he[0],y:he[1],r:Te,innerR:Oe,start:R,end:Z}}toXY(x){const N=this.series,R=N.chart,Z=N.xAxis,Y=N.yAxis,he=x.plotX,ge=R.inverted,_e=x.y;let De,Te=x.plotY,Oe=ge?he:Y.len-Te;if(ge&&N&&!N.isRadialBar&&(x.plotY=Te=F(_e)?Y.translate(_e):0),x.rectPlotX=he,x.rectPlotY=Te,Y.center&&(Oe+=Y.center[3]/2),F(Te)){const Be=ge?Y.postTranslate(Te,Oe):Z.postTranslate(he,Oe);x.plotX=x.polarPlotX=Be.x-R.plotLeft,x.plotY=x.polarPlotY=Be.y-R.plotTop}N.kdByAngle?(De=(he/Math.PI*180+Z.pane.options.startAngle)%360,De<0&&(De+=360),x.clientX=De):x.clientX=x.plotX}}return $}),q(Le,"Core/Axis/WaterfallAxis.js",[Le["Core/Globals.js"],Le["Core/Axis/Stacking/StackItem.js"],Le["Core/Utilities.js"]],function(ne,re,ve){const{composed:le}=ne,{addEvent:pe,objectEach:ue,pushUnique:J}=ve;var te;return function(X){function j(){const _=this.waterfall.stacks;_&&(_.changed=!1,delete _.alreadyChanged)}function F(){const I=this,_=I.options.stackLabels;_&&_.enabled&&I.waterfall.stacks&&I.waterfall.renderStackTotals()}function P(){const I=this;I.waterfall||(I.waterfall=new A(I))}function D(){const I=this.axes,_=this.series;for(const m of _)if(m.options.stacking){for(const w of I)w.isXAxis||(w.waterfall.stacks.changed=!0);break}}X.compose=function E(I,_){J(le,"Axis.Waterfall")&&(pe(I,"init",P),pe(I,"afterBuildStacks",j),pe(I,"afterRender",F),pe(_,"beforeRedraw",D))};class A{constructor(_){this.axis=_,this.stacks={changed:!1}}renderStackTotals(){const _=this.axis,m=_.waterfall.stacks,w=_.stacking&&_.stacking.stackTotalGroup,G=new re(_,_.options.stackLabels||{},!1,0,void 0);this.dummyStackItem=G,w&&ue(m,O=>{ue(O,(f,a)=>{G.total=f.stackTotal,G.x=+a,f.label&&(G.label=f.label),re.prototype.render.call(G,w),f.label=G.label,delete G.label})}),G.total=null}}X.Composition=A}(te||(te={})),te}),q(Le,"Series/Waterfall/WaterfallPoint.js",[Le["Series/Column/ColumnSeries.js"],Le["Core/Series/Point.js"],Le["Core/Utilities.js"]],function(ne,re,ve){const{isNumber:le}=ve;return class pe extends ne.prototype.pointClass{getClassName(){let J=re.prototype.getClassName.call(this);return this.isSum?J+=" highcharts-sum":this.isIntermediateSum&&(J+=" highcharts-intermediate-sum"),J}isValid(){return le(this.y)||this.isSum||!!this.isIntermediateSum}}}),q(Le,"Series/Waterfall/WaterfallSeriesDefaults.js",[],function(){return{dataLabels:{inside:!0},lineWidth:1,lineColor:"#333333",dashStyle:"Dot",borderColor:"#333333",states:{hover:{lineWidthPlus:0}}}}),q(Le,"Series/Waterfall/WaterfallSeries.js",[Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"],Le["Core/Axis/WaterfallAxis.js"],Le["Series/Waterfall/WaterfallPoint.js"],Le["Series/Waterfall/WaterfallSeriesDefaults.js"]],function(ne,re,ve,le,pe){const{column:ue,line:J}=ne.seriesTypes,{addEvent:te,arrayMax:X,arrayMin:E,correctFloat:j,extend:F,isNumber:P,merge:D,objectEach:A,pick:I}=re;function _(w,G){return Object.hasOwnProperty.call(w,G)}class m extends ue{generatePoints(){ue.prototype.generatePoints.apply(this);for(let G=0,O=this.points.length;G0?f:void 0);const a=ue.prototype.pointAttribs.call(this,G,O);return delete a.dashstyle,a}getGraphPath(){return[["M",0,0]]}getCrispPath(){const G=this.data.filter(l=>P(l.y)),O=this.yAxis,f=G.length,a=Math.round(this.graph.strokeWidth())%2/2,g=Math.round(this.borderWidth)%2/2,v=this.xAxis.reversed,o=this.yAxis.reversed,n=this.options.stacking,r=[];for(let l=1;l0?-p.height:0;if(T&&p&&d){let K;K=n?Math.round(O.translate(T[l-1].connectorThreshold,!1,!0,!1,!0)+(o?B:0))-a:p.y+C.minPointLengthOffset+g-a,r.push(["M",(p.x||0)+(v?0:p.width||0),K],["L",(d.x||0)+(v&&d.width||0),K])}if(p&&r.length&&(!n&&k<0&&!o||k>0&&o)){const z=r[r.length-2];z&&"number"==typeof z[2]&&(z[2]+=p.height||0);const K=r[r.length-1];K&&"number"==typeof K[2]&&(K[2]+=p.height||0)}}return r}drawGraph(){J.prototype.drawGraph.call(this),this.graph&&this.graph.attr({d:this.getCrispPath()})}setStackedPoints(G){const O=this,f=O.options,a=G.waterfall?.stacks,g=f.threshold||0,v=O.stackKey,o=O.xData,n=o.length;let d,T,B,z,K,U,se,S,$,r=g,l=r,C=0,k=0,p=0;const H=(x,N,R,Z)=>{if(d){if(T)for(;R=0?d.posTotal+=U:d.negTotal+=U,K=f.data[N],B=d.absolutePos=d.posTotal,z=d.absoluteNeg=d.negTotal,d.stackTotal=B+z,T=d.stackState.length,K&&K.isIntermediateSum?(H(p,k,0,p),p=k,k=g,r^=l,l^=r,r^=l):K&&K.isSum?(H(g,C,T,0),r=g):(H(r,U,0,C),K&&(C+=U,k+=U)),d.stateIndex++,d.threshold=r,r+=d.stackTotal;a.changed=!1,a.alreadyChanged||(a.alreadyChanged=[]),a.alreadyChanged.push(v)}}getExtremes(){const G=this.options.stacking;let O,f,a,g;return G?(O=this.yAxis,f=O.waterfall.stacks,a=this.stackedYNeg=[],g=this.stackedYPos=[],A(f[this.stackKey],"overlap"===G?function(v){a.push(E(v.stackState)),g.push(X(v.stackState))}:function(v){a.push(v.negTotal+v.threshold),g.push(v.posTotal+v.threshold)}),{dataMin:E(a),dataMax:X(g)}):{dataMin:this.dataMin,dataMax:this.dataMax}}}return m.defaultOptions=D(ue.defaultOptions,pe),m.compose=ve.compose,F(m.prototype,{pointValKey:"y",showLine:!0,pointClass:le}),te(m,"afterColumnTranslate",function(){const w=this,{options:G,points:O,yAxis:f}=w,a=I(G.minPointLength,5),g=a/2,v=G.threshold||0,o=G.stacking,n=f.waterfall.stacks[w.stackKey];let d,C,k,p,r=v,l=v;for(let T=0;T=0?C:C-S,_(H,"absolutePos")&&delete H.absolutePos,_(H,"absoluteNeg")&&delete H.absoluteNeg):(S>=0?(C=H.threshold+H.posTotal,H.posTotal-=S,d=C):(C=H.threshold+H.negTotal,H.negTotal-=S,d=C-S),H.posTotal||P(H.absolutePos)&&_(H,"absolutePos")&&(H.posTotal=H.absolutePos,delete H.absolutePos),H.negTotal||P(H.absoluteNeg)&&_(H,"absoluteNeg")&&(H.negTotal=H.absoluteNeg,delete H.absoluteNeg)),B.isSum||(H.connectorThreshold=H.threshold+H.stackTotal),f.reversed?(k=S>=0?d-S:d+S,p=d):(k=d,p=d-S),B.below=k<=v,U.y=f.translate(k,!1,!0,!1,!0),U.height=Math.abs(U.y-f.translate(p,!1,!0,!1,!0));const x=f.waterfall.dummyStackItem;x&&(x.x=T,x.label=n[T].label,x.setOffset(w.pointXOffset||0,w.barW||0,w.stackedYNeg[T],w.stackedYPos[T],void 0,this.xAxis))}}else d=Math.max(l,l+S)+se[0],U.y=f.translate(d,!1,!0,!1,!0),B.isSum?(U.y=f.translate(se[1],!1,!0,!1,!0),U.height=Math.min(f.translate(se[0],!1,!0,!1,!0),f.len)-U.y,B.below=se[1]<=v):B.isIntermediateSum?(S>=0?(k=se[1]+r,p=r):(k=r,p=se[1]+r),f.reversed&&(k^=p,p^=k,k^=p),U.y=f.translate(k,!1,!0,!1,!0),U.height=Math.abs(U.y-Math.min(f.translate(p,!1,!0,!1,!0),f.len)),r+=se[1],B.below=k<=v):(U.height=z>0?f.translate(l,!1,!0,!1,!0)-U.y:f.translate(l,!1,!0,!1,!0)-f.translate(l-z,!1,!0,!1,!0),l+=z,B.below=lparseInt(ne.userAgent.split("Firefox/")[1],10),ne.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],ne.noop=function(){},ne.supportsPassiveEvents=function(){let re=!1;if(!ne.isMS){let ve=Object.defineProperty({},"passive",{get:function(){re=!0}});ne.win.addEventListener&&ne.win.removeEventListener&&(ne.win.addEventListener("testPassive",ne.noop,ve),ne.win.removeEventListener("testPassive",ne.noop,ve))}return re}(),ne.charts=[],ne.composed=[],ne.dateFormats={},ne.seriesTypes={},ne.symbolSizes={},ne.chartCount=0,q}),Le(V,"Core/Utilities.js",[V["Core/Globals.js"]],function(q){let ne,{charts:re,doc:ve,win:le}=q;function pe(o,n,r,l){let d=n?"Highcharts error":"Highcharts warning";32===o&&(o=`${d}: Deprecated member`);let C=F(o),k=C?`${d} #${o}: www.highcharts.com/errors/${o}/`:o.toString();if(void 0!==l){let p="";C&&(k+="?"),f(l,function(T,B){p+=`\n - ${B}: ${T}`,C&&(k+=encodeURI(B)+"="+encodeURI(T))}),k+=p}g(q,"displayError",{chart:r,code:o,message:k,params:l},function(){if(n)throw Error(k);le.console&&-1===pe.messages.indexOf(k)&&console.warn(k)}),pe.messages.push(k)}function ue(o,n){return parseInt(o,n||10)}function J(o){return"string"==typeof o}function te(o){let n=Object.prototype.toString.call(o);return"[object Array]"===n||"[object Array Iterator]"===n}function X(o,n){return!(!o||"object"!=typeof o||n&&te(o))}function E(o){return X(o)&&"number"==typeof o.nodeType}function j(o){let n=o&&o.constructor;return!(!X(o,!0)||E(o)||!n||!n.name||"Object"===n.name)}function F(o){return"number"==typeof o&&!isNaN(o)&&o<1/0&&o>-1/0}function P(o){return null!=o}function D(o,n,r){let l,d=J(n)&&!P(r),C=(k,p)=>{P(k)?o.setAttribute(p,k):d?(l=o.getAttribute(p))||"class"!==p||(l=o.getAttribute(p+"Name")):o.removeAttribute(p)};return J(n)?C(r,n):f(n,C),l}function A(o){return te(o)?o:[o]}function I(o,n){let r;for(r in o||(o={}),n)o[r]=n[r];return o}function _(){let o=arguments,n=o.length;for(let r=0;r1e14?o:parseFloat(o.toPrecision(n||14))}(pe||(pe={})).messages=[],Math.easeInOutSine=function(o){return-.5*(Math.cos(Math.PI*o)-1)};let O=Array.prototype.find?function(o,n){return o.find(n)}:function(o,n){let r,l=o.length;for(r=0;rp.order-T.order),d.forEach(p=>{!1===p.fn.call(o,r)&&r.preventDefault()})}l&&!r.defaultPrevented&&l.call(o,r)}f({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(o,n){q[n]=function(r){return pe(32,!1,void 0,{[`Highcharts.${n}`]:`use Array.${o}`}),Array.prototype[o].apply(r,[].slice.call(arguments,1))}});let v=function(){let o=Math.random().toString(36).substring(2,9)+"-",n=0;return function(){return"highcharts-"+(ne?"":o)+n++}}();return le.jQuery&&(le.jQuery.fn.highcharts=function(){let o=[].slice.call(arguments);if(this[0])return o[0]?(new(q[J(o[0])?o.shift():"Chart"])(this[0],o[0],o[1]),this):re[D(this[0],"data-highcharts-chart")]}),{addEvent:function(o,n,r,l={}){let d="function"==typeof o&&o.prototype||o;Object.hasOwnProperty.call(d,"hcEvents")||(d.hcEvents={});let C=d.hcEvents;q.Point&&o instanceof q.Point&&o.series&&o.series.chart&&(o.series.chart.runTrackerClick=!0);let k=o.addEventListener;return k&&k.call(o,n,r,!!q.supportsPassiveEvents&&{passive:void 0===l.passive?-1!==n.indexOf("touch"):l.passive,capture:!1}),C[n]||(C[n]=[]),C[n].push({fn:r,order:"number"==typeof l.order?l.order:1/0}),C[n].sort((T,B)=>T.order-B.order),function(){a(o,n,r)}},arrayMax:function(o){let n=o.length,r=o[0];for(;n--;)o[n]>r&&(r=o[n]);return r},arrayMin:function(o){let n=o.length,r=o[0];for(;n--;)o[n]n?o-1&&p[U]){K=A(K),T[U]=[];for(let se=0;se{if(p.length>1)for(C=l=p.length-1;C>0;C--)(d=p[C]-p[C-1])<0&&!k?(n?.(),n=void 0):d&&(void 0===r||d=k-1&&(k=Math.floor(p)),Math.max(0,k-(o(n,"padding-left",!0)||0)-(o(n,"padding-right",!0)||0))}if("height"===r)return Math.max(0,Math.min(n.offsetHeight,n.scrollHeight)-(o(n,"padding-top",!0)||0)-(o(n,"padding-bottom",!0)||0));let C=le.getComputedStyle(n,void 0);return C&&(d=C.getPropertyValue(r),_(l,"opacity"!==r)&&(d=ue(d))),d},inArray:function(o,n,r){return pe(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),n.indexOf(o,r)},insertItem:function(o,n){let r,l=o.options.index,d=n.length;for(r=o.options.isInternal?d:0;r=o))&&(d||!(p<=(n[C]+(n[C+1]||n[C]))/2)));C++);return G(k*r,-Math.round(Math.log(.001)/Math.LN10))},objectEach:f,offset:function(o){let n=ve.documentElement,r=o.parentElement||o.parentNode?o.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:r.top+(le.pageYOffset||n.scrollTop)-(n.clientTop||0),left:r.left+(le.pageXOffset||n.scrollLeft)-(n.clientLeft||0),width:r.width,height:r.height}},pad:function(o,n,r){return Array((n||2)+1-String(o).replace("-","").length).join(r||"0")+o},pick:_,pInt:ue,pushUnique:function(o,n){return 0>o.indexOf(n)&&!!o.push(n)},relativeLength:function(o,n,r){return/%$/.test(o)?n*parseFloat(o)/100+(r||0):parseFloat(o)},removeEvent:a,replaceNested:function(o,...n){let r,l;do{for(l of(r=o,n))o=o.replace(l[0],l[1])}while(o!==r);return o},splat:A,stableSort:function(o,n){let r,l,d=o.length;for(l=0;l0?setTimeout(o,n,r):(o.call(0,r),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:v,useSerialIds:function(o){return ne=_(o,ne)},wrap:function(o,n,r){let l=o[n];o[n]=function(){let d=arguments,C=this;return r.apply(this,[function(){return l.apply(C,arguments.length?arguments:d)}].concat([].slice.call(arguments)))}}}}),Le(V,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),Le(V,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),Le(V,"Core/Time.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{win:re}=q,{defined:ve,error:le,extend:pe,isNumber:ue,isObject:J,merge:te,objectEach:X,pad:E,pick:j,splat:F,timeUnits:P}=ne,D=q.isSafari&&re.Intl&&re.Intl.DateTimeFormat.prototype.formatRange,A=q.isSafari&&re.Intl&&!re.Intl.DateTimeFormat.prototype.formatRange;class I{constructor(m){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=re.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(m)}get(m,w){if(this.variableTimezone||this.timezoneOffset){let G=w.getTime(),O=G-this.getTimezoneOffset(w);w.setTime(O);let f=w["getUTC"+m]();return w.setTime(G),f}return this.useUTC?w["getUTC"+m]():w["get"+m]()}set(m,w,G){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===m||"Seconds"===m||"Minutes"===m&&this.getTimezoneOffset(w)%36e5==0)return w["setUTC"+m](G);let O=this.getTimezoneOffset(w),f=w.getTime()-O;w.setTime(f),w["setUTC"+m](G);let a=this.getTimezoneOffset(w);return f=w.getTime()+a,w.setTime(f)}return this.useUTC||D&&"FullYear"===m?w["setUTC"+m](G):w["set"+m](G)}update(m={}){let w=j(m.useUTC,!0);this.options=m=te(!0,this.options,m),this.Date=m.Date||re.Date||Date,this.useUTC=w,this.timezoneOffset=w&&m.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=w&&!(!m.getTimezoneOffset&&!m.timezone)}makeTime(m,w,G,O,f,a){let g,v,o;return this.useUTC?(g=this.Date.UTC.apply(0,arguments),v=this.getTimezoneOffset(g),g+=v,v!==(o=this.getTimezoneOffset(g))?g+=o-v:v-36e5!==this.getTimezoneOffset(g-36e5)||A||(g-=36e5)):g=new this.Date(m,w,j(G,1),j(O,0),j(f,0),j(a,0)).getTime(),g}timezoneOffsetFunction(){let m=this,w=this.options,G=w.getTimezoneOffset;return this.useUTC?w.timezone?O=>{try{let f=`shortOffset,${w.timezone||""}`,[a,g,v,o,n=0]=(I.formatCache[f]=I.formatCache[f]||Intl.DateTimeFormat("en",{timeZone:w.timezone,timeZoneName:"shortOffset"})).format(O).split(/(GMT|:)/).map(Number),r=-36e5*(v+n/60);if(ue(r))return r}catch{le(34)}return 0}:this.useUTC&&G?O=>6e4*G(O.valueOf()):()=>6e4*(m.timezoneOffset||0):O=>6e4*new Date(O.toString()).getTimezoneOffset()}dateFormat(m,w,G){if(!ve(w)||isNaN(w))return q.defaultOptions.lang&&q.defaultOptions.lang.invalidDate||"";m=j(m,"%Y-%m-%d %H:%M:%S");let O=this,f=new this.Date(w),a=this.get("Hours",f),g=this.get("Day",f),v=this.get("Date",f),o=this.get("Month",f),n=this.get("FullYear",f),r=q.defaultOptions.lang,l=r&&r.weekdays,d=r&&r.shortWeekdays;return X(pe({a:d?d[g]:l[g].substr(0,3),A:l[g],d:E(v),e:E(v,2," "),w:g,b:r.shortMonths[o],B:r.months[o],m:E(o+1),o:o+1,y:n.toString().substr(2,2),Y:n,H:E(a),k:a,I:E(a%12||12),l:a%12||12,M:E(this.get("Minutes",f)),p:a<12?"AM":"PM",P:a<12?"am":"pm",S:E(this.get("Seconds",f)),L:E(Math.floor(w%1e3),3)},q.dateFormats),function(C,k){for(;-1!==m.indexOf("%"+k);)m=m.replace("%"+k,"function"==typeof C?C.call(O,w):C)}),G?m.substr(0,1).toUpperCase()+m.substr(1):m}resolveDTLFormat(m){return J(m,!0)?m:{main:(m=F(m))[0],from:m[1],to:m[2]}}getTimeTicks(m,w,G,O){let f,a,g,v,o=this,r=[],l={},d=new(0,o.Date)(w),C=m.unitRange,k=m.count||1;if(O=j(O,1),ve(w)){o.set("Milliseconds",d,C>=P.second?0:k*Math.floor(o.get("Milliseconds",d)/k)),C>=P.second&&o.set("Seconds",d,C>=P.minute?0:k*Math.floor(o.get("Seconds",d)/k)),C>=P.minute&&o.set("Minutes",d,C>=P.hour?0:k*Math.floor(o.get("Minutes",d)/k)),C>=P.hour&&o.set("Hours",d,C>=P.day?0:k*Math.floor(o.get("Hours",d)/k)),C>=P.day&&o.set("Date",d,C>=P.month?1:Math.max(1,k*Math.floor(o.get("Date",d)/k))),C>=P.month&&(o.set("Month",d,C>=P.year?0:k*Math.floor(o.get("Month",d)/k)),a=o.get("FullYear",d)),C>=P.year&&(a-=a%k,o.set("FullYear",d,a)),C===P.week&&(v=o.get("Day",d),o.set("Date",d,o.get("Date",d)-v+O+(v4*P.month||o.getTimezoneOffset(w)!==o.getTimezoneOffset(G));let z=d.getTime();for(f=1;z1?z=o.makeTime(a,p,T,B+f*k):z+=C*k:z=o.makeTime(a,p,T+f*k*(C===P.day?1:7)),f++;r.push(z),C<=P.hour&&r.length<1e4&&r.forEach(function(K){K%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",K)&&(l[K]="day")})}return r.info=pe(m,{higherRanks:l,totalRange:C*k}),r}getDateFormat(m,w,G,O){let f=this.dateFormat("%m-%d %H:%M:%S.%L",w),a="01-01 00:00:00.000",g={millisecond:15,second:12,minute:9,hour:6,day:3},v="millisecond",o=v;for(v in P){if(m===P.week&&+this.dateFormat("%w",w)===G&&f.substr(6)===a.substr(6)){v="week";break}if(P[v]>m){v=o;break}if(g[v]&&f.substr(g[v])!==a.substr(g[v]))break;"week"!==v&&(o=v)}return this.resolveDTLFormat(O[v]).main}}return I.formatCache={},I}),Le(V,"Core/Defaults.js",[V["Core/Chart/ChartDefaults.js"],V["Core/Globals.js"],V["Core/Color/Palettes.js"],V["Core/Time.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{isTouchDevice:pe,svg:ue}=ne,{merge:J}=le,te={colors:re.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",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"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:q,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:ue,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:pe?25:10,headerFormat:'{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};te.chart.styledMode=!1;let X=new ve(te.time);return{defaultOptions:te,defaultTime:X,getOptions:function(){return te},setOptions:function(E){return J(!0,te,E),(E.time||E.global)&&(ne.time?ne.time.update(J(te.global,te.time,E.global,E.time)):ne.time=X),te}}}),Le(V,"Core/Color/Color.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{isNumber:re,merge:ve,pInt:le}=ne;class pe{static parse(J){return J?new pe(J):pe.None}constructor(J){let te,X,E,j;this.rgba=[NaN,NaN,NaN,NaN],this.input=J;let F=q.Color;if(F&&F!==pe)return new F(J);if("object"==typeof J&&void 0!==J.stops)this.stops=J.stops.map(P=>new pe(P[1]));else if("string"==typeof J){if(this.input=J=pe.names[J.toLowerCase()]||J,"#"===J.charAt(0)){let P=J.length,D=parseInt(J.substr(1),16);7===P?X=[(16711680&D)>>16,(65280&D)>>8,255&D,1]:4===P&&(X=[(3840&D)>>4|(3840&D)>>8,(240&D)>>4|240&D,(15&D)<<4|15&D,1])}if(!X)for(E=pe.parsers.length;E--&&!X;)(te=(j=pe.parsers[E]).regex.exec(J))&&(X=j.parse(te))}X&&(this.rgba=X)}get(J){let te=this.input,X=this.rgba;if("object"==typeof te&&void 0!==this.stops){let E=ve(te);return E.stops=[].slice.call(E.stops),this.stops.forEach((j,F)=>{E.stops[F]=[E.stops[F][0],j.get(J)]}),E}return X&&re(X[0])?"rgb"===J||!J&&1===X[3]?"rgb("+X[0]+","+X[1]+","+X[2]+")":"a"===J?`${X[3]}`:"rgba("+X.join(",")+")":te}brighten(J){let te=this.rgba;if(this.stops)this.stops.forEach(function(X){X.brighten(J)});else if(re(J)&&0!==J)for(let X=0;X<3;X++)te[X]+=le(255*J),te[X]<0&&(te[X]=0),te[X]>255&&(te[X]=255);return this}setOpacity(J){return this.rgba[3]=J,this}tweenTo(J,te){let X=this.rgba,E=J.rgba;if(!re(X[0])||!re(E[0]))return J.input||"none";let j=1!==E[3]||1!==X[3];return(j?"rgba(":"rgb(")+Math.round(E[0]+(X[0]-E[0])*(1-te))+","+Math.round(E[1]+(X[1]-E[1])*(1-te))+","+Math.round(E[2]+(X[2]-E[2])*(1-te))+(j?","+(E[3]+(X[3]-E[3])*(1-te)):"")+")"}}return pe.names={white:"#ffffff",black:"#000000"},pe.parsers=[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(ue){return[le(ue[1]),le(ue[2]),le(ue[3]),parseFloat(ue[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(ue){return[le(ue[1]),le(ue[2]),le(ue[3]),1]}}],pe.None=new pe(""),pe}),Le(V,"Core/Animation/Fx.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{parse:ve}=q,{win:le}=ne,{isNumber:pe,objectEach:ue}=re;class J{constructor(X,E,j){this.pos=NaN,this.options=E,this.elem=X,this.prop=j}dSetter(){let X=this.paths,E=X&&X[0],j=X&&X[1],F=this.now||0,P=[];if(1!==F&&E&&j)if(E.length===j.length&&F<1)for(let D=0;D=I+this.startTime?(this.now=this.end,this.pos=1,this.update(),_[this.prop]=!0,j=!0,ue(_,function(m){!0!==m&&(j=!1)}),j&&A&&A.call(D),E=!1):(this.pos=P.easing((F-this.startTime)/I),this.now=this.start+(this.end-this.start)*this.pos,this.update(),E=!0),E}initPath(X,E,j){let _,m,w,G,F=X.startX,P=X.endX,D=j.slice(),A=X.isArea,I=A?2:1,O=E&&E.slice();if(!O)return[D,D];function f(g,v){for(;g.length{let G=E(w.options.animation);_=ue(P)&&re(P.defer)?A.defer:Math.max(_,G.duration+G.defer),m=Math.min(A.duration,G.duration)}),F.renderer.forExport&&(_=0),{defer:Math.max(0,_-m),duration:Math.min(_,m)}},setAnimation:function(F,P){P.renderer.globalAnimation=X(F,P.options.chart.animation,!0)},stop:j}}),Le(V,"Core/Renderer/HTML/AST.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{SVG_NS:re,win:ve}=q,{attr:le,createElement:pe,css:ue,error:J,isFunction:te,isString:X,objectEach:E,splat:j}=ne,{trustedTypes:F}=ve,P=F&&te(F.createPolicy)&&F.createPolicy("highcharts",{createHTML:_=>_}),D=P?P.createHTML(""):"",A=function(){try{return!!(new DOMParser).parseFromString(D,"text/html")}catch{return!1}}();class I{static filterUserAttributes(m){return E(m,(w,G)=>{let O=!0;-1===I.allowedAttributes.indexOf(G)&&(O=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(G)&&(O=X(w)&&I.allowedReferences.some(f=>0===w.indexOf(f))),O||(J(33,!1,void 0,{"Invalid attribute in config":`${G}`}),delete m[G]),X(w)&&m[G]&&(m[G]=w.replace(/{let O=G.split(":").map(a=>a.trim()),f=O.shift();return f&&O.length&&(w[f.replace(/-([a-z])/g,a=>a[1].toUpperCase())]=O.join(":")),w},{})}static setElementHTML(m,w){m.innerHTML=I.emptyHTML,w&&new I(w).addToDOM(m)}constructor(m){this.nodes="string"==typeof m?this.parseMarkup(m):m}addToDOM(m){return function w(G,O){let f;return j(G).forEach(function(a){let g,v=a.tagName,o=a.textContent?q.doc.createTextNode(a.textContent):void 0,n=I.bypassHTMLFiltering;if(v)if("#text"===v)g=o;else if(-1!==I.allowedTags.indexOf(v)||n){let l=q.doc.createElementNS("svg"===v?re:O.namespaceURI||re,v),d=a.attributes||{};E(a,function(C,k){"tagName"!==k&&"attributes"!==k&&"children"!==k&&"style"!==k&&"textContent"!==k&&(d[k]=C)}),le(l,n?d:I.filterUserAttributes(d)),a.style&&ue(l,a.style),o&&l.appendChild(o),w(a.children||[],l),g=l}else J(33,!1,void 0,{"Invalid tagName in config":v});g&&O.appendChild(g),f=g}),f}(this.nodes,m)}parseMarkup(m){let w,G=[];if(m=m.trim().replace(/ style=(["'])/g," data-style=$1"),A)w=(new DOMParser).parseFromString(P?P.createHTML(m):m,"text/html");else{let f=pe("div");f.innerHTML=m,w={body:f}}let O=(f,a)=>{let g=f.nodeName.toLowerCase(),v={tagName:g};"#text"===g&&(v.textContent=f.textContent||"");let o=f.attributes;if(o){let n={};[].forEach.call(o,r=>{"data-style"===r.name?v.style=I.parseStyle(r.value):n[r.name]=r.value}),v.attributes=n}if(f.childNodes.length){let n=[];[].forEach.call(f.childNodes,r=>{O(r,n)}),n.length&&(v.children=n)}a.push(v)};return[].forEach.call(w.body.childNodes,f=>O(f,G)),G}}return I.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","markerHeight","markerWidth","offset","opacity","orient","padding","paddingLeft","paddingRight","patternUnits","r","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],I.allowedReferences=["https://","http://","mailto:","/","../","./","#"],I.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feDropShadow","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],I.emptyHTML=D,I.bypassHTMLFiltering=!1,I}),Le(V,"Core/Templating.js",[V["Core/Defaults.js"],V["Core/Utilities.js"]],function(q,ne){let{defaultOptions:re,defaultTime:ve}=q,{extend:le,getNestedProperty:pe,isArray:ue,isNumber:J,isObject:te,pick:X,pInt:E}=ne,j={add:(D,A)=>D+A,divide:(D,A)=>0!==A?D/A:"",eq:(D,A)=>D==A,each:function(D){let A=arguments[arguments.length-1];return!!ue(D)&&D.map((I,_)=>F(A.body,le(te(I)?I:{"@this":I},{"@index":_,"@first":0===_,"@last":_===D.length-1}))).join("")},ge:(D,A)=>D>=A,gt:(D,A)=>D>A,if:D=>!!D,le:(D,A)=>D<=A,lt:(D,A)=>DD*A,ne:(D,A)=>D!=A,subtract:(D,A)=>D-A,unless:D=>!D};function F(D="",A,I){let o,n,l,_=/\{([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= #\(\)]+)\}/g,m=/\(([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= ]+)\)/g,w=[],G=/f$/,O=/\.([0-9])/,f=re.lang,a=I&&I.time||ve,g=I&&I.numberFormatter||P,v=(d="")=>{let C;return"true"===d||"false"!==d&&((C=Number(d)).toString()===d?C:pe(d,A))},r=0;for(;null!==(o=_.exec(D));){let d=m.exec(o[1]);d&&(o=d,l=!0),n&&n.isBlock||(n={ctx:A,expression:o[1],find:o[0],isBlock:"#"===o[1].charAt(0),start:o.index,startInner:o.index+o[0].length,length:o[0].length});let C=o[1].split(" ")[0].replace("#","");j[C]&&(n.isBlock&&C===n.fn&&r++,n.fn||(n.fn=C));let k="else"===o[1];if(n.isBlock&&n.fn&&(o[1]===`/${n.fn}`||k))if(r)!k&&r--;else{let p=n.startInner,T=D.substr(p,o.index-p);void 0===n.body?(n.body=T,n.startInner=o.index+o[0].length):n.elseBody=T,n.find+=T+o[0],k||(w.push(n),n=void 0)}else n.isBlock||w.push(n);if(d&&!n?.isBlock)break}return w.forEach(d=>{let C,k,{body:p,elseBody:T,expression:B,fn:z}=d;if(z){let K=[d],U=B.split(" ");for(k=j[z].length;k--;)K.unshift(v(U[k+1]));C=j[z].apply(A,K),d.isBlock&&"boolean"==typeof C&&(C=F(C?p:T,A))}else{let K=B.split(":");if(C=v(K.shift()||""),K.length&&"number"==typeof C){let U=K.join(":");if(G.test(U)){let se=parseInt((U.match(O)||["","-1"])[1],10);null!==C&&(C=g(C,se,f.decimalPoint,U.indexOf(",")>-1?f.thousandsSep:""))}else C=a.dateFormat(U,C)}}D=D.replace(d.find,X(C,""))}),l?F(D,A,I):D}function P(D,A,I,_){let m,w;A=+A;let G=re.lang,O=((D=+D||0).toString().split(".")[1]||"").split("e")[0].length,f=D.toString().split("e"),a=A;-1===A?A=Math.min(O,20):J(A)?A&&f[1]&&f[1]<0&&((w=A+ +f[1])>=0?(f[0]=(+f[0]).toExponential(w).split("e")[0],A=w):(f[0]=f[0].split(".")[0]||0,D=A<20?(f[0]*Math.pow(10,f[1])).toFixed(A):0,f[1]=0)):A=2;let g=(Math.abs(f[1]?f[0]:D)+Math.pow(10,-Math.max(A,O)-1)).toFixed(A),v=String(E(g)),o=v.length>3?v.length%3:0;return I=X(I,G.decimalPoint),_=X(_,G.thousandsSep),m=(D<0?"-":"")+(o?v.substr(0,o)+_:""),0>+f[1]&&!a?m="0":m+=v.substr(o).replace(/(\d{3})(?=\d)/g,"$1"+_),A&&(m+=I+g.slice(-A)),f[1]&&0!=+m&&(m+="e"+f[1]),m}return{dateFormat:function(D,A,I){return ve.dateFormat(D,A,I)},format:F,helpers:j,numberFormat:P}}),Le(V,"Core/Renderer/RendererRegistry.js",[V["Core/Globals.js"]],function(q){var ne,re;let ve;return(re=ne||(ne={})).rendererTypes={},re.getRendererType=function(le=ve){return re.rendererTypes[le]||re.rendererTypes[ve]},re.registerRendererType=function(le,pe,ue){re.rendererTypes[le]=pe,(!ve||ue)&&(ve=le,q.Renderer=pe)},ne}),Le(V,"Core/Renderer/RendererUtilities.js",[V["Core/Utilities.js"]],function(q){var ne;let{clamp:re,pick:ve,pushUnique:le,stableSort:pe}=q;return(ne||(ne={})).distribute=function ue(J,te,X){let _,m,w,O,f,g,E=J,j=E.reducedLen||te,F=(v,o)=>v.target-o.target,P=[],D=J.length,A=[],I=P.push,G=!0,a=0;for(_=D;_--;)a+=J[_].size;if(a>j){for(pe(J,(v,o)=>(o.rank||0)-(v.rank||0)),w=(g=J[0].rank===J[J.length-1].rank)?D/2:-1,m=g?w:D-1;w&&a>j;)O=J[_=Math.floor(m)],le(A,_)&&(a-=O.size),m+=w,g&&m>=J.length&&(w/=2,m=w);A.sort((v,o)=>o-v).forEach(v=>I.apply(P,J.splice(v,1)))}for(pe(J,F),J=J.map(v=>({size:v.size,targets:[v.target],align:ve(v.align,.5)}));G;){for(_=J.length;_--;)O=J[_],f=(Math.min.apply(0,O.targets)+Math.max.apply(0,O.targets))/2,O.pos=re(f-O.size*O.align,0,te-O.size);for(_=J.length,G=!1;_--;)_>0&&J[_-1].pos+J[_-1].size>J[_].pos&&(J[_-1].size+=J[_].size,J[_-1].targets=J[_-1].targets.concat(J[_].targets),J[_-1].align=.5,J[_-1].pos+J[_-1].size>te&&(J[_-1].pos=te-J[_-1].size),J.splice(_,1),G=!0)}return I.apply(E,P),_=0,J.some(v=>{let o=0;return(v.targets||[]).some(()=>(E[_].pos=v.pos+o,void 0!==X&&Math.abs(E[_].pos-E[_].target)>X?(E.slice(0,_+1).forEach(n=>delete n.pos),E.reducedLen=(E.reducedLen||te)-.1*te,E.reducedLen>.1*te&&ue(E,te,X),!0):(o+=E[_].size,_++,!1)))}),pe(E,F),E},ne}),Le(V,"Core/Renderer/SVG/SVGElement.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{animate:le,animObject:pe,stop:ue}=q,{deg2rad:J,doc:te,svg:X,SVG_NS:E,win:j}=re,{addEvent:F,attr:P,createElement:D,css:A,defined:I,erase:_,extend:m,fireEvent:w,isArray:G,isFunction:O,isObject:f,isString:a,merge:g,objectEach:v,pick:o,pInt:n,replaceNested:r,syncTimeout:l,uniqueKey:d}=ve;class C{_defaultGetter(p){let T=o(this[p+"Value"],this[p],this.element?this.element.getAttribute(p):null,0);return/^[\-0-9\.]+$/.test(T)&&(T=parseFloat(T)),T}_defaultSetter(p,T,B){B.setAttribute(T,p)}add(p){let T,B=this.renderer,z=this.element;return p&&(this.parentGroup=p),void 0!==this.textStr&&"text"===this.element.nodeName&&B.buildText(this),this.added=!0,(!p||p.handleZ||this.zIndex)&&(T=this.zIndexSetter()),T||(p?p.element:B.box).appendChild(z),this.onAdd&&this.onAdd(),this}addClass(p,T){let B=T?"":this.attr("class")||"";return(p=(p||"").split(/ /g).reduce(function(z,K){return-1===B.indexOf(K)&&z.push(K),z},B?[B]:[]).join(" "))!==B&&this.attr("class",p),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(p,T,B,z=!0){let K,U,se,S,$,H={},x=this.renderer,N=x.alignedObjects;p?(this.alignOptions=p,this.alignByTranslate=T,(!B||a(B))&&(this.alignTo=se=B||"renderer",_(N,this),N.push(this),B=void 0)):(p=this.alignOptions,T=this.alignByTranslate,se=this.alignTo),B=o(B,x[se],x);let R=p.align,Z=p.verticalAlign;return K=(B.x||0)+(p.x||0),U=(B.y||0)+(p.y||0),"right"===R?S=1:"center"===R&&(S=2),S&&(K+=(B.width-(p.width||0))/S),H[T?"translateX":"x"]=Math.round(K),"bottom"===Z?$=1:"middle"===Z&&($=2),$&&(U+=(B.height-(p.height||0))/$),H[T?"translateY":"y"]=Math.round(U),z&&(this[this.placed?"animate":"attr"](H),this.placed=!0),this.alignAttr=H,this}alignSetter(p){let T={left:"start",center:"middle",right:"end"};T[p]&&(this.alignValue=p,this.element.setAttribute("text-anchor",T[p]))}animate(p,T,B){let z=pe(o(T,this.renderer.globalAnimation,!0)),K=z.defer;return te.hidden&&(z.duration=0),0!==z.duration?(B&&(z.complete=B),l(()=>{this.element&&le(this,p,z)},K)):(this.attr(p,void 0,B||z.complete),v(p,function(U,se){z.step&&z.step.call(this,U,{prop:se,pos:1,elem:this})},this)),this}applyTextOutline(p){let T=this.element;-1!==p.indexOf("contrast")&&(p=p.replace(/contrast/g,this.renderer.getContrast(T.style.fill)));let B=p.split(" "),z=B[B.length-1],K=B[0];if(K&&"none"!==K&&re.svg){this.fakeTS=!0,K=K.replace(/(^[\d\.]+)(.*?)$/g,function(H,x,N){return 2*Number(x)+N}),this.removeTextOutline();let U=te.createElementNS(E,"tspan");P(U,{class:"highcharts-text-outline",fill:z,stroke:z,"stroke-width":K,"stroke-linejoin":"round"});let se=T.querySelector("textPath")||T;[].forEach.call(se.childNodes,H=>{let x=H.cloneNode(!0);x.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(N=>x.removeAttribute(N)),U.appendChild(x)});let S=0;[].forEach.call(se.querySelectorAll("text tspan"),H=>{S+=Number(H.getAttribute("dy"))});let $=te.createElementNS(E,"tspan");$.textContent="\u200b",P($,{x:Number(T.getAttribute("x")),dy:-S}),U.appendChild($),se.insertBefore(U,se.firstChild)}}attr(p,T,B,z){let se,S,H,K=this.element,U=C.symbolCustomAttribs,$=this;return"string"==typeof p&&void 0!==T&&(se=p,(p={})[se]=T),"string"==typeof p?$=(this[p+"Getter"]||this._defaultGetter).call(this,p,K):(v(p,function(x,N){H=!1,z||ue(this,N),this.symbolName&&-1!==U.indexOf(N)&&(S||(this.symbolAttr(p),S=!0),H=!0),this.rotation&&("x"===N||"y"===N)&&(this.doTransform=!0),H||(this[N+"Setter"]||this._defaultSetter).call(this,x,N,K)},this),this.afterSetters()),B&&B.call(this),$}clip(p){if(p&&!p.clipPath){let T=d()+"-",B=this.renderer.createElement("clipPath").attr({id:T}).add(this.renderer.defs);m(p,{clipPath:B,id:T,count:0}),p.add(B)}return this.attr("clip-path",p?`url(${this.renderer.url}#${p.id})`:"none")}crisp(p,T){let B=Math.round(T=T||p.strokeWidth||0)%2/2;return p.x=Math.floor(p.x||this.x||0)+B,p.y=Math.floor(p.y||this.y||0)+B,p.width=Math.floor((p.width||this.width||0)-2*B),p.height=Math.floor((p.height||this.height||0)-2*B),I(p.strokeWidth)&&(p.strokeWidth=T),p}complexColor(p,T,B){let K,U,se,S,$,H,x,N,R,Z,he,z=this.renderer,Y=[];w(this.renderer,"complexColor",{args:arguments},function(){if(p.radialGradient?U="radialGradient":p.linearGradient&&(U="linearGradient"),U){if(se=p[U],$=z.gradients,H=p.stops,R=B.radialReference,G(se)&&(p[U]=se={x1:se[0],y1:se[1],x2:se[2],y2:se[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===U&&R&&!I(se.gradientUnits)&&(S=se,se=g(se,z.getRadialAttr(R,S),{gradientUnits:"userSpaceOnUse"})),v(se,function(ge,_e){"id"!==_e&&Y.push(_e,ge)}),v(H,function(ge){Y.push(ge)}),$[Y=Y.join(",")])Z=$[Y].attr("id");else{se.id=Z=d();let ge=$[Y]=z.createElement(U).attr(se).add(z.defs);ge.radAttr=S,ge.stops=[],H.forEach(function(_e){0===_e[1].indexOf("rgba")?(x=(K=ne.parse(_e[1])).get("rgb"),N=K.get("a")):(x=_e[1],N=1);let Te=z.createElement("stop").attr({offset:_e[0],"stop-color":x,"stop-opacity":N}).add(ge);ge.stops.push(Te)})}he="url("+z.url+"#"+Z+")",B.setAttribute(T,he),B.gradient=Y,p.toString=function(){return he}}})}css(p){let K,T=this.styles,B={},z=this.element,U=!T;if(T&&v(p,function(se,S){T&&T[S]!==se&&(B[S]=se,U=!0)}),U){T&&(p=m(T,B)),null===p.width||"auto"===p.width?delete this.textWidth:"text"===z.nodeName.toLowerCase()&&p.width&&(K=this.textWidth=n(p.width)),m(this.styles,p),K&&!X&&this.renderer.forExport&&delete p.width;let se=g(p);z.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(S=>se&&delete se[S]),se.color&&(se.fill=se.color)),A(z,se)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),p.textOutline&&this.applyTextOutline(p.textOutline)),this}dashstyleSetter(p){let T,B=this["stroke-width"];if("inherit"===B&&(B=1),p=p&&p.toLowerCase()){let z=p.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(T=z.length;T--;)z[T]=""+n(z[T])*o(B,NaN);p=z.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",p)}}destroy(){let U,se,p=this,T=p.element||{},B=p.renderer,z=T.ownerSVGElement,K="SPAN"===T.nodeName&&p.parentGroup||void 0;if(T.onclick=T.onmouseout=T.onmouseover=T.onmousemove=T.point=null,ue(p),p.clipPath&&z){let S=p.clipPath;[].forEach.call(z.querySelectorAll("[clip-path],[CLIP-PATH]"),function($){$.getAttribute("clip-path").indexOf(S.element.id)>-1&&$.removeAttribute("clip-path")}),p.clipPath=S.destroy()}if(p.connector=p.connector?.destroy(),p.stops){for(se=0;seK&&K.join?(U?z+" ":"")+K.join(" "):(K||"").toString(),"")),/(NaN| {2}|^$)/.test(p)&&(p="M 0 0"),this[T]!==p&&(B.setAttribute(T,p),this[T]=p)}fillSetter(p,T,B){"string"==typeof p?B.setAttribute(T,p):p&&this.complexColor(p,T,B)}hrefSetter(p,T,B){B.setAttributeNS("http://www.w3.org/1999/xlink",T,p)}getBBox(p,T){let B,z,K,U,{alignValue:se,element:S,renderer:$,styles:H,textStr:x}=this,{cache:N,cacheKeys:R}=$,Z=S.namespaceURI===this.SVG_NS,Y=o(T,this.rotation,0),he=$.styledMode?S&&C.prototype.getStyle.call(S,"font-size"):H.fontSize;if(I(x)&&(-1===(U=x.toString()).indexOf("<")&&(U=U.replace(/[0-9]/g,"0")),U+=["",$.rootFontSize,he,Y,this.textWidth,se,H.textOverflow,H.fontWeight].join(",")),U&&!p&&(B=N[U]),!B){if(Z||$.forExport){try{K=this.fakeTS&&function(ge){let _e=S.querySelector(".highcharts-text-outline");_e&&A(_e,{display:ge})},O(K)&&K("none"),B=S.getBBox?m({},S.getBBox()):{width:S.offsetWidth,height:S.offsetHeight,x:0,y:0},O(K)&&K("")}catch{}(!B||B.width<0)&&(B={x:0,y:0,width:0,height:0})}else B=this.htmlGetBBox();z=B.height,Z&&(B.height=z={"11px,17":14,"13px,20":16}[`${he||""},${Math.round(z)}`]||z),Y&&(B=this.getRotatedBox(B,Y))}if(U&&(""===x||B.height>0)){for(;R.length>250;)delete N[R.shift()];N[U]||R.push(U),N[U]=B}return B}getRotatedBox(p,T){let{x:B,y:z,width:K,height:U}=p,{alignValue:se,translateY:S,rotationOriginX:$=0,rotationOriginY:H=0}=this,x={right:1,center:.5}[se||0]||0,N=Number(this.element.getAttribute("y")||0)-(S?0:z),R=T*J,Z=(T-90)*J,Y=Math.cos(R),he=Math.sin(R),ge=K*Y,_e=K*he,Te=Math.cos(Z),Oe=Math.sin(Z),[[De,Be],[oe,ee]]=[$,H].map(pt=>[pt-pt*Y,pt*he]),be=B+x*(K-ge)+De+ee+N*Te,xe=be+ge,Ie=xe-U*Te,we=Ie-ge,Ee=z+N-x*_e-Be+oe+N*Oe,Me=Ee+_e,Xe=Me-U*Oe,Je=Xe-_e,lt=Math.min(be,xe,Ie,we),qe=Math.min(Ee,Me,Xe,Je);return{x:lt,y:qe,width:Math.max(be,xe,Ie,we)-lt,height:Math.max(Ee,Me,Xe,Je)-qe}}getStyle(p){return j.getComputedStyle(this.element||this,"").getPropertyValue(p)}hasClass(p){return-1!==(""+this.attr("class")).split(" ").indexOf(p)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(p,T){this.onEvents={},this.opacity=1,this.SVG_NS=E,this.element="span"===T||"body"===T?D(T):te.createElementNS(this.SVG_NS,T),this.renderer=p,this.styles={},w(this,"afterInit")}on(p,T){let{onEvents:B}=this;return B[p]&&B[p](),B[p]=F(this.element,p,T),this}opacitySetter(p,T,B){let z=Number(Number(p).toFixed(3));this.opacity=z,B.setAttribute(T,z)}removeClass(p){return this.attr("class",(""+this.attr("class")).replace(a(p)?RegExp(`(^| )${p}( |$)`):p," ").replace(/ +/g," ").trim())}removeTextOutline(){let p=this.element.querySelector("tspan.highcharts-text-outline");p&&this.safeRemoveChild(p)}safeRemoveChild(p){let T=p.parentNode;T&&T.removeChild(p)}setRadialReference(p){let T=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=p,T&&T.radAttr&&T.animate(this.renderer.getRadialAttr(p,T.radAttr)),this}setTextPath(p,T){T=g(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},T);let B=this.renderer.url,z=this.text||this,K=z.textPath,{attributes:U,enabled:se}=T;if(p=p||K&&K.path,K&&K.undo(),p&&se){let S=F(z,"afterModifyTree",$=>{if(p&&se){let H=p.attr("id");H||p.attr("id",H=d());let x={x:0,y:0};I(U.dx)&&(x.dx=U.dx,delete U.dx),I(U.dy)&&(x.dy=U.dy,delete U.dy),z.attr(x),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let N=$.nodes.slice(0);$.nodes.length=0,$.nodes[0]={tagName:"textPath",attributes:m(U,{"text-anchor":U.textAnchor,href:`${B}#${H}`}),children:N}}});z.textPath={path:p,undo:S}}else z.attr({dx:0,dy:0}),delete z.textPath;return this.added&&(z.textCache="",this.renderer.buildText(z)),this}shadow(p){let{renderer:T}=this,B=g(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},f(p)?p:{}),z=T.shadowDefinition(B);return this.attr({filter:p?`url(${T.url}#${z})`:"none"})}show(p=!0){return this.attr({visibility:p?"inherit":"visible"})}"stroke-widthSetter"(p,T,B){this[T]=p,B.setAttribute(T,p)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let B,p=this.getStyle("stroke-width"),T=0;return/px$/.test(p)?T=n(p):""!==p&&(P(B=te.createElementNS(E,"rect"),{width:p,"stroke-width":0}),this.element.parentNode.appendChild(B),T=B.getBBox().width,B.parentNode.removeChild(B)),T}symbolAttr(p){let T=this;C.symbolCustomAttribs.forEach(function(B){T[B]=o(p[B],T[B])}),T.attr({d:T.renderer.symbols[T.symbolName](T.x,T.y,T.width,T.height,T)})}textSetter(p){p!==this.textStr&&(delete this.textPxLength,this.textStr=p,this.added&&this.renderer.buildText(this))}titleSetter(p){let T=this.element,B=T.getElementsByTagName("title")[0]||te.createElementNS(this.SVG_NS,"title");T.insertBefore?T.insertBefore(B,T.firstChild):T.appendChild(B),B.textContent=r(o(p,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let p=this.element;return p.parentNode.appendChild(p),this}translate(p,T){return this.attr({translateX:p,translateY:T})}updateTransform(p="transform"){let{element:T,matrix:B,rotation:z=0,rotationOriginX:K,rotationOriginY:U,scaleX:se,scaleY:S,translateX:$=0,translateY:H=0}=this,x=["translate("+$+","+H+")"];I(B)&&x.push("matrix("+B.join(",")+")"),z&&(x.push("rotate("+z+" "+o(K,T.getAttribute("x"),0)+" "+o(U,T.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:z,rotationOriginX:(K||0)-this.padding,rotationOriginY:(U||0)-this.padding})),(I(se)||I(S))&&x.push("scale("+o(se,1)+" "+o(S,1)+")"),x.length&&!(this.text||this).textPath&&T.setAttribute(p,x.join(" "))}visibilitySetter(p,T,B){"inherit"===p?B.removeAttribute(T):this[T]!==p&&B.setAttribute(T,p),this[T]=p}xGetter(p){return"circle"===this.element.nodeName&&("x"===p?p="cx":"y"===p&&(p="cy")),this._defaultGetter(p)}zIndexSetter(p,T){let S,$,H,N,Z,B=this.renderer,z=this.parentGroup,K=(z||B).element||B.box,U=this.element,se=K===B.box,x=!1,R=this.added;if(I(p)?(U.setAttribute("data-z-index",p),this[T]===(p=+p)&&(R=!1)):I(this[T])&&U.removeAttribute("data-z-index"),this[T]=p,R){for((p=this.zIndex)&&z&&(z.handleZ=!0),Z=(S=K.childNodes).length-1;Z>=0&&!x;Z--)N=!I(H=($=S[Z]).getAttribute("data-z-index")),$!==U&&(p<0&&N&&!se&&!Z?(K.insertBefore(U,S[Z]),x=!0):(n(H)<=p||N&&(!I(p)||p>=0))&&(K.insertBefore(U,S[Z+1]),x=!0));x||(K.insertBefore(U,S[se?3:0]),x=!0)}return x}}return C.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],C.prototype.strokeSetter=C.prototype.fillSetter,C.prototype.yGetter=C.prototype.xGetter,C.prototype.matrixSetter=C.prototype.rotationOriginXSetter=C.prototype.rotationOriginYSetter=C.prototype.rotationSetter=C.prototype.scaleXSetter=C.prototype.scaleYSetter=C.prototype.translateXSetter=C.prototype.translateYSetter=C.prototype.verticalAlignSetter=function(k,p){this[p]=k,this.doTransform=!0},C}),Le(V,"Core/Renderer/SVG/SVGLabel.js",[V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne){let{defined:re,extend:ve,isNumber:le,merge:pe,pick:ue,removeEvent:J}=ne;class te extends q{constructor(E,j,F,P,D,A,I,_,m,w){let G;super(E,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.textStr=j,this.x=F,this.y=P,this.anchorX=A,this.anchorY=I,this.baseline=m,this.className=w,this.addClass("button"===w?"highcharts-no-tooltip":"highcharts-label"),w&&this.addClass("highcharts-"+w),this.text=E.text(void 0,0,0,_).attr({zIndex:1}),"string"==typeof D&&((G=/^url\((.*?)\)$/.test(D))||this.renderer.symbols[D])&&(this.symbolKey=D),this.bBox=te.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=E.styledMode||G,this.deferredAttr={},this.alignFactor=0}alignSetter(E){let j={left:0,center:.5,right:1}[E];j!==this.alignFactor&&(this.alignFactor=j,this.bBox&&le(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(E,j){this.anchorX=E,this.boxAttr(j,Math.round(E)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(E,j){this.anchorY=E,this.boxAttr(j,E-this.ySetting)}boxAttr(E,j){this.box?this.box.attr(E,j):this.deferredAttr[E]=j}css(E){if(E){let j={};E=pe(E),te.textProps.forEach(F=>{void 0!==E[F]&&(j[F]=E[F],delete E[F])}),this.text.css(j),"fontSize"in j||"fontWeight"in j?this.updateTextPadding():("width"in j||"textOverflow"in j)&&this.updateBoxSize()}return q.prototype.css.call(this,E)}destroy(){J(this.element,"mouseenter"),J(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),q.prototype.destroy.call(this)}fillSetter(E,j){E&&(this.needsBox=!0),this.fill=E,this.boxAttr(j,E)}getBBox(E,j){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:F,height:P=0,translateX:D=0,translateY:A=0,width:I=0}=this,_=ue(this.paddingLeft,F),m=j??(this.rotation||0),w={width:I,height:P,x:D+this.bBox.x-_,y:A+this.bBox.y-F+this.baselineOffset};return m&&(w=this.getRotatedBox(w,m)),w}getCrispAdjust(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(E){this.heightSetting=E}onAdd(){this.text.add(this),this.attr({text:ue(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&re(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(E,j){le(E)?E!==this[j]&&(this[j]=E,this.updateTextPadding()):this[j]=void 0}rSetter(E,j){this.boxAttr(j,E)}strokeSetter(E,j){this.stroke=E,this.boxAttr(j,E)}"stroke-widthSetter"(E,j){E&&(this.needsBox=!0),this["stroke-width"]=E,this.boxAttr(j,E)}"text-alignSetter"(E){this.textAlign=E}textSetter(E){void 0!==E&&this.text.attr({text:E}),this.updateTextPadding()}updateBoxSize(){let E,j=this.text,F={},P=this.padding,D=this.bBox=le(this.widthSetting)&&le(this.heightSetting)&&!this.textAlign||!re(j.textStr)?te.emptyBBox:j.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||D.height||0)+2*P;let A=this.renderer.fontMetrics(j);if(this.baselineOffset=P+Math.min((this.text.firstLineMetrics||A).b,D.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-A.h)/2),this.needsBox&&!j.textPath){if(!this.box){let I=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();I.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),I.add(this)}E=this.getCrispAdjust(),F.x=E,F.y=(this.baseline?-this.baselineOffset:0)+E,F.width=Math.round(this.width),F.height=Math.round(this.height),this.box.attr(ve(F,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let E=this.text;if(!E.textPath){this.updateBoxSize();let j=this.baseline?0:this.baselineOffset,F=ue(this.paddingLeft,this.padding);re(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(F+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(F!==E.x||j!==E.y)&&(E.attr("x",F),E.hasBoxWidthChanged&&(this.bBox=E.getBBox(!0)),void 0!==j&&E.attr("y",j)),E.x=F,E.y=j}}widthSetter(E){this.widthSetting=le(E)?E:void 0}getPaddedWidth(){let E=this.padding,j=ue(this.paddingLeft,E),F=ue(this.paddingRight,E);return(this.widthSetting||this.bBox.width||0)+j+F}xSetter(E){this.x=E,this.alignFactor&&(E-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(E),this.attr("translateX",this.xSetting)}ySetter(E){this.ySetting=this.y=Math.round(E),this.attr("translateY",this.ySetting)}}return te.emptyBBox={width:0,height:0,x:0,y:0},te.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],te}),Le(V,"Core/Renderer/SVG/Symbols.js",[V["Core/Utilities.js"]],function(q){let{defined:ne,isNumber:re,pick:ve}=q;function le(J,te,X,E,j){let F=[];if(j){let P=j.start||0,D=ve(j.r,X),A=ve(j.r,E||X),I=.001>Math.abs((j.end||0)-P-2*Math.PI),_=(j.end||0)-.001,m=j.innerR,w=ve(j.open,I),G=Math.cos(P),O=Math.sin(P),f=Math.cos(_),a=Math.sin(_),g=ve(j.longArc,_-P-Math.PI<.001?0:1),v=["A",D,A,0,g,ve(j.clockwise,1),J+D*f,te+A*a];v.params={start:P,end:_,cx:J,cy:te},F.push(["M",J+D*G,te+A*O],v),ne(m)&&((v=["A",m,m,0,g,ne(j.clockwise)?1-j.clockwise:0,J+m*G,te+m*O]).params={start:_,end:P,cx:J,cy:te},F.push(w?["M",J+m*f,te+m*a]:["L",J+m*f,te+m*a],v)),w||F.push(["Z"])}return F}function pe(J,te,X,E,j){return j&&j.r?ue(J,te,X,E,j):[["M",J,te],["L",J+X,te],["L",J+X,te+E],["L",J,te+E],["Z"]]}function ue(J,te,X,E,j){let F=j?.r||0;return[["M",J+F,te],["L",J+X-F,te],["A",F,F,0,0,1,J+X,te+F],["L",J+X,te+E-F],["A",F,F,0,0,1,J+X-F,te+E],["L",J+F,te+E],["A",F,F,0,0,1,J,te+E-F],["L",J,te+F],["A",F,F,0,0,1,J+F,te],["Z"]]}return{arc:le,callout:function(J,te,X,E,j){let F=Math.min(j&&j.r||0,X,E),P=F+6,D=j&&j.anchorX,A=j&&j.anchorY||0,I=ue(J,te,X,E,{r:F});if(!re(D)||D0&&A0)return I;if(J+D>X-P)if(A>te+P&&Ate+P&&A0){let _=AE&&DP&&I.splice(1,1,["L",D-6,te],["L",D,te-6],["L",D+6,te],["L",X-F,te]);return I},circle:function(J,te,X,E){return le(J+X/2,te+E/2,X/2,E/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(J,te,X,E){return[["M",J+X/2,te],["L",J+X,te+E/2],["L",J+X/2,te+E],["L",J,te+E/2],["Z"]]},rect:pe,roundedRect:ue,square:pe,triangle:function(J,te,X,E){return[["M",J+X/2,te],["L",J+X,te+E],["L",J,te+E],["Z"]]},"triangle-down":function(J,te,X,E){return[["M",J,te],["L",J+X,te],["L",J+X/2,te+E],["Z"]]}}}),Le(V,"Core/Renderer/SVG/TextBuilder.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{doc:ve,SVG_NS:le,win:pe}=ne,{attr:ue,extend:J,fireEvent:te,isString:X,objectEach:E,pick:j}=re;return class{constructor(F){let P=F.styles;this.renderer=F.renderer,this.svgElement=F,this.width=F.textWidth,this.textLineHeight=P&&P.lineHeight,this.textOutline=P&&P.textOutline,this.ellipsis=!(!P||"ellipsis"!==P.textOverflow),this.noWrap=!(!P||"nowrap"!==P.whiteSpace)}buildSVG(){let F=this.svgElement,P=F.element,D=F.renderer,A=j(F.textStr,"").toString(),I=-1!==A.indexOf("<"),_=P.childNodes,m=!F.added&&D.box,w=[A,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,F.getStyle("font-size"),this.width].join(",");if(w!==F.textCache){F.textCache=w,delete F.actualWidth;for(let G=_.length;G--;)P.removeChild(_[G]);if(I||this.ellipsis||this.width||F.textPath||-1!==A.indexOf(" ")&&(!this.noWrap||//g.test(A))){if(""!==A){m&&m.appendChild(P);let G=new q(A);this.modifyTree(G.nodes),G.addToDOM(P),this.modifyDOM(),this.ellipsis&&-1!==(P.textContent||"").indexOf("\u2026")&&F.attr("title",this.unescapeEntities(F.textStr||"",["<",">"])),m&&m.removeChild(P)}}else P.appendChild(ve.createTextNode(this.unescapeEntities(A)));X(this.textOutline)&&F.applyTextOutline&&F.applyTextOutline(this.textOutline)}}modifyDOM(){let F,P=this.svgElement,D=ue(P.element,"x");for(P.firstLineMetrics=void 0;(F=P.element.firstChild)&&/^[\s\u200B]*$/.test(F.textContent||" ");)P.element.removeChild(F);[].forEach.call(P.element.querySelectorAll("tspan.highcharts-br"),(m,w)=>{m.nextSibling&&m.previousSibling&&(0===w&&1===m.previousSibling.nodeType&&(P.firstLineMetrics=P.renderer.fontMetrics(m.previousSibling)),ue(m,{dy:this.getLineHeight(m.nextSibling),x:D}))});let A=this.width||0;if(!A)return;let I=(m,w)=>{let G=m.textContent||"",O=G.replace(/([^\^])-/g,"$1- ").split(" "),f=!this.noWrap&&(O.length>1||P.element.childNodes.length>1),a=this.getLineHeight(w),g=0,v=P.actualWidth;if(this.ellipsis)G&&this.truncate(m,G,void 0,0,Math.max(0,A-.8*a),(o,n)=>o.substring(0,n)+"\u2026");else if(f){let o=[],n=[];for(;w.firstChild&&w.firstChild!==m;)n.push(w.firstChild),w.removeChild(w.firstChild);for(;O.length;)O.length&&!this.noWrap&&g>0&&(o.push(m.textContent||""),m.textContent=O.join(" ").replace(/- /g,"-")),this.truncate(m,void 0,O,0===g&&v||0,A,(r,l)=>O.slice(0,l).join(" ").replace(/- /g,"-")),v=P.actualWidth,g++;n.forEach(r=>{w.insertBefore(r,m)}),o.forEach(r=>{w.insertBefore(ve.createTextNode(r),m);let l=ve.createElementNS(le,"tspan");l.textContent="\u200b",ue(l,{dy:a,x:D}),w.insertBefore(l,m)})}},_=m=>{[].slice.call(m.childNodes).forEach(w=>{w.nodeType===pe.Node.TEXT_NODE?I(w,m):(-1!==w.className.baseVal.indexOf("highcharts-br")&&(P.actualWidth=0),_(w))})};_(P.element)}getLineHeight(F){let P=F.nodeType===pe.Node.TEXT_NODE?F.parentElement:F;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(P||this.svgElement.element).h}modifyTree(F){let P=(D,A)=>{let{attributes:I={},children:_,style:m={},tagName:w}=D,G=this.renderer.styledMode;if("b"===w||"strong"===w?G?I.class="highcharts-strong":m.fontWeight="bold":("i"===w||"em"===w)&&(G?I.class="highcharts-emphasized":m.fontStyle="italic"),m&&m.color&&(m.fill=m.color),"br"===w){I.class="highcharts-br",D.textContent="\u200b";let O=F[A+1];O&&O.textContent&&(O.textContent=O.textContent.replace(/^ +/gm,""))}else"a"===w&&_&&_.some(O=>"#text"===O.tagName)&&(D.children=[{children:_,tagName:"tspan"}]);"#text"!==w&&"a"!==w&&(D.tagName="tspan"),J(D,{attributes:I,style:m}),_&&_.filter(O=>"#text"!==O.tagName).forEach(P)};F.forEach(P),te(this.svgElement,"afterModifyTree",{nodes:F})}truncate(F,P,D,A,I,_){let m,w,G=this.svgElement,{rotation:O}=G,f=[],a=D?1:0,g=(P||D||"").length,v=g,o=function(n,r){let l=r||n,d=F.parentNode;if(d&&void 0===f[l]&&d.getSubStringLength)try{f[l]=A+d.getSubStringLength(0,D?l+1:l)}catch{}return f[l]};if(G.rotation=0,A+(w=o(F.textContent.length))>I){for(;a<=g;)v=Math.ceil((a+g)/2),D&&(m=_(D,v)),w=o(v,m&&m.length-1),a===g?a=g+1:w>I?g=v-1:a=v;0===g?F.textContent="":P&&g===P.length-1||(F.textContent=m||_(P||D,v))}D&&D.splice(0,v),G.actualWidth=w,G.rotation=O}unescapeEntities(F,P){return E(this.renderer.escapes,function(D,A){P&&-1!==P.indexOf(D)||(F=F.toString().replace(RegExp(D,"g"),A))}),F}}}),Le(V,"Core/Renderer/SVG/SVGRenderer.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGLabel.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Renderer/SVG/TextBuilder.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te){let X,{charts:E,deg2rad:j,doc:F,isFirefox:P,isMS:D,isWebKit:A,noop:I,SVG_NS:_,symbolSizes:m,win:w}=re,{addEvent:G,attr:O,createElement:f,css:a,defined:g,destroyObjectProperties:v,extend:o,isArray:n,isNumber:r,isObject:l,isString:d,merge:C,pick:k,pInt:p,replaceNested:T,uniqueKey:B}=te;class z{constructor(U,se,S,$,H,x,N){let R,Z,Y=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),he=Y.element;N||Y.css(this.getStyle($||{})),U.appendChild(he),O(U,"dir","ltr"),-1===U.innerHTML.indexOf("xmlns")&&O(he,"xmlns",this.SVG_NS),this.box=he,this.boxWrapper=Y,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(F.createTextNode("Created with Highcharts 11.4.0")),this.defs=this.createElement("defs").add(),this.allowHTML=x,this.forExport=H,this.styledMode=N,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=Y.getStyle("font-size"),this.setSize(se,S,!1),P&&U.getBoundingClientRect&&((R=function(){a(U,{left:0,top:0}),Z=U.getBoundingClientRect(),a(U,{left:Math.ceil(Z.left)-Z.left+"px",top:Math.ceil(Z.top)-Z.top+"px"})})(),this.unSubPixelFix=G(w,"resize",R))}definition(U){return new q([U]).addToDOM(this.defs.element)}getReferenceURL(){if((P||A)&&F.getElementsByTagName("base").length){if(!g(X)){let U=B(),se=new q([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:U},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${U})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(F.body);a(se,{position:"fixed",top:0,left:0,zIndex:9e5});let S=F.elementFromPoint(6,6);X="hitme"===(S&&S.id),F.body.removeChild(se)}if(X)return T(w.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(U){return this.style=o({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},U),this.style}setStyle(U){this.boxWrapper.css(this.getStyle(U))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let U=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),v(this.gradients||{}),this.gradients=null,this.defs=U.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(U){return new this.Element(this,U)}getRadialAttr(U,se){return{cx:U[0]-U[2]/2+(se.cx||0)*U[2],cy:U[1]-U[2]/2+(se.cy||0)*U[2],r:(se.r||0)*U[2]}}shadowDefinition(U){let se=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(U).map($=>`${$}-${U[$]}`)].join("-").toLowerCase().replace(/[^a-z0-9\-]/g,""),S=C({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},U);return this.defs.element.querySelector(`#${se}`)||this.definition({tagName:"filter",attributes:{id:se,filterUnits:S.filterUnits},children:[{tagName:"feDropShadow",attributes:{dx:S.offsetX,dy:S.offsetY,"flood-color":S.color,"flood-opacity":Math.min(5*S.opacity,1),stdDeviation:S.width/2}}]}),se}buildText(U){new J(U).buildSVG()}getContrast(U){let se=ne.parse(U).rgba.map($=>{let H=$/255;return H<=.03928?H/12.92:Math.pow((H+.055)/1.055,2.4)}),S=.2126*se[0]+.7152*se[1]+.0722*se[2];return 1.05/(S+.05)>(S+.05)/.05?"#FFFFFF":"#000000"}button(U,se,S,$,H={},x,N,R,Z,Y){let he,ge,_e,Te=this.label(U,se,S,Z,void 0,void 0,Y,void 0,"button"),Oe=this.styledMode,De=H.states||{},Be=0;delete(H=C(H)).states;let oe=C({color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},H.style);delete H.style;let ee=q.filterUserAttributes(H);return Te.attr(C({padding:8,r:2},ee)),Oe||(ee=C({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},ee),he=(x=C(ee,{fill:"#e6e6e6"},q.filterUserAttributes(x||De.hover||{}))).style,delete x.style,ge=(N=C(ee,{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},q.filterUserAttributes(N||De.select||{}))).style,delete N.style,_e=(R=C(ee,{style:{color:"#cccccc"}},q.filterUserAttributes(R||De.disabled||{}))).style,delete R.style),G(Te.element,D?"mouseover":"mouseenter",function(){3!==Be&&Te.setState(1)}),G(Te.element,D?"mouseout":"mouseleave",function(){3!==Be&&Te.setState(Be)}),Te.setState=function(be){if(1!==be&&(Te.state=Be=be),Te.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][be||0]),!Oe){Te.attr([ee,x,N,R][be||0]);let xe=[oe,he,ge,_e][be||0];l(xe)&&Te.css(xe)}},!Oe&&(Te.attr(ee).css(o({cursor:"default"},oe)),Y&&Te.text.css({pointerEvents:"none"})),Te.on("touchstart",be=>be.stopPropagation()).on("click",function(be){3!==Be&&$.call(Te,be)})}crispLine(U,se,S="round"){let $=U[0],H=U[1];return g($[1])&&$[1]===H[1]&&($[1]=H[1]=Math[S]($[1])-se%2/2),g($[2])&&$[2]===H[2]&&($[2]=H[2]=Math[S]($[2])+se%2/2),U}path(U){let se=this.styledMode?{}:{fill:"none"};return n(U)?se.d=U:l(U)&&o(se,U),this.createElement("path").attr(se)}circle(U,se,S){let $=l(U)?U:void 0===U?{}:{x:U,y:se,r:S},H=this.createElement("circle");return H.xSetter=H.ySetter=function(x,N,R){R.setAttribute("c"+N,x)},H.attr($)}arc(U,se,S,$,H,x){let N;l(U)?(se=(N=U).y,S=N.r,$=N.innerR,H=N.start,x=N.end,U=N.x):N={innerR:$,start:H,end:x};let R=this.symbol("arc",U,se,S,S,N);return R.r=S,R}rect(U,se,S,$,H,x){let N=l(U)?U:void 0===U?{}:{x:U,y:se,r:H,width:Math.max(S||0,0),height:Math.max($||0,0)},R=this.createElement("rect");return this.styledMode||(void 0!==x&&(N["stroke-width"]=x,o(N,R.crisp(N))),N.fill="none"),R.rSetter=function(Z,Y,he){R.r=Z,O(he,{rx:Z,ry:Z})},R.rGetter=function(){return R.r||0},R.attr(N)}roundedRect(U){return this.symbol("roundedRect").attr(U)}setSize(U,se,S){this.width=U,this.height=se,this.boxWrapper.animate({width:U,height:se},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:k(S,!0)?void 0:0}),this.alignElements()}g(U){let se=this.createElement("g");return U?se.attr({class:"highcharts-"+U}):se}image(U,se,S,$,H,x){let N={preserveAspectRatio:"none"};r(se)&&(N.x=se),r(S)&&(N.y=S),r($)&&(N.width=$),r(H)&&(N.height=H);let R=this.createElement("image").attr(N),Z=function(Y){R.attr({href:U}),x.call(R,Y)};if(x){R.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let Y=new w.Image;G(Y,"load",Z),Y.src=U,Y.complete&&Z({})}else R.attr({href:U});return R}symbol(U,se,S,$,H,x){let N,R,Z,Y,he=this,ge=/^url\((.*?)\)$/,_e=ge.test(U),Te=!_e&&(this.symbols[U]?U:"circle"),Oe=Te&&this.symbols[Te];if(Oe)"number"==typeof se&&(R=Oe.call(this.symbols,Math.round(se||0),Math.round(S||0),$||0,H||0,x)),N=this.path(R),he.styledMode||N.attr("fill","none"),o(N,{symbolName:Te||void 0,x:se,y:S,width:$,height:H}),x&&o(N,x);else if(_e){Z=U.match(ge)[1];let De=N=this.image(Z);De.imgwidth=k(x&&x.width,m[Z]&&m[Z].width),De.imgheight=k(x&&x.height,m[Z]&&m[Z].height),Y=Be=>Be.attr({width:Be.width,height:Be.height}),["width","height"].forEach(Be=>{De[`${Be}Setter`]=function(oe,ee){this[ee]=oe;let{alignByTranslate:be,element:xe,width:Ie,height:we,imgwidth:Ee,imgheight:Me}=this,Xe="width"===ee?Ee:Me,Je=1;x&&"within"===x.backgroundSize&&Ie&&we&&Ee&&Me?(Je=Math.min(Ie/Ee,we/Me),O(xe,{width:Math.round(Ee*Je),height:Math.round(Me*Je)})):xe&&Xe&&xe.setAttribute(ee,Xe),!be&&Ee&&Me&&this.translate(((Ie||0)-Ee*Je)/2,((we||0)-Me*Je)/2)}}),g(se)&&De.attr({x:se,y:S}),De.isImg=!0,g(De.imgwidth)&&g(De.imgheight)?Y(De):(De.attr({width:0,height:0}),f("img",{onload:function(){let Be=E[he.chartIndex];0===this.width&&(a(this,{position:"absolute",top:"-999em"}),F.body.appendChild(this)),m[Z]={width:this.width,height:this.height},De.imgwidth=this.width,De.imgheight=this.height,De.element&&Y(De),this.parentNode&&this.parentNode.removeChild(this),he.imgCount--,he.imgCount||!Be||Be.hasLoaded||Be.onload()},src:Z}),this.imgCount++)}return N}clipRect(U,se,S,$){return this.rect(U,se,S,$,0)}text(U,se,S,$){let H={};if($&&(this.allowHTML||!this.forExport))return this.html(U,se,S);H.x=Math.round(se||0),S&&(H.y=Math.round(S)),g(U)&&(H.text=U);let x=this.createElement("text").attr(H);return $&&(!this.forExport||this.allowHTML)||(x.xSetter=function(N,R,Z){let Y=Z.getElementsByTagName("tspan"),he=Z.getAttribute(R);for(let _e,ge=0;geU.align())}}return o(z.prototype,{Element:le,SVG_NS:_,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:ue,draw:I}),ve.registerRendererType("svg",z,!0),z}),Le(V,"Core/Renderer/HTML/HTMLElement.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{composed:le}=ne,{attr:pe,css:ue,createElement:J,defined:te,extend:X,pInt:E,pushUnique:j}=ve;function F(I,_,m){let w=this.div?.style||m.style;re.prototype[`${_}Setter`].call(this,I,_,m),w&&(w[_]=I)}let P=(I,_)=>{if(!I.div){let m=pe(I.element,"class"),w=I.css,G=J("div",m?{className:m}:void 0,{position:"absolute",left:`${I.translateX||0}px`,top:`${I.translateY||0}px`,...I.styles,display:I.display,opacity:I.opacity,visibility:I.visibility},I.parentGroup?.div||_);I.classSetter=(O,f,a)=>{a.setAttribute("class",O),G.className=O},I.translateXSetter=I.translateYSetter=(O,f)=>{I[f]=O,G.style["translateX"===f?"left":"top"]=`${O}px`,I.doTransform=!0},I.opacitySetter=I.visibilitySetter=F,I.css=O=>(w.call(I,O),O.cursor&&(G.style.cursor=O.cursor),O.pointerEvents&&(G.style.pointerEvents=O.pointerEvents),I),I.on=function(){return re.prototype.on.apply({element:G,onEvents:I.onEvents},arguments),I},I.div=G}return I.div};class D extends re{static compose(_){j(le,this.compose)&&(_.prototype.html=function(m,w,G){return new D(this,"span").attr({text:m,x:Math.round(w),y:Math.round(G)})})}constructor(_,m){super(_,m),this.css({position:"absolute",..._.styledMode?{}:{fontFamily:_.style.fontFamily,fontSize:_.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(_,m,w){this.xCorr=-_*w,this.yCorr=-m}css(_){let m,{element:w}=this,G="SPAN"===w.tagName&&_&&"width"in _,O=G&&_.width;return G&&(delete _.width,this.textWidth=E(O)||void 0,m=!0),"ellipsis"===_?.textOverflow&&(_.whiteSpace="nowrap",_.overflow="hidden"),X(this.styles,_),ue(w,_),m&&this.updateTransform(),this}htmlGetBBox(){let{element:_}=this;return{x:_.offsetLeft,y:_.offsetTop,width:_.offsetWidth,height:_.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:_,renderer:m,rotation:w,rotationOriginX:G,rotationOriginY:O,styles:f,textAlign:a="left",textWidth:g,translateX:v=0,translateY:o=0,x:n=0,y:r=0}=this,l=f.whiteSpace;if(ue(_,{marginLeft:`${v}px`,marginTop:`${o}px`}),"SPAN"===_.tagName){let k,d=[w,a,_.innerHTML,g,this.textAlign].join(","),C=-1*this.parentGroup?.padding||0,p=!1;if(g!==this.oldTextWidth){let U=this.textPxLength?this.textPxLength:(ue(_,{width:"",whiteSpace:l||"nowrap"}),_.offsetWidth),se=g||0;(se>this.oldTextWidth||U>se)&&(/[ \-]/.test(_.textContent||_.innerText)||"ellipsis"===_.style.textOverflow)&&(ue(_,{width:U>se||w?g+"px":"auto",display:"block",whiteSpace:l||"normal"}),this.oldTextWidth=g,p=!0)}this.hasBoxWidthChanged=p,d!==this.cTT&&(k=m.fontMetrics(_).b,te(w)&&(w!==(this.oldRotation||0)||a!==this.oldAlign)&&this.setSpanRotation(w,C,C),this.getSpanCorrection(!te(w)&&this.textPxLength||_.offsetWidth,k,{left:0,center:.5,right:1}[a]));let{xCorr:T=0,yCorr:B=0}=this;ue(_,{left:`${n+T}px`,top:`${r+B}px`,transformOrigin:`${(G??n)-T-n-C}px ${(O??r)-B-r-C}px`}),this.cTT=d,this.oldRotation=w,this.oldAlign=a}}setSpanRotation(_,m,w){ue(this.element,{transform:`rotate(${_}deg)`,transformOrigin:`${m}% ${w}px`})}add(_){let m,w=this.renderer.box.parentNode,G=[];if(this.parentGroup=_,_&&!(m=_.div)){let O=_;for(;O;)G.push(O),O=O.parentGroup;for(let f of G.reverse())m=P(f,w)}return(m||w).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(_){_!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,q.setElementHTML(this.element,_??""),this.textStr=_,this.doTransform=!0)}alignSetter(_){this.alignValue=this.textAlign=_,this.doTransform=!0}xSetter(_,m){this[m]=_,this.doTransform=!0}}let A=D.prototype;return A.visibilitySetter=A.opacitySetter=F,A.ySetter=A.rotationSetter=A.rotationOriginXSetter=A.rotationOriginYSetter=A.xSetter,D}),Le(V,"Core/Axis/AxisDefaults.js",[],function(){var q,ne;return(ne=q||(q={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},ne.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:re}=this.axis.chart;return re(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},q}),Le(V,"Core/Foundation.js",[V["Core/Utilities.js"]],function(q){var ne;let{addEvent:re,isFunction:ve,objectEach:le,removeEvent:pe}=q;return(ne||(ne={})).registerEventOptions=function(ue,J){ue.eventOptions=ue.eventOptions||{},le(J.events,function(te,X){ue.eventOptions[X]!==te&&(ue.eventOptions[X]&&(pe(ue,X,ue.eventOptions[X]),delete ue.eventOptions[X]),ve(te)&&(ue.eventOptions[X]=te,re(ue,X,te,{order:0})))})},ne}),Le(V,"Core/Axis/Tick.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{deg2rad:ve}=ne,{clamp:le,correctFloat:pe,defined:ue,destroyObjectProperties:J,extend:te,fireEvent:X,isNumber:E,merge:j,objectEach:F,pick:P}=re;return class{constructor(D,A,I,_,m){this.isNew=!0,this.isNewLabel=!0,this.axis=D,this.pos=A,this.type=I||"",this.parameters=m||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,X(this,"init"),I||_||this.addLabel()}addLabel(){let l,d,C,D=this,A=D.axis,I=A.options,_=A.chart,m=A.categories,w=A.logarithmic,G=A.names,O=D.pos,f=P(D.options&&D.options.labels,I.labels),a=A.tickPositions,g=O===a[0],v=O===a[a.length-1],o=(!f.step||1===f.step)&&1===A.tickInterval,n=a.info,r=D.label,k=this.parameters.category||(m?P(m[O],G[O],O):O);w&&E(k)&&(k=pe(w.lin2log(k))),A.dateTime&&(n?l=(d=_.time.resolveDTLFormat(I.dateTimeLabelFormats[!I.grid&&n.higherRanks[O]||n.unitName])).main:E(k)&&(l=A.dateTime.getXDateFormat(k,I.dateTimeLabelFormats||{}))),D.isFirst=g,D.isLast=v;let p={axis:A,chart:_,dateTimeLabelFormat:l,isFirst:g,isLast:v,pos:O,tick:D,tickPositionInfo:n,value:k};X(this,"labelFormat",p);let T=K=>f.formatter?f.formatter.call(K,K):f.format?(K.text=A.defaultLabelFormatter.call(K),q.format(f.format,K,_)):A.defaultLabelFormatter.call(K),B=T.call(p,p),z=d&&d.list;D.shortenLabel=z?function(){for(C=0;C0&&_+g*v>O&&(k=Math.round((m-_)/Math.cos(a*ve))):(d=_-g*v,C=_+(1-g)*v,dO&&(r=O-D.x+r*g,l=-1),(r=Math.min(o,r))r||A.autoRotation&&(f.styles||{}).width)&&(k=r)),k&&(this.shortenLabel?this.shortenLabel():(n.width=Math.floor(k)+"px",(I.style||{}).textOverflow||(n.textOverflow="ellipsis"),f.css(n)))}moveLabel(D,A){let G,I=this,_=I.label,m=I.axis,w=!1;_&&_.textStr===D?(I.movedLabel=_,w=!0,delete I.label):F(m.ticks,function(O){w||O.isNew||O===I||!O.label||O.label.textStr!==D||(I.movedLabel=O.label,w=!0,O.labelPos=I.movedLabel.xy,delete O.label)}),!w&&(I.labelPos||_)&&(G=I.labelPos||_.xy,I.movedLabel=I.createLabel(D,A,G),I.movedLabel&&I.movedLabel.attr({opacity:0}))}render(D,A,I){let _=this.axis,m=_.horiz,w=this.pos,G=P(this.tickmarkOffset,_.tickmarkOffset),O=this.getPosition(m,w,G,A),f=O.x,a=O.y,g=_.pos,v=g+_.len,o=m&&f===v||!m&&a===g?-1:1,n=m?f:a;!_.chart.polar&&this.isNew&&(pe(n)v)&&(I=0);let r=P(I,this.label&&this.label.newOpacity,1);I=P(I,1),this.isActive=!0,this.renderGridLine(A,I,o),this.renderMark(O,I,o),this.renderLabel(O,A,r,D),this.isNew=!1,X(this,"afterRender")}renderGridLine(D,A,I){let v,_=this.axis,m=_.options,w={},G=this.pos,O=this.type,f=P(this.tickmarkOffset,_.tickmarkOffset),a=_.chart.renderer,g=this.gridLine,o=m.gridLineWidth,n=m.gridLineColor,r=m.gridLineDashStyle;"minor"===this.type&&(o=m.minorGridLineWidth,n=m.minorGridLineColor,r=m.minorGridLineDashStyle),g||(_.chart.styledMode||(w.stroke=n,w["stroke-width"]=o||0,w.dashstyle=r),O||(w.zIndex=1),D&&(A=0),this.gridLine=g=a.path().attr(w).addClass("highcharts-"+(O?O+"-":"")+"grid-line").add(_.gridGroup)),g&&(v=_.getPlotLinePath({value:G+f,lineWidth:g.strokeWidth()*I,force:"pass",old:D,acrossPanes:!1}))&&g[D||this.isNew?"attr":"animate"]({d:v,opacity:A})}renderMark(D,A,I){let _=this.axis,m=_.options,w=_.chart.renderer,G=this.type,O=_.tickSize(G?G+"Tick":"tick"),f=D.x,a=D.y,g=P(m["minor"!==G?"tickWidth":"minorTickWidth"],!G&&_.isXAxis?1:0),v=m["minor"!==G?"tickColor":"minorTickColor"],o=this.mark,n=!o;O&&(_.opposite&&(O[0]=-O[0]),o||(this.mark=o=w.path().addClass("highcharts-"+(G?G+"-":"")+"tick").add(_.axisGroup),_.chart.styledMode||o.attr({stroke:v,"stroke-width":g})),o[n?"attr":"animate"]({d:this.getMarkPath(f,a,O[0],o.strokeWidth()*I,_.horiz,w),opacity:A}))}renderLabel(D,A,I,_){let m=this.axis,w=m.horiz,G=m.options,O=this.label,f=G.labels,a=f.step,g=P(this.tickmarkOffset,m.tickmarkOffset),v=D.x,o=D.y,n=!0;O&&E(v)&&(O.xy=D=this.getLabelPosition(v,o,O,w,f,g,_,a),this.isFirst&&!this.isLast&&!G.showFirstLabel||this.isLast&&!this.isFirst&&!G.showLastLabel?n=!1:!w||f.step||f.rotation||A||0===I||this.handleOverflow(D),a&&_%a&&(n=!1),n&&E(D.y)?(D.opacity=I,O[this.isNewLabel?"attr":"animate"](D).show(!0),this.isNewLabel=!1):(O.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let D=this.label,A=this.axis;D&&!this.isNew&&(D.animate({opacity:0},void 0,D.destroy),delete this.label),A.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),Le(V,"Core/Axis/Axis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/AxisDefaults.js"],V["Core/Color/Color.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Axis/Tick.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{animObject:te}=q,{xAxis:X,yAxis:E}=ne,{defaultOptions:j}=ve,{registerEventOptions:F}=le,{deg2rad:P}=pe,{arrayMax:D,arrayMin:A,clamp:I,correctFloat:_,defined:m,destroyObjectProperties:w,erase:G,error:O,extend:f,fireEvent:a,getClosestDistance:g,insertItem:v,isArray:o,isNumber:n,isString:r,merge:l,normalizeTickInterval:d,objectEach:C,pick:k,relativeLength:p,removeEvent:T,splat:B,syncTimeout:z}=J,K=(se,S)=>d(S,void 0,void 0,k(se.options.allowDecimals,S<.5||void 0!==se.tickAmount),!!se.tickAmount);f(j,{xAxis:X,yAxis:l(X,E)});class U{constructor(S,$,H){this.init(S,$,H)}init(S,$,H=this.coll){let x="xAxis"===H,N=this.isZAxis||(S.inverted?!x:x);this.chart=S,this.horiz=N,this.isXAxis=x,this.coll=H,a(this,"init",{userOptions:$}),this.opposite=k($.opposite,this.opposite),this.side=k($.side,this.side,N?this.opposite?0:2:this.opposite?1:3),this.setOptions($);let R=this.options,Z=R.labels,Y=R.type;this.userOptions=$,this.minPixelPadding=0,this.reversed=k(R.reversed,this.reversed),this.visible=R.visible,this.zoomEnabled=R.zoomEnabled,this.hasNames="category"===Y||!0===R.categories,this.categories=o(R.categories)&&R.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=m(R.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=R.minRange||R.maxZoom,this.range=R.range,this.offset=R.offset||0,this.max=void 0,this.min=void 0;let he=k(R.crosshair,B(S.options.tooltip.crosshairs)[x?0:1]);this.crosshair=!0===he?{}:he,-1===S.axes.indexOf(this)&&(x?S.axes.splice(S.xAxis.length,0,this):S.axes.push(this),v(this,S[this.coll])),S.orderItems(this.coll),this.series=this.series||[],S.inverted&&!this.isZAxis&&x&&!m(this.reversed)&&(this.reversed=!0),this.labelRotation=n(Z.rotation)?Z.rotation:void 0,F(this,R),a(this,"afterInit")}setOptions(S){this.options=l(this.horiz?{labels:{autoRotation:[-45]},margin:15}:{title:{rotation:90*this.side}},j[this.coll],S),a(this,"afterSetOptions",{userOptions:S})}defaultLabelFormatter(){let Te,Oe,S=this.axis,{numberFormatter:$}=this.chart,H=n(this.value)?this.value:NaN,x=S.chart.time,N=S.categories,R=this.dateTimeLabelFormat,Z=j.lang,Y=Z.numericSymbols,he=Z.numericSymbolMagnitude||1e3,ge=S.logarithmic?Math.abs(H):S.tickInterval,_e=Y&&Y.length;if(N)Oe=`${this.value}`;else if(R)Oe=x.dateFormat(R,H);else if(_e&&Y&&ge>=1e3)for(;_e--&&void 0===Oe;)ge>=(Te=Math.pow(he,_e+1))&&10*H%Te==0&&null!==Y[_e]&&0!==H&&(Oe=$(H/Te,-1)+Y[_e]);return void 0===Oe&&(Oe=Math.abs(H)>=1e4?$(H,-1):$(H,-1,void 0,"")),Oe}getSeriesExtremes(){let S,$=this;a(this,"getSeriesExtremes",null,function(){$.hasVisibleSeries=!1,$.dataMin=$.dataMax=$.threshold=void 0,$.softThreshold=!$.isXAxis,$.series.forEach(H=>{if(H.reserveSpace()){let N,Z,Y,x=H.options,R=x.threshold;if($.hasVisibleSeries=!0,$.positiveValuesOnly&&0>=(R||0)&&(R=void 0),$.isXAxis)(N=H.xData)&&N.length&&(N=$.logarithmic?N.filter(he=>he>0):N,Z=(S=H.getXExtremes(N)).min,Y=S.max,n(Z)||Z instanceof Date||(N=N.filter(n),Z=(S=H.getXExtremes(N)).min,Y=S.max),N.length&&($.dataMin=Math.min(k($.dataMin,Z),Z),$.dataMax=Math.max(k($.dataMax,Y),Y)));else{let he=H.applyExtremes();n(he.dataMin)&&(Z=he.dataMin,$.dataMin=Math.min(k($.dataMin,Z),Z)),n(he.dataMax)&&(Y=he.dataMax,$.dataMax=Math.max(k($.dataMax,Y),Y)),m(R)&&($.threshold=R),(!x.softThreshold||$.positiveValuesOnly)&&($.softThreshold=!1)}}})}),a(this,"afterGetSeriesExtremes")}translate(S,$,H,x,N,R){let Z=this.linkedParent||this,Y=x&&Z.old?Z.old.min:Z.min;if(!n(Y))return NaN;let he=Z.minPixelPadding,ge=(Z.isOrdinal||Z.brokenAxis?.hasBreaks||Z.logarithmic&&N)&&Z.lin2val,_e=1,Te=0,Oe=x&&Z.old?Z.old.transA:Z.transA,De=0;if(Oe||(Oe=Z.transA),H&&(_e*=-1,Te=Z.len),Z.reversed&&(_e*=-1,Te-=_e*(Z.sector||Z.len)),$)De=(S=S*_e+Te-he)/Oe+Y,ge&&(De=Z.lin2val(De));else{ge&&(S=Z.val2lin(S));let Be=_e*(S-Y)*Oe;De=(Z.isRadial?Be:_(Be))+Te+_e*he+(n(R)?Oe*R:0)}return De}toPixels(S,$){return this.translate(S,!1,!this.horiz,void 0,!0)+($?0:this.pos)}toValue(S,$){return this.translate(S-($?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(S){let De,Be,oe,ee,be,$=this,H=$.chart,x=$.left,N=$.top,R=S.old,Z=S.value,Y=S.lineWidth,he=R&&H.oldChartHeight||H.chartHeight,ge=R&&H.oldChartWidth||H.chartWidth,_e=$.transB,Te=S.translatedValue,Oe=S.force;function xe(we,Ee,Me){return"pass"!==Oe&&(weMe)&&(Oe?we=I(we,Ee,Me):be=!0),we}let Ie={value:Z,lineWidth:Y,old:R,force:Oe,acrossPanes:S.acrossPanes,translatedValue:Te};return a(this,"getPlotLinePath",Ie,function(we){De=oe=Math.round((Te=I(Te=k(Te,$.translate(Z,void 0,void 0,R)),-1e5,1e5))+_e),Be=ee=Math.round(he-Te-_e),n(Te)?$.horiz?(Be=N,ee=he-$.bottom+(H.scrollablePixelsY||0),De=oe=xe(De,x,x+$.width)):(De=x,oe=ge-$.right+(H.scrollablePixelsX||0),Be=ee=xe(Be,N,N+$.height)):(be=!0,Oe=!1),we.path=be&&!Oe?void 0:H.renderer.crispLine([["M",De,Be],["L",oe,ee]],Y||1)}),Ie.path}getLinearTickPositions(S,$,H){let x,N,R,Z=_(Math.floor($/S)*S),Y=_(Math.ceil(H/S)*S),he=[];if(_(Z+S)===Z&&(R=20),this.single)return[$];for(x=Z;x<=Y&&(he.push(x),(x=_(x+S,R))!==N);)N=x;return he}getMinorTickInterval(){let{minorTicks:S,minorTickInterval:$}=this.options;return!0===S?k($,"auto"):!1!==S?$:void 0}getMinorTickPositions(){let he,S=this.options,$=this.tickPositions,H=this.minorTickInterval,x=this.pointRangePadding||0,N=(this.min||0)-x,R=(this.max||0)+x,Z=R-N,Y=[];if(Z&&Z/H(ge.xIncrement?ge.xData?.slice(0,2):ge.xData)||[]))||0),this.dataMax-this.dataMin)),n(H)&&n(x)&&n(N)&&H-x=N,R=(N-H+x)/2,Y=[x-R,k(S.min,x-R)],Z&&(Y[2]=$?$.log2lin(this.dataMin):this.dataMin),he=[(x=D(Y))+N,k(S.max,x+N)],Z&&(he[2]=$?$.log2lin(this.dataMax):this.dataMax),(H=A(he))-xx-N),S=g([H]))}return S&&$?Math.min(S,$):S||$}nameToX(S){let N,$=o(this.options.categories),H=$?this.categories:this.names,x=S.options.x;return S.series.requireSorting=!1,m(x)||(x=this.options.uniqueNames&&H?$?H.indexOf(S.name):k(H.keys[S.name],-1):S.series.autoIncrement()),-1===x?!$&&H&&(N=H.length):N=x,void 0!==N?(this.names[N]=S.name,this.names.keys[S.name]=N):S.x&&(N=S.x),N}updateNames(){let S=this,$=this.names;$.length>0&&(Object.keys($.keys).forEach(function(H){delete $.keys[H]}),$.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(H=>{H.xIncrement=null,(!H.points||H.isDirtyData)&&(S.max=Math.max(S.max,H.xData.length-1),H.processData(),H.generatePoints()),H.data.forEach(function(x,N){let R;x?.options&&void 0!==x.name&&void 0!==(R=S.nameToX(x))&&R!==x.x&&(x.x=R,H.xData[N]=R)})}))}setAxisTranslation(){let Z,ge,S=this,$=S.max-S.min,H=S.linkedParent,x=!!S.categories,N=S.isXAxis,R=S.axisPointRange||0,Y=0,he=0,_e=S.transA;(N||x||R)&&(Z=S.getClosest(),H?(Y=H.minPointOffset,he=H.pointRangePadding):S.series.forEach(function(Te){let Oe=x?1:N?k(Te.options.pointRange,Z,0):S.axisPointRange||0,De=Te.options.pointPlacement;if(R=Math.max(R,Oe),!S.single||x){let Be=Te.is("xrange")?!N:N;Y=Math.max(Y,Be&&r(De)?0:Oe/2),he=Math.max(he,Be&&"on"===De?0:Oe)}}),ge=S.ordinal&&S.ordinal.slope&&Z?S.ordinal.slope/Z:1,S.minPointOffset=Y*=ge,S.pointRangePadding=he*=ge,S.pointRange=Math.min(R,S.single&&x?1:$),N&&Z&&(S.closestPointRange=Z)),S.translationSlope=S.transA=_e=S.staticScale||S.len/($+he||1),S.transB=S.horiz?S.left:S.bottom,S.minPixelPadding=_e*Y,a(this,"afterSetAxisTranslation")}minFromRange(){let{max:S,min:$}=this;return n(S)&&n($)&&S-$||void 0}setTickInterval(S){let Me,Je,lt,qe,st,{categories:$,chart:H,dataMax:x,dataMin:N,dateTime:R,isXAxis:Z,logarithmic:Y,options:he,softThreshold:ge}=this,_e=n(this.threshold)?this.threshold:void 0,Te=this.minRange||0,{ceiling:Oe,floor:De,linkedTo:Be,softMax:oe,softMin:ee}=he,be=n(Be)&&H[this.coll]?.[Be],xe=he.tickPixelInterval,Ie=he.maxPadding,we=he.minPadding,Ee=0,Xe=n(he.tickInterval)&&he.tickInterval>=0?he.tickInterval:void 0;if(R||$||be||this.getTickAmount(),qe=k(this.userMin,he.min),st=k(this.userMax,he.max),be?(this.linkedParent=be,Me=be.getExtremes(),this.min=k(Me.min,Me.dataMin),this.max=k(Me.max,Me.dataMax),he.type!==be.options.type&&O(11,!0,H)):(ge&&m(_e)&&n(x)&&n(N)&&(N>=_e?(Je=_e,we=0):x<=_e&&(lt=_e,Ie=0)),this.min=k(qe,Je,N),this.max=k(st,lt,x)),n(this.max)&&n(this.min)&&(Y&&(this.positiveValuesOnly&&!S&&0>=Math.min(this.min,k(N,this.min))&&O(10,!0,H),this.min=_(Y.log2lin(this.min),16),this.max=_(Y.log2lin(this.max),16)),this.range&&n(N)&&(this.userMin=this.min=qe=Math.max(N,this.minFromRange()||0),this.userMax=st=this.max,this.range=void 0)),a(this,"foundExtremes"),this.adjustForMinRange(),n(this.min)&&n(this.max)){if(!n(this.userMin)&&n(ee)&&eethis.max&&(this.max=st=oe),$||this.axisPointRange||this.stacking?.usePercentage||be||!(Ee=this.max-this.min)||(!m(qe)&&we&&(this.min-=Ee*we),m(st)||!Ie||(this.max+=Ee*Ie)),!n(this.userMin)&&n(De)&&(this.min=Math.max(this.min,De)),!n(this.userMax)&&n(Oe)&&(this.max=Math.min(this.max,Oe)),ge&&n(N)&&n(x)){let pt=_e||0;!m(qe)&&this.min=pt?this.min=he.minRange?Math.min(pt,this.max-Te):pt:!m(st)&&this.max>pt&&x<=pt&&(this.max=he.minRange?Math.max(pt,this.min+Te):pt)}!H.polar&&this.min>this.max&&(m(he.min)?this.max=this.min:m(he.max)&&(this.min=this.max)),Ee=this.max-this.min}if(this.tickInterval=this.min!==this.max&&n(this.min)&&n(this.max)?be&&!Xe&&xe===be.options.tickPixelInterval?Xe=be.tickInterval:k(Xe,this.tickAmount?Ee/Math.max(this.tickAmount-1,1):void 0,$?1:Ee*xe/Math.max(this.len,xe)):1,Z&&!S){let pt=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(ht){ht.forceCrop=ht.forceCropping?.(),ht.processData(pt)}),a(this,"postProcessData",{hasExtremesChanged:pt})}this.setAxisTranslation(),a(this,"initialAxisTranslation"),this.pointRange&&!Xe&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let Tt=k(he.minTickInterval,R&&!this.series.some(pt=>pt.noSharedTooltip)?this.closestPointRange:0);!Xe&&this.tickIntervalMath.max(2*this.len,200))Y=[this.min,this.max],O(19,!1,this.chart);else if(this.dateTime)Y=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,S.units),this.min,this.max,S.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)Y=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let ge=this.tickInterval,_e=ge;for(;_e<=2*ge&&(Y=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&Y.length>this.tickAmount);)this.tickInterval=K(this,_e*=1.1)}Y.length>this.len&&(Y=[Y[0],Y[Y.length-1]])[0]===Y[1]&&(Y.length=1),H&&(this.tickPositions=Y,(he=H.apply(this,[this.min,this.max]))&&(Y=he))}this.tickPositions=Y,this.paddedTicks=Y.slice(0),this.trimTicks(Y,R,Z),!this.isLinked&&n(this.min)&&n(this.max)&&(this.single&&Y.length<2&&!this.categories&&!this.series.some(ge=>ge.is("heatmap")&&"between"===ge.options.pointPlacement)&&(this.min-=.5,this.max+=.5),$||he||this.adjustTickAmount()),a(this,"afterSetTickPositions")}trimTicks(S,$,H){let x=S[0],N=S[S.length-1],R=!this.isOrdinal&&this.minPointOffset||0;if(a(this,"trimTicks"),!this.isLinked){if($&&x!==-1/0)this.min=x;else for(;this.min-R>S[0];)S.shift();if(H)this.max=N;else for(;this.max+R{let{horiz:Te,options:Oe}=_e;return[Te?Oe.left:Oe.top,Oe.width,Oe.height,Oe.pane].join(",")},ge=he(this);H[this.coll].forEach(function(_e){let{series:Te}=_e;Te.length&&Te.some(Oe=>Oe.visible)&&_e!==$&&he(_e)===ge&&(S=!0,x.push(_e))})}if(S&&Z){x.forEach(ge=>{let _e=ge.getThresholdAlignment($);n(_e)&&Y.push(_e)});let he=Y.length>1?Y.reduce((ge,_e)=>ge+_e,0)/Y.length:void 0;x.forEach(ge=>{ge.thresholdAlignment=he})}return S}getThresholdAlignment(S){if((!n(this.dataMin)||this!==S&&this.series.some($=>$.isDirty||$.isDirtyData))&&this.getSeriesExtremes(),n(this.threshold)){let $=I((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&($=1-$),$}}getTickAmount(){let S=this.options,$=S.tickPixelInterval,H=S.tickAmount;m(S.tickInterval)||H||!(this.len<$)||this.isRadial||this.logarithmic||!S.startOnTick||!S.endOnTick||(H=2),!H&&this.alignToOthers()&&(H=Math.ceil(this.len/$)+1),H<4&&(this.finalTickAmt=H,H=5),this.tickAmount=H}adjustTickAmount(){let _e,Te,De,S=this,{finalTickAmt:$,max:H,min:x,options:N,tickPositions:R,tickAmount:Z,thresholdAlignment:Y}=S,he=R?.length,ge=k(S.threshold,S.softThreshold?0:null),Oe=S.tickInterval,Be=()=>R.push(_(R[R.length-1]+Oe)),oe=()=>R.unshift(_(R[0]-Oe));if(n(Y)&&(De=Y<.5?Math.ceil(Y*(Z-1)):Math.floor(Y*(Z-1)),N.reversed&&(De=Z-1-De)),S.hasData()&&n(x)&&n(H)){let ee=()=>{S.transA*=(he-1)/(Z-1),S.min=N.startOnTick?R[0]:Math.min(x,R[0]),S.max=N.endOnTick?R[R.length-1]:Math.max(H,R[R.length-1])};if(n(De)&&n(S.threshold)){for(;R[De]!==ge||R.length!==Z||R[0]>x||R[R.length-1]S.threshold?oe():Be();if(Oe>8*S.tickInterval)break;Oe*=2}ee()}else if(he0&&Te<_e-1)&&R.splice(Te,1);S.finalTickAmt=void 0}}}setScale(){let{coll:S,stacking:$}=this,H=!1,x=!1;this.series.forEach(R=>{H=H||R.isDirtyData||R.isDirty,x=x||R.xAxis&&R.xAxis.isDirty||!1}),this.setAxisSize();let N=this.len!==(this.old&&this.old.len);N||H||x||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?($&&"yAxis"===S&&$.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),$&&"xAxis"===S&&$.buildStacks(),this.isDirty||(this.isDirty=N||this.min!==this.old?.min||this.max!==this.old?.max)):$&&$.cleanStacks(),H&&delete this.allExtremes,a(this,"afterSetScale")}setExtremes(S,$,H=!0,x,N){this.series.forEach(R=>{delete R.kdTree}),a(this,"setExtremes",N=f(N,{min:S,max:$}),R=>{this.userMin=R.min,this.userMax=R.max,this.eventArgs=R,H&&this.chart.redraw(x)})}setAxisSize(){let S=this.chart,$=this.options,H=$.offsets||[0,0,0,0],x=this.horiz,N=this.width=Math.round(p(k($.width,S.plotWidth-H[3]+H[1]),S.plotWidth)),R=this.height=Math.round(p(k($.height,S.plotHeight-H[0]+H[2]),S.plotHeight)),Z=this.top=Math.round(p(k($.top,S.plotTop+H[0]),S.plotHeight,S.plotTop)),Y=this.left=Math.round(p(k($.left,S.plotLeft+H[3]),S.plotWidth,S.plotLeft));this.bottom=S.chartHeight-R-Z,this.right=S.chartWidth-N-Y,this.len=Math.max(x?N:R,0),this.pos=x?Y:Z}getExtremes(){let S=this.logarithmic;return{min:S?_(S.lin2log(this.min)):this.min,max:S?_(S.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(S){let $=this.logarithmic,H=$?$.lin2log(this.min):this.min,x=$?$.lin2log(this.max):this.max;return null===S||S===-1/0?S=H:S===1/0?S=x:H>S?S=H:x15&&$<165?x.align="right":$>195&&$<345&&(x.align="left")}),H.align}tickSize(S){let N,$=this.options,H=k($["tick"===S?"tickWidth":"minorTickWidth"],"tick"===S&&this.isXAxis&&!this.categories?1:0),x=$["tick"===S?"tickLength":"minorTickLength"];H&&x&&("inside"===$[S+"Position"]&&(x=-x),N=[x,H]);let R={tickSize:N};return a(this,"afterTickSize",R),R.tickSize}labelMetrics(){let S=this.chart.renderer,$=this.ticks,H=$[Object.keys($)[0]]||{};return this.chart.renderer.fontMetrics(H.label||H.movedLabel||S.box)}unsquish(){let ge,Te,S=this.options.labels,$=this.horiz,H=this.tickInterval,x=this.len/(((this.categories?1:0)+this.max-this.min)/H),N=S.rotation,R=this.labelMetrics().h,Z=Math.max(this.max-this.min,0),Y=function(Oe){let De=Oe/(x||1);return(De=De>1?Math.ceil(De):1)*H>Z&&Oe!==1/0&&x!==1/0&&Z&&(De=Math.ceil(Z/H)),_(De*H)},he=H,_e=Number.MAX_VALUE;if($){if(!S.staggerLines&&(n(N)?Te=[N]:x=-90&&Be<=90)&&(De=(Oe=Y(Math.abs(R/Math.sin(P*Be))))+Math.abs(Be/360))<_e&&(_e=De,ge=Be,he=Oe)}}else he=Y(.75*R);return this.autoRotation=Te,this.labelRotation=k(ge,n(N)?N:0),S.step?H:he}getSlotWidth(S){let $=this.chart,H=this.horiz,x=this.options.labels,N=Math.max(this.tickPositions.length-(this.categories?0:1),1),R=$.margin[3];if(S&&n(S.slotWidth))return S.slotWidth;if(H&&x.step<2)return x.rotation?0:(this.staggerLines||1)*this.len/N;if(!H){let Z=x.style.width;if(void 0!==Z)return parseInt(String(Z),10);if(R)return R-$.spacing[3]}return.33*$.chartWidth}renderUnsquish(){let Oe,De,oe,ee,S=this.chart,$=S.renderer,H=this.tickPositions,x=this.ticks,N=this.options.labels,R=N.style,Z=this.horiz,Y=this.getSlotWidth(),he=Math.max(1,Math.round(Y-2*N.padding)),ge={},_e=this.labelMetrics(),Te=R.textOverflow,Be=0;if(r(N.rotation)||(ge.rotation=N.rotation||0),H.forEach(function(be){let xe=x[be];xe.movedLabel&&xe.replaceMovedLabel(),xe&&xe.label&&xe.label.textPxLength>Be&&(Be=xe.label.textPxLength)}),this.maxLabelLength=Be,this.autoRotation)Be>he&&Be>_e.h?ge.rotation=this.labelRotation:this.labelRotation=0;else if(Y&&(Oe=he,!Te))for(De="clip",ee=H.length;!Z&&ee--;)(oe=x[H[ee]].label)&&("ellipsis"===oe.styles.textOverflow?oe.css({textOverflow:"clip"}):oe.textPxLength>Y&&oe.css({width:Y+"px"}),oe.getBBox().height>this.len/H.length-(_e.h-_e.f)&&(oe.specificTextOverflow="ellipsis"));ge.rotation&&(Oe=Be>.5*S.chartHeight?.33*S.chartHeight:Be,Te||(De="ellipsis")),this.labelAlign=N.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(ge.align=this.labelAlign),H.forEach(function(be){let xe=x[be],Ie=xe&&xe.label,we=R.width,Ee={};Ie&&(Ie.attr(ge),xe.shortenLabel?xe.shortenLabel():Oe&&!we&&"nowrap"!==R.whiteSpace&&(OeN.g(Z).attr({zIndex:he}).addClass(`highcharts-${H.toLowerCase()}${Y} `+(this.isRadial?`highcharts-radial-axis${Y} `:"")+(x.className||"")).add(S);this.axisGroup||(this.gridGroup=R("grid","-grid",x.gridZIndex),this.axisGroup=R("axis","",x.zIndex),this.labelGroup=R("axis-labels","-labels",x.labels.zIndex))}getOffset(){let ee,xe,Ee,Me,S=this,{chart:$,horiz:H,options:x,side:N,ticks:R,tickPositions:Z,coll:Y}=S,he=$.inverted&&!S.isZAxis?[1,0,3,2][N]:N,ge=S.hasData(),_e=x.title,Te=x.labels,Oe=n(x.crossing),De=$.axisOffset,Be=$.clipOffset,oe=[-1,1,1,-1][N],be=0,Ie=0,we=0;if(S.showAxis=ee=ge||x.showEmpty,S.staggerLines=S.horiz&&Te.staggerLines||void 0,S.createGroups(),ge||S.isLinked?(Z.forEach(function(Xe){S.generateTick(Xe)}),S.renderUnsquish(),S.reserveSpaceDefault=0===N||2===N||{1:"left",3:"right"}[N]===S.labelAlign,k(Te.reserveSpace,!Oe&&null,"center"===S.labelAlign||null,S.reserveSpaceDefault)&&Z.forEach(function(Xe){we=Math.max(R[Xe].getLabelSize(),we)}),S.staggerLines&&(we*=S.staggerLines),S.labelOffset=we*(S.opposite?-1:1)):C(R,function(Xe,Je){Xe.destroy(),delete R[Je]}),_e?.text&&!1!==_e.enabled&&(S.addTitle(ee),ee&&!Oe&&!1!==_e.reserveSpace&&(S.titleOffset=be=S.axisTitle.getBBox()[H?"height":"width"],Ie=m(xe=_e.offset)?0:k(_e.margin,H?5:10))),S.renderLine(),S.offset=oe*k(x.offset,De[N]?De[N]+(x.margin||0):0),S.tickRotCorr=S.tickRotCorr||{x:0,y:0},Me=0===N?-S.labelMetrics().h:2===N?S.tickRotCorr.y:0,Ee=Math.abs(we)+Ie,we&&(Ee-=Me,Ee+=oe*(H?k(Te.y,S.tickRotCorr.y+oe*Te.distance):k(Te.x,oe*Te.distance))),S.axisTitleMargin=k(xe,Ee),S.getMaxLabelDimensions&&(S.maxLabelDimensions=S.getMaxLabelDimensions(R,Z)),"colorAxis"!==Y){let Xe=this.tickSize("tick");De[N]=Math.max(De[N],(S.axisTitleMargin||0)+be+oe*S.offset,Ee,Z&&Z.length&&Xe?Xe[0]+oe*S.offset:0);let Je=!S.axisLine||x.offset?0:2*Math.floor(S.axisLine.strokeWidth()/2);Be[he]=Math.max(Be[he],Je)}a(this,"afterGetOffset")}getLinePath(S){let $=this.chart,H=this.opposite,x=this.offset,N=this.horiz,R=this.left+(H?this.width:0)+x,Z=$.chartHeight-this.bottom-(H?this.height:0)+x;return H&&(S*=-1),$.renderer.crispLine([["M",N?this.left:R,N?Z:this.top],["L",N?$.chartWidth-this.right:R,N?Z:$.chartHeight-this.bottom]],S)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(S){let $=this.horiz,H=this.left,x=this.top,N=this.len,R=this.options.title,Z=$?H:x,Y=this.opposite,he=this.offset,ge=R.x,_e=R.y,Te=this.chart.renderer.fontMetrics(S),Oe=S?Math.max(S.getBBox(!1,0).height-Te.h-1,0):0,De={low:Z+($?0:N),middle:Z+N/2,high:Z+($?N:0)}[R.align],Be=($?x+this.height:H)+($?1:-1)*(Y?-1:1)*(this.axisTitleMargin||0)+[-Oe,Oe,Te.f,-Oe][this.side],oe={x:$?De+ge:Be+(Y?this.width:0)+he+ge,y:$?Be+_e-(Y?this.height:0)+he:De+_e};return a(this,"afterGetTitlePosition",{titlePosition:oe}),oe}renderMinorTick(S,$){let H=this.minorTicks;H[S]||(H[S]=new ue(this,S,"minor")),$&&H[S].isNew&&H[S].render(null,!0),H[S].render(null,!1,1)}renderTick(S,$,H){let N=this.ticks;(!this.isLinked||S>=this.min&&S<=this.max||this.grid&&this.grid.isColumn)&&(N[S]||(N[S]=new ue(this,S)),H&&N[S].isNew&&N[S].render($,!0,-1),N[S].render($))}render(){let S,$,H=this,x=H.chart,N=H.logarithmic,Z=H.options,Y=H.isLinked,he=H.tickPositions,ge=H.axisTitle,_e=H.ticks,Te=H.minorTicks,Oe=H.alternateBands,De=Z.stackLabels,Be=Z.alternateGridColor,oe=Z.crossing,ee=H.tickmarkOffset,be=H.axisLine,xe=H.showAxis,Ie=te(x.renderer.globalAnimation);if(H.labelEdge.length=0,H.overlap=!1,[_e,Te,Oe].forEach(function(we){C(we,function(Ee){Ee.isActive=!1})}),n(oe)){let we=this.isXAxis?x.yAxis[0]:x.xAxis[0],Ee=[1,-1,-1,1][this.side];if(we){let Me=we.toPixels(oe,!0);H.horiz&&(Me=we.len-Me),H.offset=Ee*Me}}if(H.hasData()||Y){let we=H.chart.hasRendered&&H.old&&n(H.old.min);H.minorTickInterval&&!H.categories&&H.getMinorTickPositions().forEach(function(Ee){H.renderMinorTick(Ee,we)}),he.length&&(he.forEach(function(Ee,Me){H.renderTick(Ee,Me,we)}),ee&&(0===H.min||H.single)&&(_e[-1]||(_e[-1]=new ue(H,-1,null,!0)),_e[-1].render(-1))),Be&&he.forEach(function(Ee,Me){$=void 0!==he[Me+1]?he[Me+1]+ee:H.max-ee,Me%2==0&&Ee=.5)E=Math.round(E),_=D.getLinearTickPositions(E,j,F);else if(E>=.08){let m,w,G,O,f,a,g;for(m=E>.3?[1,2,4]:E>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],w=Math.floor(j);wj&&(!P||a<=F)&&void 0!==a&&_.push(a),a>F&&(g=!0),a=f}else{let m=this.lin2log(j),w=this.lin2log(F),G=P?D.getMinorTickInterval():I.tickInterval;E=ve(E=le("auto"===G?null:G,this.minorAutoInterval,I.tickPixelInterval/(P?5:1)*(w-m)/((P?A/D.tickPositions.length:A)||1))),_=D.getLinearTickPositions(E,m,w).map(this.log2lin),P||(this.minorAutoInterval=E/5)}return P||(D.tickInterval=E),_}lin2log(E){return Math.pow(10,E)}log2lin(E){return Math.log(E)/Math.LN10}}pe.Additions=te}(ne||(ne={})),ne}),Le(V,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[V["Core/Utilities.js"]],function(q){var ne;let{erase:re,extend:ve,isNumber:le}=q;return function(pe){let ue;function J(D){return this.addPlotBandOrLine(D,"plotBands")}function te(D,A){let I=this.userOptions,_=new ue(this,D);if(this.visible&&(_=_.render()),_){if(this._addedPlotLB||(this._addedPlotLB=!0,(I.plotLines||[]).concat(I.plotBands||[]).forEach(m=>{this.addPlotBandOrLine(m)})),A){let m=I[A]||[];m.push(D),I[A]=m}this.plotLinesAndBands.push(_)}return _}function X(D){return this.addPlotBandOrLine(D,"plotLines")}function E(D,A,I){let f,g,_=this.getPlotLinePath({value:A,force:!0,acrossPanes:(I=I||this.options).acrossPanes}),m=[],w=this.horiz,G=!le(this.min)||!le(this.max)||Dthis.max&&A>this.max,O=this.getPlotLinePath({value:D,force:!0,acrossPanes:I.acrossPanes}),a=1;if(O&&_)for(G&&(g=O.toString()===_.toString(),a=0),f=0;f{r?.on(K,U=>{m[K].apply(this,[U])})}),this.eventsAdded=!0),!p&&r.d||!l?.length?r&&(l?(r.show(),r.animate({d:l})):r.d&&(r.hide(),n&&(this.label=n=n.destroy()))):r.attr({d:l}),o&&(le(o.text)||le(o.formatter))&&l?.length&&P.width>0&&P.height>0&&!l.isFlat?(o=te({align:A&&C&&"center",x:A?!C&&4:10,verticalAlign:!A&&C&&"middle",y:A?C?16:10:C?6:-4,rotation:A&&!C&&90},o),this.renderLabel(o,l,C,w)):n&&n.hide(),this}renderLabel(P,D,A,I){let _=this.axis,w=this.label;w||(this.label=w=_.chart.renderer.text(this.getLabelText(P),0,0,P.useHTML).attr({align:P.textAlign||P.align,rotation:P.rotation,class:"highcharts-plot-"+(A?"band":"line")+"-label"+(P.className||""),zIndex:I}),_.chart.styledMode||w.css(te({fontSize:"0.8em",textOverflow:"ellipsis"},P.style)),w.add());let G=D.xBounds||[D[0][1],D[1][1],A?D[2][1]:D[0][1]],O=D.yBounds||[D[0][2],D[1][2],A?D[2][2]:D[0][2]],f=ve(G),a=ve(O);w.align(P,!1,{x:f,y:a,width:re(G)-f,height:re(O)-a}),w.alignValue&&"left"!==w.alignValue||w.css({width:(90===w.rotation?_.height-(w.alignAttr.y-_.top):(P.clip?_.width:_.chart.chartWidth)-(w.alignAttr.x-_.left))+"px"}),w.show(!0)}getLabelText(P){return le(P.formatter)?P.formatter.call(this):P.text}destroy(){ue(this.axis.plotLinesAndBands,this),delete this.axis,pe(this)}}return j}),Le(V,"Core/Tooltip.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{format:ue}=q,{composed:J,doc:te,isSafari:X}=ne,{distribute:E}=re,{addEvent:j,clamp:F,css:P,discardElement:D,extend:A,fireEvent:I,isArray:_,isNumber:m,isString:w,merge:G,pick:O,pushUnique:f,splat:a,syncTimeout:g}=le;class v{constructor(n,r,l){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=n,this.init(n,r),this.pointer=l}bodyFormatter(n){return n.map(function(r){let l=r.series.tooltipOptions;return(l[(r.point.formatPrefix||"point")+"Formatter"]||r.point.tooltipFormatter).call(r.point,l[(r.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(n){this.chart.series.forEach(function(r){let l=r&&r.tt;l&&(!l.isActive||n?r.tt=l.destroy():l.isActive=!1)})}defaultFormatter(n){let r,l=this.points||a(this);return(r=(r=[n.tooltipFooterHeaderFormatter(l[0])]).concat(n.bodyFormatter(l))).push(n.tooltipFooterHeaderFormatter(l[0],!0)),r}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),D(this.container)),le.clearTimeout(this.hideTimer),le.clearTimeout(this.tooltipTimeout)}getAnchor(n,r){let l,{chart:d,pointer:C}=this,k=d.inverted,p=d.plotTop,T=d.plotLeft;if((n=a(n))[0].series&&n[0].series.yAxis&&!n[0].series.yAxis.options.reversedStacks&&(n=n.slice().reverse()),this.followPointer&&r)void 0===r.chartX&&(r=C.normalize(r)),l=[r.chartX-T,r.chartY-p];else if(n[0].tooltipPos)l=n[0].tooltipPos;else{let B=0,z=0;n.forEach(function(K){let U=K.pos(!0);U&&(B+=U[0],z+=U[1])}),B/=n.length,z/=n.length,this.shared&&n.length>1&&r&&(k?B=r.chartX:z=r.chartY),l=[B-T,z-p]}return l.map(Math.round)}getClassName(n,r,l){let C=n.series,k=C.options;return[this.options.className,"highcharts-label",l&&"highcharts-tooltip-header",r?"highcharts-tooltip-box":"highcharts-tooltip",!l&&"highcharts-color-"+O(n.colorIndex,C.colorIndex),k&&k.className].filter(w).join(" ")}getLabel(){let n=this,r=this.chart.styledMode,l=this.options,d=this.split&&this.allowShared,C=this.container,k=this.chart.renderer;if(this.label){let p=!this.label.hasClass("highcharts-label");(!d&&p||d&&!p)&&this.destroy()}if(!this.label){if(this.outside){let p=this.chart.options.chart.style,T=ve.getRendererType();this.container=C=ne.doc.createElement("div"),C.className="highcharts-tooltip-container",P(C,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(p&&p.zIndex||0)+3)}),this.renderer=k=new T(C,0,0,p,void 0,void 0,k.styledMode)}if(d?this.label=k.g("tooltip"):(this.label=k.label("",0,0,l.shape,void 0,void 0,l.useHTML,void 0,"tooltip").attr({padding:l.padding,r:l.borderRadius}),r||this.label.attr({fill:l.backgroundColor,"stroke-width":l.borderWidth||0}).css(l.style).css({pointerEvents:l.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),n.outside){let p=this.label,{xSetter:T,ySetter:B}=p;p.xSetter=function(z){T.call(p,n.distance),C&&(C.style.left=z+"px")},p.ySetter=function(z){B.call(p,n.distance),C&&(C.style.top=z+"px")}}this.label.attr({zIndex:8}).shadow(l.shadow).add()}return C&&!C.parentElement&&ne.doc.body.appendChild(C),this.label}getPlayingField(){let{body:n,documentElement:r}=te,{chart:l,distance:d,outside:C}=this;return{width:C?Math.max(n.scrollWidth,r.scrollWidth,n.offsetWidth,r.offsetWidth,r.clientWidth)-2*d:l.chartWidth,height:C?Math.max(n.scrollHeight,r.scrollHeight,n.offsetHeight,r.offsetHeight,r.clientHeight):l.chartHeight}}getPosition(n,r,l){let _e,{distance:d,chart:C,outside:k,pointer:p}=this,{inverted:T,plotLeft:B,plotTop:z,polar:K}=C,{plotX:U=0,plotY:se=0}=l,S={},$=T&&l.h||0,{height:H,width:x}=this.getPlayingField(),N=p.getChartPosition(),R=be=>be*N.scaleX,Z=be=>be*N.scaleY,Y=be=>{let xe="x"===be;return[be,xe?x:H,xe?n:r].concat(k?[xe?R(n):Z(r),xe?N.left-d+R(U+B):N.top-d+Z(se+z),0,xe?x:H]:[xe?n:r,xe?U+B:se+z,xe?B:z,xe?B+C.plotWidth:z+C.plotHeight])},he=Y("y"),ge=Y("x"),Te=!!l.negative;!K&&C.hoverSeries?.yAxis?.reversed&&(Te=!Te);let Oe=!this.followPointer&&O(l.ttBelow,!K&&!T===Te),De=function(be,xe,Ie,we,Ee,Me,Xe){let Je=k?"y"===be?Z(d):R(d):d,lt=(Ie-we)/2,qe=wexe?pt:pt+$)}},Be=function(be,xe,Ie,we,Ee){if(Eexe-d)return!1;S[be]=Eexe-we/2?xe-we-2:Ee-Ie/2},oe=function(be){[he,ge]=[ge,he],_e=be},ee=()=>{!1!==De.apply(0,he)?!1!==Be.apply(0,ge)||_e||(oe(!0),ee()):_e?S.x=S.y=0:(oe(!0),ee())};return(T&&!K||this.len>1)&&oe(),ee(),S}hide(n){let r=this;le.clearTimeout(this.hideTimer),n=O(n,this.options.hideDelay),this.isHidden||(this.hideTimer=g(function(){let l=r.getLabel();r.getLabel().animate({opacity:0},{duration:n&&150,complete:()=>{l.hide(),r.container&&r.container.remove()}}),r.isHidden=!0},n))}init(n,r){this.chart=n,this.options=r,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=r.split&&!n.inverted&&!n.polar,this.shared=r.shared||this.split,this.outside=O(r.outside,!(!n.scrollablePixelsX&&!n.scrollablePixelsY))}shouldStickOnContact(n){return!(this.followPointer||!this.options.stickOnContact||n&&!this.pointer.inClass(n.target,"highcharts-tooltip"))}move(n,r,l,d){let C=this,k=C.now,p=!1!==C.options.animation&&!C.isHidden&&(Math.abs(n-k.x)>1||Math.abs(r-k.y)>1),T=C.followPointer||C.len>1;A(k,{x:p?(2*k.x+n)/3:n,y:p?(k.y+r)/2:r,anchorX:T?void 0:p?(2*k.anchorX+l)/3:l,anchorY:T?void 0:p?(k.anchorY+d)/2:d}),C.getLabel().attr(k),C.drawTracker(),p&&(le.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){C&&C.move(n,r,l,d)},32))}refresh(n,r){let{chart:l,options:d,pointer:C,shared:k}=this,p=a(n),T=p[0],B=[],z=d.format,K=d.formatter||this.defaultFormatter,U=l.styledMode,se={};if(!d.enabled||!T.series)return;le.clearTimeout(this.hideTimer),this.allowShared=!(!_(n)&&n.series&&n.series.noSharedTooltip),this.followPointer=!this.split&&T.series.tooltipOptions.followPointer;let S=this.getAnchor(n,r),$=S[0],H=S[1];k&&this.allowShared?(C.applyInactiveState(p),p.forEach(function(R){R.setState("hover"),B.push(R.getLabelConfig())}),(se=T.getLabelConfig()).points=B):se=T.getLabelConfig(),this.len=B.length;let x=w(z)?ue(z,se,l):K.call(se,this),N=T.series;if(this.distance=O(N.tooltipOptions.distance,16),!1===x)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(x,p);else{let R=$,Z=H;if(r&&C.isDirectTouch&&(R=r.chartX-l.plotLeft,Z=r.chartY-l.plotTop),!l.polar&&!1!==N.options.clip&&!p.some(Y=>C.isDirectTouch||Y.series.shouldShowTooltip(R,Z)))return void this.hide();{let Y=this.getLabel();(!d.style.width||U)&&Y.css({width:(this.outside?this.getPlayingField():l.spacingBox).width+"px"}),Y.attr({text:x&&x.join?x.join(""):x}),Y.addClass(this.getClassName(T),!0),U||Y.attr({stroke:d.borderColor||T.color||N.color||"#666666"}),this.updatePosition({plotX:$,plotY:H,negative:T.negative,ttBelow:T.ttBelow,h:S[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}I(this,"refresh")}renderSplit(n,r){let l=this,{chart:d,chart:{chartWidth:C,chartHeight:k,plotHeight:p,plotLeft:T,plotTop:B,scrollablePixelsY:z=0,scrollablePixelsX:K,styledMode:U},distance:se,options:S,options:{positioner:$},pointer:H}=l,{scrollLeft:x=0,scrollTop:N=0}=d.scrollablePlotArea?.scrollingContainer||{},R=l.outside&&"number"!=typeof K?te.documentElement.getBoundingClientRect():{left:x,right:x+C,top:N,bottom:N+k},Z=l.getLabel(),Y=this.renderer||d.renderer,he=!(!d.xAxis[0]||!d.xAxis[0].opposite),{left:ge,top:_e}=H.getChartPosition(),Te=B+N,Oe=0,De=p-z;function Be(we,Ee,Me,Xe,Je=!0){let lt,qe;return Me?(lt=he?0:De,qe=F(we-Xe/2,R.left,R.right-Xe-(l.outside?ge:0))):(lt=Ee-Te,qe=F(qe=Je?we-Xe-se:we+se,Je?qe:R.left,R.right)),{x:qe,y:lt}}w(n)&&(n=[!1,n]);let oe=n.slice(0,r.length+1).reduce(function(we,Ee,Me){if(!1!==Ee&&""!==Ee){let Xe=r[Me-1]||{isHeader:!0,plotX:r[0].plotX,plotY:p,series:{}},Je=Xe.isHeader,lt=Je?l:Xe.series,qe=lt.tt=function(Pt,Gt,ti){let Dt=Pt,{isHeader:It,series:xt}=Gt;if(!Dt){let wt={padding:S.padding,r:S.borderRadius};U||(wt.fill=S.backgroundColor,wt["stroke-width"]=S.borderWidth??1),Dt=Y.label("",0,0,S[It?"headerShape":"shape"],void 0,void 0,S.useHTML).addClass(l.getClassName(Gt,!0,It)).attr(wt).add(Z)}return Dt.isActive=!0,Dt.attr({text:ti}),U||Dt.css(S.style).attr({stroke:S.borderColor||Gt.color||xt.color||"#333333"}),Dt}(lt.tt,Xe,Ee.toString()),st=qe.getBBox(),Tt=st.width+qe.strokeWidth();Je&&(Oe=st.height,De+=Oe,he&&(Te-=Oe));let{anchorX:pt,anchorY:ht}=function(Pt){let Gt,ti,{isHeader:Dt,plotX:It=0,plotY:xt=0,series:wt}=Pt;if(Dt)Gt=Math.max(T+It,T),ti=B+p/2;else{let{xAxis:Qt,yAxis:di}=wt;Gt=Qt.pos+F(It,-se,Qt.len+se),wt.shouldShowTooltip(0,di.pos-B+xt,{ignoreX:!0})&&(ti=di.pos+xt)}return{anchorX:Gt=F(Gt,R.left-se,R.right+se),anchorY:ti}}(Xe);if("number"==typeof ht){let Pt=st.height+1,Gt=$?$.call(l,Tt,Pt,Xe):Be(pt,ht,Je,Tt);we.push({align:$?0:void 0,anchorX:pt,anchorY:ht,boxWidth:Tt,point:Xe,rank:O(Gt.rank,Je?1:0),size:Pt,target:Gt.y,tt:qe,x:Gt.x})}else qe.isActive=!1}return we},[]);!$&&oe.some(we=>{let{outside:Ee}=l,Me=(Ee?ge:0)+we.anchorX;return MeMe})&&(oe=oe.map(we=>{let{x:Ee,y:Me}=Be(we.anchorX,we.anchorY,we.point.isHeader,we.boxWidth,!1);return A(we,{target:Me,x:Ee})})),l.cleanSplit(),E(oe,De);let ee={left:ge,right:ge};oe.forEach(function(we){let{x:Ee,boxWidth:Me,isHeader:Xe}=we;!Xe&&(l.outside&&ge+Eeee.right&&(ee.right=ge+Ee))}),oe.forEach(function(we){let{x:Ee,anchorX:Me,anchorY:Xe,pos:Je,point:{isHeader:lt}}=we,qe={visibility:void 0===Je?"hidden":"inherit",x:Ee,y:(Je||0)+Te,anchorX:Me,anchorY:Xe};if(l.outside&&Ee0&&(lt||(qe.x=Ee+st,qe.anchorX=Me+st),lt&&(qe.x=(ee.right-ee.left)/2,qe.anchorX=Me+st))}we.tt.attr(qe)});let{container:be,outside:xe,renderer:Ie}=l;if(xe&&be&&Ie){let{width:we,height:Ee,x:Me,y:Xe}=Z.getBBox();Ie.setSize(we+Me,Ee+Xe,!1),be.style.left=ee.left+"px",be.style.top=_e+"px"}X&&Z.attr({opacity:1===Z.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact())return void(this.tracker&&(this.tracker=this.tracker.destroy()));let n=this.chart,r=this.label,l=this.shared?n.hoverPoints:n.hoverPoint;if(!r||!l)return;let d={x:0,y:0,width:0,height:0},C=this.getAnchor(l),k=r.getBBox();C[0]+=n.plotLeft-(r.translateX||0),C[1]+=n.plotTop-(r.translateY||0),d.x=Math.min(0,C[0]),d.y=Math.min(0,C[1]),d.width=C[0]<0?Math.max(Math.abs(C[0]),k.width-C[0]):Math.max(Math.abs(C[0]),k.width),d.height=C[1]<0?Math.max(Math.abs(C[1]),k.height-Math.abs(C[1])):Math.max(Math.abs(C[1]),k.height),this.tracker?this.tracker.attr(d):(this.tracker=r.renderer.rect(d).addClass("highcharts-tracker").add(r),n.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(n){return n.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(n,r){let l=n.series,d=l.tooltipOptions,C=l.xAxis,k=C&&C.dateTime,p={isFooter:r,labelConfig:n},T=d.xDateFormat,B=d[r?"footerFormat":"headerFormat"];return I(this,"headerFormatter",p,function(z){k&&!T&&m(n.key)&&(T=k.getXDateFormat(n.key,d.dateTimeLabelFormats)),k&&T&&(n.point&&n.point.tooltipDateKeys||["key"]).forEach(function(K){B=B.replace("{point."+K+"}","{point."+K+":"+T+"}")}),l.chart.styledMode&&(B=this.styledModeFormat(B)),z.text=ue(B,{point:n,series:l},this.chart)}),p.text}update(n){this.destroy(),this.init(this.chart,G(!0,this.options,n))}updatePosition(n){let x,{chart:r,container:l,distance:d,options:C,pointer:k,renderer:p}=this,{height:T=0,width:B=0}=this.getLabel(),{left:z,top:K,scaleX:U,scaleY:se}=k.getChartPosition(),S=(C.positioner||this.getPosition).call(this,B,T,n),$=(n.plotX||0)+r.plotLeft,H=(n.plotY||0)+r.plotTop;p&&l&&(C.positioner&&(S.x+=z-d,S.y+=K-d),x=(C.borderWidth||0)+2*d+2,p.setSize(B+x,T+x,!1),(1!==U||1!==se)&&(P(l,{transform:`scale(${U}, ${se})`}),$*=U,H*=se),$+=z-S.x,H+=K-S.y),this.move(Math.round(S.x),Math.round(S.y||0),$,H)}}return(pe=v||(v={})).compose=function(o){f(J,"Core.Tooltip")&&j(o,"afterInit",function(){let n=this.chart;n.options.tooltip&&(n.tooltip=new pe(n,n.options.tooltip,this))})},v}),Le(V,"Core/Series/Point.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{animObject:pe}=ne,{defaultOptions:ue}=re,{format:J}=ve,{addEvent:te,erase:X,extend:E,fireEvent:j,getNestedProperty:F,isArray:P,isFunction:D,isNumber:A,isObject:I,pick:_,syncTimeout:m,removeEvent:w,uniqueKey:G}=le;class O{animateBeforeDestroy(){let a=this,g={x:a.startXPos,opacity:0},v=a.getGraphicalProps();v.singular.forEach(function(o){a[o]=a[o].animate("dataLabel"===o?{x:a[o].startXPos,y:a[o].startYPos,opacity:0}:g)}),v.plural.forEach(function(o){a[o].forEach(function(n){n.element&&n.animate(E({x:a.startXPos},n.startYPos?{x:n.startXPos,y:n.startYPos}:{}))})})}applyOptions(a,g){let v=this.series,o=v.options.pointValKey||v.pointValKey;return E(this,a=O.prototype.optionsToObject.call(this,a)),this.options=this.options?E(this.options,a):a,a.group&&delete this.group,a.dataLabels&&delete this.dataLabels,o&&(this.y=O.prototype.getNestedProperty.call(this,o)),this.selected&&(this.state="select"),"name"in this&&void 0===g&&v.xAxis&&v.xAxis.hasNames&&(this.x=v.xAxis.nameToX(this)),void 0===this.x&&v?this.x=void 0===g?v.autoIncrement():g:A(a.x)&&v.options.relativeXValue&&(this.x=v.autoIncrement(a.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let a=this,g=a.series,v=g.chart,o=g.options.dataSorting,n=v.hoverPoints,r=pe(a.series.chart.renderer.globalAnimation),l=()=>{for(let d in(a.graphic||a.graphics||a.dataLabel||a.dataLabels)&&(w(a),a.destroyElements()),a)delete a[d]};a.legendItem&&v.legend.destroyItem(a),n&&(a.setState(),X(n,a),n.length||(v.hoverPoints=null)),a===v.hoverPoint&&a.onMouseOut(),o&&o.enabled?(this.animateBeforeDestroy(),m(l,r.duration)):l(),v.pointCount--}this.destroyed=!0}destroyElements(a){let g=this,v=g.getGraphicalProps(a);v.singular.forEach(function(o){g[o]=g[o].destroy()}),v.plural.forEach(function(o){g[o].forEach(function(n){n&&n.element&&n.destroy()}),delete g[o]})}firePointEvent(a,g,v){let o=this,n=this.series.options;o.manageEvent(a),"click"===a&&n.allowPointSelect&&(v=function(r){!o.destroyed&&o.select&&o.select(null,r.ctrlKey||r.metaKey||r.shiftKey)}),j(o,a,g,v)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(a){let g,v,o=this,n=[],r={singular:[],plural:[]};for((a=a||{graphic:1,dataLabel:1}).graphic&&n.push("graphic","connector"),a.dataLabel&&n.push("dataLabel","dataLabelPath","dataLabelUpper"),v=n.length;v--;)o[g=n[v]]&&r.singular.push(g);return["graphic","dataLabel"].forEach(function(l){let d=l+"s";a[l]&&o[d]&&r.plural.push(d)}),r}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(a){return a?0===a.indexOf("custom.")?F(a,this.options):this[a]:void 0}getZone(){let o,a=this.series,g=a.zones,v=a.zoneAxis||"y",n=0;for(o=g[0];this[v]>=o.value;)o=g[++n];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=o&&o.color&&!this.options.color?o.color:this.nonZonedColor,o}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(a,g,v){this.formatPrefix="point",this.visible=!0,this.series=a,this.applyOptions(g,v),this.id??(this.id=G()),this.resolveColor(),a.chart.pointCount++,j(this,"afterInit")}isValid(){return(A(this.x)||this.x instanceof Date)&&A(this.y)}optionsToObject(a){let l,g=this.series,v=g.options.keys,o=v||g.pointArrayMap||["y"],n=o.length,r={},d=0,C=0;if(A(a)||null===a)r[o[0]]=a;else if(P(a))for(!v&&a.length>n&&("string"==(l=typeof a[0])?r.name=a[0]:"number"===l&&(r.x=a[0]),d++);C0?O.prototype.setNestedProperty(r,a[d],o[C]):r[o[C]]=a[d]),d++,C++;else"object"==typeof a&&(r=a,a.dataLabels&&(g.hasDataLabels=()=>!0),a.marker&&(g._hasPointMarkers=!0));return r}pos(a,g=this.plotY){if(!this.destroyed){let{plotX:v,series:o}=this,{chart:n,xAxis:r,yAxis:l}=o,d=0,C=0;if(A(v)&&A(g))return a&&(d=r?r.pos:n.plotLeft,C=l?l.pos:n.plotTop),n.inverted&&r&&l?[l.len-g+C,r.len-v+d]:[v+d,g+C]}}resolveColor(){let o,n,l,a=this.series,v=a.chart.styledMode,r=a.chart.options.chart.colorCount;delete this.nonZonedColor,a.options.colorByPoint?(v||(o=(n=a.options.colors||a.chart.options.colors)[a.colorCounter],r=n.length),l=a.colorCounter,a.colorCounter++,a.colorCounter===r&&(a.colorCounter=0)):(v||(o=a.color),l=a.colorIndex),this.colorIndex=_(this.options.colorIndex,l),this.color=_(this.options.color,o)}setNestedProperty(a,g,v){return v.split(".").reduce(function(o,n,r,l){return o[n]=l.length-1===r?g:I(o[n],!0)?o[n]:{},o[n]},a),a}shouldDraw(){return!this.isNull}tooltipFormatter(a){let g=this.series,v=g.tooltipOptions,o=_(v.valueDecimals,""),n=v.valuePrefix||"",r=v.valueSuffix||"";return g.chart.styledMode&&(a=g.chart.tooltip.styledModeFormat(a)),(g.pointArrayMap||["y"]).forEach(function(l){l="{point."+l,(n||r)&&(a=a.replace(RegExp(l+"}","g"),n+l+"}"+r)),a=a.replace(RegExp(l+"}","g"),l+":,."+o+"f}")}),J(a,{point:this,series:this.series},g.chart)}update(a,g,v,o){let n,r=this,l=r.series,d=r.graphic,C=l.chart,k=l.options;function p(){r.applyOptions(a);let T=d&&r.hasMockGraphic;d&&(null===r.y?!T:T)&&(r.graphic=d.destroy(),delete r.hasMockGraphic),I(a,!0)&&(d&&d.element&&a&&a.marker&&void 0!==a.marker.symbol&&(r.graphic=d.destroy()),a?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),n=r.index,l.updateParallelArrays(r,n),k.data[n]=I(k.data[n],!0)||I(a,!0)?r.options:_(a,k.data[n]),l.isDirty=l.isDirtyData=!0,!l.fixedBox&&l.hasCartesianSeries&&(C.isDirtyBox=!0),"point"===k.legendType&&(C.isDirtyLegend=!0),g&&C.redraw(v)}g=_(g,!0),!1===o?p():r.firePointEvent("update",{options:a},p)}remove(a,g){this.series.removePoint(this.series.data.indexOf(this),a,g)}select(a,g){let v=this,o=v.series,n=o.chart;a=_(a,!v.selected),this.selectedStaging=a,v.firePointEvent(a?"select":"unselect",{accumulate:g},function(){v.selected=v.options.selected=a,o.options.data[o.data.indexOf(v)]=v.options,v.setState(a&&"select"),g||n.getSelectedPoints().forEach(function(r){let l=r.series;r.selected&&r!==v&&(r.selected=r.options.selected=!1,l.options.data[l.data.indexOf(r)]=r.options,r.setState(n.hoverPoints&&l.options.inactiveOtherPoints?"inactive":""),r.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(a){let{inverted:g,pointer:v}=this.series.chart;v&&(a=a?v.normalize(a):v.getChartCoordinatesFromPoint(this,g),v.runPointActions(a,this))}onMouseOut(){let a=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(a.hoverPoints||[]).forEach(function(g){g.setState()}),a.hoverPoints=a.hoverPoint=null}manageEvent(a){let g=this.series.options.point||{},v=g.events?.[a];!D(v)||this.hcEvents?.[a]&&-1!==this.hcEvents?.[a]?.map(o=>o.fn).indexOf(v)?this.hasImportedEvents&&!v&&this.hcEvents?.[a]&&(w(this,a),delete this.hcEvents[a],Object.keys(this.hcEvents)||(this.hasImportedEvents=!1)):(te(this,a,v),this.hasImportedEvents=!0)}setState(a,g){let z,K,U,S,v=this.series,o=this.state,n=v.options.states[a||"normal"]||{},r=ue.plotOptions[v.type].marker&&v.options.marker,d=r&&r.states&&r.states[a||"normal"]||{},k=this.marker||{},p=v.chart,T=r&&v.markerAttribs,B=v.halo,se=v.stateMarkerGraphic;if((a=a||"")===this.state&&!g||this.selected&&"select"!==a||!1===n.enabled||a&&(!1===d.enabled||r&&!1===r.enabled&&!1===d.enabled)||a&&k.states&&k.states[a]&&!1===k.states[a].enabled)return;if(this.state=a,T&&(z=v.markerAttribs(this,a)),this.graphic&&!this.hasMockGraphic){if(o&&this.graphic.removeClass("highcharts-point-"+o),a&&this.graphic.addClass("highcharts-point-"+a),!p.styledMode){K=v.pointAttribs(this,a),U=_(p.options.chart.animation,n.animation);let N=K.opacity;v.options.inactiveOtherPoints&&A(N)&&(this.dataLabels||[]).forEach(function(R){R&&!R.hasClass("highcharts-data-label-hidden")&&(R.animate({opacity:N},U),R.connector&&R.connector.animate({opacity:N},U))}),this.graphic.animate(K,U)}z&&this.graphic.animate(z,_(p.options.chart.animation,d.animation,r.animation)),se&&se.hide()}else a&&d&&(S=k.symbol||v.symbol,se&&se.currentSymbol!==S&&(se=se.destroy()),z&&(se?se[g?"animate":"attr"]({x:z.x,y:z.y}):S&&(v.stateMarkerGraphic=se=p.renderer.symbol(S,z.x,z.y,z.width,z.height).add(v.markerGroup),se.currentSymbol=S)),!p.styledMode&&se&&"inactive"!==this.state&&se.attr(v.pointAttribs(this,a))),se&&(se[a&&this.isInside?"show":"hide"](),se.element.point=this,se.addClass(this.getClassName(),!0));let $=n.halo,H=this.graphic||se,x=H&&H.visibility||"inherit";$&&$.size&&H&&"hidden"!==x&&!this.isCluster?(B||(v.halo=B=p.renderer.path().add(H.parentGroup)),B.show()[g?"animate":"attr"]({d:this.haloPath($.size)}),B.attr({class:"highcharts-halo highcharts-color-"+_(this.colorIndex,v.colorIndex)+(this.className?" "+this.className:""),visibility:x,zIndex:-1}),B.point=this,p.styledMode||B.attr(E({fill:this.color||v.color,"fill-opacity":$.opacity},q.filterUserAttributes($.attributes||{})))):B&&B.point&&B.point.haloPath&&B.animate({d:B.point.haloPath(0)},null,B.hide),j(this,"afterSetState",{state:a})}haloPath(a){let g=this.pos();return g?this.series.chart.renderer.symbols.circle(Math.floor(g[0])-a,g[1]-a,2*a,2*a):[]}}return O}),Le(V,"Core/Pointer.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve;let{parse:le}=q,{charts:pe,composed:ue}=ne,{addEvent:J,attr:te,css:X,extend:E,find:j,fireEvent:F,isNumber:P,isObject:D,objectEach:A,offset:I,pick:_,pushUnique:m,splat:w}=re;class G{applyInactiveState(f){let g,a=[];(f||[]).forEach(function(v){g=v.series,a.push(g),g.linkedParent&&a.push(g.linkedParent),g.linkedSeries&&(a=a.concat(g.linkedSeries)),g.navigatorSeries&&a.push(g.navigatorSeries)}),this.chart.series.forEach(function(v){-1===a.indexOf(v)?v.setState("inactive",!0):v.options.inactiveOtherPoints&&v.setAllPointsToState("inactive")})}destroy(){let f=this;this.eventsToUnbind.forEach(a=>a()),this.eventsToUnbind=[],!ne.chartCount&&(G.unbindDocumentMouseUp&&(G.unbindDocumentMouseUp=G.unbindDocumentMouseUp()),G.unbindDocumentTouchEnd&&(G.unbindDocumentTouchEnd=G.unbindDocumentTouchEnd())),clearInterval(f.tooltipTimeout),A(f,function(a,g){f[g]=void 0})}getSelectionMarkerAttrs(f,a){let g={args:{chartX:f,chartY:a},attrs:{},shapeType:"rect"};return F(this,"getSelectionMarkerAttrs",g,v=>{let o,{chart:n,zoomHor:r,zoomVert:l}=this,{mouseDownX:d=0,mouseDownY:C=0}=n,k=v.attrs;k.x=n.plotLeft,k.y=n.plotTop,k.width=r?1:n.plotWidth,k.height=l?1:n.plotHeight,r&&(o=f-d,k.width=Math.max(1,Math.abs(o)),k.x=(o>0?0:o)+d),l&&(o=a-C,k.height=Math.max(1,Math.abs(o)),k.y=(o>0?0:o)+C)}),g}drag(f){let K,{chart:a}=this,{mouseDownX:g=0,mouseDownY:v=0}=a,{panning:o,panKey:n,selectionMarkerFill:r}=a.options.chart,l=a.plotLeft,d=a.plotTop,C=a.plotWidth,k=a.plotHeight,p=D(o)?o.enabled:o,T=n&&f[`${n}Key`],B=f.chartX,z=f.chartY,U=this.selectionMarker;if((!U||!U.touch)&&(Bl+C&&(B=l+C),zd+k&&(z=d+k),this.hasDragged=Math.sqrt(Math.pow(g-B,2)+Math.pow(v-z,2)),this.hasDragged>10)){K=a.isInsidePlot(g-l,v-d,{visiblePlotOnly:!0});let{shapeType:se,attrs:S}=this.getSelectionMarkerAttrs(B,z);(a.hasCartesianSeries||a.mapView)&&this.hasZoom&&K&&!T&&!U&&(this.selectionMarker=U=a.renderer[se](),U.attr({class:"highcharts-selection-marker",zIndex:7}).add(),a.styledMode||U.attr({fill:r||le("#334eff").setOpacity(.25).get()})),U&&U.attr(S),K&&!U&&p&&a.pan(f,o)}}dragStart(f){let a=this.chart;a.mouseIsDown=f.type,a.cancelClick=!1,a.mouseDownX=f.chartX,a.mouseDownY=f.chartY}getSelectionBox(f){let a={args:{marker:f},result:f.getBBox()};return F(this,"getSelectionBox",a),a.result}drop(f){let a,{chart:g,selectionMarker:v}=this;for(let o of g.axes)o.isPanning&&(o.isPanning=!1,(o.options.startOnTick||o.options.endOnTick||o.series.some(n=>n.boosted))&&(o.forceRedraw=!0,o.setExtremes(o.userMin,o.userMax,!1),a=!0));if(a&&g.redraw(),v&&f){if(this.hasDragged){let o=this.getSelectionBox(v);g.transform({axes:g.axes.filter(n=>n.zoomEnabled&&("xAxis"===n.coll&&this.zoomX||"yAxis"===n.coll&&this.zoomY)),selection:{originalEvent:f,xAxis:[],yAxis:[],...o},from:o})}P(g.index)&&(this.selectionMarker=v.destroy())}g&&P(g.index)&&(X(g.container,{cursor:g._cursor}),g.cancelClick=this.hasDragged>10,g.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(f,a,g){let v;return f.forEach(function(o){let n=!(o.noSharedTooltip&&a)&&0>o.options.findNearestPointBy.indexOf("y"),r=o.searchPoint(g,n);D(r,!0)&&r.series&&(!D(v,!0)||function(l,d){let C=l.distX-d.distX,k=l.dist-d.dist,p=d.series.group?.zIndex-l.series.group?.zIndex;return 0!==C&&a?C:0!==k?k:0!==p?p:l.series.index>d.series.index?-1:1}(v,r)>0)&&(v=r)}),v}getChartCoordinatesFromPoint(f,a){let{xAxis:g,yAxis:v}=f.series,o=f.shapeArgs;if(g&&v){let n=f.clientX??f.plotX??0,r=f.plotY||0;return f.isNode&&o&&P(o.x)&&P(o.y)&&(n=o.x,r=o.y),a?{chartX:v.len+v.pos-r,chartY:g.len+g.pos-n}:{chartX:n+g.pos,chartY:r+v.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:f}=this.chart,a=I(f);this.chartPosition={left:a.left,top:a.top,scaleX:1,scaleY:1};let{offsetHeight:g,offsetWidth:v}=f;return v>2&&g>2&&(this.chartPosition.scaleX=a.width/v,this.chartPosition.scaleY=a.height/g),this.chartPosition}getCoordinates(f){let a={xAxis:[],yAxis:[]};for(let g of this.chart.axes)a[g.isXAxis?"xAxis":"yAxis"].push({axis:g,value:g.toValue(f[g.horiz?"chartX":"chartY"])});return a}getHoverData(f,a,g,v,o,n){let C,r=[],l=function(T){return T.visible&&!(!o&&T.directTouch)&&_(T.options.enableMouseTracking,!0)},d=a,k={chartX:n?n.chartX:void 0,chartY:n?n.chartY:void 0,shared:o};F(this,"beforeGetHoverData",k),C=d&&!d.stickyTracking?[d]:g.filter(T=>T.stickyTracking&&(k.filter||l)(T));let p=v&&f||!n?f:this.findNearestKDPoint(C,o,n);return d=p&&p.series,p&&(o&&!d.noSharedTooltip?(C=g.filter(function(T){return k.filter?k.filter(T):l(T)&&!T.noSharedTooltip})).forEach(function(T){let B=j(T.points,function(z){return z.x===p.x&&!z.isNull});D(B)&&(T.boosted&&T.boost&&(B=T.boost.getPoint(B)),r.push(B))}):r.push(p)),F(this,"afterGetHoverData",k={hoverPoint:p}),{hoverPoint:k.hoverPoint,hoverSeries:d,hoverPoints:r}}getPointFromEvent(f){let g,a=f.target;for(;a&&!g;)g=a.point,a=a.parentNode;return g}onTrackerMouseOut(f){let g=f.relatedTarget,v=this.chart.hoverSeries;this.isDirectTouch=!1,!v||!g||v.stickyTracking||this.inClass(g,"highcharts-tooltip")||this.inClass(g,"highcharts-series-"+v.index)&&this.inClass(g,"highcharts-tracker")||v.onMouseOut()}inClass(f,a){let v,g=f;for(;g;){if(v=te(g,"class")){if(-1!==v.indexOf(a))return!0;if(-1!==v.indexOf("highcharts-container"))return!1}g=g.parentElement}}constructor(f,a){this.hasDragged=0,this.eventsToUnbind=[],this.options=a,this.chart=f,this.runChartClick=!!a.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),F(this,"afterInit")}normalize(f,a){let g=f.touches,v=g?g.length?g.item(0):_(g.changedTouches,f.changedTouches)[0]:f;a||(a=this.getChartPosition());let o=v.pageX-a.left,n=v.pageY-a.top;return E(f,{chartX:Math.round(o/=a.scaleX),chartY:Math.round(n/=a.scaleY)})}onContainerClick(f){let a=this.chart,g=a.hoverPoint,v=this.normalize(f),o=a.plotLeft,n=a.plotTop;!a.cancelClick&&(g&&this.inClass(v.target,"highcharts-tracker")?(F(g.series,"click",E(v,{point:g})),a.hoverPoint&&g.firePointEvent("click",v)):(E(v,this.getCoordinates(v)),a.isInsidePlot(v.chartX-o,v.chartY-n,{visiblePlotOnly:!0})&&F(a,"click",v)))}onContainerMouseDown(f){let a=!(1&~(f.buttons||f.button));f=this.normalize(f),ne.isFirefox&&0!==f.button&&this.onContainerMouseMove(f),(void 0===f.button||a)&&(this.zoomOption(f),a&&f.preventDefault?.(),this.dragStart(f))}onContainerMouseLeave(f){let{pointer:a}=pe[_(G.hoverChartIndex,-1)]||{};f=this.normalize(f),this.onContainerMouseMove(f),a&&f.relatedTarget&&!this.inClass(f.relatedTarget,"highcharts-tooltip")&&(a.reset(),a.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(f){let a=this.chart,g=a.tooltip,v=this.normalize(f);this.setHoverChartIndex(f),("mousedown"===a.mouseIsDown||this.touchSelect(v))&&this.drag(v),!a.openMenu&&(this.inClass(v.target,"highcharts-tracker")||a.isInsidePlot(v.chartX-a.plotLeft,v.chartY-a.plotTop,{visiblePlotOnly:!0}))&&(!g||!g.shouldStickOnContact(v))&&(this.inClass(v.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(v))}onDocumentTouchEnd(f){this.onDocumentMouseUp(f)}onContainerTouchMove(f){this.touchSelect(f)?this.onContainerMouseMove(f):this.touch(f)}onContainerTouchStart(f){this.touchSelect(f)?this.onContainerMouseDown(f):(this.zoomOption(f),this.touch(f,!0))}onDocumentMouseMove(f){let a=this.chart,g=a.tooltip,v=this.chartPosition,o=this.normalize(f,v);!v||a.isInsidePlot(o.chartX-a.plotLeft,o.chartY-a.plotTop,{visiblePlotOnly:!0})||g&&g.shouldStickOnContact(o)||this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(f){pe[_(G.hoverChartIndex,-1)]?.pointer?.drop(f)}pinch(f){let a=this,{chart:g,hasZoom:v,lastTouches:o}=a,n=[].map.call(f.touches||[],k=>a.normalize(k)),r=n.length,l=1===r&&(a.inClass(f.target,"highcharts-tracker")&&g.runTrackerClick||a.runChartClick),d=g.tooltip,C=1===r&&_(d?.options.followTouchMove,!0);r>1?a.initiated=!0:C&&(a.initiated=!1),v&&a.initiated&&!l&&!1!==f.cancelable&&f.preventDefault(),"touchstart"===f.type?(a.pinchDown=n,a.res=!0):C?this.runPointActions(a.normalize(f)):o&&(F(g,"touchpan",{originalEvent:f,touches:n},()=>{let k=p=>{let T=p[0],B=p[1]||T;return{x:T.chartX,y:T.chartY,width:B.chartX-T.chartX,height:B.chartY-T.chartY}};g.transform({axes:g.axes.filter(p=>p.zoomEnabled&&(this.zoomHor&&p.horiz||this.zoomVert&&!p.horiz)),to:k(n),from:k(o),trigger:f.type})}),a.res&&(a.res=!1,this.reset(!1,0))),a.lastTouches=n}reset(f,a){let g=this.chart,v=g.hoverSeries,o=g.hoverPoint,n=g.hoverPoints,r=g.tooltip,l=r&&r.shared?n:o;f&&l&&w(l).forEach(function(d){d.series.isCartesian&&void 0===d.plotX&&(f=!1)}),f?r&&l&&w(l).length&&(r.refresh(l),r.shared&&n?n.forEach(function(d){d.setState(d.state,!0),d.series.isCartesian&&(d.series.xAxis.crosshair&&d.series.xAxis.drawCrosshair(null,d),d.series.yAxis.crosshair&&d.series.yAxis.drawCrosshair(null,d))}):o&&(o.setState(o.state,!0),g.axes.forEach(function(d){d.crosshair&&o.series[d.coll]===d&&d.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),n&&n.forEach(function(d){d.setState()}),v&&v.onMouseOut(),r&&r.hide(a),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),g.axes.forEach(function(d){d.hideCrosshair()}),g.hoverPoints=g.hoverPoint=void 0)}runPointActions(f,a,g){let v=this.chart,n=v.tooltip&&v.tooltip.options.enabled?v.tooltip:void 0,r=!!n&&n.shared,l=a||v.hoverPoint,d=l&&l.series||v.hoverSeries,k=this.getHoverData(l,d,v.series,(!f||"touchmove"!==f.type)&&(!!a||d&&d.directTouch&&this.isDirectTouch),r,f);l=k.hoverPoint,d=k.hoverSeries;let p=k.hoverPoints,T=d&&d.tooltipOptions.followPointer&&!d.tooltipOptions.split,B=r&&d&&!d.noSharedTooltip;if(l&&(g||l!==v.hoverPoint||n&&n.isHidden)){if((v.hoverPoints||[]).forEach(function(z){-1===p.indexOf(z)&&z.setState()}),v.hoverSeries!==d&&d.onMouseOver(),this.applyInactiveState(p),(p||[]).forEach(function(z){z.setState("hover")}),v.hoverPoint&&v.hoverPoint.firePointEvent("mouseOut"),!l.series)return;v.hoverPoints=p,v.hoverPoint=l,l.firePointEvent("mouseOver",void 0,()=>{n&&l&&n.refresh(B?p:l,f)})}else if(T&&n&&!n.isHidden){let z=n.getAnchor([{}],f);v.isInsidePlot(z[0],z[1],{visiblePlotOnly:!0})&&n.updatePosition({plotX:z[0],plotY:z[1]})}this.unDocMouseMove||(this.unDocMouseMove=J(v.container.ownerDocument,"mousemove",z=>pe[G.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(z)),this.eventsToUnbind.push(this.unDocMouseMove)),v.axes.forEach(function(z){let K,U=_((z.crosshair||{}).snap,!0);!U||(K=v.hoverPoint)&&K.series[z.coll]===z||(K=j(p,se=>se.series&&se.series[z.coll]===z)),K||!U?z.drawCrosshair(f,K):z.hideCrosshair()})}setDOMEvents(){let f=this.chart.container,a=f.ownerDocument;f.onmousedown=this.onContainerMouseDown.bind(this),f.onmousemove=this.onContainerMouseMove.bind(this),f.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(J(f,"mouseenter",this.onContainerMouseEnter.bind(this)),J(f,"mouseleave",this.onContainerMouseLeave.bind(this))),G.unbindDocumentMouseUp||(G.unbindDocumentMouseUp=J(a,"mouseup",this.onDocumentMouseUp.bind(this)));let g=this.chart.renderTo.parentElement;for(;g&&"BODY"!==g.tagName;)this.eventsToUnbind.push(J(g,"scroll",()=>{delete this.chartPosition})),g=g.parentElement;this.eventsToUnbind.push(J(f,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),J(f,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),G.unbindDocumentTouchEnd||(G.unbindDocumentTouchEnd=J(a,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1}))}setHoverChartIndex(f){let a=this.chart,g=ne.charts[_(G.hoverChartIndex,-1)];g&&g!==a&&g.pointer?.onContainerMouseLeave(f||{relatedTarget:a.container}),g&&g.mouseIsDown||(G.hoverChartIndex=a.index)}touch(f,a){let g,{chart:v,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===f.touches.length?(f=this.normalize(f),v.isInsidePlot(f.chartX-v.plotLeft,f.chartY-v.plotTop,{visiblePlotOnly:!0})&&!v.openMenu?(a&&this.runPointActions(f),"touchmove"===f.type&&(g=!!o[0]&&Math.pow(o[0].chartX-f.chartX,2)+Math.pow(o[0].chartY-f.chartY,2)>=16),_(g,!0)&&this.pinch(f)):a&&this.reset()):2===f.touches.length&&this.pinch(f)}touchSelect(f){return!(!this.chart.zooming.singleTouch||!f.touches||1!==f.touches.length)}zoomOption(f){let o,n,a=this.chart,g=a.inverted,v=a.zooming.type||"";/touch/.test(f.type)&&(v=_(a.zooming.pinchType,v)),this.zoomX=o=/x/.test(v),this.zoomY=n=/y/.test(v),this.zoomHor=o&&!g||n&&g,this.zoomVert=n&&!g||o&&g,this.hasZoom=o||n}}return(ve=G||(G={})).compose=function(O){m(ue,"Core.Pointer")&&J(O,"beforeRender",function(){this.pointer=new ve(this,this.options)})},G}),Le(V,"Core/Legend/Legend.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Series/Point.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){var ue;let{animObject:J,setAnimation:te}=q,{format:X}=ne,{composed:E,marginNames:j}=re,{distribute:F}=le,{addEvent:P,createElement:D,css:A,defined:I,discardElement:_,find:m,fireEvent:w,isNumber:G,merge:O,pick:f,pushUnique:a,relativeLength:g,stableSort:v,syncTimeout:o}=pe;class n{constructor(l,d){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=l,this.setOptions(d),d.enabled&&(this.render(),P(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),P(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(l){let d=f(l.padding,8);this.options=l,this.chart.styledMode||(this.itemStyle=l.itemStyle,this.itemHiddenStyle=O(this.itemStyle,l.itemHiddenStyle)),this.itemMarginTop=l.itemMarginTop,this.itemMarginBottom=l.itemMarginBottom,this.padding=d,this.initialItemY=d-5,this.symbolWidth=f(l.symbolWidth,16),this.pages=[],this.proximate="proximate"===l.layout&&!this.chart.inverted,this.baseline=void 0}update(l,d){let C=this.chart;this.setOptions(O(!0,this.options,l)),this.destroy(),C.isDirtyLegend=C.isDirtyBox=!0,f(d,!0)&&C.redraw(),w(this,"afterUpdate",{redraw:d})}colorizeItem(l,d){let{area:C,group:k,label:p,line:T,symbol:B}=l.legendItem||{};if(k?.[d?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:z={}}=this,K=z.color,{fillColor:U,fillOpacity:se,lineColor:S,marker:$}=l.options,H=x=>(!d&&(x.fill&&(x.fill=K),x.stroke&&(x.stroke=K)),x);p?.css(O(d?this.itemStyle:z)),T?.attr(H({stroke:S||l.color})),B&&B.attr(H($&&B.isMarker?l.pointAttribs():{fill:l.color})),C?.attr(H({fill:U||l.color,"fill-opacity":U?1:se??.75}))}w(this,"afterColorizeItem",{item:l,visible:d})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(l){let{group:d,x:C=0,y:k=0}=l.legendItem||{},p=this.options,z=l.checkbox;if(d&&d.element){let K={translateX:p.rtl?this.legendWidth-C-2*p.symbolPadding-4:C,translateY:k};d[I(d.translateY)?"animate":"attr"](K,void 0,()=>{w(this,"afterPositionItem",{item:l})})}z&&(z.x=C,z.y=k)}destroyItem(l){let d=l.checkbox,C=l.legendItem||{};for(let k of["group","label","line","symbol"])C[k]&&(C[k]=C[k].destroy());d&&_(d),l.legendItem=void 0}destroy(){for(let l of this.getAllItems())this.destroyItem(l);for(let l of["clipRect","up","down","pager","nav","box","title","group"])this[l]&&(this[l]=this[l].destroy());this.display=null}positionCheckboxes(){let l,d=this.group&&this.group.alignAttr,C=this.clipHeight||this.legendHeight,k=this.titleHeight;d&&(l=d.translateY,this.allItems.forEach(function(p){let T,B=p.checkbox;B&&(T=l+k+B.y+(this.scrollOffset||0)+3,A(B,{left:d.translateX+p.checkboxOffset+B.x-20+"px",top:T+"px",display:this.proximate||T>l-6&&T1.5*_e?ge.height:_e))}layoutItem(l){let d=this.options,C=this.padding,k="horizontal"===d.layout,p=l.itemHeight,T=this.itemMarginBottom,B=this.itemMarginTop,z=k?f(d.itemDistance,20):0,K=this.maxLegendWidth,U=d.alignColumns&&this.totalItemWidth>K?this.maxItemWidth:l.itemWidth,se=l.legendItem||{};k&&this.itemX-C+U>K&&(this.itemX=C,this.lastLineHeight&&(this.itemY+=B+this.lastLineHeight+T),this.lastLineHeight=0),this.lastItemY=B+this.itemY+T,this.lastLineHeight=Math.max(p,this.lastLineHeight),se.x=this.itemX,se.y=this.itemY,k?this.itemX+=U:(this.itemY+=B+p+T,this.lastLineHeight=p),this.offsetWidth=this.widthOption||Math.max((k?this.itemX-C-(l.checkbox?0:z):U)+C,this.offsetWidth)}getAllItems(){let l=[];return this.chart.series.forEach(function(d){let C=d&&d.options;d&&f(C.showInLegend,!I(C.linkedTo)&&void 0,!0)&&(l=l.concat((d.legendItem||{}).labels||("point"===C.legendType?d.data:d)))}),w(this,"afterGetAllItems",{allItems:l}),l}getAlignment(){let l=this.options;return this.proximate?l.align.charAt(0)+"tv":l.floating?"":l.align.charAt(0)+l.verticalAlign.charAt(0)+l.layout.charAt(0)}adjustMargins(l,d){let C=this.chart,k=this.options,p=this.getAlignment();p&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(T,B){T.test(p)&&!I(l[B])&&(C[j[B]]=Math.max(C[j[B]],C.legend[(B+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][B]*k[B%2?"x":"y"]+f(k.margin,12)+d[B]+(C.titleOffset[B]||0)))})}proximatePositions(){let l,d=this.chart,C=[],k="left"===this.options.align;for(let p of(this.allItems.forEach(function(T){let B,z,U,se,K=k;T.yAxis&&(T.xAxis.options.reversed&&(K=!K),T.points&&(B=m(K?T.points:T.points.slice(0).reverse(),function(S){return G(S.plotY)})),z=this.itemMarginTop+T.legendItem.label.getBBox().height+this.itemMarginBottom,se=T.yAxis.top-d.plotTop,U=T.visible?(B?B.plotY:T.yAxis.height)+(se-.3*z):se+T.yAxis.height,C.push({target:U,size:z,item:T}))},this),F(C,d.plotHeight)))l=p.item.legendItem||{},G(p.pos)&&(l.y=d.plotTop-d.spacing[0]+p.pos)}render(){let T,B,z,U,l=this.chart,d=l.renderer,C=this.options,k=this.padding,p=this.getAllItems(),K=this.group,se=this.box;this.itemX=k,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=g(C.width,l.spacingBox.width-k),U=l.spacingBox.width-2*k-C.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(U/=2),this.maxLegendWidth=this.widthOption||U,K||(this.group=K=d.g("legend").addClass(C.className||"").attr({zIndex:7}).add(),this.contentGroup=d.g().attr({zIndex:1}).add(K),this.scrollGroup=d.g().add(this.contentGroup)),this.renderTitle(),v(p,(S,$)=>(S.options&&S.options.legendIndex||0)-($.options&&$.options.legendIndex||0)),C.reversed&&p.reverse(),this.allItems=p,this.display=T=!!p.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,p.forEach(this.renderItem,this),p.forEach(this.layoutItem,this),B=(this.widthOption||this.offsetWidth)+k,z=this.lastItemY+this.lastLineHeight+this.titleHeight,z=this.handleOverflow(z)+k,se||(this.box=se=d.rect().addClass("highcharts-legend-box").attr({r:C.borderRadius}).add(K)),l.styledMode||se.attr({stroke:C.borderColor,"stroke-width":C.borderWidth||0,fill:C.backgroundColor||"none"}).shadow(C.shadow),B>0&&z>0&&se[se.placed?"animate":"attr"](se.crisp.call({},{x:0,y:0,width:B,height:z},se.strokeWidth())),K[T?"show":"hide"](),l.styledMode&&"none"===K.getStyle("display")&&(B=z=0),this.legendWidth=B,this.legendHeight=z,T&&this.align(),this.proximate||this.positionItems(),w(this,"afterRender")}align(l=this.chart.spacingBox){let d=this.chart,C=this.options,k=l.y;/(lth|ct|rth)/.test(this.getAlignment())&&d.titleOffset[0]>0?k+=d.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&d.titleOffset[2]>0&&(k-=d.titleOffset[2]),k!==l.y&&(l=O(l,{y:k})),d.hasRendered||(this.group.placed=!1),this.group.align(O(C,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":C.verticalAlign}),!0,l)}handleOverflow(l){let R,Z,Y,d=this,C=this.chart,k=C.renderer,p=this.options,T=p.y,B="top"===p.verticalAlign,z=this.padding,K=p.maxHeight,U=p.navigation,se=f(U.animation,!0),S=U.arrowSize||12,$=this.pages,H=this.allItems,x=function(Te){"number"==typeof Te?_e.attr({height:Te}):_e&&(d.clipRect=_e.destroy(),d.contentGroup.clip()),d.contentGroup.div&&(d.contentGroup.div.style.clip=Te?"rect("+z+"px,9999px,"+(z+Te)+"px,0)":"auto")},N=function(Te){return d[Te]=k.circle(0,0,1.3*S).translate(S/2,S/2).add(ge),C.styledMode||d[Te].attr("fill","rgba(0,0,0,0.0001)"),d[Te]},he=C.spacingBox.height+(B?-T:T)-z,ge=this.nav,_e=this.clipRect;return"horizontal"!==p.layout||"middle"===p.verticalAlign||p.floating||(he/=2),K&&(he=Math.min(he,K)),$.length=0,l&&he>0&&l>he&&!1!==U.enabled?(this.clipHeight=R=Math.max(he-20-this.titleHeight-z,0),this.currentPage=f(this.currentPage,1),this.fullHeight=l,H.forEach((Te,Oe)=>{let De=(Y=Te.legendItem||{}).y||0,Be=Math.round(Y.label.getBBox().height),oe=$.length;(!oe||De-$[oe-1]>R&&(Z||De)!==$[oe-1])&&($.push(Z||De),oe++),Y.pageIx=oe-1,Z&&((H[Oe-1].legendItem||{}).pageIx=oe-1),Oe===H.length-1&&De+Be-$[oe-1]>R&&De>$[oe-1]&&($.push(De),Y.pageIx=oe),De!==Z&&(Z=De)}),_e||(_e=d.clipRect=k.clipRect(0,z-2,9999,0),d.contentGroup.clip(_e)),x(R),ge||(this.nav=ge=k.g().attr({zIndex:1}).add(this.group),this.up=k.symbol("triangle",0,0,S,S).add(ge),N("upTracker").on("click",function(){d.scroll(-1,se)}),this.pager=k.text("",15,10).addClass("highcharts-legend-navigation"),!C.styledMode&&U.style&&this.pager.css(U.style),this.pager.add(ge),this.down=k.symbol("triangle-down",0,0,S,S).add(ge),N("downTracker").on("click",function(){d.scroll(1,se)})),d.scroll(0),l=he):ge&&(x(),this.nav=ge.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),l}scroll(l,d){let C=this.chart,k=this.pages,p=k.length,T=this.clipHeight,B=this.options.navigation,z=this.pager,K=this.padding,U=this.currentPage+l;U>p&&(U=p),U>0&&(void 0!==d&&te(d,C),this.nav.attr({translateX:K,translateY:T+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(se){se.attr({class:1===U?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),z.attr({text:U+"/"+p}),[this.down,this.downTracker].forEach(function(se){se.attr({x:18+this.pager.getBBox().width,class:U===p?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),C.styledMode||(this.up.attr({fill:1===U?B.inactiveColor:B.activeColor}),this.upTracker.css({cursor:1===U?"default":"pointer"}),this.down.attr({fill:U===p?B.inactiveColor:B.activeColor}),this.downTracker.css({cursor:U===p?"default":"pointer"})),this.scrollOffset=-k[U-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=U,this.positionCheckboxes(),o(()=>{w(this,"afterScroll",{currentPage:U})},J(f(d,C.renderer.globalAnimation,!0)).duration))}setItemEvents(l,d,C){let k=this,p=l.legendItem||{},T=k.chart.renderer.boxWrapper,B=l instanceof ve,z="highcharts-legend-"+(B?"point":"series")+"-active",K=k.chart.styledMode,U=C?[d,p.symbol]:[p.group],se=S=>{k.allItems.forEach($=>{l!==$&&[$].concat($.linkedSeries||[]).forEach(H=>{H.setState(S,!B)})})};for(let S of U)S&&S.on("mouseover",function(){l.visible&&se("inactive"),l.setState("hover"),l.visible&&T.addClass(z),K||d.css(k.options.itemHoverStyle)}).on("mouseout",function(){k.chart.styledMode||d.css(O(l.visible?k.itemStyle:k.itemHiddenStyle)),se(""),T.removeClass(z),l.setState()}).on("click",function($){let H="legendItemClick",x=function(){l.setVisible&&l.setVisible(),se(l.visible?"inactive":"")};T.removeClass(z),$={browserEvent:$},l.firePointEvent?l.firePointEvent(H,$,x):w(l,H,$,x)})}createCheckboxForItem(l){l.checkbox=D("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:l.selected,defaultChecked:l.selected},this.options.itemCheckboxStyle,this.chart.container),P(l.checkbox,"click",function(d){w(l.series||l,"checkboxClick",{checked:d.target.checked,item:l},function(){l.select()})})}}return(ue=n||(n={})).compose=function(r){a(E,"Core.Legend")&&P(r,"beforeMargins",function(){this.legend=new ue(this,this.options.legend)})},n}),Le(V,"Core/Legend/LegendSymbol.js",[V["Core/Utilities.js"]],function(q){var ne;let{extend:re,merge:ve,pick:le}=q;return function(pe){function ue(J,te,X){let f,E=this.legendItem=this.legendItem||{},{chart:j,options:F}=this,{baseline:P=0,symbolWidth:D,symbolHeight:A}=J,I=this.symbol||"circle",_=A/2,m=j.renderer,w=E.group,G=P-Math.round(A*(X?.4:.3)),O={},a=F.marker,g=0;if(j.styledMode||(O["stroke-width"]=Math.min(F.lineWidth||0,24),F.dashStyle?O.dashstyle=F.dashStyle:"square"===F.linecap||(O["stroke-linecap"]="round")),E.line=m.path().addClass("highcharts-graph").attr(O).add(w),X&&(E.area=m.path().addClass("highcharts-area").add(w)),O["stroke-linecap"]&&(g=Math.min(E.line.strokeWidth(),D)/2),D){let v=[["M",g,G],["L",D-g,G]];E.line.attr({d:v}),E.area?.attr({d:[...v,["L",D-g,P],["L",g,P]]})}if(a&&!1!==a.enabled&&D){let v=Math.min(le(a.radius,_),_);0===I.indexOf("url")&&(a=ve(a,{width:A,height:A}),v=0),E.symbol=f=m.symbol(I,D/2-v,G-v,2*v,2*v,re({context:"legend"},a)).addClass("highcharts-point").add(w),f.isMarker=!0}}pe.areaMarker=function(J,te){ue.call(this,J,te,!0)},pe.lineMarker=ue,pe.rectangle=function(J,te){let X=te.legendItem||{},j=J.symbolHeight,F=J.options.squareSymbol;X.symbol=this.chart.renderer.rect(F?(J.symbolWidth-j)/2:0,J.baseline-j+1,F?j:J.symbolWidth,j,le(J.options.symbolRadius,j/2)).addClass("highcharts-point").attr({zIndex:3}).add(X.group)}}(ne||(ne={})),ne}),Le(V,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:q}=this.series.chart;return"number"!=typeof this.y?"":q(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),Le(V,"Core/Series/SeriesRegistry.js",[V["Core/Globals.js"],V["Core/Defaults.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{defaultOptions:pe}=ne,{extend:ue,extendClass:J,merge:te}=ve;return function(X){function E(j,F){let P=pe.plotOptions||{},D=F.defaultOptions,A=F.prototype;return A.type=j,A.pointClass||(A.pointClass=re),!X.seriesTypes[j]&&(D&&(P[j]=D),X.seriesTypes[j]=F,!0)}X.seriesTypes=q.seriesTypes,X.registerSeriesType=E,X.seriesType=function(j,F,P,D,A){let I=pe.plotOptions||{};if(I[j]=te(I[F=F||""],P),delete X.seriesTypes[j],E(j,J(X.seriesTypes[F]||function(){},D)),X.seriesTypes[j].prototype.type=j,A){class _ extends re{}ue(_.prototype,A),X.seriesTypes[j].prototype.pointClass=_}return X.seriesTypes[j]}}(le||(le={})),le}),Le(V,"Core/Series/Series.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Series/Point.js"],V["Core/Series/SeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X){let{animObject:E,setAnimation:j}=q,{defaultOptions:F}=ne,{registerEventOptions:P}=re,{svg:D,win:A}=ve,{seriesTypes:I}=J,{arrayMax:_,arrayMin:m,clamp:w,correctFloat:G,defined:O,destroyObjectProperties:f,diffObjects:a,erase:g,error:v,extend:o,find:n,fireEvent:r,getClosestDistance:l,getNestedProperty:d,insertItem:C,isArray:k,isNumber:p,isString:T,merge:B,objectEach:z,pick:K,removeEvent:U,splat:se,syncTimeout:S}=X;class ${constructor(){this.zoneAxis="y"}init(x,N){let R;r(this,"init",{options:N});let Z=this,Y=x.series;this.eventsToUnbind=[],Z.chart=x,Z.options=Z.setOptions(N);let he=Z.options,ge=!1!==he.visible;Z.linkedSeries=[],Z.bindAxes(),o(Z,{name:he.name,state:"",visible:ge,selected:!0===he.selected}),P(this,he);let _e=he.events;(_e&&_e.click||he.point&&he.point.events&&he.point.events.click||he.allowPointSelect)&&(x.runTrackerClick=!0),Z.getColor(),Z.getSymbol(),Z.parallelArrays.forEach(function(Te){Z[Te+"Data"]||(Z[Te+"Data"]=[])}),Z.isCartesian&&(x.hasCartesianSeries=!0),Y.length&&(R=Y[Y.length-1]),Z._i=K(R&&R._i,-1)+1,Z.opacity=Z.options.opacity,x.orderItems("series",C(this,Y)),he.dataSorting&&he.dataSorting.enabled?Z.setDataSortingOptions():Z.points||Z.data||Z.setData(he.data,!1),r(this,"afterInit")}is(x){return I[x]&&this instanceof I[x]}bindAxes(){let x,N=this,R=N.options,Z=N.chart;r(this,"bindAxes",null,function(){(N.axisTypes||[]).forEach(function(Y){Z[Y].forEach(function(he){x=he.options,(K(R[Y],0)===he.index||void 0!==R[Y]&&R[Y]===x.id)&&(C(N,he.series),N[Y]=he,he.isDirty=!0)}),N[Y]||N.optionalAxis===Y||v(18,!0,Z)})}),r(this,"afterBindAxes")}updateParallelArrays(x,N,R){let Z=x.series,Y=p(N)?function(he){let ge="y"===he&&Z.toYData?Z.toYData(x):x[he];Z[he+"Data"][N]=ge}:function(he){Array.prototype[N].apply(Z[he+"Data"],R)};Z.parallelArrays.forEach(Y)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(x,N){let R=x.marker,Z=N.marker||{};return R&&(Z.enabled&&!R.enabled||Z.symbol!==R.symbol||Z.height!==R.height||Z.width!==R.width)}autoIncrement(x){let ge,_e,N=this.options,R=N.pointIntervalUnit,Z=N.relativeXValue,Y=this.chart.time,he=this.xIncrement;return he=K(he,N.pointStart,0),this.pointInterval=_e=K(this.pointInterval,N.pointInterval,1),Z&&p(x)&&(_e*=x),R&&(ge=new Y.Date(he),"day"===R?Y.set("Date",ge,Y.get("Date",ge)+_e):"month"===R?Y.set("Month",ge,Y.get("Month",ge)+_e):"year"===R&&Y.set("FullYear",ge,Y.get("FullYear",ge)+_e),_e=ge.getTime()-he),Z&&p(x)?he+_e:(this.xIncrement=he+_e,he)}setDataSortingOptions(){let x=this.options;o(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),O(x.pointRange)||(x.pointRange=1)}setOptions(x){let N,R=this.chart,Z=R.options.plotOptions,Y=R.userOptions||{},he=B(x),ge=R.styledMode,_e={plotOptions:Z,userOptions:he};r(this,"setOptions",_e);let Te=_e.plotOptions[this.type],Oe=Y.plotOptions||{},De=Oe.series||{},Be=F.plotOptions[this.type]||{},oe=Oe[this.type]||{};this.userOptions=_e.userOptions;let ee=B(Te,Z.series,oe,he);this.tooltipOptions=B(F.tooltip,F.plotOptions.series?.tooltip,Be?.tooltip,R.userOptions.tooltip,Oe.series?.tooltip,oe.tooltip,he.tooltip),this.stickyTracking=K(he.stickyTracking,oe.stickyTracking,De.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||ee.stickyTracking),null===Te.marker&&delete ee.marker,this.zoneAxis=ee.zoneAxis||"y";let be=this.zones=(ee.zones||[]).map(xe=>({...xe}));return(ee.negativeColor||ee.negativeFillColor)&&!ee.zones&&(N={value:ee[this.zoneAxis+"Threshold"]||ee.threshold||0,className:"highcharts-negative"},ge||(N.color=ee.negativeColor,N.fillColor=ee.negativeFillColor),be.push(N)),be.length&&O(be[be.length-1].value)&&be.push(ge?{}:{color:this.color,fillColor:this.fillColor}),r(this,"afterSetOptions",{options:ee}),ee}getName(){return K(this.options.name,"Series "+(this.index+1))}getCyclic(x,N,R){let Z,Y,he=this.chart,ge=`${x}Index`,_e=`${x}Counter`,Te=R?.length||he.options.chart.colorCount;!N&&(O(Y=K("color"===x?this.options.colorIndex:void 0,this[ge]))?Z=Y:(he.series.length||(he[_e]=0),Z=he[_e]%Te,he[_e]+=1),R&&(N=R[Z])),void 0!==Z&&(this[ge]=Z),this[x]=N}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||F.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)}findPointIndex(x,N){let R,Z,Y,he=x.id,ge=x.x,_e=this.points,Te=this.options.dataSorting;if(he){let Oe=this.chart.get(he);Oe instanceof pe&&(R=Oe)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let Oe=De=>!De.touched&&De.index===x.index;if(Te&&Te.matchByName?Oe=De=>!De.touched&&De.name===x.name:this.options.relativeXValue&&(Oe=De=>!De.touched&&De.options.x===x.x),!(R=n(_e,Oe)))return}return R&&void 0!==(Y=R&&R.index)&&(Z=!0),void 0===Y&&p(ge)&&(Y=this.xData.indexOf(ge,N)),-1!==Y&&void 0!==Y&&this.cropped&&(Y=Y>=this.cropStart?Y-this.cropStart:Y),!Z&&p(Y)&&_e[Y]&&_e[Y].touched&&(Y=void 0),Y}updateData(x,N){let Te,Oe,De,Be,R=this.options,Z=R.dataSorting,Y=this.points,he=[],ge=this.requireSorting,_e=x.length===Y.length,oe=!0;if(this.xIncrement=null,x.forEach(function(ee,be){let xe,Ie=O(ee)&&this.pointClass.prototype.optionsToObject.call({series:this},ee)||{};Ie.id||p(Ie.x)?(-1===(xe=this.findPointIndex(Ie,Be))||void 0===xe?he.push(ee):Y[xe]&&ee!==R.data[xe]?(Y[xe].update(ee,!1,null,!1),Y[xe].touched=!0,ge&&(Be=xe+1)):Y[xe]&&(Y[xe].touched=!0),(!_e||be!==xe||Z&&Z.enabled||this.hasDerivedData)&&(Te=!0)):he.push(ee)},this),Te)for(Oe=Y.length;Oe--;)(De=Y[Oe])&&!De.touched&&De.remove&&De.remove(!1,N);else!_e||Z&&Z.enabled?oe=!1:(x.forEach(function(ee,be){ee===Y[be].y||Y[be].destroyed||Y[be].update(ee,!1,null,!1)}),he.length=0);return Y.forEach(function(ee){ee&&(ee.touched=!1)}),!!oe&&(he.forEach(function(ee){this.addPoint(ee,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=_(this.xData),this.autoIncrement()),!0)}setData(x,N=!0,R,Z){let we,Ee,Me,qe,Y=this,he=Y.points,ge=he&&he.length||0,_e=Y.options,Te=Y.chart,Oe=_e.dataSorting,De=Y.xAxis,Be=_e.turboThreshold,oe=this.xData,ee=this.yData,be=Y.pointArrayMap,xe=be&&be.length,Ie=_e.keys,Xe=0,Je=1,lt=null;Te.options.chart.allowMutatingData||(_e.data&&delete Y.options.data,Y.userOptions.data&&delete Y.userOptions.data,qe=B(!0,x));let st=(x=qe||x||[]).length;if(Oe&&Oe.enabled&&(x=this.sortData(x)),Te.options.chart.allowMutatingData&&!1!==Z&&st&&ge&&!Y.cropped&&!Y.hasGroupedData&&Y.visible&&!Y.boosted&&(Me=this.updateData(x,R)),!Me){if(Y.xIncrement=null,Y.colorCounter=0,this.parallelArrays.forEach(function(Tt){Y[Tt+"Data"].length=0}),Be&&st>Be)if(p(lt=Y.getFirstValidPoint(x)))for(we=0;we=0?Xe:0,Je=Je>=0?Je:1),1===lt.length&&(Je=0),Xe===Je)for(we=0;we{let ge=d(R,Y),_e=d(R,he);return _ege?1:0}).forEach(function(Y,he){Y.x=he},this),N.linkedSeries&&N.linkedSeries.forEach(function(Y){let he=Y.options,ge=he.data;he.dataSorting&&he.dataSorting.enabled||!ge||(ge.forEach(function(_e,Te){ge[Te]=Z(Y,_e),x[Te]&&(ge[Te].x=x[Te].x,ge[Te].index=Te)}),Y.setData(ge,!1))}),x}getProcessedData(x){let Te,Oe,Be,oe,ee,N=this,R=N.xAxis,Z=N.options,Y=Z.cropThreshold,he=x||N.getExtremesFromAll||Z.getExtremesFromAll,ge=R?.logarithmic,_e=N.isCartesian,De=0,be=N.xData,xe=N.yData,Ie=!1,we=be.length;R&&(oe=(Be=R.getExtremes()).min,ee=Be.max,Ie=!(!R.categories||R.names.length)),_e&&N.sorted&&!he&&(!Y||we>Y||N.forceCrop)&&(be[we-1]ee?(be=[],xe=[]):N.yData&&(be[0]ee)&&(be=(Te=this.cropData(N.xData,N.yData,oe,ee)).xData,xe=Te.yData,De=Te.start,Oe=!0));let Ee=l([ge?be.map(ge.log2lin):be],()=>N.requireSorting&&!Ie&&v(15,!1,N.chart));return{xData:be,yData:xe,cropped:Oe,cropStart:De,closestPointRange:Ee}}processData(x){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!x)return!1;let R=this.getProcessedData();this.cropped=R.cropped,this.cropStart=R.cropStart,this.processedXData=R.xData,this.processedYData=R.yData,this.closestPointRange=this.basePointRange=R.closestPointRange,r(this,"afterProcessData")}cropData(x,N,R,Z){let he,ge,Y=x.length,_e=0,Te=Y;for(he=0;he=R){_e=Math.max(0,he-1);break}for(ge=he;geZ){Te=ge+1;break}return{xData:x.slice(_e,Te),yData:N.slice(_e,Te),start:_e,end:Te}}generatePoints(){let Be,oe,ee,be,x=this.options,N=this.processedData||x.data,R=this.processedXData,Z=this.processedYData,Y=this.pointClass,he=R.length,ge=this.cropStart||0,_e=this.hasGroupedData,Te=x.keys,Oe=[],De=x.dataGrouping&&x.dataGrouping.groupAll?ge:0,xe=this.data;if(!xe&&!_e){let Ie=[];Ie.length=N.length,xe=this.data=Ie}for(Te&&_e&&(this.options.keys=!1),be=0;be0:oe.length)||!_e),De=N||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!R||(Y[ee+ge]||Be)>=xe&&(Y[ee-ge]||Be)<=Ie,Oe&&De)if(be=oe.length)for(;be--;)p(oe[be])&&(he[we++]=oe[be]);else he[we++]=oe;let Me={activeYData:he,dataMin:m(he),dataMax:_(he)};return r(this,"afterGetExtremes",{dataExtremes:Me}),Me}applyExtremes(){let x=this.getExtremes();return this.dataMin=x.dataMin,this.dataMax=x.dataMax,x}getFirstValidPoint(x){let N=x.length,R=0,Z=null;for(;null===Z&&R1)&&(he.step=function(Be,oe){De&&De.apply(oe,arguments),"width"===oe.prop&&Te?.element&&Te.attr(Y?"height":"width",Be+99)}),_e.addClass("highcharts-animating").animate(Oe,he)}}afterAnimate(){this.setClip(),z(this.chart.sharedClips,(x,N,R)=>{x&&!this.chart.container.querySelector(`[clip-path="url(#${x.id})"]`)&&(x.destroy(),delete R[N])}),this.finishedAnimating=!0,r(this,"afterAnimate")}drawPoints(x=this.points){let N,R,Z,Y,he,ge,_e,Te=this.chart,Oe=Te.styledMode,{colorAxis:De,options:Be}=this,oe=Be.marker,ee=this[this.specialGroup||"markerGroup"],be=this.xAxis,xe=K(oe.enabled,!be||!!be.isRadial||null,this.closestPointRangePx>=oe.enabledThreshold*oe.radius);if(!1!==oe.enabled||this._hasPointMarkers)for(N=0;N0||R.hasImage)&&(R.graphic=Z=Te.renderer.symbol(Ie,_e.x,_e.y,_e.width,_e.height,ge?he:oe).add(ee),this.enabledDataSorting&&Te.hasRendered&&(Z.attr({x:R.startXPos}),Y="animate")),Z&&"animate"===Y&&Z[we?"show":"hide"](we).animate(_e),Z){let Ee=this.pointAttribs(R,Oe||!R.selected?void 0:"select");Oe?De&&Z.css({fill:Ee.fill}):Z[Y](Ee)}Z&&Z.addClass(R.getClassName(),!0)}else Z&&(R.graphic=Z.destroy())}markerAttribs(x,N){let _e,Te,R=this.options,Z=R.marker,Y=x.marker||{},he=Y.symbol||Z.symbol,ge={},Oe=K(Y.radius,Z&&Z.radius);N&&(_e=Z.states[N],Oe=K((Te=Y.states&&Y.states[N])&&Te.radius,_e&&_e.radius,Oe&&Oe+(_e&&_e.radiusPlus||0))),x.hasImage=he&&0===he.indexOf("url"),x.hasImage&&(Oe=0);let De=x.pos();return p(Oe)&&De&&(ge.x=De[0]-Oe,ge.y=De[1]-Oe,R.crisp&&(ge.x=Math.floor(ge.x))),Oe&&(ge.width=ge.height=2*Oe),ge}pointAttribs(x,N){let Te,Oe,Be,oe,R=this.options.marker,Z=x&&x.options,Y=Z&&Z.marker||{},he=Z&&Z.color,ge=x&&x.color,_e=x&&x.zone&&x.zone.color,De=this.color,ee=K(Y.lineWidth,R.lineWidth),be=1;return De=he||_e||ge||De,Be=Y.fillColor||R.fillColor||De,oe=Y.lineColor||R.lineColor||De,Te=R.states[N=N||"normal"]||{},ee=K((Oe=Y.states&&Y.states[N]||{}).lineWidth,Te.lineWidth,ee+K(Oe.lineWidthPlus,Te.lineWidthPlus,0)),Be=Oe.fillColor||Te.fillColor||Be,{stroke:oe=Oe.lineColor||Te.lineColor||oe,"stroke-width":ee,fill:Be,opacity:be=K(Oe.opacity,Te.opacity,be)}}destroy(x){let N,R,Z,Y=this,he=Y.chart,ge=/AppleWebKit\/533/.test(A.navigator.userAgent),_e=Y.data||[];for(r(Y,"destroy",{keepEventsForUpdate:x}),this.removeEvents(x),(Y.axisTypes||[]).forEach(function(Te){(Z=Y[Te])&&Z.series&&(g(Z.series,Y),Z.isDirty=Z.forceRedraw=!0)}),Y.legendItem&&Y.chart.legend.destroyItem(Y),N=_e.length;N--;)(R=_e[N])&&R.destroy&&R.destroy();for(let Te of Y.zones)f(Te,void 0,!0);X.clearTimeout(Y.animationTimeout),z(Y,function(Te,Oe){Te instanceof te&&!Te.survive&&Te[ge&&"group"===Oe?"hide":"destroy"]()}),he.hoverSeries===Y&&(he.hoverSeries=void 0),g(he.series,Y),he.orderItems("series"),z(Y,function(Te,Oe){x&&"hcEvents"===Oe||delete Y[Oe]})}applyZones(){let{area:x,chart:N,graph:R,zones:Z,points:Y,xAxis:he,yAxis:ge,zoneAxis:_e}=this,{inverted:Te,renderer:Oe}=N,De=this[`${_e}Axis`],{isXAxis:Be,len:oe=0}=De||{},ee=(R?.strokeWidth()||0)/2+1,be=(xe,Ie=0,we=0)=>{Te&&(we=oe-we);let{translated:Ee=0,lineClip:Me}=xe,Xe=we-Ee;Me?.push(["L",Ie,Math.abs(Xe){Me.forEach((Xe,Je)=>{("M"===Xe[0]||"L"===Xe[0])&&(Me[Je]=[Xe[0],Be?oe-Xe[1]:Xe[1],Be?Xe[2]:oe-Xe[2]])})};if(Z.forEach(Me=>{Me.lineClip=[],Me.translated=w(De.toPixels(K(Me.value,xe),!0)||0,0,oe)}),R&&!this.showLine&&R.hide(),x&&x.hide(),"y"===_e&&Y.length{let Xe=Me.lineClip||[],Je=Math.round(Me.translated||0);he.reversed&&Xe.reverse();let{clip:lt,simpleClip:qe}=Me,st=0,Tt=0,pt=he.len,ht=ge.len;Be?(st=Je,pt=Ee):(Tt=Je,ht=Ee);let Pt=[["M",st,Tt],["L",pt,Tt],["L",pt,ht],["L",st,ht],["Z"]],Gt=[Pt[0],...Xe,Pt[1],Pt[2],...we,Pt[3],Pt[4]];we=Xe.reverse(),Ee=Je,Te&&(Ie(Gt),x&&Ie(Pt)),lt?(lt.animate({d:Gt}),qe?.animate({d:Pt})):(lt=Me.clip=Oe.path(Gt),x&&(qe=Me.simpleClip=Oe.path(Pt))),R&&Me.graph?.clip(lt),x&&Me.area?.clip(qe)})}else this.visible&&(R&&R.show(),x&&x.show())}plotGroup(x,N,R,Z,Y){let he=this[x],ge=!he,_e={visibility:R,zIndex:Z||.1};return O(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(_e.opacity=this.opacity),he||(this[x]=he=this.chart.renderer.g().add(Y)),he.addClass("highcharts-"+N+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(O(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(he.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),he.attr(_e)[ge?"attr":"animate"](this.getPlotBox(N)),he}getPlotBox(x){let N=this.xAxis,R=this.yAxis,Z=this.chart,Y=Z.inverted&&!Z.polar&&N&&this.invertible&&"series"===x;return Z.inverted&&(N=R,R=this.xAxis),{translateX:N?N.left:Z.plotLeft,translateY:R?R.top:Z.plotTop,rotation:Y?90:0,rotationOriginX:Y?(N.len-R.len)/2:0,rotationOriginY:Y?(N.len+R.len)/2:0,scaleX:Y?-1:1,scaleY:1}}removeEvents(x){let{eventsToUnbind:N}=this;x||U(this),N.length&&(N.forEach(R=>{R()}),N.length=0)}render(){let x=this,{chart:N,options:R,hasRendered:Z}=x,Y=E(R.animation),he=x.visible?"inherit":"hidden",ge=R.zIndex,_e=N.seriesGroup,Te=x.finishedAnimating?0:Y.duration;r(this,"render"),x.plotGroup("group","series",he,ge,_e),x.markerGroup=x.plotGroup("markerGroup","markers",he,ge,_e),!1!==R.clip&&x.setClip(),Te&&x.animate?.(!0),x.drawGraph&&(x.drawGraph(),x.applyZones()),x.visible&&x.drawPoints(),x.drawDataLabels?.(),x.redrawPoints?.(),R.enableMouseTracking&&x.drawTracker?.(),Te&&x.animate?.(),Z||(Te&&Y.defer&&(Te+=Y.defer),x.animationTimeout=S(()=>{x.afterAnimate()},Te||0)),x.isDirty=!1,x.hasRendered=!0,r(x,"afterRender")}redraw(){let x=this.isDirty||this.isDirtyData;this.translate(),this.render(),x&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(x,N){let{xAxis:R,yAxis:Z}=this,Y=this.chart.inverted;return this.searchKDTree({clientX:Y?R.len-x.chartY+R.pos:x.chartX-R.pos,plotY:Y?Z.len-x.chartX+Z.pos:x.chartY-Z.pos},N,x)}buildKDTree(x){this.buildingKdTree=!0;let N=this,R=N.options.findNearestPointBy.indexOf("y")>-1?2:1;delete N.kdTree,S(function(){N.kdTree=function Z(Y,he,ge){let _e,Te,Oe=Y?.length;if(Oe)return _e=N.kdAxisArray[he%ge],Y.sort((De,Be)=>(De[_e]||0)-(Be[_e]||0)),{point:Y[Te=Math.floor(Oe/2)],left:Z(Y.slice(0,Te),he+1,ge),right:Z(Y.slice(Te+1),he+1,ge)}}(N.getValidPoints(void 0,!N.directTouch),R,R),N.buildingKdTree=!1},N.options.kdNow||"touchstart"===x?.type?0:1)}searchKDTree(x,N,R){let Z=this,[Y,he]=this.kdAxisArray,ge=N?"distX":"dist",_e=(Z.options.findNearestPointBy||"").indexOf("y")>-1?2:1,Te=!!Z.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(R),this.kdTree)return function Oe(De,Be,oe,ee){let Ie,we,be=Be.point,xe=Z.kdAxisArray[oe%ee],Ee=be;!function(lt,qe){let st=lt[Y],Tt=qe[Y],pt=O(st)&&O(Tt)?st-Tt:null,ht=lt[he],Pt=qe[he],Gt=O(ht)&&O(Pt)?ht-Pt:0,ti=Te&&qe.marker?.radius||0;qe.dist=Math.sqrt((pt&&pt*pt||0)+Gt*Gt)-ti,qe.distX=O(pt)?Math.abs(pt)-ti:Number.MAX_VALUE}(De,be);let Me=(De[xe]||0)-(be[xe]||0)+(Te&&be.marker?.radius||0),Xe=Me<0?"left":"right",Je=Me<0?"right":"left";return Be[Xe]&&(Ee=(Ie=Oe(De,Be[Xe],oe+1,ee))[ge]=0&&he<=(Z?Z.len:N.plotHeight)&&Y>=0&&Y<=(R?R.len:N.plotWidth)}drawTracker(){let x=this,N=x.options,R=N.trackByArea,Z=[].concat((R?x.areaPath:x.graphPath)||[]),Y=x.chart,he=Y.pointer,ge=Y.renderer,_e=Y.options.tooltip?.snap||0,Te=()=>{N.enableMouseTracking&&Y.hoverSeries!==x&&x.onMouseOver()},Oe="rgba(192,192,192,"+(D?1e-4:.002)+")",De=x.tracker;De?De.attr({d:Z}):x.graph&&(x.tracker=De=ge.path(Z).attr({visibility:x.visible?"inherit":"hidden",zIndex:2}).addClass(R?"highcharts-tracker-area":"highcharts-tracker-line").add(x.group),Y.styledMode||De.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:Oe,fill:R?Oe:"none","stroke-width":x.graph.strokeWidth()+(R?0:2*_e)}),[x.tracker,x.markerGroup,x.dataLabelsGroup].forEach(Be=>{Be&&(Be.addClass("highcharts-tracker").on("mouseover",Te).on("mouseout",oe=>{he?.onTrackerMouseOut(oe)}),N.cursor&&!Y.styledMode&&Be.css({cursor:N.cursor}),Be.on("touchstart",Te))})),r(this,"afterDrawTracker")}addPoint(x,N,R,Z,Y){let he,ge,_e=this.options,Te=this.data,Oe=this.chart,De=this.xAxis,Be=De&&De.hasNames&&De.names,oe=_e.data,ee=this.xData;N=K(N,!0);let be={series:this};this.pointClass.prototype.applyOptions.apply(be,[x]);let xe=be.x;if(ge=ee.length,this.requireSorting&&xexe;)ge--;this.updateParallelArrays(be,"splice",[ge,0,0]),this.updateParallelArrays(be,ge),Be&&be.name&&(Be[xe]=be.name),oe.splice(ge,0,x),(he||this.processedData)&&(this.data.splice(ge,0,null),this.processData()),"point"===_e.legendType&&this.generatePoints(),R&&(Te[0]&&Te[0].remove?Te[0].remove(!1):(Te.shift(),this.updateParallelArrays(be,"shift"),oe.shift())),!1!==Y&&r(this,"addPoint",{point:be}),this.isDirty=!0,this.isDirtyData=!0,N&&Oe.redraw(Z)}removePoint(x,N,R){let Z=this,Y=Z.data,he=Y[x],ge=Z.points,_e=Z.chart,Te=function(){ge&&ge.length===Y.length&&ge.splice(x,1),Y.splice(x,1),Z.options.data.splice(x,1),Z.updateParallelArrays(he||{series:Z},"splice",[x,1]),he&&he.destroy(),Z.isDirty=!0,Z.isDirtyData=!0,N&&_e.redraw()};j(R,_e),N=K(N,!0),he?he.firePointEvent("remove",null,Te):Te()}remove(x,N,R,Z){let Y=this,he=Y.chart;function ge(){Y.destroy(Z),he.isDirtyLegend=he.isDirtyBox=!0,he.linkSeries(Z),K(x,!0)&&he.redraw(N)}!1!==R?r(Y,"remove",null,ge):ge()}update(x,N){r(this,"update",{options:x=a(x,this.userOptions)});let De,Be,R=this,Z=R.chart,Y=R.userOptions,he=R.initialType||R.type,ge=Z.options.plotOptions,_e=I[he].prototype,Te=R.finishedAnimating&&{animation:!1},Oe={},oe=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],ee=x.type||Y.type||Z.options.chart.type,be=!(this.hasDerivedData||ee&&ee!==this.type||void 0!==x.pointStart||void 0!==x.pointInterval||void 0!==x.relativeXValue||x.joinBy||x.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(Ie=>R.hasOptionChanged(Ie)));ee=ee||he,be&&(oe.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==x.visible&&oe.push("area","graph"),R.parallelArrays.forEach(function(Ie){oe.push(Ie+"Data")}),x.data&&(x.dataSorting&&o(R.options.dataSorting,x.dataSorting),this.setData(x.data,!1))),x=B(Y,{index:void 0===Y.index?R.index:Y.index,pointStart:ge?.series?.pointStart??Y.pointStart??R.xData?.[0]},!be&&{data:R.options.data},x,Te),be&&x.data&&(x.data=R.options.data),(oe=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(oe)).forEach(function(Ie){oe[Ie]=R[Ie],delete R[Ie]});let xe=!1;if(I[ee]){if(xe=ee!==R.type,R.remove(!1,!1,!1,!0),xe)if(Z.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(R,I[ee].prototype);else{let Ie=Object.hasOwnProperty.call(R,"hcEvents")&&R.hcEvents;for(Be in _e)R[Be]=void 0;o(R,I[ee].prototype),Ie?R.hcEvents=Ie:delete R.hcEvents}}else v(17,!0,Z,{missingModuleFor:ee});if(oe.forEach(function(Ie){R[Ie]=oe[Ie]}),R.init(Z,x),be&&this.points)for(let Ie of(!1===(De=R.options).visible?(Oe.graphic=1,Oe.dataLabel=1):(this.hasMarkerChanged(De,Y)&&(Oe.graphic=1),R.hasDataLabels?.()||(Oe.dataLabel=1)),this.points))Ie&&Ie.series&&(Ie.resolveColor(),Object.keys(Oe).length&&Ie.destroyElements(Oe),!1===De.showInLegend&&Ie.legendItem&&Z.legend.destroyItem(Ie));R.initialType=he,Z.linkSeries(),Z.setSortedData(),xe&&R.linkedSeries.length&&(R.isDirtyData=!0),r(this,"afterUpdate"),K(N,!0)&&Z.redraw(!!be&&void 0)}setName(x){this.name=this.options.name=this.userOptions.name=x,this.chart.isDirtyLegend=!0}hasOptionChanged(x){let R=this.options[x],Z=this.chart.options.plotOptions,Y=this.userOptions[x],he=K(Z?.[this.type]?.[x],Z?.series?.[x]);return Y&&!O(he)?R!==Y:R!==K(he,R)}onMouseOver(){let x=this.chart,N=x.hoverSeries;x.pointer?.setHoverChartIndex(),N&&N!==this&&N.onMouseOut(),this.options.events.mouseOver&&r(this,"mouseOver"),this.setState("hover"),x.hoverSeries=this}onMouseOut(){let x=this.options,N=this.chart,R=N.tooltip,Z=N.hoverPoint;N.hoverSeries=null,Z&&Z.onMouseOut(),this&&x.events.mouseOut&&r(this,"mouseOut"),R&&!this.stickyTracking&&(!R.shared||this.noSharedTooltip)&&R.hide(),N.series.forEach(function(Y){Y.setState("",!0)})}setState(x,N){let R=this,Z=R.options,Y=R.graph,he=Z.inactiveOtherPoints,ge=Z.states,_e=K(ge[x||"normal"]&&ge[x||"normal"].animation,R.chart.options.chart.animation),Te=Z.lineWidth,Oe=Z.opacity;if(R.state!==(x=x||"")&&([R.group,R.markerGroup,R.dataLabelsGroup].forEach(function(De){De&&(R.state&&De.removeClass("highcharts-series-"+R.state),x&&De.addClass("highcharts-series-"+x))}),R.state=x,!R.chart.styledMode)){if(ge[x]&&!1===ge[x].enabled)return;if(x&&(Te=ge[x].lineWidth||Te+(ge[x].lineWidthPlus||0),Oe=K(ge[x].opacity,Oe)),Y&&!Y.dashstyle&&p(Te))for(let De of[Y,...this.zones.map(Be=>Be.graph)])De?.animate({"stroke-width":Te},_e);he||[R.group,R.markerGroup,R.dataLabelsGroup,R.labelBySeries].forEach(function(De){De&&De.animate({opacity:Oe},_e)})}N&&he&&R.points&&R.setAllPointsToState(x||void 0)}setAllPointsToState(x){this.points.forEach(function(N){N.setState&&N.setState(x)})}setVisible(x,N){let R=this,Z=R.chart,Y=Z.options.chart.ignoreHiddenSeries;R.visible=x=R.options.visible=R.userOptions.visible=void 0===x?!R.visible:x;let ge=x?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(_e=>{R[_e]?.[ge]()}),(Z.hoverSeries===R||Z.hoverPoint?.series===R)&&R.onMouseOut(),R.legendItem&&Z.legend.colorizeItem(R,x),R.isDirty=!0,R.options.stacking&&Z.series.forEach(_e=>{_e.options.stacking&&_e.visible&&(_e.isDirty=!0)}),R.linkedSeries.forEach(_e=>{_e.setVisible(x,!1)}),Y&&(Z.isDirtyBox=!0),r(R,ge),!1!==N&&Z.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(x){this.selected=x=this.options.selected=void 0===x?!this.selected:x,this.checkbox&&(this.checkbox.checked=x),r(this,x?"select":"unselect")}shouldShowTooltip(x,N,R={}){return R.series=this,R.visiblePlotOnly=!0,this.chart.isInsidePlot(x,N,R)}drawLegendSymbol(x,N){le[this.options.legendSymbol||"rectangle"]?.call(this,x,N)}}return $.defaultOptions=ue,$.types=J.seriesTypes,$.registerType=J.registerSeriesType,o($.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:pe,requireSorting:!0,sorted:!0}),J.series=$,$}),Le(V,"Core/Chart/Chart.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Time.js"],V["Core/Utilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Axis/Tick.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X,E,j,F,P){let{animate:D,animObject:A,setAnimation:I}=q,{defaultOptions:_,defaultTime:m}=re,{numberFormat:w}=ve,{registerEventOptions:G}=le,{charts:O,doc:f,marginNames:a,svg:g,win:v}=pe,{seriesTypes:o}=te,{addEvent:n,attr:r,createElement:l,css:d,defined:C,diffObjects:k,discardElement:p,erase:T,error:B,extend:z,find:K,fireEvent:U,getStyle:se,isArray:S,isNumber:$,isObject:H,isString:x,merge:N,objectEach:R,pick:Z,pInt:Y,relativeLength:he,removeEvent:ge,splat:_e,syncTimeout:Te,uniqueKey:Oe}=j;class De{static chart(oe,ee,be){return new De(oe,ee,be)}constructor(oe,ee,be){this.sharedClips={};let xe=[...arguments];(x(oe)||oe.nodeName)&&(this.renderTo=xe.shift()),this.init(xe[0],xe[1])}setZoomOptions(){let oe=this.options.chart,ee=oe.zooming;this.zooming={...ee,type:Z(oe.zoomType,ee.type),key:Z(oe.zoomKey,ee.key),pinchType:Z(oe.pinchType,ee.pinchType),singleTouch:Z(oe.zoomBySingleTouch,ee.singleTouch,!1),resetButton:N(ee.resetButton,oe.resetZoomButton)}}init(oe,ee){U(this,"init",{args:arguments},function(){let be=N(_,oe),xe=be.chart;this.userOptions=z({},oe),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=ee,this.isResizing=0,this.options=be,this.axes=[],this.series=[],this.time=oe.time&&Object.keys(oe.time).length?new E(oe.time):pe.time,this.numberFormatter=xe.numberFormatter||w,this.styledMode=xe.styledMode,this.hasCartesianSeries=xe.showAxes,this.index=O.length,O.push(this),pe.chartCount++,G(this,xe),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),U(this,"afterInit"),this.firstRender()})}initSeries(oe){let be=oe.type||this.options.chart.type,xe=o[be];xe||B(17,!0,this,{missingModuleFor:be});let Ie=new xe;return"function"==typeof Ie.init&&Ie.init(this,oe),Ie}setSortedData(){this.getSeriesOrderByLinks().forEach(function(oe){oe.points||oe.data||!oe.enabledDataSorting||oe.setData(oe.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(oe,ee){return oe.linkedSeries.length||ee.linkedSeries.length?ee.linkedSeries.length-oe.linkedSeries.length:0})}orderItems(oe,ee=0){let be=this[oe],xe=this.options[oe]=_e(this.options[oe]).slice(),Ie=this.userOptions[oe]=this.userOptions[oe]?_e(this.userOptions[oe]).slice():[];if(this.hasRendered&&(xe.splice(ee),Ie.splice(ee)),be)for(let we=ee,Ee=be.length;we=Math.max(Xe+we,ht.pos)&&Pt<=Math.min(Xe+we+qe.width,ht.pos+ht.len)||(pt.isInsidePlot=!1)}if(!be.ignoreY&&pt.isInsidePlot){let ht=!xe&&be.axis&&!be.axis.isXAxis&&be.axis||lt&&(xe?lt.xAxis:lt.yAxis)||{pos:Ee,len:1/0},Pt=be.paneCoordinates?ht.pos+Tt:Ee+Tt;Pt>=Math.max(Je+Ee,ht.pos)&&Pt<=Math.min(Je+Ee+qe.height,ht.pos+ht.len)||(pt.isInsidePlot=!1)}return U(this,"afterIsInsidePlot",pt),pt.isInsidePlot}redraw(oe){U(this,"beforeRedraw");let Je,lt,qe,pt,ee=this.hasCartesianSeries?this.axes:this.colorAxis||[],be=this.series,xe=this.pointer,Ie=this.legend,we=this.userOptions.legend,Ee=this.renderer,Me=Ee.isHidden(),Xe=[],st=this.isDirtyBox,Tt=this.isDirtyLegend;for(Ee.rootFontSize=Ee.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),I(!!this.hasRendered&&oe,this),Me&&this.temporaryDisplay(),this.layOutTitles(!1),qe=be.length;qe--;)if(((pt=be[qe]).options.stacking||pt.options.centerInCategory)&&(lt=!0,pt.isDirty)){Je=!0;break}if(Je)for(qe=be.length;qe--;)(pt=be[qe]).options.stacking&&(pt.isDirty=!0);be.forEach(function(ht){ht.isDirty&&("point"===ht.options.legendType?("function"==typeof ht.updateTotals&&ht.updateTotals(),Tt=!0):we&&(we.labelFormatter||we.labelFormat)&&(Tt=!0)),ht.isDirtyData&&U(ht,"updatedData")}),Tt&&Ie&&Ie.options.enabled&&(Ie.render(),this.isDirtyLegend=!1),lt&&this.getStacks(),ee.forEach(function(ht){ht.updateNames(),ht.setScale()}),this.getMargins(),ee.forEach(function(ht){ht.isDirty&&(st=!0)}),ee.forEach(function(ht){let Pt=ht.min+","+ht.max;ht.extKey!==Pt&&(ht.extKey=Pt,Xe.push(function(){U(ht,"afterSetExtremes",z(ht.eventArgs,ht.getExtremes())),delete ht.eventArgs})),(st||lt)&&ht.redraw()}),st&&this.drawChartBox(),U(this,"predraw"),be.forEach(function(ht){(st||ht.isDirty)&&ht.visible&&ht.redraw(),ht.isDirtyData=!1}),xe&&xe.reset(!0),Ee.draw(),U(this,"redraw"),U(this,"render"),Me&&this.temporaryDisplay(!0),Xe.forEach(function(ht){ht.call()})}get(oe){let ee=this.series;function be(Ie){return Ie.id===oe||Ie.options&&Ie.options.id===oe}let xe=K(this.axes,be)||K(this.series,be);for(let Ie=0;!xe&&Ie(ee.getPointsCollection().forEach(be=>{Z(be.selectedStaging,be.selected)&&oe.push(be)}),oe),[])}getSelectedSeries(){return this.series.filter(function(oe){return oe.selected})}setTitle(oe,ee,be){this.applyDescription("title",oe),this.applyDescription("subtitle",ee),this.applyDescription("caption",void 0),this.layOutTitles(be)}applyDescription(oe,ee){let be=this,xe=this.options[oe]=N(this.options[oe],ee),Ie=this[oe];Ie&&ee&&(this[oe]=Ie=Ie.destroy()),xe&&!Ie&&((Ie=this.renderer.text(xe.text,0,0,xe.useHTML).attr({align:xe.align,class:"highcharts-"+oe,zIndex:xe.zIndex||4}).add()).update=function(we,Ee){be.applyDescription(oe,we),be.layOutTitles(Ee)},this.styledMode||Ie.css(z("title"===oe?{fontSize:this.options.isStock?"1em":"1.2em"}:{},xe.style)),this[oe]=Ie)}layOutTitles(oe=!0){let ee=[0,0,0],be=this.renderer,xe=this.spacingBox;["title","subtitle","caption"].forEach(function(we){let Ee=this[we],Me=this.options[we],Xe=Me.verticalAlign||"top",Je="title"===we?"top"===Xe?-3:0:"top"===Xe?ee[0]+2:0;if(Ee){Ee.css({width:(Me.width||xe.width+(Me.widthAdjust||0))+"px"});let lt=be.fontMetrics(Ee).b,qe=Math.round(Ee.getBBox(Me.useHTML).height);Ee.align(z({y:"bottom"===Xe?lt:Je+lt,height:qe},Me),!1,"spacingBox"),Me.floating||("top"===Xe?ee[0]=Math.ceil(ee[0]+qe):"bottom"===Xe&&(ee[2]=Math.ceil(ee[2]+qe)))}},this),ee[0]&&"top"===(this.options.title.verticalAlign||"top")&&(ee[0]+=this.options.title.margin),ee[2]&&"bottom"===this.options.caption.verticalAlign&&(ee[2]+=this.options.caption.margin);let Ie=!this.titleOffset||this.titleOffset.join(",")!==ee.join(",");this.titleOffset=ee,U(this,"afterLayOutTitles"),!this.isDirtyBox&&Ie&&(this.isDirtyBox=this.isDirtyLegend=Ie,this.hasRendered&&oe&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:se(this.renderTo,"width",!0)||0,height:se(this.renderTo,"height",!0)||0}}getChartSize(){let oe=this.options.chart,ee=oe.width,be=oe.height,xe=this.getContainerBox();this.chartWidth=Math.max(0,ee||xe.width||600),this.chartHeight=Math.max(0,he(be,this.chartWidth)||(xe.height>1?xe.height:400)),this.containerBox=xe}temporaryDisplay(oe){let be,ee=this.renderTo;if(oe)for(;ee&&ee.style;)ee.hcOrigStyle&&(d(ee,ee.hcOrigStyle),delete ee.hcOrigStyle),ee.hcOrigDetached&&(f.body.removeChild(ee),ee.hcOrigDetached=!1),ee=ee.parentNode;else for(;ee&&ee.style&&(f.body.contains(ee)||ee.parentNode||(ee.hcOrigDetached=!0,f.body.appendChild(ee)),("none"===se(ee,"display",!1)||ee.hcOricDetached)&&(ee.hcOrigStyle={display:ee.style.display,height:ee.style.height,overflow:ee.style.overflow},be={display:"block",overflow:"hidden"},ee!==this.renderTo&&(be.height=0),d(ee,be),ee.offsetWidth||ee.style.setProperty("display","block","important")),(ee=ee.parentNode)!==f.body););}setClassName(oe){this.container.className="highcharts-container "+(oe||"")}getContainer(){let Ie,oe=this.options,ee=oe.chart,be="data-highcharts-chart",xe=Oe(),we=this.renderTo;we||(this.renderTo=we=ee.renderTo),x(we)&&(this.renderTo=we=f.getElementById(we)),we||B(13,!0,this);let Ee=Y(r(we,be));$(Ee)&&O[Ee]&&O[Ee].hasRendered&&O[Ee].destroy(),r(we,be,this.index),we.innerHTML=F.emptyHTML,ee.skipClone||we.offsetWidth||this.temporaryDisplay(),this.getChartSize();let Me=this.chartHeight,Xe=this.chartWidth;d(we,{overflow:"hidden"}),this.styledMode||(Ie=z({position:"relative",overflow:"hidden",width:Xe+"px",height:Me+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},ee.style||{}));let Je=l("div",{id:xe},Ie,we);this.container=Je,this.getChartSize(),Xe===this.chartWidth||(Xe=this.chartWidth,this.styledMode||d(Je,{width:Z(ee.style?.width,Xe+"px")})),this.containerBox=this.getContainerBox(),this._cursor=Je.style.cursor;let lt=ee.renderer||!g?ue.getRendererType(ee.renderer):X;if(this.renderer=new lt(Je,Xe,Me,void 0,ee.forExport,oe.exporting&&oe.exporting.allowHTML,this.styledMode),I(void 0,this),this.setClassName(ee.className),this.styledMode)for(let qe in oe.defs)this.renderer.definition(oe.defs[qe]);else this.renderer.setStyle(ee.style);this.renderer.chartIndex=this.index,U(this,"afterGetContainer")}getMargins(oe){let{spacing:ee,margin:be,titleOffset:xe}=this;this.resetMargins(),xe[0]&&!C(be[0])&&(this.plotTop=Math.max(this.plotTop,xe[0]+ee[0])),xe[2]&&!C(be[2])&&(this.marginBottom=Math.max(this.marginBottom,xe[2]+ee[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(be,ee),U(this,"getMargins"),oe||this.getAxisMargins()}getAxisMargins(){let oe=this,ee=oe.axisOffset=[0,0,0,0],be=oe.colorAxis,xe=oe.margin,Ie=function(we){we.forEach(function(Ee){Ee.visible&&Ee.getOffset()})};oe.hasCartesianSeries?Ie(oe.axes):be&&be.length&&Ie(be),a.forEach(function(we,Ee){C(xe[Ee])||(oe[we]+=ee[Ee])}),oe.setChartSize()}getOptions(){return k(this.userOptions,_)}reflow(oe){let ee=this,be=ee.containerBox,xe=ee.getContainerBox();delete ee.pointer?.chartPosition,!ee.isPrinting&&!ee.isResizing&&be&&xe.width&&((xe.width!==be.width||xe.height!==be.height)&&(j.clearTimeout(ee.reflowTimeout),ee.reflowTimeout=Te(function(){ee.container&&ee.setSize(void 0,void 0,!1)},oe?100:0)),ee.containerBox=xe)}setReflow(){let oe=this,ee=be=>{oe.options?.chart.reflow&&oe.hasLoaded&&oe.reflow(be)};if("function"==typeof ResizeObserver)new ResizeObserver(ee).observe(oe.renderTo);else{let be=n(v,"resize",ee);n(this,"destroy",be)}}setSize(oe,ee,be){let xe=this,Ie=xe.renderer;xe.isResizing+=1,I(be,xe);let we=Ie.globalAnimation;xe.oldChartHeight=xe.chartHeight,xe.oldChartWidth=xe.chartWidth,void 0!==oe&&(xe.options.chart.width=oe),void 0!==ee&&(xe.options.chart.height=ee),xe.getChartSize();let{chartWidth:Ee,chartHeight:Me,scrollablePixelsX:Xe=0,scrollablePixelsY:Je=0}=xe;(xe.isDirtyBox||Ee!==xe.oldChartWidth||Me!==xe.oldChartHeight)&&(xe.styledMode||(we?D:d)(xe.container,{width:`${Ee+Xe}px`,height:`${Me+Je}px`},we),xe.setChartSize(!0),Ie.setSize(Ee,Me,we),xe.axes.forEach(function(lt){lt.isDirty=!0,lt.setScale()}),xe.isDirtyLegend=!0,xe.isDirtyBox=!0,xe.layOutTitles(),xe.getMargins(),xe.redraw(we),xe.oldChartHeight=void 0,U(xe,"resize"),setTimeout(()=>{xe&&U(xe,"endResize",void 0,()=>{xe.isResizing-=1})},A(we).duration))}setChartSize(oe){let ee,be,xe,Ie,we=this.inverted,Ee=this.renderer,Me=this.chartWidth,Xe=this.chartHeight,Je=this.options.chart,lt=this.spacing,qe=this.clipOffset;this.plotLeft=ee=Math.round(this.plotLeft),this.plotTop=be=Math.round(this.plotTop),this.plotWidth=xe=Math.max(0,Math.round(Me-ee-this.marginRight)),this.plotHeight=Ie=Math.max(0,Math.round(Xe-be-this.marginBottom)),this.plotSizeX=we?Ie:xe,this.plotSizeY=we?xe:Ie,this.plotBorderWidth=Je.plotBorderWidth||0,this.spacingBox=Ee.spacingBox={x:lt[3],y:lt[0],width:Me-lt[3]-lt[1],height:Xe-lt[0]-lt[2]},this.plotBox=Ee.plotBox={x:ee,y:be,width:xe,height:Ie};let st=2*Math.floor(this.plotBorderWidth/2),Tt=Math.ceil(Math.max(st,qe[3])/2),pt=Math.ceil(Math.max(st,qe[0])/2);this.clipBox={x:Tt,y:pt,width:Math.floor(this.plotSizeX-Math.max(st,qe[1])/2-Tt),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(st,qe[2])/2-pt))},oe||(this.axes.forEach(function(ht){ht.setAxisSize(),ht.setAxisTranslation()}),Ee.alignElements()),U(this,"afterSetChartSize",{skipAxes:oe})}resetMargins(){U(this,"resetMargins");let oe=this,ee=oe.options.chart;["margin","spacing"].forEach(function(be){let xe=ee[be],Ie=H(xe)?xe:[xe,xe,xe,xe];["Top","Right","Bottom","Left"].forEach(function(we,Ee){oe[be][Ee]=Z(ee[be+we],Ie[Ee])})}),a.forEach(function(be,xe){oe[be]=Z(oe.margin[xe],oe.spacing[xe])}),oe.axisOffset=[0,0,0,0],oe.clipOffset=[0,0,0,0]}drawChartBox(){let Dt,It,xt,oe=this.options.chart,ee=this.renderer,be=this.chartWidth,xe=this.chartHeight,Ie=this.styledMode,we=this.plotBGImage,Ee=oe.backgroundColor,Me=oe.plotBackgroundColor,Xe=oe.plotBackgroundImage,Je=this.plotLeft,lt=this.plotTop,qe=this.plotWidth,st=this.plotHeight,Tt=this.plotBox,pt=this.clipRect,ht=this.clipBox,Pt=this.chartBackground,Gt=this.plotBackground,ti=this.plotBorder,wt="animate";Pt||(this.chartBackground=Pt=ee.rect().addClass("highcharts-background").add(),wt="attr"),Ie?Dt=It=Pt.strokeWidth():(It=(Dt=oe.borderWidth||0)+(oe.shadow?8:0),xt={fill:Ee||"none"},(Dt||Pt["stroke-width"])&&(xt.stroke=oe.borderColor,xt["stroke-width"]=Dt),Pt.attr(xt).shadow(oe.shadow)),Pt[wt]({x:It/2,y:It/2,width:be-It-Dt%2,height:xe-It-Dt%2,r:oe.borderRadius}),wt="animate",Gt||(wt="attr",this.plotBackground=Gt=ee.rect().addClass("highcharts-plot-background").add()),Gt[wt](Tt),!Ie&&(Gt.attr({fill:Me||"none"}).shadow(oe.plotShadow),Xe&&(we?(Xe!==we.attr("href")&&we.attr("href",Xe),we.animate(Tt)):this.plotBGImage=ee.image(Xe,Je,lt,qe,st).add())),pt?pt.animate({width:ht.width,height:ht.height}):this.clipRect=ee.clipRect(ht),wt="animate",ti||(wt="attr",this.plotBorder=ti=ee.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),Ie||ti.attr({stroke:oe.plotBorderColor,"stroke-width":oe.plotBorderWidth||0,fill:"none"}),ti[wt](ti.crisp({x:Je,y:lt,width:qe,height:st},-ti.strokeWidth())),this.isDirtyBox=!1,U(this,"afterDrawChartBox")}propFromSeries(){let oe,ee,be,xe=this,Ie=xe.options.chart,we=xe.options.series;["inverted","angular","polar"].forEach(function(Ee){for(ee=o[Ie.type],be=Ie[Ee]||ee&&ee.prototype[Ee],oe=we&&we.length;!be&&oe--;)(ee=o[we[oe].type])&&ee.prototype[Ee]&&(be=!0);xe[Ee]=be})}linkSeries(oe){let ee=this,be=ee.series;be.forEach(function(xe){xe.linkedSeries.length=0}),be.forEach(function(xe){let{linkedTo:Ie}=xe.options;if(x(Ie)){let we;(we=":previous"===Ie?ee.series[xe.index-1]:ee.get(Ie))&&we.linkedParent!==xe&&(we.linkedSeries.push(xe),xe.linkedParent=we,we.enabledDataSorting&&xe.setDataSortingOptions(),xe.visible=Z(xe.options.visible,we.options.visible,xe.visible))}}),U(this,"afterLinkSeries",{isUpdating:oe})}renderSeries(){this.series.forEach(function(oe){oe.translate(),oe.render()})}render(){let Me,oe=this.axes,ee=this.colorAxis,be=this.renderer,xe=this.options.chart.axisLayoutRuns||2,Ie=Je=>{Je.forEach(lt=>{lt.visible&<.render()})},we=0,Ee=!0,Xe=0;for(let Je of(this.setTitle(),U(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),oe)){let{options:lt}=Je,{labels:qe}=lt;if(Je.horiz&&Je.visible&&qe.enabled&&Je.series.length&&"colorAxis"!==Je.coll&&!this.polar){we=lt.tickLength,Je.createGroups();let st=new P(Je,0,"",!0),Tt=st.createLabel("x",qe);if(st.destroy(),Tt&&Z(qe.reserveSpace,!$(lt.crossing))&&(we=Tt.getBBox().height+qe.distance+Math.max(lt.offset||0,0)),we){Tt?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-we,0);(Ee||Me||xe>1)&&Xe(Xe?1:1.1),Me=lt/this.plotHeight>(Xe?1:1.05),Xe++}this.drawChartBox(),this.hasCartesianSeries?Ie(oe):ee&&ee.length&&Ie(ee),this.seriesGroup||(this.seriesGroup=be.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(oe){let ee=this,be=N(!0,this.options.credits,oe);be.enabled&&!this.credits&&(this.credits=this.renderer.text(be.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){be.href&&(v.location.href=be.href)}).attr({align:be.position.align,zIndex:8}),ee.styledMode||this.credits.css(be.style),this.credits.add().align(be.position),this.credits.update=function(xe){ee.credits=ee.credits.destroy(),ee.addCredits(xe)})}destroy(){let oe,ee=this,be=ee.axes,xe=ee.series,Ie=ee.container,we=Ie&&Ie.parentNode;for(U(ee,"destroy"),ee.renderer.forExport?T(O,ee):O[ee.index]=void 0,pe.chartCount--,ee.renderTo.removeAttribute("data-highcharts-chart"),ge(ee),oe=be.length;oe--;)be[oe]=be[oe].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),oe=xe.length;oe--;)xe[oe]=xe[oe].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(Ee){let Me=ee[Ee];Me&&Me.destroy&&(ee[Ee]=Me.destroy())}),Ie&&(Ie.innerHTML=F.emptyHTML,ge(Ie),we&&p(Ie)),R(ee,function(Ee,Me){delete ee[Me]})}firstRender(){let oe=this,ee=oe.options;oe.getContainer(),oe.resetMargins(),oe.setChartSize(),oe.propFromSeries(),oe.getAxes();let be=S(ee.series)?ee.series:[];ee.series=[],be.forEach(function(xe){oe.initSeries(xe)}),oe.linkSeries(),oe.setSortedData(),U(oe,"beforeRender"),oe.render(),oe.pointer?.getChartPosition(),oe.renderer.imgCount||oe.hasLoaded||oe.onload(),oe.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(oe){oe&&void 0!==this.index&&oe.apply(this,[this])},this),U(this,"load"),U(this,"render"),C(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:oe,title:ee}=this;!oe||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(ee&&ee.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(oe,ee){let be=this,xe="object"==typeof ee?ee:{enabled:ee,type:"x"},Ie=xe.type,we=Ie&&be[{x:"xAxis",xy:"axes",y:"yAxis"}[Ie]].filter(Me=>Me.options.panningEnabled&&!Me.options.isInternal),Ee=be.options.chart;Ee?.panning&&(Ee.panning=xe),U(this,"pan",{originalEvent:oe},()=>{be.transform({axes:we,event:oe,to:{x:oe.chartX-(be.mouseDownX||0),y:oe.chartY-(be.mouseDownY||0)},trigger:"pan"}),d(be.container,{cursor:"move"})})}transform(oe){let qe,{axes:ee=this.axes,event:be,from:xe={},reset:Ie,selection:we,to:Ee={},trigger:Me}=oe,{inverted:Xe,resetZoomButton:Je}=this,lt=!1;for(let st of(this.hoverPoints?.forEach(Tt=>Tt.setState()),ee)){let{horiz:Tt,len:pt,minPointOffset:ht=0,options:Pt,reversed:Gt}=st,ti=Tt?"width":"height",Dt=Tt?"x":"y",It=Ee[ti]||st.len,xt=xe[ti]||st.len,wt=10>Math.abs(It)?1:It/xt,Qt=(xe[Dt]||0)+xt/2-st.pos,di=Qt-((Ee[Dt]??st.pos)+It/2-st.pos)/wt,Ni=Gt&&!Xe||!Gt&&Xe?-1:1;if(!Ie&&(Qt<0||Qt>st.len))continue;let mi=st.toValue(di,!0)+ht*Ni,vi=st.toValue(di+pt/wt,!0)-(ht*Ni||0),zi=st.allExtremes;if(mi>vi&&([mi,vi]=[vi,mi]),1===wt&&!Ie&&"yAxis"===st.coll&&!zi){for(let js of st.series){let On=js.getExtremes(js.getProcessedData(!0).yData,!0);zi??(zi={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),$(On.dataMin)&&$(On.dataMax)&&(zi.dataMin=Math.min(On.dataMin,zi.dataMin),zi.dataMax=Math.max(On.dataMax,zi.dataMax))}st.allExtremes=zi}let{dataMin:gs,dataMax:Fn,min:as,max:ms}=z(st.getExtremes(),zi||{}),Ln=gs??Pt.min,fn=Fn??Pt.max,ki=vi-mi,Cs=st.categories?0:Math.min(ki,fn-Ln),Kn=Ln-Cs*(C(Pt.min)?0:Pt.minPadding),In=fn+Cs*(C(Pt.max)?0:Pt.maxPadding),Bs=st.allowZoomOutside||1===wt||"zoom"!==Me&&wt>1,qn=Math.min(Pt.min??Kn,Kn,Bs?as:Kn),Wi=Math.max(Pt.max??In,In,Bs?ms:In);(!st.isOrdinal||1!==wt||Ie)&&(mi=1&&(vi=mi+ki)),vi>Wi&&(vi=Wi,wt>=1&&(mi=vi-ki)),(Ie||st.series.length&&(mi!==as||vi!==ms)&&mi>=qn&&vi<=Wi)&&(we?we[st.coll].push({axis:st,min:mi,max:vi}):(st.isPanning="zoom"!==Me,st.setExtremes(Ie?void 0:mi,Ie?void 0:vi,!1,!1,{move:di,trigger:Me,scale:wt}),!Ie&&(mi>qn||vi{delete oe.selection,oe.trigger="zoom",this.transform(oe)}):(qe&&!Je?this.showResetZoom():!qe&&Je&&(this.resetZoomButton=Je.destroy()),this.redraw("zoom"===Me&&(this.options.chart.animation??this.pointCount<100)))),lt}}return z(De.prototype,{callbacks:[],collectionsWithInit:{xAxis:[De.prototype.addAxis,[!0]],yAxis:[De.prototype.addAxis,[!1]],series:[De.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),De}),Le(V,"Extensions/ScrollablePlotArea.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{stop:le}=q,{composed:pe}=ne,{addEvent:ue,createElement:J,css:te,defined:X,merge:E,pushUnique:j}=ve;function F(){let A=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!A&&(this.scrollablePlotArea=A=new D(this)),A?.applyFixed()}function P(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class D{static compose(I,_,m){j(pe,this.compose)&&(ue(I,"afterInit",P),ue(_,"afterSetChartSize",w=>this.afterSetSize(w.target,w)),ue(_,"render",F),ue(m,"show",P))}static afterSetSize(I,_){let m,w,G,{minWidth:O,minHeight:f}=I.options.chart.scrollablePlotArea||{},{clipBox:a,plotBox:g,inverted:v,renderer:o}=I;if(!o.forExport&&(O?(I.scrollablePixelsX=m=Math.max(0,O-I.chartWidth),m&&(I.scrollablePlotBox=E(I.plotBox),g.width=I.plotWidth+=m,a[v?"height":"width"]+=m,G=!0)):f&&(I.scrollablePixelsY=w=Math.max(0,f-I.chartHeight),X(w)&&(I.scrollablePlotBox=E(I.plotBox),g.height=I.plotHeight+=w,a[v?"width":"height"]+=w,G=!1)),X(G)&&!_.skipAxes))for(let n of I.axes)n.horiz===G&&(n.setAxisSize(),n.setAxisTranslation())}constructor(I){let _,m=I.options.chart,w=re.getRendererType(),G=m.scrollablePlotArea||{},O=this.moveFixedElements.bind(this),f={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};I.scrollablePixelsX&&(f.overflowX="auto"),I.scrollablePixelsY&&(f.overflowY="auto"),this.chart=I;let a=this.parentDiv=J("div",{className:"highcharts-scrolling-parent"},{position:"relative"},I.renderTo),g=this.scrollingContainer=J("div",{className:"highcharts-scrolling"},f,a),v=this.innerContainer=J("div",{className:"highcharts-inner-container"},void 0,g),o=this.fixedDiv=J("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(m.style?.zIndex||0)+2,top:0},void 0,!0),n=this.fixedRenderer=new w(o,I.chartWidth,I.chartHeight,m.style);this.mask=n.path().attr({fill:m.backgroundColor||"#fff","fill-opacity":G.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),g.parentNode.insertBefore(o,g),te(I.renderTo,{overflow:"visible"}),ue(I,"afterShowResetZoom",O),ue(I,"afterApplyDrilldown",O),ue(I,"afterLayOutTitles",O),ue(g,"scroll",()=>{let{pointer:r,hoverPoint:l}=I;r&&(delete r.chartPosition,l&&(_=l),r.runPointActions(void 0,_,!0))}),v.appendChild(I.container)}applyFixed(){let{chart:I,fixedRenderer:_,isDirty:m,scrollingContainer:w}=this,{axisOffset:G,chartWidth:O,chartHeight:f,container:a,plotHeight:g,plotLeft:v,plotTop:o,plotWidth:n,scrollablePixelsX:r=0,scrollablePixelsY:l=0}=I,{scrollPositionX:d=0,scrollPositionY:C=0}=I.options.chart.scrollablePlotArea||{},k=O+r,p=f+l;_.setSize(O,f),(m??!0)&&(this.isDirty=!1,this.moveFixedElements()),le(I.container),te(a,{width:`${k}px`,height:`${p}px`}),I.renderer.boxWrapper.attr({width:k,height:p,viewBox:[0,0,k,p].join(" ")}),I.chartBackground?.attr({width:k,height:p}),te(w,{width:`${O}px`,height:`${f}px`}),X(m)||(w.scrollLeft=r*d,w.scrollTop=l*C);let T=o-G[0]-1,B=v-G[3]-1,z=o+g+G[2]+1,K=v+n+G[1]+1,U=v+n-r,se=o+g-l,S=[["M",0,0]];r?S=[["M",0,T],["L",v-1,T],["L",v-1,z],["L",0,z],["Z"],["M",U,T],["L",O,T],["L",O,z],["L",U,z],["Z"]]:l&&(S=[["M",B,0],["L",B,o-1],["L",K,o-1],["L",K,0],["Z"],["M",B,se],["L",B,f],["L",K,f],["L",K,se],["Z"]]),"adjustHeight"!==I.redrawTrigger&&this.mask.attr({d:S})}moveFixedElements(){let I,{container:_,inverted:m,scrollablePixelsX:w,scrollablePixelsY:G}=this.chart,O=this.fixedRenderer,f=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-reset-zoom",".highcharts-drillup-button",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];for(let a of(w&&!m?I=".highcharts-yaxis":w&&m||G&&!m?I=".highcharts-xaxis":G&&m&&(I=".highcharts-yaxis"),I&&f.push(`${I}:not(.highcharts-radial-axis)`,`${I}-labels:not(.highcharts-radial-axis-labels)`),f))[].forEach.call(_.querySelectorAll(a),g=>{(g.namespaceURI===O.SVG_NS?O.box:O.box.parentNode).appendChild(g),g.style.pointerEvents="auto"})}}return D}),Le(V,"Core/Axis/Stacking/StackItem.js",[V["Core/Templating.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{format:ve}=q,{series:le}=ne,{destroyObjectProperties:pe,fireEvent:ue,isNumber:J,pick:te}=re;return class{constructor(X,E,j,F,P){let D=X.chart.inverted,A=X.reversed;this.axis=X;let I=this.isNegative=!!j!=!!A;this.options=E=E||{},this.x=F,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=P,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:E.align||(D?I?"left":"right":"center"),verticalAlign:E.verticalAlign||(D?"middle":I?"bottom":"top"),y:E.y,x:E.x},this.textAlign=E.textAlign||(D?I?"right":"left":"center")}destroy(){pe(this,this.axis)}render(X){let E=this.axis.chart,j=this.options,F=j.format,P=F?ve(F,this,E):j.formatter.call(this);if(this.label)this.label.attr({text:P,visibility:"hidden"});else{this.label=E.renderer.label(P,null,void 0,j.shape,void 0,void 0,j.useHTML,!1,"stack-labels");let D={r:j.borderRadius||0,text:P,padding:te(j.padding,5),visibility:"hidden"};E.styledMode||(D.fill=j.backgroundColor,D.stroke=j.borderColor,D["stroke-width"]=j.borderWidth,this.label.css(j.style||{})),this.label.attr(D),this.label.added||this.label.add(X)}this.label.labelrank=E.plotSizeY,ue(this,"afterRender")}setOffset(X,E,j,F,P,D){let{alignOptions:A,axis:I,label:_,options:m,textAlign:w}=this,G=I.chart,O=this.getStackBox({xOffset:X,width:E,boxBottom:j,boxTop:F,defaultX:P,xAxis:D}),{verticalAlign:f}=A;if(_&&O){let o,a=_.getBBox(void 0,0),g=_.padding,v="justify"===te(m.overflow,"justify");A.x=m.x||0,A.y=m.y||0;let{x:n,y:r}=this.adjustStackPosition({labelBox:a,verticalAlign:f,textAlign:w});O.x-=n,O.y-=r,_.align(A,!1,O),(o=G.isInsidePlot(_.alignAttr.x+A.x+n,_.alignAttr.y+A.y+r))||(v=!1),v&&le.prototype.justifyDataLabel.call(I,_,A,_.alignAttr,a,O),_.attr({x:_.alignAttr.x,y:_.alignAttr.y,rotation:m.rotation,rotationOriginX:a.width*{left:0,center:.5,right:1}[m.textAlign||"center"],rotationOriginY:a.height/2}),te(!v&&m.crop,!0)&&(o=J(_.x)&&J(_.y)&&G.isInsidePlot(_.x-g+(_.width||0),_.y)&&G.isInsidePlot(_.x+g,_.y)),_[o?"show":"hide"]()}ue(this,"afterSetOffset",{xOffset:X,width:E})}adjustStackPosition({labelBox:X,verticalAlign:E,textAlign:j}){let F={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:X.width/2+X.width/2*F[j],y:X.height/2*F[E]}}getStackBox(X){let E=this.axis,j=E.chart,{boxTop:F,defaultX:P,xOffset:D,width:A,boxBottom:I}=X,_=E.stacking.usePercentage?100:te(F,this.total,0),m=E.toPixels(_),w=X.xAxis||j.xAxis[0],G=te(P,w.translate(this.x))+D,O=Math.abs(m-E.toPixels(I||J(E.min)&&E.logarithmic&&E.logarithmic.lin2log(E.min)||0)),a=this.isNegative;return j.inverted?{x:(a?m:m-O)-j.plotLeft,y:w.height-G-A,width:O,height:A}:{x:G+w.transB-j.plotLeft,y:(a?m-O:m)-j.plotTop,width:A,height:O}}}}),Le(V,"Core/Axis/Stacking/StackingAxis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{getDeferredAnimation:ue}=q,{series:{prototype:J}}=re,{addEvent:te,correctFloat:X,defined:E,destroyObjectProperties:j,fireEvent:F,isArray:P,isNumber:D,objectEach:A,pick:I}=le;function _(){let o=this.inverted;this.axes.forEach(n=>{n.stacking&&n.stacking.stacks&&n.hasVisibleSeries&&(n.stacking.oldStacks=n.stacking.stacks)}),this.series.forEach(n=>{let r=n.xAxis&&n.xAxis.options||{};n.options.stacking&&n.reserveSpace()&&(n.stackKey=[n.type,I(n.options.stack,""),o?r.top:r.left,o?r.height:r.width].join(","))})}function m(){let o=this.stacking;if(o){let n=o.stacks;A(n,(r,l)=>{j(r),delete n[l]}),o.stackTotalGroup?.destroy()}}function w(){this.stacking||(this.stacking=new v(this))}function G(o,n,r,l){return!E(o)||o.x!==n||l&&o.stackKey!==l?o={x:n,index:0,key:l,stackKey:l}:o.index++,o.key=[r,n,o.index].join(","),o}function O(){let o,n=this,l=n.stackKey||"",d=n.yAxis.stacking.stacks,C=n.processedXData,p=n[n.options.stacking+"Stacker"];p&&[l,"-"+l].forEach(T=>{let z,K,U,B=C.length;for(;B--;)z=C[B],o=n.getStackIndicator(o,z,n.index,T),K=d[T]?.[z],(U=K?.points[o.key||""])&&p.call(n,U,K,B)})}function f(o,n,r){let l=n.total?100/n.total:0;o[0]=X(o[0]*l),o[1]=X(o[1]*l),this.stackedYData[r]=o[1]}function a(o){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?J.setStackedPoints.call(this,o,"group"):o.stacking.resetStacks())}function g(o,n){let r,l,d,C,k,p,T,B,z,K=n||this.options.stacking;if(!K||!this.reserveSpace()||({group:"xAxis"}[K]||"yAxis")!==o.coll)return;let U=this.processedXData,se=this.processedYData,S=[],$=se.length,H=this.options,x=H.threshold||0,N=H.startFromThreshold?x:0,R=H.stack,Z=n?`${this.type},${K}`:this.stackKey||"",Y="-"+Z,he=this.negStacks,ge=o.stacking,_e=ge.stacks,Te=ge.oldStacks;for(ge.stacksTouched+=1,T=0;T<$;T++){B=U[T],z=se[T],p=(r=this.getStackIndicator(r,B,this.index)).key||"",_e[k=(l=he&&z<(N?0:x))?Y:Z]||(_e[k]={}),_e[k][B]||(Te[k]?.[B]?(_e[k][B]=Te[k][B],_e[k][B].total=null):_e[k][B]=new ve(o,o.options.stackLabels,!!l,B,R)),d=_e[k][B],null!==z?(d.points[p]=d.points[this.index]=[I(d.cumulative,N)],E(d.cumulative)||(d.base=p),d.touched=ge.stacksTouched,r.index>0&&!1===this.singleStacks&&(d.points[p][0]=d.points[this.index+","+B+",0"][0])):(delete d.points[p],delete d.points[this.index]);let Oe=d.total||0;"percent"===K?(C=l?Z:Y,Oe=he&&_e[C]?.[B]?(C=_e[C][B]).total=Math.max(C.total||0,Oe)+Math.abs(z)||0:X(Oe+(Math.abs(z)||0))):"group"===K?(P(z)&&(z=z[0]),null!==z&&Oe++):Oe=X(Oe+(z||0)),d.cumulative="group"===K?(Oe||1)-1:X(I(d.cumulative,N)+(z||0)),d.total=Oe,null!==z&&(d.points[p].push(d.cumulative),S[T]=d.cumulative,d.hasValidPoints=!0)}"percent"===K&&(ge.usePercentage=!0),"group"!==K&&(this.stackedYData=S),ge.oldStacks={}}class v{constructor(n){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=n}buildStacks(){let n,r,l=this.axis,d=l.series,C="xAxis"===l.coll,k=l.options.reversedStacks,p=d.length;for(this.resetStacks(),this.usePercentage=!1,r=p;r--;)n=d[k?r:p-r-1],C&&n.setGroupedPoints(l),n.setStackedPoints(l);if(!C)for(r=0;r{A(n,r=>{r.cumulative=r.total})}))}resetStacks(){A(this.stacks,n=>{A(n,(r,l)=>{D(r.touched)&&r.touched{A(p,T=>{T.render(k)})}),k.animate({opacity:1},C)}}return(pe||(pe={})).compose=function(o,n,r){let l=n.prototype,d=r.prototype;l.getStacks||(te(o,"init",w),te(o,"destroy",m),l.getStacks=_,d.getStackIndicator=G,d.modifyStacks=O,d.percentStacker=f,d.setGroupedPoints=a,d.setStackedPoints=g)},pe}),Le(V,"Series/Line/LineSeries.js",[V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{defined:ve,merge:le,isObject:pe}=re;class ue extends q{drawGraph(){let te=this.options,X=(this.gappedPath||this.getGraphPath).call(this),E=this.chart.styledMode;[this,...this.zones].forEach((j,F)=>{let P,D=j.graph,A=D?"animate":"attr",I=j.dashStyle||te.dashStyle;D?(D.endX=this.preventGraphAnimation?null:X.xMap,D.animate({d:X})):X.length&&(j.graph=D=this.chart.renderer.path(X).addClass("highcharts-graph"+(F?` highcharts-zone-graph-${F-1} `:" ")+(F&&j.className||"")).attr({zIndex:1}).add(this.group)),D&&!E&&(P={stroke:!F&&te.lineColor||j.color||this.color||"#cccccc","stroke-width":te.lineWidth||0,fill:this.fillGraph&&this.color||"none"},I?P.dashstyle=I:"square"!==te.linecap&&(P["stroke-linecap"]=P["stroke-linejoin"]="round"),D[A](P).shadow(F<2&&te.shadow&&le({filterUnits:"userSpaceOnUse"},pe(te.shadow)?te.shadow:{}))),D&&(D.startX=X.xMap,D.isArea=X.isArea)})}getGraphPath(te,X,E){let A,j=this,F=j.options,P=[],D=[],I=F.step,_=(te=te||j.points).reversed;return _&&te.reverse(),(I={right:1,center:2}[I]||I&&3)&&_&&(I=4-I),(te=this.getValidPoints(te,!1,!(F.connectNulls&&!X&&!E))).forEach(function(m,w){let G,O=m.plotX,f=m.plotY,a=te[w-1],g=m.isNull||"number"!=typeof f;(m.leftCliff||a&&a.rightCliff)&&!E&&(A=!0),g&&!ve(X)&&w>0?A=!F.connectNulls:g&&!X?A=!0:(0===w||A?G=[["M",m.plotX,m.plotY]]:j.getPointSpline?G=[j.getPointSpline(te,m,w)]:I?(G=1===I?[["L",a.plotX,f]]:2===I?[["L",(a.plotX+O)/2,a.plotY],["L",(a.plotX+O)/2,f]]:[["L",O,a.plotY]]).push(["L",O,f]):G=[["L",O,f]],D.push(m.x),I&&(D.push(m.x),2===I&&D.push(m.x)),P.push.apply(P,G),A=!1)}),P.xMap=D,j.graphPath=P,P}}return ue.defaultOptions=le(q.defaultOptions,{legendSymbol:"lineMarker"}),ne.registerSeriesType("line",ue),ue}),Le(V,"Series/Area/AreaSeries.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne){let{seriesTypes:{line:re}}=q,{extend:ve,merge:le,objectEach:pe,pick:ue}=ne;class J extends re{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:X,options:E}=this;[this,...this.zones].forEach((j,F)=>{let P={},D=j.fillColor||E.fillColor,A=j.area,I=A?"animate":"attr";A?(A.endX=this.preventGraphAnimation?null:X.xMap,A.animate({d:X})):(P.zIndex=0,(A=j.area=this.chart.renderer.path(X).addClass("highcharts-area"+(F?` highcharts-zone-area-${F-1} `:" ")+(F&&j.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(P.fill=D||j.color||this.color,P["fill-opacity"]=D?1:E.fillOpacity??.75,A.css({pointerEvents:this.stickyTracking?"none":"auto"})),A[I](P),A.startX=X.xMap,A.shiftUnit=E.step?2:1})}getGraphPath(X){let E,j,F,P=re.prototype.getGraphPath,D=this.options,A=D.stacking,I=this.yAxis,_=[],m=[],w=this.index,G=I.stacking.stacks[this.stackKey],O=D.threshold,f=Math.round(I.getThreshold(D.threshold)),a=ue(D.connectNulls,"percent"===A),g=function(d,C,k){let K,U,p=X[d],T=A&&G[p.x].points[w],B=p[k+"Null"]||0,z=p[k+"Cliff"]||0,se=!0;z||B?(K=(B?T[0]:T[1])+z,U=T[0]+z,se=!!B):!A&&X[C]&&X[C].isNull&&(K=U=O),void 0!==K&&(m.push({plotX:E,plotY:null===K?f:I.getThreshold(K),isNull:se,isCliff:!0}),_.push({plotX:E,plotY:null===U?f:I.getThreshold(U),doCurve:!1}))};X=X||this.points,A&&(X=this.getStackPoints(X));for(let d=0,C=X.length;df.visible);F.forEach(function(f,a){let v,o,g=0;if(I[f]&&!I[f].isNull)j.push(I[f]),[-1,1].forEach(function(n){let r=1===n?"rightNull":"leftNull",l=A[F[a+n]],d=0;if(l){let C=G;for(;C>=0&&C=0&&nO&&j>A?(j=Math.max(O,A),P=2*A-j):ja&&P>A?(P=Math.max(a,A),j=2*A-P):P=Math.abs(f)&&r>.5;return g=r-(f=Math.round(f)+n),l&&g&&(f-=1,g+=1),{x:O,y:f,width:a,height:g}}adjustForMissingColumns(O,f,a,g){if(!a.isNull&&g.columnCount>1){let v=this.xAxis.series.filter(l=>l.visible).map(l=>l.index),o=0,n=0;m(this.xAxis.stacking?.stacks,l=>{if("number"==typeof a.x){let d=l[a.x.toString()];if(d&&D(d.points[this.index])){let C=Object.keys(d.points).filter(k=>!k.match(",")&&d.points[k]&&d.points[k].length>1).map(parseFloat).filter(k=>-1!==v.indexOf(k)).sort((k,p)=>p-k);o=C.indexOf(this.index),n=C.length}}}),o=this.xAxis.reversed?n-1-o:o,O=(a.plotX||0)+((n-1)*g.paddedWidth+f)/2-f-o*g.paddedWidth}return O}translate(){let O=this,f=O.chart,a=O.options,g=O.dense=O.closestPointRange*O.xAxis.transA<2,v=O.borderWidth=_(a.borderWidth,g?0:1),o=O.xAxis,n=O.yAxis,r=a.threshold,l=_(a.minPointLength,5),d=O.getColumnMetrics(),C=d.width,k=O.pointXOffset=d.offset,p=O.dataMin,T=O.dataMax,B=O.barW=Math.max(C,1+2*v),z=O.translatedThreshold=n.getThreshold(r);f.inverted&&(z-=.5),a.pointPadding&&(B=Math.ceil(B)),le.prototype.translate.apply(O),O.points.forEach(function(K){let H,U=_(K.yBottom,z),se=999+Math.abs(U),S=K.plotX||0,$=E(K.plotY,-se,n.len+se),x=Math.min($,U),N=Math.max($,U)-x,R=C,Z=S+k,Y=B;l&&Math.abs(N)l?U-l:z-(H?l:0)),j(K.options.pointWidth)&&(Z-=Math.round(((R=Y=Math.ceil(K.options.pointWidth))-C)/2)),a.centerInCategory&&!a.stacking&&(Z=O.adjustForMissingColumns(Z,R,K,d)),K.barX=Z,K.pointWidth=R,K.tooltipPos=f.inverted?[E(n.len+n.pos-f.plotLeft-$,n.pos-f.plotLeft,n.len+n.pos-f.plotLeft),o.len+o.pos-f.plotTop-Z-Y/2,N]:[o.left-f.plotLeft+Z+Y/2,E($+n.pos-f.plotTop,n.pos-f.plotTop,n.len+n.pos-f.plotTop),N],K.shapeType=O.pointClass.prototype.shapeType||"roundedRect",K.shapeArgs=O.crispCol(Z,K.isNull?z:x,Y,K.isNull?0:N)}),P(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(O,f){let n,r,l,a=this.options,g=this.pointAttrToOptions||{},v=g.stroke||"borderColor",o=g["stroke-width"]||"borderWidth",d=O&&O.color||this.color,C=O&&O[v]||a[v]||d,k=O&&O.options.dashStyle||a.dashStyle,p=O&&O[o]||a[o]||this[o]||0,T=_(O&&O.opacity,a.opacity,1);O&&this.zones.length&&(r=O.getZone(),d=O.options.color||r&&(r.color||O.nonZonedColor)||this.color,r&&(C=r.borderColor||C,k=r.dashStyle||k,p=r.borderWidth||p)),f&&O&&(l=(n=I(a.states[f],O.options.states&&O.options.states[f]||{})).brightness,d=n.color||void 0!==l&&te(d).brighten(n.brightness).get()||d,C=n[v]||C,p=n[o]||p,k=n.dashStyle||k,T=_(n.opacity,T));let B={fill:d,stroke:C,"stroke-width":p,opacity:T};return k&&(B.dashstyle=k),B}drawPoints(O=this.points){let f,a=this,g=this.chart,v=a.options,o=g.renderer,n=v.animationLimit||250;O.forEach(function(r){let d=r.graphic,C=!!d,k=d&&g.pointCounto?.enabled)}function m(o,n,r,l,d){let C=this.chart,k=this.isCartesian&&C.inverted,p=this.enabledDataSorting,T=o.plotX,B=o.plotY,z=r.rotation||0,K=ue(T)&&ue(B)&&C.isInsidePlot(T,Math.round(B),{inverted:k,paneCoordinates:!0,series:this}),U=0===z&&"justify"===P(r.overflow,p?"none":"justify"),se=this.visible&&!1!==o.visible&&ue(T)&&(o.series.forceDL||p&&!U||K||P(r.inside,!!this.options.stacking)&&l&&C.isInsidePlot(T,k?l.x+1:l.y+l.height-1,{inverted:k,paneCoordinates:!0,series:this})),S=o.pos();if(se&&S){let H=n.getBBox(),x=n.getBBox(void 0,0),N={right:1,center:.5}[r.align||0]||0,R={bottom:1,middle:.5}[r.verticalAlign||0]||0;if(l=J({x:S[0],y:Math.round(S[1]),width:0,height:0},l||{}),J(r,{width:H.width,height:H.height}),p&&this.xAxis&&!U&&this.setDataLabelStartPos(o,n,d,K,l),n.align(j(r,{width:x.width,height:x.height}),!1,l,!1),n.alignAttr.x+=N*(x.width-H.width),n.alignAttr.y+=R*(x.height-H.height),n[n.placed?"animate":"attr"]({x:n.alignAttr.x+(H.width-x.width)/2,y:n.alignAttr.y+(H.height-x.height)/2,rotationOriginX:(n.width||0)/2,rotationOriginY:(n.height||0)/2}),U&&l.height>=0)this.justifyDataLabel(n,r,n.alignAttr,H,l,d);else if(P(r.crop,!0)){let{x:Z,y:Y}=n.alignAttr;se=C.isInsidePlot(Z,Y,{paneCoordinates:!0,series:this})&&C.isInsidePlot(Z+H.width-1,Y+H.height-1,{paneCoordinates:!0,series:this})}r.shape&&!z&&n[d?"attr":"animate"]({anchorX:S[0],anchorY:S[1]})}d&&p&&(n.placed=!1),se||p&&!U?(n.show(),n.placed=!0):(n.hide(),n.placed=!1)}function w(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function G(o){let n=this.hasRendered||0,r=this.initDataLabelsGroup().attr({opacity:+n});return!n&&r&&(this.visible&&r.show(),this.options.animation?r.animate({opacity:1},o):r.attr({opacity:1})),r}function O(o){let n;o=o||this.points;let r=this,l=r.chart,d=r.options,C=l.renderer,{backgroundColor:k,plotBackgroundColor:p}=l.options.chart,T=C.getContrast(E(p)&&p||E(k)&&k||"#000000"),B=g(r),{animation:z,defer:K}=B[0],U=K?le(l,z,r):{defer:0,duration:0};te(this,"drawDataLabels"),r.hasDataLabels?.()&&(n=this.initDataLabels(U),o.forEach(se=>{let S=se.dataLabels||[];A(a(B,se.dlOptions||se.options?.dataLabels)).forEach((H,x)=>{let ge,_e,Te,Oe,ee,N=H.enabled&&(se.visible||se.dataLabelOnHidden)&&(!se.isNull||se.dataLabelOnNull)&&function(be,xe){let Ie=xe.filter;if(Ie){let we=Ie.operator,Ee=be[Ie.property],Me=Ie.value;return">"===we&&Ee>Me||"<"===we&&Ee="===we&&Ee>=Me||"<="===we&&Ee<=Me||"=="===we&&Ee==Me||"==="===we&&Ee===Me||"!="===we&&Ee!=Me||"!=="===we&&Ee!==Me}return!0}(se,H),{backgroundColor:R,borderColor:Z,distance:Y,style:he={}}=H,De={},Be=S[x],oe=!Be;if(N&&(_e=P(H[se.formatPrefix+"Format"],H.format),ge=se.getLabelConfig(),Te=ue(_e)?pe(_e,ge,l):(H[se.formatPrefix+"Formatter"]||H.formatter).call(ge,H),Oe=H.rotation,!l.styledMode&&(he.color=P(H.color,he.color,E(r.color)?r.color:void 0,"#000000"),"contrast"===he.color?("none"!==R&&(ee=R),se.contrastColor=C.getContrast("auto"!==ee&&ee||se.color||r.color),he.color=ee||!ue(Y)&&H.inside||0>D(Y||0)||d.stacking?se.contrastColor:T):delete se.contrastColor,d.cursor&&(he.cursor=d.cursor)),De={r:H.borderRadius||0,rotation:Oe,padding:H.padding,zIndex:1},l.styledMode||(De.fill="auto"===R?se.color:R,De.stroke="auto"===Z?se.color:Z,De["stroke-width"]=H.borderWidth),F(De,(be,xe)=>{void 0===be&&delete De[xe]})),!Be||N&&ue(Te)&&!!Be.div==!!H.useHTML&&(Be.rotation&&H.rotation||Be.rotation===H.rotation)||(Be=void 0,oe=!0),N&&ue(Te)&&(Be?De.text=Te:(Be=C.label(Te,0,0,H.shape,void 0,void 0,H.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+se.colorIndex+" "+(H.className||"")+(H.useHTML?" highcharts-tracker":"")),Be)){Be.options=H,Be.attr(De),l.styledMode||Be.css(he).shadow(H.shadow);let be=H[se.formatPrefix+"TextPath"]||H.textPath;be&&!H.useHTML&&(Be.setTextPath(se.getDataLabelPath?.(Be)||se.graphic,be),se.dataLabelPath&&!be.enabled&&(se.dataLabelPath=se.dataLabelPath.destroy())),Be.added||Be.add(n),r.alignDataLabel(se,Be,H,void 0,oe),Be.isActive=!0,S[x]&&S[x]!==Be&&S[x].destroy(),S[x]=Be}});let $=S.length;for(;$--;)S[$]&&S[$].isActive?S[$].isActive=!1:(S[$]?.destroy(),S.splice($,1));se.dataLabel=S[0],se.dataLabels=S})),te(this,"afterDrawDataLabels")}function f(o,n,r,l,d,C){let U,se,k=this.chart,p=n.align,T=n.verticalAlign,B=o.box?0:o.padding||0,{x:z=0,y:K=0}=n;return(U=(r.x||0)+B)<0&&("right"===p&&z>=0?(n.align="left",n.inside=!0):z-=U,se=!0),(U=(r.x||0)+l.width-B)>k.plotWidth&&("left"===p&&z<=0?(n.align="right",n.inside=!0):z+=k.plotWidth-U,se=!0),(U=r.y+B)<0&&("bottom"===T&&K>=0?(n.verticalAlign="top",n.inside=!0):K-=U,se=!0),(U=(r.y||0)+l.height-B)>k.plotHeight&&("top"===T&&K<=0?(n.verticalAlign="bottom",n.inside=!0):K+=k.plotHeight-U,se=!0),se&&(n.x=z,n.y=K,o.placed=!C,o.align(n,void 0,d)),se}function a(o,n){let l,r=[];if(X(o)&&!X(n))r=o.map(function(d){return j(d,n)});else if(X(n)&&!X(o))r=n.map(function(d){return j(o,d)});else if(X(o)||X(n)){if(X(o)&&X(n))for(l=Math.max(o.length,n.length);l--;)r[l]=j(o[l],n[l])}else r=j(o,n);return r}function g(o){let n=o.chart.options.plotOptions;return A(a(a(n?.series?.dataLabels,n?.[o.type]?.dataLabels),o.options.dataLabels))}function v(o,n,r,l,d){let C=this.chart,k=C.inverted,p=this.xAxis,T=p.reversed,B=((k?n.height:n.width)||0)/2,z=o.pointWidth,K=z?z/2:0;n.startXPos=k?d.x:T?-B-K:p.width-B+K,n.startYPos=k?T?this.yAxis.height-B+K:-B-K:d.y,l?"hidden"===n.visibility&&(n.show(),n.attr({opacity:0}).animate({opacity:1})):n.attr({opacity:1}).animate({opacity:0},void 0,n.hide),C.hasRendered&&(r&&n.attr({x:n.startXPos,y:n.startYPos}),n.placed=!0)}I.compose=function(o){let n=o.prototype;n.initDataLabels||(n.initDataLabels=G,n.initDataLabelsGroup=w,n.alignDataLabel=m,n.drawDataLabels=O,n.justifyDataLabel=f,n.setDataLabelStartPos=v,n.hasDataLabels=_)}}(ve||(ve={})),ve}),Le(V,"Series/Column/ColumnDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{composed:pe}=ne,{series:ue}=re,{merge:J,pick:te,pushUnique:X}=ve;return function(E){function j(F,P,D,A,I){let _=this.chart.inverted,m=F.series,w=(m.xAxis?m.xAxis.len:this.chart.plotSizeX)||0,G=(m.yAxis?m.yAxis.len:this.chart.plotSizeY)||0,O=F.dlBox||F.shapeArgs,f=te(F.below,F.plotY>te(this.translatedThreshold,G)),a=te(D.inside,!!this.options.stacking);if(O){if(A=J(O),"allow"!==D.overflow||!1!==D.crop){A.y<0&&(A.height+=A.y,A.y=0);let g=A.y+A.height-G;g>0&&g\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),Le(V,"Series/Scatter/ScatterSeries.js",[V["Series/Scatter/ScatterSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{column:ve,line:le}=ne.seriesTypes,{addEvent:pe,extend:ue,merge:J}=re;class te extends le{applyJitter(){let E=this,j=this.options.jitter,F=this.points.length;j&&this.points.forEach(function(P,D){["x","y"].forEach(function(A,I){let _,w,G,O,m="plot"+A.toUpperCase();j[A]&&!P.isNull&&(_=E[A+"Axis"],O=j[A]*_.transA,_&&!_.isLog&&(w=Math.max(0,P[m]-O),G=Math.min(_.len,P[m]+O),P[m]=w+(G-w)*function(f){let a=1e4*Math.sin(f);return a-Math.floor(a)}(D+I*F),"x"===A&&(P.clientX=P.plotX)))})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return te.defaultOptions=J(le.defaultOptions,q),ue(te.prototype,{drawTracker:ve.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),pe(te,"afterTranslate",function(){this.applyJitter()}),ne.registerSeriesType("scatter",te),te}),Le(V,"Series/CenteredUtilities.js",[V["Core/Globals.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve,le;let{deg2rad:pe}=q,{fireEvent:ue,isNumber:J,pick:te,relativeLength:X}=re;return(le=ve||(ve={})).getCenter=function(){let m,O,f,E=this.options,j=this.chart,F=2*(E.slicedOffset||0),P=j.plotWidth-2*F,D=j.plotHeight-2*F,A=E.center,I=Math.min(P,D),_=E.thickness,w=E.size,G=E.innerSize||0;"string"==typeof w&&(w=parseFloat(w)),"string"==typeof G&&(G=parseFloat(G));let a=[te(A[0],"50%"),te(A[1],"50%"),te(w&&w<0?void 0:E.size,"100%"),te(G&&G<0?void 0:E.innerSize||0,"0%")];for(!j.angular||this instanceof ne||(a[3]=0),O=0;O<4;++O)f=a[O],m=O<2||2===O&&/%$/.test(f),a[O]=X(f,[P,D,I,a[2]][O])+(m?F:0);return a[3]>a[2]&&(a[3]=a[2]),J(_)&&2*_0&&(a[3]=a[2]-2*_),ue(this,"afterGetCenter",{positions:a}),a},le.getStartAndEndRadians=function(E,j){let F=J(E)?E:0,P=J(j)&&j>F&&j-F<360?j:F+360;return{start:pe*(F+-90),end:pe*(P+-90)}},ve}),Le(V,"Series/Pie/PiePoint.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(q,ne,re){let{setAnimation:ve}=q,{addEvent:le,defined:pe,extend:ue,isNumber:J,pick:te,relativeLength:X}=re;class E extends ne{getConnectorPath(F){let P=F.dataLabelPosition,D=F.options||{},A=D.connectorShape;return P&&(this.connectorShapes[A]||A).call(this,{...P.computed,alignment:P.alignment},P.connectorPosition,D)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(F){let P=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(P.x,P.y,P.r+F,P.r+F,{innerR:P.r-1,start:P.start,end:P.end,borderRadius:P.borderRadius})}constructor(F,P,D){super(F,P,D),this.half=0,this.name??(this.name="Slice");let A=I=>{this.slice("select"===I.type)};le(this,"select",A),le(this,"unselect",A)}isValid(){return J(this.y)&&this.y>=0}setVisible(F,P=!0){F!==this.visible&&this.update({visible:F??!this.visible},P,void 0,!1)}slice(F,P,D){let A=this.series;ve(D,A.chart),P=te(P,!0),this.sliced=this.options.sliced=F=pe(F)?F:!this.sliced,A.options.data[A.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return ue(E.prototype,{connectorShapes:{fixedOffset:function(j,F,P){let D=F.breakAt,A=F.touchingSliceAt;return[["M",j.x,j.y],P.softConnector?["C",j.x+("left"===j.alignment?-5:5),j.y,2*D.x-A.x,2*D.y-A.y,D.x,D.y]:["L",D.x,D.y],["L",A.x,A.y]]},straight:function(j,F){let P=F.touchingSliceAt;return[["M",j.x,j.y],["L",P.x,P.y]]},crookedLine:function(j,F,P){let{breakAt:D,touchingSliceAt:A}=F,{series:I}=this,[_,m,w]=I.center,G=w/2,{plotLeft:O,plotWidth:f}=I.chart,a="left"===j.alignment,{x:g,y:v}=j,o=D.x;if(P.crookDistance){let r=X(P.crookDistance,1);o=a?_+G+(f+O-_-G)*(1-r):O+(_-G)*r}else o=_+(m-v)*Math.tan((this.angle||0)-Math.PI/2);let n=[["M",g,v]];return(a?o<=g&&o>=D.x:o>=g&&o<=D.x)&&n.push(["L",o,v]),n.push(["L",D.x,D.y],["L",A.x,A.y]),n}}}),E}),Le(V,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),Le(V,"Series/Pie/PieSeries.js",[V["Series/CenteredUtilities.js"],V["Series/Column/ColumnSeries.js"],V["Core/Globals.js"],V["Series/Pie/PiePoint.js"],V["Series/Pie/PieSeriesDefaults.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te){let{getStartAndEndRadians:X}=q,{noop:E}=re,{clamp:j,extend:F,fireEvent:P,merge:D,pick:A}=te;class I extends pe{animate(m){let w=this,O=w.startAngleRad;m||w.points.forEach(function(f){let a=f.graphic,g=f.shapeArgs;a&&g&&(a.attr({r:A(f.startR,w.center&&w.center[3]/2),start:O,end:O}),a.animate({r:g.r,start:g.start,end:g.end},w.options.animation))})}drawEmpty(){let m,w,G=this.startAngleRad,O=this.endAngleRad,f=this.options;0===this.total&&this.center?(m=this.center[0],w=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(m,w,this.center[1]/2,0,G,O).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:J.arc(m,w,this.center[2]/2,0,{start:G,end:O,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":f.borderWidth,fill:f.fillColor||"none",stroke:f.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let m=this.chart.renderer;this.points.forEach(function(w){w.graphic&&w.hasNewShapeType()&&(w.graphic=w.graphic.destroy()),w.graphic||(w.graphic=m[w.shapeType](w.shapeArgs).add(w.series.group),w.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(m,w,G,O){let f=this.center,a=this.radii?this.radii[G.index]||0:f[2]/2,g=O.dataLabelPosition,v=g?.distance||0,o=Math.asin(j((m-f[1])/(a+v),-1,1));return f[0]+Math.cos(o)*(a+v)*(w?-1:1)+(v>0?(w?-1:1)*(O.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let m,w,G,O,f=this,a=f.chart;this.drawEmpty(),f.group&&!a.styledMode&&f.group.shadow(f.options.shadow),f.points.forEach(function(g){let v={};w=g.graphic,!g.isNull&&w?(O=g.shapeArgs,m=g.getTranslate(),a.styledMode||(G=f.pointAttribs(g,g.selected&&"select")),g.delayedRendering?(w.setRadialReference(f.center).attr(O).attr(m),a.styledMode||w.attr(G).attr({"stroke-linejoin":"round"}),g.delayedRendering=!1):(w.setRadialReference(f.center),a.styledMode||D(!0,v,G),D(!0,v,O,m),w.animate(v)),w.attr({visibility:g.visible?"inherit":"hidden"}),w.addClass(g.getClassName(),!0)):w&&(g.graphic=w.destroy())})}sortByAngle(m,w){m.sort(function(G,O){return void 0!==G.angle&&(O.angle-G.angle)*w})}translate(m){P(this,"translate"),this.generatePoints();let n,r,l,d,C,k,p,w=this.options,G=w.slicedOffset,O=X(w.startAngle,w.endAngle),f=this.startAngleRad=O.start,a=(this.endAngleRad=O.end)-f,g=this.points,v=w.ignoreHiddenPoint,o=g.length,T=0;for(m||(this.center=m=this.getCenter()),k=0;k1.5*Math.PI?l-=2*Math.PI:l<-Math.PI/2&&(l+=2*Math.PI),p.slicedTranslation={translateX:Math.round(Math.cos(l)*G),translateY:Math.round(Math.sin(l)*G)},d=Math.cos(l)*m[2]/2,C=Math.sin(l)*m[2]/2,p.tooltipPos=[m[0]+.7*d,m[1]+.7*C],p.half=l<-Math.PI/2||l>Math.PI/2?1:0,p.angle=l}P(this,"afterTranslate")}updateTotals(){let O,f,m=this.points,w=m.length,G=this.options.ignoreHiddenPoint,a=0;for(O=0;O0&&(f.visible||!G)?f.y/a*100:0,f.total=a}}return I.defaultOptions=D(pe.defaultOptions,le),F(I.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:ne.prototype.drawTracker,getCenter:q.getCenter,getSymbol:E,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:ne.prototype.pointAttribs,pointClass:ve,requireSorting:!1,searchPoint:E,trackerGroups:["group","dataLabelsGroup"]}),ue.registerSeriesType("pie",I),I}),Le(V,"Series/Pie/PieDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{composed:ue,noop:J}=ne,{distribute:te}=re,{series:X}=ve,{arrayMax:E,clamp:j,defined:F,pick:P,pushUnique:D,relativeLength:A}=le;return function(I){let _={radialDistributionY:function(f,a){return(a.dataLabelPosition?.top||0)+f.distributeBox.pos},radialDistributionX:function(f,a,g,v,o){let n=o.dataLabelPosition;return f.getX(g<(n?.top||0)+2||g>(n?.bottom||0)-2?v:g,a.half,a,o)},justify:function(f,a,g,v){return v[0]+(f.half?-1:1)*(g+(a.dataLabelPosition?.distance||0))},alignToPlotEdges:function(f,a,g,v){let o=f.getBBox().width;return a?o+v:g-o-v},alignToConnectors:function(f,a,g,v){let n,o=0;return f.forEach(function(r){(n=r.dataLabel.getBBox().width)>o&&(o=n)}),a?o+v:g-o-v}};function m(f,a){let{center:g,options:v}=this,o=g[2]/2,n=f.angle||0,r=Math.cos(n),l=Math.sin(n),d=g[0]+r*o,C=g[1]+l*o,k=Math.min((v.slicedOffset||0)+(v.borderWidth||0),a/5);return{natural:{x:d+r*a,y:C+l*a},computed:{},alignment:a<0?"center":f.half?"right":"left",connectorPosition:{breakAt:{x:d+r*k,y:C+l*k},touchingSliceAt:{x:d,y:C}},distance:a}}function w(){let B,z,K,f=this,a=f.points,g=f.chart,v=g.plotWidth,o=g.plotHeight,n=g.plotLeft,r=Math.round(g.chartWidth/3),l=f.center,d=l[2]/2,C=l[1],k=[[],[]],p=[0,0,0,0],T=f.dataLabelPositioners,U=0;f.visible&&f.hasDataLabels?.()&&(a.forEach(se=>{(se.dataLabels||[]).forEach(S=>{S.shortened&&(S.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),S.shortened=!1)})}),X.prototype.drawDataLabels.apply(f),a.forEach(se=>{(se.dataLabels||[]).forEach((S,$)=>{let H=l[2]/2,x=S.options,N=A(x?.distance||0,H);0===$&&k[se.half].push(se),!F(x?.style?.width)&&S.getBBox().width>r&&(S.css({width:Math.round(.7*r)+"px"}),S.shortened=!0),S.dataLabelPosition=this.getDataLabelPosition(se,N),U=Math.max(U,N)})}),k.forEach((se,S)=>{let x,N,Z,H=[],R=0;se.length&&(f.sortByAngle(se,S-.5),U>0&&(x=Math.max(0,C-d-U),N=Math.min(C+d+U,g.plotHeight),se.forEach(Y=>{(Y.dataLabels||[]).forEach(he=>{let ge=he.dataLabelPosition;ge&&ge.distance>0&&(ge.top=Math.max(0,C-d-ge.distance),ge.bottom=Math.min(C+d+ge.distance,g.plotHeight),R=he.getBBox().height||21,Y.distributeBox={target:(he.dataLabelPosition?.natural.y||0)-ge.top+R/2,size:R,rank:Y.y},H.push(Y.distributeBox))})}),te(H,Z=N+R-x,Z/5)),se.forEach(Y=>{(Y.dataLabels||[]).forEach(he=>{let ge=he.options||{},_e=Y.distributeBox,Te=he.dataLabelPosition,Oe=Te?.natural.y||0,De=ge.connectorPadding||0,Be=0,oe=Oe,ee="inherit";if(Te){if(H&&F(_e)&&Te.distance>0&&(void 0===_e.pos?ee="hidden":(K=_e.size,oe=T.radialDistributionY(Y,he))),ge.justify)Be=T.justify(Y,he,d,l);else switch(ge.alignTo){case"connectors":Be=T.alignToConnectors(se,S,v,n);break;case"plotEdges":Be=T.alignToPlotEdges(he,S,v,n);break;default:Be=T.radialDistributionX(f,Y,oe,Oe,he)}if(Te.attribs={visibility:ee,align:Te.alignment},Te.posAttribs={x:Be+(ge.x||0)+({left:De,right:-De}[Te.alignment]||0),y:oe+(ge.y||0)-he.getBBox().height/2},Te.computed.x=Be,Te.computed.y=oe,P(ge.crop,!0)){let be;Be-(z=he.getBBox().width)v-De&&0===S&&(be=Math.round(Be+z-v+De),p[1]=Math.max(be,p[1])),oe-K/2<0?p[0]=Math.max(Math.round(K/2-oe),p[0]):oe+K/2>o&&(p[2]=Math.max(Math.round(oe+K/2-o),p[2])),Te.sideOverflow=be}}})}))}),(0===E(p)||this.verifyDataLabelOverflow(p))&&(this.placeDataLabels(),this.points.forEach(se=>{(se.dataLabels||[]).forEach(S=>{let{connectorColor:$,connectorWidth:H=1}=S.options||{},x=S.dataLabelPosition;if(H){let N;B=S.connector,x&&x.distance>0?(N=!B,B||(S.connector=B=g.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+se.colorIndex+(se.className?" "+se.className:"")).add(f.dataLabelsGroup)),g.styledMode||B.attr({"stroke-width":H,stroke:$||se.color||"#666666"}),B[N?"attr":"animate"]({d:se.getConnectorPath(S)}),B.attr({visibility:x.attribs?.visibility})):B&&(S.connector=B.destroy())}})})))}function G(){this.points.forEach(f=>{(f.dataLabels||[]).forEach(a=>{let g=a.dataLabelPosition;g?(g.sideOverflow&&(a.css({width:Math.max(a.getBBox().width-g.sideOverflow,0)+"px",textOverflow:(a.options?.style||{}).textOverflow||"ellipsis"}),a.shortened=!0),a.attr(g.attribs),a[a.moved?"animate":"attr"](g.posAttribs),a.moved=!0):a&&a.attr({y:-9999})}),delete f.distributeBox},this)}function O(f){let a=this.center,g=this.options,v=g.center,o=g.minSize||80,n=o,r=null!==g.size;return!r&&(null!==v[0]?n=Math.max(a[2]-Math.max(f[1],f[3]),o):(n=Math.max(a[2]-f[1]-f[3],o),a[0]+=(f[3]-f[1])/2),null!==v[1]?n=j(n,o,a[2]-Math.max(f[0],f[2])):(n=j(n,o,a[2]-f[0]-f[2]),a[1]+=(f[0]-f[2])/2),n!(m.x>=_.x+_.width||m.x+m.width<=_.x||m.y>=_.y+_.height||m.y+m.height<=_.y),I=!1;for(let _=0;_(m.labelrank||0)-(_.labelrank||0));for(let _=0;_{ve(j,F=>{F.label&&X.push(F.label)})});for(let E of te.series||[])if(E.visible&&E.hasDataLabels?.()){let j=F=>{for(let P of F)P.visible&&(P.dataLabels||[]).forEach(D=>{let A=D.options||{};D.labelrank=le(A.labelrank,P.labelrank,P.shapeArgs?.height),A.allowOverlap??Number(A.distance)>0?(D.oldOpacity=D.opacity,D.newOpacity=1,ue(D,te)):X.push(D)})};j(E.nodes||[]),j(E.points)}this.hideOverlappingLabels(X)}return{compose:function(te){let X=te.prototype;X.hideOverlappingLabels||(X.hideOverlappingLabels=pe,ne(te,"render",J))}}}),Le(V,"Extensions/BorderRadius.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{defaultOptions:ve}=q,{noop:le}=ne,{addEvent:pe,extend:ue,isObject:J,merge:te,relativeLength:X}=re,E={radius:0,scope:"stack",where:void 0},j=le,F=le;function P(m,w,G,O,f={}){let a=j(m,w,G,O,f),{innerR:g=0,r:v=G,start:o=0,end:n=0}=f;if(f.open||!f.borderRadius)return a;let r=n-o,l=Math.sin(r/2),d=Math.max(Math.min(X(f.borderRadius||0,v-g),(v-g)/2,v*l/(1+l)),0),C=Math.min(d,r/Math.PI*2*g),k=a.length-1;for(;k--;)!function(p,T,B){let z,K,U,se=p[T],S=p[T+1];if("Z"===S[0]&&(S=p[0]),"M"!==se[0]&&"L"!==se[0]||"A"!==S[0]?"A"===se[0]&&("M"===S[0]||"L"===S[0])&&(z=S,K=se):(z=se,K=S,U=!0),z&&K&&K.params){let $=K[1],H=K[5],x=K.params,{start:N,end:R,cx:Z,cy:Y}=x,he=H?$-B:$+B,ge=he?Math.asin(B/he):0,_e=H?ge:-ge,Te=Math.cos(ge)*he;U?(x.start=N+_e,z[1]=Z+Te*Math.cos(N),z[2]=Y+Te*Math.sin(N),p.splice(T+1,0,["A",B,B,0,0,1,Z+$*Math.cos(x.start),Y+$*Math.sin(x.start)])):(x.end=R-_e,K[6]=Z+$*Math.cos(x.end),K[7]=Y+$*Math.sin(x.end),p.splice(T+1,0,["A",B,B,0,0,1,Z+Te*Math.cos(R),Y+Te*Math.sin(R)])),K[4]=Math.abs(x.end-x.start)1?C:d);return a}function D(){if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){let{options:m,yAxis:w}=this,G="percent"===m.stacking,O=ve.plotOptions?.[this.type]?.borderRadius,f=A(m.borderRadius,J(O)?O:{}),a=w.options.reversed;for(let g of this.points){let{shapeArgs:v}=g;if("roundedRect"===g.shapeType&&v){let{width:o=0,height:n=0,y:r=0}=v,l=r,d=n;if("stack"===f.scope&&g.stackTotal){let T=w.translate(G?100:g.stackTotal,!1,!0,!1,!0),B=w.translate(m.threshold||0,!1,!0,!1,!0),z=this.crispCol(0,Math.min(T,B),0,Math.abs(T-B));l=z.y,d=z.height}let C=(g.negative?-1:1)*(a?-1:1)==-1,k=f.where;!k&&this.is("waterfall")&&Math.abs((g.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(k="all"),k||(k="end");let p=Math.min(X(f.radius,o),o/2,"all"===k?n/2:1/0)||0;"end"===k&&(C&&(l-=p),d+=p),ue(v,{brBoxHeight:d,brBoxY:l,r:p})}}}}function A(m,w){return J(m)||(m={radius:m||0}),te(E,w,m)}function I(){let m=A(this.options.borderRadius);for(let w of this.points){let G=w.shapeArgs;G&&(G.borderRadius=X(m.radius,(G.r||0)-(G.innerR||0)))}}function _(m,w,G,O,f={}){let a=F(m,w,G,O,f),{r:g=0,brBoxHeight:v=O,brBoxY:o=w}=f,n=w-o,r=o+v-(w+O),l=n-g>-.1?0:g,d=r-g>-.1?0:g,C=Math.max(l&&n,0),k=Math.max(d&&r,0),p=[m+l,w],T=[m+G-l,w],B=[m+G,w+l],z=[m+G,w+O-d],K=[m+G-d,w+O],U=[m+d,w+O],se=[m,w+O-d],S=[m,w+l],$=(H,x)=>Math.sqrt(Math.pow(H,2)-Math.pow(x,2));if(C){let H=$(l,l-C);p[0]-=H,T[0]+=H,B[1]=S[1]=w+l-C}if(O=ue(P.minWidth,0)&&this.chartHeight>=ue(P.minHeight,0)}).call(this)&&F.push(j._id)}function E(j,F){let I,P=this.options.responsive,D=this.currentResponsive,A=[];!F&&P&&P.rules&&P.rules.forEach(w=>{void 0===w._id&&(w._id=J()),this.matchResponsiveRule(w,A)},this);let _=pe(...A.map(w=>le((P||{}).rules||[],G=>G._id===w)).map(w=>w&&w.chartOptions));_.isResponsiveOptions=!0,A=A.toString()||void 0,A!==(D&&D.ruleIds)&&(D&&this.update(D.undoOptions,j,!0),A?((I=re(_,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:A,mergedOptions:_,undoOptions:I},this.update(_,j,!0)):this.currentResponsive=void 0)}te.compose=function(j){let F=j.prototype;return F.matchResponsiveRule||ve(F,{matchResponsiveRule:X,setResponsive:E}),j}}(ne||(ne={})),ne}),Le(V,"masters/highcharts.src.js",[V["Core/Globals.js"],V["Core/Utilities.js"],V["Core/Defaults.js"],V["Core/Animation/Fx.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Templating.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Renderer/HTML/HTMLElement.js"],V["Core/Axis/Axis.js"],V["Core/Axis/DateTimeAxis.js"],V["Core/Axis/LogarithmicAxis.js"],V["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],V["Core/Axis/Tick.js"],V["Core/Tooltip.js"],V["Core/Series/Point.js"],V["Core/Pointer.js"],V["Core/Legend/Legend.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Chart/Chart.js"],V["Extensions/ScrollablePlotArea.js"],V["Core/Axis/Stacking/StackingAxis.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Series/Column/ColumnDataLabel.js"],V["Series/Pie/PieDataLabel.js"],V["Core/Series/DataLabel.js"],V["Extensions/OverlappingDataLabels.js"],V["Extensions/BorderRadius.js"],V["Core/Responsive.js"],V["Core/Color/Color.js"],V["Core/Time.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X,E,j,F,P,D,A,I,_,m,w,G,O,f,a,g,v,o,n,r,l,d,C,k,p,T,B){return q.AST=pe,q.Axis=F,q.Chart=f,q.Color=T,q.DataLabel=d,q.Fx=ve,q.HTMLElement=j,q.Legend=G,q.LegendSymbol=O,q.OverlappingDataLabels=q.OverlappingDataLabels||C,q.PlotLineOrBand=A,q.Point=m,q.Pointer=w,q.RendererRegistry=J,q.Series=o,q.SeriesRegistry=n,q.StackItem=v,q.SVGElement=X,q.SVGRenderer=E,q.Templating=ue,q.Tick=I,q.Time=B,q.Tooltip=_,q.animate=le.animate,q.animObject=le.animObject,q.chart=f.chart,q.color=T.parse,q.dateFormat=ue.dateFormat,q.defaultOptions=re.defaultOptions,q.distribute=te.distribute,q.format=ue.format,q.getDeferredAnimation=le.getDeferredAnimation,q.getOptions=re.getOptions,q.numberFormat=ue.numberFormat,q.seriesType=n.seriesType,q.setAnimation=le.setAnimation,q.setOptions=re.setOptions,q.stop=le.stop,q.time=re.defaultTime,q.timers=ve.timers,k.compose(q.Series,q.SVGElement,q.SVGRenderer),r.compose(q.Series.types.column),d.compose(q.Series),P.compose(q.Axis),j.compose(q.SVGRenderer),G.compose(q.Chart),D.compose(q.Axis),C.compose(q.Chart),l.compose(q.Series.types.pie),A.compose(q.Axis),w.compose(q.Chart),p.compose(q.Chart),a.compose(q.Axis,q.Chart,q.Series),g.compose(q.Axis,q.Chart,q.Series),_.compose(q.Pointer),ne.extend(q,ne),q}),V["masters/highcharts.src.js"]._modules=V,V["masters/highcharts.src.js"]},ri.exports?(V.default=V,ri.exports=e&&e.document?V(e):V):void 0!==(M=function(){return V(e)}.call(Bt,We,Bt,ri))&&(ri.exports=M)},12146:function(ri,Bt,We){var M,e,V;e=typeof window<"u"?window:this,V=function(e){"use strict";var V={};function Le(q,ne,re,ve){q.hasOwnProperty(ne)||(q[ne]=ve.apply(null,re),"function"==typeof CustomEvent&&e.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:ne,module:q[ne]}})))}return Le(V,"Core/Globals.js",[],function(){var q,ne;return(ne=q||(q={})).SVG_NS="http://www.w3.org/2000/svg",ne.product="Highcharts",ne.version="11.4.0",ne.win=void 0!==e?e:{},ne.doc=ne.win.document,ne.svg=ne.doc&&ne.doc.createElementNS&&!!ne.doc.createElementNS(ne.SVG_NS,"svg").createSVGRect,ne.userAgent=ne.win.navigator&&ne.win.navigator.userAgent||"",ne.isChrome=-1!==ne.userAgent.indexOf("Chrome"),ne.isFirefox=-1!==ne.userAgent.indexOf("Firefox"),ne.isMS=/(edge|msie|trident)/i.test(ne.userAgent)&&!ne.win.opera,ne.isSafari=!ne.isChrome&&-1!==ne.userAgent.indexOf("Safari"),ne.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(ne.userAgent),ne.isWebKit=-1!==ne.userAgent.indexOf("AppleWebKit"),ne.deg2rad=2*Math.PI/360,ne.hasBidiBug=ne.isFirefox&&4>parseInt(ne.userAgent.split("Firefox/")[1],10),ne.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],ne.noop=function(){},ne.supportsPassiveEvents=function(){let re=!1;if(!ne.isMS){let ve=Object.defineProperty({},"passive",{get:function(){re=!0}});ne.win.addEventListener&&ne.win.removeEventListener&&(ne.win.addEventListener("testPassive",ne.noop,ve),ne.win.removeEventListener("testPassive",ne.noop,ve))}return re}(),ne.charts=[],ne.composed=[],ne.dateFormats={},ne.seriesTypes={},ne.symbolSizes={},ne.chartCount=0,q}),Le(V,"Core/Utilities.js",[V["Core/Globals.js"]],function(q){let ne,{charts:re,doc:ve,win:le}=q;function pe(o,n,r,l){let d=n?"Highcharts error":"Highcharts warning";32===o&&(o=`${d}: Deprecated member`);let C=F(o),k=C?`${d} #${o}: www.highcharts.com/errors/${o}/`:o.toString();if(void 0!==l){let p="";C&&(k+="?"),f(l,function(T,B){p+=`\n - ${B}: ${T}`,C&&(k+=encodeURI(B)+"="+encodeURI(T))}),k+=p}g(q,"displayError",{chart:r,code:o,message:k,params:l},function(){if(n)throw Error(k);le.console&&-1===pe.messages.indexOf(k)&&console.warn(k)}),pe.messages.push(k)}function ue(o,n){return parseInt(o,n||10)}function J(o){return"string"==typeof o}function te(o){let n=Object.prototype.toString.call(o);return"[object Array]"===n||"[object Array Iterator]"===n}function X(o,n){return!(!o||"object"!=typeof o||n&&te(o))}function E(o){return X(o)&&"number"==typeof o.nodeType}function j(o){let n=o&&o.constructor;return!(!X(o,!0)||E(o)||!n||!n.name||"Object"===n.name)}function F(o){return"number"==typeof o&&!isNaN(o)&&o<1/0&&o>-1/0}function P(o){return null!=o}function D(o,n,r){let l,d=J(n)&&!P(r),C=(k,p)=>{P(k)?o.setAttribute(p,k):d?(l=o.getAttribute(p))||"class"!==p||(l=o.getAttribute(p+"Name")):o.removeAttribute(p)};return J(n)?C(r,n):f(n,C),l}function A(o){return te(o)?o:[o]}function I(o,n){let r;for(r in o||(o={}),n)o[r]=n[r];return o}function _(){let o=arguments,n=o.length;for(let r=0;r1e14?o:parseFloat(o.toPrecision(n||14))}(pe||(pe={})).messages=[],Math.easeInOutSine=function(o){return-.5*(Math.cos(Math.PI*o)-1)};let O=Array.prototype.find?function(o,n){return o.find(n)}:function(o,n){let r,l=o.length;for(r=0;rp.order-T.order),d.forEach(p=>{!1===p.fn.call(o,r)&&r.preventDefault()})}l&&!r.defaultPrevented&&l.call(o,r)}f({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(o,n){q[n]=function(r){return pe(32,!1,void 0,{[`Highcharts.${n}`]:`use Array.${o}`}),Array.prototype[o].apply(r,[].slice.call(arguments,1))}});let v=function(){let o=Math.random().toString(36).substring(2,9)+"-",n=0;return function(){return"highcharts-"+(ne?"":o)+n++}}();return le.jQuery&&(le.jQuery.fn.highcharts=function(){let o=[].slice.call(arguments);if(this[0])return o[0]?(new(q[J(o[0])?o.shift():"Chart"])(this[0],o[0],o[1]),this):re[D(this[0],"data-highcharts-chart")]}),{addEvent:function(o,n,r,l={}){let d="function"==typeof o&&o.prototype||o;Object.hasOwnProperty.call(d,"hcEvents")||(d.hcEvents={});let C=d.hcEvents;q.Point&&o instanceof q.Point&&o.series&&o.series.chart&&(o.series.chart.runTrackerClick=!0);let k=o.addEventListener;return k&&k.call(o,n,r,!!q.supportsPassiveEvents&&{passive:void 0===l.passive?-1!==n.indexOf("touch"):l.passive,capture:!1}),C[n]||(C[n]=[]),C[n].push({fn:r,order:"number"==typeof l.order?l.order:1/0}),C[n].sort((T,B)=>T.order-B.order),function(){a(o,n,r)}},arrayMax:function(o){let n=o.length,r=o[0];for(;n--;)o[n]>r&&(r=o[n]);return r},arrayMin:function(o){let n=o.length,r=o[0];for(;n--;)o[n]n?o-1&&p[U]){K=A(K),T[U]=[];for(let se=0;se{if(p.length>1)for(C=l=p.length-1;C>0;C--)(d=p[C]-p[C-1])<0&&!k?(n?.(),n=void 0):d&&(void 0===r||d=k-1&&(k=Math.floor(p)),Math.max(0,k-(o(n,"padding-left",!0)||0)-(o(n,"padding-right",!0)||0))}if("height"===r)return Math.max(0,Math.min(n.offsetHeight,n.scrollHeight)-(o(n,"padding-top",!0)||0)-(o(n,"padding-bottom",!0)||0));let C=le.getComputedStyle(n,void 0);return C&&(d=C.getPropertyValue(r),_(l,"opacity"!==r)&&(d=ue(d))),d},inArray:function(o,n,r){return pe(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),n.indexOf(o,r)},insertItem:function(o,n){let r,l=o.options.index,d=n.length;for(r=o.options.isInternal?d:0;r=o))&&(d||!(p<=(n[C]+(n[C+1]||n[C]))/2)));C++);return G(k*r,-Math.round(Math.log(.001)/Math.LN10))},objectEach:f,offset:function(o){let n=ve.documentElement,r=o.parentElement||o.parentNode?o.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:r.top+(le.pageYOffset||n.scrollTop)-(n.clientTop||0),left:r.left+(le.pageXOffset||n.scrollLeft)-(n.clientLeft||0),width:r.width,height:r.height}},pad:function(o,n,r){return Array((n||2)+1-String(o).replace("-","").length).join(r||"0")+o},pick:_,pInt:ue,pushUnique:function(o,n){return 0>o.indexOf(n)&&!!o.push(n)},relativeLength:function(o,n,r){return/%$/.test(o)?n*parseFloat(o)/100+(r||0):parseFloat(o)},removeEvent:a,replaceNested:function(o,...n){let r,l;do{for(l of(r=o,n))o=o.replace(l[0],l[1])}while(o!==r);return o},splat:A,stableSort:function(o,n){let r,l,d=o.length;for(l=0;l0?setTimeout(o,n,r):(o.call(0,r),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:v,useSerialIds:function(o){return ne=_(o,ne)},wrap:function(o,n,r){let l=o[n];o[n]=function(){let d=arguments,C=this;return r.apply(this,[function(){return l.apply(C,arguments.length?arguments:d)}].concat([].slice.call(arguments)))}}}}),Le(V,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),Le(V,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),Le(V,"Core/Time.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{win:re}=q,{defined:ve,error:le,extend:pe,isNumber:ue,isObject:J,merge:te,objectEach:X,pad:E,pick:j,splat:F,timeUnits:P}=ne,D=q.isSafari&&re.Intl&&re.Intl.DateTimeFormat.prototype.formatRange,A=q.isSafari&&re.Intl&&!re.Intl.DateTimeFormat.prototype.formatRange;class I{constructor(m){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=re.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(m)}get(m,w){if(this.variableTimezone||this.timezoneOffset){let G=w.getTime(),O=G-this.getTimezoneOffset(w);w.setTime(O);let f=w["getUTC"+m]();return w.setTime(G),f}return this.useUTC?w["getUTC"+m]():w["get"+m]()}set(m,w,G){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===m||"Seconds"===m||"Minutes"===m&&this.getTimezoneOffset(w)%36e5==0)return w["setUTC"+m](G);let O=this.getTimezoneOffset(w),f=w.getTime()-O;w.setTime(f),w["setUTC"+m](G);let a=this.getTimezoneOffset(w);return f=w.getTime()+a,w.setTime(f)}return this.useUTC||D&&"FullYear"===m?w["setUTC"+m](G):w["set"+m](G)}update(m={}){let w=j(m.useUTC,!0);this.options=m=te(!0,this.options,m),this.Date=m.Date||re.Date||Date,this.useUTC=w,this.timezoneOffset=w&&m.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=w&&!(!m.getTimezoneOffset&&!m.timezone)}makeTime(m,w,G,O,f,a){let g,v,o;return this.useUTC?(g=this.Date.UTC.apply(0,arguments),v=this.getTimezoneOffset(g),g+=v,v!==(o=this.getTimezoneOffset(g))?g+=o-v:v-36e5!==this.getTimezoneOffset(g-36e5)||A||(g-=36e5)):g=new this.Date(m,w,j(G,1),j(O,0),j(f,0),j(a,0)).getTime(),g}timezoneOffsetFunction(){let m=this,w=this.options,G=w.getTimezoneOffset;return this.useUTC?w.timezone?O=>{try{let f=`shortOffset,${w.timezone||""}`,[a,g,v,o,n=0]=(I.formatCache[f]=I.formatCache[f]||Intl.DateTimeFormat("en",{timeZone:w.timezone,timeZoneName:"shortOffset"})).format(O).split(/(GMT|:)/).map(Number),r=-36e5*(v+n/60);if(ue(r))return r}catch{le(34)}return 0}:this.useUTC&&G?O=>6e4*G(O.valueOf()):()=>6e4*(m.timezoneOffset||0):O=>6e4*new Date(O.toString()).getTimezoneOffset()}dateFormat(m,w,G){if(!ve(w)||isNaN(w))return q.defaultOptions.lang&&q.defaultOptions.lang.invalidDate||"";m=j(m,"%Y-%m-%d %H:%M:%S");let O=this,f=new this.Date(w),a=this.get("Hours",f),g=this.get("Day",f),v=this.get("Date",f),o=this.get("Month",f),n=this.get("FullYear",f),r=q.defaultOptions.lang,l=r&&r.weekdays,d=r&&r.shortWeekdays;return X(pe({a:d?d[g]:l[g].substr(0,3),A:l[g],d:E(v),e:E(v,2," "),w:g,b:r.shortMonths[o],B:r.months[o],m:E(o+1),o:o+1,y:n.toString().substr(2,2),Y:n,H:E(a),k:a,I:E(a%12||12),l:a%12||12,M:E(this.get("Minutes",f)),p:a<12?"AM":"PM",P:a<12?"am":"pm",S:E(this.get("Seconds",f)),L:E(Math.floor(w%1e3),3)},q.dateFormats),function(C,k){for(;-1!==m.indexOf("%"+k);)m=m.replace("%"+k,"function"==typeof C?C.call(O,w):C)}),G?m.substr(0,1).toUpperCase()+m.substr(1):m}resolveDTLFormat(m){return J(m,!0)?m:{main:(m=F(m))[0],from:m[1],to:m[2]}}getTimeTicks(m,w,G,O){let f,a,g,v,o=this,r=[],l={},d=new(0,o.Date)(w),C=m.unitRange,k=m.count||1;if(O=j(O,1),ve(w)){o.set("Milliseconds",d,C>=P.second?0:k*Math.floor(o.get("Milliseconds",d)/k)),C>=P.second&&o.set("Seconds",d,C>=P.minute?0:k*Math.floor(o.get("Seconds",d)/k)),C>=P.minute&&o.set("Minutes",d,C>=P.hour?0:k*Math.floor(o.get("Minutes",d)/k)),C>=P.hour&&o.set("Hours",d,C>=P.day?0:k*Math.floor(o.get("Hours",d)/k)),C>=P.day&&o.set("Date",d,C>=P.month?1:Math.max(1,k*Math.floor(o.get("Date",d)/k))),C>=P.month&&(o.set("Month",d,C>=P.year?0:k*Math.floor(o.get("Month",d)/k)),a=o.get("FullYear",d)),C>=P.year&&(a-=a%k,o.set("FullYear",d,a)),C===P.week&&(v=o.get("Day",d),o.set("Date",d,o.get("Date",d)-v+O+(v4*P.month||o.getTimezoneOffset(w)!==o.getTimezoneOffset(G));let z=d.getTime();for(f=1;z1?z=o.makeTime(a,p,T,B+f*k):z+=C*k:z=o.makeTime(a,p,T+f*k*(C===P.day?1:7)),f++;r.push(z),C<=P.hour&&r.length<1e4&&r.forEach(function(K){K%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",K)&&(l[K]="day")})}return r.info=pe(m,{higherRanks:l,totalRange:C*k}),r}getDateFormat(m,w,G,O){let f=this.dateFormat("%m-%d %H:%M:%S.%L",w),a="01-01 00:00:00.000",g={millisecond:15,second:12,minute:9,hour:6,day:3},v="millisecond",o=v;for(v in P){if(m===P.week&&+this.dateFormat("%w",w)===G&&f.substr(6)===a.substr(6)){v="week";break}if(P[v]>m){v=o;break}if(g[v]&&f.substr(g[v])!==a.substr(g[v]))break;"week"!==v&&(o=v)}return this.resolveDTLFormat(O[v]).main}}return I.formatCache={},I}),Le(V,"Core/Defaults.js",[V["Core/Chart/ChartDefaults.js"],V["Core/Globals.js"],V["Core/Color/Palettes.js"],V["Core/Time.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{isTouchDevice:pe,svg:ue}=ne,{merge:J}=le,te={colors:re.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",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"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:q,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:ue,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:pe?25:10,headerFormat:'{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};te.chart.styledMode=!1;let X=new ve(te.time);return{defaultOptions:te,defaultTime:X,getOptions:function(){return te},setOptions:function(E){return J(!0,te,E),(E.time||E.global)&&(ne.time?ne.time.update(J(te.global,te.time,E.global,E.time)):ne.time=X),te}}}),Le(V,"Core/Color/Color.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{isNumber:re,merge:ve,pInt:le}=ne;class pe{static parse(J){return J?new pe(J):pe.None}constructor(J){let te,X,E,j;this.rgba=[NaN,NaN,NaN,NaN],this.input=J;let F=q.Color;if(F&&F!==pe)return new F(J);if("object"==typeof J&&void 0!==J.stops)this.stops=J.stops.map(P=>new pe(P[1]));else if("string"==typeof J){if(this.input=J=pe.names[J.toLowerCase()]||J,"#"===J.charAt(0)){let P=J.length,D=parseInt(J.substr(1),16);7===P?X=[(16711680&D)>>16,(65280&D)>>8,255&D,1]:4===P&&(X=[(3840&D)>>4|(3840&D)>>8,(240&D)>>4|240&D,(15&D)<<4|15&D,1])}if(!X)for(E=pe.parsers.length;E--&&!X;)(te=(j=pe.parsers[E]).regex.exec(J))&&(X=j.parse(te))}X&&(this.rgba=X)}get(J){let te=this.input,X=this.rgba;if("object"==typeof te&&void 0!==this.stops){let E=ve(te);return E.stops=[].slice.call(E.stops),this.stops.forEach((j,F)=>{E.stops[F]=[E.stops[F][0],j.get(J)]}),E}return X&&re(X[0])?"rgb"===J||!J&&1===X[3]?"rgb("+X[0]+","+X[1]+","+X[2]+")":"a"===J?`${X[3]}`:"rgba("+X.join(",")+")":te}brighten(J){let te=this.rgba;if(this.stops)this.stops.forEach(function(X){X.brighten(J)});else if(re(J)&&0!==J)for(let X=0;X<3;X++)te[X]+=le(255*J),te[X]<0&&(te[X]=0),te[X]>255&&(te[X]=255);return this}setOpacity(J){return this.rgba[3]=J,this}tweenTo(J,te){let X=this.rgba,E=J.rgba;if(!re(X[0])||!re(E[0]))return J.input||"none";let j=1!==E[3]||1!==X[3];return(j?"rgba(":"rgb(")+Math.round(E[0]+(X[0]-E[0])*(1-te))+","+Math.round(E[1]+(X[1]-E[1])*(1-te))+","+Math.round(E[2]+(X[2]-E[2])*(1-te))+(j?","+(E[3]+(X[3]-E[3])*(1-te)):"")+")"}}return pe.names={white:"#ffffff",black:"#000000"},pe.parsers=[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(ue){return[le(ue[1]),le(ue[2]),le(ue[3]),parseFloat(ue[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(ue){return[le(ue[1]),le(ue[2]),le(ue[3]),1]}}],pe.None=new pe(""),pe}),Le(V,"Core/Animation/Fx.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{parse:ve}=q,{win:le}=ne,{isNumber:pe,objectEach:ue}=re;class J{constructor(X,E,j){this.pos=NaN,this.options=E,this.elem=X,this.prop=j}dSetter(){let X=this.paths,E=X&&X[0],j=X&&X[1],F=this.now||0,P=[];if(1!==F&&E&&j)if(E.length===j.length&&F<1)for(let D=0;D=I+this.startTime?(this.now=this.end,this.pos=1,this.update(),_[this.prop]=!0,j=!0,ue(_,function(m){!0!==m&&(j=!1)}),j&&A&&A.call(D),E=!1):(this.pos=P.easing((F-this.startTime)/I),this.now=this.start+(this.end-this.start)*this.pos,this.update(),E=!0),E}initPath(X,E,j){let _,m,w,G,F=X.startX,P=X.endX,D=j.slice(),A=X.isArea,I=A?2:1,O=E&&E.slice();if(!O)return[D,D];function f(g,v){for(;g.length{let G=E(w.options.animation);_=ue(P)&&re(P.defer)?A.defer:Math.max(_,G.duration+G.defer),m=Math.min(A.duration,G.duration)}),F.renderer.forExport&&(_=0),{defer:Math.max(0,_-m),duration:Math.min(_,m)}},setAnimation:function(F,P){P.renderer.globalAnimation=X(F,P.options.chart.animation,!0)},stop:j}}),Le(V,"Core/Renderer/HTML/AST.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{SVG_NS:re,win:ve}=q,{attr:le,createElement:pe,css:ue,error:J,isFunction:te,isString:X,objectEach:E,splat:j}=ne,{trustedTypes:F}=ve,P=F&&te(F.createPolicy)&&F.createPolicy("highcharts",{createHTML:_=>_}),D=P?P.createHTML(""):"",A=function(){try{return!!(new DOMParser).parseFromString(D,"text/html")}catch{return!1}}();class I{static filterUserAttributes(m){return E(m,(w,G)=>{let O=!0;-1===I.allowedAttributes.indexOf(G)&&(O=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(G)&&(O=X(w)&&I.allowedReferences.some(f=>0===w.indexOf(f))),O||(J(33,!1,void 0,{"Invalid attribute in config":`${G}`}),delete m[G]),X(w)&&m[G]&&(m[G]=w.replace(/{let O=G.split(":").map(a=>a.trim()),f=O.shift();return f&&O.length&&(w[f.replace(/-([a-z])/g,a=>a[1].toUpperCase())]=O.join(":")),w},{})}static setElementHTML(m,w){m.innerHTML=I.emptyHTML,w&&new I(w).addToDOM(m)}constructor(m){this.nodes="string"==typeof m?this.parseMarkup(m):m}addToDOM(m){return function w(G,O){let f;return j(G).forEach(function(a){let g,v=a.tagName,o=a.textContent?q.doc.createTextNode(a.textContent):void 0,n=I.bypassHTMLFiltering;if(v)if("#text"===v)g=o;else if(-1!==I.allowedTags.indexOf(v)||n){let l=q.doc.createElementNS("svg"===v?re:O.namespaceURI||re,v),d=a.attributes||{};E(a,function(C,k){"tagName"!==k&&"attributes"!==k&&"children"!==k&&"style"!==k&&"textContent"!==k&&(d[k]=C)}),le(l,n?d:I.filterUserAttributes(d)),a.style&&ue(l,a.style),o&&l.appendChild(o),w(a.children||[],l),g=l}else J(33,!1,void 0,{"Invalid tagName in config":v});g&&O.appendChild(g),f=g}),f}(this.nodes,m)}parseMarkup(m){let w,G=[];if(m=m.trim().replace(/ style=(["'])/g," data-style=$1"),A)w=(new DOMParser).parseFromString(P?P.createHTML(m):m,"text/html");else{let f=pe("div");f.innerHTML=m,w={body:f}}let O=(f,a)=>{let g=f.nodeName.toLowerCase(),v={tagName:g};"#text"===g&&(v.textContent=f.textContent||"");let o=f.attributes;if(o){let n={};[].forEach.call(o,r=>{"data-style"===r.name?v.style=I.parseStyle(r.value):n[r.name]=r.value}),v.attributes=n}if(f.childNodes.length){let n=[];[].forEach.call(f.childNodes,r=>{O(r,n)}),n.length&&(v.children=n)}a.push(v)};return[].forEach.call(w.body.childNodes,f=>O(f,G)),G}}return I.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","markerHeight","markerWidth","offset","opacity","orient","padding","paddingLeft","paddingRight","patternUnits","r","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],I.allowedReferences=["https://","http://","mailto:","/","../","./","#"],I.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feDropShadow","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],I.emptyHTML=D,I.bypassHTMLFiltering=!1,I}),Le(V,"Core/Templating.js",[V["Core/Defaults.js"],V["Core/Utilities.js"]],function(q,ne){let{defaultOptions:re,defaultTime:ve}=q,{extend:le,getNestedProperty:pe,isArray:ue,isNumber:J,isObject:te,pick:X,pInt:E}=ne,j={add:(D,A)=>D+A,divide:(D,A)=>0!==A?D/A:"",eq:(D,A)=>D==A,each:function(D){let A=arguments[arguments.length-1];return!!ue(D)&&D.map((I,_)=>F(A.body,le(te(I)?I:{"@this":I},{"@index":_,"@first":0===_,"@last":_===D.length-1}))).join("")},ge:(D,A)=>D>=A,gt:(D,A)=>D>A,if:D=>!!D,le:(D,A)=>D<=A,lt:(D,A)=>DD*A,ne:(D,A)=>D!=A,subtract:(D,A)=>D-A,unless:D=>!D};function F(D="",A,I){let o,n,l,_=/\{([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= #\(\)]+)\}/g,m=/\(([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= ]+)\)/g,w=[],G=/f$/,O=/\.([0-9])/,f=re.lang,a=I&&I.time||ve,g=I&&I.numberFormatter||P,v=(d="")=>{let C;return"true"===d||"false"!==d&&((C=Number(d)).toString()===d?C:pe(d,A))},r=0;for(;null!==(o=_.exec(D));){let d=m.exec(o[1]);d&&(o=d,l=!0),n&&n.isBlock||(n={ctx:A,expression:o[1],find:o[0],isBlock:"#"===o[1].charAt(0),start:o.index,startInner:o.index+o[0].length,length:o[0].length});let C=o[1].split(" ")[0].replace("#","");j[C]&&(n.isBlock&&C===n.fn&&r++,n.fn||(n.fn=C));let k="else"===o[1];if(n.isBlock&&n.fn&&(o[1]===`/${n.fn}`||k))if(r)!k&&r--;else{let p=n.startInner,T=D.substr(p,o.index-p);void 0===n.body?(n.body=T,n.startInner=o.index+o[0].length):n.elseBody=T,n.find+=T+o[0],k||(w.push(n),n=void 0)}else n.isBlock||w.push(n);if(d&&!n?.isBlock)break}return w.forEach(d=>{let C,k,{body:p,elseBody:T,expression:B,fn:z}=d;if(z){let K=[d],U=B.split(" ");for(k=j[z].length;k--;)K.unshift(v(U[k+1]));C=j[z].apply(A,K),d.isBlock&&"boolean"==typeof C&&(C=F(C?p:T,A))}else{let K=B.split(":");if(C=v(K.shift()||""),K.length&&"number"==typeof C){let U=K.join(":");if(G.test(U)){let se=parseInt((U.match(O)||["","-1"])[1],10);null!==C&&(C=g(C,se,f.decimalPoint,U.indexOf(",")>-1?f.thousandsSep:""))}else C=a.dateFormat(U,C)}}D=D.replace(d.find,X(C,""))}),l?F(D,A,I):D}function P(D,A,I,_){let m,w;A=+A;let G=re.lang,O=((D=+D||0).toString().split(".")[1]||"").split("e")[0].length,f=D.toString().split("e"),a=A;-1===A?A=Math.min(O,20):J(A)?A&&f[1]&&f[1]<0&&((w=A+ +f[1])>=0?(f[0]=(+f[0]).toExponential(w).split("e")[0],A=w):(f[0]=f[0].split(".")[0]||0,D=A<20?(f[0]*Math.pow(10,f[1])).toFixed(A):0,f[1]=0)):A=2;let g=(Math.abs(f[1]?f[0]:D)+Math.pow(10,-Math.max(A,O)-1)).toFixed(A),v=String(E(g)),o=v.length>3?v.length%3:0;return I=X(I,G.decimalPoint),_=X(_,G.thousandsSep),m=(D<0?"-":"")+(o?v.substr(0,o)+_:""),0>+f[1]&&!a?m="0":m+=v.substr(o).replace(/(\d{3})(?=\d)/g,"$1"+_),A&&(m+=I+g.slice(-A)),f[1]&&0!=+m&&(m+="e"+f[1]),m}return{dateFormat:function(D,A,I){return ve.dateFormat(D,A,I)},format:F,helpers:j,numberFormat:P}}),Le(V,"Core/Renderer/RendererRegistry.js",[V["Core/Globals.js"]],function(q){var ne,re;let ve;return(re=ne||(ne={})).rendererTypes={},re.getRendererType=function(le=ve){return re.rendererTypes[le]||re.rendererTypes[ve]},re.registerRendererType=function(le,pe,ue){re.rendererTypes[le]=pe,(!ve||ue)&&(ve=le,q.Renderer=pe)},ne}),Le(V,"Core/Renderer/RendererUtilities.js",[V["Core/Utilities.js"]],function(q){var ne;let{clamp:re,pick:ve,pushUnique:le,stableSort:pe}=q;return(ne||(ne={})).distribute=function ue(J,te,X){let _,m,w,O,f,g,E=J,j=E.reducedLen||te,F=(v,o)=>v.target-o.target,P=[],D=J.length,A=[],I=P.push,G=!0,a=0;for(_=D;_--;)a+=J[_].size;if(a>j){for(pe(J,(v,o)=>(o.rank||0)-(v.rank||0)),w=(g=J[0].rank===J[J.length-1].rank)?D/2:-1,m=g?w:D-1;w&&a>j;)O=J[_=Math.floor(m)],le(A,_)&&(a-=O.size),m+=w,g&&m>=J.length&&(w/=2,m=w);A.sort((v,o)=>o-v).forEach(v=>I.apply(P,J.splice(v,1)))}for(pe(J,F),J=J.map(v=>({size:v.size,targets:[v.target],align:ve(v.align,.5)}));G;){for(_=J.length;_--;)O=J[_],f=(Math.min.apply(0,O.targets)+Math.max.apply(0,O.targets))/2,O.pos=re(f-O.size*O.align,0,te-O.size);for(_=J.length,G=!1;_--;)_>0&&J[_-1].pos+J[_-1].size>J[_].pos&&(J[_-1].size+=J[_].size,J[_-1].targets=J[_-1].targets.concat(J[_].targets),J[_-1].align=.5,J[_-1].pos+J[_-1].size>te&&(J[_-1].pos=te-J[_-1].size),J.splice(_,1),G=!0)}return I.apply(E,P),_=0,J.some(v=>{let o=0;return(v.targets||[]).some(()=>(E[_].pos=v.pos+o,void 0!==X&&Math.abs(E[_].pos-E[_].target)>X?(E.slice(0,_+1).forEach(n=>delete n.pos),E.reducedLen=(E.reducedLen||te)-.1*te,E.reducedLen>.1*te&&ue(E,te,X),!0):(o+=E[_].size,_++,!1)))}),pe(E,F),E},ne}),Le(V,"Core/Renderer/SVG/SVGElement.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{animate:le,animObject:pe,stop:ue}=q,{deg2rad:J,doc:te,svg:X,SVG_NS:E,win:j}=re,{addEvent:F,attr:P,createElement:D,css:A,defined:I,erase:_,extend:m,fireEvent:w,isArray:G,isFunction:O,isObject:f,isString:a,merge:g,objectEach:v,pick:o,pInt:n,replaceNested:r,syncTimeout:l,uniqueKey:d}=ve;class C{_defaultGetter(p){let T=o(this[p+"Value"],this[p],this.element?this.element.getAttribute(p):null,0);return/^[\-0-9\.]+$/.test(T)&&(T=parseFloat(T)),T}_defaultSetter(p,T,B){B.setAttribute(T,p)}add(p){let T,B=this.renderer,z=this.element;return p&&(this.parentGroup=p),void 0!==this.textStr&&"text"===this.element.nodeName&&B.buildText(this),this.added=!0,(!p||p.handleZ||this.zIndex)&&(T=this.zIndexSetter()),T||(p?p.element:B.box).appendChild(z),this.onAdd&&this.onAdd(),this}addClass(p,T){let B=T?"":this.attr("class")||"";return(p=(p||"").split(/ /g).reduce(function(z,K){return-1===B.indexOf(K)&&z.push(K),z},B?[B]:[]).join(" "))!==B&&this.attr("class",p),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(p,T,B,z=!0){let K,U,se,S,$,H={},x=this.renderer,N=x.alignedObjects;p?(this.alignOptions=p,this.alignByTranslate=T,(!B||a(B))&&(this.alignTo=se=B||"renderer",_(N,this),N.push(this),B=void 0)):(p=this.alignOptions,T=this.alignByTranslate,se=this.alignTo),B=o(B,x[se],x);let R=p.align,Z=p.verticalAlign;return K=(B.x||0)+(p.x||0),U=(B.y||0)+(p.y||0),"right"===R?S=1:"center"===R&&(S=2),S&&(K+=(B.width-(p.width||0))/S),H[T?"translateX":"x"]=Math.round(K),"bottom"===Z?$=1:"middle"===Z&&($=2),$&&(U+=(B.height-(p.height||0))/$),H[T?"translateY":"y"]=Math.round(U),z&&(this[this.placed?"animate":"attr"](H),this.placed=!0),this.alignAttr=H,this}alignSetter(p){let T={left:"start",center:"middle",right:"end"};T[p]&&(this.alignValue=p,this.element.setAttribute("text-anchor",T[p]))}animate(p,T,B){let z=pe(o(T,this.renderer.globalAnimation,!0)),K=z.defer;return te.hidden&&(z.duration=0),0!==z.duration?(B&&(z.complete=B),l(()=>{this.element&&le(this,p,z)},K)):(this.attr(p,void 0,B||z.complete),v(p,function(U,se){z.step&&z.step.call(this,U,{prop:se,pos:1,elem:this})},this)),this}applyTextOutline(p){let T=this.element;-1!==p.indexOf("contrast")&&(p=p.replace(/contrast/g,this.renderer.getContrast(T.style.fill)));let B=p.split(" "),z=B[B.length-1],K=B[0];if(K&&"none"!==K&&re.svg){this.fakeTS=!0,K=K.replace(/(^[\d\.]+)(.*?)$/g,function(H,x,N){return 2*Number(x)+N}),this.removeTextOutline();let U=te.createElementNS(E,"tspan");P(U,{class:"highcharts-text-outline",fill:z,stroke:z,"stroke-width":K,"stroke-linejoin":"round"});let se=T.querySelector("textPath")||T;[].forEach.call(se.childNodes,H=>{let x=H.cloneNode(!0);x.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(N=>x.removeAttribute(N)),U.appendChild(x)});let S=0;[].forEach.call(se.querySelectorAll("text tspan"),H=>{S+=Number(H.getAttribute("dy"))});let $=te.createElementNS(E,"tspan");$.textContent="\u200b",P($,{x:Number(T.getAttribute("x")),dy:-S}),U.appendChild($),se.insertBefore(U,se.firstChild)}}attr(p,T,B,z){let se,S,H,K=this.element,U=C.symbolCustomAttribs,$=this;return"string"==typeof p&&void 0!==T&&(se=p,(p={})[se]=T),"string"==typeof p?$=(this[p+"Getter"]||this._defaultGetter).call(this,p,K):(v(p,function(x,N){H=!1,z||ue(this,N),this.symbolName&&-1!==U.indexOf(N)&&(S||(this.symbolAttr(p),S=!0),H=!0),this.rotation&&("x"===N||"y"===N)&&(this.doTransform=!0),H||(this[N+"Setter"]||this._defaultSetter).call(this,x,N,K)},this),this.afterSetters()),B&&B.call(this),$}clip(p){if(p&&!p.clipPath){let T=d()+"-",B=this.renderer.createElement("clipPath").attr({id:T}).add(this.renderer.defs);m(p,{clipPath:B,id:T,count:0}),p.add(B)}return this.attr("clip-path",p?`url(${this.renderer.url}#${p.id})`:"none")}crisp(p,T){let B=Math.round(T=T||p.strokeWidth||0)%2/2;return p.x=Math.floor(p.x||this.x||0)+B,p.y=Math.floor(p.y||this.y||0)+B,p.width=Math.floor((p.width||this.width||0)-2*B),p.height=Math.floor((p.height||this.height||0)-2*B),I(p.strokeWidth)&&(p.strokeWidth=T),p}complexColor(p,T,B){let K,U,se,S,$,H,x,N,R,Z,he,z=this.renderer,Y=[];w(this.renderer,"complexColor",{args:arguments},function(){if(p.radialGradient?U="radialGradient":p.linearGradient&&(U="linearGradient"),U){if(se=p[U],$=z.gradients,H=p.stops,R=B.radialReference,G(se)&&(p[U]=se={x1:se[0],y1:se[1],x2:se[2],y2:se[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===U&&R&&!I(se.gradientUnits)&&(S=se,se=g(se,z.getRadialAttr(R,S),{gradientUnits:"userSpaceOnUse"})),v(se,function(ge,_e){"id"!==_e&&Y.push(_e,ge)}),v(H,function(ge){Y.push(ge)}),$[Y=Y.join(",")])Z=$[Y].attr("id");else{se.id=Z=d();let ge=$[Y]=z.createElement(U).attr(se).add(z.defs);ge.radAttr=S,ge.stops=[],H.forEach(function(_e){0===_e[1].indexOf("rgba")?(x=(K=ne.parse(_e[1])).get("rgb"),N=K.get("a")):(x=_e[1],N=1);let Te=z.createElement("stop").attr({offset:_e[0],"stop-color":x,"stop-opacity":N}).add(ge);ge.stops.push(Te)})}he="url("+z.url+"#"+Z+")",B.setAttribute(T,he),B.gradient=Y,p.toString=function(){return he}}})}css(p){let K,T=this.styles,B={},z=this.element,U=!T;if(T&&v(p,function(se,S){T&&T[S]!==se&&(B[S]=se,U=!0)}),U){T&&(p=m(T,B)),null===p.width||"auto"===p.width?delete this.textWidth:"text"===z.nodeName.toLowerCase()&&p.width&&(K=this.textWidth=n(p.width)),m(this.styles,p),K&&!X&&this.renderer.forExport&&delete p.width;let se=g(p);z.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(S=>se&&delete se[S]),se.color&&(se.fill=se.color)),A(z,se)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),p.textOutline&&this.applyTextOutline(p.textOutline)),this}dashstyleSetter(p){let T,B=this["stroke-width"];if("inherit"===B&&(B=1),p=p&&p.toLowerCase()){let z=p.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(T=z.length;T--;)z[T]=""+n(z[T])*o(B,NaN);p=z.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",p)}}destroy(){let U,se,p=this,T=p.element||{},B=p.renderer,z=T.ownerSVGElement,K="SPAN"===T.nodeName&&p.parentGroup||void 0;if(T.onclick=T.onmouseout=T.onmouseover=T.onmousemove=T.point=null,ue(p),p.clipPath&&z){let S=p.clipPath;[].forEach.call(z.querySelectorAll("[clip-path],[CLIP-PATH]"),function($){$.getAttribute("clip-path").indexOf(S.element.id)>-1&&$.removeAttribute("clip-path")}),p.clipPath=S.destroy()}if(p.connector=p.connector?.destroy(),p.stops){for(se=0;seK&&K.join?(U?z+" ":"")+K.join(" "):(K||"").toString(),"")),/(NaN| {2}|^$)/.test(p)&&(p="M 0 0"),this[T]!==p&&(B.setAttribute(T,p),this[T]=p)}fillSetter(p,T,B){"string"==typeof p?B.setAttribute(T,p):p&&this.complexColor(p,T,B)}hrefSetter(p,T,B){B.setAttributeNS("http://www.w3.org/1999/xlink",T,p)}getBBox(p,T){let B,z,K,U,{alignValue:se,element:S,renderer:$,styles:H,textStr:x}=this,{cache:N,cacheKeys:R}=$,Z=S.namespaceURI===this.SVG_NS,Y=o(T,this.rotation,0),he=$.styledMode?S&&C.prototype.getStyle.call(S,"font-size"):H.fontSize;if(I(x)&&(-1===(U=x.toString()).indexOf("<")&&(U=U.replace(/[0-9]/g,"0")),U+=["",$.rootFontSize,he,Y,this.textWidth,se,H.textOverflow,H.fontWeight].join(",")),U&&!p&&(B=N[U]),!B){if(Z||$.forExport){try{K=this.fakeTS&&function(ge){let _e=S.querySelector(".highcharts-text-outline");_e&&A(_e,{display:ge})},O(K)&&K("none"),B=S.getBBox?m({},S.getBBox()):{width:S.offsetWidth,height:S.offsetHeight,x:0,y:0},O(K)&&K("")}catch{}(!B||B.width<0)&&(B={x:0,y:0,width:0,height:0})}else B=this.htmlGetBBox();z=B.height,Z&&(B.height=z={"11px,17":14,"13px,20":16}[`${he||""},${Math.round(z)}`]||z),Y&&(B=this.getRotatedBox(B,Y))}if(U&&(""===x||B.height>0)){for(;R.length>250;)delete N[R.shift()];N[U]||R.push(U),N[U]=B}return B}getRotatedBox(p,T){let{x:B,y:z,width:K,height:U}=p,{alignValue:se,translateY:S,rotationOriginX:$=0,rotationOriginY:H=0}=this,x={right:1,center:.5}[se||0]||0,N=Number(this.element.getAttribute("y")||0)-(S?0:z),R=T*J,Z=(T-90)*J,Y=Math.cos(R),he=Math.sin(R),ge=K*Y,_e=K*he,Te=Math.cos(Z),Oe=Math.sin(Z),[[De,Be],[oe,ee]]=[$,H].map(pt=>[pt-pt*Y,pt*he]),be=B+x*(K-ge)+De+ee+N*Te,xe=be+ge,Ie=xe-U*Te,we=Ie-ge,Ee=z+N-x*_e-Be+oe+N*Oe,Me=Ee+_e,Xe=Me-U*Oe,Je=Xe-_e,lt=Math.min(be,xe,Ie,we),qe=Math.min(Ee,Me,Xe,Je);return{x:lt,y:qe,width:Math.max(be,xe,Ie,we)-lt,height:Math.max(Ee,Me,Xe,Je)-qe}}getStyle(p){return j.getComputedStyle(this.element||this,"").getPropertyValue(p)}hasClass(p){return-1!==(""+this.attr("class")).split(" ").indexOf(p)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(p,T){this.onEvents={},this.opacity=1,this.SVG_NS=E,this.element="span"===T||"body"===T?D(T):te.createElementNS(this.SVG_NS,T),this.renderer=p,this.styles={},w(this,"afterInit")}on(p,T){let{onEvents:B}=this;return B[p]&&B[p](),B[p]=F(this.element,p,T),this}opacitySetter(p,T,B){let z=Number(Number(p).toFixed(3));this.opacity=z,B.setAttribute(T,z)}removeClass(p){return this.attr("class",(""+this.attr("class")).replace(a(p)?RegExp(`(^| )${p}( |$)`):p," ").replace(/ +/g," ").trim())}removeTextOutline(){let p=this.element.querySelector("tspan.highcharts-text-outline");p&&this.safeRemoveChild(p)}safeRemoveChild(p){let T=p.parentNode;T&&T.removeChild(p)}setRadialReference(p){let T=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=p,T&&T.radAttr&&T.animate(this.renderer.getRadialAttr(p,T.radAttr)),this}setTextPath(p,T){T=g(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},T);let B=this.renderer.url,z=this.text||this,K=z.textPath,{attributes:U,enabled:se}=T;if(p=p||K&&K.path,K&&K.undo(),p&&se){let S=F(z,"afterModifyTree",$=>{if(p&&se){let H=p.attr("id");H||p.attr("id",H=d());let x={x:0,y:0};I(U.dx)&&(x.dx=U.dx,delete U.dx),I(U.dy)&&(x.dy=U.dy,delete U.dy),z.attr(x),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let N=$.nodes.slice(0);$.nodes.length=0,$.nodes[0]={tagName:"textPath",attributes:m(U,{"text-anchor":U.textAnchor,href:`${B}#${H}`}),children:N}}});z.textPath={path:p,undo:S}}else z.attr({dx:0,dy:0}),delete z.textPath;return this.added&&(z.textCache="",this.renderer.buildText(z)),this}shadow(p){let{renderer:T}=this,B=g(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},f(p)?p:{}),z=T.shadowDefinition(B);return this.attr({filter:p?`url(${T.url}#${z})`:"none"})}show(p=!0){return this.attr({visibility:p?"inherit":"visible"})}"stroke-widthSetter"(p,T,B){this[T]=p,B.setAttribute(T,p)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let B,p=this.getStyle("stroke-width"),T=0;return/px$/.test(p)?T=n(p):""!==p&&(P(B=te.createElementNS(E,"rect"),{width:p,"stroke-width":0}),this.element.parentNode.appendChild(B),T=B.getBBox().width,B.parentNode.removeChild(B)),T}symbolAttr(p){let T=this;C.symbolCustomAttribs.forEach(function(B){T[B]=o(p[B],T[B])}),T.attr({d:T.renderer.symbols[T.symbolName](T.x,T.y,T.width,T.height,T)})}textSetter(p){p!==this.textStr&&(delete this.textPxLength,this.textStr=p,this.added&&this.renderer.buildText(this))}titleSetter(p){let T=this.element,B=T.getElementsByTagName("title")[0]||te.createElementNS(this.SVG_NS,"title");T.insertBefore?T.insertBefore(B,T.firstChild):T.appendChild(B),B.textContent=r(o(p,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let p=this.element;return p.parentNode.appendChild(p),this}translate(p,T){return this.attr({translateX:p,translateY:T})}updateTransform(p="transform"){let{element:T,matrix:B,rotation:z=0,rotationOriginX:K,rotationOriginY:U,scaleX:se,scaleY:S,translateX:$=0,translateY:H=0}=this,x=["translate("+$+","+H+")"];I(B)&&x.push("matrix("+B.join(",")+")"),z&&(x.push("rotate("+z+" "+o(K,T.getAttribute("x"),0)+" "+o(U,T.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:z,rotationOriginX:(K||0)-this.padding,rotationOriginY:(U||0)-this.padding})),(I(se)||I(S))&&x.push("scale("+o(se,1)+" "+o(S,1)+")"),x.length&&!(this.text||this).textPath&&T.setAttribute(p,x.join(" "))}visibilitySetter(p,T,B){"inherit"===p?B.removeAttribute(T):this[T]!==p&&B.setAttribute(T,p),this[T]=p}xGetter(p){return"circle"===this.element.nodeName&&("x"===p?p="cx":"y"===p&&(p="cy")),this._defaultGetter(p)}zIndexSetter(p,T){let S,$,H,N,Z,B=this.renderer,z=this.parentGroup,K=(z||B).element||B.box,U=this.element,se=K===B.box,x=!1,R=this.added;if(I(p)?(U.setAttribute("data-z-index",p),this[T]===(p=+p)&&(R=!1)):I(this[T])&&U.removeAttribute("data-z-index"),this[T]=p,R){for((p=this.zIndex)&&z&&(z.handleZ=!0),Z=(S=K.childNodes).length-1;Z>=0&&!x;Z--)N=!I(H=($=S[Z]).getAttribute("data-z-index")),$!==U&&(p<0&&N&&!se&&!Z?(K.insertBefore(U,S[Z]),x=!0):(n(H)<=p||N&&(!I(p)||p>=0))&&(K.insertBefore(U,S[Z+1]),x=!0));x||(K.insertBefore(U,S[se?3:0]),x=!0)}return x}}return C.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],C.prototype.strokeSetter=C.prototype.fillSetter,C.prototype.yGetter=C.prototype.xGetter,C.prototype.matrixSetter=C.prototype.rotationOriginXSetter=C.prototype.rotationOriginYSetter=C.prototype.rotationSetter=C.prototype.scaleXSetter=C.prototype.scaleYSetter=C.prototype.translateXSetter=C.prototype.translateYSetter=C.prototype.verticalAlignSetter=function(k,p){this[p]=k,this.doTransform=!0},C}),Le(V,"Core/Renderer/SVG/SVGLabel.js",[V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne){let{defined:re,extend:ve,isNumber:le,merge:pe,pick:ue,removeEvent:J}=ne;class te extends q{constructor(E,j,F,P,D,A,I,_,m,w){let G;super(E,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.textStr=j,this.x=F,this.y=P,this.anchorX=A,this.anchorY=I,this.baseline=m,this.className=w,this.addClass("button"===w?"highcharts-no-tooltip":"highcharts-label"),w&&this.addClass("highcharts-"+w),this.text=E.text(void 0,0,0,_).attr({zIndex:1}),"string"==typeof D&&((G=/^url\((.*?)\)$/.test(D))||this.renderer.symbols[D])&&(this.symbolKey=D),this.bBox=te.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=E.styledMode||G,this.deferredAttr={},this.alignFactor=0}alignSetter(E){let j={left:0,center:.5,right:1}[E];j!==this.alignFactor&&(this.alignFactor=j,this.bBox&&le(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(E,j){this.anchorX=E,this.boxAttr(j,Math.round(E)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(E,j){this.anchorY=E,this.boxAttr(j,E-this.ySetting)}boxAttr(E,j){this.box?this.box.attr(E,j):this.deferredAttr[E]=j}css(E){if(E){let j={};E=pe(E),te.textProps.forEach(F=>{void 0!==E[F]&&(j[F]=E[F],delete E[F])}),this.text.css(j),"fontSize"in j||"fontWeight"in j?this.updateTextPadding():("width"in j||"textOverflow"in j)&&this.updateBoxSize()}return q.prototype.css.call(this,E)}destroy(){J(this.element,"mouseenter"),J(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),q.prototype.destroy.call(this)}fillSetter(E,j){E&&(this.needsBox=!0),this.fill=E,this.boxAttr(j,E)}getBBox(E,j){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:F,height:P=0,translateX:D=0,translateY:A=0,width:I=0}=this,_=ue(this.paddingLeft,F),m=j??(this.rotation||0),w={width:I,height:P,x:D+this.bBox.x-_,y:A+this.bBox.y-F+this.baselineOffset};return m&&(w=this.getRotatedBox(w,m)),w}getCrispAdjust(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(E){this.heightSetting=E}onAdd(){this.text.add(this),this.attr({text:ue(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&re(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(E,j){le(E)?E!==this[j]&&(this[j]=E,this.updateTextPadding()):this[j]=void 0}rSetter(E,j){this.boxAttr(j,E)}strokeSetter(E,j){this.stroke=E,this.boxAttr(j,E)}"stroke-widthSetter"(E,j){E&&(this.needsBox=!0),this["stroke-width"]=E,this.boxAttr(j,E)}"text-alignSetter"(E){this.textAlign=E}textSetter(E){void 0!==E&&this.text.attr({text:E}),this.updateTextPadding()}updateBoxSize(){let E,j=this.text,F={},P=this.padding,D=this.bBox=le(this.widthSetting)&&le(this.heightSetting)&&!this.textAlign||!re(j.textStr)?te.emptyBBox:j.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||D.height||0)+2*P;let A=this.renderer.fontMetrics(j);if(this.baselineOffset=P+Math.min((this.text.firstLineMetrics||A).b,D.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-A.h)/2),this.needsBox&&!j.textPath){if(!this.box){let I=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();I.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),I.add(this)}E=this.getCrispAdjust(),F.x=E,F.y=(this.baseline?-this.baselineOffset:0)+E,F.width=Math.round(this.width),F.height=Math.round(this.height),this.box.attr(ve(F,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let E=this.text;if(!E.textPath){this.updateBoxSize();let j=this.baseline?0:this.baselineOffset,F=ue(this.paddingLeft,this.padding);re(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(F+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(F!==E.x||j!==E.y)&&(E.attr("x",F),E.hasBoxWidthChanged&&(this.bBox=E.getBBox(!0)),void 0!==j&&E.attr("y",j)),E.x=F,E.y=j}}widthSetter(E){this.widthSetting=le(E)?E:void 0}getPaddedWidth(){let E=this.padding,j=ue(this.paddingLeft,E),F=ue(this.paddingRight,E);return(this.widthSetting||this.bBox.width||0)+j+F}xSetter(E){this.x=E,this.alignFactor&&(E-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(E),this.attr("translateX",this.xSetting)}ySetter(E){this.ySetting=this.y=Math.round(E),this.attr("translateY",this.ySetting)}}return te.emptyBBox={width:0,height:0,x:0,y:0},te.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],te}),Le(V,"Core/Renderer/SVG/Symbols.js",[V["Core/Utilities.js"]],function(q){let{defined:ne,isNumber:re,pick:ve}=q;function le(J,te,X,E,j){let F=[];if(j){let P=j.start||0,D=ve(j.r,X),A=ve(j.r,E||X),I=.001>Math.abs((j.end||0)-P-2*Math.PI),_=(j.end||0)-.001,m=j.innerR,w=ve(j.open,I),G=Math.cos(P),O=Math.sin(P),f=Math.cos(_),a=Math.sin(_),g=ve(j.longArc,_-P-Math.PI<.001?0:1),v=["A",D,A,0,g,ve(j.clockwise,1),J+D*f,te+A*a];v.params={start:P,end:_,cx:J,cy:te},F.push(["M",J+D*G,te+A*O],v),ne(m)&&((v=["A",m,m,0,g,ne(j.clockwise)?1-j.clockwise:0,J+m*G,te+m*O]).params={start:_,end:P,cx:J,cy:te},F.push(w?["M",J+m*f,te+m*a]:["L",J+m*f,te+m*a],v)),w||F.push(["Z"])}return F}function pe(J,te,X,E,j){return j&&j.r?ue(J,te,X,E,j):[["M",J,te],["L",J+X,te],["L",J+X,te+E],["L",J,te+E],["Z"]]}function ue(J,te,X,E,j){let F=j?.r||0;return[["M",J+F,te],["L",J+X-F,te],["A",F,F,0,0,1,J+X,te+F],["L",J+X,te+E-F],["A",F,F,0,0,1,J+X-F,te+E],["L",J+F,te+E],["A",F,F,0,0,1,J,te+E-F],["L",J,te+F],["A",F,F,0,0,1,J+F,te],["Z"]]}return{arc:le,callout:function(J,te,X,E,j){let F=Math.min(j&&j.r||0,X,E),P=F+6,D=j&&j.anchorX,A=j&&j.anchorY||0,I=ue(J,te,X,E,{r:F});if(!re(D)||D0&&A0)return I;if(J+D>X-P)if(A>te+P&&Ate+P&&A0){let _=AE&&DP&&I.splice(1,1,["L",D-6,te],["L",D,te-6],["L",D+6,te],["L",X-F,te]);return I},circle:function(J,te,X,E){return le(J+X/2,te+E/2,X/2,E/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(J,te,X,E){return[["M",J+X/2,te],["L",J+X,te+E/2],["L",J+X/2,te+E],["L",J,te+E/2],["Z"]]},rect:pe,roundedRect:ue,square:pe,triangle:function(J,te,X,E){return[["M",J+X/2,te],["L",J+X,te+E],["L",J,te+E],["Z"]]},"triangle-down":function(J,te,X,E){return[["M",J,te],["L",J+X,te],["L",J+X/2,te+E],["Z"]]}}}),Le(V,"Core/Renderer/SVG/TextBuilder.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{doc:ve,SVG_NS:le,win:pe}=ne,{attr:ue,extend:J,fireEvent:te,isString:X,objectEach:E,pick:j}=re;return class{constructor(F){let P=F.styles;this.renderer=F.renderer,this.svgElement=F,this.width=F.textWidth,this.textLineHeight=P&&P.lineHeight,this.textOutline=P&&P.textOutline,this.ellipsis=!(!P||"ellipsis"!==P.textOverflow),this.noWrap=!(!P||"nowrap"!==P.whiteSpace)}buildSVG(){let F=this.svgElement,P=F.element,D=F.renderer,A=j(F.textStr,"").toString(),I=-1!==A.indexOf("<"),_=P.childNodes,m=!F.added&&D.box,w=[A,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,F.getStyle("font-size"),this.width].join(",");if(w!==F.textCache){F.textCache=w,delete F.actualWidth;for(let G=_.length;G--;)P.removeChild(_[G]);if(I||this.ellipsis||this.width||F.textPath||-1!==A.indexOf(" ")&&(!this.noWrap||//g.test(A))){if(""!==A){m&&m.appendChild(P);let G=new q(A);this.modifyTree(G.nodes),G.addToDOM(P),this.modifyDOM(),this.ellipsis&&-1!==(P.textContent||"").indexOf("\u2026")&&F.attr("title",this.unescapeEntities(F.textStr||"",["<",">"])),m&&m.removeChild(P)}}else P.appendChild(ve.createTextNode(this.unescapeEntities(A)));X(this.textOutline)&&F.applyTextOutline&&F.applyTextOutline(this.textOutline)}}modifyDOM(){let F,P=this.svgElement,D=ue(P.element,"x");for(P.firstLineMetrics=void 0;(F=P.element.firstChild)&&/^[\s\u200B]*$/.test(F.textContent||" ");)P.element.removeChild(F);[].forEach.call(P.element.querySelectorAll("tspan.highcharts-br"),(m,w)=>{m.nextSibling&&m.previousSibling&&(0===w&&1===m.previousSibling.nodeType&&(P.firstLineMetrics=P.renderer.fontMetrics(m.previousSibling)),ue(m,{dy:this.getLineHeight(m.nextSibling),x:D}))});let A=this.width||0;if(!A)return;let I=(m,w)=>{let G=m.textContent||"",O=G.replace(/([^\^])-/g,"$1- ").split(" "),f=!this.noWrap&&(O.length>1||P.element.childNodes.length>1),a=this.getLineHeight(w),g=0,v=P.actualWidth;if(this.ellipsis)G&&this.truncate(m,G,void 0,0,Math.max(0,A-.8*a),(o,n)=>o.substring(0,n)+"\u2026");else if(f){let o=[],n=[];for(;w.firstChild&&w.firstChild!==m;)n.push(w.firstChild),w.removeChild(w.firstChild);for(;O.length;)O.length&&!this.noWrap&&g>0&&(o.push(m.textContent||""),m.textContent=O.join(" ").replace(/- /g,"-")),this.truncate(m,void 0,O,0===g&&v||0,A,(r,l)=>O.slice(0,l).join(" ").replace(/- /g,"-")),v=P.actualWidth,g++;n.forEach(r=>{w.insertBefore(r,m)}),o.forEach(r=>{w.insertBefore(ve.createTextNode(r),m);let l=ve.createElementNS(le,"tspan");l.textContent="\u200b",ue(l,{dy:a,x:D}),w.insertBefore(l,m)})}},_=m=>{[].slice.call(m.childNodes).forEach(w=>{w.nodeType===pe.Node.TEXT_NODE?I(w,m):(-1!==w.className.baseVal.indexOf("highcharts-br")&&(P.actualWidth=0),_(w))})};_(P.element)}getLineHeight(F){let P=F.nodeType===pe.Node.TEXT_NODE?F.parentElement:F;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(P||this.svgElement.element).h}modifyTree(F){let P=(D,A)=>{let{attributes:I={},children:_,style:m={},tagName:w}=D,G=this.renderer.styledMode;if("b"===w||"strong"===w?G?I.class="highcharts-strong":m.fontWeight="bold":("i"===w||"em"===w)&&(G?I.class="highcharts-emphasized":m.fontStyle="italic"),m&&m.color&&(m.fill=m.color),"br"===w){I.class="highcharts-br",D.textContent="\u200b";let O=F[A+1];O&&O.textContent&&(O.textContent=O.textContent.replace(/^ +/gm,""))}else"a"===w&&_&&_.some(O=>"#text"===O.tagName)&&(D.children=[{children:_,tagName:"tspan"}]);"#text"!==w&&"a"!==w&&(D.tagName="tspan"),J(D,{attributes:I,style:m}),_&&_.filter(O=>"#text"!==O.tagName).forEach(P)};F.forEach(P),te(this.svgElement,"afterModifyTree",{nodes:F})}truncate(F,P,D,A,I,_){let m,w,G=this.svgElement,{rotation:O}=G,f=[],a=D?1:0,g=(P||D||"").length,v=g,o=function(n,r){let l=r||n,d=F.parentNode;if(d&&void 0===f[l]&&d.getSubStringLength)try{f[l]=A+d.getSubStringLength(0,D?l+1:l)}catch{}return f[l]};if(G.rotation=0,A+(w=o(F.textContent.length))>I){for(;a<=g;)v=Math.ceil((a+g)/2),D&&(m=_(D,v)),w=o(v,m&&m.length-1),a===g?a=g+1:w>I?g=v-1:a=v;0===g?F.textContent="":P&&g===P.length-1||(F.textContent=m||_(P||D,v))}D&&D.splice(0,v),G.actualWidth=w,G.rotation=O}unescapeEntities(F,P){return E(this.renderer.escapes,function(D,A){P&&-1!==P.indexOf(D)||(F=F.toString().replace(RegExp(D,"g"),A))}),F}}}),Le(V,"Core/Renderer/SVG/SVGRenderer.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGLabel.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Renderer/SVG/TextBuilder.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te){let X,{charts:E,deg2rad:j,doc:F,isFirefox:P,isMS:D,isWebKit:A,noop:I,SVG_NS:_,symbolSizes:m,win:w}=re,{addEvent:G,attr:O,createElement:f,css:a,defined:g,destroyObjectProperties:v,extend:o,isArray:n,isNumber:r,isObject:l,isString:d,merge:C,pick:k,pInt:p,replaceNested:T,uniqueKey:B}=te;class z{constructor(U,se,S,$,H,x,N){let R,Z,Y=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),he=Y.element;N||Y.css(this.getStyle($||{})),U.appendChild(he),O(U,"dir","ltr"),-1===U.innerHTML.indexOf("xmlns")&&O(he,"xmlns",this.SVG_NS),this.box=he,this.boxWrapper=Y,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(F.createTextNode("Created with Highcharts 11.4.0")),this.defs=this.createElement("defs").add(),this.allowHTML=x,this.forExport=H,this.styledMode=N,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=Y.getStyle("font-size"),this.setSize(se,S,!1),P&&U.getBoundingClientRect&&((R=function(){a(U,{left:0,top:0}),Z=U.getBoundingClientRect(),a(U,{left:Math.ceil(Z.left)-Z.left+"px",top:Math.ceil(Z.top)-Z.top+"px"})})(),this.unSubPixelFix=G(w,"resize",R))}definition(U){return new q([U]).addToDOM(this.defs.element)}getReferenceURL(){if((P||A)&&F.getElementsByTagName("base").length){if(!g(X)){let U=B(),se=new q([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:U},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${U})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(F.body);a(se,{position:"fixed",top:0,left:0,zIndex:9e5});let S=F.elementFromPoint(6,6);X="hitme"===(S&&S.id),F.body.removeChild(se)}if(X)return T(w.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(U){return this.style=o({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},U),this.style}setStyle(U){this.boxWrapper.css(this.getStyle(U))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let U=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),v(this.gradients||{}),this.gradients=null,this.defs=U.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(U){return new this.Element(this,U)}getRadialAttr(U,se){return{cx:U[0]-U[2]/2+(se.cx||0)*U[2],cy:U[1]-U[2]/2+(se.cy||0)*U[2],r:(se.r||0)*U[2]}}shadowDefinition(U){let se=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(U).map($=>`${$}-${U[$]}`)].join("-").toLowerCase().replace(/[^a-z0-9\-]/g,""),S=C({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},U);return this.defs.element.querySelector(`#${se}`)||this.definition({tagName:"filter",attributes:{id:se,filterUnits:S.filterUnits},children:[{tagName:"feDropShadow",attributes:{dx:S.offsetX,dy:S.offsetY,"flood-color":S.color,"flood-opacity":Math.min(5*S.opacity,1),stdDeviation:S.width/2}}]}),se}buildText(U){new J(U).buildSVG()}getContrast(U){let se=ne.parse(U).rgba.map($=>{let H=$/255;return H<=.03928?H/12.92:Math.pow((H+.055)/1.055,2.4)}),S=.2126*se[0]+.7152*se[1]+.0722*se[2];return 1.05/(S+.05)>(S+.05)/.05?"#FFFFFF":"#000000"}button(U,se,S,$,H={},x,N,R,Z,Y){let he,ge,_e,Te=this.label(U,se,S,Z,void 0,void 0,Y,void 0,"button"),Oe=this.styledMode,De=H.states||{},Be=0;delete(H=C(H)).states;let oe=C({color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},H.style);delete H.style;let ee=q.filterUserAttributes(H);return Te.attr(C({padding:8,r:2},ee)),Oe||(ee=C({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},ee),he=(x=C(ee,{fill:"#e6e6e6"},q.filterUserAttributes(x||De.hover||{}))).style,delete x.style,ge=(N=C(ee,{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},q.filterUserAttributes(N||De.select||{}))).style,delete N.style,_e=(R=C(ee,{style:{color:"#cccccc"}},q.filterUserAttributes(R||De.disabled||{}))).style,delete R.style),G(Te.element,D?"mouseover":"mouseenter",function(){3!==Be&&Te.setState(1)}),G(Te.element,D?"mouseout":"mouseleave",function(){3!==Be&&Te.setState(Be)}),Te.setState=function(be){if(1!==be&&(Te.state=Be=be),Te.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][be||0]),!Oe){Te.attr([ee,x,N,R][be||0]);let xe=[oe,he,ge,_e][be||0];l(xe)&&Te.css(xe)}},!Oe&&(Te.attr(ee).css(o({cursor:"default"},oe)),Y&&Te.text.css({pointerEvents:"none"})),Te.on("touchstart",be=>be.stopPropagation()).on("click",function(be){3!==Be&&$.call(Te,be)})}crispLine(U,se,S="round"){let $=U[0],H=U[1];return g($[1])&&$[1]===H[1]&&($[1]=H[1]=Math[S]($[1])-se%2/2),g($[2])&&$[2]===H[2]&&($[2]=H[2]=Math[S]($[2])+se%2/2),U}path(U){let se=this.styledMode?{}:{fill:"none"};return n(U)?se.d=U:l(U)&&o(se,U),this.createElement("path").attr(se)}circle(U,se,S){let $=l(U)?U:void 0===U?{}:{x:U,y:se,r:S},H=this.createElement("circle");return H.xSetter=H.ySetter=function(x,N,R){R.setAttribute("c"+N,x)},H.attr($)}arc(U,se,S,$,H,x){let N;l(U)?(se=(N=U).y,S=N.r,$=N.innerR,H=N.start,x=N.end,U=N.x):N={innerR:$,start:H,end:x};let R=this.symbol("arc",U,se,S,S,N);return R.r=S,R}rect(U,se,S,$,H,x){let N=l(U)?U:void 0===U?{}:{x:U,y:se,r:H,width:Math.max(S||0,0),height:Math.max($||0,0)},R=this.createElement("rect");return this.styledMode||(void 0!==x&&(N["stroke-width"]=x,o(N,R.crisp(N))),N.fill="none"),R.rSetter=function(Z,Y,he){R.r=Z,O(he,{rx:Z,ry:Z})},R.rGetter=function(){return R.r||0},R.attr(N)}roundedRect(U){return this.symbol("roundedRect").attr(U)}setSize(U,se,S){this.width=U,this.height=se,this.boxWrapper.animate({width:U,height:se},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:k(S,!0)?void 0:0}),this.alignElements()}g(U){let se=this.createElement("g");return U?se.attr({class:"highcharts-"+U}):se}image(U,se,S,$,H,x){let N={preserveAspectRatio:"none"};r(se)&&(N.x=se),r(S)&&(N.y=S),r($)&&(N.width=$),r(H)&&(N.height=H);let R=this.createElement("image").attr(N),Z=function(Y){R.attr({href:U}),x.call(R,Y)};if(x){R.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let Y=new w.Image;G(Y,"load",Z),Y.src=U,Y.complete&&Z({})}else R.attr({href:U});return R}symbol(U,se,S,$,H,x){let N,R,Z,Y,he=this,ge=/^url\((.*?)\)$/,_e=ge.test(U),Te=!_e&&(this.symbols[U]?U:"circle"),Oe=Te&&this.symbols[Te];if(Oe)"number"==typeof se&&(R=Oe.call(this.symbols,Math.round(se||0),Math.round(S||0),$||0,H||0,x)),N=this.path(R),he.styledMode||N.attr("fill","none"),o(N,{symbolName:Te||void 0,x:se,y:S,width:$,height:H}),x&&o(N,x);else if(_e){Z=U.match(ge)[1];let De=N=this.image(Z);De.imgwidth=k(x&&x.width,m[Z]&&m[Z].width),De.imgheight=k(x&&x.height,m[Z]&&m[Z].height),Y=Be=>Be.attr({width:Be.width,height:Be.height}),["width","height"].forEach(Be=>{De[`${Be}Setter`]=function(oe,ee){this[ee]=oe;let{alignByTranslate:be,element:xe,width:Ie,height:we,imgwidth:Ee,imgheight:Me}=this,Xe="width"===ee?Ee:Me,Je=1;x&&"within"===x.backgroundSize&&Ie&&we&&Ee&&Me?(Je=Math.min(Ie/Ee,we/Me),O(xe,{width:Math.round(Ee*Je),height:Math.round(Me*Je)})):xe&&Xe&&xe.setAttribute(ee,Xe),!be&&Ee&&Me&&this.translate(((Ie||0)-Ee*Je)/2,((we||0)-Me*Je)/2)}}),g(se)&&De.attr({x:se,y:S}),De.isImg=!0,g(De.imgwidth)&&g(De.imgheight)?Y(De):(De.attr({width:0,height:0}),f("img",{onload:function(){let Be=E[he.chartIndex];0===this.width&&(a(this,{position:"absolute",top:"-999em"}),F.body.appendChild(this)),m[Z]={width:this.width,height:this.height},De.imgwidth=this.width,De.imgheight=this.height,De.element&&Y(De),this.parentNode&&this.parentNode.removeChild(this),he.imgCount--,he.imgCount||!Be||Be.hasLoaded||Be.onload()},src:Z}),this.imgCount++)}return N}clipRect(U,se,S,$){return this.rect(U,se,S,$,0)}text(U,se,S,$){let H={};if($&&(this.allowHTML||!this.forExport))return this.html(U,se,S);H.x=Math.round(se||0),S&&(H.y=Math.round(S)),g(U)&&(H.text=U);let x=this.createElement("text").attr(H);return $&&(!this.forExport||this.allowHTML)||(x.xSetter=function(N,R,Z){let Y=Z.getElementsByTagName("tspan"),he=Z.getAttribute(R);for(let _e,ge=0;geU.align())}}return o(z.prototype,{Element:le,SVG_NS:_,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:ue,draw:I}),ve.registerRendererType("svg",z,!0),z}),Le(V,"Core/Renderer/HTML/HTMLElement.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{composed:le}=ne,{attr:pe,css:ue,createElement:J,defined:te,extend:X,pInt:E,pushUnique:j}=ve;function F(I,_,m){let w=this.div?.style||m.style;re.prototype[`${_}Setter`].call(this,I,_,m),w&&(w[_]=I)}let P=(I,_)=>{if(!I.div){let m=pe(I.element,"class"),w=I.css,G=J("div",m?{className:m}:void 0,{position:"absolute",left:`${I.translateX||0}px`,top:`${I.translateY||0}px`,...I.styles,display:I.display,opacity:I.opacity,visibility:I.visibility},I.parentGroup?.div||_);I.classSetter=(O,f,a)=>{a.setAttribute("class",O),G.className=O},I.translateXSetter=I.translateYSetter=(O,f)=>{I[f]=O,G.style["translateX"===f?"left":"top"]=`${O}px`,I.doTransform=!0},I.opacitySetter=I.visibilitySetter=F,I.css=O=>(w.call(I,O),O.cursor&&(G.style.cursor=O.cursor),O.pointerEvents&&(G.style.pointerEvents=O.pointerEvents),I),I.on=function(){return re.prototype.on.apply({element:G,onEvents:I.onEvents},arguments),I},I.div=G}return I.div};class D extends re{static compose(_){j(le,this.compose)&&(_.prototype.html=function(m,w,G){return new D(this,"span").attr({text:m,x:Math.round(w),y:Math.round(G)})})}constructor(_,m){super(_,m),this.css({position:"absolute",..._.styledMode?{}:{fontFamily:_.style.fontFamily,fontSize:_.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(_,m,w){this.xCorr=-_*w,this.yCorr=-m}css(_){let m,{element:w}=this,G="SPAN"===w.tagName&&_&&"width"in _,O=G&&_.width;return G&&(delete _.width,this.textWidth=E(O)||void 0,m=!0),"ellipsis"===_?.textOverflow&&(_.whiteSpace="nowrap",_.overflow="hidden"),X(this.styles,_),ue(w,_),m&&this.updateTransform(),this}htmlGetBBox(){let{element:_}=this;return{x:_.offsetLeft,y:_.offsetTop,width:_.offsetWidth,height:_.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:_,renderer:m,rotation:w,rotationOriginX:G,rotationOriginY:O,styles:f,textAlign:a="left",textWidth:g,translateX:v=0,translateY:o=0,x:n=0,y:r=0}=this,l=f.whiteSpace;if(ue(_,{marginLeft:`${v}px`,marginTop:`${o}px`}),"SPAN"===_.tagName){let k,d=[w,a,_.innerHTML,g,this.textAlign].join(","),C=-1*this.parentGroup?.padding||0,p=!1;if(g!==this.oldTextWidth){let U=this.textPxLength?this.textPxLength:(ue(_,{width:"",whiteSpace:l||"nowrap"}),_.offsetWidth),se=g||0;(se>this.oldTextWidth||U>se)&&(/[ \-]/.test(_.textContent||_.innerText)||"ellipsis"===_.style.textOverflow)&&(ue(_,{width:U>se||w?g+"px":"auto",display:"block",whiteSpace:l||"normal"}),this.oldTextWidth=g,p=!0)}this.hasBoxWidthChanged=p,d!==this.cTT&&(k=m.fontMetrics(_).b,te(w)&&(w!==(this.oldRotation||0)||a!==this.oldAlign)&&this.setSpanRotation(w,C,C),this.getSpanCorrection(!te(w)&&this.textPxLength||_.offsetWidth,k,{left:0,center:.5,right:1}[a]));let{xCorr:T=0,yCorr:B=0}=this;ue(_,{left:`${n+T}px`,top:`${r+B}px`,transformOrigin:`${(G??n)-T-n-C}px ${(O??r)-B-r-C}px`}),this.cTT=d,this.oldRotation=w,this.oldAlign=a}}setSpanRotation(_,m,w){ue(this.element,{transform:`rotate(${_}deg)`,transformOrigin:`${m}% ${w}px`})}add(_){let m,w=this.renderer.box.parentNode,G=[];if(this.parentGroup=_,_&&!(m=_.div)){let O=_;for(;O;)G.push(O),O=O.parentGroup;for(let f of G.reverse())m=P(f,w)}return(m||w).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(_){_!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,q.setElementHTML(this.element,_??""),this.textStr=_,this.doTransform=!0)}alignSetter(_){this.alignValue=this.textAlign=_,this.doTransform=!0}xSetter(_,m){this[m]=_,this.doTransform=!0}}let A=D.prototype;return A.visibilitySetter=A.opacitySetter=F,A.ySetter=A.rotationSetter=A.rotationOriginXSetter=A.rotationOriginYSetter=A.xSetter,D}),Le(V,"Core/Axis/AxisDefaults.js",[],function(){var q,ne;return(ne=q||(q={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},ne.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:re}=this.axis.chart;return re(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},q}),Le(V,"Core/Foundation.js",[V["Core/Utilities.js"]],function(q){var ne;let{addEvent:re,isFunction:ve,objectEach:le,removeEvent:pe}=q;return(ne||(ne={})).registerEventOptions=function(ue,J){ue.eventOptions=ue.eventOptions||{},le(J.events,function(te,X){ue.eventOptions[X]!==te&&(ue.eventOptions[X]&&(pe(ue,X,ue.eventOptions[X]),delete ue.eventOptions[X]),ve(te)&&(ue.eventOptions[X]=te,re(ue,X,te,{order:0})))})},ne}),Le(V,"Core/Axis/Tick.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{deg2rad:ve}=ne,{clamp:le,correctFloat:pe,defined:ue,destroyObjectProperties:J,extend:te,fireEvent:X,isNumber:E,merge:j,objectEach:F,pick:P}=re;return class{constructor(D,A,I,_,m){this.isNew=!0,this.isNewLabel=!0,this.axis=D,this.pos=A,this.type=I||"",this.parameters=m||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,X(this,"init"),I||_||this.addLabel()}addLabel(){let l,d,C,D=this,A=D.axis,I=A.options,_=A.chart,m=A.categories,w=A.logarithmic,G=A.names,O=D.pos,f=P(D.options&&D.options.labels,I.labels),a=A.tickPositions,g=O===a[0],v=O===a[a.length-1],o=(!f.step||1===f.step)&&1===A.tickInterval,n=a.info,r=D.label,k=this.parameters.category||(m?P(m[O],G[O],O):O);w&&E(k)&&(k=pe(w.lin2log(k))),A.dateTime&&(n?l=(d=_.time.resolveDTLFormat(I.dateTimeLabelFormats[!I.grid&&n.higherRanks[O]||n.unitName])).main:E(k)&&(l=A.dateTime.getXDateFormat(k,I.dateTimeLabelFormats||{}))),D.isFirst=g,D.isLast=v;let p={axis:A,chart:_,dateTimeLabelFormat:l,isFirst:g,isLast:v,pos:O,tick:D,tickPositionInfo:n,value:k};X(this,"labelFormat",p);let T=K=>f.formatter?f.formatter.call(K,K):f.format?(K.text=A.defaultLabelFormatter.call(K),q.format(f.format,K,_)):A.defaultLabelFormatter.call(K),B=T.call(p,p),z=d&&d.list;D.shortenLabel=z?function(){for(C=0;C0&&_+g*v>O&&(k=Math.round((m-_)/Math.cos(a*ve))):(d=_-g*v,C=_+(1-g)*v,dO&&(r=O-D.x+r*g,l=-1),(r=Math.min(o,r))r||A.autoRotation&&(f.styles||{}).width)&&(k=r)),k&&(this.shortenLabel?this.shortenLabel():(n.width=Math.floor(k)+"px",(I.style||{}).textOverflow||(n.textOverflow="ellipsis"),f.css(n)))}moveLabel(D,A){let G,I=this,_=I.label,m=I.axis,w=!1;_&&_.textStr===D?(I.movedLabel=_,w=!0,delete I.label):F(m.ticks,function(O){w||O.isNew||O===I||!O.label||O.label.textStr!==D||(I.movedLabel=O.label,w=!0,O.labelPos=I.movedLabel.xy,delete O.label)}),!w&&(I.labelPos||_)&&(G=I.labelPos||_.xy,I.movedLabel=I.createLabel(D,A,G),I.movedLabel&&I.movedLabel.attr({opacity:0}))}render(D,A,I){let _=this.axis,m=_.horiz,w=this.pos,G=P(this.tickmarkOffset,_.tickmarkOffset),O=this.getPosition(m,w,G,A),f=O.x,a=O.y,g=_.pos,v=g+_.len,o=m&&f===v||!m&&a===g?-1:1,n=m?f:a;!_.chart.polar&&this.isNew&&(pe(n)v)&&(I=0);let r=P(I,this.label&&this.label.newOpacity,1);I=P(I,1),this.isActive=!0,this.renderGridLine(A,I,o),this.renderMark(O,I,o),this.renderLabel(O,A,r,D),this.isNew=!1,X(this,"afterRender")}renderGridLine(D,A,I){let v,_=this.axis,m=_.options,w={},G=this.pos,O=this.type,f=P(this.tickmarkOffset,_.tickmarkOffset),a=_.chart.renderer,g=this.gridLine,o=m.gridLineWidth,n=m.gridLineColor,r=m.gridLineDashStyle;"minor"===this.type&&(o=m.minorGridLineWidth,n=m.minorGridLineColor,r=m.minorGridLineDashStyle),g||(_.chart.styledMode||(w.stroke=n,w["stroke-width"]=o||0,w.dashstyle=r),O||(w.zIndex=1),D&&(A=0),this.gridLine=g=a.path().attr(w).addClass("highcharts-"+(O?O+"-":"")+"grid-line").add(_.gridGroup)),g&&(v=_.getPlotLinePath({value:G+f,lineWidth:g.strokeWidth()*I,force:"pass",old:D,acrossPanes:!1}))&&g[D||this.isNew?"attr":"animate"]({d:v,opacity:A})}renderMark(D,A,I){let _=this.axis,m=_.options,w=_.chart.renderer,G=this.type,O=_.tickSize(G?G+"Tick":"tick"),f=D.x,a=D.y,g=P(m["minor"!==G?"tickWidth":"minorTickWidth"],!G&&_.isXAxis?1:0),v=m["minor"!==G?"tickColor":"minorTickColor"],o=this.mark,n=!o;O&&(_.opposite&&(O[0]=-O[0]),o||(this.mark=o=w.path().addClass("highcharts-"+(G?G+"-":"")+"tick").add(_.axisGroup),_.chart.styledMode||o.attr({stroke:v,"stroke-width":g})),o[n?"attr":"animate"]({d:this.getMarkPath(f,a,O[0],o.strokeWidth()*I,_.horiz,w),opacity:A}))}renderLabel(D,A,I,_){let m=this.axis,w=m.horiz,G=m.options,O=this.label,f=G.labels,a=f.step,g=P(this.tickmarkOffset,m.tickmarkOffset),v=D.x,o=D.y,n=!0;O&&E(v)&&(O.xy=D=this.getLabelPosition(v,o,O,w,f,g,_,a),this.isFirst&&!this.isLast&&!G.showFirstLabel||this.isLast&&!this.isFirst&&!G.showLastLabel?n=!1:!w||f.step||f.rotation||A||0===I||this.handleOverflow(D),a&&_%a&&(n=!1),n&&E(D.y)?(D.opacity=I,O[this.isNewLabel?"attr":"animate"](D).show(!0),this.isNewLabel=!1):(O.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let D=this.label,A=this.axis;D&&!this.isNew&&(D.animate({opacity:0},void 0,D.destroy),delete this.label),A.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),Le(V,"Core/Axis/Axis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/AxisDefaults.js"],V["Core/Color/Color.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Axis/Tick.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{animObject:te}=q,{xAxis:X,yAxis:E}=ne,{defaultOptions:j}=ve,{registerEventOptions:F}=le,{deg2rad:P}=pe,{arrayMax:D,arrayMin:A,clamp:I,correctFloat:_,defined:m,destroyObjectProperties:w,erase:G,error:O,extend:f,fireEvent:a,getClosestDistance:g,insertItem:v,isArray:o,isNumber:n,isString:r,merge:l,normalizeTickInterval:d,objectEach:C,pick:k,relativeLength:p,removeEvent:T,splat:B,syncTimeout:z}=J,K=(se,S)=>d(S,void 0,void 0,k(se.options.allowDecimals,S<.5||void 0!==se.tickAmount),!!se.tickAmount);f(j,{xAxis:X,yAxis:l(X,E)});class U{constructor(S,$,H){this.init(S,$,H)}init(S,$,H=this.coll){let x="xAxis"===H,N=this.isZAxis||(S.inverted?!x:x);this.chart=S,this.horiz=N,this.isXAxis=x,this.coll=H,a(this,"init",{userOptions:$}),this.opposite=k($.opposite,this.opposite),this.side=k($.side,this.side,N?this.opposite?0:2:this.opposite?1:3),this.setOptions($);let R=this.options,Z=R.labels,Y=R.type;this.userOptions=$,this.minPixelPadding=0,this.reversed=k(R.reversed,this.reversed),this.visible=R.visible,this.zoomEnabled=R.zoomEnabled,this.hasNames="category"===Y||!0===R.categories,this.categories=o(R.categories)&&R.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=m(R.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=R.minRange||R.maxZoom,this.range=R.range,this.offset=R.offset||0,this.max=void 0,this.min=void 0;let he=k(R.crosshair,B(S.options.tooltip.crosshairs)[x?0:1]);this.crosshair=!0===he?{}:he,-1===S.axes.indexOf(this)&&(x?S.axes.splice(S.xAxis.length,0,this):S.axes.push(this),v(this,S[this.coll])),S.orderItems(this.coll),this.series=this.series||[],S.inverted&&!this.isZAxis&&x&&!m(this.reversed)&&(this.reversed=!0),this.labelRotation=n(Z.rotation)?Z.rotation:void 0,F(this,R),a(this,"afterInit")}setOptions(S){this.options=l(this.horiz?{labels:{autoRotation:[-45]},margin:15}:{title:{rotation:90*this.side}},j[this.coll],S),a(this,"afterSetOptions",{userOptions:S})}defaultLabelFormatter(){let Te,Oe,S=this.axis,{numberFormatter:$}=this.chart,H=n(this.value)?this.value:NaN,x=S.chart.time,N=S.categories,R=this.dateTimeLabelFormat,Z=j.lang,Y=Z.numericSymbols,he=Z.numericSymbolMagnitude||1e3,ge=S.logarithmic?Math.abs(H):S.tickInterval,_e=Y&&Y.length;if(N)Oe=`${this.value}`;else if(R)Oe=x.dateFormat(R,H);else if(_e&&Y&&ge>=1e3)for(;_e--&&void 0===Oe;)ge>=(Te=Math.pow(he,_e+1))&&10*H%Te==0&&null!==Y[_e]&&0!==H&&(Oe=$(H/Te,-1)+Y[_e]);return void 0===Oe&&(Oe=Math.abs(H)>=1e4?$(H,-1):$(H,-1,void 0,"")),Oe}getSeriesExtremes(){let S,$=this;a(this,"getSeriesExtremes",null,function(){$.hasVisibleSeries=!1,$.dataMin=$.dataMax=$.threshold=void 0,$.softThreshold=!$.isXAxis,$.series.forEach(H=>{if(H.reserveSpace()){let N,Z,Y,x=H.options,R=x.threshold;if($.hasVisibleSeries=!0,$.positiveValuesOnly&&0>=(R||0)&&(R=void 0),$.isXAxis)(N=H.xData)&&N.length&&(N=$.logarithmic?N.filter(he=>he>0):N,Z=(S=H.getXExtremes(N)).min,Y=S.max,n(Z)||Z instanceof Date||(N=N.filter(n),Z=(S=H.getXExtremes(N)).min,Y=S.max),N.length&&($.dataMin=Math.min(k($.dataMin,Z),Z),$.dataMax=Math.max(k($.dataMax,Y),Y)));else{let he=H.applyExtremes();n(he.dataMin)&&(Z=he.dataMin,$.dataMin=Math.min(k($.dataMin,Z),Z)),n(he.dataMax)&&(Y=he.dataMax,$.dataMax=Math.max(k($.dataMax,Y),Y)),m(R)&&($.threshold=R),(!x.softThreshold||$.positiveValuesOnly)&&($.softThreshold=!1)}}})}),a(this,"afterGetSeriesExtremes")}translate(S,$,H,x,N,R){let Z=this.linkedParent||this,Y=x&&Z.old?Z.old.min:Z.min;if(!n(Y))return NaN;let he=Z.minPixelPadding,ge=(Z.isOrdinal||Z.brokenAxis?.hasBreaks||Z.logarithmic&&N)&&Z.lin2val,_e=1,Te=0,Oe=x&&Z.old?Z.old.transA:Z.transA,De=0;if(Oe||(Oe=Z.transA),H&&(_e*=-1,Te=Z.len),Z.reversed&&(_e*=-1,Te-=_e*(Z.sector||Z.len)),$)De=(S=S*_e+Te-he)/Oe+Y,ge&&(De=Z.lin2val(De));else{ge&&(S=Z.val2lin(S));let Be=_e*(S-Y)*Oe;De=(Z.isRadial?Be:_(Be))+Te+_e*he+(n(R)?Oe*R:0)}return De}toPixels(S,$){return this.translate(S,!1,!this.horiz,void 0,!0)+($?0:this.pos)}toValue(S,$){return this.translate(S-($?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(S){let De,Be,oe,ee,be,$=this,H=$.chart,x=$.left,N=$.top,R=S.old,Z=S.value,Y=S.lineWidth,he=R&&H.oldChartHeight||H.chartHeight,ge=R&&H.oldChartWidth||H.chartWidth,_e=$.transB,Te=S.translatedValue,Oe=S.force;function xe(we,Ee,Me){return"pass"!==Oe&&(weMe)&&(Oe?we=I(we,Ee,Me):be=!0),we}let Ie={value:Z,lineWidth:Y,old:R,force:Oe,acrossPanes:S.acrossPanes,translatedValue:Te};return a(this,"getPlotLinePath",Ie,function(we){De=oe=Math.round((Te=I(Te=k(Te,$.translate(Z,void 0,void 0,R)),-1e5,1e5))+_e),Be=ee=Math.round(he-Te-_e),n(Te)?$.horiz?(Be=N,ee=he-$.bottom+(H.scrollablePixelsY||0),De=oe=xe(De,x,x+$.width)):(De=x,oe=ge-$.right+(H.scrollablePixelsX||0),Be=ee=xe(Be,N,N+$.height)):(be=!0,Oe=!1),we.path=be&&!Oe?void 0:H.renderer.crispLine([["M",De,Be],["L",oe,ee]],Y||1)}),Ie.path}getLinearTickPositions(S,$,H){let x,N,R,Z=_(Math.floor($/S)*S),Y=_(Math.ceil(H/S)*S),he=[];if(_(Z+S)===Z&&(R=20),this.single)return[$];for(x=Z;x<=Y&&(he.push(x),(x=_(x+S,R))!==N);)N=x;return he}getMinorTickInterval(){let{minorTicks:S,minorTickInterval:$}=this.options;return!0===S?k($,"auto"):!1!==S?$:void 0}getMinorTickPositions(){let he,S=this.options,$=this.tickPositions,H=this.minorTickInterval,x=this.pointRangePadding||0,N=(this.min||0)-x,R=(this.max||0)+x,Z=R-N,Y=[];if(Z&&Z/H(ge.xIncrement?ge.xData?.slice(0,2):ge.xData)||[]))||0),this.dataMax-this.dataMin)),n(H)&&n(x)&&n(N)&&H-x=N,R=(N-H+x)/2,Y=[x-R,k(S.min,x-R)],Z&&(Y[2]=$?$.log2lin(this.dataMin):this.dataMin),he=[(x=D(Y))+N,k(S.max,x+N)],Z&&(he[2]=$?$.log2lin(this.dataMax):this.dataMax),(H=A(he))-xx-N),S=g([H]))}return S&&$?Math.min(S,$):S||$}nameToX(S){let N,$=o(this.options.categories),H=$?this.categories:this.names,x=S.options.x;return S.series.requireSorting=!1,m(x)||(x=this.options.uniqueNames&&H?$?H.indexOf(S.name):k(H.keys[S.name],-1):S.series.autoIncrement()),-1===x?!$&&H&&(N=H.length):N=x,void 0!==N?(this.names[N]=S.name,this.names.keys[S.name]=N):S.x&&(N=S.x),N}updateNames(){let S=this,$=this.names;$.length>0&&(Object.keys($.keys).forEach(function(H){delete $.keys[H]}),$.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(H=>{H.xIncrement=null,(!H.points||H.isDirtyData)&&(S.max=Math.max(S.max,H.xData.length-1),H.processData(),H.generatePoints()),H.data.forEach(function(x,N){let R;x?.options&&void 0!==x.name&&void 0!==(R=S.nameToX(x))&&R!==x.x&&(x.x=R,H.xData[N]=R)})}))}setAxisTranslation(){let Z,ge,S=this,$=S.max-S.min,H=S.linkedParent,x=!!S.categories,N=S.isXAxis,R=S.axisPointRange||0,Y=0,he=0,_e=S.transA;(N||x||R)&&(Z=S.getClosest(),H?(Y=H.minPointOffset,he=H.pointRangePadding):S.series.forEach(function(Te){let Oe=x?1:N?k(Te.options.pointRange,Z,0):S.axisPointRange||0,De=Te.options.pointPlacement;if(R=Math.max(R,Oe),!S.single||x){let Be=Te.is("xrange")?!N:N;Y=Math.max(Y,Be&&r(De)?0:Oe/2),he=Math.max(he,Be&&"on"===De?0:Oe)}}),ge=S.ordinal&&S.ordinal.slope&&Z?S.ordinal.slope/Z:1,S.minPointOffset=Y*=ge,S.pointRangePadding=he*=ge,S.pointRange=Math.min(R,S.single&&x?1:$),N&&Z&&(S.closestPointRange=Z)),S.translationSlope=S.transA=_e=S.staticScale||S.len/($+he||1),S.transB=S.horiz?S.left:S.bottom,S.minPixelPadding=_e*Y,a(this,"afterSetAxisTranslation")}minFromRange(){let{max:S,min:$}=this;return n(S)&&n($)&&S-$||void 0}setTickInterval(S){let Me,Je,lt,qe,st,{categories:$,chart:H,dataMax:x,dataMin:N,dateTime:R,isXAxis:Z,logarithmic:Y,options:he,softThreshold:ge}=this,_e=n(this.threshold)?this.threshold:void 0,Te=this.minRange||0,{ceiling:Oe,floor:De,linkedTo:Be,softMax:oe,softMin:ee}=he,be=n(Be)&&H[this.coll]?.[Be],xe=he.tickPixelInterval,Ie=he.maxPadding,we=he.minPadding,Ee=0,Xe=n(he.tickInterval)&&he.tickInterval>=0?he.tickInterval:void 0;if(R||$||be||this.getTickAmount(),qe=k(this.userMin,he.min),st=k(this.userMax,he.max),be?(this.linkedParent=be,Me=be.getExtremes(),this.min=k(Me.min,Me.dataMin),this.max=k(Me.max,Me.dataMax),he.type!==be.options.type&&O(11,!0,H)):(ge&&m(_e)&&n(x)&&n(N)&&(N>=_e?(Je=_e,we=0):x<=_e&&(lt=_e,Ie=0)),this.min=k(qe,Je,N),this.max=k(st,lt,x)),n(this.max)&&n(this.min)&&(Y&&(this.positiveValuesOnly&&!S&&0>=Math.min(this.min,k(N,this.min))&&O(10,!0,H),this.min=_(Y.log2lin(this.min),16),this.max=_(Y.log2lin(this.max),16)),this.range&&n(N)&&(this.userMin=this.min=qe=Math.max(N,this.minFromRange()||0),this.userMax=st=this.max,this.range=void 0)),a(this,"foundExtremes"),this.adjustForMinRange(),n(this.min)&&n(this.max)){if(!n(this.userMin)&&n(ee)&&eethis.max&&(this.max=st=oe),$||this.axisPointRange||this.stacking?.usePercentage||be||!(Ee=this.max-this.min)||(!m(qe)&&we&&(this.min-=Ee*we),m(st)||!Ie||(this.max+=Ee*Ie)),!n(this.userMin)&&n(De)&&(this.min=Math.max(this.min,De)),!n(this.userMax)&&n(Oe)&&(this.max=Math.min(this.max,Oe)),ge&&n(N)&&n(x)){let pt=_e||0;!m(qe)&&this.min=pt?this.min=he.minRange?Math.min(pt,this.max-Te):pt:!m(st)&&this.max>pt&&x<=pt&&(this.max=he.minRange?Math.max(pt,this.min+Te):pt)}!H.polar&&this.min>this.max&&(m(he.min)?this.max=this.min:m(he.max)&&(this.min=this.max)),Ee=this.max-this.min}if(this.tickInterval=this.min!==this.max&&n(this.min)&&n(this.max)?be&&!Xe&&xe===be.options.tickPixelInterval?Xe=be.tickInterval:k(Xe,this.tickAmount?Ee/Math.max(this.tickAmount-1,1):void 0,$?1:Ee*xe/Math.max(this.len,xe)):1,Z&&!S){let pt=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(ht){ht.forceCrop=ht.forceCropping?.(),ht.processData(pt)}),a(this,"postProcessData",{hasExtremesChanged:pt})}this.setAxisTranslation(),a(this,"initialAxisTranslation"),this.pointRange&&!Xe&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let Tt=k(he.minTickInterval,R&&!this.series.some(pt=>pt.noSharedTooltip)?this.closestPointRange:0);!Xe&&this.tickIntervalMath.max(2*this.len,200))Y=[this.min,this.max],O(19,!1,this.chart);else if(this.dateTime)Y=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,S.units),this.min,this.max,S.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)Y=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let ge=this.tickInterval,_e=ge;for(;_e<=2*ge&&(Y=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&Y.length>this.tickAmount);)this.tickInterval=K(this,_e*=1.1)}Y.length>this.len&&(Y=[Y[0],Y[Y.length-1]])[0]===Y[1]&&(Y.length=1),H&&(this.tickPositions=Y,(he=H.apply(this,[this.min,this.max]))&&(Y=he))}this.tickPositions=Y,this.paddedTicks=Y.slice(0),this.trimTicks(Y,R,Z),!this.isLinked&&n(this.min)&&n(this.max)&&(this.single&&Y.length<2&&!this.categories&&!this.series.some(ge=>ge.is("heatmap")&&"between"===ge.options.pointPlacement)&&(this.min-=.5,this.max+=.5),$||he||this.adjustTickAmount()),a(this,"afterSetTickPositions")}trimTicks(S,$,H){let x=S[0],N=S[S.length-1],R=!this.isOrdinal&&this.minPointOffset||0;if(a(this,"trimTicks"),!this.isLinked){if($&&x!==-1/0)this.min=x;else for(;this.min-R>S[0];)S.shift();if(H)this.max=N;else for(;this.max+R{let{horiz:Te,options:Oe}=_e;return[Te?Oe.left:Oe.top,Oe.width,Oe.height,Oe.pane].join(",")},ge=he(this);H[this.coll].forEach(function(_e){let{series:Te}=_e;Te.length&&Te.some(Oe=>Oe.visible)&&_e!==$&&he(_e)===ge&&(S=!0,x.push(_e))})}if(S&&Z){x.forEach(ge=>{let _e=ge.getThresholdAlignment($);n(_e)&&Y.push(_e)});let he=Y.length>1?Y.reduce((ge,_e)=>ge+_e,0)/Y.length:void 0;x.forEach(ge=>{ge.thresholdAlignment=he})}return S}getThresholdAlignment(S){if((!n(this.dataMin)||this!==S&&this.series.some($=>$.isDirty||$.isDirtyData))&&this.getSeriesExtremes(),n(this.threshold)){let $=I((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&($=1-$),$}}getTickAmount(){let S=this.options,$=S.tickPixelInterval,H=S.tickAmount;m(S.tickInterval)||H||!(this.len<$)||this.isRadial||this.logarithmic||!S.startOnTick||!S.endOnTick||(H=2),!H&&this.alignToOthers()&&(H=Math.ceil(this.len/$)+1),H<4&&(this.finalTickAmt=H,H=5),this.tickAmount=H}adjustTickAmount(){let _e,Te,De,S=this,{finalTickAmt:$,max:H,min:x,options:N,tickPositions:R,tickAmount:Z,thresholdAlignment:Y}=S,he=R?.length,ge=k(S.threshold,S.softThreshold?0:null),Oe=S.tickInterval,Be=()=>R.push(_(R[R.length-1]+Oe)),oe=()=>R.unshift(_(R[0]-Oe));if(n(Y)&&(De=Y<.5?Math.ceil(Y*(Z-1)):Math.floor(Y*(Z-1)),N.reversed&&(De=Z-1-De)),S.hasData()&&n(x)&&n(H)){let ee=()=>{S.transA*=(he-1)/(Z-1),S.min=N.startOnTick?R[0]:Math.min(x,R[0]),S.max=N.endOnTick?R[R.length-1]:Math.max(H,R[R.length-1])};if(n(De)&&n(S.threshold)){for(;R[De]!==ge||R.length!==Z||R[0]>x||R[R.length-1]S.threshold?oe():Be();if(Oe>8*S.tickInterval)break;Oe*=2}ee()}else if(he0&&Te<_e-1)&&R.splice(Te,1);S.finalTickAmt=void 0}}}setScale(){let{coll:S,stacking:$}=this,H=!1,x=!1;this.series.forEach(R=>{H=H||R.isDirtyData||R.isDirty,x=x||R.xAxis&&R.xAxis.isDirty||!1}),this.setAxisSize();let N=this.len!==(this.old&&this.old.len);N||H||x||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?($&&"yAxis"===S&&$.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),$&&"xAxis"===S&&$.buildStacks(),this.isDirty||(this.isDirty=N||this.min!==this.old?.min||this.max!==this.old?.max)):$&&$.cleanStacks(),H&&delete this.allExtremes,a(this,"afterSetScale")}setExtremes(S,$,H=!0,x,N){this.series.forEach(R=>{delete R.kdTree}),a(this,"setExtremes",N=f(N,{min:S,max:$}),R=>{this.userMin=R.min,this.userMax=R.max,this.eventArgs=R,H&&this.chart.redraw(x)})}setAxisSize(){let S=this.chart,$=this.options,H=$.offsets||[0,0,0,0],x=this.horiz,N=this.width=Math.round(p(k($.width,S.plotWidth-H[3]+H[1]),S.plotWidth)),R=this.height=Math.round(p(k($.height,S.plotHeight-H[0]+H[2]),S.plotHeight)),Z=this.top=Math.round(p(k($.top,S.plotTop+H[0]),S.plotHeight,S.plotTop)),Y=this.left=Math.round(p(k($.left,S.plotLeft+H[3]),S.plotWidth,S.plotLeft));this.bottom=S.chartHeight-R-Z,this.right=S.chartWidth-N-Y,this.len=Math.max(x?N:R,0),this.pos=x?Y:Z}getExtremes(){let S=this.logarithmic;return{min:S?_(S.lin2log(this.min)):this.min,max:S?_(S.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(S){let $=this.logarithmic,H=$?$.lin2log(this.min):this.min,x=$?$.lin2log(this.max):this.max;return null===S||S===-1/0?S=H:S===1/0?S=x:H>S?S=H:x15&&$<165?x.align="right":$>195&&$<345&&(x.align="left")}),H.align}tickSize(S){let N,$=this.options,H=k($["tick"===S?"tickWidth":"minorTickWidth"],"tick"===S&&this.isXAxis&&!this.categories?1:0),x=$["tick"===S?"tickLength":"minorTickLength"];H&&x&&("inside"===$[S+"Position"]&&(x=-x),N=[x,H]);let R={tickSize:N};return a(this,"afterTickSize",R),R.tickSize}labelMetrics(){let S=this.chart.renderer,$=this.ticks,H=$[Object.keys($)[0]]||{};return this.chart.renderer.fontMetrics(H.label||H.movedLabel||S.box)}unsquish(){let ge,Te,S=this.options.labels,$=this.horiz,H=this.tickInterval,x=this.len/(((this.categories?1:0)+this.max-this.min)/H),N=S.rotation,R=this.labelMetrics().h,Z=Math.max(this.max-this.min,0),Y=function(Oe){let De=Oe/(x||1);return(De=De>1?Math.ceil(De):1)*H>Z&&Oe!==1/0&&x!==1/0&&Z&&(De=Math.ceil(Z/H)),_(De*H)},he=H,_e=Number.MAX_VALUE;if($){if(!S.staggerLines&&(n(N)?Te=[N]:x=-90&&Be<=90)&&(De=(Oe=Y(Math.abs(R/Math.sin(P*Be))))+Math.abs(Be/360))<_e&&(_e=De,ge=Be,he=Oe)}}else he=Y(.75*R);return this.autoRotation=Te,this.labelRotation=k(ge,n(N)?N:0),S.step?H:he}getSlotWidth(S){let $=this.chart,H=this.horiz,x=this.options.labels,N=Math.max(this.tickPositions.length-(this.categories?0:1),1),R=$.margin[3];if(S&&n(S.slotWidth))return S.slotWidth;if(H&&x.step<2)return x.rotation?0:(this.staggerLines||1)*this.len/N;if(!H){let Z=x.style.width;if(void 0!==Z)return parseInt(String(Z),10);if(R)return R-$.spacing[3]}return.33*$.chartWidth}renderUnsquish(){let Oe,De,oe,ee,S=this.chart,$=S.renderer,H=this.tickPositions,x=this.ticks,N=this.options.labels,R=N.style,Z=this.horiz,Y=this.getSlotWidth(),he=Math.max(1,Math.round(Y-2*N.padding)),ge={},_e=this.labelMetrics(),Te=R.textOverflow,Be=0;if(r(N.rotation)||(ge.rotation=N.rotation||0),H.forEach(function(be){let xe=x[be];xe.movedLabel&&xe.replaceMovedLabel(),xe&&xe.label&&xe.label.textPxLength>Be&&(Be=xe.label.textPxLength)}),this.maxLabelLength=Be,this.autoRotation)Be>he&&Be>_e.h?ge.rotation=this.labelRotation:this.labelRotation=0;else if(Y&&(Oe=he,!Te))for(De="clip",ee=H.length;!Z&&ee--;)(oe=x[H[ee]].label)&&("ellipsis"===oe.styles.textOverflow?oe.css({textOverflow:"clip"}):oe.textPxLength>Y&&oe.css({width:Y+"px"}),oe.getBBox().height>this.len/H.length-(_e.h-_e.f)&&(oe.specificTextOverflow="ellipsis"));ge.rotation&&(Oe=Be>.5*S.chartHeight?.33*S.chartHeight:Be,Te||(De="ellipsis")),this.labelAlign=N.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(ge.align=this.labelAlign),H.forEach(function(be){let xe=x[be],Ie=xe&&xe.label,we=R.width,Ee={};Ie&&(Ie.attr(ge),xe.shortenLabel?xe.shortenLabel():Oe&&!we&&"nowrap"!==R.whiteSpace&&(OeN.g(Z).attr({zIndex:he}).addClass(`highcharts-${H.toLowerCase()}${Y} `+(this.isRadial?`highcharts-radial-axis${Y} `:"")+(x.className||"")).add(S);this.axisGroup||(this.gridGroup=R("grid","-grid",x.gridZIndex),this.axisGroup=R("axis","",x.zIndex),this.labelGroup=R("axis-labels","-labels",x.labels.zIndex))}getOffset(){let ee,xe,Ee,Me,S=this,{chart:$,horiz:H,options:x,side:N,ticks:R,tickPositions:Z,coll:Y}=S,he=$.inverted&&!S.isZAxis?[1,0,3,2][N]:N,ge=S.hasData(),_e=x.title,Te=x.labels,Oe=n(x.crossing),De=$.axisOffset,Be=$.clipOffset,oe=[-1,1,1,-1][N],be=0,Ie=0,we=0;if(S.showAxis=ee=ge||x.showEmpty,S.staggerLines=S.horiz&&Te.staggerLines||void 0,S.createGroups(),ge||S.isLinked?(Z.forEach(function(Xe){S.generateTick(Xe)}),S.renderUnsquish(),S.reserveSpaceDefault=0===N||2===N||{1:"left",3:"right"}[N]===S.labelAlign,k(Te.reserveSpace,!Oe&&null,"center"===S.labelAlign||null,S.reserveSpaceDefault)&&Z.forEach(function(Xe){we=Math.max(R[Xe].getLabelSize(),we)}),S.staggerLines&&(we*=S.staggerLines),S.labelOffset=we*(S.opposite?-1:1)):C(R,function(Xe,Je){Xe.destroy(),delete R[Je]}),_e?.text&&!1!==_e.enabled&&(S.addTitle(ee),ee&&!Oe&&!1!==_e.reserveSpace&&(S.titleOffset=be=S.axisTitle.getBBox()[H?"height":"width"],Ie=m(xe=_e.offset)?0:k(_e.margin,H?5:10))),S.renderLine(),S.offset=oe*k(x.offset,De[N]?De[N]+(x.margin||0):0),S.tickRotCorr=S.tickRotCorr||{x:0,y:0},Me=0===N?-S.labelMetrics().h:2===N?S.tickRotCorr.y:0,Ee=Math.abs(we)+Ie,we&&(Ee-=Me,Ee+=oe*(H?k(Te.y,S.tickRotCorr.y+oe*Te.distance):k(Te.x,oe*Te.distance))),S.axisTitleMargin=k(xe,Ee),S.getMaxLabelDimensions&&(S.maxLabelDimensions=S.getMaxLabelDimensions(R,Z)),"colorAxis"!==Y){let Xe=this.tickSize("tick");De[N]=Math.max(De[N],(S.axisTitleMargin||0)+be+oe*S.offset,Ee,Z&&Z.length&&Xe?Xe[0]+oe*S.offset:0);let Je=!S.axisLine||x.offset?0:2*Math.floor(S.axisLine.strokeWidth()/2);Be[he]=Math.max(Be[he],Je)}a(this,"afterGetOffset")}getLinePath(S){let $=this.chart,H=this.opposite,x=this.offset,N=this.horiz,R=this.left+(H?this.width:0)+x,Z=$.chartHeight-this.bottom-(H?this.height:0)+x;return H&&(S*=-1),$.renderer.crispLine([["M",N?this.left:R,N?Z:this.top],["L",N?$.chartWidth-this.right:R,N?Z:$.chartHeight-this.bottom]],S)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(S){let $=this.horiz,H=this.left,x=this.top,N=this.len,R=this.options.title,Z=$?H:x,Y=this.opposite,he=this.offset,ge=R.x,_e=R.y,Te=this.chart.renderer.fontMetrics(S),Oe=S?Math.max(S.getBBox(!1,0).height-Te.h-1,0):0,De={low:Z+($?0:N),middle:Z+N/2,high:Z+($?N:0)}[R.align],Be=($?x+this.height:H)+($?1:-1)*(Y?-1:1)*(this.axisTitleMargin||0)+[-Oe,Oe,Te.f,-Oe][this.side],oe={x:$?De+ge:Be+(Y?this.width:0)+he+ge,y:$?Be+_e-(Y?this.height:0)+he:De+_e};return a(this,"afterGetTitlePosition",{titlePosition:oe}),oe}renderMinorTick(S,$){let H=this.minorTicks;H[S]||(H[S]=new ue(this,S,"minor")),$&&H[S].isNew&&H[S].render(null,!0),H[S].render(null,!1,1)}renderTick(S,$,H){let N=this.ticks;(!this.isLinked||S>=this.min&&S<=this.max||this.grid&&this.grid.isColumn)&&(N[S]||(N[S]=new ue(this,S)),H&&N[S].isNew&&N[S].render($,!0,-1),N[S].render($))}render(){let S,$,H=this,x=H.chart,N=H.logarithmic,Z=H.options,Y=H.isLinked,he=H.tickPositions,ge=H.axisTitle,_e=H.ticks,Te=H.minorTicks,Oe=H.alternateBands,De=Z.stackLabels,Be=Z.alternateGridColor,oe=Z.crossing,ee=H.tickmarkOffset,be=H.axisLine,xe=H.showAxis,Ie=te(x.renderer.globalAnimation);if(H.labelEdge.length=0,H.overlap=!1,[_e,Te,Oe].forEach(function(we){C(we,function(Ee){Ee.isActive=!1})}),n(oe)){let we=this.isXAxis?x.yAxis[0]:x.xAxis[0],Ee=[1,-1,-1,1][this.side];if(we){let Me=we.toPixels(oe,!0);H.horiz&&(Me=we.len-Me),H.offset=Ee*Me}}if(H.hasData()||Y){let we=H.chart.hasRendered&&H.old&&n(H.old.min);H.minorTickInterval&&!H.categories&&H.getMinorTickPositions().forEach(function(Ee){H.renderMinorTick(Ee,we)}),he.length&&(he.forEach(function(Ee,Me){H.renderTick(Ee,Me,we)}),ee&&(0===H.min||H.single)&&(_e[-1]||(_e[-1]=new ue(H,-1,null,!0)),_e[-1].render(-1))),Be&&he.forEach(function(Ee,Me){$=void 0!==he[Me+1]?he[Me+1]+ee:H.max-ee,Me%2==0&&Ee=.5)E=Math.round(E),_=D.getLinearTickPositions(E,j,F);else if(E>=.08){let m,w,G,O,f,a,g;for(m=E>.3?[1,2,4]:E>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],w=Math.floor(j);wj&&(!P||a<=F)&&void 0!==a&&_.push(a),a>F&&(g=!0),a=f}else{let m=this.lin2log(j),w=this.lin2log(F),G=P?D.getMinorTickInterval():I.tickInterval;E=ve(E=le("auto"===G?null:G,this.minorAutoInterval,I.tickPixelInterval/(P?5:1)*(w-m)/((P?A/D.tickPositions.length:A)||1))),_=D.getLinearTickPositions(E,m,w).map(this.log2lin),P||(this.minorAutoInterval=E/5)}return P||(D.tickInterval=E),_}lin2log(E){return Math.pow(10,E)}log2lin(E){return Math.log(E)/Math.LN10}}pe.Additions=te}(ne||(ne={})),ne}),Le(V,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[V["Core/Utilities.js"]],function(q){var ne;let{erase:re,extend:ve,isNumber:le}=q;return function(pe){let ue;function J(D){return this.addPlotBandOrLine(D,"plotBands")}function te(D,A){let I=this.userOptions,_=new ue(this,D);if(this.visible&&(_=_.render()),_){if(this._addedPlotLB||(this._addedPlotLB=!0,(I.plotLines||[]).concat(I.plotBands||[]).forEach(m=>{this.addPlotBandOrLine(m)})),A){let m=I[A]||[];m.push(D),I[A]=m}this.plotLinesAndBands.push(_)}return _}function X(D){return this.addPlotBandOrLine(D,"plotLines")}function E(D,A,I){let f,g,_=this.getPlotLinePath({value:A,force:!0,acrossPanes:(I=I||this.options).acrossPanes}),m=[],w=this.horiz,G=!le(this.min)||!le(this.max)||Dthis.max&&A>this.max,O=this.getPlotLinePath({value:D,force:!0,acrossPanes:I.acrossPanes}),a=1;if(O&&_)for(G&&(g=O.toString()===_.toString(),a=0),f=0;f{r?.on(K,U=>{m[K].apply(this,[U])})}),this.eventsAdded=!0),!p&&r.d||!l?.length?r&&(l?(r.show(),r.animate({d:l})):r.d&&(r.hide(),n&&(this.label=n=n.destroy()))):r.attr({d:l}),o&&(le(o.text)||le(o.formatter))&&l?.length&&P.width>0&&P.height>0&&!l.isFlat?(o=te({align:A&&C&&"center",x:A?!C&&4:10,verticalAlign:!A&&C&&"middle",y:A?C?16:10:C?6:-4,rotation:A&&!C&&90},o),this.renderLabel(o,l,C,w)):n&&n.hide(),this}renderLabel(P,D,A,I){let _=this.axis,w=this.label;w||(this.label=w=_.chart.renderer.text(this.getLabelText(P),0,0,P.useHTML).attr({align:P.textAlign||P.align,rotation:P.rotation,class:"highcharts-plot-"+(A?"band":"line")+"-label"+(P.className||""),zIndex:I}),_.chart.styledMode||w.css(te({fontSize:"0.8em",textOverflow:"ellipsis"},P.style)),w.add());let G=D.xBounds||[D[0][1],D[1][1],A?D[2][1]:D[0][1]],O=D.yBounds||[D[0][2],D[1][2],A?D[2][2]:D[0][2]],f=ve(G),a=ve(O);w.align(P,!1,{x:f,y:a,width:re(G)-f,height:re(O)-a}),w.alignValue&&"left"!==w.alignValue||w.css({width:(90===w.rotation?_.height-(w.alignAttr.y-_.top):(P.clip?_.width:_.chart.chartWidth)-(w.alignAttr.x-_.left))+"px"}),w.show(!0)}getLabelText(P){return le(P.formatter)?P.formatter.call(this):P.text}destroy(){ue(this.axis.plotLinesAndBands,this),delete this.axis,pe(this)}}return j}),Le(V,"Core/Tooltip.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{format:ue}=q,{composed:J,doc:te,isSafari:X}=ne,{distribute:E}=re,{addEvent:j,clamp:F,css:P,discardElement:D,extend:A,fireEvent:I,isArray:_,isNumber:m,isString:w,merge:G,pick:O,pushUnique:f,splat:a,syncTimeout:g}=le;class v{constructor(n,r,l){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=n,this.init(n,r),this.pointer=l}bodyFormatter(n){return n.map(function(r){let l=r.series.tooltipOptions;return(l[(r.point.formatPrefix||"point")+"Formatter"]||r.point.tooltipFormatter).call(r.point,l[(r.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(n){this.chart.series.forEach(function(r){let l=r&&r.tt;l&&(!l.isActive||n?r.tt=l.destroy():l.isActive=!1)})}defaultFormatter(n){let r,l=this.points||a(this);return(r=(r=[n.tooltipFooterHeaderFormatter(l[0])]).concat(n.bodyFormatter(l))).push(n.tooltipFooterHeaderFormatter(l[0],!0)),r}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),D(this.container)),le.clearTimeout(this.hideTimer),le.clearTimeout(this.tooltipTimeout)}getAnchor(n,r){let l,{chart:d,pointer:C}=this,k=d.inverted,p=d.plotTop,T=d.plotLeft;if((n=a(n))[0].series&&n[0].series.yAxis&&!n[0].series.yAxis.options.reversedStacks&&(n=n.slice().reverse()),this.followPointer&&r)void 0===r.chartX&&(r=C.normalize(r)),l=[r.chartX-T,r.chartY-p];else if(n[0].tooltipPos)l=n[0].tooltipPos;else{let B=0,z=0;n.forEach(function(K){let U=K.pos(!0);U&&(B+=U[0],z+=U[1])}),B/=n.length,z/=n.length,this.shared&&n.length>1&&r&&(k?B=r.chartX:z=r.chartY),l=[B-T,z-p]}return l.map(Math.round)}getClassName(n,r,l){let C=n.series,k=C.options;return[this.options.className,"highcharts-label",l&&"highcharts-tooltip-header",r?"highcharts-tooltip-box":"highcharts-tooltip",!l&&"highcharts-color-"+O(n.colorIndex,C.colorIndex),k&&k.className].filter(w).join(" ")}getLabel(){let n=this,r=this.chart.styledMode,l=this.options,d=this.split&&this.allowShared,C=this.container,k=this.chart.renderer;if(this.label){let p=!this.label.hasClass("highcharts-label");(!d&&p||d&&!p)&&this.destroy()}if(!this.label){if(this.outside){let p=this.chart.options.chart.style,T=ve.getRendererType();this.container=C=ne.doc.createElement("div"),C.className="highcharts-tooltip-container",P(C,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(p&&p.zIndex||0)+3)}),this.renderer=k=new T(C,0,0,p,void 0,void 0,k.styledMode)}if(d?this.label=k.g("tooltip"):(this.label=k.label("",0,0,l.shape,void 0,void 0,l.useHTML,void 0,"tooltip").attr({padding:l.padding,r:l.borderRadius}),r||this.label.attr({fill:l.backgroundColor,"stroke-width":l.borderWidth||0}).css(l.style).css({pointerEvents:l.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),n.outside){let p=this.label,{xSetter:T,ySetter:B}=p;p.xSetter=function(z){T.call(p,n.distance),C&&(C.style.left=z+"px")},p.ySetter=function(z){B.call(p,n.distance),C&&(C.style.top=z+"px")}}this.label.attr({zIndex:8}).shadow(l.shadow).add()}return C&&!C.parentElement&&ne.doc.body.appendChild(C),this.label}getPlayingField(){let{body:n,documentElement:r}=te,{chart:l,distance:d,outside:C}=this;return{width:C?Math.max(n.scrollWidth,r.scrollWidth,n.offsetWidth,r.offsetWidth,r.clientWidth)-2*d:l.chartWidth,height:C?Math.max(n.scrollHeight,r.scrollHeight,n.offsetHeight,r.offsetHeight,r.clientHeight):l.chartHeight}}getPosition(n,r,l){let _e,{distance:d,chart:C,outside:k,pointer:p}=this,{inverted:T,plotLeft:B,plotTop:z,polar:K}=C,{plotX:U=0,plotY:se=0}=l,S={},$=T&&l.h||0,{height:H,width:x}=this.getPlayingField(),N=p.getChartPosition(),R=be=>be*N.scaleX,Z=be=>be*N.scaleY,Y=be=>{let xe="x"===be;return[be,xe?x:H,xe?n:r].concat(k?[xe?R(n):Z(r),xe?N.left-d+R(U+B):N.top-d+Z(se+z),0,xe?x:H]:[xe?n:r,xe?U+B:se+z,xe?B:z,xe?B+C.plotWidth:z+C.plotHeight])},he=Y("y"),ge=Y("x"),Te=!!l.negative;!K&&C.hoverSeries?.yAxis?.reversed&&(Te=!Te);let Oe=!this.followPointer&&O(l.ttBelow,!K&&!T===Te),De=function(be,xe,Ie,we,Ee,Me,Xe){let Je=k?"y"===be?Z(d):R(d):d,lt=(Ie-we)/2,qe=wexe?pt:pt+$)}},Be=function(be,xe,Ie,we,Ee){if(Eexe-d)return!1;S[be]=Eexe-we/2?xe-we-2:Ee-Ie/2},oe=function(be){[he,ge]=[ge,he],_e=be},ee=()=>{!1!==De.apply(0,he)?!1!==Be.apply(0,ge)||_e||(oe(!0),ee()):_e?S.x=S.y=0:(oe(!0),ee())};return(T&&!K||this.len>1)&&oe(),ee(),S}hide(n){let r=this;le.clearTimeout(this.hideTimer),n=O(n,this.options.hideDelay),this.isHidden||(this.hideTimer=g(function(){let l=r.getLabel();r.getLabel().animate({opacity:0},{duration:n&&150,complete:()=>{l.hide(),r.container&&r.container.remove()}}),r.isHidden=!0},n))}init(n,r){this.chart=n,this.options=r,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=r.split&&!n.inverted&&!n.polar,this.shared=r.shared||this.split,this.outside=O(r.outside,!(!n.scrollablePixelsX&&!n.scrollablePixelsY))}shouldStickOnContact(n){return!(this.followPointer||!this.options.stickOnContact||n&&!this.pointer.inClass(n.target,"highcharts-tooltip"))}move(n,r,l,d){let C=this,k=C.now,p=!1!==C.options.animation&&!C.isHidden&&(Math.abs(n-k.x)>1||Math.abs(r-k.y)>1),T=C.followPointer||C.len>1;A(k,{x:p?(2*k.x+n)/3:n,y:p?(k.y+r)/2:r,anchorX:T?void 0:p?(2*k.anchorX+l)/3:l,anchorY:T?void 0:p?(k.anchorY+d)/2:d}),C.getLabel().attr(k),C.drawTracker(),p&&(le.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){C&&C.move(n,r,l,d)},32))}refresh(n,r){let{chart:l,options:d,pointer:C,shared:k}=this,p=a(n),T=p[0],B=[],z=d.format,K=d.formatter||this.defaultFormatter,U=l.styledMode,se={};if(!d.enabled||!T.series)return;le.clearTimeout(this.hideTimer),this.allowShared=!(!_(n)&&n.series&&n.series.noSharedTooltip),this.followPointer=!this.split&&T.series.tooltipOptions.followPointer;let S=this.getAnchor(n,r),$=S[0],H=S[1];k&&this.allowShared?(C.applyInactiveState(p),p.forEach(function(R){R.setState("hover"),B.push(R.getLabelConfig())}),(se=T.getLabelConfig()).points=B):se=T.getLabelConfig(),this.len=B.length;let x=w(z)?ue(z,se,l):K.call(se,this),N=T.series;if(this.distance=O(N.tooltipOptions.distance,16),!1===x)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(x,p);else{let R=$,Z=H;if(r&&C.isDirectTouch&&(R=r.chartX-l.plotLeft,Z=r.chartY-l.plotTop),!l.polar&&!1!==N.options.clip&&!p.some(Y=>C.isDirectTouch||Y.series.shouldShowTooltip(R,Z)))return void this.hide();{let Y=this.getLabel();(!d.style.width||U)&&Y.css({width:(this.outside?this.getPlayingField():l.spacingBox).width+"px"}),Y.attr({text:x&&x.join?x.join(""):x}),Y.addClass(this.getClassName(T),!0),U||Y.attr({stroke:d.borderColor||T.color||N.color||"#666666"}),this.updatePosition({plotX:$,plotY:H,negative:T.negative,ttBelow:T.ttBelow,h:S[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}I(this,"refresh")}renderSplit(n,r){let l=this,{chart:d,chart:{chartWidth:C,chartHeight:k,plotHeight:p,plotLeft:T,plotTop:B,scrollablePixelsY:z=0,scrollablePixelsX:K,styledMode:U},distance:se,options:S,options:{positioner:$},pointer:H}=l,{scrollLeft:x=0,scrollTop:N=0}=d.scrollablePlotArea?.scrollingContainer||{},R=l.outside&&"number"!=typeof K?te.documentElement.getBoundingClientRect():{left:x,right:x+C,top:N,bottom:N+k},Z=l.getLabel(),Y=this.renderer||d.renderer,he=!(!d.xAxis[0]||!d.xAxis[0].opposite),{left:ge,top:_e}=H.getChartPosition(),Te=B+N,Oe=0,De=p-z;function Be(we,Ee,Me,Xe,Je=!0){let lt,qe;return Me?(lt=he?0:De,qe=F(we-Xe/2,R.left,R.right-Xe-(l.outside?ge:0))):(lt=Ee-Te,qe=F(qe=Je?we-Xe-se:we+se,Je?qe:R.left,R.right)),{x:qe,y:lt}}w(n)&&(n=[!1,n]);let oe=n.slice(0,r.length+1).reduce(function(we,Ee,Me){if(!1!==Ee&&""!==Ee){let Xe=r[Me-1]||{isHeader:!0,plotX:r[0].plotX,plotY:p,series:{}},Je=Xe.isHeader,lt=Je?l:Xe.series,qe=lt.tt=function(Pt,Gt,ti){let Dt=Pt,{isHeader:It,series:xt}=Gt;if(!Dt){let wt={padding:S.padding,r:S.borderRadius};U||(wt.fill=S.backgroundColor,wt["stroke-width"]=S.borderWidth??1),Dt=Y.label("",0,0,S[It?"headerShape":"shape"],void 0,void 0,S.useHTML).addClass(l.getClassName(Gt,!0,It)).attr(wt).add(Z)}return Dt.isActive=!0,Dt.attr({text:ti}),U||Dt.css(S.style).attr({stroke:S.borderColor||Gt.color||xt.color||"#333333"}),Dt}(lt.tt,Xe,Ee.toString()),st=qe.getBBox(),Tt=st.width+qe.strokeWidth();Je&&(Oe=st.height,De+=Oe,he&&(Te-=Oe));let{anchorX:pt,anchorY:ht}=function(Pt){let Gt,ti,{isHeader:Dt,plotX:It=0,plotY:xt=0,series:wt}=Pt;if(Dt)Gt=Math.max(T+It,T),ti=B+p/2;else{let{xAxis:Qt,yAxis:di}=wt;Gt=Qt.pos+F(It,-se,Qt.len+se),wt.shouldShowTooltip(0,di.pos-B+xt,{ignoreX:!0})&&(ti=di.pos+xt)}return{anchorX:Gt=F(Gt,R.left-se,R.right+se),anchorY:ti}}(Xe);if("number"==typeof ht){let Pt=st.height+1,Gt=$?$.call(l,Tt,Pt,Xe):Be(pt,ht,Je,Tt);we.push({align:$?0:void 0,anchorX:pt,anchorY:ht,boxWidth:Tt,point:Xe,rank:O(Gt.rank,Je?1:0),size:Pt,target:Gt.y,tt:qe,x:Gt.x})}else qe.isActive=!1}return we},[]);!$&&oe.some(we=>{let{outside:Ee}=l,Me=(Ee?ge:0)+we.anchorX;return MeMe})&&(oe=oe.map(we=>{let{x:Ee,y:Me}=Be(we.anchorX,we.anchorY,we.point.isHeader,we.boxWidth,!1);return A(we,{target:Me,x:Ee})})),l.cleanSplit(),E(oe,De);let ee={left:ge,right:ge};oe.forEach(function(we){let{x:Ee,boxWidth:Me,isHeader:Xe}=we;!Xe&&(l.outside&&ge+Eeee.right&&(ee.right=ge+Ee))}),oe.forEach(function(we){let{x:Ee,anchorX:Me,anchorY:Xe,pos:Je,point:{isHeader:lt}}=we,qe={visibility:void 0===Je?"hidden":"inherit",x:Ee,y:(Je||0)+Te,anchorX:Me,anchorY:Xe};if(l.outside&&Ee0&&(lt||(qe.x=Ee+st,qe.anchorX=Me+st),lt&&(qe.x=(ee.right-ee.left)/2,qe.anchorX=Me+st))}we.tt.attr(qe)});let{container:be,outside:xe,renderer:Ie}=l;if(xe&&be&&Ie){let{width:we,height:Ee,x:Me,y:Xe}=Z.getBBox();Ie.setSize(we+Me,Ee+Xe,!1),be.style.left=ee.left+"px",be.style.top=_e+"px"}X&&Z.attr({opacity:1===Z.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact())return void(this.tracker&&(this.tracker=this.tracker.destroy()));let n=this.chart,r=this.label,l=this.shared?n.hoverPoints:n.hoverPoint;if(!r||!l)return;let d={x:0,y:0,width:0,height:0},C=this.getAnchor(l),k=r.getBBox();C[0]+=n.plotLeft-(r.translateX||0),C[1]+=n.plotTop-(r.translateY||0),d.x=Math.min(0,C[0]),d.y=Math.min(0,C[1]),d.width=C[0]<0?Math.max(Math.abs(C[0]),k.width-C[0]):Math.max(Math.abs(C[0]),k.width),d.height=C[1]<0?Math.max(Math.abs(C[1]),k.height-Math.abs(C[1])):Math.max(Math.abs(C[1]),k.height),this.tracker?this.tracker.attr(d):(this.tracker=r.renderer.rect(d).addClass("highcharts-tracker").add(r),n.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(n){return n.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(n,r){let l=n.series,d=l.tooltipOptions,C=l.xAxis,k=C&&C.dateTime,p={isFooter:r,labelConfig:n},T=d.xDateFormat,B=d[r?"footerFormat":"headerFormat"];return I(this,"headerFormatter",p,function(z){k&&!T&&m(n.key)&&(T=k.getXDateFormat(n.key,d.dateTimeLabelFormats)),k&&T&&(n.point&&n.point.tooltipDateKeys||["key"]).forEach(function(K){B=B.replace("{point."+K+"}","{point."+K+":"+T+"}")}),l.chart.styledMode&&(B=this.styledModeFormat(B)),z.text=ue(B,{point:n,series:l},this.chart)}),p.text}update(n){this.destroy(),this.init(this.chart,G(!0,this.options,n))}updatePosition(n){let x,{chart:r,container:l,distance:d,options:C,pointer:k,renderer:p}=this,{height:T=0,width:B=0}=this.getLabel(),{left:z,top:K,scaleX:U,scaleY:se}=k.getChartPosition(),S=(C.positioner||this.getPosition).call(this,B,T,n),$=(n.plotX||0)+r.plotLeft,H=(n.plotY||0)+r.plotTop;p&&l&&(C.positioner&&(S.x+=z-d,S.y+=K-d),x=(C.borderWidth||0)+2*d+2,p.setSize(B+x,T+x,!1),(1!==U||1!==se)&&(P(l,{transform:`scale(${U}, ${se})`}),$*=U,H*=se),$+=z-S.x,H+=K-S.y),this.move(Math.round(S.x),Math.round(S.y||0),$,H)}}return(pe=v||(v={})).compose=function(o){f(J,"Core.Tooltip")&&j(o,"afterInit",function(){let n=this.chart;n.options.tooltip&&(n.tooltip=new pe(n,n.options.tooltip,this))})},v}),Le(V,"Core/Series/Point.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{animObject:pe}=ne,{defaultOptions:ue}=re,{format:J}=ve,{addEvent:te,erase:X,extend:E,fireEvent:j,getNestedProperty:F,isArray:P,isFunction:D,isNumber:A,isObject:I,pick:_,syncTimeout:m,removeEvent:w,uniqueKey:G}=le;class O{animateBeforeDestroy(){let a=this,g={x:a.startXPos,opacity:0},v=a.getGraphicalProps();v.singular.forEach(function(o){a[o]=a[o].animate("dataLabel"===o?{x:a[o].startXPos,y:a[o].startYPos,opacity:0}:g)}),v.plural.forEach(function(o){a[o].forEach(function(n){n.element&&n.animate(E({x:a.startXPos},n.startYPos?{x:n.startXPos,y:n.startYPos}:{}))})})}applyOptions(a,g){let v=this.series,o=v.options.pointValKey||v.pointValKey;return E(this,a=O.prototype.optionsToObject.call(this,a)),this.options=this.options?E(this.options,a):a,a.group&&delete this.group,a.dataLabels&&delete this.dataLabels,o&&(this.y=O.prototype.getNestedProperty.call(this,o)),this.selected&&(this.state="select"),"name"in this&&void 0===g&&v.xAxis&&v.xAxis.hasNames&&(this.x=v.xAxis.nameToX(this)),void 0===this.x&&v?this.x=void 0===g?v.autoIncrement():g:A(a.x)&&v.options.relativeXValue&&(this.x=v.autoIncrement(a.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let a=this,g=a.series,v=g.chart,o=g.options.dataSorting,n=v.hoverPoints,r=pe(a.series.chart.renderer.globalAnimation),l=()=>{for(let d in(a.graphic||a.graphics||a.dataLabel||a.dataLabels)&&(w(a),a.destroyElements()),a)delete a[d]};a.legendItem&&v.legend.destroyItem(a),n&&(a.setState(),X(n,a),n.length||(v.hoverPoints=null)),a===v.hoverPoint&&a.onMouseOut(),o&&o.enabled?(this.animateBeforeDestroy(),m(l,r.duration)):l(),v.pointCount--}this.destroyed=!0}destroyElements(a){let g=this,v=g.getGraphicalProps(a);v.singular.forEach(function(o){g[o]=g[o].destroy()}),v.plural.forEach(function(o){g[o].forEach(function(n){n&&n.element&&n.destroy()}),delete g[o]})}firePointEvent(a,g,v){let o=this,n=this.series.options;o.manageEvent(a),"click"===a&&n.allowPointSelect&&(v=function(r){!o.destroyed&&o.select&&o.select(null,r.ctrlKey||r.metaKey||r.shiftKey)}),j(o,a,g,v)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(a){let g,v,o=this,n=[],r={singular:[],plural:[]};for((a=a||{graphic:1,dataLabel:1}).graphic&&n.push("graphic","connector"),a.dataLabel&&n.push("dataLabel","dataLabelPath","dataLabelUpper"),v=n.length;v--;)o[g=n[v]]&&r.singular.push(g);return["graphic","dataLabel"].forEach(function(l){let d=l+"s";a[l]&&o[d]&&r.plural.push(d)}),r}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(a){return a?0===a.indexOf("custom.")?F(a,this.options):this[a]:void 0}getZone(){let o,a=this.series,g=a.zones,v=a.zoneAxis||"y",n=0;for(o=g[0];this[v]>=o.value;)o=g[++n];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=o&&o.color&&!this.options.color?o.color:this.nonZonedColor,o}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(a,g,v){this.formatPrefix="point",this.visible=!0,this.series=a,this.applyOptions(g,v),this.id??(this.id=G()),this.resolveColor(),a.chart.pointCount++,j(this,"afterInit")}isValid(){return(A(this.x)||this.x instanceof Date)&&A(this.y)}optionsToObject(a){let l,g=this.series,v=g.options.keys,o=v||g.pointArrayMap||["y"],n=o.length,r={},d=0,C=0;if(A(a)||null===a)r[o[0]]=a;else if(P(a))for(!v&&a.length>n&&("string"==(l=typeof a[0])?r.name=a[0]:"number"===l&&(r.x=a[0]),d++);C0?O.prototype.setNestedProperty(r,a[d],o[C]):r[o[C]]=a[d]),d++,C++;else"object"==typeof a&&(r=a,a.dataLabels&&(g.hasDataLabels=()=>!0),a.marker&&(g._hasPointMarkers=!0));return r}pos(a,g=this.plotY){if(!this.destroyed){let{plotX:v,series:o}=this,{chart:n,xAxis:r,yAxis:l}=o,d=0,C=0;if(A(v)&&A(g))return a&&(d=r?r.pos:n.plotLeft,C=l?l.pos:n.plotTop),n.inverted&&r&&l?[l.len-g+C,r.len-v+d]:[v+d,g+C]}}resolveColor(){let o,n,l,a=this.series,v=a.chart.styledMode,r=a.chart.options.chart.colorCount;delete this.nonZonedColor,a.options.colorByPoint?(v||(o=(n=a.options.colors||a.chart.options.colors)[a.colorCounter],r=n.length),l=a.colorCounter,a.colorCounter++,a.colorCounter===r&&(a.colorCounter=0)):(v||(o=a.color),l=a.colorIndex),this.colorIndex=_(this.options.colorIndex,l),this.color=_(this.options.color,o)}setNestedProperty(a,g,v){return v.split(".").reduce(function(o,n,r,l){return o[n]=l.length-1===r?g:I(o[n],!0)?o[n]:{},o[n]},a),a}shouldDraw(){return!this.isNull}tooltipFormatter(a){let g=this.series,v=g.tooltipOptions,o=_(v.valueDecimals,""),n=v.valuePrefix||"",r=v.valueSuffix||"";return g.chart.styledMode&&(a=g.chart.tooltip.styledModeFormat(a)),(g.pointArrayMap||["y"]).forEach(function(l){l="{point."+l,(n||r)&&(a=a.replace(RegExp(l+"}","g"),n+l+"}"+r)),a=a.replace(RegExp(l+"}","g"),l+":,."+o+"f}")}),J(a,{point:this,series:this.series},g.chart)}update(a,g,v,o){let n,r=this,l=r.series,d=r.graphic,C=l.chart,k=l.options;function p(){r.applyOptions(a);let T=d&&r.hasMockGraphic;d&&(null===r.y?!T:T)&&(r.graphic=d.destroy(),delete r.hasMockGraphic),I(a,!0)&&(d&&d.element&&a&&a.marker&&void 0!==a.marker.symbol&&(r.graphic=d.destroy()),a?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),n=r.index,l.updateParallelArrays(r,n),k.data[n]=I(k.data[n],!0)||I(a,!0)?r.options:_(a,k.data[n]),l.isDirty=l.isDirtyData=!0,!l.fixedBox&&l.hasCartesianSeries&&(C.isDirtyBox=!0),"point"===k.legendType&&(C.isDirtyLegend=!0),g&&C.redraw(v)}g=_(g,!0),!1===o?p():r.firePointEvent("update",{options:a},p)}remove(a,g){this.series.removePoint(this.series.data.indexOf(this),a,g)}select(a,g){let v=this,o=v.series,n=o.chart;a=_(a,!v.selected),this.selectedStaging=a,v.firePointEvent(a?"select":"unselect",{accumulate:g},function(){v.selected=v.options.selected=a,o.options.data[o.data.indexOf(v)]=v.options,v.setState(a&&"select"),g||n.getSelectedPoints().forEach(function(r){let l=r.series;r.selected&&r!==v&&(r.selected=r.options.selected=!1,l.options.data[l.data.indexOf(r)]=r.options,r.setState(n.hoverPoints&&l.options.inactiveOtherPoints?"inactive":""),r.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(a){let{inverted:g,pointer:v}=this.series.chart;v&&(a=a?v.normalize(a):v.getChartCoordinatesFromPoint(this,g),v.runPointActions(a,this))}onMouseOut(){let a=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(a.hoverPoints||[]).forEach(function(g){g.setState()}),a.hoverPoints=a.hoverPoint=null}manageEvent(a){let g=this.series.options.point||{},v=g.events?.[a];!D(v)||this.hcEvents?.[a]&&-1!==this.hcEvents?.[a]?.map(o=>o.fn).indexOf(v)?this.hasImportedEvents&&!v&&this.hcEvents?.[a]&&(w(this,a),delete this.hcEvents[a],Object.keys(this.hcEvents)||(this.hasImportedEvents=!1)):(te(this,a,v),this.hasImportedEvents=!0)}setState(a,g){let z,K,U,S,v=this.series,o=this.state,n=v.options.states[a||"normal"]||{},r=ue.plotOptions[v.type].marker&&v.options.marker,d=r&&r.states&&r.states[a||"normal"]||{},k=this.marker||{},p=v.chart,T=r&&v.markerAttribs,B=v.halo,se=v.stateMarkerGraphic;if((a=a||"")===this.state&&!g||this.selected&&"select"!==a||!1===n.enabled||a&&(!1===d.enabled||r&&!1===r.enabled&&!1===d.enabled)||a&&k.states&&k.states[a]&&!1===k.states[a].enabled)return;if(this.state=a,T&&(z=v.markerAttribs(this,a)),this.graphic&&!this.hasMockGraphic){if(o&&this.graphic.removeClass("highcharts-point-"+o),a&&this.graphic.addClass("highcharts-point-"+a),!p.styledMode){K=v.pointAttribs(this,a),U=_(p.options.chart.animation,n.animation);let N=K.opacity;v.options.inactiveOtherPoints&&A(N)&&(this.dataLabels||[]).forEach(function(R){R&&!R.hasClass("highcharts-data-label-hidden")&&(R.animate({opacity:N},U),R.connector&&R.connector.animate({opacity:N},U))}),this.graphic.animate(K,U)}z&&this.graphic.animate(z,_(p.options.chart.animation,d.animation,r.animation)),se&&se.hide()}else a&&d&&(S=k.symbol||v.symbol,se&&se.currentSymbol!==S&&(se=se.destroy()),z&&(se?se[g?"animate":"attr"]({x:z.x,y:z.y}):S&&(v.stateMarkerGraphic=se=p.renderer.symbol(S,z.x,z.y,z.width,z.height).add(v.markerGroup),se.currentSymbol=S)),!p.styledMode&&se&&"inactive"!==this.state&&se.attr(v.pointAttribs(this,a))),se&&(se[a&&this.isInside?"show":"hide"](),se.element.point=this,se.addClass(this.getClassName(),!0));let $=n.halo,H=this.graphic||se,x=H&&H.visibility||"inherit";$&&$.size&&H&&"hidden"!==x&&!this.isCluster?(B||(v.halo=B=p.renderer.path().add(H.parentGroup)),B.show()[g?"animate":"attr"]({d:this.haloPath($.size)}),B.attr({class:"highcharts-halo highcharts-color-"+_(this.colorIndex,v.colorIndex)+(this.className?" "+this.className:""),visibility:x,zIndex:-1}),B.point=this,p.styledMode||B.attr(E({fill:this.color||v.color,"fill-opacity":$.opacity},q.filterUserAttributes($.attributes||{})))):B&&B.point&&B.point.haloPath&&B.animate({d:B.point.haloPath(0)},null,B.hide),j(this,"afterSetState",{state:a})}haloPath(a){let g=this.pos();return g?this.series.chart.renderer.symbols.circle(Math.floor(g[0])-a,g[1]-a,2*a,2*a):[]}}return O}),Le(V,"Core/Pointer.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve;let{parse:le}=q,{charts:pe,composed:ue}=ne,{addEvent:J,attr:te,css:X,extend:E,find:j,fireEvent:F,isNumber:P,isObject:D,objectEach:A,offset:I,pick:_,pushUnique:m,splat:w}=re;class G{applyInactiveState(f){let g,a=[];(f||[]).forEach(function(v){g=v.series,a.push(g),g.linkedParent&&a.push(g.linkedParent),g.linkedSeries&&(a=a.concat(g.linkedSeries)),g.navigatorSeries&&a.push(g.navigatorSeries)}),this.chart.series.forEach(function(v){-1===a.indexOf(v)?v.setState("inactive",!0):v.options.inactiveOtherPoints&&v.setAllPointsToState("inactive")})}destroy(){let f=this;this.eventsToUnbind.forEach(a=>a()),this.eventsToUnbind=[],!ne.chartCount&&(G.unbindDocumentMouseUp&&(G.unbindDocumentMouseUp=G.unbindDocumentMouseUp()),G.unbindDocumentTouchEnd&&(G.unbindDocumentTouchEnd=G.unbindDocumentTouchEnd())),clearInterval(f.tooltipTimeout),A(f,function(a,g){f[g]=void 0})}getSelectionMarkerAttrs(f,a){let g={args:{chartX:f,chartY:a},attrs:{},shapeType:"rect"};return F(this,"getSelectionMarkerAttrs",g,v=>{let o,{chart:n,zoomHor:r,zoomVert:l}=this,{mouseDownX:d=0,mouseDownY:C=0}=n,k=v.attrs;k.x=n.plotLeft,k.y=n.plotTop,k.width=r?1:n.plotWidth,k.height=l?1:n.plotHeight,r&&(o=f-d,k.width=Math.max(1,Math.abs(o)),k.x=(o>0?0:o)+d),l&&(o=a-C,k.height=Math.max(1,Math.abs(o)),k.y=(o>0?0:o)+C)}),g}drag(f){let K,{chart:a}=this,{mouseDownX:g=0,mouseDownY:v=0}=a,{panning:o,panKey:n,selectionMarkerFill:r}=a.options.chart,l=a.plotLeft,d=a.plotTop,C=a.plotWidth,k=a.plotHeight,p=D(o)?o.enabled:o,T=n&&f[`${n}Key`],B=f.chartX,z=f.chartY,U=this.selectionMarker;if((!U||!U.touch)&&(Bl+C&&(B=l+C),zd+k&&(z=d+k),this.hasDragged=Math.sqrt(Math.pow(g-B,2)+Math.pow(v-z,2)),this.hasDragged>10)){K=a.isInsidePlot(g-l,v-d,{visiblePlotOnly:!0});let{shapeType:se,attrs:S}=this.getSelectionMarkerAttrs(B,z);(a.hasCartesianSeries||a.mapView)&&this.hasZoom&&K&&!T&&!U&&(this.selectionMarker=U=a.renderer[se](),U.attr({class:"highcharts-selection-marker",zIndex:7}).add(),a.styledMode||U.attr({fill:r||le("#334eff").setOpacity(.25).get()})),U&&U.attr(S),K&&!U&&p&&a.pan(f,o)}}dragStart(f){let a=this.chart;a.mouseIsDown=f.type,a.cancelClick=!1,a.mouseDownX=f.chartX,a.mouseDownY=f.chartY}getSelectionBox(f){let a={args:{marker:f},result:f.getBBox()};return F(this,"getSelectionBox",a),a.result}drop(f){let a,{chart:g,selectionMarker:v}=this;for(let o of g.axes)o.isPanning&&(o.isPanning=!1,(o.options.startOnTick||o.options.endOnTick||o.series.some(n=>n.boosted))&&(o.forceRedraw=!0,o.setExtremes(o.userMin,o.userMax,!1),a=!0));if(a&&g.redraw(),v&&f){if(this.hasDragged){let o=this.getSelectionBox(v);g.transform({axes:g.axes.filter(n=>n.zoomEnabled&&("xAxis"===n.coll&&this.zoomX||"yAxis"===n.coll&&this.zoomY)),selection:{originalEvent:f,xAxis:[],yAxis:[],...o},from:o})}P(g.index)&&(this.selectionMarker=v.destroy())}g&&P(g.index)&&(X(g.container,{cursor:g._cursor}),g.cancelClick=this.hasDragged>10,g.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(f,a,g){let v;return f.forEach(function(o){let n=!(o.noSharedTooltip&&a)&&0>o.options.findNearestPointBy.indexOf("y"),r=o.searchPoint(g,n);D(r,!0)&&r.series&&(!D(v,!0)||function(l,d){let C=l.distX-d.distX,k=l.dist-d.dist,p=d.series.group?.zIndex-l.series.group?.zIndex;return 0!==C&&a?C:0!==k?k:0!==p?p:l.series.index>d.series.index?-1:1}(v,r)>0)&&(v=r)}),v}getChartCoordinatesFromPoint(f,a){let{xAxis:g,yAxis:v}=f.series,o=f.shapeArgs;if(g&&v){let n=f.clientX??f.plotX??0,r=f.plotY||0;return f.isNode&&o&&P(o.x)&&P(o.y)&&(n=o.x,r=o.y),a?{chartX:v.len+v.pos-r,chartY:g.len+g.pos-n}:{chartX:n+g.pos,chartY:r+v.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:f}=this.chart,a=I(f);this.chartPosition={left:a.left,top:a.top,scaleX:1,scaleY:1};let{offsetHeight:g,offsetWidth:v}=f;return v>2&&g>2&&(this.chartPosition.scaleX=a.width/v,this.chartPosition.scaleY=a.height/g),this.chartPosition}getCoordinates(f){let a={xAxis:[],yAxis:[]};for(let g of this.chart.axes)a[g.isXAxis?"xAxis":"yAxis"].push({axis:g,value:g.toValue(f[g.horiz?"chartX":"chartY"])});return a}getHoverData(f,a,g,v,o,n){let C,r=[],l=function(T){return T.visible&&!(!o&&T.directTouch)&&_(T.options.enableMouseTracking,!0)},d=a,k={chartX:n?n.chartX:void 0,chartY:n?n.chartY:void 0,shared:o};F(this,"beforeGetHoverData",k),C=d&&!d.stickyTracking?[d]:g.filter(T=>T.stickyTracking&&(k.filter||l)(T));let p=v&&f||!n?f:this.findNearestKDPoint(C,o,n);return d=p&&p.series,p&&(o&&!d.noSharedTooltip?(C=g.filter(function(T){return k.filter?k.filter(T):l(T)&&!T.noSharedTooltip})).forEach(function(T){let B=j(T.points,function(z){return z.x===p.x&&!z.isNull});D(B)&&(T.boosted&&T.boost&&(B=T.boost.getPoint(B)),r.push(B))}):r.push(p)),F(this,"afterGetHoverData",k={hoverPoint:p}),{hoverPoint:k.hoverPoint,hoverSeries:d,hoverPoints:r}}getPointFromEvent(f){let g,a=f.target;for(;a&&!g;)g=a.point,a=a.parentNode;return g}onTrackerMouseOut(f){let g=f.relatedTarget,v=this.chart.hoverSeries;this.isDirectTouch=!1,!v||!g||v.stickyTracking||this.inClass(g,"highcharts-tooltip")||this.inClass(g,"highcharts-series-"+v.index)&&this.inClass(g,"highcharts-tracker")||v.onMouseOut()}inClass(f,a){let v,g=f;for(;g;){if(v=te(g,"class")){if(-1!==v.indexOf(a))return!0;if(-1!==v.indexOf("highcharts-container"))return!1}g=g.parentElement}}constructor(f,a){this.hasDragged=0,this.eventsToUnbind=[],this.options=a,this.chart=f,this.runChartClick=!!a.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),F(this,"afterInit")}normalize(f,a){let g=f.touches,v=g?g.length?g.item(0):_(g.changedTouches,f.changedTouches)[0]:f;a||(a=this.getChartPosition());let o=v.pageX-a.left,n=v.pageY-a.top;return E(f,{chartX:Math.round(o/=a.scaleX),chartY:Math.round(n/=a.scaleY)})}onContainerClick(f){let a=this.chart,g=a.hoverPoint,v=this.normalize(f),o=a.plotLeft,n=a.plotTop;!a.cancelClick&&(g&&this.inClass(v.target,"highcharts-tracker")?(F(g.series,"click",E(v,{point:g})),a.hoverPoint&&g.firePointEvent("click",v)):(E(v,this.getCoordinates(v)),a.isInsidePlot(v.chartX-o,v.chartY-n,{visiblePlotOnly:!0})&&F(a,"click",v)))}onContainerMouseDown(f){let a=!(1&~(f.buttons||f.button));f=this.normalize(f),ne.isFirefox&&0!==f.button&&this.onContainerMouseMove(f),(void 0===f.button||a)&&(this.zoomOption(f),a&&f.preventDefault?.(),this.dragStart(f))}onContainerMouseLeave(f){let{pointer:a}=pe[_(G.hoverChartIndex,-1)]||{};f=this.normalize(f),this.onContainerMouseMove(f),a&&f.relatedTarget&&!this.inClass(f.relatedTarget,"highcharts-tooltip")&&(a.reset(),a.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(f){let a=this.chart,g=a.tooltip,v=this.normalize(f);this.setHoverChartIndex(f),("mousedown"===a.mouseIsDown||this.touchSelect(v))&&this.drag(v),!a.openMenu&&(this.inClass(v.target,"highcharts-tracker")||a.isInsidePlot(v.chartX-a.plotLeft,v.chartY-a.plotTop,{visiblePlotOnly:!0}))&&(!g||!g.shouldStickOnContact(v))&&(this.inClass(v.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(v))}onDocumentTouchEnd(f){this.onDocumentMouseUp(f)}onContainerTouchMove(f){this.touchSelect(f)?this.onContainerMouseMove(f):this.touch(f)}onContainerTouchStart(f){this.touchSelect(f)?this.onContainerMouseDown(f):(this.zoomOption(f),this.touch(f,!0))}onDocumentMouseMove(f){let a=this.chart,g=a.tooltip,v=this.chartPosition,o=this.normalize(f,v);!v||a.isInsidePlot(o.chartX-a.plotLeft,o.chartY-a.plotTop,{visiblePlotOnly:!0})||g&&g.shouldStickOnContact(o)||this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(f){pe[_(G.hoverChartIndex,-1)]?.pointer?.drop(f)}pinch(f){let a=this,{chart:g,hasZoom:v,lastTouches:o}=a,n=[].map.call(f.touches||[],k=>a.normalize(k)),r=n.length,l=1===r&&(a.inClass(f.target,"highcharts-tracker")&&g.runTrackerClick||a.runChartClick),d=g.tooltip,C=1===r&&_(d?.options.followTouchMove,!0);r>1?a.initiated=!0:C&&(a.initiated=!1),v&&a.initiated&&!l&&!1!==f.cancelable&&f.preventDefault(),"touchstart"===f.type?(a.pinchDown=n,a.res=!0):C?this.runPointActions(a.normalize(f)):o&&(F(g,"touchpan",{originalEvent:f,touches:n},()=>{let k=p=>{let T=p[0],B=p[1]||T;return{x:T.chartX,y:T.chartY,width:B.chartX-T.chartX,height:B.chartY-T.chartY}};g.transform({axes:g.axes.filter(p=>p.zoomEnabled&&(this.zoomHor&&p.horiz||this.zoomVert&&!p.horiz)),to:k(n),from:k(o),trigger:f.type})}),a.res&&(a.res=!1,this.reset(!1,0))),a.lastTouches=n}reset(f,a){let g=this.chart,v=g.hoverSeries,o=g.hoverPoint,n=g.hoverPoints,r=g.tooltip,l=r&&r.shared?n:o;f&&l&&w(l).forEach(function(d){d.series.isCartesian&&void 0===d.plotX&&(f=!1)}),f?r&&l&&w(l).length&&(r.refresh(l),r.shared&&n?n.forEach(function(d){d.setState(d.state,!0),d.series.isCartesian&&(d.series.xAxis.crosshair&&d.series.xAxis.drawCrosshair(null,d),d.series.yAxis.crosshair&&d.series.yAxis.drawCrosshair(null,d))}):o&&(o.setState(o.state,!0),g.axes.forEach(function(d){d.crosshair&&o.series[d.coll]===d&&d.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),n&&n.forEach(function(d){d.setState()}),v&&v.onMouseOut(),r&&r.hide(a),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),g.axes.forEach(function(d){d.hideCrosshair()}),g.hoverPoints=g.hoverPoint=void 0)}runPointActions(f,a,g){let v=this.chart,n=v.tooltip&&v.tooltip.options.enabled?v.tooltip:void 0,r=!!n&&n.shared,l=a||v.hoverPoint,d=l&&l.series||v.hoverSeries,k=this.getHoverData(l,d,v.series,(!f||"touchmove"!==f.type)&&(!!a||d&&d.directTouch&&this.isDirectTouch),r,f);l=k.hoverPoint,d=k.hoverSeries;let p=k.hoverPoints,T=d&&d.tooltipOptions.followPointer&&!d.tooltipOptions.split,B=r&&d&&!d.noSharedTooltip;if(l&&(g||l!==v.hoverPoint||n&&n.isHidden)){if((v.hoverPoints||[]).forEach(function(z){-1===p.indexOf(z)&&z.setState()}),v.hoverSeries!==d&&d.onMouseOver(),this.applyInactiveState(p),(p||[]).forEach(function(z){z.setState("hover")}),v.hoverPoint&&v.hoverPoint.firePointEvent("mouseOut"),!l.series)return;v.hoverPoints=p,v.hoverPoint=l,l.firePointEvent("mouseOver",void 0,()=>{n&&l&&n.refresh(B?p:l,f)})}else if(T&&n&&!n.isHidden){let z=n.getAnchor([{}],f);v.isInsidePlot(z[0],z[1],{visiblePlotOnly:!0})&&n.updatePosition({plotX:z[0],plotY:z[1]})}this.unDocMouseMove||(this.unDocMouseMove=J(v.container.ownerDocument,"mousemove",z=>pe[G.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(z)),this.eventsToUnbind.push(this.unDocMouseMove)),v.axes.forEach(function(z){let K,U=_((z.crosshair||{}).snap,!0);!U||(K=v.hoverPoint)&&K.series[z.coll]===z||(K=j(p,se=>se.series&&se.series[z.coll]===z)),K||!U?z.drawCrosshair(f,K):z.hideCrosshair()})}setDOMEvents(){let f=this.chart.container,a=f.ownerDocument;f.onmousedown=this.onContainerMouseDown.bind(this),f.onmousemove=this.onContainerMouseMove.bind(this),f.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(J(f,"mouseenter",this.onContainerMouseEnter.bind(this)),J(f,"mouseleave",this.onContainerMouseLeave.bind(this))),G.unbindDocumentMouseUp||(G.unbindDocumentMouseUp=J(a,"mouseup",this.onDocumentMouseUp.bind(this)));let g=this.chart.renderTo.parentElement;for(;g&&"BODY"!==g.tagName;)this.eventsToUnbind.push(J(g,"scroll",()=>{delete this.chartPosition})),g=g.parentElement;this.eventsToUnbind.push(J(f,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),J(f,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),G.unbindDocumentTouchEnd||(G.unbindDocumentTouchEnd=J(a,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1}))}setHoverChartIndex(f){let a=this.chart,g=ne.charts[_(G.hoverChartIndex,-1)];g&&g!==a&&g.pointer?.onContainerMouseLeave(f||{relatedTarget:a.container}),g&&g.mouseIsDown||(G.hoverChartIndex=a.index)}touch(f,a){let g,{chart:v,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===f.touches.length?(f=this.normalize(f),v.isInsidePlot(f.chartX-v.plotLeft,f.chartY-v.plotTop,{visiblePlotOnly:!0})&&!v.openMenu?(a&&this.runPointActions(f),"touchmove"===f.type&&(g=!!o[0]&&Math.pow(o[0].chartX-f.chartX,2)+Math.pow(o[0].chartY-f.chartY,2)>=16),_(g,!0)&&this.pinch(f)):a&&this.reset()):2===f.touches.length&&this.pinch(f)}touchSelect(f){return!(!this.chart.zooming.singleTouch||!f.touches||1!==f.touches.length)}zoomOption(f){let o,n,a=this.chart,g=a.inverted,v=a.zooming.type||"";/touch/.test(f.type)&&(v=_(a.zooming.pinchType,v)),this.zoomX=o=/x/.test(v),this.zoomY=n=/y/.test(v),this.zoomHor=o&&!g||n&&g,this.zoomVert=n&&!g||o&&g,this.hasZoom=o||n}}return(ve=G||(G={})).compose=function(O){m(ue,"Core.Pointer")&&J(O,"beforeRender",function(){this.pointer=new ve(this,this.options)})},G}),Le(V,"Core/Legend/Legend.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Series/Point.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){var ue;let{animObject:J,setAnimation:te}=q,{format:X}=ne,{composed:E,marginNames:j}=re,{distribute:F}=le,{addEvent:P,createElement:D,css:A,defined:I,discardElement:_,find:m,fireEvent:w,isNumber:G,merge:O,pick:f,pushUnique:a,relativeLength:g,stableSort:v,syncTimeout:o}=pe;class n{constructor(l,d){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=l,this.setOptions(d),d.enabled&&(this.render(),P(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),P(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(l){let d=f(l.padding,8);this.options=l,this.chart.styledMode||(this.itemStyle=l.itemStyle,this.itemHiddenStyle=O(this.itemStyle,l.itemHiddenStyle)),this.itemMarginTop=l.itemMarginTop,this.itemMarginBottom=l.itemMarginBottom,this.padding=d,this.initialItemY=d-5,this.symbolWidth=f(l.symbolWidth,16),this.pages=[],this.proximate="proximate"===l.layout&&!this.chart.inverted,this.baseline=void 0}update(l,d){let C=this.chart;this.setOptions(O(!0,this.options,l)),this.destroy(),C.isDirtyLegend=C.isDirtyBox=!0,f(d,!0)&&C.redraw(),w(this,"afterUpdate",{redraw:d})}colorizeItem(l,d){let{area:C,group:k,label:p,line:T,symbol:B}=l.legendItem||{};if(k?.[d?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:z={}}=this,K=z.color,{fillColor:U,fillOpacity:se,lineColor:S,marker:$}=l.options,H=x=>(!d&&(x.fill&&(x.fill=K),x.stroke&&(x.stroke=K)),x);p?.css(O(d?this.itemStyle:z)),T?.attr(H({stroke:S||l.color})),B&&B.attr(H($&&B.isMarker?l.pointAttribs():{fill:l.color})),C?.attr(H({fill:U||l.color,"fill-opacity":U?1:se??.75}))}w(this,"afterColorizeItem",{item:l,visible:d})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(l){let{group:d,x:C=0,y:k=0}=l.legendItem||{},p=this.options,z=l.checkbox;if(d&&d.element){let K={translateX:p.rtl?this.legendWidth-C-2*p.symbolPadding-4:C,translateY:k};d[I(d.translateY)?"animate":"attr"](K,void 0,()=>{w(this,"afterPositionItem",{item:l})})}z&&(z.x=C,z.y=k)}destroyItem(l){let d=l.checkbox,C=l.legendItem||{};for(let k of["group","label","line","symbol"])C[k]&&(C[k]=C[k].destroy());d&&_(d),l.legendItem=void 0}destroy(){for(let l of this.getAllItems())this.destroyItem(l);for(let l of["clipRect","up","down","pager","nav","box","title","group"])this[l]&&(this[l]=this[l].destroy());this.display=null}positionCheckboxes(){let l,d=this.group&&this.group.alignAttr,C=this.clipHeight||this.legendHeight,k=this.titleHeight;d&&(l=d.translateY,this.allItems.forEach(function(p){let T,B=p.checkbox;B&&(T=l+k+B.y+(this.scrollOffset||0)+3,A(B,{left:d.translateX+p.checkboxOffset+B.x-20+"px",top:T+"px",display:this.proximate||T>l-6&&T1.5*_e?ge.height:_e))}layoutItem(l){let d=this.options,C=this.padding,k="horizontal"===d.layout,p=l.itemHeight,T=this.itemMarginBottom,B=this.itemMarginTop,z=k?f(d.itemDistance,20):0,K=this.maxLegendWidth,U=d.alignColumns&&this.totalItemWidth>K?this.maxItemWidth:l.itemWidth,se=l.legendItem||{};k&&this.itemX-C+U>K&&(this.itemX=C,this.lastLineHeight&&(this.itemY+=B+this.lastLineHeight+T),this.lastLineHeight=0),this.lastItemY=B+this.itemY+T,this.lastLineHeight=Math.max(p,this.lastLineHeight),se.x=this.itemX,se.y=this.itemY,k?this.itemX+=U:(this.itemY+=B+p+T,this.lastLineHeight=p),this.offsetWidth=this.widthOption||Math.max((k?this.itemX-C-(l.checkbox?0:z):U)+C,this.offsetWidth)}getAllItems(){let l=[];return this.chart.series.forEach(function(d){let C=d&&d.options;d&&f(C.showInLegend,!I(C.linkedTo)&&void 0,!0)&&(l=l.concat((d.legendItem||{}).labels||("point"===C.legendType?d.data:d)))}),w(this,"afterGetAllItems",{allItems:l}),l}getAlignment(){let l=this.options;return this.proximate?l.align.charAt(0)+"tv":l.floating?"":l.align.charAt(0)+l.verticalAlign.charAt(0)+l.layout.charAt(0)}adjustMargins(l,d){let C=this.chart,k=this.options,p=this.getAlignment();p&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(T,B){T.test(p)&&!I(l[B])&&(C[j[B]]=Math.max(C[j[B]],C.legend[(B+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][B]*k[B%2?"x":"y"]+f(k.margin,12)+d[B]+(C.titleOffset[B]||0)))})}proximatePositions(){let l,d=this.chart,C=[],k="left"===this.options.align;for(let p of(this.allItems.forEach(function(T){let B,z,U,se,K=k;T.yAxis&&(T.xAxis.options.reversed&&(K=!K),T.points&&(B=m(K?T.points:T.points.slice(0).reverse(),function(S){return G(S.plotY)})),z=this.itemMarginTop+T.legendItem.label.getBBox().height+this.itemMarginBottom,se=T.yAxis.top-d.plotTop,U=T.visible?(B?B.plotY:T.yAxis.height)+(se-.3*z):se+T.yAxis.height,C.push({target:U,size:z,item:T}))},this),F(C,d.plotHeight)))l=p.item.legendItem||{},G(p.pos)&&(l.y=d.plotTop-d.spacing[0]+p.pos)}render(){let T,B,z,U,l=this.chart,d=l.renderer,C=this.options,k=this.padding,p=this.getAllItems(),K=this.group,se=this.box;this.itemX=k,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=g(C.width,l.spacingBox.width-k),U=l.spacingBox.width-2*k-C.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(U/=2),this.maxLegendWidth=this.widthOption||U,K||(this.group=K=d.g("legend").addClass(C.className||"").attr({zIndex:7}).add(),this.contentGroup=d.g().attr({zIndex:1}).add(K),this.scrollGroup=d.g().add(this.contentGroup)),this.renderTitle(),v(p,(S,$)=>(S.options&&S.options.legendIndex||0)-($.options&&$.options.legendIndex||0)),C.reversed&&p.reverse(),this.allItems=p,this.display=T=!!p.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,p.forEach(this.renderItem,this),p.forEach(this.layoutItem,this),B=(this.widthOption||this.offsetWidth)+k,z=this.lastItemY+this.lastLineHeight+this.titleHeight,z=this.handleOverflow(z)+k,se||(this.box=se=d.rect().addClass("highcharts-legend-box").attr({r:C.borderRadius}).add(K)),l.styledMode||se.attr({stroke:C.borderColor,"stroke-width":C.borderWidth||0,fill:C.backgroundColor||"none"}).shadow(C.shadow),B>0&&z>0&&se[se.placed?"animate":"attr"](se.crisp.call({},{x:0,y:0,width:B,height:z},se.strokeWidth())),K[T?"show":"hide"](),l.styledMode&&"none"===K.getStyle("display")&&(B=z=0),this.legendWidth=B,this.legendHeight=z,T&&this.align(),this.proximate||this.positionItems(),w(this,"afterRender")}align(l=this.chart.spacingBox){let d=this.chart,C=this.options,k=l.y;/(lth|ct|rth)/.test(this.getAlignment())&&d.titleOffset[0]>0?k+=d.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&d.titleOffset[2]>0&&(k-=d.titleOffset[2]),k!==l.y&&(l=O(l,{y:k})),d.hasRendered||(this.group.placed=!1),this.group.align(O(C,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":C.verticalAlign}),!0,l)}handleOverflow(l){let R,Z,Y,d=this,C=this.chart,k=C.renderer,p=this.options,T=p.y,B="top"===p.verticalAlign,z=this.padding,K=p.maxHeight,U=p.navigation,se=f(U.animation,!0),S=U.arrowSize||12,$=this.pages,H=this.allItems,x=function(Te){"number"==typeof Te?_e.attr({height:Te}):_e&&(d.clipRect=_e.destroy(),d.contentGroup.clip()),d.contentGroup.div&&(d.contentGroup.div.style.clip=Te?"rect("+z+"px,9999px,"+(z+Te)+"px,0)":"auto")},N=function(Te){return d[Te]=k.circle(0,0,1.3*S).translate(S/2,S/2).add(ge),C.styledMode||d[Te].attr("fill","rgba(0,0,0,0.0001)"),d[Te]},he=C.spacingBox.height+(B?-T:T)-z,ge=this.nav,_e=this.clipRect;return"horizontal"!==p.layout||"middle"===p.verticalAlign||p.floating||(he/=2),K&&(he=Math.min(he,K)),$.length=0,l&&he>0&&l>he&&!1!==U.enabled?(this.clipHeight=R=Math.max(he-20-this.titleHeight-z,0),this.currentPage=f(this.currentPage,1),this.fullHeight=l,H.forEach((Te,Oe)=>{let De=(Y=Te.legendItem||{}).y||0,Be=Math.round(Y.label.getBBox().height),oe=$.length;(!oe||De-$[oe-1]>R&&(Z||De)!==$[oe-1])&&($.push(Z||De),oe++),Y.pageIx=oe-1,Z&&((H[Oe-1].legendItem||{}).pageIx=oe-1),Oe===H.length-1&&De+Be-$[oe-1]>R&&De>$[oe-1]&&($.push(De),Y.pageIx=oe),De!==Z&&(Z=De)}),_e||(_e=d.clipRect=k.clipRect(0,z-2,9999,0),d.contentGroup.clip(_e)),x(R),ge||(this.nav=ge=k.g().attr({zIndex:1}).add(this.group),this.up=k.symbol("triangle",0,0,S,S).add(ge),N("upTracker").on("click",function(){d.scroll(-1,se)}),this.pager=k.text("",15,10).addClass("highcharts-legend-navigation"),!C.styledMode&&U.style&&this.pager.css(U.style),this.pager.add(ge),this.down=k.symbol("triangle-down",0,0,S,S).add(ge),N("downTracker").on("click",function(){d.scroll(1,se)})),d.scroll(0),l=he):ge&&(x(),this.nav=ge.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),l}scroll(l,d){let C=this.chart,k=this.pages,p=k.length,T=this.clipHeight,B=this.options.navigation,z=this.pager,K=this.padding,U=this.currentPage+l;U>p&&(U=p),U>0&&(void 0!==d&&te(d,C),this.nav.attr({translateX:K,translateY:T+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(se){se.attr({class:1===U?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),z.attr({text:U+"/"+p}),[this.down,this.downTracker].forEach(function(se){se.attr({x:18+this.pager.getBBox().width,class:U===p?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),C.styledMode||(this.up.attr({fill:1===U?B.inactiveColor:B.activeColor}),this.upTracker.css({cursor:1===U?"default":"pointer"}),this.down.attr({fill:U===p?B.inactiveColor:B.activeColor}),this.downTracker.css({cursor:U===p?"default":"pointer"})),this.scrollOffset=-k[U-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=U,this.positionCheckboxes(),o(()=>{w(this,"afterScroll",{currentPage:U})},J(f(d,C.renderer.globalAnimation,!0)).duration))}setItemEvents(l,d,C){let k=this,p=l.legendItem||{},T=k.chart.renderer.boxWrapper,B=l instanceof ve,z="highcharts-legend-"+(B?"point":"series")+"-active",K=k.chart.styledMode,U=C?[d,p.symbol]:[p.group],se=S=>{k.allItems.forEach($=>{l!==$&&[$].concat($.linkedSeries||[]).forEach(H=>{H.setState(S,!B)})})};for(let S of U)S&&S.on("mouseover",function(){l.visible&&se("inactive"),l.setState("hover"),l.visible&&T.addClass(z),K||d.css(k.options.itemHoverStyle)}).on("mouseout",function(){k.chart.styledMode||d.css(O(l.visible?k.itemStyle:k.itemHiddenStyle)),se(""),T.removeClass(z),l.setState()}).on("click",function($){let H="legendItemClick",x=function(){l.setVisible&&l.setVisible(),se(l.visible?"inactive":"")};T.removeClass(z),$={browserEvent:$},l.firePointEvent?l.firePointEvent(H,$,x):w(l,H,$,x)})}createCheckboxForItem(l){l.checkbox=D("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:l.selected,defaultChecked:l.selected},this.options.itemCheckboxStyle,this.chart.container),P(l.checkbox,"click",function(d){w(l.series||l,"checkboxClick",{checked:d.target.checked,item:l},function(){l.select()})})}}return(ue=n||(n={})).compose=function(r){a(E,"Core.Legend")&&P(r,"beforeMargins",function(){this.legend=new ue(this,this.options.legend)})},n}),Le(V,"Core/Legend/LegendSymbol.js",[V["Core/Utilities.js"]],function(q){var ne;let{extend:re,merge:ve,pick:le}=q;return function(pe){function ue(J,te,X){let f,E=this.legendItem=this.legendItem||{},{chart:j,options:F}=this,{baseline:P=0,symbolWidth:D,symbolHeight:A}=J,I=this.symbol||"circle",_=A/2,m=j.renderer,w=E.group,G=P-Math.round(A*(X?.4:.3)),O={},a=F.marker,g=0;if(j.styledMode||(O["stroke-width"]=Math.min(F.lineWidth||0,24),F.dashStyle?O.dashstyle=F.dashStyle:"square"===F.linecap||(O["stroke-linecap"]="round")),E.line=m.path().addClass("highcharts-graph").attr(O).add(w),X&&(E.area=m.path().addClass("highcharts-area").add(w)),O["stroke-linecap"]&&(g=Math.min(E.line.strokeWidth(),D)/2),D){let v=[["M",g,G],["L",D-g,G]];E.line.attr({d:v}),E.area?.attr({d:[...v,["L",D-g,P],["L",g,P]]})}if(a&&!1!==a.enabled&&D){let v=Math.min(le(a.radius,_),_);0===I.indexOf("url")&&(a=ve(a,{width:A,height:A}),v=0),E.symbol=f=m.symbol(I,D/2-v,G-v,2*v,2*v,re({context:"legend"},a)).addClass("highcharts-point").add(w),f.isMarker=!0}}pe.areaMarker=function(J,te){ue.call(this,J,te,!0)},pe.lineMarker=ue,pe.rectangle=function(J,te){let X=te.legendItem||{},j=J.symbolHeight,F=J.options.squareSymbol;X.symbol=this.chart.renderer.rect(F?(J.symbolWidth-j)/2:0,J.baseline-j+1,F?j:J.symbolWidth,j,le(J.options.symbolRadius,j/2)).addClass("highcharts-point").attr({zIndex:3}).add(X.group)}}(ne||(ne={})),ne}),Le(V,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:q}=this.series.chart;return"number"!=typeof this.y?"":q(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),Le(V,"Core/Series/SeriesRegistry.js",[V["Core/Globals.js"],V["Core/Defaults.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{defaultOptions:pe}=ne,{extend:ue,extendClass:J,merge:te}=ve;return function(X){function E(j,F){let P=pe.plotOptions||{},D=F.defaultOptions,A=F.prototype;return A.type=j,A.pointClass||(A.pointClass=re),!X.seriesTypes[j]&&(D&&(P[j]=D),X.seriesTypes[j]=F,!0)}X.seriesTypes=q.seriesTypes,X.registerSeriesType=E,X.seriesType=function(j,F,P,D,A){let I=pe.plotOptions||{};if(I[j]=te(I[F=F||""],P),delete X.seriesTypes[j],E(j,J(X.seriesTypes[F]||function(){},D)),X.seriesTypes[j].prototype.type=j,A){class _ extends re{}ue(_.prototype,A),X.seriesTypes[j].prototype.pointClass=_}return X.seriesTypes[j]}}(le||(le={})),le}),Le(V,"Core/Series/Series.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Series/Point.js"],V["Core/Series/SeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X){let{animObject:E,setAnimation:j}=q,{defaultOptions:F}=ne,{registerEventOptions:P}=re,{svg:D,win:A}=ve,{seriesTypes:I}=J,{arrayMax:_,arrayMin:m,clamp:w,correctFloat:G,defined:O,destroyObjectProperties:f,diffObjects:a,erase:g,error:v,extend:o,find:n,fireEvent:r,getClosestDistance:l,getNestedProperty:d,insertItem:C,isArray:k,isNumber:p,isString:T,merge:B,objectEach:z,pick:K,removeEvent:U,splat:se,syncTimeout:S}=X;class ${constructor(){this.zoneAxis="y"}init(x,N){let R;r(this,"init",{options:N});let Z=this,Y=x.series;this.eventsToUnbind=[],Z.chart=x,Z.options=Z.setOptions(N);let he=Z.options,ge=!1!==he.visible;Z.linkedSeries=[],Z.bindAxes(),o(Z,{name:he.name,state:"",visible:ge,selected:!0===he.selected}),P(this,he);let _e=he.events;(_e&&_e.click||he.point&&he.point.events&&he.point.events.click||he.allowPointSelect)&&(x.runTrackerClick=!0),Z.getColor(),Z.getSymbol(),Z.parallelArrays.forEach(function(Te){Z[Te+"Data"]||(Z[Te+"Data"]=[])}),Z.isCartesian&&(x.hasCartesianSeries=!0),Y.length&&(R=Y[Y.length-1]),Z._i=K(R&&R._i,-1)+1,Z.opacity=Z.options.opacity,x.orderItems("series",C(this,Y)),he.dataSorting&&he.dataSorting.enabled?Z.setDataSortingOptions():Z.points||Z.data||Z.setData(he.data,!1),r(this,"afterInit")}is(x){return I[x]&&this instanceof I[x]}bindAxes(){let x,N=this,R=N.options,Z=N.chart;r(this,"bindAxes",null,function(){(N.axisTypes||[]).forEach(function(Y){Z[Y].forEach(function(he){x=he.options,(K(R[Y],0)===he.index||void 0!==R[Y]&&R[Y]===x.id)&&(C(N,he.series),N[Y]=he,he.isDirty=!0)}),N[Y]||N.optionalAxis===Y||v(18,!0,Z)})}),r(this,"afterBindAxes")}updateParallelArrays(x,N,R){let Z=x.series,Y=p(N)?function(he){let ge="y"===he&&Z.toYData?Z.toYData(x):x[he];Z[he+"Data"][N]=ge}:function(he){Array.prototype[N].apply(Z[he+"Data"],R)};Z.parallelArrays.forEach(Y)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(x,N){let R=x.marker,Z=N.marker||{};return R&&(Z.enabled&&!R.enabled||Z.symbol!==R.symbol||Z.height!==R.height||Z.width!==R.width)}autoIncrement(x){let ge,_e,N=this.options,R=N.pointIntervalUnit,Z=N.relativeXValue,Y=this.chart.time,he=this.xIncrement;return he=K(he,N.pointStart,0),this.pointInterval=_e=K(this.pointInterval,N.pointInterval,1),Z&&p(x)&&(_e*=x),R&&(ge=new Y.Date(he),"day"===R?Y.set("Date",ge,Y.get("Date",ge)+_e):"month"===R?Y.set("Month",ge,Y.get("Month",ge)+_e):"year"===R&&Y.set("FullYear",ge,Y.get("FullYear",ge)+_e),_e=ge.getTime()-he),Z&&p(x)?he+_e:(this.xIncrement=he+_e,he)}setDataSortingOptions(){let x=this.options;o(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),O(x.pointRange)||(x.pointRange=1)}setOptions(x){let N,R=this.chart,Z=R.options.plotOptions,Y=R.userOptions||{},he=B(x),ge=R.styledMode,_e={plotOptions:Z,userOptions:he};r(this,"setOptions",_e);let Te=_e.plotOptions[this.type],Oe=Y.plotOptions||{},De=Oe.series||{},Be=F.plotOptions[this.type]||{},oe=Oe[this.type]||{};this.userOptions=_e.userOptions;let ee=B(Te,Z.series,oe,he);this.tooltipOptions=B(F.tooltip,F.plotOptions.series?.tooltip,Be?.tooltip,R.userOptions.tooltip,Oe.series?.tooltip,oe.tooltip,he.tooltip),this.stickyTracking=K(he.stickyTracking,oe.stickyTracking,De.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||ee.stickyTracking),null===Te.marker&&delete ee.marker,this.zoneAxis=ee.zoneAxis||"y";let be=this.zones=(ee.zones||[]).map(xe=>({...xe}));return(ee.negativeColor||ee.negativeFillColor)&&!ee.zones&&(N={value:ee[this.zoneAxis+"Threshold"]||ee.threshold||0,className:"highcharts-negative"},ge||(N.color=ee.negativeColor,N.fillColor=ee.negativeFillColor),be.push(N)),be.length&&O(be[be.length-1].value)&&be.push(ge?{}:{color:this.color,fillColor:this.fillColor}),r(this,"afterSetOptions",{options:ee}),ee}getName(){return K(this.options.name,"Series "+(this.index+1))}getCyclic(x,N,R){let Z,Y,he=this.chart,ge=`${x}Index`,_e=`${x}Counter`,Te=R?.length||he.options.chart.colorCount;!N&&(O(Y=K("color"===x?this.options.colorIndex:void 0,this[ge]))?Z=Y:(he.series.length||(he[_e]=0),Z=he[_e]%Te,he[_e]+=1),R&&(N=R[Z])),void 0!==Z&&(this[ge]=Z),this[x]=N}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||F.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)}findPointIndex(x,N){let R,Z,Y,he=x.id,ge=x.x,_e=this.points,Te=this.options.dataSorting;if(he){let Oe=this.chart.get(he);Oe instanceof pe&&(R=Oe)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let Oe=De=>!De.touched&&De.index===x.index;if(Te&&Te.matchByName?Oe=De=>!De.touched&&De.name===x.name:this.options.relativeXValue&&(Oe=De=>!De.touched&&De.options.x===x.x),!(R=n(_e,Oe)))return}return R&&void 0!==(Y=R&&R.index)&&(Z=!0),void 0===Y&&p(ge)&&(Y=this.xData.indexOf(ge,N)),-1!==Y&&void 0!==Y&&this.cropped&&(Y=Y>=this.cropStart?Y-this.cropStart:Y),!Z&&p(Y)&&_e[Y]&&_e[Y].touched&&(Y=void 0),Y}updateData(x,N){let Te,Oe,De,Be,R=this.options,Z=R.dataSorting,Y=this.points,he=[],ge=this.requireSorting,_e=x.length===Y.length,oe=!0;if(this.xIncrement=null,x.forEach(function(ee,be){let xe,Ie=O(ee)&&this.pointClass.prototype.optionsToObject.call({series:this},ee)||{};Ie.id||p(Ie.x)?(-1===(xe=this.findPointIndex(Ie,Be))||void 0===xe?he.push(ee):Y[xe]&&ee!==R.data[xe]?(Y[xe].update(ee,!1,null,!1),Y[xe].touched=!0,ge&&(Be=xe+1)):Y[xe]&&(Y[xe].touched=!0),(!_e||be!==xe||Z&&Z.enabled||this.hasDerivedData)&&(Te=!0)):he.push(ee)},this),Te)for(Oe=Y.length;Oe--;)(De=Y[Oe])&&!De.touched&&De.remove&&De.remove(!1,N);else!_e||Z&&Z.enabled?oe=!1:(x.forEach(function(ee,be){ee===Y[be].y||Y[be].destroyed||Y[be].update(ee,!1,null,!1)}),he.length=0);return Y.forEach(function(ee){ee&&(ee.touched=!1)}),!!oe&&(he.forEach(function(ee){this.addPoint(ee,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=_(this.xData),this.autoIncrement()),!0)}setData(x,N=!0,R,Z){let we,Ee,Me,qe,Y=this,he=Y.points,ge=he&&he.length||0,_e=Y.options,Te=Y.chart,Oe=_e.dataSorting,De=Y.xAxis,Be=_e.turboThreshold,oe=this.xData,ee=this.yData,be=Y.pointArrayMap,xe=be&&be.length,Ie=_e.keys,Xe=0,Je=1,lt=null;Te.options.chart.allowMutatingData||(_e.data&&delete Y.options.data,Y.userOptions.data&&delete Y.userOptions.data,qe=B(!0,x));let st=(x=qe||x||[]).length;if(Oe&&Oe.enabled&&(x=this.sortData(x)),Te.options.chart.allowMutatingData&&!1!==Z&&st&&ge&&!Y.cropped&&!Y.hasGroupedData&&Y.visible&&!Y.boosted&&(Me=this.updateData(x,R)),!Me){if(Y.xIncrement=null,Y.colorCounter=0,this.parallelArrays.forEach(function(Tt){Y[Tt+"Data"].length=0}),Be&&st>Be)if(p(lt=Y.getFirstValidPoint(x)))for(we=0;we=0?Xe:0,Je=Je>=0?Je:1),1===lt.length&&(Je=0),Xe===Je)for(we=0;we{let ge=d(R,Y),_e=d(R,he);return _ege?1:0}).forEach(function(Y,he){Y.x=he},this),N.linkedSeries&&N.linkedSeries.forEach(function(Y){let he=Y.options,ge=he.data;he.dataSorting&&he.dataSorting.enabled||!ge||(ge.forEach(function(_e,Te){ge[Te]=Z(Y,_e),x[Te]&&(ge[Te].x=x[Te].x,ge[Te].index=Te)}),Y.setData(ge,!1))}),x}getProcessedData(x){let Te,Oe,Be,oe,ee,N=this,R=N.xAxis,Z=N.options,Y=Z.cropThreshold,he=x||N.getExtremesFromAll||Z.getExtremesFromAll,ge=R?.logarithmic,_e=N.isCartesian,De=0,be=N.xData,xe=N.yData,Ie=!1,we=be.length;R&&(oe=(Be=R.getExtremes()).min,ee=Be.max,Ie=!(!R.categories||R.names.length)),_e&&N.sorted&&!he&&(!Y||we>Y||N.forceCrop)&&(be[we-1]ee?(be=[],xe=[]):N.yData&&(be[0]ee)&&(be=(Te=this.cropData(N.xData,N.yData,oe,ee)).xData,xe=Te.yData,De=Te.start,Oe=!0));let Ee=l([ge?be.map(ge.log2lin):be],()=>N.requireSorting&&!Ie&&v(15,!1,N.chart));return{xData:be,yData:xe,cropped:Oe,cropStart:De,closestPointRange:Ee}}processData(x){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!x)return!1;let R=this.getProcessedData();this.cropped=R.cropped,this.cropStart=R.cropStart,this.processedXData=R.xData,this.processedYData=R.yData,this.closestPointRange=this.basePointRange=R.closestPointRange,r(this,"afterProcessData")}cropData(x,N,R,Z){let he,ge,Y=x.length,_e=0,Te=Y;for(he=0;he=R){_e=Math.max(0,he-1);break}for(ge=he;geZ){Te=ge+1;break}return{xData:x.slice(_e,Te),yData:N.slice(_e,Te),start:_e,end:Te}}generatePoints(){let Be,oe,ee,be,x=this.options,N=this.processedData||x.data,R=this.processedXData,Z=this.processedYData,Y=this.pointClass,he=R.length,ge=this.cropStart||0,_e=this.hasGroupedData,Te=x.keys,Oe=[],De=x.dataGrouping&&x.dataGrouping.groupAll?ge:0,xe=this.data;if(!xe&&!_e){let Ie=[];Ie.length=N.length,xe=this.data=Ie}for(Te&&_e&&(this.options.keys=!1),be=0;be0:oe.length)||!_e),De=N||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!R||(Y[ee+ge]||Be)>=xe&&(Y[ee-ge]||Be)<=Ie,Oe&&De)if(be=oe.length)for(;be--;)p(oe[be])&&(he[we++]=oe[be]);else he[we++]=oe;let Me={activeYData:he,dataMin:m(he),dataMax:_(he)};return r(this,"afterGetExtremes",{dataExtremes:Me}),Me}applyExtremes(){let x=this.getExtremes();return this.dataMin=x.dataMin,this.dataMax=x.dataMax,x}getFirstValidPoint(x){let N=x.length,R=0,Z=null;for(;null===Z&&R1)&&(he.step=function(Be,oe){De&&De.apply(oe,arguments),"width"===oe.prop&&Te?.element&&Te.attr(Y?"height":"width",Be+99)}),_e.addClass("highcharts-animating").animate(Oe,he)}}afterAnimate(){this.setClip(),z(this.chart.sharedClips,(x,N,R)=>{x&&!this.chart.container.querySelector(`[clip-path="url(#${x.id})"]`)&&(x.destroy(),delete R[N])}),this.finishedAnimating=!0,r(this,"afterAnimate")}drawPoints(x=this.points){let N,R,Z,Y,he,ge,_e,Te=this.chart,Oe=Te.styledMode,{colorAxis:De,options:Be}=this,oe=Be.marker,ee=this[this.specialGroup||"markerGroup"],be=this.xAxis,xe=K(oe.enabled,!be||!!be.isRadial||null,this.closestPointRangePx>=oe.enabledThreshold*oe.radius);if(!1!==oe.enabled||this._hasPointMarkers)for(N=0;N0||R.hasImage)&&(R.graphic=Z=Te.renderer.symbol(Ie,_e.x,_e.y,_e.width,_e.height,ge?he:oe).add(ee),this.enabledDataSorting&&Te.hasRendered&&(Z.attr({x:R.startXPos}),Y="animate")),Z&&"animate"===Y&&Z[we?"show":"hide"](we).animate(_e),Z){let Ee=this.pointAttribs(R,Oe||!R.selected?void 0:"select");Oe?De&&Z.css({fill:Ee.fill}):Z[Y](Ee)}Z&&Z.addClass(R.getClassName(),!0)}else Z&&(R.graphic=Z.destroy())}markerAttribs(x,N){let _e,Te,R=this.options,Z=R.marker,Y=x.marker||{},he=Y.symbol||Z.symbol,ge={},Oe=K(Y.radius,Z&&Z.radius);N&&(_e=Z.states[N],Oe=K((Te=Y.states&&Y.states[N])&&Te.radius,_e&&_e.radius,Oe&&Oe+(_e&&_e.radiusPlus||0))),x.hasImage=he&&0===he.indexOf("url"),x.hasImage&&(Oe=0);let De=x.pos();return p(Oe)&&De&&(ge.x=De[0]-Oe,ge.y=De[1]-Oe,R.crisp&&(ge.x=Math.floor(ge.x))),Oe&&(ge.width=ge.height=2*Oe),ge}pointAttribs(x,N){let Te,Oe,Be,oe,R=this.options.marker,Z=x&&x.options,Y=Z&&Z.marker||{},he=Z&&Z.color,ge=x&&x.color,_e=x&&x.zone&&x.zone.color,De=this.color,ee=K(Y.lineWidth,R.lineWidth),be=1;return De=he||_e||ge||De,Be=Y.fillColor||R.fillColor||De,oe=Y.lineColor||R.lineColor||De,Te=R.states[N=N||"normal"]||{},ee=K((Oe=Y.states&&Y.states[N]||{}).lineWidth,Te.lineWidth,ee+K(Oe.lineWidthPlus,Te.lineWidthPlus,0)),Be=Oe.fillColor||Te.fillColor||Be,{stroke:oe=Oe.lineColor||Te.lineColor||oe,"stroke-width":ee,fill:Be,opacity:be=K(Oe.opacity,Te.opacity,be)}}destroy(x){let N,R,Z,Y=this,he=Y.chart,ge=/AppleWebKit\/533/.test(A.navigator.userAgent),_e=Y.data||[];for(r(Y,"destroy",{keepEventsForUpdate:x}),this.removeEvents(x),(Y.axisTypes||[]).forEach(function(Te){(Z=Y[Te])&&Z.series&&(g(Z.series,Y),Z.isDirty=Z.forceRedraw=!0)}),Y.legendItem&&Y.chart.legend.destroyItem(Y),N=_e.length;N--;)(R=_e[N])&&R.destroy&&R.destroy();for(let Te of Y.zones)f(Te,void 0,!0);X.clearTimeout(Y.animationTimeout),z(Y,function(Te,Oe){Te instanceof te&&!Te.survive&&Te[ge&&"group"===Oe?"hide":"destroy"]()}),he.hoverSeries===Y&&(he.hoverSeries=void 0),g(he.series,Y),he.orderItems("series"),z(Y,function(Te,Oe){x&&"hcEvents"===Oe||delete Y[Oe]})}applyZones(){let{area:x,chart:N,graph:R,zones:Z,points:Y,xAxis:he,yAxis:ge,zoneAxis:_e}=this,{inverted:Te,renderer:Oe}=N,De=this[`${_e}Axis`],{isXAxis:Be,len:oe=0}=De||{},ee=(R?.strokeWidth()||0)/2+1,be=(xe,Ie=0,we=0)=>{Te&&(we=oe-we);let{translated:Ee=0,lineClip:Me}=xe,Xe=we-Ee;Me?.push(["L",Ie,Math.abs(Xe){Me.forEach((Xe,Je)=>{("M"===Xe[0]||"L"===Xe[0])&&(Me[Je]=[Xe[0],Be?oe-Xe[1]:Xe[1],Be?Xe[2]:oe-Xe[2]])})};if(Z.forEach(Me=>{Me.lineClip=[],Me.translated=w(De.toPixels(K(Me.value,xe),!0)||0,0,oe)}),R&&!this.showLine&&R.hide(),x&&x.hide(),"y"===_e&&Y.length{let Xe=Me.lineClip||[],Je=Math.round(Me.translated||0);he.reversed&&Xe.reverse();let{clip:lt,simpleClip:qe}=Me,st=0,Tt=0,pt=he.len,ht=ge.len;Be?(st=Je,pt=Ee):(Tt=Je,ht=Ee);let Pt=[["M",st,Tt],["L",pt,Tt],["L",pt,ht],["L",st,ht],["Z"]],Gt=[Pt[0],...Xe,Pt[1],Pt[2],...we,Pt[3],Pt[4]];we=Xe.reverse(),Ee=Je,Te&&(Ie(Gt),x&&Ie(Pt)),lt?(lt.animate({d:Gt}),qe?.animate({d:Pt})):(lt=Me.clip=Oe.path(Gt),x&&(qe=Me.simpleClip=Oe.path(Pt))),R&&Me.graph?.clip(lt),x&&Me.area?.clip(qe)})}else this.visible&&(R&&R.show(),x&&x.show())}plotGroup(x,N,R,Z,Y){let he=this[x],ge=!he,_e={visibility:R,zIndex:Z||.1};return O(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(_e.opacity=this.opacity),he||(this[x]=he=this.chart.renderer.g().add(Y)),he.addClass("highcharts-"+N+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(O(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(he.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),he.attr(_e)[ge?"attr":"animate"](this.getPlotBox(N)),he}getPlotBox(x){let N=this.xAxis,R=this.yAxis,Z=this.chart,Y=Z.inverted&&!Z.polar&&N&&this.invertible&&"series"===x;return Z.inverted&&(N=R,R=this.xAxis),{translateX:N?N.left:Z.plotLeft,translateY:R?R.top:Z.plotTop,rotation:Y?90:0,rotationOriginX:Y?(N.len-R.len)/2:0,rotationOriginY:Y?(N.len+R.len)/2:0,scaleX:Y?-1:1,scaleY:1}}removeEvents(x){let{eventsToUnbind:N}=this;x||U(this),N.length&&(N.forEach(R=>{R()}),N.length=0)}render(){let x=this,{chart:N,options:R,hasRendered:Z}=x,Y=E(R.animation),he=x.visible?"inherit":"hidden",ge=R.zIndex,_e=N.seriesGroup,Te=x.finishedAnimating?0:Y.duration;r(this,"render"),x.plotGroup("group","series",he,ge,_e),x.markerGroup=x.plotGroup("markerGroup","markers",he,ge,_e),!1!==R.clip&&x.setClip(),Te&&x.animate?.(!0),x.drawGraph&&(x.drawGraph(),x.applyZones()),x.visible&&x.drawPoints(),x.drawDataLabels?.(),x.redrawPoints?.(),R.enableMouseTracking&&x.drawTracker?.(),Te&&x.animate?.(),Z||(Te&&Y.defer&&(Te+=Y.defer),x.animationTimeout=S(()=>{x.afterAnimate()},Te||0)),x.isDirty=!1,x.hasRendered=!0,r(x,"afterRender")}redraw(){let x=this.isDirty||this.isDirtyData;this.translate(),this.render(),x&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(x,N){let{xAxis:R,yAxis:Z}=this,Y=this.chart.inverted;return this.searchKDTree({clientX:Y?R.len-x.chartY+R.pos:x.chartX-R.pos,plotY:Y?Z.len-x.chartX+Z.pos:x.chartY-Z.pos},N,x)}buildKDTree(x){this.buildingKdTree=!0;let N=this,R=N.options.findNearestPointBy.indexOf("y")>-1?2:1;delete N.kdTree,S(function(){N.kdTree=function Z(Y,he,ge){let _e,Te,Oe=Y?.length;if(Oe)return _e=N.kdAxisArray[he%ge],Y.sort((De,Be)=>(De[_e]||0)-(Be[_e]||0)),{point:Y[Te=Math.floor(Oe/2)],left:Z(Y.slice(0,Te),he+1,ge),right:Z(Y.slice(Te+1),he+1,ge)}}(N.getValidPoints(void 0,!N.directTouch),R,R),N.buildingKdTree=!1},N.options.kdNow||"touchstart"===x?.type?0:1)}searchKDTree(x,N,R){let Z=this,[Y,he]=this.kdAxisArray,ge=N?"distX":"dist",_e=(Z.options.findNearestPointBy||"").indexOf("y")>-1?2:1,Te=!!Z.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(R),this.kdTree)return function Oe(De,Be,oe,ee){let Ie,we,be=Be.point,xe=Z.kdAxisArray[oe%ee],Ee=be;!function(lt,qe){let st=lt[Y],Tt=qe[Y],pt=O(st)&&O(Tt)?st-Tt:null,ht=lt[he],Pt=qe[he],Gt=O(ht)&&O(Pt)?ht-Pt:0,ti=Te&&qe.marker?.radius||0;qe.dist=Math.sqrt((pt&&pt*pt||0)+Gt*Gt)-ti,qe.distX=O(pt)?Math.abs(pt)-ti:Number.MAX_VALUE}(De,be);let Me=(De[xe]||0)-(be[xe]||0)+(Te&&be.marker?.radius||0),Xe=Me<0?"left":"right",Je=Me<0?"right":"left";return Be[Xe]&&(Ee=(Ie=Oe(De,Be[Xe],oe+1,ee))[ge]=0&&he<=(Z?Z.len:N.plotHeight)&&Y>=0&&Y<=(R?R.len:N.plotWidth)}drawTracker(){let x=this,N=x.options,R=N.trackByArea,Z=[].concat((R?x.areaPath:x.graphPath)||[]),Y=x.chart,he=Y.pointer,ge=Y.renderer,_e=Y.options.tooltip?.snap||0,Te=()=>{N.enableMouseTracking&&Y.hoverSeries!==x&&x.onMouseOver()},Oe="rgba(192,192,192,"+(D?1e-4:.002)+")",De=x.tracker;De?De.attr({d:Z}):x.graph&&(x.tracker=De=ge.path(Z).attr({visibility:x.visible?"inherit":"hidden",zIndex:2}).addClass(R?"highcharts-tracker-area":"highcharts-tracker-line").add(x.group),Y.styledMode||De.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:Oe,fill:R?Oe:"none","stroke-width":x.graph.strokeWidth()+(R?0:2*_e)}),[x.tracker,x.markerGroup,x.dataLabelsGroup].forEach(Be=>{Be&&(Be.addClass("highcharts-tracker").on("mouseover",Te).on("mouseout",oe=>{he?.onTrackerMouseOut(oe)}),N.cursor&&!Y.styledMode&&Be.css({cursor:N.cursor}),Be.on("touchstart",Te))})),r(this,"afterDrawTracker")}addPoint(x,N,R,Z,Y){let he,ge,_e=this.options,Te=this.data,Oe=this.chart,De=this.xAxis,Be=De&&De.hasNames&&De.names,oe=_e.data,ee=this.xData;N=K(N,!0);let be={series:this};this.pointClass.prototype.applyOptions.apply(be,[x]);let xe=be.x;if(ge=ee.length,this.requireSorting&&xexe;)ge--;this.updateParallelArrays(be,"splice",[ge,0,0]),this.updateParallelArrays(be,ge),Be&&be.name&&(Be[xe]=be.name),oe.splice(ge,0,x),(he||this.processedData)&&(this.data.splice(ge,0,null),this.processData()),"point"===_e.legendType&&this.generatePoints(),R&&(Te[0]&&Te[0].remove?Te[0].remove(!1):(Te.shift(),this.updateParallelArrays(be,"shift"),oe.shift())),!1!==Y&&r(this,"addPoint",{point:be}),this.isDirty=!0,this.isDirtyData=!0,N&&Oe.redraw(Z)}removePoint(x,N,R){let Z=this,Y=Z.data,he=Y[x],ge=Z.points,_e=Z.chart,Te=function(){ge&&ge.length===Y.length&&ge.splice(x,1),Y.splice(x,1),Z.options.data.splice(x,1),Z.updateParallelArrays(he||{series:Z},"splice",[x,1]),he&&he.destroy(),Z.isDirty=!0,Z.isDirtyData=!0,N&&_e.redraw()};j(R,_e),N=K(N,!0),he?he.firePointEvent("remove",null,Te):Te()}remove(x,N,R,Z){let Y=this,he=Y.chart;function ge(){Y.destroy(Z),he.isDirtyLegend=he.isDirtyBox=!0,he.linkSeries(Z),K(x,!0)&&he.redraw(N)}!1!==R?r(Y,"remove",null,ge):ge()}update(x,N){r(this,"update",{options:x=a(x,this.userOptions)});let De,Be,R=this,Z=R.chart,Y=R.userOptions,he=R.initialType||R.type,ge=Z.options.plotOptions,_e=I[he].prototype,Te=R.finishedAnimating&&{animation:!1},Oe={},oe=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],ee=x.type||Y.type||Z.options.chart.type,be=!(this.hasDerivedData||ee&&ee!==this.type||void 0!==x.pointStart||void 0!==x.pointInterval||void 0!==x.relativeXValue||x.joinBy||x.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(Ie=>R.hasOptionChanged(Ie)));ee=ee||he,be&&(oe.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==x.visible&&oe.push("area","graph"),R.parallelArrays.forEach(function(Ie){oe.push(Ie+"Data")}),x.data&&(x.dataSorting&&o(R.options.dataSorting,x.dataSorting),this.setData(x.data,!1))),x=B(Y,{index:void 0===Y.index?R.index:Y.index,pointStart:ge?.series?.pointStart??Y.pointStart??R.xData?.[0]},!be&&{data:R.options.data},x,Te),be&&x.data&&(x.data=R.options.data),(oe=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(oe)).forEach(function(Ie){oe[Ie]=R[Ie],delete R[Ie]});let xe=!1;if(I[ee]){if(xe=ee!==R.type,R.remove(!1,!1,!1,!0),xe)if(Z.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(R,I[ee].prototype);else{let Ie=Object.hasOwnProperty.call(R,"hcEvents")&&R.hcEvents;for(Be in _e)R[Be]=void 0;o(R,I[ee].prototype),Ie?R.hcEvents=Ie:delete R.hcEvents}}else v(17,!0,Z,{missingModuleFor:ee});if(oe.forEach(function(Ie){R[Ie]=oe[Ie]}),R.init(Z,x),be&&this.points)for(let Ie of(!1===(De=R.options).visible?(Oe.graphic=1,Oe.dataLabel=1):(this.hasMarkerChanged(De,Y)&&(Oe.graphic=1),R.hasDataLabels?.()||(Oe.dataLabel=1)),this.points))Ie&&Ie.series&&(Ie.resolveColor(),Object.keys(Oe).length&&Ie.destroyElements(Oe),!1===De.showInLegend&&Ie.legendItem&&Z.legend.destroyItem(Ie));R.initialType=he,Z.linkSeries(),Z.setSortedData(),xe&&R.linkedSeries.length&&(R.isDirtyData=!0),r(this,"afterUpdate"),K(N,!0)&&Z.redraw(!!be&&void 0)}setName(x){this.name=this.options.name=this.userOptions.name=x,this.chart.isDirtyLegend=!0}hasOptionChanged(x){let R=this.options[x],Z=this.chart.options.plotOptions,Y=this.userOptions[x],he=K(Z?.[this.type]?.[x],Z?.series?.[x]);return Y&&!O(he)?R!==Y:R!==K(he,R)}onMouseOver(){let x=this.chart,N=x.hoverSeries;x.pointer?.setHoverChartIndex(),N&&N!==this&&N.onMouseOut(),this.options.events.mouseOver&&r(this,"mouseOver"),this.setState("hover"),x.hoverSeries=this}onMouseOut(){let x=this.options,N=this.chart,R=N.tooltip,Z=N.hoverPoint;N.hoverSeries=null,Z&&Z.onMouseOut(),this&&x.events.mouseOut&&r(this,"mouseOut"),R&&!this.stickyTracking&&(!R.shared||this.noSharedTooltip)&&R.hide(),N.series.forEach(function(Y){Y.setState("",!0)})}setState(x,N){let R=this,Z=R.options,Y=R.graph,he=Z.inactiveOtherPoints,ge=Z.states,_e=K(ge[x||"normal"]&&ge[x||"normal"].animation,R.chart.options.chart.animation),Te=Z.lineWidth,Oe=Z.opacity;if(R.state!==(x=x||"")&&([R.group,R.markerGroup,R.dataLabelsGroup].forEach(function(De){De&&(R.state&&De.removeClass("highcharts-series-"+R.state),x&&De.addClass("highcharts-series-"+x))}),R.state=x,!R.chart.styledMode)){if(ge[x]&&!1===ge[x].enabled)return;if(x&&(Te=ge[x].lineWidth||Te+(ge[x].lineWidthPlus||0),Oe=K(ge[x].opacity,Oe)),Y&&!Y.dashstyle&&p(Te))for(let De of[Y,...this.zones.map(Be=>Be.graph)])De?.animate({"stroke-width":Te},_e);he||[R.group,R.markerGroup,R.dataLabelsGroup,R.labelBySeries].forEach(function(De){De&&De.animate({opacity:Oe},_e)})}N&&he&&R.points&&R.setAllPointsToState(x||void 0)}setAllPointsToState(x){this.points.forEach(function(N){N.setState&&N.setState(x)})}setVisible(x,N){let R=this,Z=R.chart,Y=Z.options.chart.ignoreHiddenSeries;R.visible=x=R.options.visible=R.userOptions.visible=void 0===x?!R.visible:x;let ge=x?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(_e=>{R[_e]?.[ge]()}),(Z.hoverSeries===R||Z.hoverPoint?.series===R)&&R.onMouseOut(),R.legendItem&&Z.legend.colorizeItem(R,x),R.isDirty=!0,R.options.stacking&&Z.series.forEach(_e=>{_e.options.stacking&&_e.visible&&(_e.isDirty=!0)}),R.linkedSeries.forEach(_e=>{_e.setVisible(x,!1)}),Y&&(Z.isDirtyBox=!0),r(R,ge),!1!==N&&Z.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(x){this.selected=x=this.options.selected=void 0===x?!this.selected:x,this.checkbox&&(this.checkbox.checked=x),r(this,x?"select":"unselect")}shouldShowTooltip(x,N,R={}){return R.series=this,R.visiblePlotOnly=!0,this.chart.isInsidePlot(x,N,R)}drawLegendSymbol(x,N){le[this.options.legendSymbol||"rectangle"]?.call(this,x,N)}}return $.defaultOptions=ue,$.types=J.seriesTypes,$.registerType=J.registerSeriesType,o($.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:pe,requireSorting:!0,sorted:!0}),J.series=$,$}),Le(V,"Core/Chart/Chart.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Time.js"],V["Core/Utilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Axis/Tick.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X,E,j,F,P){let{animate:D,animObject:A,setAnimation:I}=q,{defaultOptions:_,defaultTime:m}=re,{numberFormat:w}=ve,{registerEventOptions:G}=le,{charts:O,doc:f,marginNames:a,svg:g,win:v}=pe,{seriesTypes:o}=te,{addEvent:n,attr:r,createElement:l,css:d,defined:C,diffObjects:k,discardElement:p,erase:T,error:B,extend:z,find:K,fireEvent:U,getStyle:se,isArray:S,isNumber:$,isObject:H,isString:x,merge:N,objectEach:R,pick:Z,pInt:Y,relativeLength:he,removeEvent:ge,splat:_e,syncTimeout:Te,uniqueKey:Oe}=j;class De{static chart(oe,ee,be){return new De(oe,ee,be)}constructor(oe,ee,be){this.sharedClips={};let xe=[...arguments];(x(oe)||oe.nodeName)&&(this.renderTo=xe.shift()),this.init(xe[0],xe[1])}setZoomOptions(){let oe=this.options.chart,ee=oe.zooming;this.zooming={...ee,type:Z(oe.zoomType,ee.type),key:Z(oe.zoomKey,ee.key),pinchType:Z(oe.pinchType,ee.pinchType),singleTouch:Z(oe.zoomBySingleTouch,ee.singleTouch,!1),resetButton:N(ee.resetButton,oe.resetZoomButton)}}init(oe,ee){U(this,"init",{args:arguments},function(){let be=N(_,oe),xe=be.chart;this.userOptions=z({},oe),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=ee,this.isResizing=0,this.options=be,this.axes=[],this.series=[],this.time=oe.time&&Object.keys(oe.time).length?new E(oe.time):pe.time,this.numberFormatter=xe.numberFormatter||w,this.styledMode=xe.styledMode,this.hasCartesianSeries=xe.showAxes,this.index=O.length,O.push(this),pe.chartCount++,G(this,xe),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),U(this,"afterInit"),this.firstRender()})}initSeries(oe){let be=oe.type||this.options.chart.type,xe=o[be];xe||B(17,!0,this,{missingModuleFor:be});let Ie=new xe;return"function"==typeof Ie.init&&Ie.init(this,oe),Ie}setSortedData(){this.getSeriesOrderByLinks().forEach(function(oe){oe.points||oe.data||!oe.enabledDataSorting||oe.setData(oe.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(oe,ee){return oe.linkedSeries.length||ee.linkedSeries.length?ee.linkedSeries.length-oe.linkedSeries.length:0})}orderItems(oe,ee=0){let be=this[oe],xe=this.options[oe]=_e(this.options[oe]).slice(),Ie=this.userOptions[oe]=this.userOptions[oe]?_e(this.userOptions[oe]).slice():[];if(this.hasRendered&&(xe.splice(ee),Ie.splice(ee)),be)for(let we=ee,Ee=be.length;we=Math.max(Xe+we,ht.pos)&&Pt<=Math.min(Xe+we+qe.width,ht.pos+ht.len)||(pt.isInsidePlot=!1)}if(!be.ignoreY&&pt.isInsidePlot){let ht=!xe&&be.axis&&!be.axis.isXAxis&&be.axis||lt&&(xe?lt.xAxis:lt.yAxis)||{pos:Ee,len:1/0},Pt=be.paneCoordinates?ht.pos+Tt:Ee+Tt;Pt>=Math.max(Je+Ee,ht.pos)&&Pt<=Math.min(Je+Ee+qe.height,ht.pos+ht.len)||(pt.isInsidePlot=!1)}return U(this,"afterIsInsidePlot",pt),pt.isInsidePlot}redraw(oe){U(this,"beforeRedraw");let Je,lt,qe,pt,ee=this.hasCartesianSeries?this.axes:this.colorAxis||[],be=this.series,xe=this.pointer,Ie=this.legend,we=this.userOptions.legend,Ee=this.renderer,Me=Ee.isHidden(),Xe=[],st=this.isDirtyBox,Tt=this.isDirtyLegend;for(Ee.rootFontSize=Ee.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),I(!!this.hasRendered&&oe,this),Me&&this.temporaryDisplay(),this.layOutTitles(!1),qe=be.length;qe--;)if(((pt=be[qe]).options.stacking||pt.options.centerInCategory)&&(lt=!0,pt.isDirty)){Je=!0;break}if(Je)for(qe=be.length;qe--;)(pt=be[qe]).options.stacking&&(pt.isDirty=!0);be.forEach(function(ht){ht.isDirty&&("point"===ht.options.legendType?("function"==typeof ht.updateTotals&&ht.updateTotals(),Tt=!0):we&&(we.labelFormatter||we.labelFormat)&&(Tt=!0)),ht.isDirtyData&&U(ht,"updatedData")}),Tt&&Ie&&Ie.options.enabled&&(Ie.render(),this.isDirtyLegend=!1),lt&&this.getStacks(),ee.forEach(function(ht){ht.updateNames(),ht.setScale()}),this.getMargins(),ee.forEach(function(ht){ht.isDirty&&(st=!0)}),ee.forEach(function(ht){let Pt=ht.min+","+ht.max;ht.extKey!==Pt&&(ht.extKey=Pt,Xe.push(function(){U(ht,"afterSetExtremes",z(ht.eventArgs,ht.getExtremes())),delete ht.eventArgs})),(st||lt)&&ht.redraw()}),st&&this.drawChartBox(),U(this,"predraw"),be.forEach(function(ht){(st||ht.isDirty)&&ht.visible&&ht.redraw(),ht.isDirtyData=!1}),xe&&xe.reset(!0),Ee.draw(),U(this,"redraw"),U(this,"render"),Me&&this.temporaryDisplay(!0),Xe.forEach(function(ht){ht.call()})}get(oe){let ee=this.series;function be(Ie){return Ie.id===oe||Ie.options&&Ie.options.id===oe}let xe=K(this.axes,be)||K(this.series,be);for(let Ie=0;!xe&&Ie(ee.getPointsCollection().forEach(be=>{Z(be.selectedStaging,be.selected)&&oe.push(be)}),oe),[])}getSelectedSeries(){return this.series.filter(function(oe){return oe.selected})}setTitle(oe,ee,be){this.applyDescription("title",oe),this.applyDescription("subtitle",ee),this.applyDescription("caption",void 0),this.layOutTitles(be)}applyDescription(oe,ee){let be=this,xe=this.options[oe]=N(this.options[oe],ee),Ie=this[oe];Ie&&ee&&(this[oe]=Ie=Ie.destroy()),xe&&!Ie&&((Ie=this.renderer.text(xe.text,0,0,xe.useHTML).attr({align:xe.align,class:"highcharts-"+oe,zIndex:xe.zIndex||4}).add()).update=function(we,Ee){be.applyDescription(oe,we),be.layOutTitles(Ee)},this.styledMode||Ie.css(z("title"===oe?{fontSize:this.options.isStock?"1em":"1.2em"}:{},xe.style)),this[oe]=Ie)}layOutTitles(oe=!0){let ee=[0,0,0],be=this.renderer,xe=this.spacingBox;["title","subtitle","caption"].forEach(function(we){let Ee=this[we],Me=this.options[we],Xe=Me.verticalAlign||"top",Je="title"===we?"top"===Xe?-3:0:"top"===Xe?ee[0]+2:0;if(Ee){Ee.css({width:(Me.width||xe.width+(Me.widthAdjust||0))+"px"});let lt=be.fontMetrics(Ee).b,qe=Math.round(Ee.getBBox(Me.useHTML).height);Ee.align(z({y:"bottom"===Xe?lt:Je+lt,height:qe},Me),!1,"spacingBox"),Me.floating||("top"===Xe?ee[0]=Math.ceil(ee[0]+qe):"bottom"===Xe&&(ee[2]=Math.ceil(ee[2]+qe)))}},this),ee[0]&&"top"===(this.options.title.verticalAlign||"top")&&(ee[0]+=this.options.title.margin),ee[2]&&"bottom"===this.options.caption.verticalAlign&&(ee[2]+=this.options.caption.margin);let Ie=!this.titleOffset||this.titleOffset.join(",")!==ee.join(",");this.titleOffset=ee,U(this,"afterLayOutTitles"),!this.isDirtyBox&&Ie&&(this.isDirtyBox=this.isDirtyLegend=Ie,this.hasRendered&&oe&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:se(this.renderTo,"width",!0)||0,height:se(this.renderTo,"height",!0)||0}}getChartSize(){let oe=this.options.chart,ee=oe.width,be=oe.height,xe=this.getContainerBox();this.chartWidth=Math.max(0,ee||xe.width||600),this.chartHeight=Math.max(0,he(be,this.chartWidth)||(xe.height>1?xe.height:400)),this.containerBox=xe}temporaryDisplay(oe){let be,ee=this.renderTo;if(oe)for(;ee&&ee.style;)ee.hcOrigStyle&&(d(ee,ee.hcOrigStyle),delete ee.hcOrigStyle),ee.hcOrigDetached&&(f.body.removeChild(ee),ee.hcOrigDetached=!1),ee=ee.parentNode;else for(;ee&&ee.style&&(f.body.contains(ee)||ee.parentNode||(ee.hcOrigDetached=!0,f.body.appendChild(ee)),("none"===se(ee,"display",!1)||ee.hcOricDetached)&&(ee.hcOrigStyle={display:ee.style.display,height:ee.style.height,overflow:ee.style.overflow},be={display:"block",overflow:"hidden"},ee!==this.renderTo&&(be.height=0),d(ee,be),ee.offsetWidth||ee.style.setProperty("display","block","important")),(ee=ee.parentNode)!==f.body););}setClassName(oe){this.container.className="highcharts-container "+(oe||"")}getContainer(){let Ie,oe=this.options,ee=oe.chart,be="data-highcharts-chart",xe=Oe(),we=this.renderTo;we||(this.renderTo=we=ee.renderTo),x(we)&&(this.renderTo=we=f.getElementById(we)),we||B(13,!0,this);let Ee=Y(r(we,be));$(Ee)&&O[Ee]&&O[Ee].hasRendered&&O[Ee].destroy(),r(we,be,this.index),we.innerHTML=F.emptyHTML,ee.skipClone||we.offsetWidth||this.temporaryDisplay(),this.getChartSize();let Me=this.chartHeight,Xe=this.chartWidth;d(we,{overflow:"hidden"}),this.styledMode||(Ie=z({position:"relative",overflow:"hidden",width:Xe+"px",height:Me+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},ee.style||{}));let Je=l("div",{id:xe},Ie,we);this.container=Je,this.getChartSize(),Xe===this.chartWidth||(Xe=this.chartWidth,this.styledMode||d(Je,{width:Z(ee.style?.width,Xe+"px")})),this.containerBox=this.getContainerBox(),this._cursor=Je.style.cursor;let lt=ee.renderer||!g?ue.getRendererType(ee.renderer):X;if(this.renderer=new lt(Je,Xe,Me,void 0,ee.forExport,oe.exporting&&oe.exporting.allowHTML,this.styledMode),I(void 0,this),this.setClassName(ee.className),this.styledMode)for(let qe in oe.defs)this.renderer.definition(oe.defs[qe]);else this.renderer.setStyle(ee.style);this.renderer.chartIndex=this.index,U(this,"afterGetContainer")}getMargins(oe){let{spacing:ee,margin:be,titleOffset:xe}=this;this.resetMargins(),xe[0]&&!C(be[0])&&(this.plotTop=Math.max(this.plotTop,xe[0]+ee[0])),xe[2]&&!C(be[2])&&(this.marginBottom=Math.max(this.marginBottom,xe[2]+ee[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(be,ee),U(this,"getMargins"),oe||this.getAxisMargins()}getAxisMargins(){let oe=this,ee=oe.axisOffset=[0,0,0,0],be=oe.colorAxis,xe=oe.margin,Ie=function(we){we.forEach(function(Ee){Ee.visible&&Ee.getOffset()})};oe.hasCartesianSeries?Ie(oe.axes):be&&be.length&&Ie(be),a.forEach(function(we,Ee){C(xe[Ee])||(oe[we]+=ee[Ee])}),oe.setChartSize()}getOptions(){return k(this.userOptions,_)}reflow(oe){let ee=this,be=ee.containerBox,xe=ee.getContainerBox();delete ee.pointer?.chartPosition,!ee.isPrinting&&!ee.isResizing&&be&&xe.width&&((xe.width!==be.width||xe.height!==be.height)&&(j.clearTimeout(ee.reflowTimeout),ee.reflowTimeout=Te(function(){ee.container&&ee.setSize(void 0,void 0,!1)},oe?100:0)),ee.containerBox=xe)}setReflow(){let oe=this,ee=be=>{oe.options?.chart.reflow&&oe.hasLoaded&&oe.reflow(be)};if("function"==typeof ResizeObserver)new ResizeObserver(ee).observe(oe.renderTo);else{let be=n(v,"resize",ee);n(this,"destroy",be)}}setSize(oe,ee,be){let xe=this,Ie=xe.renderer;xe.isResizing+=1,I(be,xe);let we=Ie.globalAnimation;xe.oldChartHeight=xe.chartHeight,xe.oldChartWidth=xe.chartWidth,void 0!==oe&&(xe.options.chart.width=oe),void 0!==ee&&(xe.options.chart.height=ee),xe.getChartSize();let{chartWidth:Ee,chartHeight:Me,scrollablePixelsX:Xe=0,scrollablePixelsY:Je=0}=xe;(xe.isDirtyBox||Ee!==xe.oldChartWidth||Me!==xe.oldChartHeight)&&(xe.styledMode||(we?D:d)(xe.container,{width:`${Ee+Xe}px`,height:`${Me+Je}px`},we),xe.setChartSize(!0),Ie.setSize(Ee,Me,we),xe.axes.forEach(function(lt){lt.isDirty=!0,lt.setScale()}),xe.isDirtyLegend=!0,xe.isDirtyBox=!0,xe.layOutTitles(),xe.getMargins(),xe.redraw(we),xe.oldChartHeight=void 0,U(xe,"resize"),setTimeout(()=>{xe&&U(xe,"endResize",void 0,()=>{xe.isResizing-=1})},A(we).duration))}setChartSize(oe){let ee,be,xe,Ie,we=this.inverted,Ee=this.renderer,Me=this.chartWidth,Xe=this.chartHeight,Je=this.options.chart,lt=this.spacing,qe=this.clipOffset;this.plotLeft=ee=Math.round(this.plotLeft),this.plotTop=be=Math.round(this.plotTop),this.plotWidth=xe=Math.max(0,Math.round(Me-ee-this.marginRight)),this.plotHeight=Ie=Math.max(0,Math.round(Xe-be-this.marginBottom)),this.plotSizeX=we?Ie:xe,this.plotSizeY=we?xe:Ie,this.plotBorderWidth=Je.plotBorderWidth||0,this.spacingBox=Ee.spacingBox={x:lt[3],y:lt[0],width:Me-lt[3]-lt[1],height:Xe-lt[0]-lt[2]},this.plotBox=Ee.plotBox={x:ee,y:be,width:xe,height:Ie};let st=2*Math.floor(this.plotBorderWidth/2),Tt=Math.ceil(Math.max(st,qe[3])/2),pt=Math.ceil(Math.max(st,qe[0])/2);this.clipBox={x:Tt,y:pt,width:Math.floor(this.plotSizeX-Math.max(st,qe[1])/2-Tt),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(st,qe[2])/2-pt))},oe||(this.axes.forEach(function(ht){ht.setAxisSize(),ht.setAxisTranslation()}),Ee.alignElements()),U(this,"afterSetChartSize",{skipAxes:oe})}resetMargins(){U(this,"resetMargins");let oe=this,ee=oe.options.chart;["margin","spacing"].forEach(function(be){let xe=ee[be],Ie=H(xe)?xe:[xe,xe,xe,xe];["Top","Right","Bottom","Left"].forEach(function(we,Ee){oe[be][Ee]=Z(ee[be+we],Ie[Ee])})}),a.forEach(function(be,xe){oe[be]=Z(oe.margin[xe],oe.spacing[xe])}),oe.axisOffset=[0,0,0,0],oe.clipOffset=[0,0,0,0]}drawChartBox(){let Dt,It,xt,oe=this.options.chart,ee=this.renderer,be=this.chartWidth,xe=this.chartHeight,Ie=this.styledMode,we=this.plotBGImage,Ee=oe.backgroundColor,Me=oe.plotBackgroundColor,Xe=oe.plotBackgroundImage,Je=this.plotLeft,lt=this.plotTop,qe=this.plotWidth,st=this.plotHeight,Tt=this.plotBox,pt=this.clipRect,ht=this.clipBox,Pt=this.chartBackground,Gt=this.plotBackground,ti=this.plotBorder,wt="animate";Pt||(this.chartBackground=Pt=ee.rect().addClass("highcharts-background").add(),wt="attr"),Ie?Dt=It=Pt.strokeWidth():(It=(Dt=oe.borderWidth||0)+(oe.shadow?8:0),xt={fill:Ee||"none"},(Dt||Pt["stroke-width"])&&(xt.stroke=oe.borderColor,xt["stroke-width"]=Dt),Pt.attr(xt).shadow(oe.shadow)),Pt[wt]({x:It/2,y:It/2,width:be-It-Dt%2,height:xe-It-Dt%2,r:oe.borderRadius}),wt="animate",Gt||(wt="attr",this.plotBackground=Gt=ee.rect().addClass("highcharts-plot-background").add()),Gt[wt](Tt),!Ie&&(Gt.attr({fill:Me||"none"}).shadow(oe.plotShadow),Xe&&(we?(Xe!==we.attr("href")&&we.attr("href",Xe),we.animate(Tt)):this.plotBGImage=ee.image(Xe,Je,lt,qe,st).add())),pt?pt.animate({width:ht.width,height:ht.height}):this.clipRect=ee.clipRect(ht),wt="animate",ti||(wt="attr",this.plotBorder=ti=ee.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),Ie||ti.attr({stroke:oe.plotBorderColor,"stroke-width":oe.plotBorderWidth||0,fill:"none"}),ti[wt](ti.crisp({x:Je,y:lt,width:qe,height:st},-ti.strokeWidth())),this.isDirtyBox=!1,U(this,"afterDrawChartBox")}propFromSeries(){let oe,ee,be,xe=this,Ie=xe.options.chart,we=xe.options.series;["inverted","angular","polar"].forEach(function(Ee){for(ee=o[Ie.type],be=Ie[Ee]||ee&&ee.prototype[Ee],oe=we&&we.length;!be&&oe--;)(ee=o[we[oe].type])&&ee.prototype[Ee]&&(be=!0);xe[Ee]=be})}linkSeries(oe){let ee=this,be=ee.series;be.forEach(function(xe){xe.linkedSeries.length=0}),be.forEach(function(xe){let{linkedTo:Ie}=xe.options;if(x(Ie)){let we;(we=":previous"===Ie?ee.series[xe.index-1]:ee.get(Ie))&&we.linkedParent!==xe&&(we.linkedSeries.push(xe),xe.linkedParent=we,we.enabledDataSorting&&xe.setDataSortingOptions(),xe.visible=Z(xe.options.visible,we.options.visible,xe.visible))}}),U(this,"afterLinkSeries",{isUpdating:oe})}renderSeries(){this.series.forEach(function(oe){oe.translate(),oe.render()})}render(){let Me,oe=this.axes,ee=this.colorAxis,be=this.renderer,xe=this.options.chart.axisLayoutRuns||2,Ie=Je=>{Je.forEach(lt=>{lt.visible&<.render()})},we=0,Ee=!0,Xe=0;for(let Je of(this.setTitle(),U(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),oe)){let{options:lt}=Je,{labels:qe}=lt;if(Je.horiz&&Je.visible&&qe.enabled&&Je.series.length&&"colorAxis"!==Je.coll&&!this.polar){we=lt.tickLength,Je.createGroups();let st=new P(Je,0,"",!0),Tt=st.createLabel("x",qe);if(st.destroy(),Tt&&Z(qe.reserveSpace,!$(lt.crossing))&&(we=Tt.getBBox().height+qe.distance+Math.max(lt.offset||0,0)),we){Tt?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-we,0);(Ee||Me||xe>1)&&Xe(Xe?1:1.1),Me=lt/this.plotHeight>(Xe?1:1.05),Xe++}this.drawChartBox(),this.hasCartesianSeries?Ie(oe):ee&&ee.length&&Ie(ee),this.seriesGroup||(this.seriesGroup=be.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(oe){let ee=this,be=N(!0,this.options.credits,oe);be.enabled&&!this.credits&&(this.credits=this.renderer.text(be.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){be.href&&(v.location.href=be.href)}).attr({align:be.position.align,zIndex:8}),ee.styledMode||this.credits.css(be.style),this.credits.add().align(be.position),this.credits.update=function(xe){ee.credits=ee.credits.destroy(),ee.addCredits(xe)})}destroy(){let oe,ee=this,be=ee.axes,xe=ee.series,Ie=ee.container,we=Ie&&Ie.parentNode;for(U(ee,"destroy"),ee.renderer.forExport?T(O,ee):O[ee.index]=void 0,pe.chartCount--,ee.renderTo.removeAttribute("data-highcharts-chart"),ge(ee),oe=be.length;oe--;)be[oe]=be[oe].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),oe=xe.length;oe--;)xe[oe]=xe[oe].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(Ee){let Me=ee[Ee];Me&&Me.destroy&&(ee[Ee]=Me.destroy())}),Ie&&(Ie.innerHTML=F.emptyHTML,ge(Ie),we&&p(Ie)),R(ee,function(Ee,Me){delete ee[Me]})}firstRender(){let oe=this,ee=oe.options;oe.getContainer(),oe.resetMargins(),oe.setChartSize(),oe.propFromSeries(),oe.getAxes();let be=S(ee.series)?ee.series:[];ee.series=[],be.forEach(function(xe){oe.initSeries(xe)}),oe.linkSeries(),oe.setSortedData(),U(oe,"beforeRender"),oe.render(),oe.pointer?.getChartPosition(),oe.renderer.imgCount||oe.hasLoaded||oe.onload(),oe.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(oe){oe&&void 0!==this.index&&oe.apply(this,[this])},this),U(this,"load"),U(this,"render"),C(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:oe,title:ee}=this;!oe||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(ee&&ee.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(oe,ee){let be=this,xe="object"==typeof ee?ee:{enabled:ee,type:"x"},Ie=xe.type,we=Ie&&be[{x:"xAxis",xy:"axes",y:"yAxis"}[Ie]].filter(Me=>Me.options.panningEnabled&&!Me.options.isInternal),Ee=be.options.chart;Ee?.panning&&(Ee.panning=xe),U(this,"pan",{originalEvent:oe},()=>{be.transform({axes:we,event:oe,to:{x:oe.chartX-(be.mouseDownX||0),y:oe.chartY-(be.mouseDownY||0)},trigger:"pan"}),d(be.container,{cursor:"move"})})}transform(oe){let qe,{axes:ee=this.axes,event:be,from:xe={},reset:Ie,selection:we,to:Ee={},trigger:Me}=oe,{inverted:Xe,resetZoomButton:Je}=this,lt=!1;for(let st of(this.hoverPoints?.forEach(Tt=>Tt.setState()),ee)){let{horiz:Tt,len:pt,minPointOffset:ht=0,options:Pt,reversed:Gt}=st,ti=Tt?"width":"height",Dt=Tt?"x":"y",It=Ee[ti]||st.len,xt=xe[ti]||st.len,wt=10>Math.abs(It)?1:It/xt,Qt=(xe[Dt]||0)+xt/2-st.pos,di=Qt-((Ee[Dt]??st.pos)+It/2-st.pos)/wt,Ni=Gt&&!Xe||!Gt&&Xe?-1:1;if(!Ie&&(Qt<0||Qt>st.len))continue;let mi=st.toValue(di,!0)+ht*Ni,vi=st.toValue(di+pt/wt,!0)-(ht*Ni||0),zi=st.allExtremes;if(mi>vi&&([mi,vi]=[vi,mi]),1===wt&&!Ie&&"yAxis"===st.coll&&!zi){for(let js of st.series){let On=js.getExtremes(js.getProcessedData(!0).yData,!0);zi??(zi={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),$(On.dataMin)&&$(On.dataMax)&&(zi.dataMin=Math.min(On.dataMin,zi.dataMin),zi.dataMax=Math.max(On.dataMax,zi.dataMax))}st.allExtremes=zi}let{dataMin:gs,dataMax:Fn,min:as,max:ms}=z(st.getExtremes(),zi||{}),Ln=gs??Pt.min,fn=Fn??Pt.max,ki=vi-mi,Cs=st.categories?0:Math.min(ki,fn-Ln),Kn=Ln-Cs*(C(Pt.min)?0:Pt.minPadding),In=fn+Cs*(C(Pt.max)?0:Pt.maxPadding),Bs=st.allowZoomOutside||1===wt||"zoom"!==Me&&wt>1,qn=Math.min(Pt.min??Kn,Kn,Bs?as:Kn),Wi=Math.max(Pt.max??In,In,Bs?ms:In);(!st.isOrdinal||1!==wt||Ie)&&(mi=1&&(vi=mi+ki)),vi>Wi&&(vi=Wi,wt>=1&&(mi=vi-ki)),(Ie||st.series.length&&(mi!==as||vi!==ms)&&mi>=qn&&vi<=Wi)&&(we?we[st.coll].push({axis:st,min:mi,max:vi}):(st.isPanning="zoom"!==Me,st.setExtremes(Ie?void 0:mi,Ie?void 0:vi,!1,!1,{move:di,trigger:Me,scale:wt}),!Ie&&(mi>qn||vi{delete oe.selection,oe.trigger="zoom",this.transform(oe)}):(qe&&!Je?this.showResetZoom():!qe&&Je&&(this.resetZoomButton=Je.destroy()),this.redraw("zoom"===Me&&(this.options.chart.animation??this.pointCount<100)))),lt}}return z(De.prototype,{callbacks:[],collectionsWithInit:{xAxis:[De.prototype.addAxis,[!0]],yAxis:[De.prototype.addAxis,[!1]],series:[De.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),De}),Le(V,"Extensions/ScrollablePlotArea.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{stop:le}=q,{composed:pe}=ne,{addEvent:ue,createElement:J,css:te,defined:X,merge:E,pushUnique:j}=ve;function F(){let A=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!A&&(this.scrollablePlotArea=A=new D(this)),A?.applyFixed()}function P(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class D{static compose(I,_,m){j(pe,this.compose)&&(ue(I,"afterInit",P),ue(_,"afterSetChartSize",w=>this.afterSetSize(w.target,w)),ue(_,"render",F),ue(m,"show",P))}static afterSetSize(I,_){let m,w,G,{minWidth:O,minHeight:f}=I.options.chart.scrollablePlotArea||{},{clipBox:a,plotBox:g,inverted:v,renderer:o}=I;if(!o.forExport&&(O?(I.scrollablePixelsX=m=Math.max(0,O-I.chartWidth),m&&(I.scrollablePlotBox=E(I.plotBox),g.width=I.plotWidth+=m,a[v?"height":"width"]+=m,G=!0)):f&&(I.scrollablePixelsY=w=Math.max(0,f-I.chartHeight),X(w)&&(I.scrollablePlotBox=E(I.plotBox),g.height=I.plotHeight+=w,a[v?"width":"height"]+=w,G=!1)),X(G)&&!_.skipAxes))for(let n of I.axes)n.horiz===G&&(n.setAxisSize(),n.setAxisTranslation())}constructor(I){let _,m=I.options.chart,w=re.getRendererType(),G=m.scrollablePlotArea||{},O=this.moveFixedElements.bind(this),f={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};I.scrollablePixelsX&&(f.overflowX="auto"),I.scrollablePixelsY&&(f.overflowY="auto"),this.chart=I;let a=this.parentDiv=J("div",{className:"highcharts-scrolling-parent"},{position:"relative"},I.renderTo),g=this.scrollingContainer=J("div",{className:"highcharts-scrolling"},f,a),v=this.innerContainer=J("div",{className:"highcharts-inner-container"},void 0,g),o=this.fixedDiv=J("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(m.style?.zIndex||0)+2,top:0},void 0,!0),n=this.fixedRenderer=new w(o,I.chartWidth,I.chartHeight,m.style);this.mask=n.path().attr({fill:m.backgroundColor||"#fff","fill-opacity":G.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),g.parentNode.insertBefore(o,g),te(I.renderTo,{overflow:"visible"}),ue(I,"afterShowResetZoom",O),ue(I,"afterApplyDrilldown",O),ue(I,"afterLayOutTitles",O),ue(g,"scroll",()=>{let{pointer:r,hoverPoint:l}=I;r&&(delete r.chartPosition,l&&(_=l),r.runPointActions(void 0,_,!0))}),v.appendChild(I.container)}applyFixed(){let{chart:I,fixedRenderer:_,isDirty:m,scrollingContainer:w}=this,{axisOffset:G,chartWidth:O,chartHeight:f,container:a,plotHeight:g,plotLeft:v,plotTop:o,plotWidth:n,scrollablePixelsX:r=0,scrollablePixelsY:l=0}=I,{scrollPositionX:d=0,scrollPositionY:C=0}=I.options.chart.scrollablePlotArea||{},k=O+r,p=f+l;_.setSize(O,f),(m??!0)&&(this.isDirty=!1,this.moveFixedElements()),le(I.container),te(a,{width:`${k}px`,height:`${p}px`}),I.renderer.boxWrapper.attr({width:k,height:p,viewBox:[0,0,k,p].join(" ")}),I.chartBackground?.attr({width:k,height:p}),te(w,{width:`${O}px`,height:`${f}px`}),X(m)||(w.scrollLeft=r*d,w.scrollTop=l*C);let T=o-G[0]-1,B=v-G[3]-1,z=o+g+G[2]+1,K=v+n+G[1]+1,U=v+n-r,se=o+g-l,S=[["M",0,0]];r?S=[["M",0,T],["L",v-1,T],["L",v-1,z],["L",0,z],["Z"],["M",U,T],["L",O,T],["L",O,z],["L",U,z],["Z"]]:l&&(S=[["M",B,0],["L",B,o-1],["L",K,o-1],["L",K,0],["Z"],["M",B,se],["L",B,f],["L",K,f],["L",K,se],["Z"]]),"adjustHeight"!==I.redrawTrigger&&this.mask.attr({d:S})}moveFixedElements(){let I,{container:_,inverted:m,scrollablePixelsX:w,scrollablePixelsY:G}=this.chart,O=this.fixedRenderer,f=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-reset-zoom",".highcharts-drillup-button",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];for(let a of(w&&!m?I=".highcharts-yaxis":w&&m||G&&!m?I=".highcharts-xaxis":G&&m&&(I=".highcharts-yaxis"),I&&f.push(`${I}:not(.highcharts-radial-axis)`,`${I}-labels:not(.highcharts-radial-axis-labels)`),f))[].forEach.call(_.querySelectorAll(a),g=>{(g.namespaceURI===O.SVG_NS?O.box:O.box.parentNode).appendChild(g),g.style.pointerEvents="auto"})}}return D}),Le(V,"Core/Axis/Stacking/StackItem.js",[V["Core/Templating.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{format:ve}=q,{series:le}=ne,{destroyObjectProperties:pe,fireEvent:ue,isNumber:J,pick:te}=re;return class{constructor(X,E,j,F,P){let D=X.chart.inverted,A=X.reversed;this.axis=X;let I=this.isNegative=!!j!=!!A;this.options=E=E||{},this.x=F,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=P,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:E.align||(D?I?"left":"right":"center"),verticalAlign:E.verticalAlign||(D?"middle":I?"bottom":"top"),y:E.y,x:E.x},this.textAlign=E.textAlign||(D?I?"right":"left":"center")}destroy(){pe(this,this.axis)}render(X){let E=this.axis.chart,j=this.options,F=j.format,P=F?ve(F,this,E):j.formatter.call(this);if(this.label)this.label.attr({text:P,visibility:"hidden"});else{this.label=E.renderer.label(P,null,void 0,j.shape,void 0,void 0,j.useHTML,!1,"stack-labels");let D={r:j.borderRadius||0,text:P,padding:te(j.padding,5),visibility:"hidden"};E.styledMode||(D.fill=j.backgroundColor,D.stroke=j.borderColor,D["stroke-width"]=j.borderWidth,this.label.css(j.style||{})),this.label.attr(D),this.label.added||this.label.add(X)}this.label.labelrank=E.plotSizeY,ue(this,"afterRender")}setOffset(X,E,j,F,P,D){let{alignOptions:A,axis:I,label:_,options:m,textAlign:w}=this,G=I.chart,O=this.getStackBox({xOffset:X,width:E,boxBottom:j,boxTop:F,defaultX:P,xAxis:D}),{verticalAlign:f}=A;if(_&&O){let o,a=_.getBBox(void 0,0),g=_.padding,v="justify"===te(m.overflow,"justify");A.x=m.x||0,A.y=m.y||0;let{x:n,y:r}=this.adjustStackPosition({labelBox:a,verticalAlign:f,textAlign:w});O.x-=n,O.y-=r,_.align(A,!1,O),(o=G.isInsidePlot(_.alignAttr.x+A.x+n,_.alignAttr.y+A.y+r))||(v=!1),v&&le.prototype.justifyDataLabel.call(I,_,A,_.alignAttr,a,O),_.attr({x:_.alignAttr.x,y:_.alignAttr.y,rotation:m.rotation,rotationOriginX:a.width*{left:0,center:.5,right:1}[m.textAlign||"center"],rotationOriginY:a.height/2}),te(!v&&m.crop,!0)&&(o=J(_.x)&&J(_.y)&&G.isInsidePlot(_.x-g+(_.width||0),_.y)&&G.isInsidePlot(_.x+g,_.y)),_[o?"show":"hide"]()}ue(this,"afterSetOffset",{xOffset:X,width:E})}adjustStackPosition({labelBox:X,verticalAlign:E,textAlign:j}){let F={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:X.width/2+X.width/2*F[j],y:X.height/2*F[E]}}getStackBox(X){let E=this.axis,j=E.chart,{boxTop:F,defaultX:P,xOffset:D,width:A,boxBottom:I}=X,_=E.stacking.usePercentage?100:te(F,this.total,0),m=E.toPixels(_),w=X.xAxis||j.xAxis[0],G=te(P,w.translate(this.x))+D,O=Math.abs(m-E.toPixels(I||J(E.min)&&E.logarithmic&&E.logarithmic.lin2log(E.min)||0)),a=this.isNegative;return j.inverted?{x:(a?m:m-O)-j.plotLeft,y:w.height-G-A,width:O,height:A}:{x:G+w.transB-j.plotLeft,y:(a?m-O:m)-j.plotTop,width:A,height:O}}}}),Le(V,"Core/Axis/Stacking/StackingAxis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{getDeferredAnimation:ue}=q,{series:{prototype:J}}=re,{addEvent:te,correctFloat:X,defined:E,destroyObjectProperties:j,fireEvent:F,isArray:P,isNumber:D,objectEach:A,pick:I}=le;function _(){let o=this.inverted;this.axes.forEach(n=>{n.stacking&&n.stacking.stacks&&n.hasVisibleSeries&&(n.stacking.oldStacks=n.stacking.stacks)}),this.series.forEach(n=>{let r=n.xAxis&&n.xAxis.options||{};n.options.stacking&&n.reserveSpace()&&(n.stackKey=[n.type,I(n.options.stack,""),o?r.top:r.left,o?r.height:r.width].join(","))})}function m(){let o=this.stacking;if(o){let n=o.stacks;A(n,(r,l)=>{j(r),delete n[l]}),o.stackTotalGroup?.destroy()}}function w(){this.stacking||(this.stacking=new v(this))}function G(o,n,r,l){return!E(o)||o.x!==n||l&&o.stackKey!==l?o={x:n,index:0,key:l,stackKey:l}:o.index++,o.key=[r,n,o.index].join(","),o}function O(){let o,n=this,l=n.stackKey||"",d=n.yAxis.stacking.stacks,C=n.processedXData,p=n[n.options.stacking+"Stacker"];p&&[l,"-"+l].forEach(T=>{let z,K,U,B=C.length;for(;B--;)z=C[B],o=n.getStackIndicator(o,z,n.index,T),K=d[T]?.[z],(U=K?.points[o.key||""])&&p.call(n,U,K,B)})}function f(o,n,r){let l=n.total?100/n.total:0;o[0]=X(o[0]*l),o[1]=X(o[1]*l),this.stackedYData[r]=o[1]}function a(o){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?J.setStackedPoints.call(this,o,"group"):o.stacking.resetStacks())}function g(o,n){let r,l,d,C,k,p,T,B,z,K=n||this.options.stacking;if(!K||!this.reserveSpace()||({group:"xAxis"}[K]||"yAxis")!==o.coll)return;let U=this.processedXData,se=this.processedYData,S=[],$=se.length,H=this.options,x=H.threshold||0,N=H.startFromThreshold?x:0,R=H.stack,Z=n?`${this.type},${K}`:this.stackKey||"",Y="-"+Z,he=this.negStacks,ge=o.stacking,_e=ge.stacks,Te=ge.oldStacks;for(ge.stacksTouched+=1,T=0;T<$;T++){B=U[T],z=se[T],p=(r=this.getStackIndicator(r,B,this.index)).key||"",_e[k=(l=he&&z<(N?0:x))?Y:Z]||(_e[k]={}),_e[k][B]||(Te[k]?.[B]?(_e[k][B]=Te[k][B],_e[k][B].total=null):_e[k][B]=new ve(o,o.options.stackLabels,!!l,B,R)),d=_e[k][B],null!==z?(d.points[p]=d.points[this.index]=[I(d.cumulative,N)],E(d.cumulative)||(d.base=p),d.touched=ge.stacksTouched,r.index>0&&!1===this.singleStacks&&(d.points[p][0]=d.points[this.index+","+B+",0"][0])):(delete d.points[p],delete d.points[this.index]);let Oe=d.total||0;"percent"===K?(C=l?Z:Y,Oe=he&&_e[C]?.[B]?(C=_e[C][B]).total=Math.max(C.total||0,Oe)+Math.abs(z)||0:X(Oe+(Math.abs(z)||0))):"group"===K?(P(z)&&(z=z[0]),null!==z&&Oe++):Oe=X(Oe+(z||0)),d.cumulative="group"===K?(Oe||1)-1:X(I(d.cumulative,N)+(z||0)),d.total=Oe,null!==z&&(d.points[p].push(d.cumulative),S[T]=d.cumulative,d.hasValidPoints=!0)}"percent"===K&&(ge.usePercentage=!0),"group"!==K&&(this.stackedYData=S),ge.oldStacks={}}class v{constructor(n){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=n}buildStacks(){let n,r,l=this.axis,d=l.series,C="xAxis"===l.coll,k=l.options.reversedStacks,p=d.length;for(this.resetStacks(),this.usePercentage=!1,r=p;r--;)n=d[k?r:p-r-1],C&&n.setGroupedPoints(l),n.setStackedPoints(l);if(!C)for(r=0;r{A(n,r=>{r.cumulative=r.total})}))}resetStacks(){A(this.stacks,n=>{A(n,(r,l)=>{D(r.touched)&&r.touched{A(p,T=>{T.render(k)})}),k.animate({opacity:1},C)}}return(pe||(pe={})).compose=function(o,n,r){let l=n.prototype,d=r.prototype;l.getStacks||(te(o,"init",w),te(o,"destroy",m),l.getStacks=_,d.getStackIndicator=G,d.modifyStacks=O,d.percentStacker=f,d.setGroupedPoints=a,d.setStackedPoints=g)},pe}),Le(V,"Series/Line/LineSeries.js",[V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{defined:ve,merge:le,isObject:pe}=re;class ue extends q{drawGraph(){let te=this.options,X=(this.gappedPath||this.getGraphPath).call(this),E=this.chart.styledMode;[this,...this.zones].forEach((j,F)=>{let P,D=j.graph,A=D?"animate":"attr",I=j.dashStyle||te.dashStyle;D?(D.endX=this.preventGraphAnimation?null:X.xMap,D.animate({d:X})):X.length&&(j.graph=D=this.chart.renderer.path(X).addClass("highcharts-graph"+(F?` highcharts-zone-graph-${F-1} `:" ")+(F&&j.className||"")).attr({zIndex:1}).add(this.group)),D&&!E&&(P={stroke:!F&&te.lineColor||j.color||this.color||"#cccccc","stroke-width":te.lineWidth||0,fill:this.fillGraph&&this.color||"none"},I?P.dashstyle=I:"square"!==te.linecap&&(P["stroke-linecap"]=P["stroke-linejoin"]="round"),D[A](P).shadow(F<2&&te.shadow&&le({filterUnits:"userSpaceOnUse"},pe(te.shadow)?te.shadow:{}))),D&&(D.startX=X.xMap,D.isArea=X.isArea)})}getGraphPath(te,X,E){let A,j=this,F=j.options,P=[],D=[],I=F.step,_=(te=te||j.points).reversed;return _&&te.reverse(),(I={right:1,center:2}[I]||I&&3)&&_&&(I=4-I),(te=this.getValidPoints(te,!1,!(F.connectNulls&&!X&&!E))).forEach(function(m,w){let G,O=m.plotX,f=m.plotY,a=te[w-1],g=m.isNull||"number"!=typeof f;(m.leftCliff||a&&a.rightCliff)&&!E&&(A=!0),g&&!ve(X)&&w>0?A=!F.connectNulls:g&&!X?A=!0:(0===w||A?G=[["M",m.plotX,m.plotY]]:j.getPointSpline?G=[j.getPointSpline(te,m,w)]:I?(G=1===I?[["L",a.plotX,f]]:2===I?[["L",(a.plotX+O)/2,a.plotY],["L",(a.plotX+O)/2,f]]:[["L",O,a.plotY]]).push(["L",O,f]):G=[["L",O,f]],D.push(m.x),I&&(D.push(m.x),2===I&&D.push(m.x)),P.push.apply(P,G),A=!1)}),P.xMap=D,j.graphPath=P,P}}return ue.defaultOptions=le(q.defaultOptions,{legendSymbol:"lineMarker"}),ne.registerSeriesType("line",ue),ue}),Le(V,"Series/Area/AreaSeries.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne){let{seriesTypes:{line:re}}=q,{extend:ve,merge:le,objectEach:pe,pick:ue}=ne;class J extends re{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:X,options:E}=this;[this,...this.zones].forEach((j,F)=>{let P={},D=j.fillColor||E.fillColor,A=j.area,I=A?"animate":"attr";A?(A.endX=this.preventGraphAnimation?null:X.xMap,A.animate({d:X})):(P.zIndex=0,(A=j.area=this.chart.renderer.path(X).addClass("highcharts-area"+(F?` highcharts-zone-area-${F-1} `:" ")+(F&&j.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(P.fill=D||j.color||this.color,P["fill-opacity"]=D?1:E.fillOpacity??.75,A.css({pointerEvents:this.stickyTracking?"none":"auto"})),A[I](P),A.startX=X.xMap,A.shiftUnit=E.step?2:1})}getGraphPath(X){let E,j,F,P=re.prototype.getGraphPath,D=this.options,A=D.stacking,I=this.yAxis,_=[],m=[],w=this.index,G=I.stacking.stacks[this.stackKey],O=D.threshold,f=Math.round(I.getThreshold(D.threshold)),a=ue(D.connectNulls,"percent"===A),g=function(d,C,k){let K,U,p=X[d],T=A&&G[p.x].points[w],B=p[k+"Null"]||0,z=p[k+"Cliff"]||0,se=!0;z||B?(K=(B?T[0]:T[1])+z,U=T[0]+z,se=!!B):!A&&X[C]&&X[C].isNull&&(K=U=O),void 0!==K&&(m.push({plotX:E,plotY:null===K?f:I.getThreshold(K),isNull:se,isCliff:!0}),_.push({plotX:E,plotY:null===U?f:I.getThreshold(U),doCurve:!1}))};X=X||this.points,A&&(X=this.getStackPoints(X));for(let d=0,C=X.length;df.visible);F.forEach(function(f,a){let v,o,g=0;if(I[f]&&!I[f].isNull)j.push(I[f]),[-1,1].forEach(function(n){let r=1===n?"rightNull":"leftNull",l=A[F[a+n]],d=0;if(l){let C=G;for(;C>=0&&C=0&&nO&&j>A?(j=Math.max(O,A),P=2*A-j):ja&&P>A?(P=Math.max(a,A),j=2*A-P):P=Math.abs(f)&&r>.5;return g=r-(f=Math.round(f)+n),l&&g&&(f-=1,g+=1),{x:O,y:f,width:a,height:g}}adjustForMissingColumns(O,f,a,g){if(!a.isNull&&g.columnCount>1){let v=this.xAxis.series.filter(l=>l.visible).map(l=>l.index),o=0,n=0;m(this.xAxis.stacking?.stacks,l=>{if("number"==typeof a.x){let d=l[a.x.toString()];if(d&&D(d.points[this.index])){let C=Object.keys(d.points).filter(k=>!k.match(",")&&d.points[k]&&d.points[k].length>1).map(parseFloat).filter(k=>-1!==v.indexOf(k)).sort((k,p)=>p-k);o=C.indexOf(this.index),n=C.length}}}),o=this.xAxis.reversed?n-1-o:o,O=(a.plotX||0)+((n-1)*g.paddedWidth+f)/2-f-o*g.paddedWidth}return O}translate(){let O=this,f=O.chart,a=O.options,g=O.dense=O.closestPointRange*O.xAxis.transA<2,v=O.borderWidth=_(a.borderWidth,g?0:1),o=O.xAxis,n=O.yAxis,r=a.threshold,l=_(a.minPointLength,5),d=O.getColumnMetrics(),C=d.width,k=O.pointXOffset=d.offset,p=O.dataMin,T=O.dataMax,B=O.barW=Math.max(C,1+2*v),z=O.translatedThreshold=n.getThreshold(r);f.inverted&&(z-=.5),a.pointPadding&&(B=Math.ceil(B)),le.prototype.translate.apply(O),O.points.forEach(function(K){let H,U=_(K.yBottom,z),se=999+Math.abs(U),S=K.plotX||0,$=E(K.plotY,-se,n.len+se),x=Math.min($,U),N=Math.max($,U)-x,R=C,Z=S+k,Y=B;l&&Math.abs(N)l?U-l:z-(H?l:0)),j(K.options.pointWidth)&&(Z-=Math.round(((R=Y=Math.ceil(K.options.pointWidth))-C)/2)),a.centerInCategory&&!a.stacking&&(Z=O.adjustForMissingColumns(Z,R,K,d)),K.barX=Z,K.pointWidth=R,K.tooltipPos=f.inverted?[E(n.len+n.pos-f.plotLeft-$,n.pos-f.plotLeft,n.len+n.pos-f.plotLeft),o.len+o.pos-f.plotTop-Z-Y/2,N]:[o.left-f.plotLeft+Z+Y/2,E($+n.pos-f.plotTop,n.pos-f.plotTop,n.len+n.pos-f.plotTop),N],K.shapeType=O.pointClass.prototype.shapeType||"roundedRect",K.shapeArgs=O.crispCol(Z,K.isNull?z:x,Y,K.isNull?0:N)}),P(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(O,f){let n,r,l,a=this.options,g=this.pointAttrToOptions||{},v=g.stroke||"borderColor",o=g["stroke-width"]||"borderWidth",d=O&&O.color||this.color,C=O&&O[v]||a[v]||d,k=O&&O.options.dashStyle||a.dashStyle,p=O&&O[o]||a[o]||this[o]||0,T=_(O&&O.opacity,a.opacity,1);O&&this.zones.length&&(r=O.getZone(),d=O.options.color||r&&(r.color||O.nonZonedColor)||this.color,r&&(C=r.borderColor||C,k=r.dashStyle||k,p=r.borderWidth||p)),f&&O&&(l=(n=I(a.states[f],O.options.states&&O.options.states[f]||{})).brightness,d=n.color||void 0!==l&&te(d).brighten(n.brightness).get()||d,C=n[v]||C,p=n[o]||p,k=n.dashStyle||k,T=_(n.opacity,T));let B={fill:d,stroke:C,"stroke-width":p,opacity:T};return k&&(B.dashstyle=k),B}drawPoints(O=this.points){let f,a=this,g=this.chart,v=a.options,o=g.renderer,n=v.animationLimit||250;O.forEach(function(r){let d=r.graphic,C=!!d,k=d&&g.pointCounto?.enabled)}function m(o,n,r,l,d){let C=this.chart,k=this.isCartesian&&C.inverted,p=this.enabledDataSorting,T=o.plotX,B=o.plotY,z=r.rotation||0,K=ue(T)&&ue(B)&&C.isInsidePlot(T,Math.round(B),{inverted:k,paneCoordinates:!0,series:this}),U=0===z&&"justify"===P(r.overflow,p?"none":"justify"),se=this.visible&&!1!==o.visible&&ue(T)&&(o.series.forceDL||p&&!U||K||P(r.inside,!!this.options.stacking)&&l&&C.isInsidePlot(T,k?l.x+1:l.y+l.height-1,{inverted:k,paneCoordinates:!0,series:this})),S=o.pos();if(se&&S){let H=n.getBBox(),x=n.getBBox(void 0,0),N={right:1,center:.5}[r.align||0]||0,R={bottom:1,middle:.5}[r.verticalAlign||0]||0;if(l=J({x:S[0],y:Math.round(S[1]),width:0,height:0},l||{}),J(r,{width:H.width,height:H.height}),p&&this.xAxis&&!U&&this.setDataLabelStartPos(o,n,d,K,l),n.align(j(r,{width:x.width,height:x.height}),!1,l,!1),n.alignAttr.x+=N*(x.width-H.width),n.alignAttr.y+=R*(x.height-H.height),n[n.placed?"animate":"attr"]({x:n.alignAttr.x+(H.width-x.width)/2,y:n.alignAttr.y+(H.height-x.height)/2,rotationOriginX:(n.width||0)/2,rotationOriginY:(n.height||0)/2}),U&&l.height>=0)this.justifyDataLabel(n,r,n.alignAttr,H,l,d);else if(P(r.crop,!0)){let{x:Z,y:Y}=n.alignAttr;se=C.isInsidePlot(Z,Y,{paneCoordinates:!0,series:this})&&C.isInsidePlot(Z+H.width-1,Y+H.height-1,{paneCoordinates:!0,series:this})}r.shape&&!z&&n[d?"attr":"animate"]({anchorX:S[0],anchorY:S[1]})}d&&p&&(n.placed=!1),se||p&&!U?(n.show(),n.placed=!0):(n.hide(),n.placed=!1)}function w(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function G(o){let n=this.hasRendered||0,r=this.initDataLabelsGroup().attr({opacity:+n});return!n&&r&&(this.visible&&r.show(),this.options.animation?r.animate({opacity:1},o):r.attr({opacity:1})),r}function O(o){let n;o=o||this.points;let r=this,l=r.chart,d=r.options,C=l.renderer,{backgroundColor:k,plotBackgroundColor:p}=l.options.chart,T=C.getContrast(E(p)&&p||E(k)&&k||"#000000"),B=g(r),{animation:z,defer:K}=B[0],U=K?le(l,z,r):{defer:0,duration:0};te(this,"drawDataLabels"),r.hasDataLabels?.()&&(n=this.initDataLabels(U),o.forEach(se=>{let S=se.dataLabels||[];A(a(B,se.dlOptions||se.options?.dataLabels)).forEach((H,x)=>{let ge,_e,Te,Oe,ee,N=H.enabled&&(se.visible||se.dataLabelOnHidden)&&(!se.isNull||se.dataLabelOnNull)&&function(be,xe){let Ie=xe.filter;if(Ie){let we=Ie.operator,Ee=be[Ie.property],Me=Ie.value;return">"===we&&Ee>Me||"<"===we&&Ee="===we&&Ee>=Me||"<="===we&&Ee<=Me||"=="===we&&Ee==Me||"==="===we&&Ee===Me||"!="===we&&Ee!=Me||"!=="===we&&Ee!==Me}return!0}(se,H),{backgroundColor:R,borderColor:Z,distance:Y,style:he={}}=H,De={},Be=S[x],oe=!Be;if(N&&(_e=P(H[se.formatPrefix+"Format"],H.format),ge=se.getLabelConfig(),Te=ue(_e)?pe(_e,ge,l):(H[se.formatPrefix+"Formatter"]||H.formatter).call(ge,H),Oe=H.rotation,!l.styledMode&&(he.color=P(H.color,he.color,E(r.color)?r.color:void 0,"#000000"),"contrast"===he.color?("none"!==R&&(ee=R),se.contrastColor=C.getContrast("auto"!==ee&&ee||se.color||r.color),he.color=ee||!ue(Y)&&H.inside||0>D(Y||0)||d.stacking?se.contrastColor:T):delete se.contrastColor,d.cursor&&(he.cursor=d.cursor)),De={r:H.borderRadius||0,rotation:Oe,padding:H.padding,zIndex:1},l.styledMode||(De.fill="auto"===R?se.color:R,De.stroke="auto"===Z?se.color:Z,De["stroke-width"]=H.borderWidth),F(De,(be,xe)=>{void 0===be&&delete De[xe]})),!Be||N&&ue(Te)&&!!Be.div==!!H.useHTML&&(Be.rotation&&H.rotation||Be.rotation===H.rotation)||(Be=void 0,oe=!0),N&&ue(Te)&&(Be?De.text=Te:(Be=C.label(Te,0,0,H.shape,void 0,void 0,H.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+se.colorIndex+" "+(H.className||"")+(H.useHTML?" highcharts-tracker":"")),Be)){Be.options=H,Be.attr(De),l.styledMode||Be.css(he).shadow(H.shadow);let be=H[se.formatPrefix+"TextPath"]||H.textPath;be&&!H.useHTML&&(Be.setTextPath(se.getDataLabelPath?.(Be)||se.graphic,be),se.dataLabelPath&&!be.enabled&&(se.dataLabelPath=se.dataLabelPath.destroy())),Be.added||Be.add(n),r.alignDataLabel(se,Be,H,void 0,oe),Be.isActive=!0,S[x]&&S[x]!==Be&&S[x].destroy(),S[x]=Be}});let $=S.length;for(;$--;)S[$]&&S[$].isActive?S[$].isActive=!1:(S[$]?.destroy(),S.splice($,1));se.dataLabel=S[0],se.dataLabels=S})),te(this,"afterDrawDataLabels")}function f(o,n,r,l,d,C){let U,se,k=this.chart,p=n.align,T=n.verticalAlign,B=o.box?0:o.padding||0,{x:z=0,y:K=0}=n;return(U=(r.x||0)+B)<0&&("right"===p&&z>=0?(n.align="left",n.inside=!0):z-=U,se=!0),(U=(r.x||0)+l.width-B)>k.plotWidth&&("left"===p&&z<=0?(n.align="right",n.inside=!0):z+=k.plotWidth-U,se=!0),(U=r.y+B)<0&&("bottom"===T&&K>=0?(n.verticalAlign="top",n.inside=!0):K-=U,se=!0),(U=(r.y||0)+l.height-B)>k.plotHeight&&("top"===T&&K<=0?(n.verticalAlign="bottom",n.inside=!0):K+=k.plotHeight-U,se=!0),se&&(n.x=z,n.y=K,o.placed=!C,o.align(n,void 0,d)),se}function a(o,n){let l,r=[];if(X(o)&&!X(n))r=o.map(function(d){return j(d,n)});else if(X(n)&&!X(o))r=n.map(function(d){return j(o,d)});else if(X(o)||X(n)){if(X(o)&&X(n))for(l=Math.max(o.length,n.length);l--;)r[l]=j(o[l],n[l])}else r=j(o,n);return r}function g(o){let n=o.chart.options.plotOptions;return A(a(a(n?.series?.dataLabels,n?.[o.type]?.dataLabels),o.options.dataLabels))}function v(o,n,r,l,d){let C=this.chart,k=C.inverted,p=this.xAxis,T=p.reversed,B=((k?n.height:n.width)||0)/2,z=o.pointWidth,K=z?z/2:0;n.startXPos=k?d.x:T?-B-K:p.width-B+K,n.startYPos=k?T?this.yAxis.height-B+K:-B-K:d.y,l?"hidden"===n.visibility&&(n.show(),n.attr({opacity:0}).animate({opacity:1})):n.attr({opacity:1}).animate({opacity:0},void 0,n.hide),C.hasRendered&&(r&&n.attr({x:n.startXPos,y:n.startYPos}),n.placed=!0)}I.compose=function(o){let n=o.prototype;n.initDataLabels||(n.initDataLabels=G,n.initDataLabelsGroup=w,n.alignDataLabel=m,n.drawDataLabels=O,n.justifyDataLabel=f,n.setDataLabelStartPos=v,n.hasDataLabels=_)}}(ve||(ve={})),ve}),Le(V,"Series/Column/ColumnDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{composed:pe}=ne,{series:ue}=re,{merge:J,pick:te,pushUnique:X}=ve;return function(E){function j(F,P,D,A,I){let _=this.chart.inverted,m=F.series,w=(m.xAxis?m.xAxis.len:this.chart.plotSizeX)||0,G=(m.yAxis?m.yAxis.len:this.chart.plotSizeY)||0,O=F.dlBox||F.shapeArgs,f=te(F.below,F.plotY>te(this.translatedThreshold,G)),a=te(D.inside,!!this.options.stacking);if(O){if(A=J(O),"allow"!==D.overflow||!1!==D.crop){A.y<0&&(A.height+=A.y,A.y=0);let g=A.y+A.height-G;g>0&&g\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),Le(V,"Series/Scatter/ScatterSeries.js",[V["Series/Scatter/ScatterSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{column:ve,line:le}=ne.seriesTypes,{addEvent:pe,extend:ue,merge:J}=re;class te extends le{applyJitter(){let E=this,j=this.options.jitter,F=this.points.length;j&&this.points.forEach(function(P,D){["x","y"].forEach(function(A,I){let _,w,G,O,m="plot"+A.toUpperCase();j[A]&&!P.isNull&&(_=E[A+"Axis"],O=j[A]*_.transA,_&&!_.isLog&&(w=Math.max(0,P[m]-O),G=Math.min(_.len,P[m]+O),P[m]=w+(G-w)*function(f){let a=1e4*Math.sin(f);return a-Math.floor(a)}(D+I*F),"x"===A&&(P.clientX=P.plotX)))})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return te.defaultOptions=J(le.defaultOptions,q),ue(te.prototype,{drawTracker:ve.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),pe(te,"afterTranslate",function(){this.applyJitter()}),ne.registerSeriesType("scatter",te),te}),Le(V,"Series/CenteredUtilities.js",[V["Core/Globals.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve,le;let{deg2rad:pe}=q,{fireEvent:ue,isNumber:J,pick:te,relativeLength:X}=re;return(le=ve||(ve={})).getCenter=function(){let m,O,f,E=this.options,j=this.chart,F=2*(E.slicedOffset||0),P=j.plotWidth-2*F,D=j.plotHeight-2*F,A=E.center,I=Math.min(P,D),_=E.thickness,w=E.size,G=E.innerSize||0;"string"==typeof w&&(w=parseFloat(w)),"string"==typeof G&&(G=parseFloat(G));let a=[te(A[0],"50%"),te(A[1],"50%"),te(w&&w<0?void 0:E.size,"100%"),te(G&&G<0?void 0:E.innerSize||0,"0%")];for(!j.angular||this instanceof ne||(a[3]=0),O=0;O<4;++O)f=a[O],m=O<2||2===O&&/%$/.test(f),a[O]=X(f,[P,D,I,a[2]][O])+(m?F:0);return a[3]>a[2]&&(a[3]=a[2]),J(_)&&2*_0&&(a[3]=a[2]-2*_),ue(this,"afterGetCenter",{positions:a}),a},le.getStartAndEndRadians=function(E,j){let F=J(E)?E:0,P=J(j)&&j>F&&j-F<360?j:F+360;return{start:pe*(F+-90),end:pe*(P+-90)}},ve}),Le(V,"Series/Pie/PiePoint.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(q,ne,re){let{setAnimation:ve}=q,{addEvent:le,defined:pe,extend:ue,isNumber:J,pick:te,relativeLength:X}=re;class E extends ne{getConnectorPath(F){let P=F.dataLabelPosition,D=F.options||{},A=D.connectorShape;return P&&(this.connectorShapes[A]||A).call(this,{...P.computed,alignment:P.alignment},P.connectorPosition,D)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(F){let P=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(P.x,P.y,P.r+F,P.r+F,{innerR:P.r-1,start:P.start,end:P.end,borderRadius:P.borderRadius})}constructor(F,P,D){super(F,P,D),this.half=0,this.name??(this.name="Slice");let A=I=>{this.slice("select"===I.type)};le(this,"select",A),le(this,"unselect",A)}isValid(){return J(this.y)&&this.y>=0}setVisible(F,P=!0){F!==this.visible&&this.update({visible:F??!this.visible},P,void 0,!1)}slice(F,P,D){let A=this.series;ve(D,A.chart),P=te(P,!0),this.sliced=this.options.sliced=F=pe(F)?F:!this.sliced,A.options.data[A.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return ue(E.prototype,{connectorShapes:{fixedOffset:function(j,F,P){let D=F.breakAt,A=F.touchingSliceAt;return[["M",j.x,j.y],P.softConnector?["C",j.x+("left"===j.alignment?-5:5),j.y,2*D.x-A.x,2*D.y-A.y,D.x,D.y]:["L",D.x,D.y],["L",A.x,A.y]]},straight:function(j,F){let P=F.touchingSliceAt;return[["M",j.x,j.y],["L",P.x,P.y]]},crookedLine:function(j,F,P){let{breakAt:D,touchingSliceAt:A}=F,{series:I}=this,[_,m,w]=I.center,G=w/2,{plotLeft:O,plotWidth:f}=I.chart,a="left"===j.alignment,{x:g,y:v}=j,o=D.x;if(P.crookDistance){let r=X(P.crookDistance,1);o=a?_+G+(f+O-_-G)*(1-r):O+(_-G)*r}else o=_+(m-v)*Math.tan((this.angle||0)-Math.PI/2);let n=[["M",g,v]];return(a?o<=g&&o>=D.x:o>=g&&o<=D.x)&&n.push(["L",o,v]),n.push(["L",D.x,D.y],["L",A.x,A.y]),n}}}),E}),Le(V,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),Le(V,"Series/Pie/PieSeries.js",[V["Series/CenteredUtilities.js"],V["Series/Column/ColumnSeries.js"],V["Core/Globals.js"],V["Series/Pie/PiePoint.js"],V["Series/Pie/PieSeriesDefaults.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te){let{getStartAndEndRadians:X}=q,{noop:E}=re,{clamp:j,extend:F,fireEvent:P,merge:D,pick:A}=te;class I extends pe{animate(m){let w=this,O=w.startAngleRad;m||w.points.forEach(function(f){let a=f.graphic,g=f.shapeArgs;a&&g&&(a.attr({r:A(f.startR,w.center&&w.center[3]/2),start:O,end:O}),a.animate({r:g.r,start:g.start,end:g.end},w.options.animation))})}drawEmpty(){let m,w,G=this.startAngleRad,O=this.endAngleRad,f=this.options;0===this.total&&this.center?(m=this.center[0],w=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(m,w,this.center[1]/2,0,G,O).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:J.arc(m,w,this.center[2]/2,0,{start:G,end:O,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":f.borderWidth,fill:f.fillColor||"none",stroke:f.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let m=this.chart.renderer;this.points.forEach(function(w){w.graphic&&w.hasNewShapeType()&&(w.graphic=w.graphic.destroy()),w.graphic||(w.graphic=m[w.shapeType](w.shapeArgs).add(w.series.group),w.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(m,w,G,O){let f=this.center,a=this.radii?this.radii[G.index]||0:f[2]/2,g=O.dataLabelPosition,v=g?.distance||0,o=Math.asin(j((m-f[1])/(a+v),-1,1));return f[0]+Math.cos(o)*(a+v)*(w?-1:1)+(v>0?(w?-1:1)*(O.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let m,w,G,O,f=this,a=f.chart;this.drawEmpty(),f.group&&!a.styledMode&&f.group.shadow(f.options.shadow),f.points.forEach(function(g){let v={};w=g.graphic,!g.isNull&&w?(O=g.shapeArgs,m=g.getTranslate(),a.styledMode||(G=f.pointAttribs(g,g.selected&&"select")),g.delayedRendering?(w.setRadialReference(f.center).attr(O).attr(m),a.styledMode||w.attr(G).attr({"stroke-linejoin":"round"}),g.delayedRendering=!1):(w.setRadialReference(f.center),a.styledMode||D(!0,v,G),D(!0,v,O,m),w.animate(v)),w.attr({visibility:g.visible?"inherit":"hidden"}),w.addClass(g.getClassName(),!0)):w&&(g.graphic=w.destroy())})}sortByAngle(m,w){m.sort(function(G,O){return void 0!==G.angle&&(O.angle-G.angle)*w})}translate(m){P(this,"translate"),this.generatePoints();let n,r,l,d,C,k,p,w=this.options,G=w.slicedOffset,O=X(w.startAngle,w.endAngle),f=this.startAngleRad=O.start,a=(this.endAngleRad=O.end)-f,g=this.points,v=w.ignoreHiddenPoint,o=g.length,T=0;for(m||(this.center=m=this.getCenter()),k=0;k1.5*Math.PI?l-=2*Math.PI:l<-Math.PI/2&&(l+=2*Math.PI),p.slicedTranslation={translateX:Math.round(Math.cos(l)*G),translateY:Math.round(Math.sin(l)*G)},d=Math.cos(l)*m[2]/2,C=Math.sin(l)*m[2]/2,p.tooltipPos=[m[0]+.7*d,m[1]+.7*C],p.half=l<-Math.PI/2||l>Math.PI/2?1:0,p.angle=l}P(this,"afterTranslate")}updateTotals(){let O,f,m=this.points,w=m.length,G=this.options.ignoreHiddenPoint,a=0;for(O=0;O0&&(f.visible||!G)?f.y/a*100:0,f.total=a}}return I.defaultOptions=D(pe.defaultOptions,le),F(I.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:ne.prototype.drawTracker,getCenter:q.getCenter,getSymbol:E,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:ne.prototype.pointAttribs,pointClass:ve,requireSorting:!1,searchPoint:E,trackerGroups:["group","dataLabelsGroup"]}),ue.registerSeriesType("pie",I),I}),Le(V,"Series/Pie/PieDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{composed:ue,noop:J}=ne,{distribute:te}=re,{series:X}=ve,{arrayMax:E,clamp:j,defined:F,pick:P,pushUnique:D,relativeLength:A}=le;return function(I){let _={radialDistributionY:function(f,a){return(a.dataLabelPosition?.top||0)+f.distributeBox.pos},radialDistributionX:function(f,a,g,v,o){let n=o.dataLabelPosition;return f.getX(g<(n?.top||0)+2||g>(n?.bottom||0)-2?v:g,a.half,a,o)},justify:function(f,a,g,v){return v[0]+(f.half?-1:1)*(g+(a.dataLabelPosition?.distance||0))},alignToPlotEdges:function(f,a,g,v){let o=f.getBBox().width;return a?o+v:g-o-v},alignToConnectors:function(f,a,g,v){let n,o=0;return f.forEach(function(r){(n=r.dataLabel.getBBox().width)>o&&(o=n)}),a?o+v:g-o-v}};function m(f,a){let{center:g,options:v}=this,o=g[2]/2,n=f.angle||0,r=Math.cos(n),l=Math.sin(n),d=g[0]+r*o,C=g[1]+l*o,k=Math.min((v.slicedOffset||0)+(v.borderWidth||0),a/5);return{natural:{x:d+r*a,y:C+l*a},computed:{},alignment:a<0?"center":f.half?"right":"left",connectorPosition:{breakAt:{x:d+r*k,y:C+l*k},touchingSliceAt:{x:d,y:C}},distance:a}}function w(){let B,z,K,f=this,a=f.points,g=f.chart,v=g.plotWidth,o=g.plotHeight,n=g.plotLeft,r=Math.round(g.chartWidth/3),l=f.center,d=l[2]/2,C=l[1],k=[[],[]],p=[0,0,0,0],T=f.dataLabelPositioners,U=0;f.visible&&f.hasDataLabels?.()&&(a.forEach(se=>{(se.dataLabels||[]).forEach(S=>{S.shortened&&(S.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),S.shortened=!1)})}),X.prototype.drawDataLabels.apply(f),a.forEach(se=>{(se.dataLabels||[]).forEach((S,$)=>{let H=l[2]/2,x=S.options,N=A(x?.distance||0,H);0===$&&k[se.half].push(se),!F(x?.style?.width)&&S.getBBox().width>r&&(S.css({width:Math.round(.7*r)+"px"}),S.shortened=!0),S.dataLabelPosition=this.getDataLabelPosition(se,N),U=Math.max(U,N)})}),k.forEach((se,S)=>{let x,N,Z,H=[],R=0;se.length&&(f.sortByAngle(se,S-.5),U>0&&(x=Math.max(0,C-d-U),N=Math.min(C+d+U,g.plotHeight),se.forEach(Y=>{(Y.dataLabels||[]).forEach(he=>{let ge=he.dataLabelPosition;ge&&ge.distance>0&&(ge.top=Math.max(0,C-d-ge.distance),ge.bottom=Math.min(C+d+ge.distance,g.plotHeight),R=he.getBBox().height||21,Y.distributeBox={target:(he.dataLabelPosition?.natural.y||0)-ge.top+R/2,size:R,rank:Y.y},H.push(Y.distributeBox))})}),te(H,Z=N+R-x,Z/5)),se.forEach(Y=>{(Y.dataLabels||[]).forEach(he=>{let ge=he.options||{},_e=Y.distributeBox,Te=he.dataLabelPosition,Oe=Te?.natural.y||0,De=ge.connectorPadding||0,Be=0,oe=Oe,ee="inherit";if(Te){if(H&&F(_e)&&Te.distance>0&&(void 0===_e.pos?ee="hidden":(K=_e.size,oe=T.radialDistributionY(Y,he))),ge.justify)Be=T.justify(Y,he,d,l);else switch(ge.alignTo){case"connectors":Be=T.alignToConnectors(se,S,v,n);break;case"plotEdges":Be=T.alignToPlotEdges(he,S,v,n);break;default:Be=T.radialDistributionX(f,Y,oe,Oe,he)}if(Te.attribs={visibility:ee,align:Te.alignment},Te.posAttribs={x:Be+(ge.x||0)+({left:De,right:-De}[Te.alignment]||0),y:oe+(ge.y||0)-he.getBBox().height/2},Te.computed.x=Be,Te.computed.y=oe,P(ge.crop,!0)){let be;Be-(z=he.getBBox().width)v-De&&0===S&&(be=Math.round(Be+z-v+De),p[1]=Math.max(be,p[1])),oe-K/2<0?p[0]=Math.max(Math.round(K/2-oe),p[0]):oe+K/2>o&&(p[2]=Math.max(Math.round(oe+K/2-o),p[2])),Te.sideOverflow=be}}})}))}),(0===E(p)||this.verifyDataLabelOverflow(p))&&(this.placeDataLabels(),this.points.forEach(se=>{(se.dataLabels||[]).forEach(S=>{let{connectorColor:$,connectorWidth:H=1}=S.options||{},x=S.dataLabelPosition;if(H){let N;B=S.connector,x&&x.distance>0?(N=!B,B||(S.connector=B=g.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+se.colorIndex+(se.className?" "+se.className:"")).add(f.dataLabelsGroup)),g.styledMode||B.attr({"stroke-width":H,stroke:$||se.color||"#666666"}),B[N?"attr":"animate"]({d:se.getConnectorPath(S)}),B.attr({visibility:x.attribs?.visibility})):B&&(S.connector=B.destroy())}})})))}function G(){this.points.forEach(f=>{(f.dataLabels||[]).forEach(a=>{let g=a.dataLabelPosition;g?(g.sideOverflow&&(a.css({width:Math.max(a.getBBox().width-g.sideOverflow,0)+"px",textOverflow:(a.options?.style||{}).textOverflow||"ellipsis"}),a.shortened=!0),a.attr(g.attribs),a[a.moved?"animate":"attr"](g.posAttribs),a.moved=!0):a&&a.attr({y:-9999})}),delete f.distributeBox},this)}function O(f){let a=this.center,g=this.options,v=g.center,o=g.minSize||80,n=o,r=null!==g.size;return!r&&(null!==v[0]?n=Math.max(a[2]-Math.max(f[1],f[3]),o):(n=Math.max(a[2]-f[1]-f[3],o),a[0]+=(f[3]-f[1])/2),null!==v[1]?n=j(n,o,a[2]-Math.max(f[0],f[2])):(n=j(n,o,a[2]-f[0]-f[2]),a[1]+=(f[0]-f[2])/2),n!(m.x>=_.x+_.width||m.x+m.width<=_.x||m.y>=_.y+_.height||m.y+m.height<=_.y),I=!1;for(let _=0;_(m.labelrank||0)-(_.labelrank||0));for(let _=0;_{ve(j,F=>{F.label&&X.push(F.label)})});for(let E of te.series||[])if(E.visible&&E.hasDataLabels?.()){let j=F=>{for(let P of F)P.visible&&(P.dataLabels||[]).forEach(D=>{let A=D.options||{};D.labelrank=le(A.labelrank,P.labelrank,P.shapeArgs?.height),A.allowOverlap??Number(A.distance)>0?(D.oldOpacity=D.opacity,D.newOpacity=1,ue(D,te)):X.push(D)})};j(E.nodes||[]),j(E.points)}this.hideOverlappingLabels(X)}return{compose:function(te){let X=te.prototype;X.hideOverlappingLabels||(X.hideOverlappingLabels=pe,ne(te,"render",J))}}}),Le(V,"Extensions/BorderRadius.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{defaultOptions:ve}=q,{noop:le}=ne,{addEvent:pe,extend:ue,isObject:J,merge:te,relativeLength:X}=re,E={radius:0,scope:"stack",where:void 0},j=le,F=le;function P(m,w,G,O,f={}){let a=j(m,w,G,O,f),{innerR:g=0,r:v=G,start:o=0,end:n=0}=f;if(f.open||!f.borderRadius)return a;let r=n-o,l=Math.sin(r/2),d=Math.max(Math.min(X(f.borderRadius||0,v-g),(v-g)/2,v*l/(1+l)),0),C=Math.min(d,r/Math.PI*2*g),k=a.length-1;for(;k--;)!function(p,T,B){let z,K,U,se=p[T],S=p[T+1];if("Z"===S[0]&&(S=p[0]),"M"!==se[0]&&"L"!==se[0]||"A"!==S[0]?"A"===se[0]&&("M"===S[0]||"L"===S[0])&&(z=S,K=se):(z=se,K=S,U=!0),z&&K&&K.params){let $=K[1],H=K[5],x=K.params,{start:N,end:R,cx:Z,cy:Y}=x,he=H?$-B:$+B,ge=he?Math.asin(B/he):0,_e=H?ge:-ge,Te=Math.cos(ge)*he;U?(x.start=N+_e,z[1]=Z+Te*Math.cos(N),z[2]=Y+Te*Math.sin(N),p.splice(T+1,0,["A",B,B,0,0,1,Z+$*Math.cos(x.start),Y+$*Math.sin(x.start)])):(x.end=R-_e,K[6]=Z+$*Math.cos(x.end),K[7]=Y+$*Math.sin(x.end),p.splice(T+1,0,["A",B,B,0,0,1,Z+Te*Math.cos(R),Y+Te*Math.sin(R)])),K[4]=Math.abs(x.end-x.start)1?C:d);return a}function D(){if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){let{options:m,yAxis:w}=this,G="percent"===m.stacking,O=ve.plotOptions?.[this.type]?.borderRadius,f=A(m.borderRadius,J(O)?O:{}),a=w.options.reversed;for(let g of this.points){let{shapeArgs:v}=g;if("roundedRect"===g.shapeType&&v){let{width:o=0,height:n=0,y:r=0}=v,l=r,d=n;if("stack"===f.scope&&g.stackTotal){let T=w.translate(G?100:g.stackTotal,!1,!0,!1,!0),B=w.translate(m.threshold||0,!1,!0,!1,!0),z=this.crispCol(0,Math.min(T,B),0,Math.abs(T-B));l=z.y,d=z.height}let C=(g.negative?-1:1)*(a?-1:1)==-1,k=f.where;!k&&this.is("waterfall")&&Math.abs((g.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(k="all"),k||(k="end");let p=Math.min(X(f.radius,o),o/2,"all"===k?n/2:1/0)||0;"end"===k&&(C&&(l-=p),d+=p),ue(v,{brBoxHeight:d,brBoxY:l,r:p})}}}}function A(m,w){return J(m)||(m={radius:m||0}),te(E,w,m)}function I(){let m=A(this.options.borderRadius);for(let w of this.points){let G=w.shapeArgs;G&&(G.borderRadius=X(m.radius,(G.r||0)-(G.innerR||0)))}}function _(m,w,G,O,f={}){let a=F(m,w,G,O,f),{r:g=0,brBoxHeight:v=O,brBoxY:o=w}=f,n=w-o,r=o+v-(w+O),l=n-g>-.1?0:g,d=r-g>-.1?0:g,C=Math.max(l&&n,0),k=Math.max(d&&r,0),p=[m+l,w],T=[m+G-l,w],B=[m+G,w+l],z=[m+G,w+O-d],K=[m+G-d,w+O],U=[m+d,w+O],se=[m,w+O-d],S=[m,w+l],$=(H,x)=>Math.sqrt(Math.pow(H,2)-Math.pow(x,2));if(C){let H=$(l,l-C);p[0]-=H,T[0]+=H,B[1]=S[1]=w+l-C}if(O=ue(P.minWidth,0)&&this.chartHeight>=ue(P.minHeight,0)}).call(this)&&F.push(j._id)}function E(j,F){let I,P=this.options.responsive,D=this.currentResponsive,A=[];!F&&P&&P.rules&&P.rules.forEach(w=>{void 0===w._id&&(w._id=J()),this.matchResponsiveRule(w,A)},this);let _=pe(...A.map(w=>le((P||{}).rules||[],G=>G._id===w)).map(w=>w&&w.chartOptions));_.isResponsiveOptions=!0,A=A.toString()||void 0,A!==(D&&D.ruleIds)&&(D&&this.update(D.undoOptions,j,!0),A?((I=re(_,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:A,mergedOptions:_,undoOptions:I},this.update(_,j,!0)):this.currentResponsive=void 0)}te.compose=function(j){let F=j.prototype;return F.matchResponsiveRule||ve(F,{matchResponsiveRule:X,setResponsive:E}),j}}(ne||(ne={})),ne}),Le(V,"masters/highcharts.src.js",[V["Core/Globals.js"],V["Core/Utilities.js"],V["Core/Defaults.js"],V["Core/Animation/Fx.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Templating.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Renderer/HTML/HTMLElement.js"],V["Core/Axis/Axis.js"],V["Core/Axis/DateTimeAxis.js"],V["Core/Axis/LogarithmicAxis.js"],V["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],V["Core/Axis/Tick.js"],V["Core/Tooltip.js"],V["Core/Series/Point.js"],V["Core/Pointer.js"],V["Core/Legend/Legend.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Chart/Chart.js"],V["Extensions/ScrollablePlotArea.js"],V["Core/Axis/Stacking/StackingAxis.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Series/Column/ColumnDataLabel.js"],V["Series/Pie/PieDataLabel.js"],V["Core/Series/DataLabel.js"],V["Extensions/OverlappingDataLabels.js"],V["Extensions/BorderRadius.js"],V["Core/Responsive.js"],V["Core/Color/Color.js"],V["Core/Time.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X,E,j,F,P,D,A,I,_,m,w,G,O,f,a,g,v,o,n,r,l,d,C,k,p,T,B){return q.AST=pe,q.Axis=F,q.Chart=f,q.Color=T,q.DataLabel=d,q.Fx=ve,q.HTMLElement=j,q.Legend=G,q.LegendSymbol=O,q.OverlappingDataLabels=q.OverlappingDataLabels||C,q.PlotLineOrBand=A,q.Point=m,q.Pointer=w,q.RendererRegistry=J,q.Series=o,q.SeriesRegistry=n,q.StackItem=v,q.SVGElement=X,q.SVGRenderer=E,q.Templating=ue,q.Tick=I,q.Time=B,q.Tooltip=_,q.animate=le.animate,q.animObject=le.animObject,q.chart=f.chart,q.color=T.parse,q.dateFormat=ue.dateFormat,q.defaultOptions=re.defaultOptions,q.distribute=te.distribute,q.format=ue.format,q.getDeferredAnimation=le.getDeferredAnimation,q.getOptions=re.getOptions,q.numberFormat=ue.numberFormat,q.seriesType=n.seriesType,q.setAnimation=le.setAnimation,q.setOptions=re.setOptions,q.stop=le.stop,q.time=re.defaultTime,q.timers=ve.timers,k.compose(q.Series,q.SVGElement,q.SVGRenderer),r.compose(q.Series.types.column),d.compose(q.Series),P.compose(q.Axis),j.compose(q.SVGRenderer),G.compose(q.Chart),D.compose(q.Axis),C.compose(q.Chart),l.compose(q.Series.types.pie),A.compose(q.Axis),w.compose(q.Chart),p.compose(q.Chart),a.compose(q.Axis,q.Chart,q.Series),g.compose(q.Axis,q.Chart,q.Series),_.compose(q.Pointer),ne.extend(q,ne),q}),Le(V,"Core/Axis/Color/ColorAxisComposition.js",[V["Core/Color/Color.js"],V["Core/Utilities.js"]],function(q,ne){var re;let{parse:ve}=q,{addEvent:le,extend:pe,merge:ue,pick:J,splat:te}=ne;return function(X){let E;function j(){let{userOptions:O}=this;this.colorAxis=[],O.colorAxis&&(O.colorAxis=te(O.colorAxis),O.colorAxis.map(f=>new E(this,f)))}function F(O){let v,o,a=n=>{let r=O.allItems.indexOf(n);-1!==r&&(this.destroyItem(O.allItems[r]),O.allItems.splice(r,1))},g=[];for((this.chart.colorAxis||[]).forEach(function(n){(v=n.options)&&v.showInLegend&&(v.dataClasses&&v.visible?g=g.concat(n.getDataClassLegendSymbols()):v.visible&&g.push(n),n.series.forEach(function(r){(!r.options.showInLegend||v.dataClasses)&&("point"===r.options.legendType?r.points.forEach(function(l){a(l)}):a(r))}))}),o=g.length;o--;)O.allItems.unshift(g[o])}function P(O){O.visible&&O.item.legendColor&&O.item.legendItem.symbol.attr({fill:O.item.legendColor})}function D(O){this.chart.colorAxis?.forEach(f=>{f.update({},O.redraw)})}function A(){(this.chart.colorAxis&&this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()}function I(){let O=this.axisTypes;O?-1===O.indexOf("colorAxis")&&O.push("colorAxis"):this.axisTypes=["colorAxis"]}function _(O){let f=this,a=O?"show":"hide";f.visible=f.options.visible=!!O,["graphic","dataLabel"].forEach(function(g){f[g]&&f[g][a]()}),this.series.buildKDTree()}function m(){let O=this,a=this.options.nullColor,g=this.colorAxis,v=this.colorKey;(this.data.length?this.data:this.points).forEach(o=>{let n=o.getNestedProperty(v),r=o.options.color||(o.isNull||null===o.value?a:g&&void 0!==n?g.toColor(n,o):o.color||O.color);r&&o.color!==r&&(o.color=r,"point"===O.options.legendType&&o.legendItem&&o.legendItem.label&&O.chart.legend.colorizeItem(o,o.visible))})}function w(){this.elem.attr("fill",ve(this.start).tweenTo(ve(this.end),this.pos),void 0,!0)}function G(){this.elem.attr("stroke",ve(this.start).tweenTo(ve(this.end),this.pos),void 0,!0)}X.compose=function(O,f,a,g,v){let o=f.prototype,n=a.prototype,r=v.prototype;o.collectionsWithUpdate.includes("colorAxis")||(E=O,o.collectionsWithUpdate.push("colorAxis"),o.collectionsWithInit.colorAxis=[o.addColorAxis],le(f,"afterGetAxes",j),function(l){let d=l.prototype.createAxis;l.prototype.createAxis=function(C,k){if("colorAxis"!==C)return d.apply(this,arguments);let p=new E(this,ue(k.axis,{index:this[C].length,isX:!1}));return this.isDirtyLegend=!0,this.axes.forEach(T=>{T.series=[]}),this.series.forEach(T=>{T.bindAxes(),T.isDirtyData=!0}),J(k.redraw,!0)&&this.redraw(k.animation),p}}(f),n.fillSetter=w,n.strokeSetter=G,le(g,"afterGetAllItems",F),le(g,"afterColorizeItem",P),le(g,"afterUpdate",D),pe(r,{optionalAxis:"colorAxis",translateColors:m}),pe(r.pointClass.prototype,{setVisible:_}),le(v,"afterTranslate",A,{order:1}),le(v,"bindAxes",I))},X.pointSetVisible=_}(re||(re={})),re}),Le(V,"Core/Axis/Color/ColorAxisDefaults.js",[],function(){return{lineWidth:0,minPadding:0,maxPadding:0,gridLineColor:"#ffffff",gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{distance:8,overflow:"justify",rotation:0},minColor:"#e6e9ff",maxColor:"#0022ff",tickLength:5,showInLegend:!0}}),Le(V,"Core/Axis/Color/ColorAxisLike.js",[V["Core/Color/Color.js"],V["Core/Utilities.js"]],function(q,ne){var re,ve;let{parse:le}=q,{merge:pe}=ne;return(ve=re||(re={})).initDataClasses=function(ue){let j,F,A,J=this.chart,te=this.legendItem=this.legendItem||{},X=this.options,E=ue.dataClasses||[],P=J.options.chart.colorCount,D=0;this.dataClasses=F=[],te.labels=[];for(let I=0,_=E.length;I<_;++I)j=pe(j=E[I]),F.push(j),(J.styledMode||!j.color)&&("category"===X.dataClassColor?(J.styledMode||(P=(A=J.options.colors||[]).length,j.color=A[D]),j.colorIndex=D,++D===P&&(D=0)):j.color=le(X.minColor).tweenTo(le(X.maxColor),_<2?.5:I/(_-1)))},ve.initStops=function(){let ue=this.options,J=this.stops=ue.stops||[[0,ue.minColor||""],[1,ue.maxColor||""]];for(let te=0,X=J.length;te=X)&&(void 0===E||ue<=E)){j=F.color,J&&(J.dataClass=P,J.colorIndex=F.colorIndex);break}}else{for(te=this.normalizedValue(ue),P=A.length;P--&&!(te>A[P][0]););X=A[P]||A[P+1],te=1-((E=A[P+1]||X)[0]-te)/(E[0]-X[0]||1),j=X.color.tweenTo(E.color,te)}return j},re}),Le(V,"Core/Axis/Color/ColorAxis.js",[V["Core/Axis/Axis.js"],V["Core/Axis/Color/ColorAxisComposition.js"],V["Core/Axis/Color/ColorAxisDefaults.js"],V["Core/Axis/Color/ColorAxisLike.js"],V["Core/Defaults.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{defaultOptions:te}=le,{series:X}=ue,{defined:E,extend:j,fireEvent:F,isArray:P,isNumber:D,merge:A,pick:I,relativeLength:_}=J;te.colorAxis=A(te.xAxis,re);class m extends q{static compose(G,O,f,a){ne.compose(m,G,O,f,a)}constructor(G,O){super(G,O),this.coll="colorAxis",this.visible=!0,this.init(G,O)}init(G,O){let a=O.layout?"vertical"!==O.layout:"vertical"!==(G.options.legend||{}).layout;this.side=O.side||a?2:1,this.reversed=O.reversed||!a,this.opposite=!a,super.init(G,O,"colorAxis"),this.userOptions=O,P(G.userOptions.colorAxis)&&(G.userOptions.colorAxis[this.index]=O),O.dataClasses&&this.initDataClasses(O),this.initStops(),this.horiz=a,this.zoomEnabled=!1}hasData(){return!!(this.tickPositions||[]).length}setTickPositions(){if(!this.dataClasses)return super.setTickPositions()}setOptions(G){let O=A(te.colorAxis,G,{showEmpty:!1,title:null,visible:this.chart.options.legend.enabled&&!1!==G.visible});super.setOptions(O),this.options.crosshair=this.options.marker}setAxisSize(){let G=this.chart,O=this.legendItem?.symbol,{width:f,height:a}=this.getSize();O&&(this.left=+O.attr("x"),this.top=+O.attr("y"),this.width=f=+O.attr("width"),this.height=a=+O.attr("height"),this.right=G.chartWidth-this.left-f,this.bottom=G.chartHeight-this.top-a,this.pos=this.horiz?this.left:this.top),this.len=(this.horiz?f:a)||m.defaultLegendLength}getOffset(){let G=this.legendItem?.group,O=this.chart.axisOffset[this.side];if(G){this.axisParent=G,super.getOffset();let f=this.chart.legend;f.allItems.forEach(function(a){a instanceof m&&a.drawLegendSymbol(f,a)}),f.render(),this.chart.getMargins(!0),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=O}}setLegendColor(){let O=this.reversed,f=O?1:0,a=O?0:1,g=this.horiz?[f,0,a,0]:[0,a,0,f];this.legendColor={linearGradient:{x1:g[0],y1:g[1],x2:g[2],y2:g[3]},stops:this.stops}}drawLegendSymbol(G,O){let f=O.legendItem||{},a=G.padding,g=G.options,v=this.options.labels,o=I(g.itemDistance,10),n=this.horiz,{width:r,height:l}=this.getSize(),d=I(g.labelPadding,n?16:30);this.setLegendColor(),f.symbol||(f.symbol=this.chart.renderer.symbol("roundedRect").attr({r:g.symbolRadius??3,zIndex:1}).add(f.group)),f.symbol.attr({x:0,y:(G.baseline||0)-11,width:r,height:l}),f.labelWidth=r+a+(n?o:I(v.x,v.distance)+(this.maxLabelLength||0)),f.labelHeight=l+a+(n?d:0)}setState(G){this.series.forEach(function(O){O.setState(G)})}setVisible(){}getSeriesExtremes(){let O,f,a,g,v,o,r,l,G=this.series,n=G.length;for(this.dataMin=1/0,this.dataMax=-1/0;n--;){if(f=(o=G[n]).colorKey=I(o.options.colorKey,o.colorKey,o.pointValKey,o.zoneAxis,"y"),g=o.pointArrayMap,v=o[f+"Min"]&&o[f+"Max"],o[f+"Data"])O=o[f+"Data"];else if(g){if(O=[],a=g.indexOf(f),r=o.yData,a>=0&&r)for(l=0;lo+n&&(f=o+n+2),O.plotX=f,O.plotY=this.len-f,super.drawCrosshair(G,O),O.plotX=g,O.plotY=v,this.cross&&!this.cross.addedToColorAxis&&a.group&&(this.cross.addClass("highcharts-coloraxis-marker").add(a.group),this.cross.addedToColorAxis=!0,this.chart.styledMode||"object"!=typeof this.crosshair||this.cross.attr({fill:this.crosshair.color})))}getPlotLinePath(G){let O=this.left,f=G.translatedValue,a=this.top;return D(f)?this.horiz?[["M",f-4,a-6],["L",f+4,a-6],["L",f,a],["Z"]]:[["M",O,f],["L",O-6,f+6],["L",O-6,f-6],["Z"]]:super.getPlotLinePath(G)}update(G,O){let f=this.chart.legend;this.series.forEach(a=>{a.isDirtyData=!0}),(G.dataClasses&&f.allItems||this.dataClasses)&&this.destroyItems(),super.update(G,O),this.legendItem&&this.legendItem.label&&(this.setLegendColor(),f.colorizeItem(this,!0))}destroyItems(){let G=this.chart,O=this.legendItem||{};if(O.label)G.legend.destroyItem(this);else if(O.labels)for(let f of O.labels)G.legend.destroyItem(f);G.isDirtyLegend=!0}destroy(){this.chart.isDirtyLegend=!0,this.destroyItems(),super.destroy(...[].slice.call(arguments))}remove(G){this.destroyItems(),super.remove(G)}getDataClassLegendSymbols(){let G,O=this,f=O.chart,a=O.legendItem&&O.legendItem.labels||[],g=f.options.legend,v=I(g.valueDecimals,-1),o=I(g.valueSuffix,""),n=r=>O.series.reduce((l,d)=>(l.push(...d.points.filter(C=>C.dataClass===r)),l),[]);return a.length||O.dataClasses.forEach((r,l)=>{let d=r.from,C=r.to,{numberFormatter:k}=f,p=!0;G="",void 0===d?G="< ":void 0===C&&(G="> "),void 0!==d&&(G+=k(d,v)+o),void 0!==d&&void 0!==C&&(G+=" - "),void 0!==C&&(G+=k(C,v)+o),a.push(j({chart:f,name:G,options:{},drawLegendSymbol:pe.rectangle,visible:!0,isDataClass:!0,setState:T=>{for(let B of n(l))B.setState(T)},setVisible:function(){this.visible=p=O.visible=!p;let T=[];for(let B of n(l))B.setVisible(p),B.hiddenInDataClass=!p,-1===T.indexOf(B.series)&&T.push(B.series);f.legend.colorizeItem(this,p),T.forEach(B=>{F(B,"afterDataClassLegendClick")})}},r))}),a}getSize(){let{chart:G,horiz:O}=this,{legend:f,height:a,width:g}=this.options;return{width:I(E(g)?_(g,G.chartWidth):void 0,f?.symbolWidth,O?m.defaultLegendLength:12),height:I(E(a)?_(a,G.chartHeight):void 0,f?.symbolHeight,O?12:m.defaultLegendLength)}}}return m.defaultLegendLength=200,m.keepProps=["legendItem"],j(m.prototype,ve),Array.prototype.push.apply(q.keepProps,m.keepProps),m}),Le(V,"masters/modules/coloraxis.src.js",[V["Core/Globals.js"],V["Core/Axis/Color/ColorAxis.js"]],function(q,ne){return q.ColorAxis=q.ColorAxis||ne,q.ColorAxis.compose(q.Chart,q.Fx,q.Legend,q.Series),q}),Le(V,"Maps/MapNavigationDefaults.js",[],function(){return{lang:{zoomIn:"Zoom in",zoomOut:"Zoom out"},mapNavigation:{buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5,style:{color:"#666666",fontSize:"1em",fontWeight:"bold"},theme:{fill:"#ffffff",stroke:"#e6e6e6","stroke-width":1,"text-align":"center"}},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1}}}),Le(V,"Maps/MapPointer.js",[V["Core/Utilities.js"]],function(q){var ne;let{defined:re,extend:ve,pick:le,wrap:pe}=q;return function(ue){let J,te=0;function X(P){let D=this.chart;P=this.normalize(P),D.options.mapNavigation.enableDoubleClickZoomTo?D.pointer.inClass(P.target,"highcharts-tracker")&&D.hoverPoint&&D.hoverPoint.zoomTo():D.isInsidePlot(P.chartX-D.plotLeft,P.chartY-D.plotTop)&&D.mapZoom(.5,void 0,void 0,P.chartX,P.chartY)}function E(P){let D=this.chart,A=re((P=this.normalize(P)).wheelDelta)&&-P.wheelDelta/120||P.deltaY||P.detail;Math.abs(A)>=1&&(te+=Math.abs(A),J&&clearTimeout(J),J=setTimeout(()=>{te=0},50)),te<10&&D.isInsidePlot(P.chartX-D.plotLeft,P.chartY-D.plotTop)&&D.mapView&&D.mapView.zoomBy(-(D.options.mapNavigation.mouseWheelSensitivity-1)*A,void 0,[P.chartX,P.chartY],!(1>Math.abs(A))&&void 0)}function j(P,D,A){let I=this.chart;if(D=P.call(this,D,A),I&&I.mapView){let _=I.mapView.pixelsToLonLat({x:D.chartX-I.plotLeft,y:D.chartY-I.plotTop});_&&ve(D,_)}return D}function F(P){let D=this.chart.options.mapNavigation;D&&le(D.enableTouchZoom,D.enabled)&&(this.chart.zooming.pinchType="xy"),P.apply(this,[].slice.call(arguments,1))}ue.compose=function(P){let D=P.prototype;D.onContainerDblClick||(ve(D,{onContainerDblClick:X,onContainerMouseWheel:E}),pe(D,"normalize",j),pe(D,"zoomOption",F))}}(ne||(ne={})),ne}),Le(V,"Maps/MapSymbols.js",[],function(){let q;function ne(ve,le,pe,ue,J){if(J){let te=J?.r||0;J.brBoxY=le-te,J.brBoxHeight=ue+te}return q.roundedRect(ve,le,pe,ue,J)}function re(ve,le,pe,ue,J){return J&&(J.brBoxHeight=ue+(J?.r||0)),q.roundedRect(ve,le,pe,ue,J)}return{compose:function(ve){(q=ve.prototype.symbols).bottombutton=ne,q.topbutton=re}}}),Le(V,"Maps/MapNavigation.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Maps/MapNavigationDefaults.js"],V["Maps/MapPointer.js"],V["Maps/MapSymbols.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){let{setOptions:ue}=q,{composed:J}=ne,{addEvent:te,extend:X,merge:E,objectEach:j,pick:F,pushUnique:P}=pe;function D(I){I&&(I.preventDefault&&I.preventDefault(),I.stopPropagation&&I.stopPropagation(),I.cancelBubble=!0)}class A{static compose(_,m,w){ve.compose(m),le.compose(w),P(J,"Map.Navigation")&&(te(_,"beforeRender",function(){this.mapNavigation=new A(this),this.mapNavigation.update()}),ue(re))}constructor(_){this.chart=_,this.navButtons=[]}update(_){let a,m=this,w=m.chart,G=m.navButtons,O=function(g){this.handler.call(w,g),D(g)},f=w.options.mapNavigation;for(_&&(f=w.options.mapNavigation=E(w.options.mapNavigation,_));G.length;)G.pop().destroy();if(!w.renderer.forExport&&F(f.enableButtons,f.enabled)){m.navButtonsGroup||(m.navButtonsGroup=w.renderer.g().attr({zIndex:7}).add()),j(f.buttons,(v,o)=>{v=E(f.buttonOptions,v),!w.styledMode&&v.theme&&((a=v.theme).style=E(v.theme.style,v.style));let{text:n,width:r=0,height:l=0,padding:d=0}=v,C=w.renderer.button("+"!==n&&"-"!==n&&n||"",0,0,O,a,void 0,void 0,void 0,"zoomIn"===o?"topbutton":"bottombutton").addClass("highcharts-map-navigation highcharts-"+{zoomIn:"zoom-in",zoomOut:"zoom-out"}[o]).attr({width:r,height:l,title:w.options.lang[o],padding:v.padding,zIndex:5}).add(m.navButtonsGroup);if("+"===n||"-"===n){let k=r+1,p=[["M",d+3,d+l/2],["L",d+k-3,d+l/2]];"+"===n&&p.push(["M",d+k/2,d+3],["L",d+k/2,d+l-3]),w.renderer.path(p).addClass("highcharts-button-symbol").attr(w.styledMode?{}:{stroke:v.style?.color,"stroke-width":3,"stroke-linecap":"round"}).add(C)}if(C.handler=v.onclick,te(C.element,"dblclick",D),G.push(C),X(v,{width:C.width,height:2*(C.height||0)}),w.hasLoaded)C.align(v,!1,v.alignTo);else{let k=te(w,"load",()=>{C.element&&C.align(v,!1,v.alignTo),k()})}});let g=(v,o)=>!(o.x>=v.x+v.width||o.x+o.width<=v.x||o.y>=v.y+v.height||o.y+o.height<=v.y);w.hasLoaded||te(w,"render",function(){let v=w.exportingGroup&&w.exportingGroup.getBBox();if(v){let o=m.navButtonsGroup.getBBox();g(v,o)&&m.navButtonsGroup.attr({translateY:"bottom"===(f.buttonOptions&&f.buttonOptions.verticalAlign)?-o.y-o.height+v.y-5:v.y+v.height-o.y+5})}})}this.updateEvents(f)}updateEvents(_){let m=this.chart;F(_.enableDoubleClickZoom,_.enabled)||_.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||te(m.container,"dblclick",function(w){m.pointer.onContainerDblClick(w)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick()),F(_.enableMouseWheelZoom,_.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||te(m.container,"wheel",function(w){return m.pointer.inClass(w.target,"highcharts-no-mousewheel")||(m.pointer.onContainerMouseWheel(w),D(w)),!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())}}return A}),Le(V,"Series/ColorMapComposition.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne){var re;let{column:{prototype:ve}}=q.seriesTypes,{addEvent:le,defined:pe}=ne;return function(ue){function J(te){this.moveToTopOnHover&&this.graphic&&this.graphic.attr({zIndex:te&&"hover"===te.state?1:0})}ue.pointMembers={dataLabelOnNull:!0,moveToTopOnHover:!0,isValid:function(){return null!==this.value&&this.value!==1/0&&this.value!==-1/0&&(void 0===this.value||!isNaN(this.value))}},ue.seriesMembers={colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(te){let X={};return pe(te.color)&&(!te.state||"normal"===te.state)&&(X[this.colorProp||"fill"]=te.color),X},pointAttribs:ve.pointAttribs},ue.compose=function(te){return le(te.prototype.pointClass,"afterSetState",J),te}}(re||(re={})),re}),Le(V,"Core/Chart/MapChart.js",[V["Core/Chart/Chart.js"],V["Core/Defaults.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{getOptions:pe}=ne,{isNumber:ue,merge:J,pick:te}=ve;class X extends q{init(j,F){let P=pe().credits,D=J({chart:{panning:{enabled:!0,type:"xy"},type:"map"},credits:{mapText:te(P.mapText,' \xa9 {geojson.copyrightShort}'),mapTextFull:te(P.mapTextFull,"{geojson.copyright}")},mapView:{},tooltip:{followTouchMove:!1}},j);super.init(D,F)}mapZoom(j,F,P,D,A){this.mapView&&(ue(j)&&(j=Math.log(j)/Math.log(.5)),this.mapView.zoomBy(j,ue(F)&&ue(P)?this.mapView.projection.inverse([F,P]):void 0,ue(D)&&ue(A)?[D,A]:void 0))}update(j){j.chart&&"map"in j.chart&&this.mapView?.recommendMapView(this,[j.chart.map,...(this.options.series||[]).map(F=>F.mapData)],!0),super.update.apply(this,arguments)}}return(le=X||(X={})).maps={},le.mapChart=function(E,j,F){return new le(E,j,F)},le.splitPath=function(E){let j;return j="string"==typeof E?(E=E.replace(/([A-Za-z])/g," $1 ").replace(/^\s*/,"").replace(/\s*$/,"")).split(/[ ,;]+/).map(F=>/[A-Za-z]/.test(F)?F:parseFloat(F)):E,re.prototype.pathToSegments(j)},X}),Le(V,"Maps/MapUtilities.js",[],function(){return{boundsFromPath:function(q){let pe,ne=-Number.MAX_VALUE,re=Number.MAX_VALUE,ve=-Number.MAX_VALUE,le=Number.MAX_VALUE;if(q.forEach(ue=>{let J=ue[ue.length-2],te=ue[ue.length-1];"number"==typeof J&&"number"==typeof te&&(re=Math.min(re,J),ne=Math.max(ne,J),le=Math.min(le,te),ve=Math.max(ve,te),pe=!0)}),pe)return{x1:re,y1:le,x2:ne,y2:ve}},pointInPolygon:function(q,ne){let re,ve,le=!1,pe=q.x,ue=q.y;for(re=0,ve=ne.length-1;reue!=ne[ve][1]>ue&&pe<(ne[ve][0]-ne[re][0])*(ue-ne[re][1])/(ne[ve][1]-ne[re][1])+ne[re][0]&&(le=!le);return le}}}),Le(V,"Series/Map/MapPoint.js",[V["Series/ColorMapComposition.js"],V["Maps/MapUtilities.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{boundsFromPath:le}=ne,pe=re.seriesTypes.scatter.prototype.pointClass,{extend:ue,isNumber:J,pick:te}=ve;class X extends pe{static getProjectedPath(j,F){return j.projectedPath||(F&&j.geometry?(F.hasCoordinates=!0,j.projectedPath=F.path(j.geometry)):j.projectedPath=j.path),j.projectedPath||[]}applyOptions(j,F){let P=this.series,D=super.applyOptions(j,F);if(P.mapData&&P.mapMap){let _=super.getNestedProperty(P.joinBy[1]),m=void 0!==_&&P.mapMap[_];m?ue(D,{...m,name:D.name??m.name}):-1!==P.pointArrayMap.indexOf("value")&&(D.value=D.value||null)}return D}getProjectedBounds(j){let F=le(X.getProjectedPath(this,j)),P=this.properties;if(F){let A=P&&P["hc-middle-lon"],I=P&&P["hc-middle-lat"];if(this.series.chart.mapView&&J(A)&&J(I)){let _=j.forward([A,I]);F.midX=_[0],F.midY=_[1]}else{let _=P&&P["hc-middle-x"],m=P&&P["hc-middle-y"];F.midX=F.x1+(F.x2-F.x1)*te(this.middleX,J(_)?_:.5);let w=te(this.middleY,J(m)?m:.5);this.geometry||(w=1-w),F.midY=F.y2-(F.y2-F.y1)*w}return F}}onMouseOver(j){ve.clearTimeout(this.colorInterval),!this.isNull&&this.visible||this.series.options.nullInteraction?super.onMouseOver.call(this,j):this.series.onMouseOut()}setVisible(j){this.visible=this.options.visible=!!j,this.dataLabel&&this.dataLabel[j?"show":"hide"](),this.graphic&&this.graphic.attr(this.series.pointAttribs(this))}zoomTo(j){let F=this.series.chart,P=F.mapView,D=this.bounds;if(P&&D){let A=J(this.insetIndex)&&P.insets[this.insetIndex];if(A){let I=A.projectedUnitsToPixels({x:D.x1,y:D.y1}),_=A.projectedUnitsToPixels({x:D.x2,y:D.y2}),m=P.pixelsToProjectedUnits({x:I.x,y:I.y}),w=P.pixelsToProjectedUnits({x:_.x,y:_.y});D={x1:m.x,y1:m.y,x2:w.x,y2:w.y}}P.fitToBounds(D,void 0,!1),this.series.isDirty=!0,F.redraw(j)}}}return ue(X.prototype,{dataLabelOnNull:q.pointMembers.dataLabelOnNull,moveToTopOnHover:q.pointMembers.moveToTopOnHover,isValid:q.pointMembers.isValid}),X}),Le(V,"Series/Map/MapSeriesDefaults.js",[V["Core/Utilities.js"]],function(q){let{isNumber:ne}=q;return{affectsMapView:!0,animation:!1,dataLabels:{crop:!1,formatter:function(){let{numberFormatter:re}=this.series.chart,{value:ve}=this.point;return ne(ve)?re(ve,-1):this.point.name},inside:!0,overflow:!1,padding:0,verticalAlign:"middle"},linecap:"round",marker:null,nullColor:"#f7f7f7",stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}
"},turboThreshold:0,allAreas:!0,borderColor:"#e6e6e6",borderWidth:1,joinBy:"hc-key",states:{hover:{halo:void 0,borderColor:"#666666",borderWidth:2},normal:{animation:!0},select:{color:"#cccccc"}},legendSymbol:"rectangle"}}),Le(V,"Maps/MapViewDefaults.js",[],function(){return{center:[0,0],fitToGeometry:void 0,maxZoom:void 0,padding:0,projection:{name:void 0,parallels:void 0,rotation:void 0},zoom:void 0,insetOptions:{borderColor:"#cccccc",borderWidth:1,padding:"10%",relativeTo:"mapBoundingBox",units:"percent"}}}),Le(V,"Maps/GeoJSONComposition.js",[V["Core/Globals.js"],V["Core/Templating.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve;let{win:le}=q,{format:pe}=ne,{error:ue,extend:J,merge:te,wrap:X}=re;return function(E){function j(_){return this.mapView&&this.mapView.lonLatToProjectedUnits(_)}function F(_){return this.mapView&&this.mapView.projectedUnitsToLonLat(_)}function P(_,m){let w=this.options.chart.proj4||le.proj4;if(!w)return void ue(21,!1,this);let{jsonmarginX:G=0,jsonmarginY:O=0,jsonres:f=1,scale:a=1,xoffset:g=0,xpan:v=0,yoffset:o=0,ypan:n=0}=m,r=w(m.crs,[_.lon,_.lat]),l=m.cosAngle||m.rotation&&Math.cos(m.rotation),d=m.sinAngle||m.rotation&&Math.sin(m.rotation),C=m.rotation?[r[0]*l+r[1]*d,-r[0]*d+r[1]*l]:r;return{x:((C[0]-g)*a+v)*f+G,y:-(((o-C[1])*a+n)*f-O)}}function D(_,m){let w=this.options.chart.proj4||le.proj4;if(!w)return void ue(21,!1,this);if(null===_.y)return;let{jsonmarginX:G=0,jsonmarginY:O=0,jsonres:f=1,scale:a=1,xoffset:g=0,xpan:v=0,yoffset:o=0,ypan:n=0}=m,r={x:((_.x-G)/f-v)/a+g,y:((_.y-O)/f+n)/a+o},l=m.cosAngle||m.rotation&&Math.cos(m.rotation),d=m.sinAngle||m.rotation&&Math.sin(m.rotation),C=w(m.crs,"WGS84",m.rotation?{x:r.x*l+-r.y*d,y:r.x*d+r.y*l}:r);return{lat:C.y,lon:C.x}}function A(_,m){m||(m=Object.keys(_.objects)[0]);let w=_.objects[m];if(w["hc-decoded-geojson"]&&w["hc-decoded-geojson"].title===_.title)return w["hc-decoded-geojson"];let G=_.arcs;if(_.transform){let v,o,n,r=_.arcs,{scale:l,translate:d}=_.transform;G=[];for(let C=0,k=r.length;C"number"==typeof v[0]?v.reduce((o,n,r)=>{let l=n<0?G[~n]:G[n];return n<0?(l=l.slice(0,0===r?l.length:l.length-1)).reverse():r&&(l=l.slice(1)),o.concat(l)},[]):v.map(O),f=w.geometries,a=[];for(let v=0,o=f.length;v(le[1]-ve[1])*(pe[0]-ve[0])}function re(ve,le,pe,ue){let J=[ve[0]-le[0],ve[1]-le[1]],te=[pe[0]-ue[0],pe[1]-ue[1]],X=ve[0]*le[1]-ve[1]*le[0],E=pe[0]*ue[1]-pe[1]*ue[0],j=1/(J[0]*te[1]-J[1]*te[0]),F=[(X*te[0]-E*J[0])*j,(X*te[1]-E*J[1])*j];return F.isIntersection=!0,F}return{clipLineString:function(ve,le){let pe=[],ue=q(ve,le,!1);for(let J=1;J0===le?0:le>0?1:-1),ne=Math.PI/180,re=Math.PI/2,ve=le=>Math.tan((re+le)/2);return class{constructor(le){let pe=(le.parallels||[]).map(E=>E*ne),ue=pe[0]||0,J=pe[1]??ue,te=Math.cos(ue);"object"==typeof le.projectedBounds&&(this.projectedBounds=le.projectedBounds);let X=ue===J?Math.sin(ue):Math.log(te/Math.cos(J))/Math.log(ve(J)/ve(ue));1e-10>Math.abs(X)&&(X=1e-10*(q(X)||1)),this.n=X,this.c=te*Math.pow(ve(ue),X)/X}forward(le){let{c:pe,n:ue,projectedBounds:J}=this,te=le[0]*ne,X=le[1]*ne;pe>0?X<1e-6-re&&(X=1e-6-re):X>re-1e-6&&(X=re-1e-6);let E=pe/Math.pow(ve(X),ue),j=E*Math.sin(ue*te)*63.78137,F=63.78137*(pe-E*Math.cos(ue*te)),P=[j,F];return J&&(jJ.x2||FJ.y2)&&(P.outside=!0),P}inverse(le){let{c:pe,n:ue}=this,J=le[0]/63.78137,te=pe-le[1]/63.78137,X=q(ue)*Math.sqrt(J*J+te*te),E=Math.atan2(J,Math.abs(te))*q(te);return te*ue<0&&(E-=Math.PI*q(J)*q(te)),[E/ue/ne,(2*Math.atan(Math.pow(pe/X,1/ue))-re)/ne]}}}),Le(V,"Maps/Projections/EqualEarth.js",[],function(){let q=Math.sqrt(3)/2;return class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-97.52595454902263,y2:97.52595454902263}}forward(ne){let re=Math.PI/180,ve=Math.asin(q*Math.sin(ne[1]*re)),le=ve*ve,pe=le*le*le;return[ne[0]*re*Math.cos(ve)*74.03120656864502/(q*(1.340264+-.24331799999999998*le+pe*(.0062510000000000005+.034164*le))),74.03120656864502*ve*(1.340264+-.081106*le+pe*(893e-6+.003796*le))]}inverse(ne){let ue,J,te,X,re=ne[0]/74.03120656864502,ve=ne[1]/74.03120656864502,le=180/Math.PI,pe=ve;for(let F=0;F<12&&(J=(ue=pe*pe)*ue*ue,te=pe*(1.340264+-.081106*ue+J*(893e-6+.003796*ue))-ve,pe-=X=te/(1.340264+-.24331799999999998*ue+J*(.0062510000000000005+.034164*ue)),!(1e-9>Math.abs(X)));++F);J=(ue=pe*pe)*ue*ue;let E=le*q*re*(1.340264+-.24331799999999998*ue+J*(.0062510000000000005+.034164*ue))/Math.cos(pe),j=le*Math.asin(Math.sin(pe)/q);return Math.abs(E)>180?[NaN,NaN]:[E,j]}}}),Le(V,"Maps/Projections/Miller.js",[],function(){let q=Math.PI/4,ne=Math.PI/180;return class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-146.91480769173063,y2:146.91480769173063}}forward(re){return[re[0]*ne*63.78137,79.7267125*Math.log(Math.tan(q+.4*re[1]*ne))]}inverse(re){return[re[0]/63.78137/ne,2.5*(Math.atan(Math.exp(re[1]/63.78137*.8))-q)/ne]}}}),Le(V,"Maps/Projections/Orthographic.js",[],function(){let q=Math.PI/180;return class{constructor(){this.antimeridianCutting=!1,this.bounds={x1:-63.78460826781007,x2:63.78460826781007,y1:-63.78460826781007,y2:63.78460826781007}}forward(ne){let re=ne[0],ve=ne[1]*q,le=[Math.cos(ve)*Math.sin(re*q)*63.78460826781007,63.78460826781007*Math.sin(ve)];return(re<-90||re>90)&&(le.outside=!0),le}inverse(ne){let re=ne[0]/63.78460826781007,ve=ne[1]/63.78460826781007,le=Math.sqrt(re*re+ve*ve),pe=Math.asin(le),ue=Math.sin(pe);return[Math.atan2(re*ue,le*Math.cos(pe))/q,Math.asin(le&&ve*ue/le)/q]}}}),Le(V,"Maps/Projections/WebMercator.js",[],function(){let q=Math.PI/180;return class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-200.3750834278071,y2:200.3750834278071},this.maxLatitude=85.0511287798}forward(ne){let re=Math.sin(ne[1]*q),ve=[63.78137*ne[0]*q,63.78137*Math.log((1+re)/(1-re))/2];return Math.abs(ne[1])>this.maxLatitude&&(ve.outside=!0),ve}inverse(ne){return[ne[0]/(63.78137*q),(2*Math.atan(Math.exp(ne[1]/63.78137))-Math.PI/2)/q]}}}),Le(V,"Maps/Projections/ProjectionRegistry.js",[V["Maps/Projections/LambertConformalConic.js"],V["Maps/Projections/EqualEarth.js"],V["Maps/Projections/Miller.js"],V["Maps/Projections/Orthographic.js"],V["Maps/Projections/WebMercator.js"]],function(q,ne,re,ve,le){return{EqualEarth:ne,LambertConformalConic:q,Miller:re,Orthographic:ve,WebMercator:le}}),Le(V,"Maps/Projection.js",[V["Core/Geometry/PolygonClip.js"],V["Maps/Projections/ProjectionRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{clipLineString:ve,clipPolygon:le}=q,{clamp:pe,erase:ue}=re,J=2*Math.PI/360;function te(E){return E<-180&&(E+=360),E>180&&(E-=360),E}class X{static add(j,F){X.registry[j]=F}static greatCircle(j,F,P){let{atan2:D,cos:A,sin:I,sqrt:_}=Math,m=j[1]*J,w=j[0]*J,G=F[1]*J,O=F[0]*J,f=G-m,a=O-w,g=I(f/2)*I(f/2)+A(m)*A(G)*I(a/2)*I(a/2),v=2*D(_(g),_(1-g)),o=Math.round(6371e3*v/5e5),n=[];if(P&&n.push(j),o>1){let r=1/o;for(let l=r;l<.999;l+=r){let d=I((1-l)*v)/I(v),C=I(l*v)/I(v),k=d*A(m)*A(w)+C*A(G)*A(O),p=d*A(m)*I(w)+C*A(G)*I(O),T=D(d*I(m)+C*I(G),_(k*k+p*p)),B=D(p,k);n.push([B/J,T/J])}}return P&&n.push(F),n}static insertGreatCircles(j){let F=j.length-1;for(;F--;)if(Math.max(Math.abs(j[F][0]-j[F+1][0]),Math.abs(j[F][1]-j[F+1][1]))>10){let P=X.greatCircle(j[F],j[F+1]);P.length&&j.splice(F+1,0,...P)}}static toString(j){let{name:F,rotation:P}=j||{};return[F,P&&P.join(",")].join(";")}constructor(j={}){this.hasCoordinates=!1,this.hasGeoProjection=!1,this.maxLatitude=90,this.options=j;let{name:F,projectedBounds:P,rotation:D}=j;this.rotator=D?this.getRotator(D):void 0;let A=F?X.registry[F]:void 0;A&&(this.def=new A(j));let{def:I,rotator:_}=this;I&&(this.maxLatitude=I.maxLatitude||90,this.hasGeoProjection=!0),_&&I?(this.forward=m=>I.forward(_.forward(m)),this.inverse=m=>_.inverse(I.inverse(m))):I?(this.forward=m=>I.forward(m),this.inverse=m=>I.inverse(m)):_&&(this.forward=_.forward,this.inverse=_.inverse),this.bounds="world"===P?I&&I.bounds:P}lineIntersectsBounds(j){let _,{x1:F,x2:P,y1:D,y2:A}=this.bounds||{},I=(w,G,O)=>{let[f,a]=w,g=G?0:1;if("number"==typeof O&&f[G]>=O!=a[G]>=O){let o=f[g]+(O-f[G])/(a[G]-f[G])*(a[g]-f[g]);return G?[o,O]:[O,o]}},m=j[0];return((_=I(j,0,F))||(_=I(j,0,P)))&&(m=_,j[1]=_),((_=I(j,1,D))||(_=I(j,1,A)))&&(m=_),m}getRotator(j){let F=j[0]*J,P=(j[1]||0)*J,D=(j[2]||0)*J,A=Math.cos(P),I=Math.sin(P),_=Math.cos(D),m=Math.sin(D);if(0!==F||0!==P||0!==D)return{forward:w=>{let G=w[0]*J+F,O=w[1]*J,f=Math.cos(O),a=Math.cos(G)*f,g=Math.sin(G)*f,v=Math.sin(O),o=v*A+a*I;return[Math.atan2(g*_-o*m,a*A-v*I)/J,Math.asin(o*_+g*m)/J]},inverse:w=>{let G=w[0]*J,O=w[1]*J,f=Math.cos(O),a=Math.cos(G)*f,g=Math.sin(G)*f,v=Math.sin(O),o=v*_-g*m;return[(Math.atan2(g*_+v*m,a*A+o*I)-F)/J,Math.asin(o*A-a*I)/J]}}}forward(j){return j}inverse(j){return j}cutOnAntimeridian(j,F){let P,D=[],A=[j];for(let I=0,_=j.length;I<_;++I){let m=j[I],w=j[I-1];if(!I){if(!F)continue;w=j[j.length-1]}let G=w[0],O=m[0];if((G<-90||G>90)&&(O<-90||O>90)&&G>0!=O>0){let f=pe((180-(G+360)%360)/((O+360)%360-(G+360)%360),0,1);D.push({i:I,lat:w[1]+f*(m[1]-w[1]),direction:G<0?1:-1,previousLonLat:w,lonLat:m})}}if(D.length)if(F){D.length%2==1&&(P=D.slice().sort((_,m)=>Math.abs(m.lat)-Math.abs(_.lat))[0],ue(D,P));let I=D.length-2;for(;I>=0;){let _=D[I].i,m=te(180+1e-6*D[I].direction),w=te(180-1e-6*D[I].direction),G=j.splice(_,D[I+1].i-_,...X.greatCircle([m,D[I].lat],[m,D[I+1].lat],!0));G.push(...X.greatCircle([w,D[I+1].lat],[w,D[I].lat],!0)),A.push(G),I-=2}if(P)for(let _=0;_-1){let f=(w<0?-1:1)*this.maxLatitude,a=te(180+1e-6*m),g=te(180-1e-6*m),v=X.greatCircle([a,w],[a,f],!0);for(let o=a+120*m;o>-180&&o<180;o+=120*m)v.push([o,f]);v.push(...X.greatCircle([g,f],[g,P.lat],!0)),G.splice(O,0,...v);break}}}else{let I=D.length;for(;I--;){let m=j.splice(D[I].i,j.length,[te(180+1e-6*D[I].direction),D[I].lat]);m.unshift([te(180-1e-6*D[I].direction),D[I].lat]),A.push(m)}}return A}path(j){let F,{bounds:P,def:D,rotator:A}=this,I=[],_="Polygon"===j.type||"MultiPolygon"===j.type,m=this.hasGeoProjection,w=!D||!1!==D.antimeridianCutting,G=w?A:void 0,O=w&&D||this;P&&(F=[[P.x1,P.y1],[P.x2,P.y1],[P.x2,P.y2],[P.x1,P.y2]]);let f=a=>{let g=a.map(o=>{if(w){G&&(o=G.forward(o));let n=o[0];1e-6>Math.abs(n-180)&&(n=n<180?179.999999:180.000001),o=[n,o[1]]}return o}),v=[g];m&&(X.insertGreatCircles(g),w&&(v=this.cutOnAntimeridian(g,_))),v.forEach(o=>{let n,r;if(o.length<2)return;let l=!1,d=!1,C=B=>{l?I.push(["L",B[0],B[1]]):(I.push(["M",B[0],B[1]]),l=!0)},k=!1,p=!1,T=o.map(B=>{let z=O.forward(B);return z.outside?k=!0:p=!0,z[1]===1/0?z[1]=1e10:z[1]===-1/0&&(z[1]=-1e10),z});if(w){if(_&&T.push(T[0]),k){if(!p)return;if(F)if(_)T=le(T,F);else if(P)return void ve(T,F).forEach(B=>{l=!1,B.forEach(C)})}T.forEach(C)}else for(let B=0;BC(O.forward(U))):l=!1),C(K),r=z,d=!1)}})};return"LineString"===j.type?f(j.coordinates):"MultiLineString"===j.type?j.coordinates.forEach(a=>f(a)):"Polygon"===j.type?(j.coordinates.forEach(a=>f(a)),I.length&&I.push(["Z"])):"MultiPolygon"===j.type&&(j.coordinates.forEach(a=>{a.forEach(g=>f(g))}),I.length&&I.push(["Z"])),I}}return X.registry=ne,X}),Le(V,"Maps/MapView.js",[V["Core/Globals.js"],V["Maps/MapViewDefaults.js"],V["Maps/GeoJSONComposition.js"],V["Maps/MapUtilities.js"],V["Maps/Projection.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){let{composed:ue}=q,{topo2geo:J}=re,{boundsFromPath:te,pointInPolygon:X}=ve,{addEvent:E,clamp:j,fireEvent:F,isArray:P,isNumber:D,isObject:A,isString:I,merge:_,pick:m,pushUnique:w,relativeLength:G}=pe,O={};function f(o,n){let{width:r,height:l}=n;return Math.log(400.979322/Math.max((o.x2-o.x1)/(r/256),(o.y2-o.y1)/(l/256)))/Math.log(2)}function a(o){o.seriesOptions.mapData&&this.mapView?.recommendMapView(this,[this.options.chart.map,o.seriesOptions.mapData],this.options.drilldown?.mapZooming)}class g{static compose(n){w(ue,"MapView")&&(O=n.maps,E(n,"afterInit",function(){this.mapView=new g(this,this.options.mapView)},{order:0}),E(n,"addSeriesAsDrilldown",a),E(n,"afterDrillUp",a))}static compositeBounds(n){if(n.length)return n.slice(1).reduce((r,l)=>(r.x1=Math.min(r.x1,l.x1),r.y1=Math.min(r.y1,l.y1),r.x2=Math.max(r.x2,l.x2),r.y2=Math.max(r.y2,l.y2),r),_(n[0]))}static mergeInsets(n,r){let l=C=>{let k={};return C.forEach((p,T)=>{k[p&&p.id||`i${T}`]=p}),k},d=_(l(n),l(r));return Object.keys(d).map(C=>d[C])}constructor(n,r){this.allowTransformAnimation=!0,this.eventsToUnbind=[],this.insets=[],this.padding=[0,0,0,0],this.recommendedMapView={},this instanceof v||this.recommendMapView(n,[n.options.chart.map,...(n.options.series||[]).map(k=>k.mapData)]),this.userOptions=r||{};let l=_(ne,this.recommendedMapView,r),d=this.recommendedMapView?.insets,C=r&&r.insets;d&&C&&(l.insets=g.mergeInsets(d,C)),this.chart=n,this.center=l.center,this.options=l,this.projection=new le(l.projection),this.playingField=n.plotBox,this.zoom=l.zoom||0,this.minZoom=l.minZoom,this.createInsets(),this.eventsToUnbind.push(E(n,"afterSetChartSize",()=>{this.playingField=this.getField(),(void 0===this.minZoom||this.minZoom===this.zoom)&&(this.fitToBounds(void 0,void 0,!1),!this.chart.hasRendered&&D(this.userOptions.zoom)&&(this.zoom=this.userOptions.zoom),this.userOptions.center&&_(!0,this.center,this.userOptions.center))})),this.setUpEvents()}createInsets(){let n=this.options,r=n.insets;r&&r.forEach(l=>{let d=new v(this,_(n.insetOptions,l));this.insets.push(d)})}fitToBounds(n,r,l=!0,d){let C=n||this.getProjectedBounds();if(C){let k=m(r,n?0:this.options.padding),p=this.getField(!1),T=P(k)?k:[k,k,k,k];this.padding=[G(T[0],p.height),G(T[1],p.width),G(T[2],p.height),G(T[3],p.width)],this.playingField=this.getField();let B=f(C,this.playingField);n||(this.minZoom=B);let z=this.projection.inverse([(C.x2+C.x1)/2,(C.y2+C.y1)/2]);this.setView(z,B,l,d)}}getField(n=!0){let r=n?this.padding:[0,0,0,0];return{x:r[3],y:r[0],width:this.chart.plotWidth-r[1]-r[3],height:this.chart.plotHeight-r[0]-r[2]}}getGeoMap(n){if(I(n))return O[n]&&"Topology"===O[n].type?J(O[n]):O[n];if(A(n,!0)){if("FeatureCollection"===n.type)return n;if("Topology"===n.type)return J(n)}}getMapBBox(){let n=this.getProjectedBounds(),r=this.getScale();if(n){let l=this.padding,d=this.projectedUnitsToPixels({x:n.x1,y:n.y2});return{width:(n.x2-n.x1)*r+l[1]+l[3],height:(n.y2-n.y1)*r+l[0]+l[2],x:d.x-l[3],y:d.y-l[0]}}}getProjectedBounds(){let n=this.projection,r=this.chart.series.reduce((d,C)=>{let k=C.getProjectedBounds&&C.getProjectedBounds();return k&&!1!==C.options.affectsMapView&&d.push(k),d},[]),l=this.options.fitToGeometry;if(l){if(!this.fitToGeometryCache)if("MultiPoint"===l.type){let d=l.coordinates.map(p=>n.forward(p)),C=d.map(p=>p[0]),k=d.map(p=>p[1]);this.fitToGeometryCache={x1:Math.min.apply(0,C),x2:Math.max.apply(0,C),y1:Math.min.apply(0,k),y2:Math.max.apply(0,k)}}else this.fitToGeometryCache=te(n.path(l));return this.fitToGeometryCache}return this.projection.bounds||g.compositeBounds(r)}getScale(){return 256/400.979322*Math.pow(2,this.zoom)}getSVGTransform(){let{x:n,y:r,width:l,height:d}=this.playingField,C=this.projection.forward(this.center),k=this.projection.hasCoordinates?-1:1,p=this.getScale(),T=p*k;return{scaleX:p,scaleY:T,translateX:n+l/2-C[0]*p,translateY:r+d/2-C[1]*T}}lonLatToPixels(n){let r=this.lonLatToProjectedUnits(n);if(r)return this.projectedUnitsToPixels(r)}lonLatToProjectedUnits(n){let r=this.chart,l=r.mapTransforms;if(l){for(let C in l)if(Object.hasOwnProperty.call(l,C)&&l[C].hitZone){let k=r.transformFromLatLon(n,l[C]);if(k&&X(k,l[C].hitZone.coordinates[0]))return k}return r.transformFromLatLon(n,l.default)}for(let C of this.insets)if(C.options.geoBounds&&X({x:n.lon,y:n.lat},C.options.geoBounds.coordinates[0])){let k=C.projection.forward([n.lon,n.lat]),p=C.projectedUnitsToPixels({x:k[0],y:k[1]});return this.pixelsToProjectedUnits(p)}let d=this.projection.forward([n.lon,n.lat]);if(!d.outside)return{x:d[0],y:d[1]}}projectedUnitsToLonLat(n){let r=this.chart,l=r.mapTransforms;if(l){for(let k in l)if(Object.hasOwnProperty.call(l,k)&&l[k].hitZone&&X(n,l[k].hitZone.coordinates[0]))return r.transformToLatLon(n,l[k]);return r.transformToLatLon(n,l.default)}let d=this.projectedUnitsToPixels(n);for(let k of this.insets)if(k.hitZone&&X(d,k.hitZone.coordinates[0])){let p=k.pixelsToProjectedUnits(d),T=k.projection.inverse([p.x,p.y]);return{lon:T[0],lat:T[1]}}let C=this.projection.inverse([n.x,n.y]);return{lon:C[0],lat:C[1]}}recommendMapView(n,r,l=!1){this.recommendedMapView={};let d=r.map(p=>this.getGeoMap(p)),C=[];d.forEach(p=>{if(p&&(Object.keys(this.recommendedMapView).length||(this.recommendedMapView=p["hc-recommended-mapview"]||{}),p.bbox)){let[T,B,z,K]=p.bbox;C.push({x1:T,y1:B,x2:z,y2:K})}});let k=C.length&&g.compositeBounds(C);F(this,"onRecommendMapView",{geoBounds:k,chart:n},function(){if(k&&this.recommendedMapView){if(!this.recommendedMapView.projection){let{x1:p,y1:T,x2:B,y2:z}=k;this.recommendedMapView.projection=B-p>180&&z-T>90?{name:"EqualEarth",parallels:[0,0],rotation:[0]}:{name:"LambertConformalConic",parallels:[T,z],rotation:[-(p+B)/2]}}this.recommendedMapView.insets||(this.recommendedMapView.insets=void 0)}}),this.geoMap=d[0],l&&n.hasRendered&&!n.userOptions.mapView?.projection&&this.recommendedMapView&&this.update(this.recommendedMapView)}redraw(n){this.chart.series.forEach(r=>{r.useMapGeometry&&(r.isDirty=!0)}),this.chart.redraw(n)}setView(n,r,l=!0,d){n&&(this.center=n),"number"==typeof r&&("number"==typeof this.minZoom&&(r=Math.max(r,this.minZoom)),"number"==typeof this.options.maxZoom&&(r=Math.min(r,this.options.maxZoom)),D(r)&&(this.zoom=r));let C=this.getProjectedBounds();if(C){let k=this.projection.forward(this.center),{x:p,y:T,width:B,height:z}=this.playingField,K=this.getScale(),U=this.projectedUnitsToPixels({x:C.x1,y:C.y1}),se=this.projectedUnitsToPixels({x:C.x2,y:C.y2}),S=[(C.x1+C.x2)/2,(C.y1+C.y2)/2];if(!this.chart.series.some($=>$.isDrilling)){let $=U.x,H=se.y,x=se.x,N=U.y;x-$p+B&&$>p&&(k[0]+=Math.min(x-B-p,$-p)/K),N-HT+z&&H>T&&(k[1]-=Math.min(N-z-T,H-T)/K),this.center=this.projection.inverse(k)}this.insets.forEach($=>{$.options.field&&($.hitZone=$.getHitZone(),$.playingField=$.getField())}),this.render()}F(this,"afterSetView"),l&&this.redraw(d)}projectedUnitsToPixels(n){let r=this.getScale(),l=this.projection.forward(this.center),d=this.playingField;return{x:d.x+d.width/2-r*(l[0]-n.x),y:d.y+d.height/2+r*(l[1]-n.y)}}pixelsToLonLat(n){return this.projectedUnitsToLonLat(this.pixelsToProjectedUnits(n))}pixelsToProjectedUnits(n){let{x:r,y:l}=n,d=this.getScale(),C=this.projection.forward(this.center),k=this.playingField;return{x:C[0]+(r-(k.x+k.width/2))/d,y:C[1]-(l-(k.y+k.height/2))/d}}setUpEvents(){let n,r,l,{chart:d}=this,C=k=>{let{lastTouches:p,pinchDown:T}=d.pointer,B=this.projection,z=k.touches,{mouseDownX:K,mouseDownY:U}=d,se=0;if(1===T?.length?(K=T[0].chartX,U=T[0].chartY):2===T?.length&&(K=(T[0].chartX+T[1].chartX)/2,U=(T[0].chartY+T[1].chartY)/2),2===z?.length&&p&&(se=Math.log(Math.sqrt(Math.pow(p[0].chartX-p[1].chartX,2)+Math.pow(p[0].chartY-p[1].chartY,2))/Math.sqrt(Math.pow(z[0].chartX-z[1].chartX,2)+Math.pow(z[0].chartY-z[1].chartY,2)))/Math.log(.5)),D(K)&&D(U)){let S=`${K},${U}`,{chartX:$,chartY:H}=k.originalEvent;2===z?.length&&($=(z[0].chartX+z[1].chartX)/2,H=(z[0].chartY+z[1].chartY)/2),S!==r&&(r=S,n=this.projection.forward(this.center),l=(this.projection.options.rotation||[0,0]).slice());let x=B.def&&B.def.bounds,N=x&&f(x,this.playingField)||-1/0;if("Orthographic"===B.options.name&&2>(z?.length||0)&&(this.minZoom||1/0)<1.3*N){let R=440/(this.getScale()*Math.min(d.plotWidth,d.plotHeight));if(l){let Z=(K-$)*R-l[0],Y=j(-l[1]-(U-H)*R,-80,80),he=this.zoom;this.update({projection:{rotation:[-Z,-Y]}},!1),this.fitToBounds(void 0,void 0,!1),this.zoom=he,d.redraw(!1)}}else if(D($)&&D(H)){let R=this.getScale(),Y=this.projection.inverse([n[0]+(K-$)/R,n[1]-(U-H)/R*(this.projection.hasCoordinates?1:-1)]);isNaN(Y[0]+Y[1])||this.zoomBy(se,Y,void 0,!1)}k.preventDefault()}};E(d,"pan",C),E(d,"touchpan",C),E(d,"selection",k=>{if(k.resetSelection)this.zoomBy();else{let p=k.x-d.plotLeft,T=k.y-d.plotTop,{y:B,x:z}=this.pixelsToProjectedUnits({x:p,y:T}),{y:K,x:U}=this.pixelsToProjectedUnits({x:p+k.width,y:T+k.height});this.fitToBounds({x1:z,y1:B,x2:U,y2:K},void 0,!0,!k.originalEvent.touches&&void 0),/^touch/.test(k.originalEvent.type)||d.showResetZoom(),k.preventDefault()}})}render(){this.group||(this.group=this.chart.renderer.g("map-view").attr({zIndex:4}).add())}update(n,r=!0,l){let d=n.projection,C=d&&le.toString(d)!==le.toString(this.options.projection),k=!1;_(!0,this.userOptions,n),_(!0,this.options,n),"insets"in n&&(this.insets.forEach(p=>p.destroy()),this.insets.length=0,k=!0),(C||"fitToGeometry"in n)&&delete this.fitToGeometryCache,(C||k)&&(this.chart.series.forEach(p=>{let T=p.transformGroups;if(p.clearBounds&&p.clearBounds(),p.isDirty=!0,p.isDirtyData=!0,k&&T)for(;T.length>1;){let B=T.pop();B&&B.destroy()}}),C&&(this.projection=new le(this.options.projection)),k&&this.createInsets(),!n.center&&Object.hasOwnProperty.call(n,"zoom")&&!D(n.zoom)&&this.fitToBounds(void 0,void 0,!1)),n.center||D(n.zoom)?this.setView(this.options.center,n.zoom,!1):"fitToGeometry"in n&&this.fitToBounds(void 0,void 0,!1),r&&this.chart.redraw(l)}zoomBy(n,r,l,d){let C=this.chart,k=this.projection.forward(this.center);if("number"==typeof n){let p,T,B,z=this.zoom+n;if(l){let[K,U]=l,se=this.getScale();T=k[0]+(K-C.plotLeft-C.plotWidth/2)/se,B=k[1]+(U-C.plotTop-C.plotHeight/2)/se}if("number"==typeof T&&"number"==typeof B){let K=1-Math.pow(2,this.zoom)/Math.pow(2,z),se=k[1]-B;k[0]-=(k[0]-T)*K,k[1]+=se*K,p=this.projection.inverse(k)}this.setView(r||p,z,void 0,d)}else this.fitToBounds(void 0,void 0,void 0,d)}}class v extends g{constructor(n,r){if(super(n.chart,r),this.id=r.id,this.mapView=n,this.options=_({center:[0,0]},n.options.insetOptions,r),this.allBounds=[],this.options.geoBounds){let l=n.projection.path(this.options.geoBounds);this.geoBoundsProjectedBox=te(l),this.geoBoundsProjectedPolygon=l.map(d=>[d[1]||0,d[2]||0])}}getField(n=!0){let r=this.hitZone;if(r){let l=n?this.padding:[0,0,0,0],d=r.coordinates[0],C=d.map(K=>K[0]),k=d.map(K=>K[1]),p=Math.min.apply(0,C)+l[3],T=Math.max.apply(0,C)-l[1],B=Math.min.apply(0,k)+l[0],z=Math.max.apply(0,k)-l[2];if(D(p)&&D(B))return{x:p,y:B,width:T-p,height:z-B}}return super.getField.call(this,n)}getHitZone(){let{chart:n,mapView:r,options:l}=this,{coordinates:d}=l.field||{};if(d){let C=d[0];if("percent"===l.units){let k="mapBoundingBox"===l.relativeTo&&r.getMapBBox()||_(n.plotBox,{x:0,y:0});C=C.map(p=>[G(`${p[0]}%`,k.width,k.x),G(`${p[1]}%`,k.height,k.y)])}return{type:"Polygon",coordinates:[C]}}}getProjectedBounds(){return g.compositeBounds(this.allBounds)}isInside(n){let{geoBoundsProjectedBox:r,geoBoundsProjectedPolygon:l}=this;return!!(r&&n.x>=r.x1&&n.x<=r.x2&&n.y>=r.y1&&n.y<=r.y2&&l&&X(n,l))}render(){let{chart:n,mapView:r,options:l}=this,d=l.borderPath||l.field;if(d&&r.group){let C=!0;this.border||(this.border=n.renderer.path().addClass("highcharts-mapview-inset-border").add(r.group),C=!1),n.styledMode||this.border.attr({stroke:l.borderColor,"stroke-width":l.borderWidth});let k=Math.round(this.border.strokeWidth())%2/2,p="mapBoundingBox"===l.relativeTo&&r.getMapBBox()||r.playingField,T=(d.coordinates||[]).reduce((B,z)=>z.reduce((K,U,se)=>{let[S,$]=U;return"percent"===l.units&&(S=n.plotLeft+G(`${S}%`,p.width,p.x),$=n.plotTop+G(`${$}%`,p.height,p.y)),S=Math.floor(S)+k,$=Math.floor($)+k,K.push(0===se?["M",S,$]:["L",S,$]),K},B),[]);this.border[C?"animate":"attr"]({d:T})}}destroy(){this.border&&(this.border=this.border.destroy()),this.eventsToUnbind.forEach(n=>n())}setUpEvents(){}}return g}),Le(V,"Series/Map/MapSeries.js",[V["Core/Animation/AnimationUtilities.js"],V["Series/ColorMapComposition.js"],V["Series/CenteredUtilities.js"],V["Core/Globals.js"],V["Core/Chart/MapChart.js"],V["Series/Map/MapPoint.js"],V["Series/Map/MapSeriesDefaults.js"],V["Maps/MapView.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X){let{animObject:E,stop:j}=q,{noop:F}=ve,{splitPath:P}=le,{column:D,scatter:A}=te.seriesTypes,{extend:I,find:_,fireEvent:m,getNestedProperty:w,isArray:G,defined:O,isNumber:f,isObject:a,merge:g,objectEach:v,pick:o,splat:n}=X;class r extends A{constructor(){super(...arguments),this.processedData=[]}animate(d){let{chart:C,group:k}=this,p=E(this.options.animation);d?k.attr({translateX:C.plotLeft+C.plotWidth/2,translateY:C.plotTop+C.plotHeight/2,scaleX:.001,scaleY:.001}):k.animate({translateX:C.plotLeft,translateY:C.plotTop,scaleX:1,scaleY:1},p)}clearBounds(){this.points.forEach(d=>{delete d.bounds,delete d.insetIndex,delete d.projectedPath}),delete this.bounds}doFullTranslate(){return!(!this.isDirtyData&&!this.chart.isResizing&&this.hasRendered)}drawMapDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}drawPoints(){let d=this,{chart:C,group:k,transformGroups:p=[]}=this,{mapView:T,renderer:B}=C;if(T){this.transformGroups=p,p[0]||(p[0]=B.g().add(k));for(let z=0,K=T.insets.length;z{let{graphic:K}=z;z.group=p["number"==typeof z.insetIndex?z.insetIndex+1:0],K&&K.parentGroup!==z.group&&K.add(z.group)}),D.prototype.drawPoints.apply(this),this.points.forEach(z=>{let K=z.graphic;if(K){let U=K.animate,se="";z.name&&(se+="highcharts-name-"+z.name.replace(/ /g,"-").toLowerCase()),z.properties&&z.properties["hc-key"]&&(se+=" highcharts-key-"+z.properties["hc-key"].toString().toLowerCase()),se&&K.addClass(se),C.styledMode&&K.css(this.pointAttribs(z,z.selected?"select":void 0)),K.attr({visibility:z.visible||!z.visible&&!z.isNull?"inherit":"hidden"}),K.animate=function(S,$,H){let x=f(S["stroke-width"])&&!f(K["stroke-width"]),N=f(K["stroke-width"])&&!f(S["stroke-width"]);if(x||N){let R=o(d.getStrokeWidth(d.options),1)/(C.mapView&&C.mapView.getScale()||1);x&&(K["stroke-width"]=R),N&&(S["stroke-width"]=R)}return U.call(K,S,$,N?function(){K.element.removeAttribute("stroke-width"),delete K["stroke-width"],H&&H.apply(this,arguments)}:H)}}})),p.forEach((z,K)=>{let U=(0===K?T:T.insets[K-1]).getSVGTransform(),se=o(this.getStrokeWidth(this.options),1),S=U.scaleX,$=U.scaleY>0?1:-1,H=x=>{(d.points||[]).forEach(N=>{let R,Z=N.graphic;Z&&Z["stroke-width"]&&(R=this.getStrokeWidth(N.options))&&Z.attr({"stroke-width":R/x})})};if(B.globalAnimation&&C.hasRendered&&T.allowTransformAnimation){let x=Number(z.attr("translateX")),N=Number(z.attr("translateY")),R=Number(z.attr("scaleX")),Z=(ge,_e)=>{let Te=R+(S-R)*_e.pos;z.attr({translateX:x+(U.translateX-x)*_e.pos,translateY:N+(U.translateY-N)*_e.pos,scaleX:Te,scaleY:Te*$,"stroke-width":se/Te}),H(Te)},Y=g(E(B.globalAnimation)),he=Y.step;Y.step=function(){he&&he.apply(this,arguments),Z.apply(this,arguments)},z.attr({animator:0}).animate({animator:1},Y,function(){"boolean"!=typeof B.globalAnimation&&B.globalAnimation.complete&&B.globalAnimation.complete({applyDrilldown:!0}),m(this,"mapZoomComplete")}.bind(this))}else j(z),z.attr(g(U,{"stroke-width":se/S})),H(S)}),this.isDrilling||this.drawMapDataLabels()}}getProjectedBounds(){if(!this.bounds&&this.chart.mapView){let{insets:d,projection:C}=this.chart.mapView,k=[];(this.points||[]).forEach(p=>{if(p.path||p.geometry){if("string"==typeof p.path?p.path=P(p.path):G(p.path)&&"M"===p.path[0]&&(p.path=this.chart.renderer.pathToSegments(p.path)),!p.bounds){let T=p.getProjectedBounds(C);if(T){p.labelrank=o(p.labelrank,(T.x2-T.x1)*(T.y2-T.y1));let{midX:B,midY:z}=T;if(d&&f(B)&&f(z)){let K=_(d,U=>U.isInside({x:B,y:z}));K&&(delete p.projectedPath,(T=p.getProjectedBounds(K.projection))&&K.allBounds.push(T),p.insetIndex=d.indexOf(K))}p.bounds=T}}p.bounds&&void 0===p.insetIndex&&k.push(p.bounds)}}),this.bounds=J.compositeBounds(k)}return this.bounds}getStrokeWidth(d){let C=this.pointAttrToOptions;return d[C&&C["stroke-width"]||"borderWidth"]}hasData(){return!!this.processedXData.length}pointAttribs(d,C){let{mapView:k,styledMode:p}=d.series.chart,T=p?this.colorAttribs(d):D.prototype.pointAttribs.call(this,d,C),B=this.getStrokeWidth(d.options);if(C){let K=g(this.options.states&&this.options.states[C],d.options.states&&d.options.states[C]||{}),U=this.getStrokeWidth(K);O(U)&&(B=U),T.stroke=K.borderColor??d.color}B&&k&&(B/=k.getScale());let z=this.getStrokeWidth(this.options);return T.dashstyle&&k&&f(z)&&(B=z/k.getScale()),d.visible||(T.fill=this.options.nullColor),O(B)?T["stroke-width"]=B:delete T["stroke-width"],T["stroke-linecap"]=T["stroke-linejoin"]=this.options.linecap,T}updateData(){return!this.processedData&&super.updateData.apply(this,arguments)}setData(d,C=!0,k,p){delete this.bounds,super.setData(d,!1,void 0,p),this.processData(),this.generatePoints(),C&&this.chart.redraw(k)}processData(){let d,C,k,p=this.options,T=p.data,B=this.chart,z=B.options.chart,K=this.joinBy,U=p.keys||this.pointArrayMap,se=[],S={},$=this.chart.mapView,H=$&&(a(p.mapData,!0)?$.getGeoMap(p.mapData):$.geoMap),x=B.mapTransforms=z.mapTransforms||H&&H["hc-transform"]||B.mapTransforms;x&&v(x,R=>{R.rotation&&(R.cosAngle=Math.cos(R.rotation),R.sinAngle=Math.sin(R.rotation))}),G(p.mapData)?k=p.mapData:H&&"FeatureCollection"===H.type&&(this.mapTitle=H.title,k=ve.geojson(H,this.type,this)),this.processedData=[];let N=this.processedData;if(T){let R;for(let Z=0,Y=T.length;ZU.length&&"string"==typeof R[0]&&(N[Z]["hc-key"]=R[0],++he);for(let ge=0;ge0?pe.prototype.setNestedProperty(N[Z],R[he],U[ge]):N[Z][U[ge]]=R[he])}else N[Z]=T[Z];K&&"_i"===K[0]&&(N[Z]._i=Z)}}if(k){this.mapData=k,this.mapMap={};for(let R=0;R{let Y=w(R,Z);S[Y]&&se.push(S[Y])})}if(p.allAreas){if(K[1]){let Z=K[1];N.forEach(Y=>{se.push(w(Z,Y))})}let R="|"+se.map(function(Z){return Z&&Z[K[0]]}).join("|")+"|";k.forEach(Z=>{K[0]&&-1!==R.indexOf("|"+Z[K[0]]+"|")||N.push(g(Z,{value:null}))})}}this.processedXData=Array(N.length)}setOptions(d){let C=super.setOptions(d),k=C.joinBy;return null===C.joinBy&&(k="_i"),(k=this.joinBy=n(k))[1]||(k[1]=k[0]),C}translate(){let d=this.doFullTranslate(),C=this.chart.mapView,k=C&&C.projection;if(this.chart.hasRendered&&(this.isDirtyData||!this.hasRendered)&&(this.processData(),this.generatePoints(),delete this.bounds,!C||C.userOptions.center||f(C.userOptions.zoom)||C.zoom!==C.minZoom?this.getProjectedBounds():C.fitToBounds(void 0,void 0,!1)),C){let p=C.getSVGTransform();this.points.forEach(T=>{let B=f(T.insetIndex)&&C.insets[T.insetIndex].getSVGTransform()||p;B&&T.bounds&&f(T.bounds.midX)&&f(T.bounds.midY)&&(T.plotX=T.bounds.midX*B.scaleX+B.translateX,T.plotY=T.bounds.midY*B.scaleY+B.translateY),d&&(T.shapeType="path",T.shapeArgs={d:pe.getProjectedPath(T,k)}),T.hiddenInDataClass||(T.projectedPath&&!T.projectedPath.length?T.setVisible(!1):T.visible||T.setVisible(!0))})}m(this,"afterTranslate")}update(d){d.mapData&&this.chart.mapView?.recommendMapView(this.chart,[this.chart.options.chart.map,...(this.chart.options.series||[]).map((C,k)=>k===this._i?d.mapData:C.mapData)],!0),super.update.apply(this,arguments)}}return r.defaultOptions=g(A.defaultOptions,ue),I(r.prototype,{type:"map",axisTypes:ne.seriesMembers.axisTypes,colorAttribs:ne.seriesMembers.colorAttribs,colorKey:ne.seriesMembers.colorKey,directTouch:!0,drawDataLabels:F,drawGraph:F,forceDL:!0,getCenter:re.getCenter,getExtremesFromAll:!0,getSymbol:F,isCartesian:!1,parallelArrays:ne.seriesMembers.parallelArrays,pointArrayMap:ne.seriesMembers.pointArrayMap,pointClass:pe,preserveAspectRatio:!0,searchPoint:F,trackerGroups:ne.seriesMembers.trackerGroups,useMapGeometry:!0}),ne.compose(r),te.registerSeriesType("map",r),r}),Le(V,"Series/MapLine/MapLineSeriesDefaults.js",[],function(){return{lineWidth:1,fillColor:"none",legendSymbol:"lineMarker"}}),Le(V,"Series/MapLine/MapLineSeries.js",[V["Series/MapLine/MapLineSeriesDefaults.js"],V["Series/Map/MapSeries.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{extend:le,merge:pe}=ve;class ue extends ne{pointAttribs(te,X){let E=super.pointAttribs(te,X);return E.fill=this.options.fillColor,E}}return ue.defaultOptions=pe(ne.defaultOptions,q),le(ue.prototype,{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"}}),re.registerSeriesType("mapline",ue),ue}),Le(V,"Series/MapPoint/MapPointPoint.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne){let{scatter:re}=q.seriesTypes,{isNumber:ve}=ne;return class le extends re.prototype.pointClass{isValid(){return!!(this.options.geometry||ve(this.x)&&ve(this.y)||ve(this.options.lon)&&ve(this.options.lat))}}}),Le(V,"Series/MapPoint/MapPointSeriesDefaults.js",[],function(){return{dataLabels:{crop:!1,defer:!1,enabled:!0,formatter:function(){return this.point.name},overflow:!1,style:{color:"#000000"}},legendSymbol:"lineMarker"}}),Le(V,"Series/MapPoint/MapPointSeries.js",[V["Core/Globals.js"],V["Series/MapPoint/MapPointPoint.js"],V["Series/MapPoint/MapPointSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){let{noop:ue}=q,{map:J,scatter:te}=ve.seriesTypes,{extend:X,fireEvent:E,isNumber:j,merge:F}=pe;class P extends te{constructor(){super(...arguments),this.clearBounds=J.prototype.clearBounds}drawDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}projectPoint(A){let I=this.chart.mapView;if(I){let{geometry:_,lon:m,lat:w}=A,G=_&&"Point"===_.type&&_.coordinates;if(j(m)&&j(w)&&(G=[m,w]),G)return I.lonLatToProjectedUnits({lon:G[0],lat:G[1]})}}translate(){let A=this.chart.mapView;if(this.processedXData||this.processData(),this.generatePoints(),this.getProjectedBounds&&this.isDirtyData&&(delete this.bounds,this.getProjectedBounds()),A){let I=A.getSVGTransform(),{hasCoordinates:_}=A.projection;this.points.forEach(m=>{let w,{x:G,y:O}=m,f=j(m.insetIndex)&&A.insets[m.insetIndex].getSVGTransform()||I,a=this.projectPoint(m.options)||m.properties&&this.projectPoint(m.properties);if(a?(G=a.x,O=a.y):m.bounds&&(G=m.bounds.midX,O=m.bounds.midY,f&&j(G)&&j(O)&&(m.plotX=G*f.scaleX+f.translateX,m.plotY=O*f.scaleY+f.translateY,w=!0)),j(G)&&j(O)){if(!w){let g=A.projectedUnitsToPixels({x:G,y:O});m.plotX=g.x,m.plotY=_?g.y:this.chart.plotHeight-g.y}}else m.y=m.plotX=m.plotY=void 0;m.isInside=this.isPointInside(m),m.zone=this.zones.length?m.getZone():void 0})}E(this,"afterTranslate")}}return P.defaultOptions=F(te.defaultOptions,re),le.prototype.symbols.mapmarker=(D,A,I,_,m)=>{let w,G,O=m&&"legend"===m.context;O?(w=D+I/2,G=A+_):m&&"number"==typeof m.anchorX&&"number"==typeof m.anchorY?(w=m.anchorX,G=m.anchorY):(w=D+I/2,G=A+_/2,A-=_);let f=O?_/3:_/2;return[["M",w,G],["C",w,G,w-f,A+1.5*f,w-f,A+f],["A",f,f,1,1,1,w+f,A+f],["C",w+f,A+1.5*f,w,G,w,G],["Z"]]},X(P.prototype,{type:"mappoint",axisTypes:["colorAxis"],forceDL:!0,isCartesian:!1,pointClass:ne,searchPoint:ue,useMapGeometry:!0}),ve.registerSeriesType("mappoint",P),P}),Le(V,"Series/Bubble/BubbleLegendDefaults.js",[],function(){return{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:"0.9em",color:"#000000"},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}}),Le(V,"Series/Bubble/BubbleLegendItem.js",[V["Core/Color/Color.js"],V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{parse:le}=q,{noop:pe}=re,{arrayMax:ue,arrayMin:J,isNumber:te,merge:X,pick:E,stableSort:j}=ve;return class{constructor(F,P){this.setState=pe,this.init(F,P)}init(F,P){this.options=F,this.visible=!0,this.chart=P.chart,this.legend=P}addToLegend(F){F.splice(this.options.legendIndex,0,this)}drawLegendSymbol(F){let P,D=E(F.options.itemDistance,20),A=this.legendItem||{},I=this.options,_=I.ranges,m=I.connectorDistance;if(!_||!_.length||!te(_[0].value))return void(F.options.bubbleLegend.autoRanges=!0);j(_,function(f,a){return a.value-f.value}),this.ranges=_,this.setOptions(),this.render();let w=this.getMaxLabelSize(),G=this.ranges[0].radius,O=2*G;P=(P=m-G+w.width)>0?P:0,this.maxLabel=w,this.movementX="left"===I.labels.align?P:0,A.labelWidth=O+P+D,A.labelHeight=O+w.height/2}setOptions(){let F=this.ranges,P=this.options,D=this.chart.series[P.seriesIndex],A=this.legend.baseline,I={zIndex:P.zIndex,"stroke-width":P.borderWidth},_={zIndex:P.zIndex,"stroke-width":P.connectorWidth},m={align:this.legend.options.rtl||"left"===P.labels.align?"right":"left",zIndex:P.zIndex},w=D.options.marker.fillOpacity,G=this.chart.styledMode;F.forEach(function(O,f){G||(I.stroke=E(O.borderColor,P.borderColor,D.color),I.fill=E(O.color,P.color,1!==w?le(D.color).setOpacity(w).get("rgba"):D.color),_.stroke=E(O.connectorColor,P.connectorColor,D.color)),F[f].radius=this.getRangeRadius(O.value),F[f]=X(F[f],{center:F[0].radius-F[f].radius+A}),G||X(!0,F[f],{bubbleAttribs:X(I),connectorAttribs:X(_),labelAttribs:m})},this)}getRangeRadius(F){let P=this.options;return this.chart.series[this.options.seriesIndex].getRadius.call(this,P.ranges[P.ranges.length-1].value,P.ranges[0].value,P.minSize,P.maxSize,F)}render(){let F=this.legendItem||{},P=this.chart.renderer,D=this.options.zThreshold;for(let A of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),F.symbol=P.g("bubble-legend"),F.label=P.g("bubble-legend-item").css(this.legend.itemStyle||{}),F.symbol.translateX=0,F.symbol.translateY=0,F.symbol.add(F.label),F.label.add(F.group),this.ranges))A.value>=D&&this.renderRange(A);this.hideOverlappingLabels()}renderRange(F){let P=this.ranges[0],D=this.legend,A=this.options,I=A.labels,_=this.chart,m=_.series[A.seriesIndex],w=_.renderer,G=this.symbols,O=G.labels,f=F.center,a=Math.abs(F.radius),g=A.connectorDistance||0,v=I.align,r=A.connectorWidth,l=P.radius||0,d=f-a-A.borderWidth/2+r/2,C=(d%1?1:.5)-(r%2?0:.5),k=w.styledMode,p=D.options.rtl||"left"===v?-g:g;"center"===v&&(p=0,A.connectorDistance=0,F.labelAttribs.align="center"),G.bubbleItems.push(w.circle(l,f+C,a).attr(k?{}:F.bubbleAttribs).addClass((k?"highcharts-color-"+m.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(A.className||"")).add(this.legendItem.symbol)),G.connectors.push(w.path(w.crispLine([["M",l,d],["L",l+p,d]],A.connectorWidth)).attr(k?{}:F.connectorAttribs).addClass((k?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(A.connectorClassName||"")).add(this.legendItem.symbol));let T=w.text(this.formatLabel(F)).attr(k?{}:F.labelAttribs).css(k?{}:I.style).addClass("highcharts-bubble-legend-labels "+(A.labels.className||"")).add(this.legendItem.symbol),B={x:l+p+A.labels.x,y:d+A.labels.y+.4*T.getBBox().height};T.attr(B),O.push(T),T.placed=!0,T.alignAttr=B}getMaxLabelSize(){let F,P;return this.symbols.labels.forEach(function(D){P=D.getBBox(!0),F=F?P.width>F.width?P:F:P}),F||{}}formatLabel(F){let P=this.options,D=P.labels.formatter,A=P.labels.format,{numberFormatter:I}=this.chart;return A?ne.format(A,F):D?D.call(F):I(F.value,1)}hideOverlappingLabels(){let D=this.symbols;!this.options.labels.allowOverlap&&D&&(this.chart.hideOverlappingLabels(D.labels),D.labels.forEach(function(A,I){A.newOpacity?A.newOpacity!==A.oldOpacity&&D.connectors[I].show():D.connectors[I].hide()}))}getRanges(){let A,I,F=this.legend.bubbleLegend,D=F.options.ranges,_=Number.MAX_VALUE,m=-Number.MAX_VALUE;return F.chart.series.forEach(function(w){w.isBubble&&!w.ignoreSeries&&(I=w.zData.filter(te)).length&&(_=E(w.options.zMin,Math.min(_,Math.max(J(I),!1===w.options.displayNegative?w.options.zThreshold:-Number.MAX_VALUE))),m=E(w.options.zMax,Math.max(m,ue(I))))}),A=_===m?[{value:m}]:[{value:_},{value:(_+m)/2},{value:m,autoRanges:!0}],D.length&&D[0].radius&&A.reverse(),A.forEach(function(w,G){D&&D[G]&&(A[G]=X(D[G],w))}),A}predictBubbleSizes(){let g,F=this.chart,P=F.legend.options,D=P.floating,A="horizontal"===P.layout,I=A?F.legend.lastLineHeight:0,_=F.plotSizeX,m=F.plotSizeY,w=F.series[this.options.seriesIndex],G=w.getPxExtremes(),O=Math.ceil(G.minPxSize),f=Math.ceil(G.maxPxSize),a=Math.min(m,_),v=w.options.maxSize;return D||!/%$/.test(v)?g=f:(g=(a+I)*(v=parseFloat(v))/100/(v/100+1),(A&&m-g>=_||!A&&_-g>=m)&&(g=f)),[O,Math.ceil(g)]}updateRanges(F,P){let D=this.legend.options.bubbleLegend;D.minSize=F,D.maxSize=P,D.ranges=this.getRanges()}correctSizes(){let F=this.legend,P=this.chart.series[this.options.seriesIndex].getPxExtremes();Math.abs(Math.ceil(P.maxPxSize)-this.options.maxSize)>1&&(this.updateRanges(this.options.minSize,P.maxPxSize),F.render())}}}),Le(V,"Series/Bubble/BubbleLegendComposition.js",[V["Series/Bubble/BubbleLegendDefaults.js"],V["Series/Bubble/BubbleLegendItem.js"],V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{setOptions:pe}=re,{composed:ue}=ve,{addEvent:J,objectEach:te,pushUnique:X,wrap:E}=le;function j(_,m,w){let G,O,f,a=this.legend,g=F(this)>=0;a&&a.options.enabled&&a.bubbleLegend&&a.options.bubbleLegend.autoRanges&&g?(G=a.bubbleLegend.options,O=a.bubbleLegend.predictBubbleSizes(),a.bubbleLegend.updateRanges(O[0],O[1]),G.placed||(a.group.placed=!1,a.allItems.forEach(v=>{(f=v.legendItem||{}).group&&(f.group.translateY=void 0)})),a.render(),this.getMargins(),this.axes.forEach(function(v){v.visible&&v.render(),G.placed||(v.setScale(),v.updateNames(),te(v.ticks,function(o){o.isNew=!0,o.isNewLabel=!0}))}),G.placed=!0,this.getMargins(),_.call(this,m,w),a.bubbleLegend.correctSizes(),I(a,P(a))):(_.call(this,m,w),a&&a.options.enabled&&a.bubbleLegend&&(a.render(),I(a,P(a))))}function F(_){let m=_.series,w=0;for(;wO.height&&(O.height=m[v].itemHeight);O.step=g}return w}function D(_){let m=this.bubbleLegend,w=this.options,G=w.bubbleLegend,O=F(this.chart);m&&m.ranges&&m.ranges.length&&(G.ranges.length&&(G.autoRanges=!!G.ranges[0].autoRanges),this.destroyItem(m)),O>=0&&w.enabled&&G.enabled&&(G.seriesIndex=O,this.bubbleLegend=new ne(G,this),this.bubbleLegend.addToLegend(_.allItems))}function A(_){let m;if(_.defaultPrevented)return!1;let w=this.chart,G=this.visible,O=this.chart.legend;O&&O.bubbleLegend&&(this.visible=!G,this.ignoreSeries=G,m=F(w)>=0,O.bubbleLegend.visible!==m&&(O.update({bubbleLegend:{enabled:m}}),O.bubbleLegend.visible=m),this.visible=G)}function I(_,m){let O,f,a,g,G=_.options.rtl,v=0;_.allItems.forEach((o,n)=>{(g=o.legendItem||{}).group&&(O=g.group.translateX||0,f=g.y||0,((a=o.movementX)||G&&o.ranges)&&(a=G?O-o.options.maxSize/2:O+a,g.group.attr({translateX:a})),n>m[v].step&&v++,g.group.attr({translateY:Math.round(f+m[v].height/2)}),g.y=f+m[v].height/2)})}return{compose:function(_,m,w){X(ue,"Series.BubbleLegend")&&(pe({legend:{bubbleLegend:q}}),E(_.prototype,"drawChartBox",j),J(m,"afterGetAllItems",D),J(w,"legendItemClick",A))}}}),Le(V,"Series/Bubble/BubblePoint.js",[V["Core/Series/Point.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{seriesTypes:{scatter:{prototype:{pointClass:ve}}}}=ne,{extend:le}=re;class pe extends ve{haloPath(J){return q.prototype.haloPath.call(this,0===J?0:(this.marker&&this.marker.radius||0)+J)}}return le(pe.prototype,{ttBelow:!1}),pe}),Le(V,"Series/Bubble/BubbleSeries.js",[V["Series/Bubble/BubbleLegendComposition.js"],V["Series/Bubble/BubblePoint.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){let{parse:ue}=re,{composed:J,noop:te}=ve,{series:X,seriesTypes:{column:{prototype:E},scatter:j}}=le,{addEvent:F,arrayMax:P,arrayMin:D,clamp:A,extend:I,isNumber:_,merge:m,pick:w,pushUnique:G}=pe;function O(){let k,a=this.len,{coll:g,isXAxis:v,min:o}=this,n=v?"xData":"yData",r=(this.max||0)-(o||0),l=0,d=a,C=a/r;("xAxis"===g||"yAxis"===g)&&(this.series.forEach(p=>{if(p.bubblePadding&&p.reserveSpace()){this.allowZoomOutside=!0,k=!0;let T=p[n];if(v&&((p.onPoint||p).getRadii(0,0,p),p.onPoint&&(p.radii=p.onPoint.radii)),r>0){let B=T.length;for(;B--;)if(_(T[B])&&this.dataMin<=T[B]&&T[B]<=this.max){let z=p.radii&&p.radii[B]||0;l=Math.min((T[B]-o)*C-z,l),d=Math.max((T[B]-o)*C+z,d)}}}}),k&&r>0&&!this.logarithmic&&(d-=a,C*=(a+Math.max(0,l)-Math.min(d,a))/a,[["min","userMin",l],["max","userMax",d]].forEach(p=>{void 0===w(this.options[p[0]],this[p[1]])&&(this[p[0]]+=p[2]/C)})))}class f extends j{static compose(g,v,o,n){q.compose(v,o,n),G(J,"Series.Bubble")&&F(g,"foundExtremes",O)}animate(g){!g&&this.points.length{if(z.bubblePadding&&z.reserveSpace()){let K=(z.onPoint||z).getZExtremes();K&&(T=Math.min(w(T,K.zMin),K.zMin),B=Math.max(w(B,K.zMax),K.zMax),p=!0)}}),p?(d={zMin:T,zMax:B},this.chart.bubbleZExtremes=d):d={zMin:0,zMax:0}}for(r=0,n=g.length;r0&&(T=(r-g)/p)}return C&&T>=0&&(T=Math.sqrt(T)),Math.ceil(o+T*(n-o))/2}hasData(){return!!this.processedXData.length}pointAttribs(g,v){let o=this.options.marker.fillOpacity,n=X.prototype.pointAttribs.call(this,g,v);return 1!==o&&(n.fill=ue(n.fill).setOpacity(o).get("rgba")),n}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){let{data:g,options:v,radii:o}=this,{minPxSize:n}=this.getPxExtremes(),r=g.length;for(;r--;){let l=g[r],d=o?o[r]:0;"z"===this.zoneAxis&&(l.negative=(l.z||0)<(v.zThreshold||0)),_(d)&&d>=n/2?(l.marker=I(l.marker,{radius:d,width:2*d,height:2*d}),l.dlBox={x:l.plotX-d,y:l.plotY-d,width:2*d,height:2*d}):(l.shapeArgs=l.plotY=l.dlBox=void 0,l.isInside=!1)}}getPxExtremes(){let g=Math.min(this.chart.plotWidth,this.chart.plotHeight),v=r=>{let l;return"string"==typeof r&&(l=/%$/.test(r),r=parseInt(r,10)),l?g*r/100:r},o=v(w(this.options.minSize,8));return{minPxSize:o,maxPxSize:Math.max(v(w(this.options.maxSize,"20%")),o)}}getZExtremes(){let g=this.options,v=(this.zData||[]).filter(_);if(v.length){let o=w(g.zMin,A(D(v),!1===g.displayNegative?g.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),n=w(g.zMax,P(v));if(_(o)&&_(n))return{zMin:o,zMax:n}}}}return f.defaultOptions=m(j.defaultOptions,{dataLabels:{formatter:function(){let{numberFormatter:a}=this.series.chart,{z:g}=this.point;return _(g)?a(g,-1):""},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"}),I(f.prototype,{alignDataLabel:E.alignDataLabel,applyZones:te,bubblePadding:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:ne,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),F(f,"updatedData",a=>{delete a.target.chart.bubbleZExtremes}),F(f,"remove",a=>{delete a.target.chart.bubbleZExtremes}),le.registerSeriesType("bubble",f),f}),Le(V,"Series/MapBubble/MapBubblePoint.js",[V["Series/Bubble/BubblePoint.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{seriesTypes:{map:{prototype:{pointClass:{prototype:ve}}}}}=ne,{extend:le}=re;class pe extends q{isValid(){return"number"==typeof this.z}}return le(pe.prototype,{applyOptions:ve.applyOptions,getProjectedBounds:ve.getProjectedBounds}),pe}),Le(V,"Series/MapBubble/MapBubbleSeries.js",[V["Series/Bubble/BubbleSeries.js"],V["Series/MapBubble/MapBubblePoint.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{seriesTypes:{map:{prototype:le},mappoint:{prototype:pe}}}=re,{extend:ue,merge:J}=ve;class te extends q{constructor(){super(...arguments),this.clearBounds=le.clearBounds}searchPoint(E,j){return this.searchKDTree({plotX:E.chartX-this.chart.plotLeft,plotY:E.chartY-this.chart.plotTop},j,E)}translate(){pe.translate.call(this),this.getRadii(),this.translateBubble()}updateParallelArrays(E,j,F){super.updateParallelArrays.call(this,E,j,F);let P=this.processedXData,D=this.xData;P&&D&&(P.length=D.length)}}return te.defaultOptions=J(q.defaultOptions,{lineWidth:0,animationLimit:500,joinBy:"hc-key",tooltip:{pointFormat:"{point.name}: {point.z}"}}),ue(te.prototype,{type:"mapbubble",axisTypes:["colorAxis"],getProjectedBounds:le.getProjectedBounds,isCartesian:!1,pointArrayMap:["z"],pointClass:ne,processData:le.processData,projectPoint:pe.projectPoint,kdAxisArray:["plotX","plotY"],setData:le.setData,setOptions:le.setOptions,updateData:le.updateData,useMapGeometry:!0,xyFromShape:!0}),re.registerSeriesType("mapbubble",te),te}),Le(V,"Series/Heatmap/HeatmapPoint.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne){let{scatter:{prototype:{pointClass:re}}}=q.seriesTypes,{clamp:ve,defined:le,extend:pe,pick:ue}=ne;class J extends re{applyOptions(X,E){return(this.isNull||null===this.value)&&delete this.color,super.applyOptions(X,E),this.formatPrefix=this.isNull||null===this.value?"null":"point",this}getCellAttributes(){let X=this.series,E=X.options,j=(E.colsize||1)/2,F=(E.rowsize||1)/2,P=X.xAxis,D=X.yAxis,A=this.options.marker||X.options.marker,I=X.pointPlacementToXValue(),_=ue(this.pointPadding,E.pointPadding,0),m={x1:ve(Math.round(P.len-P.translate(this.x-j,!1,!0,!1,!0,-I)),-P.len,2*P.len),x2:ve(Math.round(P.len-P.translate(this.x+j,!1,!0,!1,!0,-I)),-P.len,2*P.len),y1:ve(Math.round(D.translate(this.y-F,!1,!0,!1,!0)),-D.len,2*D.len),y2:ve(Math.round(D.translate(this.y+F,!1,!0,!1,!0)),-D.len,2*D.len)};for(let w of[["width","x"],["height","y"]]){let G=w[0],O=w[1],f=O+"1",a=O+"2",g=Math.abs(m[f]-m[a]),v=A&&A.lineWidth||0,o=Math.abs(m[f]+m[a])/2,n=A&&A[G];if(le(n)&&n"},states:{hover:{halo:!1,brightness:.2}},legendSymbol:"rectangle"}}),Le(V,"Series/InterpolationUtilities.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{doc:re}=q,{defined:ve,pick:le}=ne;return{colorFromPoint:function(pe,ue){let J=ue.series.colorAxis;if(J){let te=J.toColor(pe||0,ue).split(")")[0].split("(")[1].split(",").map(X=>le(parseFloat(X),parseInt(X,10)));return te[3]=255*le(te[3],1),ve(pe)&&ue.visible||(te[3]=0),te}return[0,0,0,0]},getContext:function(pe){let{canvas:ue,context:J}=pe;return ue&&J?(J.clearRect(0,0,ue.width,ue.height),J):(pe.canvas=re.createElement("canvas"),pe.context=pe.canvas.getContext("2d",{willReadFrequently:!0})||void 0,pe.context)}}}),Le(V,"Series/Heatmap/HeatmapSeries.js",[V["Core/Color/Color.js"],V["Series/ColorMapComposition.js"],V["Series/Heatmap/HeatmapPoint.js"],V["Series/Heatmap/HeatmapSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Utilities.js"],V["Series/InterpolationUtilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{series:te,seriesTypes:{column:X,scatter:E}}=le,{prototype:{symbols:j}}=pe,{addEvent:F,extend:P,fireEvent:D,isNumber:A,merge:I,pick:_}=ue,{colorFromPoint:m,getContext:w}=J;class G extends E{constructor(){super(...arguments),this.valueMax=NaN,this.valueMin=NaN,this.isDirtyCanvas=!0}drawPoints(){let f=this,a=f.options,v=a.marker||{};if(a.interpolation){let{image:o,chart:n,xAxis:r,yAxis:l}=f,{reversed:d=!1,len:C}=r,{reversed:k=!1,len:p}=l,T={width:C,height:p};if(!o||f.isDirtyData||f.isDirtyCanvas){let B=w(f),{canvas:z,options:{colsize:K=1,rowsize:U=1},points:se,points:{length:S}}=f;if(z&&B&&n.colorAxis&&n.colorAxis[0]){let{min:H,max:x}=r.getExtremes(),{min:N,max:R}=l.getExtremes(),Z=x-H,Y=R-N,he=Math.round(Z/K/8*8),ge=Math.round(Y/U/8*8),[_e,Te]=[[he,he/Z,d,"ceil"],[ge,ge/Y,!k,"floor"]].map(([be,xe,Ie,we])=>Ie?Ee=>Math[we](be-xe*Ee):Ee=>Math[we](xe*Ee)),Oe=z.width=he+1,De=Oe*(z.height=ge+1),Be=(S-1)/De,oe=new Uint8ClampedArray(4*De),ee=(be,xe)=>4*Math.ceil(Oe*Te(xe-N)+_e(be-H));f.buildKDTree();for(let be=0;be{o.graphic&&(o.graphic[f.chart.styledMode?"css":"animate"](f.colorAttribs(o)),null===o.value&&o.graphic.addClass("highcharts-null-point"))}))}getExtremes(){let{dataMin:f,dataMax:a}=te.prototype.getExtremes.call(this,this.valueData);return A(f)&&(this.valueMin=f),A(a)&&(this.valueMax=a),te.prototype.getExtremes.call(this)}getValidPoints(f,a){return te.prototype.getValidPoints.call(this,f,a,!0)}hasData(){return!!this.processedXData.length}init(){super.init.apply(this,arguments);let f=this.options;f.pointRange=_(f.pointRange,f.colsize||1),this.yAxis.axisPointRange=f.rowsize||1,j.ellipse=j.circle,f.marker&&A(f.borderRadius)&&(f.marker.r=f.borderRadius)}markerAttribs(f,a){let g=f.shapeArgs||{};if(f.hasImage)return{x:f.plotX,y:f.plotY};if(a&&"normal"!==a){let v=f.options.marker||{},o=this.options.marker||{},n=o.states&&o.states[a]||{},r=v.states&&v.states[a]||{},l=(r.width||n.width||g.width||0)+(r.widthPlus||n.widthPlus||0),d=(r.height||n.height||g.height||0)+(r.heightPlus||n.heightPlus||0);return{x:(g.x||0)+((g.width||0)-l)/2,y:(g.y||0)+((g.height||0)-d)/2,width:l,height:d}}return g}pointAttribs(f,a){let g=te.prototype.pointAttribs.call(this,f,a),v=this.options||{},o=this.chart.options.plotOptions||{},n=o.series||{},r=o.heatmap||{},d=f&&f.options.borderWidth||v.borderWidth||r.borderWidth||n.borderWidth||g["stroke-width"];if(g.stroke=f&&f.marker&&f.marker.lineColor||v.marker&&v.marker.lineColor||f&&f.options.borderColor||v.borderColor||r.borderColor||n.borderColor||this.color,g["stroke-width"]=d,a&&"normal"!==a){let C=I(v.states&&v.states[a],v.marker&&v.marker.states&&v.marker.states[a],f&&f.options.states&&f.options.states[a]||{});g.fill=C.color||q.parse(g.fill).brighten(C.brightness||0).get(),g.stroke=C.lineColor||g.stroke}return g}translate(){let{borderRadius:f,marker:a}=this.options,g=a&&a.symbol||"rect",v=j[g]?g:"rect",o=-1!==["circle","square"].indexOf(v);for(let n of(this.generatePoints(),this.points)){let r=n.getCellAttributes(),l=Math.min(r.x1,r.x2),d=Math.min(r.y1,r.y2),C=Math.max(Math.abs(r.x2-r.x1),0),k=Math.max(Math.abs(r.y2-r.y1),0);if(n.hasImage=0===(n.marker&&n.marker.symbol||g||"").indexOf("url"),o){let p=Math.abs(C-k);l=Math.min(r.x1,r.x2)+(CparseInt(ne.userAgent.split("Firefox/")[1],10),ne.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],ne.noop=function(){},ne.supportsPassiveEvents=function(){let re=!1;if(!ne.isMS){let ve=Object.defineProperty({},"passive",{get:function(){re=!0}});ne.win.addEventListener&&ne.win.removeEventListener&&(ne.win.addEventListener("testPassive",ne.noop,ve),ne.win.removeEventListener("testPassive",ne.noop,ve))}return re}(),ne.charts=[],ne.composed=[],ne.dateFormats={},ne.seriesTypes={},ne.symbolSizes={},ne.chartCount=0,q}),Le(V,"Core/Utilities.js",[V["Core/Globals.js"]],function(q){let ne,{charts:re,doc:ve,win:le}=q;function pe(o,n,r,l){let d=n?"Highcharts error":"Highcharts warning";32===o&&(o=`${d}: Deprecated member`);let C=F(o),k=C?`${d} #${o}: www.highcharts.com/errors/${o}/`:o.toString();if(void 0!==l){let p="";C&&(k+="?"),f(l,function(T,B){p+=`\n - ${B}: ${T}`,C&&(k+=encodeURI(B)+"="+encodeURI(T))}),k+=p}g(q,"displayError",{chart:r,code:o,message:k,params:l},function(){if(n)throw Error(k);le.console&&-1===pe.messages.indexOf(k)&&console.warn(k)}),pe.messages.push(k)}function ue(o,n){return parseInt(o,n||10)}function J(o){return"string"==typeof o}function te(o){let n=Object.prototype.toString.call(o);return"[object Array]"===n||"[object Array Iterator]"===n}function X(o,n){return!(!o||"object"!=typeof o||n&&te(o))}function E(o){return X(o)&&"number"==typeof o.nodeType}function j(o){let n=o&&o.constructor;return!(!X(o,!0)||E(o)||!n||!n.name||"Object"===n.name)}function F(o){return"number"==typeof o&&!isNaN(o)&&o<1/0&&o>-1/0}function P(o){return null!=o}function D(o,n,r){let l,d=J(n)&&!P(r),C=(k,p)=>{P(k)?o.setAttribute(p,k):d?(l=o.getAttribute(p))||"class"!==p||(l=o.getAttribute(p+"Name")):o.removeAttribute(p)};return J(n)?C(r,n):f(n,C),l}function A(o){return te(o)?o:[o]}function I(o,n){let r;for(r in o||(o={}),n)o[r]=n[r];return o}function _(){let o=arguments,n=o.length;for(let r=0;r1e14?o:parseFloat(o.toPrecision(n||14))}(pe||(pe={})).messages=[],Math.easeInOutSine=function(o){return-.5*(Math.cos(Math.PI*o)-1)};let O=Array.prototype.find?function(o,n){return o.find(n)}:function(o,n){let r,l=o.length;for(r=0;rp.order-T.order),d.forEach(p=>{!1===p.fn.call(o,r)&&r.preventDefault()})}l&&!r.defaultPrevented&&l.call(o,r)}f({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(o,n){q[n]=function(r){return pe(32,!1,void 0,{[`Highcharts.${n}`]:`use Array.${o}`}),Array.prototype[o].apply(r,[].slice.call(arguments,1))}});let v=function(){let o=Math.random().toString(36).substring(2,9)+"-",n=0;return function(){return"highcharts-"+(ne?"":o)+n++}}();return le.jQuery&&(le.jQuery.fn.highcharts=function(){let o=[].slice.call(arguments);if(this[0])return o[0]?(new(q[J(o[0])?o.shift():"Chart"])(this[0],o[0],o[1]),this):re[D(this[0],"data-highcharts-chart")]}),{addEvent:function(o,n,r,l={}){let d="function"==typeof o&&o.prototype||o;Object.hasOwnProperty.call(d,"hcEvents")||(d.hcEvents={});let C=d.hcEvents;q.Point&&o instanceof q.Point&&o.series&&o.series.chart&&(o.series.chart.runTrackerClick=!0);let k=o.addEventListener;return k&&k.call(o,n,r,!!q.supportsPassiveEvents&&{passive:void 0===l.passive?-1!==n.indexOf("touch"):l.passive,capture:!1}),C[n]||(C[n]=[]),C[n].push({fn:r,order:"number"==typeof l.order?l.order:1/0}),C[n].sort((T,B)=>T.order-B.order),function(){a(o,n,r)}},arrayMax:function(o){let n=o.length,r=o[0];for(;n--;)o[n]>r&&(r=o[n]);return r},arrayMin:function(o){let n=o.length,r=o[0];for(;n--;)o[n]n?o-1&&p[U]){K=A(K),T[U]=[];for(let se=0;se{if(p.length>1)for(C=l=p.length-1;C>0;C--)(d=p[C]-p[C-1])<0&&!k?(n?.(),n=void 0):d&&(void 0===r||d=k-1&&(k=Math.floor(p)),Math.max(0,k-(o(n,"padding-left",!0)||0)-(o(n,"padding-right",!0)||0))}if("height"===r)return Math.max(0,Math.min(n.offsetHeight,n.scrollHeight)-(o(n,"padding-top",!0)||0)-(o(n,"padding-bottom",!0)||0));let C=le.getComputedStyle(n,void 0);return C&&(d=C.getPropertyValue(r),_(l,"opacity"!==r)&&(d=ue(d))),d},inArray:function(o,n,r){return pe(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),n.indexOf(o,r)},insertItem:function(o,n){let r,l=o.options.index,d=n.length;for(r=o.options.isInternal?d:0;r=o))&&(d||!(p<=(n[C]+(n[C+1]||n[C]))/2)));C++);return G(k*r,-Math.round(Math.log(.001)/Math.LN10))},objectEach:f,offset:function(o){let n=ve.documentElement,r=o.parentElement||o.parentNode?o.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:r.top+(le.pageYOffset||n.scrollTop)-(n.clientTop||0),left:r.left+(le.pageXOffset||n.scrollLeft)-(n.clientLeft||0),width:r.width,height:r.height}},pad:function(o,n,r){return Array((n||2)+1-String(o).replace("-","").length).join(r||"0")+o},pick:_,pInt:ue,pushUnique:function(o,n){return 0>o.indexOf(n)&&!!o.push(n)},relativeLength:function(o,n,r){return/%$/.test(o)?n*parseFloat(o)/100+(r||0):parseFloat(o)},removeEvent:a,replaceNested:function(o,...n){let r,l;do{for(l of(r=o,n))o=o.replace(l[0],l[1])}while(o!==r);return o},splat:A,stableSort:function(o,n){let r,l,d=o.length;for(l=0;l0?setTimeout(o,n,r):(o.call(0,r),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:v,useSerialIds:function(o){return ne=_(o,ne)},wrap:function(o,n,r){let l=o[n];o[n]=function(){let d=arguments,C=this;return r.apply(this,[function(){return l.apply(C,arguments.length?arguments:d)}].concat([].slice.call(arguments)))}}}}),Le(V,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),Le(V,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),Le(V,"Core/Time.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{win:re}=q,{defined:ve,error:le,extend:pe,isNumber:ue,isObject:J,merge:te,objectEach:X,pad:E,pick:j,splat:F,timeUnits:P}=ne,D=q.isSafari&&re.Intl&&re.Intl.DateTimeFormat.prototype.formatRange,A=q.isSafari&&re.Intl&&!re.Intl.DateTimeFormat.prototype.formatRange;class I{constructor(m){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=re.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(m)}get(m,w){if(this.variableTimezone||this.timezoneOffset){let G=w.getTime(),O=G-this.getTimezoneOffset(w);w.setTime(O);let f=w["getUTC"+m]();return w.setTime(G),f}return this.useUTC?w["getUTC"+m]():w["get"+m]()}set(m,w,G){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===m||"Seconds"===m||"Minutes"===m&&this.getTimezoneOffset(w)%36e5==0)return w["setUTC"+m](G);let O=this.getTimezoneOffset(w),f=w.getTime()-O;w.setTime(f),w["setUTC"+m](G);let a=this.getTimezoneOffset(w);return f=w.getTime()+a,w.setTime(f)}return this.useUTC||D&&"FullYear"===m?w["setUTC"+m](G):w["set"+m](G)}update(m={}){let w=j(m.useUTC,!0);this.options=m=te(!0,this.options,m),this.Date=m.Date||re.Date||Date,this.useUTC=w,this.timezoneOffset=w&&m.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=w&&!(!m.getTimezoneOffset&&!m.timezone)}makeTime(m,w,G,O,f,a){let g,v,o;return this.useUTC?(g=this.Date.UTC.apply(0,arguments),v=this.getTimezoneOffset(g),g+=v,v!==(o=this.getTimezoneOffset(g))?g+=o-v:v-36e5!==this.getTimezoneOffset(g-36e5)||A||(g-=36e5)):g=new this.Date(m,w,j(G,1),j(O,0),j(f,0),j(a,0)).getTime(),g}timezoneOffsetFunction(){let m=this,w=this.options,G=w.getTimezoneOffset;return this.useUTC?w.timezone?O=>{try{let f=`shortOffset,${w.timezone||""}`,[a,g,v,o,n=0]=(I.formatCache[f]=I.formatCache[f]||Intl.DateTimeFormat("en",{timeZone:w.timezone,timeZoneName:"shortOffset"})).format(O).split(/(GMT|:)/).map(Number),r=-36e5*(v+n/60);if(ue(r))return r}catch{le(34)}return 0}:this.useUTC&&G?O=>6e4*G(O.valueOf()):()=>6e4*(m.timezoneOffset||0):O=>6e4*new Date(O.toString()).getTimezoneOffset()}dateFormat(m,w,G){if(!ve(w)||isNaN(w))return q.defaultOptions.lang&&q.defaultOptions.lang.invalidDate||"";m=j(m,"%Y-%m-%d %H:%M:%S");let O=this,f=new this.Date(w),a=this.get("Hours",f),g=this.get("Day",f),v=this.get("Date",f),o=this.get("Month",f),n=this.get("FullYear",f),r=q.defaultOptions.lang,l=r&&r.weekdays,d=r&&r.shortWeekdays;return X(pe({a:d?d[g]:l[g].substr(0,3),A:l[g],d:E(v),e:E(v,2," "),w:g,b:r.shortMonths[o],B:r.months[o],m:E(o+1),o:o+1,y:n.toString().substr(2,2),Y:n,H:E(a),k:a,I:E(a%12||12),l:a%12||12,M:E(this.get("Minutes",f)),p:a<12?"AM":"PM",P:a<12?"am":"pm",S:E(this.get("Seconds",f)),L:E(Math.floor(w%1e3),3)},q.dateFormats),function(C,k){for(;-1!==m.indexOf("%"+k);)m=m.replace("%"+k,"function"==typeof C?C.call(O,w):C)}),G?m.substr(0,1).toUpperCase()+m.substr(1):m}resolveDTLFormat(m){return J(m,!0)?m:{main:(m=F(m))[0],from:m[1],to:m[2]}}getTimeTicks(m,w,G,O){let f,a,g,v,o=this,r=[],l={},d=new(0,o.Date)(w),C=m.unitRange,k=m.count||1;if(O=j(O,1),ve(w)){o.set("Milliseconds",d,C>=P.second?0:k*Math.floor(o.get("Milliseconds",d)/k)),C>=P.second&&o.set("Seconds",d,C>=P.minute?0:k*Math.floor(o.get("Seconds",d)/k)),C>=P.minute&&o.set("Minutes",d,C>=P.hour?0:k*Math.floor(o.get("Minutes",d)/k)),C>=P.hour&&o.set("Hours",d,C>=P.day?0:k*Math.floor(o.get("Hours",d)/k)),C>=P.day&&o.set("Date",d,C>=P.month?1:Math.max(1,k*Math.floor(o.get("Date",d)/k))),C>=P.month&&(o.set("Month",d,C>=P.year?0:k*Math.floor(o.get("Month",d)/k)),a=o.get("FullYear",d)),C>=P.year&&(a-=a%k,o.set("FullYear",d,a)),C===P.week&&(v=o.get("Day",d),o.set("Date",d,o.get("Date",d)-v+O+(v4*P.month||o.getTimezoneOffset(w)!==o.getTimezoneOffset(G));let z=d.getTime();for(f=1;z1?z=o.makeTime(a,p,T,B+f*k):z+=C*k:z=o.makeTime(a,p,T+f*k*(C===P.day?1:7)),f++;r.push(z),C<=P.hour&&r.length<1e4&&r.forEach(function(K){K%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",K)&&(l[K]="day")})}return r.info=pe(m,{higherRanks:l,totalRange:C*k}),r}getDateFormat(m,w,G,O){let f=this.dateFormat("%m-%d %H:%M:%S.%L",w),a="01-01 00:00:00.000",g={millisecond:15,second:12,minute:9,hour:6,day:3},v="millisecond",o=v;for(v in P){if(m===P.week&&+this.dateFormat("%w",w)===G&&f.substr(6)===a.substr(6)){v="week";break}if(P[v]>m){v=o;break}if(g[v]&&f.substr(g[v])!==a.substr(g[v]))break;"week"!==v&&(o=v)}return this.resolveDTLFormat(O[v]).main}}return I.formatCache={},I}),Le(V,"Core/Defaults.js",[V["Core/Chart/ChartDefaults.js"],V["Core/Globals.js"],V["Core/Color/Palettes.js"],V["Core/Time.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{isTouchDevice:pe,svg:ue}=ne,{merge:J}=le,te={colors:re.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",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"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:q,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:ue,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:pe?25:10,headerFormat:'{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};te.chart.styledMode=!1;let X=new ve(te.time);return{defaultOptions:te,defaultTime:X,getOptions:function(){return te},setOptions:function(E){return J(!0,te,E),(E.time||E.global)&&(ne.time?ne.time.update(J(te.global,te.time,E.global,E.time)):ne.time=X),te}}}),Le(V,"Core/Color/Color.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{isNumber:re,merge:ve,pInt:le}=ne;class pe{static parse(J){return J?new pe(J):pe.None}constructor(J){let te,X,E,j;this.rgba=[NaN,NaN,NaN,NaN],this.input=J;let F=q.Color;if(F&&F!==pe)return new F(J);if("object"==typeof J&&void 0!==J.stops)this.stops=J.stops.map(P=>new pe(P[1]));else if("string"==typeof J){if(this.input=J=pe.names[J.toLowerCase()]||J,"#"===J.charAt(0)){let P=J.length,D=parseInt(J.substr(1),16);7===P?X=[(16711680&D)>>16,(65280&D)>>8,255&D,1]:4===P&&(X=[(3840&D)>>4|(3840&D)>>8,(240&D)>>4|240&D,(15&D)<<4|15&D,1])}if(!X)for(E=pe.parsers.length;E--&&!X;)(te=(j=pe.parsers[E]).regex.exec(J))&&(X=j.parse(te))}X&&(this.rgba=X)}get(J){let te=this.input,X=this.rgba;if("object"==typeof te&&void 0!==this.stops){let E=ve(te);return E.stops=[].slice.call(E.stops),this.stops.forEach((j,F)=>{E.stops[F]=[E.stops[F][0],j.get(J)]}),E}return X&&re(X[0])?"rgb"===J||!J&&1===X[3]?"rgb("+X[0]+","+X[1]+","+X[2]+")":"a"===J?`${X[3]}`:"rgba("+X.join(",")+")":te}brighten(J){let te=this.rgba;if(this.stops)this.stops.forEach(function(X){X.brighten(J)});else if(re(J)&&0!==J)for(let X=0;X<3;X++)te[X]+=le(255*J),te[X]<0&&(te[X]=0),te[X]>255&&(te[X]=255);return this}setOpacity(J){return this.rgba[3]=J,this}tweenTo(J,te){let X=this.rgba,E=J.rgba;if(!re(X[0])||!re(E[0]))return J.input||"none";let j=1!==E[3]||1!==X[3];return(j?"rgba(":"rgb(")+Math.round(E[0]+(X[0]-E[0])*(1-te))+","+Math.round(E[1]+(X[1]-E[1])*(1-te))+","+Math.round(E[2]+(X[2]-E[2])*(1-te))+(j?","+(E[3]+(X[3]-E[3])*(1-te)):"")+")"}}return pe.names={white:"#ffffff",black:"#000000"},pe.parsers=[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(ue){return[le(ue[1]),le(ue[2]),le(ue[3]),parseFloat(ue[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(ue){return[le(ue[1]),le(ue[2]),le(ue[3]),1]}}],pe.None=new pe(""),pe}),Le(V,"Core/Animation/Fx.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{parse:ve}=q,{win:le}=ne,{isNumber:pe,objectEach:ue}=re;class J{constructor(X,E,j){this.pos=NaN,this.options=E,this.elem=X,this.prop=j}dSetter(){let X=this.paths,E=X&&X[0],j=X&&X[1],F=this.now||0,P=[];if(1!==F&&E&&j)if(E.length===j.length&&F<1)for(let D=0;D=I+this.startTime?(this.now=this.end,this.pos=1,this.update(),_[this.prop]=!0,j=!0,ue(_,function(m){!0!==m&&(j=!1)}),j&&A&&A.call(D),E=!1):(this.pos=P.easing((F-this.startTime)/I),this.now=this.start+(this.end-this.start)*this.pos,this.update(),E=!0),E}initPath(X,E,j){let _,m,w,G,F=X.startX,P=X.endX,D=j.slice(),A=X.isArea,I=A?2:1,O=E&&E.slice();if(!O)return[D,D];function f(g,v){for(;g.length{let G=E(w.options.animation);_=ue(P)&&re(P.defer)?A.defer:Math.max(_,G.duration+G.defer),m=Math.min(A.duration,G.duration)}),F.renderer.forExport&&(_=0),{defer:Math.max(0,_-m),duration:Math.min(_,m)}},setAnimation:function(F,P){P.renderer.globalAnimation=X(F,P.options.chart.animation,!0)},stop:j}}),Le(V,"Core/Renderer/HTML/AST.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{SVG_NS:re,win:ve}=q,{attr:le,createElement:pe,css:ue,error:J,isFunction:te,isString:X,objectEach:E,splat:j}=ne,{trustedTypes:F}=ve,P=F&&te(F.createPolicy)&&F.createPolicy("highcharts",{createHTML:_=>_}),D=P?P.createHTML(""):"",A=function(){try{return!!(new DOMParser).parseFromString(D,"text/html")}catch{return!1}}();class I{static filterUserAttributes(m){return E(m,(w,G)=>{let O=!0;-1===I.allowedAttributes.indexOf(G)&&(O=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(G)&&(O=X(w)&&I.allowedReferences.some(f=>0===w.indexOf(f))),O||(J(33,!1,void 0,{"Invalid attribute in config":`${G}`}),delete m[G]),X(w)&&m[G]&&(m[G]=w.replace(/{let O=G.split(":").map(a=>a.trim()),f=O.shift();return f&&O.length&&(w[f.replace(/-([a-z])/g,a=>a[1].toUpperCase())]=O.join(":")),w},{})}static setElementHTML(m,w){m.innerHTML=I.emptyHTML,w&&new I(w).addToDOM(m)}constructor(m){this.nodes="string"==typeof m?this.parseMarkup(m):m}addToDOM(m){return function w(G,O){let f;return j(G).forEach(function(a){let g,v=a.tagName,o=a.textContent?q.doc.createTextNode(a.textContent):void 0,n=I.bypassHTMLFiltering;if(v)if("#text"===v)g=o;else if(-1!==I.allowedTags.indexOf(v)||n){let l=q.doc.createElementNS("svg"===v?re:O.namespaceURI||re,v),d=a.attributes||{};E(a,function(C,k){"tagName"!==k&&"attributes"!==k&&"children"!==k&&"style"!==k&&"textContent"!==k&&(d[k]=C)}),le(l,n?d:I.filterUserAttributes(d)),a.style&&ue(l,a.style),o&&l.appendChild(o),w(a.children||[],l),g=l}else J(33,!1,void 0,{"Invalid tagName in config":v});g&&O.appendChild(g),f=g}),f}(this.nodes,m)}parseMarkup(m){let w,G=[];if(m=m.trim().replace(/ style=(["'])/g," data-style=$1"),A)w=(new DOMParser).parseFromString(P?P.createHTML(m):m,"text/html");else{let f=pe("div");f.innerHTML=m,w={body:f}}let O=(f,a)=>{let g=f.nodeName.toLowerCase(),v={tagName:g};"#text"===g&&(v.textContent=f.textContent||"");let o=f.attributes;if(o){let n={};[].forEach.call(o,r=>{"data-style"===r.name?v.style=I.parseStyle(r.value):n[r.name]=r.value}),v.attributes=n}if(f.childNodes.length){let n=[];[].forEach.call(f.childNodes,r=>{O(r,n)}),n.length&&(v.children=n)}a.push(v)};return[].forEach.call(w.body.childNodes,f=>O(f,G)),G}}return I.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","markerHeight","markerWidth","offset","opacity","orient","padding","paddingLeft","paddingRight","patternUnits","r","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],I.allowedReferences=["https://","http://","mailto:","/","../","./","#"],I.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feDropShadow","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],I.emptyHTML=D,I.bypassHTMLFiltering=!1,I}),Le(V,"Core/Templating.js",[V["Core/Defaults.js"],V["Core/Utilities.js"]],function(q,ne){let{defaultOptions:re,defaultTime:ve}=q,{extend:le,getNestedProperty:pe,isArray:ue,isNumber:J,isObject:te,pick:X,pInt:E}=ne,j={add:(D,A)=>D+A,divide:(D,A)=>0!==A?D/A:"",eq:(D,A)=>D==A,each:function(D){let A=arguments[arguments.length-1];return!!ue(D)&&D.map((I,_)=>F(A.body,le(te(I)?I:{"@this":I},{"@index":_,"@first":0===_,"@last":_===D.length-1}))).join("")},ge:(D,A)=>D>=A,gt:(D,A)=>D>A,if:D=>!!D,le:(D,A)=>D<=A,lt:(D,A)=>DD*A,ne:(D,A)=>D!=A,subtract:(D,A)=>D-A,unless:D=>!D};function F(D="",A,I){let o,n,l,_=/\{([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= #\(\)]+)\}/g,m=/\(([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= ]+)\)/g,w=[],G=/f$/,O=/\.([0-9])/,f=re.lang,a=I&&I.time||ve,g=I&&I.numberFormatter||P,v=(d="")=>{let C;return"true"===d||"false"!==d&&((C=Number(d)).toString()===d?C:pe(d,A))},r=0;for(;null!==(o=_.exec(D));){let d=m.exec(o[1]);d&&(o=d,l=!0),n&&n.isBlock||(n={ctx:A,expression:o[1],find:o[0],isBlock:"#"===o[1].charAt(0),start:o.index,startInner:o.index+o[0].length,length:o[0].length});let C=o[1].split(" ")[0].replace("#","");j[C]&&(n.isBlock&&C===n.fn&&r++,n.fn||(n.fn=C));let k="else"===o[1];if(n.isBlock&&n.fn&&(o[1]===`/${n.fn}`||k))if(r)!k&&r--;else{let p=n.startInner,T=D.substr(p,o.index-p);void 0===n.body?(n.body=T,n.startInner=o.index+o[0].length):n.elseBody=T,n.find+=T+o[0],k||(w.push(n),n=void 0)}else n.isBlock||w.push(n);if(d&&!n?.isBlock)break}return w.forEach(d=>{let C,k,{body:p,elseBody:T,expression:B,fn:z}=d;if(z){let K=[d],U=B.split(" ");for(k=j[z].length;k--;)K.unshift(v(U[k+1]));C=j[z].apply(A,K),d.isBlock&&"boolean"==typeof C&&(C=F(C?p:T,A))}else{let K=B.split(":");if(C=v(K.shift()||""),K.length&&"number"==typeof C){let U=K.join(":");if(G.test(U)){let se=parseInt((U.match(O)||["","-1"])[1],10);null!==C&&(C=g(C,se,f.decimalPoint,U.indexOf(",")>-1?f.thousandsSep:""))}else C=a.dateFormat(U,C)}}D=D.replace(d.find,X(C,""))}),l?F(D,A,I):D}function P(D,A,I,_){let m,w;A=+A;let G=re.lang,O=((D=+D||0).toString().split(".")[1]||"").split("e")[0].length,f=D.toString().split("e"),a=A;-1===A?A=Math.min(O,20):J(A)?A&&f[1]&&f[1]<0&&((w=A+ +f[1])>=0?(f[0]=(+f[0]).toExponential(w).split("e")[0],A=w):(f[0]=f[0].split(".")[0]||0,D=A<20?(f[0]*Math.pow(10,f[1])).toFixed(A):0,f[1]=0)):A=2;let g=(Math.abs(f[1]?f[0]:D)+Math.pow(10,-Math.max(A,O)-1)).toFixed(A),v=String(E(g)),o=v.length>3?v.length%3:0;return I=X(I,G.decimalPoint),_=X(_,G.thousandsSep),m=(D<0?"-":"")+(o?v.substr(0,o)+_:""),0>+f[1]&&!a?m="0":m+=v.substr(o).replace(/(\d{3})(?=\d)/g,"$1"+_),A&&(m+=I+g.slice(-A)),f[1]&&0!=+m&&(m+="e"+f[1]),m}return{dateFormat:function(D,A,I){return ve.dateFormat(D,A,I)},format:F,helpers:j,numberFormat:P}}),Le(V,"Core/Renderer/RendererRegistry.js",[V["Core/Globals.js"]],function(q){var ne,re;let ve;return(re=ne||(ne={})).rendererTypes={},re.getRendererType=function(le=ve){return re.rendererTypes[le]||re.rendererTypes[ve]},re.registerRendererType=function(le,pe,ue){re.rendererTypes[le]=pe,(!ve||ue)&&(ve=le,q.Renderer=pe)},ne}),Le(V,"Core/Renderer/RendererUtilities.js",[V["Core/Utilities.js"]],function(q){var ne;let{clamp:re,pick:ve,pushUnique:le,stableSort:pe}=q;return(ne||(ne={})).distribute=function ue(J,te,X){let _,m,w,O,f,g,E=J,j=E.reducedLen||te,F=(v,o)=>v.target-o.target,P=[],D=J.length,A=[],I=P.push,G=!0,a=0;for(_=D;_--;)a+=J[_].size;if(a>j){for(pe(J,(v,o)=>(o.rank||0)-(v.rank||0)),w=(g=J[0].rank===J[J.length-1].rank)?D/2:-1,m=g?w:D-1;w&&a>j;)O=J[_=Math.floor(m)],le(A,_)&&(a-=O.size),m+=w,g&&m>=J.length&&(w/=2,m=w);A.sort((v,o)=>o-v).forEach(v=>I.apply(P,J.splice(v,1)))}for(pe(J,F),J=J.map(v=>({size:v.size,targets:[v.target],align:ve(v.align,.5)}));G;){for(_=J.length;_--;)O=J[_],f=(Math.min.apply(0,O.targets)+Math.max.apply(0,O.targets))/2,O.pos=re(f-O.size*O.align,0,te-O.size);for(_=J.length,G=!1;_--;)_>0&&J[_-1].pos+J[_-1].size>J[_].pos&&(J[_-1].size+=J[_].size,J[_-1].targets=J[_-1].targets.concat(J[_].targets),J[_-1].align=.5,J[_-1].pos+J[_-1].size>te&&(J[_-1].pos=te-J[_-1].size),J.splice(_,1),G=!0)}return I.apply(E,P),_=0,J.some(v=>{let o=0;return(v.targets||[]).some(()=>(E[_].pos=v.pos+o,void 0!==X&&Math.abs(E[_].pos-E[_].target)>X?(E.slice(0,_+1).forEach(n=>delete n.pos),E.reducedLen=(E.reducedLen||te)-.1*te,E.reducedLen>.1*te&&ue(E,te,X),!0):(o+=E[_].size,_++,!1)))}),pe(E,F),E},ne}),Le(V,"Core/Renderer/SVG/SVGElement.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{animate:le,animObject:pe,stop:ue}=q,{deg2rad:J,doc:te,svg:X,SVG_NS:E,win:j}=re,{addEvent:F,attr:P,createElement:D,css:A,defined:I,erase:_,extend:m,fireEvent:w,isArray:G,isFunction:O,isObject:f,isString:a,merge:g,objectEach:v,pick:o,pInt:n,replaceNested:r,syncTimeout:l,uniqueKey:d}=ve;class C{_defaultGetter(p){let T=o(this[p+"Value"],this[p],this.element?this.element.getAttribute(p):null,0);return/^[\-0-9\.]+$/.test(T)&&(T=parseFloat(T)),T}_defaultSetter(p,T,B){B.setAttribute(T,p)}add(p){let T,B=this.renderer,z=this.element;return p&&(this.parentGroup=p),void 0!==this.textStr&&"text"===this.element.nodeName&&B.buildText(this),this.added=!0,(!p||p.handleZ||this.zIndex)&&(T=this.zIndexSetter()),T||(p?p.element:B.box).appendChild(z),this.onAdd&&this.onAdd(),this}addClass(p,T){let B=T?"":this.attr("class")||"";return(p=(p||"").split(/ /g).reduce(function(z,K){return-1===B.indexOf(K)&&z.push(K),z},B?[B]:[]).join(" "))!==B&&this.attr("class",p),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(p,T,B,z=!0){let K,U,se,S,$,H={},x=this.renderer,N=x.alignedObjects;p?(this.alignOptions=p,this.alignByTranslate=T,(!B||a(B))&&(this.alignTo=se=B||"renderer",_(N,this),N.push(this),B=void 0)):(p=this.alignOptions,T=this.alignByTranslate,se=this.alignTo),B=o(B,x[se],x);let R=p.align,Z=p.verticalAlign;return K=(B.x||0)+(p.x||0),U=(B.y||0)+(p.y||0),"right"===R?S=1:"center"===R&&(S=2),S&&(K+=(B.width-(p.width||0))/S),H[T?"translateX":"x"]=Math.round(K),"bottom"===Z?$=1:"middle"===Z&&($=2),$&&(U+=(B.height-(p.height||0))/$),H[T?"translateY":"y"]=Math.round(U),z&&(this[this.placed?"animate":"attr"](H),this.placed=!0),this.alignAttr=H,this}alignSetter(p){let T={left:"start",center:"middle",right:"end"};T[p]&&(this.alignValue=p,this.element.setAttribute("text-anchor",T[p]))}animate(p,T,B){let z=pe(o(T,this.renderer.globalAnimation,!0)),K=z.defer;return te.hidden&&(z.duration=0),0!==z.duration?(B&&(z.complete=B),l(()=>{this.element&&le(this,p,z)},K)):(this.attr(p,void 0,B||z.complete),v(p,function(U,se){z.step&&z.step.call(this,U,{prop:se,pos:1,elem:this})},this)),this}applyTextOutline(p){let T=this.element;-1!==p.indexOf("contrast")&&(p=p.replace(/contrast/g,this.renderer.getContrast(T.style.fill)));let B=p.split(" "),z=B[B.length-1],K=B[0];if(K&&"none"!==K&&re.svg){this.fakeTS=!0,K=K.replace(/(^[\d\.]+)(.*?)$/g,function(H,x,N){return 2*Number(x)+N}),this.removeTextOutline();let U=te.createElementNS(E,"tspan");P(U,{class:"highcharts-text-outline",fill:z,stroke:z,"stroke-width":K,"stroke-linejoin":"round"});let se=T.querySelector("textPath")||T;[].forEach.call(se.childNodes,H=>{let x=H.cloneNode(!0);x.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(N=>x.removeAttribute(N)),U.appendChild(x)});let S=0;[].forEach.call(se.querySelectorAll("text tspan"),H=>{S+=Number(H.getAttribute("dy"))});let $=te.createElementNS(E,"tspan");$.textContent="\u200b",P($,{x:Number(T.getAttribute("x")),dy:-S}),U.appendChild($),se.insertBefore(U,se.firstChild)}}attr(p,T,B,z){let se,S,H,K=this.element,U=C.symbolCustomAttribs,$=this;return"string"==typeof p&&void 0!==T&&(se=p,(p={})[se]=T),"string"==typeof p?$=(this[p+"Getter"]||this._defaultGetter).call(this,p,K):(v(p,function(x,N){H=!1,z||ue(this,N),this.symbolName&&-1!==U.indexOf(N)&&(S||(this.symbolAttr(p),S=!0),H=!0),this.rotation&&("x"===N||"y"===N)&&(this.doTransform=!0),H||(this[N+"Setter"]||this._defaultSetter).call(this,x,N,K)},this),this.afterSetters()),B&&B.call(this),$}clip(p){if(p&&!p.clipPath){let T=d()+"-",B=this.renderer.createElement("clipPath").attr({id:T}).add(this.renderer.defs);m(p,{clipPath:B,id:T,count:0}),p.add(B)}return this.attr("clip-path",p?`url(${this.renderer.url}#${p.id})`:"none")}crisp(p,T){let B=Math.round(T=T||p.strokeWidth||0)%2/2;return p.x=Math.floor(p.x||this.x||0)+B,p.y=Math.floor(p.y||this.y||0)+B,p.width=Math.floor((p.width||this.width||0)-2*B),p.height=Math.floor((p.height||this.height||0)-2*B),I(p.strokeWidth)&&(p.strokeWidth=T),p}complexColor(p,T,B){let K,U,se,S,$,H,x,N,R,Z,he,z=this.renderer,Y=[];w(this.renderer,"complexColor",{args:arguments},function(){if(p.radialGradient?U="radialGradient":p.linearGradient&&(U="linearGradient"),U){if(se=p[U],$=z.gradients,H=p.stops,R=B.radialReference,G(se)&&(p[U]=se={x1:se[0],y1:se[1],x2:se[2],y2:se[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===U&&R&&!I(se.gradientUnits)&&(S=se,se=g(se,z.getRadialAttr(R,S),{gradientUnits:"userSpaceOnUse"})),v(se,function(ge,_e){"id"!==_e&&Y.push(_e,ge)}),v(H,function(ge){Y.push(ge)}),$[Y=Y.join(",")])Z=$[Y].attr("id");else{se.id=Z=d();let ge=$[Y]=z.createElement(U).attr(se).add(z.defs);ge.radAttr=S,ge.stops=[],H.forEach(function(_e){0===_e[1].indexOf("rgba")?(x=(K=ne.parse(_e[1])).get("rgb"),N=K.get("a")):(x=_e[1],N=1);let Te=z.createElement("stop").attr({offset:_e[0],"stop-color":x,"stop-opacity":N}).add(ge);ge.stops.push(Te)})}he="url("+z.url+"#"+Z+")",B.setAttribute(T,he),B.gradient=Y,p.toString=function(){return he}}})}css(p){let K,T=this.styles,B={},z=this.element,U=!T;if(T&&v(p,function(se,S){T&&T[S]!==se&&(B[S]=se,U=!0)}),U){T&&(p=m(T,B)),null===p.width||"auto"===p.width?delete this.textWidth:"text"===z.nodeName.toLowerCase()&&p.width&&(K=this.textWidth=n(p.width)),m(this.styles,p),K&&!X&&this.renderer.forExport&&delete p.width;let se=g(p);z.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(S=>se&&delete se[S]),se.color&&(se.fill=se.color)),A(z,se)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),p.textOutline&&this.applyTextOutline(p.textOutline)),this}dashstyleSetter(p){let T,B=this["stroke-width"];if("inherit"===B&&(B=1),p=p&&p.toLowerCase()){let z=p.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(T=z.length;T--;)z[T]=""+n(z[T])*o(B,NaN);p=z.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",p)}}destroy(){let U,se,p=this,T=p.element||{},B=p.renderer,z=T.ownerSVGElement,K="SPAN"===T.nodeName&&p.parentGroup||void 0;if(T.onclick=T.onmouseout=T.onmouseover=T.onmousemove=T.point=null,ue(p),p.clipPath&&z){let S=p.clipPath;[].forEach.call(z.querySelectorAll("[clip-path],[CLIP-PATH]"),function($){$.getAttribute("clip-path").indexOf(S.element.id)>-1&&$.removeAttribute("clip-path")}),p.clipPath=S.destroy()}if(p.connector=p.connector?.destroy(),p.stops){for(se=0;seK&&K.join?(U?z+" ":"")+K.join(" "):(K||"").toString(),"")),/(NaN| {2}|^$)/.test(p)&&(p="M 0 0"),this[T]!==p&&(B.setAttribute(T,p),this[T]=p)}fillSetter(p,T,B){"string"==typeof p?B.setAttribute(T,p):p&&this.complexColor(p,T,B)}hrefSetter(p,T,B){B.setAttributeNS("http://www.w3.org/1999/xlink",T,p)}getBBox(p,T){let B,z,K,U,{alignValue:se,element:S,renderer:$,styles:H,textStr:x}=this,{cache:N,cacheKeys:R}=$,Z=S.namespaceURI===this.SVG_NS,Y=o(T,this.rotation,0),he=$.styledMode?S&&C.prototype.getStyle.call(S,"font-size"):H.fontSize;if(I(x)&&(-1===(U=x.toString()).indexOf("<")&&(U=U.replace(/[0-9]/g,"0")),U+=["",$.rootFontSize,he,Y,this.textWidth,se,H.textOverflow,H.fontWeight].join(",")),U&&!p&&(B=N[U]),!B){if(Z||$.forExport){try{K=this.fakeTS&&function(ge){let _e=S.querySelector(".highcharts-text-outline");_e&&A(_e,{display:ge})},O(K)&&K("none"),B=S.getBBox?m({},S.getBBox()):{width:S.offsetWidth,height:S.offsetHeight,x:0,y:0},O(K)&&K("")}catch{}(!B||B.width<0)&&(B={x:0,y:0,width:0,height:0})}else B=this.htmlGetBBox();z=B.height,Z&&(B.height=z={"11px,17":14,"13px,20":16}[`${he||""},${Math.round(z)}`]||z),Y&&(B=this.getRotatedBox(B,Y))}if(U&&(""===x||B.height>0)){for(;R.length>250;)delete N[R.shift()];N[U]||R.push(U),N[U]=B}return B}getRotatedBox(p,T){let{x:B,y:z,width:K,height:U}=p,{alignValue:se,translateY:S,rotationOriginX:$=0,rotationOriginY:H=0}=this,x={right:1,center:.5}[se||0]||0,N=Number(this.element.getAttribute("y")||0)-(S?0:z),R=T*J,Z=(T-90)*J,Y=Math.cos(R),he=Math.sin(R),ge=K*Y,_e=K*he,Te=Math.cos(Z),Oe=Math.sin(Z),[[De,Be],[oe,ee]]=[$,H].map(pt=>[pt-pt*Y,pt*he]),be=B+x*(K-ge)+De+ee+N*Te,xe=be+ge,Ie=xe-U*Te,we=Ie-ge,Ee=z+N-x*_e-Be+oe+N*Oe,Me=Ee+_e,Xe=Me-U*Oe,Je=Xe-_e,lt=Math.min(be,xe,Ie,we),qe=Math.min(Ee,Me,Xe,Je);return{x:lt,y:qe,width:Math.max(be,xe,Ie,we)-lt,height:Math.max(Ee,Me,Xe,Je)-qe}}getStyle(p){return j.getComputedStyle(this.element||this,"").getPropertyValue(p)}hasClass(p){return-1!==(""+this.attr("class")).split(" ").indexOf(p)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(p,T){this.onEvents={},this.opacity=1,this.SVG_NS=E,this.element="span"===T||"body"===T?D(T):te.createElementNS(this.SVG_NS,T),this.renderer=p,this.styles={},w(this,"afterInit")}on(p,T){let{onEvents:B}=this;return B[p]&&B[p](),B[p]=F(this.element,p,T),this}opacitySetter(p,T,B){let z=Number(Number(p).toFixed(3));this.opacity=z,B.setAttribute(T,z)}removeClass(p){return this.attr("class",(""+this.attr("class")).replace(a(p)?RegExp(`(^| )${p}( |$)`):p," ").replace(/ +/g," ").trim())}removeTextOutline(){let p=this.element.querySelector("tspan.highcharts-text-outline");p&&this.safeRemoveChild(p)}safeRemoveChild(p){let T=p.parentNode;T&&T.removeChild(p)}setRadialReference(p){let T=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=p,T&&T.radAttr&&T.animate(this.renderer.getRadialAttr(p,T.radAttr)),this}setTextPath(p,T){T=g(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},T);let B=this.renderer.url,z=this.text||this,K=z.textPath,{attributes:U,enabled:se}=T;if(p=p||K&&K.path,K&&K.undo(),p&&se){let S=F(z,"afterModifyTree",$=>{if(p&&se){let H=p.attr("id");H||p.attr("id",H=d());let x={x:0,y:0};I(U.dx)&&(x.dx=U.dx,delete U.dx),I(U.dy)&&(x.dy=U.dy,delete U.dy),z.attr(x),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let N=$.nodes.slice(0);$.nodes.length=0,$.nodes[0]={tagName:"textPath",attributes:m(U,{"text-anchor":U.textAnchor,href:`${B}#${H}`}),children:N}}});z.textPath={path:p,undo:S}}else z.attr({dx:0,dy:0}),delete z.textPath;return this.added&&(z.textCache="",this.renderer.buildText(z)),this}shadow(p){let{renderer:T}=this,B=g(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},f(p)?p:{}),z=T.shadowDefinition(B);return this.attr({filter:p?`url(${T.url}#${z})`:"none"})}show(p=!0){return this.attr({visibility:p?"inherit":"visible"})}"stroke-widthSetter"(p,T,B){this[T]=p,B.setAttribute(T,p)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let B,p=this.getStyle("stroke-width"),T=0;return/px$/.test(p)?T=n(p):""!==p&&(P(B=te.createElementNS(E,"rect"),{width:p,"stroke-width":0}),this.element.parentNode.appendChild(B),T=B.getBBox().width,B.parentNode.removeChild(B)),T}symbolAttr(p){let T=this;C.symbolCustomAttribs.forEach(function(B){T[B]=o(p[B],T[B])}),T.attr({d:T.renderer.symbols[T.symbolName](T.x,T.y,T.width,T.height,T)})}textSetter(p){p!==this.textStr&&(delete this.textPxLength,this.textStr=p,this.added&&this.renderer.buildText(this))}titleSetter(p){let T=this.element,B=T.getElementsByTagName("title")[0]||te.createElementNS(this.SVG_NS,"title");T.insertBefore?T.insertBefore(B,T.firstChild):T.appendChild(B),B.textContent=r(o(p,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let p=this.element;return p.parentNode.appendChild(p),this}translate(p,T){return this.attr({translateX:p,translateY:T})}updateTransform(p="transform"){let{element:T,matrix:B,rotation:z=0,rotationOriginX:K,rotationOriginY:U,scaleX:se,scaleY:S,translateX:$=0,translateY:H=0}=this,x=["translate("+$+","+H+")"];I(B)&&x.push("matrix("+B.join(",")+")"),z&&(x.push("rotate("+z+" "+o(K,T.getAttribute("x"),0)+" "+o(U,T.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:z,rotationOriginX:(K||0)-this.padding,rotationOriginY:(U||0)-this.padding})),(I(se)||I(S))&&x.push("scale("+o(se,1)+" "+o(S,1)+")"),x.length&&!(this.text||this).textPath&&T.setAttribute(p,x.join(" "))}visibilitySetter(p,T,B){"inherit"===p?B.removeAttribute(T):this[T]!==p&&B.setAttribute(T,p),this[T]=p}xGetter(p){return"circle"===this.element.nodeName&&("x"===p?p="cx":"y"===p&&(p="cy")),this._defaultGetter(p)}zIndexSetter(p,T){let S,$,H,N,Z,B=this.renderer,z=this.parentGroup,K=(z||B).element||B.box,U=this.element,se=K===B.box,x=!1,R=this.added;if(I(p)?(U.setAttribute("data-z-index",p),this[T]===(p=+p)&&(R=!1)):I(this[T])&&U.removeAttribute("data-z-index"),this[T]=p,R){for((p=this.zIndex)&&z&&(z.handleZ=!0),Z=(S=K.childNodes).length-1;Z>=0&&!x;Z--)N=!I(H=($=S[Z]).getAttribute("data-z-index")),$!==U&&(p<0&&N&&!se&&!Z?(K.insertBefore(U,S[Z]),x=!0):(n(H)<=p||N&&(!I(p)||p>=0))&&(K.insertBefore(U,S[Z+1]),x=!0));x||(K.insertBefore(U,S[se?3:0]),x=!0)}return x}}return C.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],C.prototype.strokeSetter=C.prototype.fillSetter,C.prototype.yGetter=C.prototype.xGetter,C.prototype.matrixSetter=C.prototype.rotationOriginXSetter=C.prototype.rotationOriginYSetter=C.prototype.rotationSetter=C.prototype.scaleXSetter=C.prototype.scaleYSetter=C.prototype.translateXSetter=C.prototype.translateYSetter=C.prototype.verticalAlignSetter=function(k,p){this[p]=k,this.doTransform=!0},C}),Le(V,"Core/Renderer/SVG/SVGLabel.js",[V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne){let{defined:re,extend:ve,isNumber:le,merge:pe,pick:ue,removeEvent:J}=ne;class te extends q{constructor(E,j,F,P,D,A,I,_,m,w){let G;super(E,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.textStr=j,this.x=F,this.y=P,this.anchorX=A,this.anchorY=I,this.baseline=m,this.className=w,this.addClass("button"===w?"highcharts-no-tooltip":"highcharts-label"),w&&this.addClass("highcharts-"+w),this.text=E.text(void 0,0,0,_).attr({zIndex:1}),"string"==typeof D&&((G=/^url\((.*?)\)$/.test(D))||this.renderer.symbols[D])&&(this.symbolKey=D),this.bBox=te.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=E.styledMode||G,this.deferredAttr={},this.alignFactor=0}alignSetter(E){let j={left:0,center:.5,right:1}[E];j!==this.alignFactor&&(this.alignFactor=j,this.bBox&&le(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(E,j){this.anchorX=E,this.boxAttr(j,Math.round(E)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(E,j){this.anchorY=E,this.boxAttr(j,E-this.ySetting)}boxAttr(E,j){this.box?this.box.attr(E,j):this.deferredAttr[E]=j}css(E){if(E){let j={};E=pe(E),te.textProps.forEach(F=>{void 0!==E[F]&&(j[F]=E[F],delete E[F])}),this.text.css(j),"fontSize"in j||"fontWeight"in j?this.updateTextPadding():("width"in j||"textOverflow"in j)&&this.updateBoxSize()}return q.prototype.css.call(this,E)}destroy(){J(this.element,"mouseenter"),J(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),q.prototype.destroy.call(this)}fillSetter(E,j){E&&(this.needsBox=!0),this.fill=E,this.boxAttr(j,E)}getBBox(E,j){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:F,height:P=0,translateX:D=0,translateY:A=0,width:I=0}=this,_=ue(this.paddingLeft,F),m=j??(this.rotation||0),w={width:I,height:P,x:D+this.bBox.x-_,y:A+this.bBox.y-F+this.baselineOffset};return m&&(w=this.getRotatedBox(w,m)),w}getCrispAdjust(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(E){this.heightSetting=E}onAdd(){this.text.add(this),this.attr({text:ue(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&re(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(E,j){le(E)?E!==this[j]&&(this[j]=E,this.updateTextPadding()):this[j]=void 0}rSetter(E,j){this.boxAttr(j,E)}strokeSetter(E,j){this.stroke=E,this.boxAttr(j,E)}"stroke-widthSetter"(E,j){E&&(this.needsBox=!0),this["stroke-width"]=E,this.boxAttr(j,E)}"text-alignSetter"(E){this.textAlign=E}textSetter(E){void 0!==E&&this.text.attr({text:E}),this.updateTextPadding()}updateBoxSize(){let E,j=this.text,F={},P=this.padding,D=this.bBox=le(this.widthSetting)&&le(this.heightSetting)&&!this.textAlign||!re(j.textStr)?te.emptyBBox:j.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||D.height||0)+2*P;let A=this.renderer.fontMetrics(j);if(this.baselineOffset=P+Math.min((this.text.firstLineMetrics||A).b,D.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-A.h)/2),this.needsBox&&!j.textPath){if(!this.box){let I=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();I.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),I.add(this)}E=this.getCrispAdjust(),F.x=E,F.y=(this.baseline?-this.baselineOffset:0)+E,F.width=Math.round(this.width),F.height=Math.round(this.height),this.box.attr(ve(F,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let E=this.text;if(!E.textPath){this.updateBoxSize();let j=this.baseline?0:this.baselineOffset,F=ue(this.paddingLeft,this.padding);re(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(F+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(F!==E.x||j!==E.y)&&(E.attr("x",F),E.hasBoxWidthChanged&&(this.bBox=E.getBBox(!0)),void 0!==j&&E.attr("y",j)),E.x=F,E.y=j}}widthSetter(E){this.widthSetting=le(E)?E:void 0}getPaddedWidth(){let E=this.padding,j=ue(this.paddingLeft,E),F=ue(this.paddingRight,E);return(this.widthSetting||this.bBox.width||0)+j+F}xSetter(E){this.x=E,this.alignFactor&&(E-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(E),this.attr("translateX",this.xSetting)}ySetter(E){this.ySetting=this.y=Math.round(E),this.attr("translateY",this.ySetting)}}return te.emptyBBox={width:0,height:0,x:0,y:0},te.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],te}),Le(V,"Core/Renderer/SVG/Symbols.js",[V["Core/Utilities.js"]],function(q){let{defined:ne,isNumber:re,pick:ve}=q;function le(J,te,X,E,j){let F=[];if(j){let P=j.start||0,D=ve(j.r,X),A=ve(j.r,E||X),I=.001>Math.abs((j.end||0)-P-2*Math.PI),_=(j.end||0)-.001,m=j.innerR,w=ve(j.open,I),G=Math.cos(P),O=Math.sin(P),f=Math.cos(_),a=Math.sin(_),g=ve(j.longArc,_-P-Math.PI<.001?0:1),v=["A",D,A,0,g,ve(j.clockwise,1),J+D*f,te+A*a];v.params={start:P,end:_,cx:J,cy:te},F.push(["M",J+D*G,te+A*O],v),ne(m)&&((v=["A",m,m,0,g,ne(j.clockwise)?1-j.clockwise:0,J+m*G,te+m*O]).params={start:_,end:P,cx:J,cy:te},F.push(w?["M",J+m*f,te+m*a]:["L",J+m*f,te+m*a],v)),w||F.push(["Z"])}return F}function pe(J,te,X,E,j){return j&&j.r?ue(J,te,X,E,j):[["M",J,te],["L",J+X,te],["L",J+X,te+E],["L",J,te+E],["Z"]]}function ue(J,te,X,E,j){let F=j?.r||0;return[["M",J+F,te],["L",J+X-F,te],["A",F,F,0,0,1,J+X,te+F],["L",J+X,te+E-F],["A",F,F,0,0,1,J+X-F,te+E],["L",J+F,te+E],["A",F,F,0,0,1,J,te+E-F],["L",J,te+F],["A",F,F,0,0,1,J+F,te],["Z"]]}return{arc:le,callout:function(J,te,X,E,j){let F=Math.min(j&&j.r||0,X,E),P=F+6,D=j&&j.anchorX,A=j&&j.anchorY||0,I=ue(J,te,X,E,{r:F});if(!re(D)||D0&&A0)return I;if(J+D>X-P)if(A>te+P&&Ate+P&&A0){let _=AE&&DP&&I.splice(1,1,["L",D-6,te],["L",D,te-6],["L",D+6,te],["L",X-F,te]);return I},circle:function(J,te,X,E){return le(J+X/2,te+E/2,X/2,E/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(J,te,X,E){return[["M",J+X/2,te],["L",J+X,te+E/2],["L",J+X/2,te+E],["L",J,te+E/2],["Z"]]},rect:pe,roundedRect:ue,square:pe,triangle:function(J,te,X,E){return[["M",J+X/2,te],["L",J+X,te+E],["L",J,te+E],["Z"]]},"triangle-down":function(J,te,X,E){return[["M",J,te],["L",J+X,te],["L",J+X/2,te+E],["Z"]]}}}),Le(V,"Core/Renderer/SVG/TextBuilder.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{doc:ve,SVG_NS:le,win:pe}=ne,{attr:ue,extend:J,fireEvent:te,isString:X,objectEach:E,pick:j}=re;return class{constructor(F){let P=F.styles;this.renderer=F.renderer,this.svgElement=F,this.width=F.textWidth,this.textLineHeight=P&&P.lineHeight,this.textOutline=P&&P.textOutline,this.ellipsis=!(!P||"ellipsis"!==P.textOverflow),this.noWrap=!(!P||"nowrap"!==P.whiteSpace)}buildSVG(){let F=this.svgElement,P=F.element,D=F.renderer,A=j(F.textStr,"").toString(),I=-1!==A.indexOf("<"),_=P.childNodes,m=!F.added&&D.box,w=[A,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,F.getStyle("font-size"),this.width].join(",");if(w!==F.textCache){F.textCache=w,delete F.actualWidth;for(let G=_.length;G--;)P.removeChild(_[G]);if(I||this.ellipsis||this.width||F.textPath||-1!==A.indexOf(" ")&&(!this.noWrap||//g.test(A))){if(""!==A){m&&m.appendChild(P);let G=new q(A);this.modifyTree(G.nodes),G.addToDOM(P),this.modifyDOM(),this.ellipsis&&-1!==(P.textContent||"").indexOf("\u2026")&&F.attr("title",this.unescapeEntities(F.textStr||"",["<",">"])),m&&m.removeChild(P)}}else P.appendChild(ve.createTextNode(this.unescapeEntities(A)));X(this.textOutline)&&F.applyTextOutline&&F.applyTextOutline(this.textOutline)}}modifyDOM(){let F,P=this.svgElement,D=ue(P.element,"x");for(P.firstLineMetrics=void 0;(F=P.element.firstChild)&&/^[\s\u200B]*$/.test(F.textContent||" ");)P.element.removeChild(F);[].forEach.call(P.element.querySelectorAll("tspan.highcharts-br"),(m,w)=>{m.nextSibling&&m.previousSibling&&(0===w&&1===m.previousSibling.nodeType&&(P.firstLineMetrics=P.renderer.fontMetrics(m.previousSibling)),ue(m,{dy:this.getLineHeight(m.nextSibling),x:D}))});let A=this.width||0;if(!A)return;let I=(m,w)=>{let G=m.textContent||"",O=G.replace(/([^\^])-/g,"$1- ").split(" "),f=!this.noWrap&&(O.length>1||P.element.childNodes.length>1),a=this.getLineHeight(w),g=0,v=P.actualWidth;if(this.ellipsis)G&&this.truncate(m,G,void 0,0,Math.max(0,A-.8*a),(o,n)=>o.substring(0,n)+"\u2026");else if(f){let o=[],n=[];for(;w.firstChild&&w.firstChild!==m;)n.push(w.firstChild),w.removeChild(w.firstChild);for(;O.length;)O.length&&!this.noWrap&&g>0&&(o.push(m.textContent||""),m.textContent=O.join(" ").replace(/- /g,"-")),this.truncate(m,void 0,O,0===g&&v||0,A,(r,l)=>O.slice(0,l).join(" ").replace(/- /g,"-")),v=P.actualWidth,g++;n.forEach(r=>{w.insertBefore(r,m)}),o.forEach(r=>{w.insertBefore(ve.createTextNode(r),m);let l=ve.createElementNS(le,"tspan");l.textContent="\u200b",ue(l,{dy:a,x:D}),w.insertBefore(l,m)})}},_=m=>{[].slice.call(m.childNodes).forEach(w=>{w.nodeType===pe.Node.TEXT_NODE?I(w,m):(-1!==w.className.baseVal.indexOf("highcharts-br")&&(P.actualWidth=0),_(w))})};_(P.element)}getLineHeight(F){let P=F.nodeType===pe.Node.TEXT_NODE?F.parentElement:F;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(P||this.svgElement.element).h}modifyTree(F){let P=(D,A)=>{let{attributes:I={},children:_,style:m={},tagName:w}=D,G=this.renderer.styledMode;if("b"===w||"strong"===w?G?I.class="highcharts-strong":m.fontWeight="bold":("i"===w||"em"===w)&&(G?I.class="highcharts-emphasized":m.fontStyle="italic"),m&&m.color&&(m.fill=m.color),"br"===w){I.class="highcharts-br",D.textContent="\u200b";let O=F[A+1];O&&O.textContent&&(O.textContent=O.textContent.replace(/^ +/gm,""))}else"a"===w&&_&&_.some(O=>"#text"===O.tagName)&&(D.children=[{children:_,tagName:"tspan"}]);"#text"!==w&&"a"!==w&&(D.tagName="tspan"),J(D,{attributes:I,style:m}),_&&_.filter(O=>"#text"!==O.tagName).forEach(P)};F.forEach(P),te(this.svgElement,"afterModifyTree",{nodes:F})}truncate(F,P,D,A,I,_){let m,w,G=this.svgElement,{rotation:O}=G,f=[],a=D?1:0,g=(P||D||"").length,v=g,o=function(n,r){let l=r||n,d=F.parentNode;if(d&&void 0===f[l]&&d.getSubStringLength)try{f[l]=A+d.getSubStringLength(0,D?l+1:l)}catch{}return f[l]};if(G.rotation=0,A+(w=o(F.textContent.length))>I){for(;a<=g;)v=Math.ceil((a+g)/2),D&&(m=_(D,v)),w=o(v,m&&m.length-1),a===g?a=g+1:w>I?g=v-1:a=v;0===g?F.textContent="":P&&g===P.length-1||(F.textContent=m||_(P||D,v))}D&&D.splice(0,v),G.actualWidth=w,G.rotation=O}unescapeEntities(F,P){return E(this.renderer.escapes,function(D,A){P&&-1!==P.indexOf(D)||(F=F.toString().replace(RegExp(D,"g"),A))}),F}}}),Le(V,"Core/Renderer/SVG/SVGRenderer.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGLabel.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Renderer/SVG/TextBuilder.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te){let X,{charts:E,deg2rad:j,doc:F,isFirefox:P,isMS:D,isWebKit:A,noop:I,SVG_NS:_,symbolSizes:m,win:w}=re,{addEvent:G,attr:O,createElement:f,css:a,defined:g,destroyObjectProperties:v,extend:o,isArray:n,isNumber:r,isObject:l,isString:d,merge:C,pick:k,pInt:p,replaceNested:T,uniqueKey:B}=te;class z{constructor(U,se,S,$,H,x,N){let R,Z,Y=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),he=Y.element;N||Y.css(this.getStyle($||{})),U.appendChild(he),O(U,"dir","ltr"),-1===U.innerHTML.indexOf("xmlns")&&O(he,"xmlns",this.SVG_NS),this.box=he,this.boxWrapper=Y,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(F.createTextNode("Created with Highcharts 11.4.0")),this.defs=this.createElement("defs").add(),this.allowHTML=x,this.forExport=H,this.styledMode=N,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=Y.getStyle("font-size"),this.setSize(se,S,!1),P&&U.getBoundingClientRect&&((R=function(){a(U,{left:0,top:0}),Z=U.getBoundingClientRect(),a(U,{left:Math.ceil(Z.left)-Z.left+"px",top:Math.ceil(Z.top)-Z.top+"px"})})(),this.unSubPixelFix=G(w,"resize",R))}definition(U){return new q([U]).addToDOM(this.defs.element)}getReferenceURL(){if((P||A)&&F.getElementsByTagName("base").length){if(!g(X)){let U=B(),se=new q([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:U},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${U})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(F.body);a(se,{position:"fixed",top:0,left:0,zIndex:9e5});let S=F.elementFromPoint(6,6);X="hitme"===(S&&S.id),F.body.removeChild(se)}if(X)return T(w.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(U){return this.style=o({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},U),this.style}setStyle(U){this.boxWrapper.css(this.getStyle(U))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let U=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),v(this.gradients||{}),this.gradients=null,this.defs=U.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(U){return new this.Element(this,U)}getRadialAttr(U,se){return{cx:U[0]-U[2]/2+(se.cx||0)*U[2],cy:U[1]-U[2]/2+(se.cy||0)*U[2],r:(se.r||0)*U[2]}}shadowDefinition(U){let se=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(U).map($=>`${$}-${U[$]}`)].join("-").toLowerCase().replace(/[^a-z0-9\-]/g,""),S=C({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},U);return this.defs.element.querySelector(`#${se}`)||this.definition({tagName:"filter",attributes:{id:se,filterUnits:S.filterUnits},children:[{tagName:"feDropShadow",attributes:{dx:S.offsetX,dy:S.offsetY,"flood-color":S.color,"flood-opacity":Math.min(5*S.opacity,1),stdDeviation:S.width/2}}]}),se}buildText(U){new J(U).buildSVG()}getContrast(U){let se=ne.parse(U).rgba.map($=>{let H=$/255;return H<=.03928?H/12.92:Math.pow((H+.055)/1.055,2.4)}),S=.2126*se[0]+.7152*se[1]+.0722*se[2];return 1.05/(S+.05)>(S+.05)/.05?"#FFFFFF":"#000000"}button(U,se,S,$,H={},x,N,R,Z,Y){let he,ge,_e,Te=this.label(U,se,S,Z,void 0,void 0,Y,void 0,"button"),Oe=this.styledMode,De=H.states||{},Be=0;delete(H=C(H)).states;let oe=C({color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},H.style);delete H.style;let ee=q.filterUserAttributes(H);return Te.attr(C({padding:8,r:2},ee)),Oe||(ee=C({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},ee),he=(x=C(ee,{fill:"#e6e6e6"},q.filterUserAttributes(x||De.hover||{}))).style,delete x.style,ge=(N=C(ee,{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},q.filterUserAttributes(N||De.select||{}))).style,delete N.style,_e=(R=C(ee,{style:{color:"#cccccc"}},q.filterUserAttributes(R||De.disabled||{}))).style,delete R.style),G(Te.element,D?"mouseover":"mouseenter",function(){3!==Be&&Te.setState(1)}),G(Te.element,D?"mouseout":"mouseleave",function(){3!==Be&&Te.setState(Be)}),Te.setState=function(be){if(1!==be&&(Te.state=Be=be),Te.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][be||0]),!Oe){Te.attr([ee,x,N,R][be||0]);let xe=[oe,he,ge,_e][be||0];l(xe)&&Te.css(xe)}},!Oe&&(Te.attr(ee).css(o({cursor:"default"},oe)),Y&&Te.text.css({pointerEvents:"none"})),Te.on("touchstart",be=>be.stopPropagation()).on("click",function(be){3!==Be&&$.call(Te,be)})}crispLine(U,se,S="round"){let $=U[0],H=U[1];return g($[1])&&$[1]===H[1]&&($[1]=H[1]=Math[S]($[1])-se%2/2),g($[2])&&$[2]===H[2]&&($[2]=H[2]=Math[S]($[2])+se%2/2),U}path(U){let se=this.styledMode?{}:{fill:"none"};return n(U)?se.d=U:l(U)&&o(se,U),this.createElement("path").attr(se)}circle(U,se,S){let $=l(U)?U:void 0===U?{}:{x:U,y:se,r:S},H=this.createElement("circle");return H.xSetter=H.ySetter=function(x,N,R){R.setAttribute("c"+N,x)},H.attr($)}arc(U,se,S,$,H,x){let N;l(U)?(se=(N=U).y,S=N.r,$=N.innerR,H=N.start,x=N.end,U=N.x):N={innerR:$,start:H,end:x};let R=this.symbol("arc",U,se,S,S,N);return R.r=S,R}rect(U,se,S,$,H,x){let N=l(U)?U:void 0===U?{}:{x:U,y:se,r:H,width:Math.max(S||0,0),height:Math.max($||0,0)},R=this.createElement("rect");return this.styledMode||(void 0!==x&&(N["stroke-width"]=x,o(N,R.crisp(N))),N.fill="none"),R.rSetter=function(Z,Y,he){R.r=Z,O(he,{rx:Z,ry:Z})},R.rGetter=function(){return R.r||0},R.attr(N)}roundedRect(U){return this.symbol("roundedRect").attr(U)}setSize(U,se,S){this.width=U,this.height=se,this.boxWrapper.animate({width:U,height:se},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:k(S,!0)?void 0:0}),this.alignElements()}g(U){let se=this.createElement("g");return U?se.attr({class:"highcharts-"+U}):se}image(U,se,S,$,H,x){let N={preserveAspectRatio:"none"};r(se)&&(N.x=se),r(S)&&(N.y=S),r($)&&(N.width=$),r(H)&&(N.height=H);let R=this.createElement("image").attr(N),Z=function(Y){R.attr({href:U}),x.call(R,Y)};if(x){R.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let Y=new w.Image;G(Y,"load",Z),Y.src=U,Y.complete&&Z({})}else R.attr({href:U});return R}symbol(U,se,S,$,H,x){let N,R,Z,Y,he=this,ge=/^url\((.*?)\)$/,_e=ge.test(U),Te=!_e&&(this.symbols[U]?U:"circle"),Oe=Te&&this.symbols[Te];if(Oe)"number"==typeof se&&(R=Oe.call(this.symbols,Math.round(se||0),Math.round(S||0),$||0,H||0,x)),N=this.path(R),he.styledMode||N.attr("fill","none"),o(N,{symbolName:Te||void 0,x:se,y:S,width:$,height:H}),x&&o(N,x);else if(_e){Z=U.match(ge)[1];let De=N=this.image(Z);De.imgwidth=k(x&&x.width,m[Z]&&m[Z].width),De.imgheight=k(x&&x.height,m[Z]&&m[Z].height),Y=Be=>Be.attr({width:Be.width,height:Be.height}),["width","height"].forEach(Be=>{De[`${Be}Setter`]=function(oe,ee){this[ee]=oe;let{alignByTranslate:be,element:xe,width:Ie,height:we,imgwidth:Ee,imgheight:Me}=this,Xe="width"===ee?Ee:Me,Je=1;x&&"within"===x.backgroundSize&&Ie&&we&&Ee&&Me?(Je=Math.min(Ie/Ee,we/Me),O(xe,{width:Math.round(Ee*Je),height:Math.round(Me*Je)})):xe&&Xe&&xe.setAttribute(ee,Xe),!be&&Ee&&Me&&this.translate(((Ie||0)-Ee*Je)/2,((we||0)-Me*Je)/2)}}),g(se)&&De.attr({x:se,y:S}),De.isImg=!0,g(De.imgwidth)&&g(De.imgheight)?Y(De):(De.attr({width:0,height:0}),f("img",{onload:function(){let Be=E[he.chartIndex];0===this.width&&(a(this,{position:"absolute",top:"-999em"}),F.body.appendChild(this)),m[Z]={width:this.width,height:this.height},De.imgwidth=this.width,De.imgheight=this.height,De.element&&Y(De),this.parentNode&&this.parentNode.removeChild(this),he.imgCount--,he.imgCount||!Be||Be.hasLoaded||Be.onload()},src:Z}),this.imgCount++)}return N}clipRect(U,se,S,$){return this.rect(U,se,S,$,0)}text(U,se,S,$){let H={};if($&&(this.allowHTML||!this.forExport))return this.html(U,se,S);H.x=Math.round(se||0),S&&(H.y=Math.round(S)),g(U)&&(H.text=U);let x=this.createElement("text").attr(H);return $&&(!this.forExport||this.allowHTML)||(x.xSetter=function(N,R,Z){let Y=Z.getElementsByTagName("tspan"),he=Z.getAttribute(R);for(let _e,ge=0;geU.align())}}return o(z.prototype,{Element:le,SVG_NS:_,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:ue,draw:I}),ve.registerRendererType("svg",z,!0),z}),Le(V,"Core/Renderer/HTML/HTMLElement.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{composed:le}=ne,{attr:pe,css:ue,createElement:J,defined:te,extend:X,pInt:E,pushUnique:j}=ve;function F(I,_,m){let w=this.div?.style||m.style;re.prototype[`${_}Setter`].call(this,I,_,m),w&&(w[_]=I)}let P=(I,_)=>{if(!I.div){let m=pe(I.element,"class"),w=I.css,G=J("div",m?{className:m}:void 0,{position:"absolute",left:`${I.translateX||0}px`,top:`${I.translateY||0}px`,...I.styles,display:I.display,opacity:I.opacity,visibility:I.visibility},I.parentGroup?.div||_);I.classSetter=(O,f,a)=>{a.setAttribute("class",O),G.className=O},I.translateXSetter=I.translateYSetter=(O,f)=>{I[f]=O,G.style["translateX"===f?"left":"top"]=`${O}px`,I.doTransform=!0},I.opacitySetter=I.visibilitySetter=F,I.css=O=>(w.call(I,O),O.cursor&&(G.style.cursor=O.cursor),O.pointerEvents&&(G.style.pointerEvents=O.pointerEvents),I),I.on=function(){return re.prototype.on.apply({element:G,onEvents:I.onEvents},arguments),I},I.div=G}return I.div};class D extends re{static compose(_){j(le,this.compose)&&(_.prototype.html=function(m,w,G){return new D(this,"span").attr({text:m,x:Math.round(w),y:Math.round(G)})})}constructor(_,m){super(_,m),this.css({position:"absolute",..._.styledMode?{}:{fontFamily:_.style.fontFamily,fontSize:_.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(_,m,w){this.xCorr=-_*w,this.yCorr=-m}css(_){let m,{element:w}=this,G="SPAN"===w.tagName&&_&&"width"in _,O=G&&_.width;return G&&(delete _.width,this.textWidth=E(O)||void 0,m=!0),"ellipsis"===_?.textOverflow&&(_.whiteSpace="nowrap",_.overflow="hidden"),X(this.styles,_),ue(w,_),m&&this.updateTransform(),this}htmlGetBBox(){let{element:_}=this;return{x:_.offsetLeft,y:_.offsetTop,width:_.offsetWidth,height:_.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:_,renderer:m,rotation:w,rotationOriginX:G,rotationOriginY:O,styles:f,textAlign:a="left",textWidth:g,translateX:v=0,translateY:o=0,x:n=0,y:r=0}=this,l=f.whiteSpace;if(ue(_,{marginLeft:`${v}px`,marginTop:`${o}px`}),"SPAN"===_.tagName){let k,d=[w,a,_.innerHTML,g,this.textAlign].join(","),C=-1*this.parentGroup?.padding||0,p=!1;if(g!==this.oldTextWidth){let U=this.textPxLength?this.textPxLength:(ue(_,{width:"",whiteSpace:l||"nowrap"}),_.offsetWidth),se=g||0;(se>this.oldTextWidth||U>se)&&(/[ \-]/.test(_.textContent||_.innerText)||"ellipsis"===_.style.textOverflow)&&(ue(_,{width:U>se||w?g+"px":"auto",display:"block",whiteSpace:l||"normal"}),this.oldTextWidth=g,p=!0)}this.hasBoxWidthChanged=p,d!==this.cTT&&(k=m.fontMetrics(_).b,te(w)&&(w!==(this.oldRotation||0)||a!==this.oldAlign)&&this.setSpanRotation(w,C,C),this.getSpanCorrection(!te(w)&&this.textPxLength||_.offsetWidth,k,{left:0,center:.5,right:1}[a]));let{xCorr:T=0,yCorr:B=0}=this;ue(_,{left:`${n+T}px`,top:`${r+B}px`,transformOrigin:`${(G??n)-T-n-C}px ${(O??r)-B-r-C}px`}),this.cTT=d,this.oldRotation=w,this.oldAlign=a}}setSpanRotation(_,m,w){ue(this.element,{transform:`rotate(${_}deg)`,transformOrigin:`${m}% ${w}px`})}add(_){let m,w=this.renderer.box.parentNode,G=[];if(this.parentGroup=_,_&&!(m=_.div)){let O=_;for(;O;)G.push(O),O=O.parentGroup;for(let f of G.reverse())m=P(f,w)}return(m||w).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(_){_!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,q.setElementHTML(this.element,_??""),this.textStr=_,this.doTransform=!0)}alignSetter(_){this.alignValue=this.textAlign=_,this.doTransform=!0}xSetter(_,m){this[m]=_,this.doTransform=!0}}let A=D.prototype;return A.visibilitySetter=A.opacitySetter=F,A.ySetter=A.rotationSetter=A.rotationOriginXSetter=A.rotationOriginYSetter=A.xSetter,D}),Le(V,"Core/Axis/AxisDefaults.js",[],function(){var q,ne;return(ne=q||(q={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},ne.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:re}=this.axis.chart;return re(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},q}),Le(V,"Core/Foundation.js",[V["Core/Utilities.js"]],function(q){var ne;let{addEvent:re,isFunction:ve,objectEach:le,removeEvent:pe}=q;return(ne||(ne={})).registerEventOptions=function(ue,J){ue.eventOptions=ue.eventOptions||{},le(J.events,function(te,X){ue.eventOptions[X]!==te&&(ue.eventOptions[X]&&(pe(ue,X,ue.eventOptions[X]),delete ue.eventOptions[X]),ve(te)&&(ue.eventOptions[X]=te,re(ue,X,te,{order:0})))})},ne}),Le(V,"Core/Axis/Tick.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{deg2rad:ve}=ne,{clamp:le,correctFloat:pe,defined:ue,destroyObjectProperties:J,extend:te,fireEvent:X,isNumber:E,merge:j,objectEach:F,pick:P}=re;return class{constructor(D,A,I,_,m){this.isNew=!0,this.isNewLabel=!0,this.axis=D,this.pos=A,this.type=I||"",this.parameters=m||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,X(this,"init"),I||_||this.addLabel()}addLabel(){let l,d,C,D=this,A=D.axis,I=A.options,_=A.chart,m=A.categories,w=A.logarithmic,G=A.names,O=D.pos,f=P(D.options&&D.options.labels,I.labels),a=A.tickPositions,g=O===a[0],v=O===a[a.length-1],o=(!f.step||1===f.step)&&1===A.tickInterval,n=a.info,r=D.label,k=this.parameters.category||(m?P(m[O],G[O],O):O);w&&E(k)&&(k=pe(w.lin2log(k))),A.dateTime&&(n?l=(d=_.time.resolveDTLFormat(I.dateTimeLabelFormats[!I.grid&&n.higherRanks[O]||n.unitName])).main:E(k)&&(l=A.dateTime.getXDateFormat(k,I.dateTimeLabelFormats||{}))),D.isFirst=g,D.isLast=v;let p={axis:A,chart:_,dateTimeLabelFormat:l,isFirst:g,isLast:v,pos:O,tick:D,tickPositionInfo:n,value:k};X(this,"labelFormat",p);let T=K=>f.formatter?f.formatter.call(K,K):f.format?(K.text=A.defaultLabelFormatter.call(K),q.format(f.format,K,_)):A.defaultLabelFormatter.call(K),B=T.call(p,p),z=d&&d.list;D.shortenLabel=z?function(){for(C=0;C0&&_+g*v>O&&(k=Math.round((m-_)/Math.cos(a*ve))):(d=_-g*v,C=_+(1-g)*v,dO&&(r=O-D.x+r*g,l=-1),(r=Math.min(o,r))r||A.autoRotation&&(f.styles||{}).width)&&(k=r)),k&&(this.shortenLabel?this.shortenLabel():(n.width=Math.floor(k)+"px",(I.style||{}).textOverflow||(n.textOverflow="ellipsis"),f.css(n)))}moveLabel(D,A){let G,I=this,_=I.label,m=I.axis,w=!1;_&&_.textStr===D?(I.movedLabel=_,w=!0,delete I.label):F(m.ticks,function(O){w||O.isNew||O===I||!O.label||O.label.textStr!==D||(I.movedLabel=O.label,w=!0,O.labelPos=I.movedLabel.xy,delete O.label)}),!w&&(I.labelPos||_)&&(G=I.labelPos||_.xy,I.movedLabel=I.createLabel(D,A,G),I.movedLabel&&I.movedLabel.attr({opacity:0}))}render(D,A,I){let _=this.axis,m=_.horiz,w=this.pos,G=P(this.tickmarkOffset,_.tickmarkOffset),O=this.getPosition(m,w,G,A),f=O.x,a=O.y,g=_.pos,v=g+_.len,o=m&&f===v||!m&&a===g?-1:1,n=m?f:a;!_.chart.polar&&this.isNew&&(pe(n)v)&&(I=0);let r=P(I,this.label&&this.label.newOpacity,1);I=P(I,1),this.isActive=!0,this.renderGridLine(A,I,o),this.renderMark(O,I,o),this.renderLabel(O,A,r,D),this.isNew=!1,X(this,"afterRender")}renderGridLine(D,A,I){let v,_=this.axis,m=_.options,w={},G=this.pos,O=this.type,f=P(this.tickmarkOffset,_.tickmarkOffset),a=_.chart.renderer,g=this.gridLine,o=m.gridLineWidth,n=m.gridLineColor,r=m.gridLineDashStyle;"minor"===this.type&&(o=m.minorGridLineWidth,n=m.minorGridLineColor,r=m.minorGridLineDashStyle),g||(_.chart.styledMode||(w.stroke=n,w["stroke-width"]=o||0,w.dashstyle=r),O||(w.zIndex=1),D&&(A=0),this.gridLine=g=a.path().attr(w).addClass("highcharts-"+(O?O+"-":"")+"grid-line").add(_.gridGroup)),g&&(v=_.getPlotLinePath({value:G+f,lineWidth:g.strokeWidth()*I,force:"pass",old:D,acrossPanes:!1}))&&g[D||this.isNew?"attr":"animate"]({d:v,opacity:A})}renderMark(D,A,I){let _=this.axis,m=_.options,w=_.chart.renderer,G=this.type,O=_.tickSize(G?G+"Tick":"tick"),f=D.x,a=D.y,g=P(m["minor"!==G?"tickWidth":"minorTickWidth"],!G&&_.isXAxis?1:0),v=m["minor"!==G?"tickColor":"minorTickColor"],o=this.mark,n=!o;O&&(_.opposite&&(O[0]=-O[0]),o||(this.mark=o=w.path().addClass("highcharts-"+(G?G+"-":"")+"tick").add(_.axisGroup),_.chart.styledMode||o.attr({stroke:v,"stroke-width":g})),o[n?"attr":"animate"]({d:this.getMarkPath(f,a,O[0],o.strokeWidth()*I,_.horiz,w),opacity:A}))}renderLabel(D,A,I,_){let m=this.axis,w=m.horiz,G=m.options,O=this.label,f=G.labels,a=f.step,g=P(this.tickmarkOffset,m.tickmarkOffset),v=D.x,o=D.y,n=!0;O&&E(v)&&(O.xy=D=this.getLabelPosition(v,o,O,w,f,g,_,a),this.isFirst&&!this.isLast&&!G.showFirstLabel||this.isLast&&!this.isFirst&&!G.showLastLabel?n=!1:!w||f.step||f.rotation||A||0===I||this.handleOverflow(D),a&&_%a&&(n=!1),n&&E(D.y)?(D.opacity=I,O[this.isNewLabel?"attr":"animate"](D).show(!0),this.isNewLabel=!1):(O.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let D=this.label,A=this.axis;D&&!this.isNew&&(D.animate({opacity:0},void 0,D.destroy),delete this.label),A.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),Le(V,"Core/Axis/Axis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/AxisDefaults.js"],V["Core/Color/Color.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Axis/Tick.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{animObject:te}=q,{xAxis:X,yAxis:E}=ne,{defaultOptions:j}=ve,{registerEventOptions:F}=le,{deg2rad:P}=pe,{arrayMax:D,arrayMin:A,clamp:I,correctFloat:_,defined:m,destroyObjectProperties:w,erase:G,error:O,extend:f,fireEvent:a,getClosestDistance:g,insertItem:v,isArray:o,isNumber:n,isString:r,merge:l,normalizeTickInterval:d,objectEach:C,pick:k,relativeLength:p,removeEvent:T,splat:B,syncTimeout:z}=J,K=(se,S)=>d(S,void 0,void 0,k(se.options.allowDecimals,S<.5||void 0!==se.tickAmount),!!se.tickAmount);f(j,{xAxis:X,yAxis:l(X,E)});class U{constructor(S,$,H){this.init(S,$,H)}init(S,$,H=this.coll){let x="xAxis"===H,N=this.isZAxis||(S.inverted?!x:x);this.chart=S,this.horiz=N,this.isXAxis=x,this.coll=H,a(this,"init",{userOptions:$}),this.opposite=k($.opposite,this.opposite),this.side=k($.side,this.side,N?this.opposite?0:2:this.opposite?1:3),this.setOptions($);let R=this.options,Z=R.labels,Y=R.type;this.userOptions=$,this.minPixelPadding=0,this.reversed=k(R.reversed,this.reversed),this.visible=R.visible,this.zoomEnabled=R.zoomEnabled,this.hasNames="category"===Y||!0===R.categories,this.categories=o(R.categories)&&R.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=m(R.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=R.minRange||R.maxZoom,this.range=R.range,this.offset=R.offset||0,this.max=void 0,this.min=void 0;let he=k(R.crosshair,B(S.options.tooltip.crosshairs)[x?0:1]);this.crosshair=!0===he?{}:he,-1===S.axes.indexOf(this)&&(x?S.axes.splice(S.xAxis.length,0,this):S.axes.push(this),v(this,S[this.coll])),S.orderItems(this.coll),this.series=this.series||[],S.inverted&&!this.isZAxis&&x&&!m(this.reversed)&&(this.reversed=!0),this.labelRotation=n(Z.rotation)?Z.rotation:void 0,F(this,R),a(this,"afterInit")}setOptions(S){this.options=l(this.horiz?{labels:{autoRotation:[-45]},margin:15}:{title:{rotation:90*this.side}},j[this.coll],S),a(this,"afterSetOptions",{userOptions:S})}defaultLabelFormatter(){let Te,Oe,S=this.axis,{numberFormatter:$}=this.chart,H=n(this.value)?this.value:NaN,x=S.chart.time,N=S.categories,R=this.dateTimeLabelFormat,Z=j.lang,Y=Z.numericSymbols,he=Z.numericSymbolMagnitude||1e3,ge=S.logarithmic?Math.abs(H):S.tickInterval,_e=Y&&Y.length;if(N)Oe=`${this.value}`;else if(R)Oe=x.dateFormat(R,H);else if(_e&&Y&&ge>=1e3)for(;_e--&&void 0===Oe;)ge>=(Te=Math.pow(he,_e+1))&&10*H%Te==0&&null!==Y[_e]&&0!==H&&(Oe=$(H/Te,-1)+Y[_e]);return void 0===Oe&&(Oe=Math.abs(H)>=1e4?$(H,-1):$(H,-1,void 0,"")),Oe}getSeriesExtremes(){let S,$=this;a(this,"getSeriesExtremes",null,function(){$.hasVisibleSeries=!1,$.dataMin=$.dataMax=$.threshold=void 0,$.softThreshold=!$.isXAxis,$.series.forEach(H=>{if(H.reserveSpace()){let N,Z,Y,x=H.options,R=x.threshold;if($.hasVisibleSeries=!0,$.positiveValuesOnly&&0>=(R||0)&&(R=void 0),$.isXAxis)(N=H.xData)&&N.length&&(N=$.logarithmic?N.filter(he=>he>0):N,Z=(S=H.getXExtremes(N)).min,Y=S.max,n(Z)||Z instanceof Date||(N=N.filter(n),Z=(S=H.getXExtremes(N)).min,Y=S.max),N.length&&($.dataMin=Math.min(k($.dataMin,Z),Z),$.dataMax=Math.max(k($.dataMax,Y),Y)));else{let he=H.applyExtremes();n(he.dataMin)&&(Z=he.dataMin,$.dataMin=Math.min(k($.dataMin,Z),Z)),n(he.dataMax)&&(Y=he.dataMax,$.dataMax=Math.max(k($.dataMax,Y),Y)),m(R)&&($.threshold=R),(!x.softThreshold||$.positiveValuesOnly)&&($.softThreshold=!1)}}})}),a(this,"afterGetSeriesExtremes")}translate(S,$,H,x,N,R){let Z=this.linkedParent||this,Y=x&&Z.old?Z.old.min:Z.min;if(!n(Y))return NaN;let he=Z.minPixelPadding,ge=(Z.isOrdinal||Z.brokenAxis?.hasBreaks||Z.logarithmic&&N)&&Z.lin2val,_e=1,Te=0,Oe=x&&Z.old?Z.old.transA:Z.transA,De=0;if(Oe||(Oe=Z.transA),H&&(_e*=-1,Te=Z.len),Z.reversed&&(_e*=-1,Te-=_e*(Z.sector||Z.len)),$)De=(S=S*_e+Te-he)/Oe+Y,ge&&(De=Z.lin2val(De));else{ge&&(S=Z.val2lin(S));let Be=_e*(S-Y)*Oe;De=(Z.isRadial?Be:_(Be))+Te+_e*he+(n(R)?Oe*R:0)}return De}toPixels(S,$){return this.translate(S,!1,!this.horiz,void 0,!0)+($?0:this.pos)}toValue(S,$){return this.translate(S-($?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(S){let De,Be,oe,ee,be,$=this,H=$.chart,x=$.left,N=$.top,R=S.old,Z=S.value,Y=S.lineWidth,he=R&&H.oldChartHeight||H.chartHeight,ge=R&&H.oldChartWidth||H.chartWidth,_e=$.transB,Te=S.translatedValue,Oe=S.force;function xe(we,Ee,Me){return"pass"!==Oe&&(weMe)&&(Oe?we=I(we,Ee,Me):be=!0),we}let Ie={value:Z,lineWidth:Y,old:R,force:Oe,acrossPanes:S.acrossPanes,translatedValue:Te};return a(this,"getPlotLinePath",Ie,function(we){De=oe=Math.round((Te=I(Te=k(Te,$.translate(Z,void 0,void 0,R)),-1e5,1e5))+_e),Be=ee=Math.round(he-Te-_e),n(Te)?$.horiz?(Be=N,ee=he-$.bottom+(H.scrollablePixelsY||0),De=oe=xe(De,x,x+$.width)):(De=x,oe=ge-$.right+(H.scrollablePixelsX||0),Be=ee=xe(Be,N,N+$.height)):(be=!0,Oe=!1),we.path=be&&!Oe?void 0:H.renderer.crispLine([["M",De,Be],["L",oe,ee]],Y||1)}),Ie.path}getLinearTickPositions(S,$,H){let x,N,R,Z=_(Math.floor($/S)*S),Y=_(Math.ceil(H/S)*S),he=[];if(_(Z+S)===Z&&(R=20),this.single)return[$];for(x=Z;x<=Y&&(he.push(x),(x=_(x+S,R))!==N);)N=x;return he}getMinorTickInterval(){let{minorTicks:S,minorTickInterval:$}=this.options;return!0===S?k($,"auto"):!1!==S?$:void 0}getMinorTickPositions(){let he,S=this.options,$=this.tickPositions,H=this.minorTickInterval,x=this.pointRangePadding||0,N=(this.min||0)-x,R=(this.max||0)+x,Z=R-N,Y=[];if(Z&&Z/H(ge.xIncrement?ge.xData?.slice(0,2):ge.xData)||[]))||0),this.dataMax-this.dataMin)),n(H)&&n(x)&&n(N)&&H-x=N,R=(N-H+x)/2,Y=[x-R,k(S.min,x-R)],Z&&(Y[2]=$?$.log2lin(this.dataMin):this.dataMin),he=[(x=D(Y))+N,k(S.max,x+N)],Z&&(he[2]=$?$.log2lin(this.dataMax):this.dataMax),(H=A(he))-xx-N),S=g([H]))}return S&&$?Math.min(S,$):S||$}nameToX(S){let N,$=o(this.options.categories),H=$?this.categories:this.names,x=S.options.x;return S.series.requireSorting=!1,m(x)||(x=this.options.uniqueNames&&H?$?H.indexOf(S.name):k(H.keys[S.name],-1):S.series.autoIncrement()),-1===x?!$&&H&&(N=H.length):N=x,void 0!==N?(this.names[N]=S.name,this.names.keys[S.name]=N):S.x&&(N=S.x),N}updateNames(){let S=this,$=this.names;$.length>0&&(Object.keys($.keys).forEach(function(H){delete $.keys[H]}),$.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(H=>{H.xIncrement=null,(!H.points||H.isDirtyData)&&(S.max=Math.max(S.max,H.xData.length-1),H.processData(),H.generatePoints()),H.data.forEach(function(x,N){let R;x?.options&&void 0!==x.name&&void 0!==(R=S.nameToX(x))&&R!==x.x&&(x.x=R,H.xData[N]=R)})}))}setAxisTranslation(){let Z,ge,S=this,$=S.max-S.min,H=S.linkedParent,x=!!S.categories,N=S.isXAxis,R=S.axisPointRange||0,Y=0,he=0,_e=S.transA;(N||x||R)&&(Z=S.getClosest(),H?(Y=H.minPointOffset,he=H.pointRangePadding):S.series.forEach(function(Te){let Oe=x?1:N?k(Te.options.pointRange,Z,0):S.axisPointRange||0,De=Te.options.pointPlacement;if(R=Math.max(R,Oe),!S.single||x){let Be=Te.is("xrange")?!N:N;Y=Math.max(Y,Be&&r(De)?0:Oe/2),he=Math.max(he,Be&&"on"===De?0:Oe)}}),ge=S.ordinal&&S.ordinal.slope&&Z?S.ordinal.slope/Z:1,S.minPointOffset=Y*=ge,S.pointRangePadding=he*=ge,S.pointRange=Math.min(R,S.single&&x?1:$),N&&Z&&(S.closestPointRange=Z)),S.translationSlope=S.transA=_e=S.staticScale||S.len/($+he||1),S.transB=S.horiz?S.left:S.bottom,S.minPixelPadding=_e*Y,a(this,"afterSetAxisTranslation")}minFromRange(){let{max:S,min:$}=this;return n(S)&&n($)&&S-$||void 0}setTickInterval(S){let Me,Je,lt,qe,st,{categories:$,chart:H,dataMax:x,dataMin:N,dateTime:R,isXAxis:Z,logarithmic:Y,options:he,softThreshold:ge}=this,_e=n(this.threshold)?this.threshold:void 0,Te=this.minRange||0,{ceiling:Oe,floor:De,linkedTo:Be,softMax:oe,softMin:ee}=he,be=n(Be)&&H[this.coll]?.[Be],xe=he.tickPixelInterval,Ie=he.maxPadding,we=he.minPadding,Ee=0,Xe=n(he.tickInterval)&&he.tickInterval>=0?he.tickInterval:void 0;if(R||$||be||this.getTickAmount(),qe=k(this.userMin,he.min),st=k(this.userMax,he.max),be?(this.linkedParent=be,Me=be.getExtremes(),this.min=k(Me.min,Me.dataMin),this.max=k(Me.max,Me.dataMax),he.type!==be.options.type&&O(11,!0,H)):(ge&&m(_e)&&n(x)&&n(N)&&(N>=_e?(Je=_e,we=0):x<=_e&&(lt=_e,Ie=0)),this.min=k(qe,Je,N),this.max=k(st,lt,x)),n(this.max)&&n(this.min)&&(Y&&(this.positiveValuesOnly&&!S&&0>=Math.min(this.min,k(N,this.min))&&O(10,!0,H),this.min=_(Y.log2lin(this.min),16),this.max=_(Y.log2lin(this.max),16)),this.range&&n(N)&&(this.userMin=this.min=qe=Math.max(N,this.minFromRange()||0),this.userMax=st=this.max,this.range=void 0)),a(this,"foundExtremes"),this.adjustForMinRange(),n(this.min)&&n(this.max)){if(!n(this.userMin)&&n(ee)&&eethis.max&&(this.max=st=oe),$||this.axisPointRange||this.stacking?.usePercentage||be||!(Ee=this.max-this.min)||(!m(qe)&&we&&(this.min-=Ee*we),m(st)||!Ie||(this.max+=Ee*Ie)),!n(this.userMin)&&n(De)&&(this.min=Math.max(this.min,De)),!n(this.userMax)&&n(Oe)&&(this.max=Math.min(this.max,Oe)),ge&&n(N)&&n(x)){let pt=_e||0;!m(qe)&&this.min=pt?this.min=he.minRange?Math.min(pt,this.max-Te):pt:!m(st)&&this.max>pt&&x<=pt&&(this.max=he.minRange?Math.max(pt,this.min+Te):pt)}!H.polar&&this.min>this.max&&(m(he.min)?this.max=this.min:m(he.max)&&(this.min=this.max)),Ee=this.max-this.min}if(this.tickInterval=this.min!==this.max&&n(this.min)&&n(this.max)?be&&!Xe&&xe===be.options.tickPixelInterval?Xe=be.tickInterval:k(Xe,this.tickAmount?Ee/Math.max(this.tickAmount-1,1):void 0,$?1:Ee*xe/Math.max(this.len,xe)):1,Z&&!S){let pt=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(ht){ht.forceCrop=ht.forceCropping?.(),ht.processData(pt)}),a(this,"postProcessData",{hasExtremesChanged:pt})}this.setAxisTranslation(),a(this,"initialAxisTranslation"),this.pointRange&&!Xe&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let Tt=k(he.minTickInterval,R&&!this.series.some(pt=>pt.noSharedTooltip)?this.closestPointRange:0);!Xe&&this.tickIntervalMath.max(2*this.len,200))Y=[this.min,this.max],O(19,!1,this.chart);else if(this.dateTime)Y=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,S.units),this.min,this.max,S.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)Y=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let ge=this.tickInterval,_e=ge;for(;_e<=2*ge&&(Y=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&Y.length>this.tickAmount);)this.tickInterval=K(this,_e*=1.1)}Y.length>this.len&&(Y=[Y[0],Y[Y.length-1]])[0]===Y[1]&&(Y.length=1),H&&(this.tickPositions=Y,(he=H.apply(this,[this.min,this.max]))&&(Y=he))}this.tickPositions=Y,this.paddedTicks=Y.slice(0),this.trimTicks(Y,R,Z),!this.isLinked&&n(this.min)&&n(this.max)&&(this.single&&Y.length<2&&!this.categories&&!this.series.some(ge=>ge.is("heatmap")&&"between"===ge.options.pointPlacement)&&(this.min-=.5,this.max+=.5),$||he||this.adjustTickAmount()),a(this,"afterSetTickPositions")}trimTicks(S,$,H){let x=S[0],N=S[S.length-1],R=!this.isOrdinal&&this.minPointOffset||0;if(a(this,"trimTicks"),!this.isLinked){if($&&x!==-1/0)this.min=x;else for(;this.min-R>S[0];)S.shift();if(H)this.max=N;else for(;this.max+R{let{horiz:Te,options:Oe}=_e;return[Te?Oe.left:Oe.top,Oe.width,Oe.height,Oe.pane].join(",")},ge=he(this);H[this.coll].forEach(function(_e){let{series:Te}=_e;Te.length&&Te.some(Oe=>Oe.visible)&&_e!==$&&he(_e)===ge&&(S=!0,x.push(_e))})}if(S&&Z){x.forEach(ge=>{let _e=ge.getThresholdAlignment($);n(_e)&&Y.push(_e)});let he=Y.length>1?Y.reduce((ge,_e)=>ge+_e,0)/Y.length:void 0;x.forEach(ge=>{ge.thresholdAlignment=he})}return S}getThresholdAlignment(S){if((!n(this.dataMin)||this!==S&&this.series.some($=>$.isDirty||$.isDirtyData))&&this.getSeriesExtremes(),n(this.threshold)){let $=I((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&($=1-$),$}}getTickAmount(){let S=this.options,$=S.tickPixelInterval,H=S.tickAmount;m(S.tickInterval)||H||!(this.len<$)||this.isRadial||this.logarithmic||!S.startOnTick||!S.endOnTick||(H=2),!H&&this.alignToOthers()&&(H=Math.ceil(this.len/$)+1),H<4&&(this.finalTickAmt=H,H=5),this.tickAmount=H}adjustTickAmount(){let _e,Te,De,S=this,{finalTickAmt:$,max:H,min:x,options:N,tickPositions:R,tickAmount:Z,thresholdAlignment:Y}=S,he=R?.length,ge=k(S.threshold,S.softThreshold?0:null),Oe=S.tickInterval,Be=()=>R.push(_(R[R.length-1]+Oe)),oe=()=>R.unshift(_(R[0]-Oe));if(n(Y)&&(De=Y<.5?Math.ceil(Y*(Z-1)):Math.floor(Y*(Z-1)),N.reversed&&(De=Z-1-De)),S.hasData()&&n(x)&&n(H)){let ee=()=>{S.transA*=(he-1)/(Z-1),S.min=N.startOnTick?R[0]:Math.min(x,R[0]),S.max=N.endOnTick?R[R.length-1]:Math.max(H,R[R.length-1])};if(n(De)&&n(S.threshold)){for(;R[De]!==ge||R.length!==Z||R[0]>x||R[R.length-1]S.threshold?oe():Be();if(Oe>8*S.tickInterval)break;Oe*=2}ee()}else if(he0&&Te<_e-1)&&R.splice(Te,1);S.finalTickAmt=void 0}}}setScale(){let{coll:S,stacking:$}=this,H=!1,x=!1;this.series.forEach(R=>{H=H||R.isDirtyData||R.isDirty,x=x||R.xAxis&&R.xAxis.isDirty||!1}),this.setAxisSize();let N=this.len!==(this.old&&this.old.len);N||H||x||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?($&&"yAxis"===S&&$.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),$&&"xAxis"===S&&$.buildStacks(),this.isDirty||(this.isDirty=N||this.min!==this.old?.min||this.max!==this.old?.max)):$&&$.cleanStacks(),H&&delete this.allExtremes,a(this,"afterSetScale")}setExtremes(S,$,H=!0,x,N){this.series.forEach(R=>{delete R.kdTree}),a(this,"setExtremes",N=f(N,{min:S,max:$}),R=>{this.userMin=R.min,this.userMax=R.max,this.eventArgs=R,H&&this.chart.redraw(x)})}setAxisSize(){let S=this.chart,$=this.options,H=$.offsets||[0,0,0,0],x=this.horiz,N=this.width=Math.round(p(k($.width,S.plotWidth-H[3]+H[1]),S.plotWidth)),R=this.height=Math.round(p(k($.height,S.plotHeight-H[0]+H[2]),S.plotHeight)),Z=this.top=Math.round(p(k($.top,S.plotTop+H[0]),S.plotHeight,S.plotTop)),Y=this.left=Math.round(p(k($.left,S.plotLeft+H[3]),S.plotWidth,S.plotLeft));this.bottom=S.chartHeight-R-Z,this.right=S.chartWidth-N-Y,this.len=Math.max(x?N:R,0),this.pos=x?Y:Z}getExtremes(){let S=this.logarithmic;return{min:S?_(S.lin2log(this.min)):this.min,max:S?_(S.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(S){let $=this.logarithmic,H=$?$.lin2log(this.min):this.min,x=$?$.lin2log(this.max):this.max;return null===S||S===-1/0?S=H:S===1/0?S=x:H>S?S=H:x15&&$<165?x.align="right":$>195&&$<345&&(x.align="left")}),H.align}tickSize(S){let N,$=this.options,H=k($["tick"===S?"tickWidth":"minorTickWidth"],"tick"===S&&this.isXAxis&&!this.categories?1:0),x=$["tick"===S?"tickLength":"minorTickLength"];H&&x&&("inside"===$[S+"Position"]&&(x=-x),N=[x,H]);let R={tickSize:N};return a(this,"afterTickSize",R),R.tickSize}labelMetrics(){let S=this.chart.renderer,$=this.ticks,H=$[Object.keys($)[0]]||{};return this.chart.renderer.fontMetrics(H.label||H.movedLabel||S.box)}unsquish(){let ge,Te,S=this.options.labels,$=this.horiz,H=this.tickInterval,x=this.len/(((this.categories?1:0)+this.max-this.min)/H),N=S.rotation,R=this.labelMetrics().h,Z=Math.max(this.max-this.min,0),Y=function(Oe){let De=Oe/(x||1);return(De=De>1?Math.ceil(De):1)*H>Z&&Oe!==1/0&&x!==1/0&&Z&&(De=Math.ceil(Z/H)),_(De*H)},he=H,_e=Number.MAX_VALUE;if($){if(!S.staggerLines&&(n(N)?Te=[N]:x=-90&&Be<=90)&&(De=(Oe=Y(Math.abs(R/Math.sin(P*Be))))+Math.abs(Be/360))<_e&&(_e=De,ge=Be,he=Oe)}}else he=Y(.75*R);return this.autoRotation=Te,this.labelRotation=k(ge,n(N)?N:0),S.step?H:he}getSlotWidth(S){let $=this.chart,H=this.horiz,x=this.options.labels,N=Math.max(this.tickPositions.length-(this.categories?0:1),1),R=$.margin[3];if(S&&n(S.slotWidth))return S.slotWidth;if(H&&x.step<2)return x.rotation?0:(this.staggerLines||1)*this.len/N;if(!H){let Z=x.style.width;if(void 0!==Z)return parseInt(String(Z),10);if(R)return R-$.spacing[3]}return.33*$.chartWidth}renderUnsquish(){let Oe,De,oe,ee,S=this.chart,$=S.renderer,H=this.tickPositions,x=this.ticks,N=this.options.labels,R=N.style,Z=this.horiz,Y=this.getSlotWidth(),he=Math.max(1,Math.round(Y-2*N.padding)),ge={},_e=this.labelMetrics(),Te=R.textOverflow,Be=0;if(r(N.rotation)||(ge.rotation=N.rotation||0),H.forEach(function(be){let xe=x[be];xe.movedLabel&&xe.replaceMovedLabel(),xe&&xe.label&&xe.label.textPxLength>Be&&(Be=xe.label.textPxLength)}),this.maxLabelLength=Be,this.autoRotation)Be>he&&Be>_e.h?ge.rotation=this.labelRotation:this.labelRotation=0;else if(Y&&(Oe=he,!Te))for(De="clip",ee=H.length;!Z&&ee--;)(oe=x[H[ee]].label)&&("ellipsis"===oe.styles.textOverflow?oe.css({textOverflow:"clip"}):oe.textPxLength>Y&&oe.css({width:Y+"px"}),oe.getBBox().height>this.len/H.length-(_e.h-_e.f)&&(oe.specificTextOverflow="ellipsis"));ge.rotation&&(Oe=Be>.5*S.chartHeight?.33*S.chartHeight:Be,Te||(De="ellipsis")),this.labelAlign=N.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(ge.align=this.labelAlign),H.forEach(function(be){let xe=x[be],Ie=xe&&xe.label,we=R.width,Ee={};Ie&&(Ie.attr(ge),xe.shortenLabel?xe.shortenLabel():Oe&&!we&&"nowrap"!==R.whiteSpace&&(OeN.g(Z).attr({zIndex:he}).addClass(`highcharts-${H.toLowerCase()}${Y} `+(this.isRadial?`highcharts-radial-axis${Y} `:"")+(x.className||"")).add(S);this.axisGroup||(this.gridGroup=R("grid","-grid",x.gridZIndex),this.axisGroup=R("axis","",x.zIndex),this.labelGroup=R("axis-labels","-labels",x.labels.zIndex))}getOffset(){let ee,xe,Ee,Me,S=this,{chart:$,horiz:H,options:x,side:N,ticks:R,tickPositions:Z,coll:Y}=S,he=$.inverted&&!S.isZAxis?[1,0,3,2][N]:N,ge=S.hasData(),_e=x.title,Te=x.labels,Oe=n(x.crossing),De=$.axisOffset,Be=$.clipOffset,oe=[-1,1,1,-1][N],be=0,Ie=0,we=0;if(S.showAxis=ee=ge||x.showEmpty,S.staggerLines=S.horiz&&Te.staggerLines||void 0,S.createGroups(),ge||S.isLinked?(Z.forEach(function(Xe){S.generateTick(Xe)}),S.renderUnsquish(),S.reserveSpaceDefault=0===N||2===N||{1:"left",3:"right"}[N]===S.labelAlign,k(Te.reserveSpace,!Oe&&null,"center"===S.labelAlign||null,S.reserveSpaceDefault)&&Z.forEach(function(Xe){we=Math.max(R[Xe].getLabelSize(),we)}),S.staggerLines&&(we*=S.staggerLines),S.labelOffset=we*(S.opposite?-1:1)):C(R,function(Xe,Je){Xe.destroy(),delete R[Je]}),_e?.text&&!1!==_e.enabled&&(S.addTitle(ee),ee&&!Oe&&!1!==_e.reserveSpace&&(S.titleOffset=be=S.axisTitle.getBBox()[H?"height":"width"],Ie=m(xe=_e.offset)?0:k(_e.margin,H?5:10))),S.renderLine(),S.offset=oe*k(x.offset,De[N]?De[N]+(x.margin||0):0),S.tickRotCorr=S.tickRotCorr||{x:0,y:0},Me=0===N?-S.labelMetrics().h:2===N?S.tickRotCorr.y:0,Ee=Math.abs(we)+Ie,we&&(Ee-=Me,Ee+=oe*(H?k(Te.y,S.tickRotCorr.y+oe*Te.distance):k(Te.x,oe*Te.distance))),S.axisTitleMargin=k(xe,Ee),S.getMaxLabelDimensions&&(S.maxLabelDimensions=S.getMaxLabelDimensions(R,Z)),"colorAxis"!==Y){let Xe=this.tickSize("tick");De[N]=Math.max(De[N],(S.axisTitleMargin||0)+be+oe*S.offset,Ee,Z&&Z.length&&Xe?Xe[0]+oe*S.offset:0);let Je=!S.axisLine||x.offset?0:2*Math.floor(S.axisLine.strokeWidth()/2);Be[he]=Math.max(Be[he],Je)}a(this,"afterGetOffset")}getLinePath(S){let $=this.chart,H=this.opposite,x=this.offset,N=this.horiz,R=this.left+(H?this.width:0)+x,Z=$.chartHeight-this.bottom-(H?this.height:0)+x;return H&&(S*=-1),$.renderer.crispLine([["M",N?this.left:R,N?Z:this.top],["L",N?$.chartWidth-this.right:R,N?Z:$.chartHeight-this.bottom]],S)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(S){let $=this.horiz,H=this.left,x=this.top,N=this.len,R=this.options.title,Z=$?H:x,Y=this.opposite,he=this.offset,ge=R.x,_e=R.y,Te=this.chart.renderer.fontMetrics(S),Oe=S?Math.max(S.getBBox(!1,0).height-Te.h-1,0):0,De={low:Z+($?0:N),middle:Z+N/2,high:Z+($?N:0)}[R.align],Be=($?x+this.height:H)+($?1:-1)*(Y?-1:1)*(this.axisTitleMargin||0)+[-Oe,Oe,Te.f,-Oe][this.side],oe={x:$?De+ge:Be+(Y?this.width:0)+he+ge,y:$?Be+_e-(Y?this.height:0)+he:De+_e};return a(this,"afterGetTitlePosition",{titlePosition:oe}),oe}renderMinorTick(S,$){let H=this.minorTicks;H[S]||(H[S]=new ue(this,S,"minor")),$&&H[S].isNew&&H[S].render(null,!0),H[S].render(null,!1,1)}renderTick(S,$,H){let N=this.ticks;(!this.isLinked||S>=this.min&&S<=this.max||this.grid&&this.grid.isColumn)&&(N[S]||(N[S]=new ue(this,S)),H&&N[S].isNew&&N[S].render($,!0,-1),N[S].render($))}render(){let S,$,H=this,x=H.chart,N=H.logarithmic,Z=H.options,Y=H.isLinked,he=H.tickPositions,ge=H.axisTitle,_e=H.ticks,Te=H.minorTicks,Oe=H.alternateBands,De=Z.stackLabels,Be=Z.alternateGridColor,oe=Z.crossing,ee=H.tickmarkOffset,be=H.axisLine,xe=H.showAxis,Ie=te(x.renderer.globalAnimation);if(H.labelEdge.length=0,H.overlap=!1,[_e,Te,Oe].forEach(function(we){C(we,function(Ee){Ee.isActive=!1})}),n(oe)){let we=this.isXAxis?x.yAxis[0]:x.xAxis[0],Ee=[1,-1,-1,1][this.side];if(we){let Me=we.toPixels(oe,!0);H.horiz&&(Me=we.len-Me),H.offset=Ee*Me}}if(H.hasData()||Y){let we=H.chart.hasRendered&&H.old&&n(H.old.min);H.minorTickInterval&&!H.categories&&H.getMinorTickPositions().forEach(function(Ee){H.renderMinorTick(Ee,we)}),he.length&&(he.forEach(function(Ee,Me){H.renderTick(Ee,Me,we)}),ee&&(0===H.min||H.single)&&(_e[-1]||(_e[-1]=new ue(H,-1,null,!0)),_e[-1].render(-1))),Be&&he.forEach(function(Ee,Me){$=void 0!==he[Me+1]?he[Me+1]+ee:H.max-ee,Me%2==0&&Ee=.5)E=Math.round(E),_=D.getLinearTickPositions(E,j,F);else if(E>=.08){let m,w,G,O,f,a,g;for(m=E>.3?[1,2,4]:E>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],w=Math.floor(j);wj&&(!P||a<=F)&&void 0!==a&&_.push(a),a>F&&(g=!0),a=f}else{let m=this.lin2log(j),w=this.lin2log(F),G=P?D.getMinorTickInterval():I.tickInterval;E=ve(E=le("auto"===G?null:G,this.minorAutoInterval,I.tickPixelInterval/(P?5:1)*(w-m)/((P?A/D.tickPositions.length:A)||1))),_=D.getLinearTickPositions(E,m,w).map(this.log2lin),P||(this.minorAutoInterval=E/5)}return P||(D.tickInterval=E),_}lin2log(E){return Math.pow(10,E)}log2lin(E){return Math.log(E)/Math.LN10}}pe.Additions=te}(ne||(ne={})),ne}),Le(V,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[V["Core/Utilities.js"]],function(q){var ne;let{erase:re,extend:ve,isNumber:le}=q;return function(pe){let ue;function J(D){return this.addPlotBandOrLine(D,"plotBands")}function te(D,A){let I=this.userOptions,_=new ue(this,D);if(this.visible&&(_=_.render()),_){if(this._addedPlotLB||(this._addedPlotLB=!0,(I.plotLines||[]).concat(I.plotBands||[]).forEach(m=>{this.addPlotBandOrLine(m)})),A){let m=I[A]||[];m.push(D),I[A]=m}this.plotLinesAndBands.push(_)}return _}function X(D){return this.addPlotBandOrLine(D,"plotLines")}function E(D,A,I){let f,g,_=this.getPlotLinePath({value:A,force:!0,acrossPanes:(I=I||this.options).acrossPanes}),m=[],w=this.horiz,G=!le(this.min)||!le(this.max)||Dthis.max&&A>this.max,O=this.getPlotLinePath({value:D,force:!0,acrossPanes:I.acrossPanes}),a=1;if(O&&_)for(G&&(g=O.toString()===_.toString(),a=0),f=0;f{r?.on(K,U=>{m[K].apply(this,[U])})}),this.eventsAdded=!0),!p&&r.d||!l?.length?r&&(l?(r.show(),r.animate({d:l})):r.d&&(r.hide(),n&&(this.label=n=n.destroy()))):r.attr({d:l}),o&&(le(o.text)||le(o.formatter))&&l?.length&&P.width>0&&P.height>0&&!l.isFlat?(o=te({align:A&&C&&"center",x:A?!C&&4:10,verticalAlign:!A&&C&&"middle",y:A?C?16:10:C?6:-4,rotation:A&&!C&&90},o),this.renderLabel(o,l,C,w)):n&&n.hide(),this}renderLabel(P,D,A,I){let _=this.axis,w=this.label;w||(this.label=w=_.chart.renderer.text(this.getLabelText(P),0,0,P.useHTML).attr({align:P.textAlign||P.align,rotation:P.rotation,class:"highcharts-plot-"+(A?"band":"line")+"-label"+(P.className||""),zIndex:I}),_.chart.styledMode||w.css(te({fontSize:"0.8em",textOverflow:"ellipsis"},P.style)),w.add());let G=D.xBounds||[D[0][1],D[1][1],A?D[2][1]:D[0][1]],O=D.yBounds||[D[0][2],D[1][2],A?D[2][2]:D[0][2]],f=ve(G),a=ve(O);w.align(P,!1,{x:f,y:a,width:re(G)-f,height:re(O)-a}),w.alignValue&&"left"!==w.alignValue||w.css({width:(90===w.rotation?_.height-(w.alignAttr.y-_.top):(P.clip?_.width:_.chart.chartWidth)-(w.alignAttr.x-_.left))+"px"}),w.show(!0)}getLabelText(P){return le(P.formatter)?P.formatter.call(this):P.text}destroy(){ue(this.axis.plotLinesAndBands,this),delete this.axis,pe(this)}}return j}),Le(V,"Core/Tooltip.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{format:ue}=q,{composed:J,doc:te,isSafari:X}=ne,{distribute:E}=re,{addEvent:j,clamp:F,css:P,discardElement:D,extend:A,fireEvent:I,isArray:_,isNumber:m,isString:w,merge:G,pick:O,pushUnique:f,splat:a,syncTimeout:g}=le;class v{constructor(n,r,l){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=n,this.init(n,r),this.pointer=l}bodyFormatter(n){return n.map(function(r){let l=r.series.tooltipOptions;return(l[(r.point.formatPrefix||"point")+"Formatter"]||r.point.tooltipFormatter).call(r.point,l[(r.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(n){this.chart.series.forEach(function(r){let l=r&&r.tt;l&&(!l.isActive||n?r.tt=l.destroy():l.isActive=!1)})}defaultFormatter(n){let r,l=this.points||a(this);return(r=(r=[n.tooltipFooterHeaderFormatter(l[0])]).concat(n.bodyFormatter(l))).push(n.tooltipFooterHeaderFormatter(l[0],!0)),r}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),D(this.container)),le.clearTimeout(this.hideTimer),le.clearTimeout(this.tooltipTimeout)}getAnchor(n,r){let l,{chart:d,pointer:C}=this,k=d.inverted,p=d.plotTop,T=d.plotLeft;if((n=a(n))[0].series&&n[0].series.yAxis&&!n[0].series.yAxis.options.reversedStacks&&(n=n.slice().reverse()),this.followPointer&&r)void 0===r.chartX&&(r=C.normalize(r)),l=[r.chartX-T,r.chartY-p];else if(n[0].tooltipPos)l=n[0].tooltipPos;else{let B=0,z=0;n.forEach(function(K){let U=K.pos(!0);U&&(B+=U[0],z+=U[1])}),B/=n.length,z/=n.length,this.shared&&n.length>1&&r&&(k?B=r.chartX:z=r.chartY),l=[B-T,z-p]}return l.map(Math.round)}getClassName(n,r,l){let C=n.series,k=C.options;return[this.options.className,"highcharts-label",l&&"highcharts-tooltip-header",r?"highcharts-tooltip-box":"highcharts-tooltip",!l&&"highcharts-color-"+O(n.colorIndex,C.colorIndex),k&&k.className].filter(w).join(" ")}getLabel(){let n=this,r=this.chart.styledMode,l=this.options,d=this.split&&this.allowShared,C=this.container,k=this.chart.renderer;if(this.label){let p=!this.label.hasClass("highcharts-label");(!d&&p||d&&!p)&&this.destroy()}if(!this.label){if(this.outside){let p=this.chart.options.chart.style,T=ve.getRendererType();this.container=C=ne.doc.createElement("div"),C.className="highcharts-tooltip-container",P(C,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(p&&p.zIndex||0)+3)}),this.renderer=k=new T(C,0,0,p,void 0,void 0,k.styledMode)}if(d?this.label=k.g("tooltip"):(this.label=k.label("",0,0,l.shape,void 0,void 0,l.useHTML,void 0,"tooltip").attr({padding:l.padding,r:l.borderRadius}),r||this.label.attr({fill:l.backgroundColor,"stroke-width":l.borderWidth||0}).css(l.style).css({pointerEvents:l.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),n.outside){let p=this.label,{xSetter:T,ySetter:B}=p;p.xSetter=function(z){T.call(p,n.distance),C&&(C.style.left=z+"px")},p.ySetter=function(z){B.call(p,n.distance),C&&(C.style.top=z+"px")}}this.label.attr({zIndex:8}).shadow(l.shadow).add()}return C&&!C.parentElement&&ne.doc.body.appendChild(C),this.label}getPlayingField(){let{body:n,documentElement:r}=te,{chart:l,distance:d,outside:C}=this;return{width:C?Math.max(n.scrollWidth,r.scrollWidth,n.offsetWidth,r.offsetWidth,r.clientWidth)-2*d:l.chartWidth,height:C?Math.max(n.scrollHeight,r.scrollHeight,n.offsetHeight,r.offsetHeight,r.clientHeight):l.chartHeight}}getPosition(n,r,l){let _e,{distance:d,chart:C,outside:k,pointer:p}=this,{inverted:T,plotLeft:B,plotTop:z,polar:K}=C,{plotX:U=0,plotY:se=0}=l,S={},$=T&&l.h||0,{height:H,width:x}=this.getPlayingField(),N=p.getChartPosition(),R=be=>be*N.scaleX,Z=be=>be*N.scaleY,Y=be=>{let xe="x"===be;return[be,xe?x:H,xe?n:r].concat(k?[xe?R(n):Z(r),xe?N.left-d+R(U+B):N.top-d+Z(se+z),0,xe?x:H]:[xe?n:r,xe?U+B:se+z,xe?B:z,xe?B+C.plotWidth:z+C.plotHeight])},he=Y("y"),ge=Y("x"),Te=!!l.negative;!K&&C.hoverSeries?.yAxis?.reversed&&(Te=!Te);let Oe=!this.followPointer&&O(l.ttBelow,!K&&!T===Te),De=function(be,xe,Ie,we,Ee,Me,Xe){let Je=k?"y"===be?Z(d):R(d):d,lt=(Ie-we)/2,qe=wexe?pt:pt+$)}},Be=function(be,xe,Ie,we,Ee){if(Eexe-d)return!1;S[be]=Eexe-we/2?xe-we-2:Ee-Ie/2},oe=function(be){[he,ge]=[ge,he],_e=be},ee=()=>{!1!==De.apply(0,he)?!1!==Be.apply(0,ge)||_e||(oe(!0),ee()):_e?S.x=S.y=0:(oe(!0),ee())};return(T&&!K||this.len>1)&&oe(),ee(),S}hide(n){let r=this;le.clearTimeout(this.hideTimer),n=O(n,this.options.hideDelay),this.isHidden||(this.hideTimer=g(function(){let l=r.getLabel();r.getLabel().animate({opacity:0},{duration:n&&150,complete:()=>{l.hide(),r.container&&r.container.remove()}}),r.isHidden=!0},n))}init(n,r){this.chart=n,this.options=r,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=r.split&&!n.inverted&&!n.polar,this.shared=r.shared||this.split,this.outside=O(r.outside,!(!n.scrollablePixelsX&&!n.scrollablePixelsY))}shouldStickOnContact(n){return!(this.followPointer||!this.options.stickOnContact||n&&!this.pointer.inClass(n.target,"highcharts-tooltip"))}move(n,r,l,d){let C=this,k=C.now,p=!1!==C.options.animation&&!C.isHidden&&(Math.abs(n-k.x)>1||Math.abs(r-k.y)>1),T=C.followPointer||C.len>1;A(k,{x:p?(2*k.x+n)/3:n,y:p?(k.y+r)/2:r,anchorX:T?void 0:p?(2*k.anchorX+l)/3:l,anchorY:T?void 0:p?(k.anchorY+d)/2:d}),C.getLabel().attr(k),C.drawTracker(),p&&(le.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){C&&C.move(n,r,l,d)},32))}refresh(n,r){let{chart:l,options:d,pointer:C,shared:k}=this,p=a(n),T=p[0],B=[],z=d.format,K=d.formatter||this.defaultFormatter,U=l.styledMode,se={};if(!d.enabled||!T.series)return;le.clearTimeout(this.hideTimer),this.allowShared=!(!_(n)&&n.series&&n.series.noSharedTooltip),this.followPointer=!this.split&&T.series.tooltipOptions.followPointer;let S=this.getAnchor(n,r),$=S[0],H=S[1];k&&this.allowShared?(C.applyInactiveState(p),p.forEach(function(R){R.setState("hover"),B.push(R.getLabelConfig())}),(se=T.getLabelConfig()).points=B):se=T.getLabelConfig(),this.len=B.length;let x=w(z)?ue(z,se,l):K.call(se,this),N=T.series;if(this.distance=O(N.tooltipOptions.distance,16),!1===x)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(x,p);else{let R=$,Z=H;if(r&&C.isDirectTouch&&(R=r.chartX-l.plotLeft,Z=r.chartY-l.plotTop),!l.polar&&!1!==N.options.clip&&!p.some(Y=>C.isDirectTouch||Y.series.shouldShowTooltip(R,Z)))return void this.hide();{let Y=this.getLabel();(!d.style.width||U)&&Y.css({width:(this.outside?this.getPlayingField():l.spacingBox).width+"px"}),Y.attr({text:x&&x.join?x.join(""):x}),Y.addClass(this.getClassName(T),!0),U||Y.attr({stroke:d.borderColor||T.color||N.color||"#666666"}),this.updatePosition({plotX:$,plotY:H,negative:T.negative,ttBelow:T.ttBelow,h:S[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}I(this,"refresh")}renderSplit(n,r){let l=this,{chart:d,chart:{chartWidth:C,chartHeight:k,plotHeight:p,plotLeft:T,plotTop:B,scrollablePixelsY:z=0,scrollablePixelsX:K,styledMode:U},distance:se,options:S,options:{positioner:$},pointer:H}=l,{scrollLeft:x=0,scrollTop:N=0}=d.scrollablePlotArea?.scrollingContainer||{},R=l.outside&&"number"!=typeof K?te.documentElement.getBoundingClientRect():{left:x,right:x+C,top:N,bottom:N+k},Z=l.getLabel(),Y=this.renderer||d.renderer,he=!(!d.xAxis[0]||!d.xAxis[0].opposite),{left:ge,top:_e}=H.getChartPosition(),Te=B+N,Oe=0,De=p-z;function Be(we,Ee,Me,Xe,Je=!0){let lt,qe;return Me?(lt=he?0:De,qe=F(we-Xe/2,R.left,R.right-Xe-(l.outside?ge:0))):(lt=Ee-Te,qe=F(qe=Je?we-Xe-se:we+se,Je?qe:R.left,R.right)),{x:qe,y:lt}}w(n)&&(n=[!1,n]);let oe=n.slice(0,r.length+1).reduce(function(we,Ee,Me){if(!1!==Ee&&""!==Ee){let Xe=r[Me-1]||{isHeader:!0,plotX:r[0].plotX,plotY:p,series:{}},Je=Xe.isHeader,lt=Je?l:Xe.series,qe=lt.tt=function(Pt,Gt,ti){let Dt=Pt,{isHeader:It,series:xt}=Gt;if(!Dt){let wt={padding:S.padding,r:S.borderRadius};U||(wt.fill=S.backgroundColor,wt["stroke-width"]=S.borderWidth??1),Dt=Y.label("",0,0,S[It?"headerShape":"shape"],void 0,void 0,S.useHTML).addClass(l.getClassName(Gt,!0,It)).attr(wt).add(Z)}return Dt.isActive=!0,Dt.attr({text:ti}),U||Dt.css(S.style).attr({stroke:S.borderColor||Gt.color||xt.color||"#333333"}),Dt}(lt.tt,Xe,Ee.toString()),st=qe.getBBox(),Tt=st.width+qe.strokeWidth();Je&&(Oe=st.height,De+=Oe,he&&(Te-=Oe));let{anchorX:pt,anchorY:ht}=function(Pt){let Gt,ti,{isHeader:Dt,plotX:It=0,plotY:xt=0,series:wt}=Pt;if(Dt)Gt=Math.max(T+It,T),ti=B+p/2;else{let{xAxis:Qt,yAxis:di}=wt;Gt=Qt.pos+F(It,-se,Qt.len+se),wt.shouldShowTooltip(0,di.pos-B+xt,{ignoreX:!0})&&(ti=di.pos+xt)}return{anchorX:Gt=F(Gt,R.left-se,R.right+se),anchorY:ti}}(Xe);if("number"==typeof ht){let Pt=st.height+1,Gt=$?$.call(l,Tt,Pt,Xe):Be(pt,ht,Je,Tt);we.push({align:$?0:void 0,anchorX:pt,anchorY:ht,boxWidth:Tt,point:Xe,rank:O(Gt.rank,Je?1:0),size:Pt,target:Gt.y,tt:qe,x:Gt.x})}else qe.isActive=!1}return we},[]);!$&&oe.some(we=>{let{outside:Ee}=l,Me=(Ee?ge:0)+we.anchorX;return MeMe})&&(oe=oe.map(we=>{let{x:Ee,y:Me}=Be(we.anchorX,we.anchorY,we.point.isHeader,we.boxWidth,!1);return A(we,{target:Me,x:Ee})})),l.cleanSplit(),E(oe,De);let ee={left:ge,right:ge};oe.forEach(function(we){let{x:Ee,boxWidth:Me,isHeader:Xe}=we;!Xe&&(l.outside&&ge+Eeee.right&&(ee.right=ge+Ee))}),oe.forEach(function(we){let{x:Ee,anchorX:Me,anchorY:Xe,pos:Je,point:{isHeader:lt}}=we,qe={visibility:void 0===Je?"hidden":"inherit",x:Ee,y:(Je||0)+Te,anchorX:Me,anchorY:Xe};if(l.outside&&Ee0&&(lt||(qe.x=Ee+st,qe.anchorX=Me+st),lt&&(qe.x=(ee.right-ee.left)/2,qe.anchorX=Me+st))}we.tt.attr(qe)});let{container:be,outside:xe,renderer:Ie}=l;if(xe&&be&&Ie){let{width:we,height:Ee,x:Me,y:Xe}=Z.getBBox();Ie.setSize(we+Me,Ee+Xe,!1),be.style.left=ee.left+"px",be.style.top=_e+"px"}X&&Z.attr({opacity:1===Z.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact())return void(this.tracker&&(this.tracker=this.tracker.destroy()));let n=this.chart,r=this.label,l=this.shared?n.hoverPoints:n.hoverPoint;if(!r||!l)return;let d={x:0,y:0,width:0,height:0},C=this.getAnchor(l),k=r.getBBox();C[0]+=n.plotLeft-(r.translateX||0),C[1]+=n.plotTop-(r.translateY||0),d.x=Math.min(0,C[0]),d.y=Math.min(0,C[1]),d.width=C[0]<0?Math.max(Math.abs(C[0]),k.width-C[0]):Math.max(Math.abs(C[0]),k.width),d.height=C[1]<0?Math.max(Math.abs(C[1]),k.height-Math.abs(C[1])):Math.max(Math.abs(C[1]),k.height),this.tracker?this.tracker.attr(d):(this.tracker=r.renderer.rect(d).addClass("highcharts-tracker").add(r),n.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(n){return n.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(n,r){let l=n.series,d=l.tooltipOptions,C=l.xAxis,k=C&&C.dateTime,p={isFooter:r,labelConfig:n},T=d.xDateFormat,B=d[r?"footerFormat":"headerFormat"];return I(this,"headerFormatter",p,function(z){k&&!T&&m(n.key)&&(T=k.getXDateFormat(n.key,d.dateTimeLabelFormats)),k&&T&&(n.point&&n.point.tooltipDateKeys||["key"]).forEach(function(K){B=B.replace("{point."+K+"}","{point."+K+":"+T+"}")}),l.chart.styledMode&&(B=this.styledModeFormat(B)),z.text=ue(B,{point:n,series:l},this.chart)}),p.text}update(n){this.destroy(),this.init(this.chart,G(!0,this.options,n))}updatePosition(n){let x,{chart:r,container:l,distance:d,options:C,pointer:k,renderer:p}=this,{height:T=0,width:B=0}=this.getLabel(),{left:z,top:K,scaleX:U,scaleY:se}=k.getChartPosition(),S=(C.positioner||this.getPosition).call(this,B,T,n),$=(n.plotX||0)+r.plotLeft,H=(n.plotY||0)+r.plotTop;p&&l&&(C.positioner&&(S.x+=z-d,S.y+=K-d),x=(C.borderWidth||0)+2*d+2,p.setSize(B+x,T+x,!1),(1!==U||1!==se)&&(P(l,{transform:`scale(${U}, ${se})`}),$*=U,H*=se),$+=z-S.x,H+=K-S.y),this.move(Math.round(S.x),Math.round(S.y||0),$,H)}}return(pe=v||(v={})).compose=function(o){f(J,"Core.Tooltip")&&j(o,"afterInit",function(){let n=this.chart;n.options.tooltip&&(n.tooltip=new pe(n,n.options.tooltip,this))})},v}),Le(V,"Core/Series/Point.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{animObject:pe}=ne,{defaultOptions:ue}=re,{format:J}=ve,{addEvent:te,erase:X,extend:E,fireEvent:j,getNestedProperty:F,isArray:P,isFunction:D,isNumber:A,isObject:I,pick:_,syncTimeout:m,removeEvent:w,uniqueKey:G}=le;class O{animateBeforeDestroy(){let a=this,g={x:a.startXPos,opacity:0},v=a.getGraphicalProps();v.singular.forEach(function(o){a[o]=a[o].animate("dataLabel"===o?{x:a[o].startXPos,y:a[o].startYPos,opacity:0}:g)}),v.plural.forEach(function(o){a[o].forEach(function(n){n.element&&n.animate(E({x:a.startXPos},n.startYPos?{x:n.startXPos,y:n.startYPos}:{}))})})}applyOptions(a,g){let v=this.series,o=v.options.pointValKey||v.pointValKey;return E(this,a=O.prototype.optionsToObject.call(this,a)),this.options=this.options?E(this.options,a):a,a.group&&delete this.group,a.dataLabels&&delete this.dataLabels,o&&(this.y=O.prototype.getNestedProperty.call(this,o)),this.selected&&(this.state="select"),"name"in this&&void 0===g&&v.xAxis&&v.xAxis.hasNames&&(this.x=v.xAxis.nameToX(this)),void 0===this.x&&v?this.x=void 0===g?v.autoIncrement():g:A(a.x)&&v.options.relativeXValue&&(this.x=v.autoIncrement(a.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let a=this,g=a.series,v=g.chart,o=g.options.dataSorting,n=v.hoverPoints,r=pe(a.series.chart.renderer.globalAnimation),l=()=>{for(let d in(a.graphic||a.graphics||a.dataLabel||a.dataLabels)&&(w(a),a.destroyElements()),a)delete a[d]};a.legendItem&&v.legend.destroyItem(a),n&&(a.setState(),X(n,a),n.length||(v.hoverPoints=null)),a===v.hoverPoint&&a.onMouseOut(),o&&o.enabled?(this.animateBeforeDestroy(),m(l,r.duration)):l(),v.pointCount--}this.destroyed=!0}destroyElements(a){let g=this,v=g.getGraphicalProps(a);v.singular.forEach(function(o){g[o]=g[o].destroy()}),v.plural.forEach(function(o){g[o].forEach(function(n){n&&n.element&&n.destroy()}),delete g[o]})}firePointEvent(a,g,v){let o=this,n=this.series.options;o.manageEvent(a),"click"===a&&n.allowPointSelect&&(v=function(r){!o.destroyed&&o.select&&o.select(null,r.ctrlKey||r.metaKey||r.shiftKey)}),j(o,a,g,v)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(a){let g,v,o=this,n=[],r={singular:[],plural:[]};for((a=a||{graphic:1,dataLabel:1}).graphic&&n.push("graphic","connector"),a.dataLabel&&n.push("dataLabel","dataLabelPath","dataLabelUpper"),v=n.length;v--;)o[g=n[v]]&&r.singular.push(g);return["graphic","dataLabel"].forEach(function(l){let d=l+"s";a[l]&&o[d]&&r.plural.push(d)}),r}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(a){return a?0===a.indexOf("custom.")?F(a,this.options):this[a]:void 0}getZone(){let o,a=this.series,g=a.zones,v=a.zoneAxis||"y",n=0;for(o=g[0];this[v]>=o.value;)o=g[++n];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=o&&o.color&&!this.options.color?o.color:this.nonZonedColor,o}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(a,g,v){this.formatPrefix="point",this.visible=!0,this.series=a,this.applyOptions(g,v),this.id??(this.id=G()),this.resolveColor(),a.chart.pointCount++,j(this,"afterInit")}isValid(){return(A(this.x)||this.x instanceof Date)&&A(this.y)}optionsToObject(a){let l,g=this.series,v=g.options.keys,o=v||g.pointArrayMap||["y"],n=o.length,r={},d=0,C=0;if(A(a)||null===a)r[o[0]]=a;else if(P(a))for(!v&&a.length>n&&("string"==(l=typeof a[0])?r.name=a[0]:"number"===l&&(r.x=a[0]),d++);C0?O.prototype.setNestedProperty(r,a[d],o[C]):r[o[C]]=a[d]),d++,C++;else"object"==typeof a&&(r=a,a.dataLabels&&(g.hasDataLabels=()=>!0),a.marker&&(g._hasPointMarkers=!0));return r}pos(a,g=this.plotY){if(!this.destroyed){let{plotX:v,series:o}=this,{chart:n,xAxis:r,yAxis:l}=o,d=0,C=0;if(A(v)&&A(g))return a&&(d=r?r.pos:n.plotLeft,C=l?l.pos:n.plotTop),n.inverted&&r&&l?[l.len-g+C,r.len-v+d]:[v+d,g+C]}}resolveColor(){let o,n,l,a=this.series,v=a.chart.styledMode,r=a.chart.options.chart.colorCount;delete this.nonZonedColor,a.options.colorByPoint?(v||(o=(n=a.options.colors||a.chart.options.colors)[a.colorCounter],r=n.length),l=a.colorCounter,a.colorCounter++,a.colorCounter===r&&(a.colorCounter=0)):(v||(o=a.color),l=a.colorIndex),this.colorIndex=_(this.options.colorIndex,l),this.color=_(this.options.color,o)}setNestedProperty(a,g,v){return v.split(".").reduce(function(o,n,r,l){return o[n]=l.length-1===r?g:I(o[n],!0)?o[n]:{},o[n]},a),a}shouldDraw(){return!this.isNull}tooltipFormatter(a){let g=this.series,v=g.tooltipOptions,o=_(v.valueDecimals,""),n=v.valuePrefix||"",r=v.valueSuffix||"";return g.chart.styledMode&&(a=g.chart.tooltip.styledModeFormat(a)),(g.pointArrayMap||["y"]).forEach(function(l){l="{point."+l,(n||r)&&(a=a.replace(RegExp(l+"}","g"),n+l+"}"+r)),a=a.replace(RegExp(l+"}","g"),l+":,."+o+"f}")}),J(a,{point:this,series:this.series},g.chart)}update(a,g,v,o){let n,r=this,l=r.series,d=r.graphic,C=l.chart,k=l.options;function p(){r.applyOptions(a);let T=d&&r.hasMockGraphic;d&&(null===r.y?!T:T)&&(r.graphic=d.destroy(),delete r.hasMockGraphic),I(a,!0)&&(d&&d.element&&a&&a.marker&&void 0!==a.marker.symbol&&(r.graphic=d.destroy()),a?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),n=r.index,l.updateParallelArrays(r,n),k.data[n]=I(k.data[n],!0)||I(a,!0)?r.options:_(a,k.data[n]),l.isDirty=l.isDirtyData=!0,!l.fixedBox&&l.hasCartesianSeries&&(C.isDirtyBox=!0),"point"===k.legendType&&(C.isDirtyLegend=!0),g&&C.redraw(v)}g=_(g,!0),!1===o?p():r.firePointEvent("update",{options:a},p)}remove(a,g){this.series.removePoint(this.series.data.indexOf(this),a,g)}select(a,g){let v=this,o=v.series,n=o.chart;a=_(a,!v.selected),this.selectedStaging=a,v.firePointEvent(a?"select":"unselect",{accumulate:g},function(){v.selected=v.options.selected=a,o.options.data[o.data.indexOf(v)]=v.options,v.setState(a&&"select"),g||n.getSelectedPoints().forEach(function(r){let l=r.series;r.selected&&r!==v&&(r.selected=r.options.selected=!1,l.options.data[l.data.indexOf(r)]=r.options,r.setState(n.hoverPoints&&l.options.inactiveOtherPoints?"inactive":""),r.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(a){let{inverted:g,pointer:v}=this.series.chart;v&&(a=a?v.normalize(a):v.getChartCoordinatesFromPoint(this,g),v.runPointActions(a,this))}onMouseOut(){let a=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(a.hoverPoints||[]).forEach(function(g){g.setState()}),a.hoverPoints=a.hoverPoint=null}manageEvent(a){let g=this.series.options.point||{},v=g.events?.[a];!D(v)||this.hcEvents?.[a]&&-1!==this.hcEvents?.[a]?.map(o=>o.fn).indexOf(v)?this.hasImportedEvents&&!v&&this.hcEvents?.[a]&&(w(this,a),delete this.hcEvents[a],Object.keys(this.hcEvents)||(this.hasImportedEvents=!1)):(te(this,a,v),this.hasImportedEvents=!0)}setState(a,g){let z,K,U,S,v=this.series,o=this.state,n=v.options.states[a||"normal"]||{},r=ue.plotOptions[v.type].marker&&v.options.marker,d=r&&r.states&&r.states[a||"normal"]||{},k=this.marker||{},p=v.chart,T=r&&v.markerAttribs,B=v.halo,se=v.stateMarkerGraphic;if((a=a||"")===this.state&&!g||this.selected&&"select"!==a||!1===n.enabled||a&&(!1===d.enabled||r&&!1===r.enabled&&!1===d.enabled)||a&&k.states&&k.states[a]&&!1===k.states[a].enabled)return;if(this.state=a,T&&(z=v.markerAttribs(this,a)),this.graphic&&!this.hasMockGraphic){if(o&&this.graphic.removeClass("highcharts-point-"+o),a&&this.graphic.addClass("highcharts-point-"+a),!p.styledMode){K=v.pointAttribs(this,a),U=_(p.options.chart.animation,n.animation);let N=K.opacity;v.options.inactiveOtherPoints&&A(N)&&(this.dataLabels||[]).forEach(function(R){R&&!R.hasClass("highcharts-data-label-hidden")&&(R.animate({opacity:N},U),R.connector&&R.connector.animate({opacity:N},U))}),this.graphic.animate(K,U)}z&&this.graphic.animate(z,_(p.options.chart.animation,d.animation,r.animation)),se&&se.hide()}else a&&d&&(S=k.symbol||v.symbol,se&&se.currentSymbol!==S&&(se=se.destroy()),z&&(se?se[g?"animate":"attr"]({x:z.x,y:z.y}):S&&(v.stateMarkerGraphic=se=p.renderer.symbol(S,z.x,z.y,z.width,z.height).add(v.markerGroup),se.currentSymbol=S)),!p.styledMode&&se&&"inactive"!==this.state&&se.attr(v.pointAttribs(this,a))),se&&(se[a&&this.isInside?"show":"hide"](),se.element.point=this,se.addClass(this.getClassName(),!0));let $=n.halo,H=this.graphic||se,x=H&&H.visibility||"inherit";$&&$.size&&H&&"hidden"!==x&&!this.isCluster?(B||(v.halo=B=p.renderer.path().add(H.parentGroup)),B.show()[g?"animate":"attr"]({d:this.haloPath($.size)}),B.attr({class:"highcharts-halo highcharts-color-"+_(this.colorIndex,v.colorIndex)+(this.className?" "+this.className:""),visibility:x,zIndex:-1}),B.point=this,p.styledMode||B.attr(E({fill:this.color||v.color,"fill-opacity":$.opacity},q.filterUserAttributes($.attributes||{})))):B&&B.point&&B.point.haloPath&&B.animate({d:B.point.haloPath(0)},null,B.hide),j(this,"afterSetState",{state:a})}haloPath(a){let g=this.pos();return g?this.series.chart.renderer.symbols.circle(Math.floor(g[0])-a,g[1]-a,2*a,2*a):[]}}return O}),Le(V,"Core/Pointer.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve;let{parse:le}=q,{charts:pe,composed:ue}=ne,{addEvent:J,attr:te,css:X,extend:E,find:j,fireEvent:F,isNumber:P,isObject:D,objectEach:A,offset:I,pick:_,pushUnique:m,splat:w}=re;class G{applyInactiveState(f){let g,a=[];(f||[]).forEach(function(v){g=v.series,a.push(g),g.linkedParent&&a.push(g.linkedParent),g.linkedSeries&&(a=a.concat(g.linkedSeries)),g.navigatorSeries&&a.push(g.navigatorSeries)}),this.chart.series.forEach(function(v){-1===a.indexOf(v)?v.setState("inactive",!0):v.options.inactiveOtherPoints&&v.setAllPointsToState("inactive")})}destroy(){let f=this;this.eventsToUnbind.forEach(a=>a()),this.eventsToUnbind=[],!ne.chartCount&&(G.unbindDocumentMouseUp&&(G.unbindDocumentMouseUp=G.unbindDocumentMouseUp()),G.unbindDocumentTouchEnd&&(G.unbindDocumentTouchEnd=G.unbindDocumentTouchEnd())),clearInterval(f.tooltipTimeout),A(f,function(a,g){f[g]=void 0})}getSelectionMarkerAttrs(f,a){let g={args:{chartX:f,chartY:a},attrs:{},shapeType:"rect"};return F(this,"getSelectionMarkerAttrs",g,v=>{let o,{chart:n,zoomHor:r,zoomVert:l}=this,{mouseDownX:d=0,mouseDownY:C=0}=n,k=v.attrs;k.x=n.plotLeft,k.y=n.plotTop,k.width=r?1:n.plotWidth,k.height=l?1:n.plotHeight,r&&(o=f-d,k.width=Math.max(1,Math.abs(o)),k.x=(o>0?0:o)+d),l&&(o=a-C,k.height=Math.max(1,Math.abs(o)),k.y=(o>0?0:o)+C)}),g}drag(f){let K,{chart:a}=this,{mouseDownX:g=0,mouseDownY:v=0}=a,{panning:o,panKey:n,selectionMarkerFill:r}=a.options.chart,l=a.plotLeft,d=a.plotTop,C=a.plotWidth,k=a.plotHeight,p=D(o)?o.enabled:o,T=n&&f[`${n}Key`],B=f.chartX,z=f.chartY,U=this.selectionMarker;if((!U||!U.touch)&&(Bl+C&&(B=l+C),zd+k&&(z=d+k),this.hasDragged=Math.sqrt(Math.pow(g-B,2)+Math.pow(v-z,2)),this.hasDragged>10)){K=a.isInsidePlot(g-l,v-d,{visiblePlotOnly:!0});let{shapeType:se,attrs:S}=this.getSelectionMarkerAttrs(B,z);(a.hasCartesianSeries||a.mapView)&&this.hasZoom&&K&&!T&&!U&&(this.selectionMarker=U=a.renderer[se](),U.attr({class:"highcharts-selection-marker",zIndex:7}).add(),a.styledMode||U.attr({fill:r||le("#334eff").setOpacity(.25).get()})),U&&U.attr(S),K&&!U&&p&&a.pan(f,o)}}dragStart(f){let a=this.chart;a.mouseIsDown=f.type,a.cancelClick=!1,a.mouseDownX=f.chartX,a.mouseDownY=f.chartY}getSelectionBox(f){let a={args:{marker:f},result:f.getBBox()};return F(this,"getSelectionBox",a),a.result}drop(f){let a,{chart:g,selectionMarker:v}=this;for(let o of g.axes)o.isPanning&&(o.isPanning=!1,(o.options.startOnTick||o.options.endOnTick||o.series.some(n=>n.boosted))&&(o.forceRedraw=!0,o.setExtremes(o.userMin,o.userMax,!1),a=!0));if(a&&g.redraw(),v&&f){if(this.hasDragged){let o=this.getSelectionBox(v);g.transform({axes:g.axes.filter(n=>n.zoomEnabled&&("xAxis"===n.coll&&this.zoomX||"yAxis"===n.coll&&this.zoomY)),selection:{originalEvent:f,xAxis:[],yAxis:[],...o},from:o})}P(g.index)&&(this.selectionMarker=v.destroy())}g&&P(g.index)&&(X(g.container,{cursor:g._cursor}),g.cancelClick=this.hasDragged>10,g.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(f,a,g){let v;return f.forEach(function(o){let n=!(o.noSharedTooltip&&a)&&0>o.options.findNearestPointBy.indexOf("y"),r=o.searchPoint(g,n);D(r,!0)&&r.series&&(!D(v,!0)||function(l,d){let C=l.distX-d.distX,k=l.dist-d.dist,p=d.series.group?.zIndex-l.series.group?.zIndex;return 0!==C&&a?C:0!==k?k:0!==p?p:l.series.index>d.series.index?-1:1}(v,r)>0)&&(v=r)}),v}getChartCoordinatesFromPoint(f,a){let{xAxis:g,yAxis:v}=f.series,o=f.shapeArgs;if(g&&v){let n=f.clientX??f.plotX??0,r=f.plotY||0;return f.isNode&&o&&P(o.x)&&P(o.y)&&(n=o.x,r=o.y),a?{chartX:v.len+v.pos-r,chartY:g.len+g.pos-n}:{chartX:n+g.pos,chartY:r+v.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:f}=this.chart,a=I(f);this.chartPosition={left:a.left,top:a.top,scaleX:1,scaleY:1};let{offsetHeight:g,offsetWidth:v}=f;return v>2&&g>2&&(this.chartPosition.scaleX=a.width/v,this.chartPosition.scaleY=a.height/g),this.chartPosition}getCoordinates(f){let a={xAxis:[],yAxis:[]};for(let g of this.chart.axes)a[g.isXAxis?"xAxis":"yAxis"].push({axis:g,value:g.toValue(f[g.horiz?"chartX":"chartY"])});return a}getHoverData(f,a,g,v,o,n){let C,r=[],l=function(T){return T.visible&&!(!o&&T.directTouch)&&_(T.options.enableMouseTracking,!0)},d=a,k={chartX:n?n.chartX:void 0,chartY:n?n.chartY:void 0,shared:o};F(this,"beforeGetHoverData",k),C=d&&!d.stickyTracking?[d]:g.filter(T=>T.stickyTracking&&(k.filter||l)(T));let p=v&&f||!n?f:this.findNearestKDPoint(C,o,n);return d=p&&p.series,p&&(o&&!d.noSharedTooltip?(C=g.filter(function(T){return k.filter?k.filter(T):l(T)&&!T.noSharedTooltip})).forEach(function(T){let B=j(T.points,function(z){return z.x===p.x&&!z.isNull});D(B)&&(T.boosted&&T.boost&&(B=T.boost.getPoint(B)),r.push(B))}):r.push(p)),F(this,"afterGetHoverData",k={hoverPoint:p}),{hoverPoint:k.hoverPoint,hoverSeries:d,hoverPoints:r}}getPointFromEvent(f){let g,a=f.target;for(;a&&!g;)g=a.point,a=a.parentNode;return g}onTrackerMouseOut(f){let g=f.relatedTarget,v=this.chart.hoverSeries;this.isDirectTouch=!1,!v||!g||v.stickyTracking||this.inClass(g,"highcharts-tooltip")||this.inClass(g,"highcharts-series-"+v.index)&&this.inClass(g,"highcharts-tracker")||v.onMouseOut()}inClass(f,a){let v,g=f;for(;g;){if(v=te(g,"class")){if(-1!==v.indexOf(a))return!0;if(-1!==v.indexOf("highcharts-container"))return!1}g=g.parentElement}}constructor(f,a){this.hasDragged=0,this.eventsToUnbind=[],this.options=a,this.chart=f,this.runChartClick=!!a.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),F(this,"afterInit")}normalize(f,a){let g=f.touches,v=g?g.length?g.item(0):_(g.changedTouches,f.changedTouches)[0]:f;a||(a=this.getChartPosition());let o=v.pageX-a.left,n=v.pageY-a.top;return E(f,{chartX:Math.round(o/=a.scaleX),chartY:Math.round(n/=a.scaleY)})}onContainerClick(f){let a=this.chart,g=a.hoverPoint,v=this.normalize(f),o=a.plotLeft,n=a.plotTop;!a.cancelClick&&(g&&this.inClass(v.target,"highcharts-tracker")?(F(g.series,"click",E(v,{point:g})),a.hoverPoint&&g.firePointEvent("click",v)):(E(v,this.getCoordinates(v)),a.isInsidePlot(v.chartX-o,v.chartY-n,{visiblePlotOnly:!0})&&F(a,"click",v)))}onContainerMouseDown(f){let a=!(1&~(f.buttons||f.button));f=this.normalize(f),ne.isFirefox&&0!==f.button&&this.onContainerMouseMove(f),(void 0===f.button||a)&&(this.zoomOption(f),a&&f.preventDefault?.(),this.dragStart(f))}onContainerMouseLeave(f){let{pointer:a}=pe[_(G.hoverChartIndex,-1)]||{};f=this.normalize(f),this.onContainerMouseMove(f),a&&f.relatedTarget&&!this.inClass(f.relatedTarget,"highcharts-tooltip")&&(a.reset(),a.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(f){let a=this.chart,g=a.tooltip,v=this.normalize(f);this.setHoverChartIndex(f),("mousedown"===a.mouseIsDown||this.touchSelect(v))&&this.drag(v),!a.openMenu&&(this.inClass(v.target,"highcharts-tracker")||a.isInsidePlot(v.chartX-a.plotLeft,v.chartY-a.plotTop,{visiblePlotOnly:!0}))&&(!g||!g.shouldStickOnContact(v))&&(this.inClass(v.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(v))}onDocumentTouchEnd(f){this.onDocumentMouseUp(f)}onContainerTouchMove(f){this.touchSelect(f)?this.onContainerMouseMove(f):this.touch(f)}onContainerTouchStart(f){this.touchSelect(f)?this.onContainerMouseDown(f):(this.zoomOption(f),this.touch(f,!0))}onDocumentMouseMove(f){let a=this.chart,g=a.tooltip,v=this.chartPosition,o=this.normalize(f,v);!v||a.isInsidePlot(o.chartX-a.plotLeft,o.chartY-a.plotTop,{visiblePlotOnly:!0})||g&&g.shouldStickOnContact(o)||this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(f){pe[_(G.hoverChartIndex,-1)]?.pointer?.drop(f)}pinch(f){let a=this,{chart:g,hasZoom:v,lastTouches:o}=a,n=[].map.call(f.touches||[],k=>a.normalize(k)),r=n.length,l=1===r&&(a.inClass(f.target,"highcharts-tracker")&&g.runTrackerClick||a.runChartClick),d=g.tooltip,C=1===r&&_(d?.options.followTouchMove,!0);r>1?a.initiated=!0:C&&(a.initiated=!1),v&&a.initiated&&!l&&!1!==f.cancelable&&f.preventDefault(),"touchstart"===f.type?(a.pinchDown=n,a.res=!0):C?this.runPointActions(a.normalize(f)):o&&(F(g,"touchpan",{originalEvent:f,touches:n},()=>{let k=p=>{let T=p[0],B=p[1]||T;return{x:T.chartX,y:T.chartY,width:B.chartX-T.chartX,height:B.chartY-T.chartY}};g.transform({axes:g.axes.filter(p=>p.zoomEnabled&&(this.zoomHor&&p.horiz||this.zoomVert&&!p.horiz)),to:k(n),from:k(o),trigger:f.type})}),a.res&&(a.res=!1,this.reset(!1,0))),a.lastTouches=n}reset(f,a){let g=this.chart,v=g.hoverSeries,o=g.hoverPoint,n=g.hoverPoints,r=g.tooltip,l=r&&r.shared?n:o;f&&l&&w(l).forEach(function(d){d.series.isCartesian&&void 0===d.plotX&&(f=!1)}),f?r&&l&&w(l).length&&(r.refresh(l),r.shared&&n?n.forEach(function(d){d.setState(d.state,!0),d.series.isCartesian&&(d.series.xAxis.crosshair&&d.series.xAxis.drawCrosshair(null,d),d.series.yAxis.crosshair&&d.series.yAxis.drawCrosshair(null,d))}):o&&(o.setState(o.state,!0),g.axes.forEach(function(d){d.crosshair&&o.series[d.coll]===d&&d.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),n&&n.forEach(function(d){d.setState()}),v&&v.onMouseOut(),r&&r.hide(a),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),g.axes.forEach(function(d){d.hideCrosshair()}),g.hoverPoints=g.hoverPoint=void 0)}runPointActions(f,a,g){let v=this.chart,n=v.tooltip&&v.tooltip.options.enabled?v.tooltip:void 0,r=!!n&&n.shared,l=a||v.hoverPoint,d=l&&l.series||v.hoverSeries,k=this.getHoverData(l,d,v.series,(!f||"touchmove"!==f.type)&&(!!a||d&&d.directTouch&&this.isDirectTouch),r,f);l=k.hoverPoint,d=k.hoverSeries;let p=k.hoverPoints,T=d&&d.tooltipOptions.followPointer&&!d.tooltipOptions.split,B=r&&d&&!d.noSharedTooltip;if(l&&(g||l!==v.hoverPoint||n&&n.isHidden)){if((v.hoverPoints||[]).forEach(function(z){-1===p.indexOf(z)&&z.setState()}),v.hoverSeries!==d&&d.onMouseOver(),this.applyInactiveState(p),(p||[]).forEach(function(z){z.setState("hover")}),v.hoverPoint&&v.hoverPoint.firePointEvent("mouseOut"),!l.series)return;v.hoverPoints=p,v.hoverPoint=l,l.firePointEvent("mouseOver",void 0,()=>{n&&l&&n.refresh(B?p:l,f)})}else if(T&&n&&!n.isHidden){let z=n.getAnchor([{}],f);v.isInsidePlot(z[0],z[1],{visiblePlotOnly:!0})&&n.updatePosition({plotX:z[0],plotY:z[1]})}this.unDocMouseMove||(this.unDocMouseMove=J(v.container.ownerDocument,"mousemove",z=>pe[G.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(z)),this.eventsToUnbind.push(this.unDocMouseMove)),v.axes.forEach(function(z){let K,U=_((z.crosshair||{}).snap,!0);!U||(K=v.hoverPoint)&&K.series[z.coll]===z||(K=j(p,se=>se.series&&se.series[z.coll]===z)),K||!U?z.drawCrosshair(f,K):z.hideCrosshair()})}setDOMEvents(){let f=this.chart.container,a=f.ownerDocument;f.onmousedown=this.onContainerMouseDown.bind(this),f.onmousemove=this.onContainerMouseMove.bind(this),f.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(J(f,"mouseenter",this.onContainerMouseEnter.bind(this)),J(f,"mouseleave",this.onContainerMouseLeave.bind(this))),G.unbindDocumentMouseUp||(G.unbindDocumentMouseUp=J(a,"mouseup",this.onDocumentMouseUp.bind(this)));let g=this.chart.renderTo.parentElement;for(;g&&"BODY"!==g.tagName;)this.eventsToUnbind.push(J(g,"scroll",()=>{delete this.chartPosition})),g=g.parentElement;this.eventsToUnbind.push(J(f,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),J(f,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),G.unbindDocumentTouchEnd||(G.unbindDocumentTouchEnd=J(a,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1}))}setHoverChartIndex(f){let a=this.chart,g=ne.charts[_(G.hoverChartIndex,-1)];g&&g!==a&&g.pointer?.onContainerMouseLeave(f||{relatedTarget:a.container}),g&&g.mouseIsDown||(G.hoverChartIndex=a.index)}touch(f,a){let g,{chart:v,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===f.touches.length?(f=this.normalize(f),v.isInsidePlot(f.chartX-v.plotLeft,f.chartY-v.plotTop,{visiblePlotOnly:!0})&&!v.openMenu?(a&&this.runPointActions(f),"touchmove"===f.type&&(g=!!o[0]&&Math.pow(o[0].chartX-f.chartX,2)+Math.pow(o[0].chartY-f.chartY,2)>=16),_(g,!0)&&this.pinch(f)):a&&this.reset()):2===f.touches.length&&this.pinch(f)}touchSelect(f){return!(!this.chart.zooming.singleTouch||!f.touches||1!==f.touches.length)}zoomOption(f){let o,n,a=this.chart,g=a.inverted,v=a.zooming.type||"";/touch/.test(f.type)&&(v=_(a.zooming.pinchType,v)),this.zoomX=o=/x/.test(v),this.zoomY=n=/y/.test(v),this.zoomHor=o&&!g||n&&g,this.zoomVert=n&&!g||o&&g,this.hasZoom=o||n}}return(ve=G||(G={})).compose=function(O){m(ue,"Core.Pointer")&&J(O,"beforeRender",function(){this.pointer=new ve(this,this.options)})},G}),Le(V,"Core/Legend/Legend.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Series/Point.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){var ue;let{animObject:J,setAnimation:te}=q,{format:X}=ne,{composed:E,marginNames:j}=re,{distribute:F}=le,{addEvent:P,createElement:D,css:A,defined:I,discardElement:_,find:m,fireEvent:w,isNumber:G,merge:O,pick:f,pushUnique:a,relativeLength:g,stableSort:v,syncTimeout:o}=pe;class n{constructor(l,d){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=l,this.setOptions(d),d.enabled&&(this.render(),P(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),P(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(l){let d=f(l.padding,8);this.options=l,this.chart.styledMode||(this.itemStyle=l.itemStyle,this.itemHiddenStyle=O(this.itemStyle,l.itemHiddenStyle)),this.itemMarginTop=l.itemMarginTop,this.itemMarginBottom=l.itemMarginBottom,this.padding=d,this.initialItemY=d-5,this.symbolWidth=f(l.symbolWidth,16),this.pages=[],this.proximate="proximate"===l.layout&&!this.chart.inverted,this.baseline=void 0}update(l,d){let C=this.chart;this.setOptions(O(!0,this.options,l)),this.destroy(),C.isDirtyLegend=C.isDirtyBox=!0,f(d,!0)&&C.redraw(),w(this,"afterUpdate",{redraw:d})}colorizeItem(l,d){let{area:C,group:k,label:p,line:T,symbol:B}=l.legendItem||{};if(k?.[d?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:z={}}=this,K=z.color,{fillColor:U,fillOpacity:se,lineColor:S,marker:$}=l.options,H=x=>(!d&&(x.fill&&(x.fill=K),x.stroke&&(x.stroke=K)),x);p?.css(O(d?this.itemStyle:z)),T?.attr(H({stroke:S||l.color})),B&&B.attr(H($&&B.isMarker?l.pointAttribs():{fill:l.color})),C?.attr(H({fill:U||l.color,"fill-opacity":U?1:se??.75}))}w(this,"afterColorizeItem",{item:l,visible:d})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(l){let{group:d,x:C=0,y:k=0}=l.legendItem||{},p=this.options,z=l.checkbox;if(d&&d.element){let K={translateX:p.rtl?this.legendWidth-C-2*p.symbolPadding-4:C,translateY:k};d[I(d.translateY)?"animate":"attr"](K,void 0,()=>{w(this,"afterPositionItem",{item:l})})}z&&(z.x=C,z.y=k)}destroyItem(l){let d=l.checkbox,C=l.legendItem||{};for(let k of["group","label","line","symbol"])C[k]&&(C[k]=C[k].destroy());d&&_(d),l.legendItem=void 0}destroy(){for(let l of this.getAllItems())this.destroyItem(l);for(let l of["clipRect","up","down","pager","nav","box","title","group"])this[l]&&(this[l]=this[l].destroy());this.display=null}positionCheckboxes(){let l,d=this.group&&this.group.alignAttr,C=this.clipHeight||this.legendHeight,k=this.titleHeight;d&&(l=d.translateY,this.allItems.forEach(function(p){let T,B=p.checkbox;B&&(T=l+k+B.y+(this.scrollOffset||0)+3,A(B,{left:d.translateX+p.checkboxOffset+B.x-20+"px",top:T+"px",display:this.proximate||T>l-6&&T1.5*_e?ge.height:_e))}layoutItem(l){let d=this.options,C=this.padding,k="horizontal"===d.layout,p=l.itemHeight,T=this.itemMarginBottom,B=this.itemMarginTop,z=k?f(d.itemDistance,20):0,K=this.maxLegendWidth,U=d.alignColumns&&this.totalItemWidth>K?this.maxItemWidth:l.itemWidth,se=l.legendItem||{};k&&this.itemX-C+U>K&&(this.itemX=C,this.lastLineHeight&&(this.itemY+=B+this.lastLineHeight+T),this.lastLineHeight=0),this.lastItemY=B+this.itemY+T,this.lastLineHeight=Math.max(p,this.lastLineHeight),se.x=this.itemX,se.y=this.itemY,k?this.itemX+=U:(this.itemY+=B+p+T,this.lastLineHeight=p),this.offsetWidth=this.widthOption||Math.max((k?this.itemX-C-(l.checkbox?0:z):U)+C,this.offsetWidth)}getAllItems(){let l=[];return this.chart.series.forEach(function(d){let C=d&&d.options;d&&f(C.showInLegend,!I(C.linkedTo)&&void 0,!0)&&(l=l.concat((d.legendItem||{}).labels||("point"===C.legendType?d.data:d)))}),w(this,"afterGetAllItems",{allItems:l}),l}getAlignment(){let l=this.options;return this.proximate?l.align.charAt(0)+"tv":l.floating?"":l.align.charAt(0)+l.verticalAlign.charAt(0)+l.layout.charAt(0)}adjustMargins(l,d){let C=this.chart,k=this.options,p=this.getAlignment();p&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(T,B){T.test(p)&&!I(l[B])&&(C[j[B]]=Math.max(C[j[B]],C.legend[(B+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][B]*k[B%2?"x":"y"]+f(k.margin,12)+d[B]+(C.titleOffset[B]||0)))})}proximatePositions(){let l,d=this.chart,C=[],k="left"===this.options.align;for(let p of(this.allItems.forEach(function(T){let B,z,U,se,K=k;T.yAxis&&(T.xAxis.options.reversed&&(K=!K),T.points&&(B=m(K?T.points:T.points.slice(0).reverse(),function(S){return G(S.plotY)})),z=this.itemMarginTop+T.legendItem.label.getBBox().height+this.itemMarginBottom,se=T.yAxis.top-d.plotTop,U=T.visible?(B?B.plotY:T.yAxis.height)+(se-.3*z):se+T.yAxis.height,C.push({target:U,size:z,item:T}))},this),F(C,d.plotHeight)))l=p.item.legendItem||{},G(p.pos)&&(l.y=d.plotTop-d.spacing[0]+p.pos)}render(){let T,B,z,U,l=this.chart,d=l.renderer,C=this.options,k=this.padding,p=this.getAllItems(),K=this.group,se=this.box;this.itemX=k,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=g(C.width,l.spacingBox.width-k),U=l.spacingBox.width-2*k-C.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(U/=2),this.maxLegendWidth=this.widthOption||U,K||(this.group=K=d.g("legend").addClass(C.className||"").attr({zIndex:7}).add(),this.contentGroup=d.g().attr({zIndex:1}).add(K),this.scrollGroup=d.g().add(this.contentGroup)),this.renderTitle(),v(p,(S,$)=>(S.options&&S.options.legendIndex||0)-($.options&&$.options.legendIndex||0)),C.reversed&&p.reverse(),this.allItems=p,this.display=T=!!p.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,p.forEach(this.renderItem,this),p.forEach(this.layoutItem,this),B=(this.widthOption||this.offsetWidth)+k,z=this.lastItemY+this.lastLineHeight+this.titleHeight,z=this.handleOverflow(z)+k,se||(this.box=se=d.rect().addClass("highcharts-legend-box").attr({r:C.borderRadius}).add(K)),l.styledMode||se.attr({stroke:C.borderColor,"stroke-width":C.borderWidth||0,fill:C.backgroundColor||"none"}).shadow(C.shadow),B>0&&z>0&&se[se.placed?"animate":"attr"](se.crisp.call({},{x:0,y:0,width:B,height:z},se.strokeWidth())),K[T?"show":"hide"](),l.styledMode&&"none"===K.getStyle("display")&&(B=z=0),this.legendWidth=B,this.legendHeight=z,T&&this.align(),this.proximate||this.positionItems(),w(this,"afterRender")}align(l=this.chart.spacingBox){let d=this.chart,C=this.options,k=l.y;/(lth|ct|rth)/.test(this.getAlignment())&&d.titleOffset[0]>0?k+=d.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&d.titleOffset[2]>0&&(k-=d.titleOffset[2]),k!==l.y&&(l=O(l,{y:k})),d.hasRendered||(this.group.placed=!1),this.group.align(O(C,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":C.verticalAlign}),!0,l)}handleOverflow(l){let R,Z,Y,d=this,C=this.chart,k=C.renderer,p=this.options,T=p.y,B="top"===p.verticalAlign,z=this.padding,K=p.maxHeight,U=p.navigation,se=f(U.animation,!0),S=U.arrowSize||12,$=this.pages,H=this.allItems,x=function(Te){"number"==typeof Te?_e.attr({height:Te}):_e&&(d.clipRect=_e.destroy(),d.contentGroup.clip()),d.contentGroup.div&&(d.contentGroup.div.style.clip=Te?"rect("+z+"px,9999px,"+(z+Te)+"px,0)":"auto")},N=function(Te){return d[Te]=k.circle(0,0,1.3*S).translate(S/2,S/2).add(ge),C.styledMode||d[Te].attr("fill","rgba(0,0,0,0.0001)"),d[Te]},he=C.spacingBox.height+(B?-T:T)-z,ge=this.nav,_e=this.clipRect;return"horizontal"!==p.layout||"middle"===p.verticalAlign||p.floating||(he/=2),K&&(he=Math.min(he,K)),$.length=0,l&&he>0&&l>he&&!1!==U.enabled?(this.clipHeight=R=Math.max(he-20-this.titleHeight-z,0),this.currentPage=f(this.currentPage,1),this.fullHeight=l,H.forEach((Te,Oe)=>{let De=(Y=Te.legendItem||{}).y||0,Be=Math.round(Y.label.getBBox().height),oe=$.length;(!oe||De-$[oe-1]>R&&(Z||De)!==$[oe-1])&&($.push(Z||De),oe++),Y.pageIx=oe-1,Z&&((H[Oe-1].legendItem||{}).pageIx=oe-1),Oe===H.length-1&&De+Be-$[oe-1]>R&&De>$[oe-1]&&($.push(De),Y.pageIx=oe),De!==Z&&(Z=De)}),_e||(_e=d.clipRect=k.clipRect(0,z-2,9999,0),d.contentGroup.clip(_e)),x(R),ge||(this.nav=ge=k.g().attr({zIndex:1}).add(this.group),this.up=k.symbol("triangle",0,0,S,S).add(ge),N("upTracker").on("click",function(){d.scroll(-1,se)}),this.pager=k.text("",15,10).addClass("highcharts-legend-navigation"),!C.styledMode&&U.style&&this.pager.css(U.style),this.pager.add(ge),this.down=k.symbol("triangle-down",0,0,S,S).add(ge),N("downTracker").on("click",function(){d.scroll(1,se)})),d.scroll(0),l=he):ge&&(x(),this.nav=ge.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),l}scroll(l,d){let C=this.chart,k=this.pages,p=k.length,T=this.clipHeight,B=this.options.navigation,z=this.pager,K=this.padding,U=this.currentPage+l;U>p&&(U=p),U>0&&(void 0!==d&&te(d,C),this.nav.attr({translateX:K,translateY:T+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(se){se.attr({class:1===U?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),z.attr({text:U+"/"+p}),[this.down,this.downTracker].forEach(function(se){se.attr({x:18+this.pager.getBBox().width,class:U===p?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),C.styledMode||(this.up.attr({fill:1===U?B.inactiveColor:B.activeColor}),this.upTracker.css({cursor:1===U?"default":"pointer"}),this.down.attr({fill:U===p?B.inactiveColor:B.activeColor}),this.downTracker.css({cursor:U===p?"default":"pointer"})),this.scrollOffset=-k[U-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=U,this.positionCheckboxes(),o(()=>{w(this,"afterScroll",{currentPage:U})},J(f(d,C.renderer.globalAnimation,!0)).duration))}setItemEvents(l,d,C){let k=this,p=l.legendItem||{},T=k.chart.renderer.boxWrapper,B=l instanceof ve,z="highcharts-legend-"+(B?"point":"series")+"-active",K=k.chart.styledMode,U=C?[d,p.symbol]:[p.group],se=S=>{k.allItems.forEach($=>{l!==$&&[$].concat($.linkedSeries||[]).forEach(H=>{H.setState(S,!B)})})};for(let S of U)S&&S.on("mouseover",function(){l.visible&&se("inactive"),l.setState("hover"),l.visible&&T.addClass(z),K||d.css(k.options.itemHoverStyle)}).on("mouseout",function(){k.chart.styledMode||d.css(O(l.visible?k.itemStyle:k.itemHiddenStyle)),se(""),T.removeClass(z),l.setState()}).on("click",function($){let H="legendItemClick",x=function(){l.setVisible&&l.setVisible(),se(l.visible?"inactive":"")};T.removeClass(z),$={browserEvent:$},l.firePointEvent?l.firePointEvent(H,$,x):w(l,H,$,x)})}createCheckboxForItem(l){l.checkbox=D("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:l.selected,defaultChecked:l.selected},this.options.itemCheckboxStyle,this.chart.container),P(l.checkbox,"click",function(d){w(l.series||l,"checkboxClick",{checked:d.target.checked,item:l},function(){l.select()})})}}return(ue=n||(n={})).compose=function(r){a(E,"Core.Legend")&&P(r,"beforeMargins",function(){this.legend=new ue(this,this.options.legend)})},n}),Le(V,"Core/Legend/LegendSymbol.js",[V["Core/Utilities.js"]],function(q){var ne;let{extend:re,merge:ve,pick:le}=q;return function(pe){function ue(J,te,X){let f,E=this.legendItem=this.legendItem||{},{chart:j,options:F}=this,{baseline:P=0,symbolWidth:D,symbolHeight:A}=J,I=this.symbol||"circle",_=A/2,m=j.renderer,w=E.group,G=P-Math.round(A*(X?.4:.3)),O={},a=F.marker,g=0;if(j.styledMode||(O["stroke-width"]=Math.min(F.lineWidth||0,24),F.dashStyle?O.dashstyle=F.dashStyle:"square"===F.linecap||(O["stroke-linecap"]="round")),E.line=m.path().addClass("highcharts-graph").attr(O).add(w),X&&(E.area=m.path().addClass("highcharts-area").add(w)),O["stroke-linecap"]&&(g=Math.min(E.line.strokeWidth(),D)/2),D){let v=[["M",g,G],["L",D-g,G]];E.line.attr({d:v}),E.area?.attr({d:[...v,["L",D-g,P],["L",g,P]]})}if(a&&!1!==a.enabled&&D){let v=Math.min(le(a.radius,_),_);0===I.indexOf("url")&&(a=ve(a,{width:A,height:A}),v=0),E.symbol=f=m.symbol(I,D/2-v,G-v,2*v,2*v,re({context:"legend"},a)).addClass("highcharts-point").add(w),f.isMarker=!0}}pe.areaMarker=function(J,te){ue.call(this,J,te,!0)},pe.lineMarker=ue,pe.rectangle=function(J,te){let X=te.legendItem||{},j=J.symbolHeight,F=J.options.squareSymbol;X.symbol=this.chart.renderer.rect(F?(J.symbolWidth-j)/2:0,J.baseline-j+1,F?j:J.symbolWidth,j,le(J.options.symbolRadius,j/2)).addClass("highcharts-point").attr({zIndex:3}).add(X.group)}}(ne||(ne={})),ne}),Le(V,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:q}=this.series.chart;return"number"!=typeof this.y?"":q(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),Le(V,"Core/Series/SeriesRegistry.js",[V["Core/Globals.js"],V["Core/Defaults.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{defaultOptions:pe}=ne,{extend:ue,extendClass:J,merge:te}=ve;return function(X){function E(j,F){let P=pe.plotOptions||{},D=F.defaultOptions,A=F.prototype;return A.type=j,A.pointClass||(A.pointClass=re),!X.seriesTypes[j]&&(D&&(P[j]=D),X.seriesTypes[j]=F,!0)}X.seriesTypes=q.seriesTypes,X.registerSeriesType=E,X.seriesType=function(j,F,P,D,A){let I=pe.plotOptions||{};if(I[j]=te(I[F=F||""],P),delete X.seriesTypes[j],E(j,J(X.seriesTypes[F]||function(){},D)),X.seriesTypes[j].prototype.type=j,A){class _ extends re{}ue(_.prototype,A),X.seriesTypes[j].prototype.pointClass=_}return X.seriesTypes[j]}}(le||(le={})),le}),Le(V,"Core/Series/Series.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Series/Point.js"],V["Core/Series/SeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X){let{animObject:E,setAnimation:j}=q,{defaultOptions:F}=ne,{registerEventOptions:P}=re,{svg:D,win:A}=ve,{seriesTypes:I}=J,{arrayMax:_,arrayMin:m,clamp:w,correctFloat:G,defined:O,destroyObjectProperties:f,diffObjects:a,erase:g,error:v,extend:o,find:n,fireEvent:r,getClosestDistance:l,getNestedProperty:d,insertItem:C,isArray:k,isNumber:p,isString:T,merge:B,objectEach:z,pick:K,removeEvent:U,splat:se,syncTimeout:S}=X;class ${constructor(){this.zoneAxis="y"}init(x,N){let R;r(this,"init",{options:N});let Z=this,Y=x.series;this.eventsToUnbind=[],Z.chart=x,Z.options=Z.setOptions(N);let he=Z.options,ge=!1!==he.visible;Z.linkedSeries=[],Z.bindAxes(),o(Z,{name:he.name,state:"",visible:ge,selected:!0===he.selected}),P(this,he);let _e=he.events;(_e&&_e.click||he.point&&he.point.events&&he.point.events.click||he.allowPointSelect)&&(x.runTrackerClick=!0),Z.getColor(),Z.getSymbol(),Z.parallelArrays.forEach(function(Te){Z[Te+"Data"]||(Z[Te+"Data"]=[])}),Z.isCartesian&&(x.hasCartesianSeries=!0),Y.length&&(R=Y[Y.length-1]),Z._i=K(R&&R._i,-1)+1,Z.opacity=Z.options.opacity,x.orderItems("series",C(this,Y)),he.dataSorting&&he.dataSorting.enabled?Z.setDataSortingOptions():Z.points||Z.data||Z.setData(he.data,!1),r(this,"afterInit")}is(x){return I[x]&&this instanceof I[x]}bindAxes(){let x,N=this,R=N.options,Z=N.chart;r(this,"bindAxes",null,function(){(N.axisTypes||[]).forEach(function(Y){Z[Y].forEach(function(he){x=he.options,(K(R[Y],0)===he.index||void 0!==R[Y]&&R[Y]===x.id)&&(C(N,he.series),N[Y]=he,he.isDirty=!0)}),N[Y]||N.optionalAxis===Y||v(18,!0,Z)})}),r(this,"afterBindAxes")}updateParallelArrays(x,N,R){let Z=x.series,Y=p(N)?function(he){let ge="y"===he&&Z.toYData?Z.toYData(x):x[he];Z[he+"Data"][N]=ge}:function(he){Array.prototype[N].apply(Z[he+"Data"],R)};Z.parallelArrays.forEach(Y)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(x,N){let R=x.marker,Z=N.marker||{};return R&&(Z.enabled&&!R.enabled||Z.symbol!==R.symbol||Z.height!==R.height||Z.width!==R.width)}autoIncrement(x){let ge,_e,N=this.options,R=N.pointIntervalUnit,Z=N.relativeXValue,Y=this.chart.time,he=this.xIncrement;return he=K(he,N.pointStart,0),this.pointInterval=_e=K(this.pointInterval,N.pointInterval,1),Z&&p(x)&&(_e*=x),R&&(ge=new Y.Date(he),"day"===R?Y.set("Date",ge,Y.get("Date",ge)+_e):"month"===R?Y.set("Month",ge,Y.get("Month",ge)+_e):"year"===R&&Y.set("FullYear",ge,Y.get("FullYear",ge)+_e),_e=ge.getTime()-he),Z&&p(x)?he+_e:(this.xIncrement=he+_e,he)}setDataSortingOptions(){let x=this.options;o(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),O(x.pointRange)||(x.pointRange=1)}setOptions(x){let N,R=this.chart,Z=R.options.plotOptions,Y=R.userOptions||{},he=B(x),ge=R.styledMode,_e={plotOptions:Z,userOptions:he};r(this,"setOptions",_e);let Te=_e.plotOptions[this.type],Oe=Y.plotOptions||{},De=Oe.series||{},Be=F.plotOptions[this.type]||{},oe=Oe[this.type]||{};this.userOptions=_e.userOptions;let ee=B(Te,Z.series,oe,he);this.tooltipOptions=B(F.tooltip,F.plotOptions.series?.tooltip,Be?.tooltip,R.userOptions.tooltip,Oe.series?.tooltip,oe.tooltip,he.tooltip),this.stickyTracking=K(he.stickyTracking,oe.stickyTracking,De.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||ee.stickyTracking),null===Te.marker&&delete ee.marker,this.zoneAxis=ee.zoneAxis||"y";let be=this.zones=(ee.zones||[]).map(xe=>({...xe}));return(ee.negativeColor||ee.negativeFillColor)&&!ee.zones&&(N={value:ee[this.zoneAxis+"Threshold"]||ee.threshold||0,className:"highcharts-negative"},ge||(N.color=ee.negativeColor,N.fillColor=ee.negativeFillColor),be.push(N)),be.length&&O(be[be.length-1].value)&&be.push(ge?{}:{color:this.color,fillColor:this.fillColor}),r(this,"afterSetOptions",{options:ee}),ee}getName(){return K(this.options.name,"Series "+(this.index+1))}getCyclic(x,N,R){let Z,Y,he=this.chart,ge=`${x}Index`,_e=`${x}Counter`,Te=R?.length||he.options.chart.colorCount;!N&&(O(Y=K("color"===x?this.options.colorIndex:void 0,this[ge]))?Z=Y:(he.series.length||(he[_e]=0),Z=he[_e]%Te,he[_e]+=1),R&&(N=R[Z])),void 0!==Z&&(this[ge]=Z),this[x]=N}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||F.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)}findPointIndex(x,N){let R,Z,Y,he=x.id,ge=x.x,_e=this.points,Te=this.options.dataSorting;if(he){let Oe=this.chart.get(he);Oe instanceof pe&&(R=Oe)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let Oe=De=>!De.touched&&De.index===x.index;if(Te&&Te.matchByName?Oe=De=>!De.touched&&De.name===x.name:this.options.relativeXValue&&(Oe=De=>!De.touched&&De.options.x===x.x),!(R=n(_e,Oe)))return}return R&&void 0!==(Y=R&&R.index)&&(Z=!0),void 0===Y&&p(ge)&&(Y=this.xData.indexOf(ge,N)),-1!==Y&&void 0!==Y&&this.cropped&&(Y=Y>=this.cropStart?Y-this.cropStart:Y),!Z&&p(Y)&&_e[Y]&&_e[Y].touched&&(Y=void 0),Y}updateData(x,N){let Te,Oe,De,Be,R=this.options,Z=R.dataSorting,Y=this.points,he=[],ge=this.requireSorting,_e=x.length===Y.length,oe=!0;if(this.xIncrement=null,x.forEach(function(ee,be){let xe,Ie=O(ee)&&this.pointClass.prototype.optionsToObject.call({series:this},ee)||{};Ie.id||p(Ie.x)?(-1===(xe=this.findPointIndex(Ie,Be))||void 0===xe?he.push(ee):Y[xe]&&ee!==R.data[xe]?(Y[xe].update(ee,!1,null,!1),Y[xe].touched=!0,ge&&(Be=xe+1)):Y[xe]&&(Y[xe].touched=!0),(!_e||be!==xe||Z&&Z.enabled||this.hasDerivedData)&&(Te=!0)):he.push(ee)},this),Te)for(Oe=Y.length;Oe--;)(De=Y[Oe])&&!De.touched&&De.remove&&De.remove(!1,N);else!_e||Z&&Z.enabled?oe=!1:(x.forEach(function(ee,be){ee===Y[be].y||Y[be].destroyed||Y[be].update(ee,!1,null,!1)}),he.length=0);return Y.forEach(function(ee){ee&&(ee.touched=!1)}),!!oe&&(he.forEach(function(ee){this.addPoint(ee,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=_(this.xData),this.autoIncrement()),!0)}setData(x,N=!0,R,Z){let we,Ee,Me,qe,Y=this,he=Y.points,ge=he&&he.length||0,_e=Y.options,Te=Y.chart,Oe=_e.dataSorting,De=Y.xAxis,Be=_e.turboThreshold,oe=this.xData,ee=this.yData,be=Y.pointArrayMap,xe=be&&be.length,Ie=_e.keys,Xe=0,Je=1,lt=null;Te.options.chart.allowMutatingData||(_e.data&&delete Y.options.data,Y.userOptions.data&&delete Y.userOptions.data,qe=B(!0,x));let st=(x=qe||x||[]).length;if(Oe&&Oe.enabled&&(x=this.sortData(x)),Te.options.chart.allowMutatingData&&!1!==Z&&st&&ge&&!Y.cropped&&!Y.hasGroupedData&&Y.visible&&!Y.boosted&&(Me=this.updateData(x,R)),!Me){if(Y.xIncrement=null,Y.colorCounter=0,this.parallelArrays.forEach(function(Tt){Y[Tt+"Data"].length=0}),Be&&st>Be)if(p(lt=Y.getFirstValidPoint(x)))for(we=0;we=0?Xe:0,Je=Je>=0?Je:1),1===lt.length&&(Je=0),Xe===Je)for(we=0;we{let ge=d(R,Y),_e=d(R,he);return _ege?1:0}).forEach(function(Y,he){Y.x=he},this),N.linkedSeries&&N.linkedSeries.forEach(function(Y){let he=Y.options,ge=he.data;he.dataSorting&&he.dataSorting.enabled||!ge||(ge.forEach(function(_e,Te){ge[Te]=Z(Y,_e),x[Te]&&(ge[Te].x=x[Te].x,ge[Te].index=Te)}),Y.setData(ge,!1))}),x}getProcessedData(x){let Te,Oe,Be,oe,ee,N=this,R=N.xAxis,Z=N.options,Y=Z.cropThreshold,he=x||N.getExtremesFromAll||Z.getExtremesFromAll,ge=R?.logarithmic,_e=N.isCartesian,De=0,be=N.xData,xe=N.yData,Ie=!1,we=be.length;R&&(oe=(Be=R.getExtremes()).min,ee=Be.max,Ie=!(!R.categories||R.names.length)),_e&&N.sorted&&!he&&(!Y||we>Y||N.forceCrop)&&(be[we-1]ee?(be=[],xe=[]):N.yData&&(be[0]ee)&&(be=(Te=this.cropData(N.xData,N.yData,oe,ee)).xData,xe=Te.yData,De=Te.start,Oe=!0));let Ee=l([ge?be.map(ge.log2lin):be],()=>N.requireSorting&&!Ie&&v(15,!1,N.chart));return{xData:be,yData:xe,cropped:Oe,cropStart:De,closestPointRange:Ee}}processData(x){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!x)return!1;let R=this.getProcessedData();this.cropped=R.cropped,this.cropStart=R.cropStart,this.processedXData=R.xData,this.processedYData=R.yData,this.closestPointRange=this.basePointRange=R.closestPointRange,r(this,"afterProcessData")}cropData(x,N,R,Z){let he,ge,Y=x.length,_e=0,Te=Y;for(he=0;he=R){_e=Math.max(0,he-1);break}for(ge=he;geZ){Te=ge+1;break}return{xData:x.slice(_e,Te),yData:N.slice(_e,Te),start:_e,end:Te}}generatePoints(){let Be,oe,ee,be,x=this.options,N=this.processedData||x.data,R=this.processedXData,Z=this.processedYData,Y=this.pointClass,he=R.length,ge=this.cropStart||0,_e=this.hasGroupedData,Te=x.keys,Oe=[],De=x.dataGrouping&&x.dataGrouping.groupAll?ge:0,xe=this.data;if(!xe&&!_e){let Ie=[];Ie.length=N.length,xe=this.data=Ie}for(Te&&_e&&(this.options.keys=!1),be=0;be0:oe.length)||!_e),De=N||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!R||(Y[ee+ge]||Be)>=xe&&(Y[ee-ge]||Be)<=Ie,Oe&&De)if(be=oe.length)for(;be--;)p(oe[be])&&(he[we++]=oe[be]);else he[we++]=oe;let Me={activeYData:he,dataMin:m(he),dataMax:_(he)};return r(this,"afterGetExtremes",{dataExtremes:Me}),Me}applyExtremes(){let x=this.getExtremes();return this.dataMin=x.dataMin,this.dataMax=x.dataMax,x}getFirstValidPoint(x){let N=x.length,R=0,Z=null;for(;null===Z&&R1)&&(he.step=function(Be,oe){De&&De.apply(oe,arguments),"width"===oe.prop&&Te?.element&&Te.attr(Y?"height":"width",Be+99)}),_e.addClass("highcharts-animating").animate(Oe,he)}}afterAnimate(){this.setClip(),z(this.chart.sharedClips,(x,N,R)=>{x&&!this.chart.container.querySelector(`[clip-path="url(#${x.id})"]`)&&(x.destroy(),delete R[N])}),this.finishedAnimating=!0,r(this,"afterAnimate")}drawPoints(x=this.points){let N,R,Z,Y,he,ge,_e,Te=this.chart,Oe=Te.styledMode,{colorAxis:De,options:Be}=this,oe=Be.marker,ee=this[this.specialGroup||"markerGroup"],be=this.xAxis,xe=K(oe.enabled,!be||!!be.isRadial||null,this.closestPointRangePx>=oe.enabledThreshold*oe.radius);if(!1!==oe.enabled||this._hasPointMarkers)for(N=0;N0||R.hasImage)&&(R.graphic=Z=Te.renderer.symbol(Ie,_e.x,_e.y,_e.width,_e.height,ge?he:oe).add(ee),this.enabledDataSorting&&Te.hasRendered&&(Z.attr({x:R.startXPos}),Y="animate")),Z&&"animate"===Y&&Z[we?"show":"hide"](we).animate(_e),Z){let Ee=this.pointAttribs(R,Oe||!R.selected?void 0:"select");Oe?De&&Z.css({fill:Ee.fill}):Z[Y](Ee)}Z&&Z.addClass(R.getClassName(),!0)}else Z&&(R.graphic=Z.destroy())}markerAttribs(x,N){let _e,Te,R=this.options,Z=R.marker,Y=x.marker||{},he=Y.symbol||Z.symbol,ge={},Oe=K(Y.radius,Z&&Z.radius);N&&(_e=Z.states[N],Oe=K((Te=Y.states&&Y.states[N])&&Te.radius,_e&&_e.radius,Oe&&Oe+(_e&&_e.radiusPlus||0))),x.hasImage=he&&0===he.indexOf("url"),x.hasImage&&(Oe=0);let De=x.pos();return p(Oe)&&De&&(ge.x=De[0]-Oe,ge.y=De[1]-Oe,R.crisp&&(ge.x=Math.floor(ge.x))),Oe&&(ge.width=ge.height=2*Oe),ge}pointAttribs(x,N){let Te,Oe,Be,oe,R=this.options.marker,Z=x&&x.options,Y=Z&&Z.marker||{},he=Z&&Z.color,ge=x&&x.color,_e=x&&x.zone&&x.zone.color,De=this.color,ee=K(Y.lineWidth,R.lineWidth),be=1;return De=he||_e||ge||De,Be=Y.fillColor||R.fillColor||De,oe=Y.lineColor||R.lineColor||De,Te=R.states[N=N||"normal"]||{},ee=K((Oe=Y.states&&Y.states[N]||{}).lineWidth,Te.lineWidth,ee+K(Oe.lineWidthPlus,Te.lineWidthPlus,0)),Be=Oe.fillColor||Te.fillColor||Be,{stroke:oe=Oe.lineColor||Te.lineColor||oe,"stroke-width":ee,fill:Be,opacity:be=K(Oe.opacity,Te.opacity,be)}}destroy(x){let N,R,Z,Y=this,he=Y.chart,ge=/AppleWebKit\/533/.test(A.navigator.userAgent),_e=Y.data||[];for(r(Y,"destroy",{keepEventsForUpdate:x}),this.removeEvents(x),(Y.axisTypes||[]).forEach(function(Te){(Z=Y[Te])&&Z.series&&(g(Z.series,Y),Z.isDirty=Z.forceRedraw=!0)}),Y.legendItem&&Y.chart.legend.destroyItem(Y),N=_e.length;N--;)(R=_e[N])&&R.destroy&&R.destroy();for(let Te of Y.zones)f(Te,void 0,!0);X.clearTimeout(Y.animationTimeout),z(Y,function(Te,Oe){Te instanceof te&&!Te.survive&&Te[ge&&"group"===Oe?"hide":"destroy"]()}),he.hoverSeries===Y&&(he.hoverSeries=void 0),g(he.series,Y),he.orderItems("series"),z(Y,function(Te,Oe){x&&"hcEvents"===Oe||delete Y[Oe]})}applyZones(){let{area:x,chart:N,graph:R,zones:Z,points:Y,xAxis:he,yAxis:ge,zoneAxis:_e}=this,{inverted:Te,renderer:Oe}=N,De=this[`${_e}Axis`],{isXAxis:Be,len:oe=0}=De||{},ee=(R?.strokeWidth()||0)/2+1,be=(xe,Ie=0,we=0)=>{Te&&(we=oe-we);let{translated:Ee=0,lineClip:Me}=xe,Xe=we-Ee;Me?.push(["L",Ie,Math.abs(Xe){Me.forEach((Xe,Je)=>{("M"===Xe[0]||"L"===Xe[0])&&(Me[Je]=[Xe[0],Be?oe-Xe[1]:Xe[1],Be?Xe[2]:oe-Xe[2]])})};if(Z.forEach(Me=>{Me.lineClip=[],Me.translated=w(De.toPixels(K(Me.value,xe),!0)||0,0,oe)}),R&&!this.showLine&&R.hide(),x&&x.hide(),"y"===_e&&Y.length{let Xe=Me.lineClip||[],Je=Math.round(Me.translated||0);he.reversed&&Xe.reverse();let{clip:lt,simpleClip:qe}=Me,st=0,Tt=0,pt=he.len,ht=ge.len;Be?(st=Je,pt=Ee):(Tt=Je,ht=Ee);let Pt=[["M",st,Tt],["L",pt,Tt],["L",pt,ht],["L",st,ht],["Z"]],Gt=[Pt[0],...Xe,Pt[1],Pt[2],...we,Pt[3],Pt[4]];we=Xe.reverse(),Ee=Je,Te&&(Ie(Gt),x&&Ie(Pt)),lt?(lt.animate({d:Gt}),qe?.animate({d:Pt})):(lt=Me.clip=Oe.path(Gt),x&&(qe=Me.simpleClip=Oe.path(Pt))),R&&Me.graph?.clip(lt),x&&Me.area?.clip(qe)})}else this.visible&&(R&&R.show(),x&&x.show())}plotGroup(x,N,R,Z,Y){let he=this[x],ge=!he,_e={visibility:R,zIndex:Z||.1};return O(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(_e.opacity=this.opacity),he||(this[x]=he=this.chart.renderer.g().add(Y)),he.addClass("highcharts-"+N+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(O(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(he.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),he.attr(_e)[ge?"attr":"animate"](this.getPlotBox(N)),he}getPlotBox(x){let N=this.xAxis,R=this.yAxis,Z=this.chart,Y=Z.inverted&&!Z.polar&&N&&this.invertible&&"series"===x;return Z.inverted&&(N=R,R=this.xAxis),{translateX:N?N.left:Z.plotLeft,translateY:R?R.top:Z.plotTop,rotation:Y?90:0,rotationOriginX:Y?(N.len-R.len)/2:0,rotationOriginY:Y?(N.len+R.len)/2:0,scaleX:Y?-1:1,scaleY:1}}removeEvents(x){let{eventsToUnbind:N}=this;x||U(this),N.length&&(N.forEach(R=>{R()}),N.length=0)}render(){let x=this,{chart:N,options:R,hasRendered:Z}=x,Y=E(R.animation),he=x.visible?"inherit":"hidden",ge=R.zIndex,_e=N.seriesGroup,Te=x.finishedAnimating?0:Y.duration;r(this,"render"),x.plotGroup("group","series",he,ge,_e),x.markerGroup=x.plotGroup("markerGroup","markers",he,ge,_e),!1!==R.clip&&x.setClip(),Te&&x.animate?.(!0),x.drawGraph&&(x.drawGraph(),x.applyZones()),x.visible&&x.drawPoints(),x.drawDataLabels?.(),x.redrawPoints?.(),R.enableMouseTracking&&x.drawTracker?.(),Te&&x.animate?.(),Z||(Te&&Y.defer&&(Te+=Y.defer),x.animationTimeout=S(()=>{x.afterAnimate()},Te||0)),x.isDirty=!1,x.hasRendered=!0,r(x,"afterRender")}redraw(){let x=this.isDirty||this.isDirtyData;this.translate(),this.render(),x&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(x,N){let{xAxis:R,yAxis:Z}=this,Y=this.chart.inverted;return this.searchKDTree({clientX:Y?R.len-x.chartY+R.pos:x.chartX-R.pos,plotY:Y?Z.len-x.chartX+Z.pos:x.chartY-Z.pos},N,x)}buildKDTree(x){this.buildingKdTree=!0;let N=this,R=N.options.findNearestPointBy.indexOf("y")>-1?2:1;delete N.kdTree,S(function(){N.kdTree=function Z(Y,he,ge){let _e,Te,Oe=Y?.length;if(Oe)return _e=N.kdAxisArray[he%ge],Y.sort((De,Be)=>(De[_e]||0)-(Be[_e]||0)),{point:Y[Te=Math.floor(Oe/2)],left:Z(Y.slice(0,Te),he+1,ge),right:Z(Y.slice(Te+1),he+1,ge)}}(N.getValidPoints(void 0,!N.directTouch),R,R),N.buildingKdTree=!1},N.options.kdNow||"touchstart"===x?.type?0:1)}searchKDTree(x,N,R){let Z=this,[Y,he]=this.kdAxisArray,ge=N?"distX":"dist",_e=(Z.options.findNearestPointBy||"").indexOf("y")>-1?2:1,Te=!!Z.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(R),this.kdTree)return function Oe(De,Be,oe,ee){let Ie,we,be=Be.point,xe=Z.kdAxisArray[oe%ee],Ee=be;!function(lt,qe){let st=lt[Y],Tt=qe[Y],pt=O(st)&&O(Tt)?st-Tt:null,ht=lt[he],Pt=qe[he],Gt=O(ht)&&O(Pt)?ht-Pt:0,ti=Te&&qe.marker?.radius||0;qe.dist=Math.sqrt((pt&&pt*pt||0)+Gt*Gt)-ti,qe.distX=O(pt)?Math.abs(pt)-ti:Number.MAX_VALUE}(De,be);let Me=(De[xe]||0)-(be[xe]||0)+(Te&&be.marker?.radius||0),Xe=Me<0?"left":"right",Je=Me<0?"right":"left";return Be[Xe]&&(Ee=(Ie=Oe(De,Be[Xe],oe+1,ee))[ge]=0&&he<=(Z?Z.len:N.plotHeight)&&Y>=0&&Y<=(R?R.len:N.plotWidth)}drawTracker(){let x=this,N=x.options,R=N.trackByArea,Z=[].concat((R?x.areaPath:x.graphPath)||[]),Y=x.chart,he=Y.pointer,ge=Y.renderer,_e=Y.options.tooltip?.snap||0,Te=()=>{N.enableMouseTracking&&Y.hoverSeries!==x&&x.onMouseOver()},Oe="rgba(192,192,192,"+(D?1e-4:.002)+")",De=x.tracker;De?De.attr({d:Z}):x.graph&&(x.tracker=De=ge.path(Z).attr({visibility:x.visible?"inherit":"hidden",zIndex:2}).addClass(R?"highcharts-tracker-area":"highcharts-tracker-line").add(x.group),Y.styledMode||De.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:Oe,fill:R?Oe:"none","stroke-width":x.graph.strokeWidth()+(R?0:2*_e)}),[x.tracker,x.markerGroup,x.dataLabelsGroup].forEach(Be=>{Be&&(Be.addClass("highcharts-tracker").on("mouseover",Te).on("mouseout",oe=>{he?.onTrackerMouseOut(oe)}),N.cursor&&!Y.styledMode&&Be.css({cursor:N.cursor}),Be.on("touchstart",Te))})),r(this,"afterDrawTracker")}addPoint(x,N,R,Z,Y){let he,ge,_e=this.options,Te=this.data,Oe=this.chart,De=this.xAxis,Be=De&&De.hasNames&&De.names,oe=_e.data,ee=this.xData;N=K(N,!0);let be={series:this};this.pointClass.prototype.applyOptions.apply(be,[x]);let xe=be.x;if(ge=ee.length,this.requireSorting&&xexe;)ge--;this.updateParallelArrays(be,"splice",[ge,0,0]),this.updateParallelArrays(be,ge),Be&&be.name&&(Be[xe]=be.name),oe.splice(ge,0,x),(he||this.processedData)&&(this.data.splice(ge,0,null),this.processData()),"point"===_e.legendType&&this.generatePoints(),R&&(Te[0]&&Te[0].remove?Te[0].remove(!1):(Te.shift(),this.updateParallelArrays(be,"shift"),oe.shift())),!1!==Y&&r(this,"addPoint",{point:be}),this.isDirty=!0,this.isDirtyData=!0,N&&Oe.redraw(Z)}removePoint(x,N,R){let Z=this,Y=Z.data,he=Y[x],ge=Z.points,_e=Z.chart,Te=function(){ge&&ge.length===Y.length&&ge.splice(x,1),Y.splice(x,1),Z.options.data.splice(x,1),Z.updateParallelArrays(he||{series:Z},"splice",[x,1]),he&&he.destroy(),Z.isDirty=!0,Z.isDirtyData=!0,N&&_e.redraw()};j(R,_e),N=K(N,!0),he?he.firePointEvent("remove",null,Te):Te()}remove(x,N,R,Z){let Y=this,he=Y.chart;function ge(){Y.destroy(Z),he.isDirtyLegend=he.isDirtyBox=!0,he.linkSeries(Z),K(x,!0)&&he.redraw(N)}!1!==R?r(Y,"remove",null,ge):ge()}update(x,N){r(this,"update",{options:x=a(x,this.userOptions)});let De,Be,R=this,Z=R.chart,Y=R.userOptions,he=R.initialType||R.type,ge=Z.options.plotOptions,_e=I[he].prototype,Te=R.finishedAnimating&&{animation:!1},Oe={},oe=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],ee=x.type||Y.type||Z.options.chart.type,be=!(this.hasDerivedData||ee&&ee!==this.type||void 0!==x.pointStart||void 0!==x.pointInterval||void 0!==x.relativeXValue||x.joinBy||x.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(Ie=>R.hasOptionChanged(Ie)));ee=ee||he,be&&(oe.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==x.visible&&oe.push("area","graph"),R.parallelArrays.forEach(function(Ie){oe.push(Ie+"Data")}),x.data&&(x.dataSorting&&o(R.options.dataSorting,x.dataSorting),this.setData(x.data,!1))),x=B(Y,{index:void 0===Y.index?R.index:Y.index,pointStart:ge?.series?.pointStart??Y.pointStart??R.xData?.[0]},!be&&{data:R.options.data},x,Te),be&&x.data&&(x.data=R.options.data),(oe=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(oe)).forEach(function(Ie){oe[Ie]=R[Ie],delete R[Ie]});let xe=!1;if(I[ee]){if(xe=ee!==R.type,R.remove(!1,!1,!1,!0),xe)if(Z.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(R,I[ee].prototype);else{let Ie=Object.hasOwnProperty.call(R,"hcEvents")&&R.hcEvents;for(Be in _e)R[Be]=void 0;o(R,I[ee].prototype),Ie?R.hcEvents=Ie:delete R.hcEvents}}else v(17,!0,Z,{missingModuleFor:ee});if(oe.forEach(function(Ie){R[Ie]=oe[Ie]}),R.init(Z,x),be&&this.points)for(let Ie of(!1===(De=R.options).visible?(Oe.graphic=1,Oe.dataLabel=1):(this.hasMarkerChanged(De,Y)&&(Oe.graphic=1),R.hasDataLabels?.()||(Oe.dataLabel=1)),this.points))Ie&&Ie.series&&(Ie.resolveColor(),Object.keys(Oe).length&&Ie.destroyElements(Oe),!1===De.showInLegend&&Ie.legendItem&&Z.legend.destroyItem(Ie));R.initialType=he,Z.linkSeries(),Z.setSortedData(),xe&&R.linkedSeries.length&&(R.isDirtyData=!0),r(this,"afterUpdate"),K(N,!0)&&Z.redraw(!!be&&void 0)}setName(x){this.name=this.options.name=this.userOptions.name=x,this.chart.isDirtyLegend=!0}hasOptionChanged(x){let R=this.options[x],Z=this.chart.options.plotOptions,Y=this.userOptions[x],he=K(Z?.[this.type]?.[x],Z?.series?.[x]);return Y&&!O(he)?R!==Y:R!==K(he,R)}onMouseOver(){let x=this.chart,N=x.hoverSeries;x.pointer?.setHoverChartIndex(),N&&N!==this&&N.onMouseOut(),this.options.events.mouseOver&&r(this,"mouseOver"),this.setState("hover"),x.hoverSeries=this}onMouseOut(){let x=this.options,N=this.chart,R=N.tooltip,Z=N.hoverPoint;N.hoverSeries=null,Z&&Z.onMouseOut(),this&&x.events.mouseOut&&r(this,"mouseOut"),R&&!this.stickyTracking&&(!R.shared||this.noSharedTooltip)&&R.hide(),N.series.forEach(function(Y){Y.setState("",!0)})}setState(x,N){let R=this,Z=R.options,Y=R.graph,he=Z.inactiveOtherPoints,ge=Z.states,_e=K(ge[x||"normal"]&&ge[x||"normal"].animation,R.chart.options.chart.animation),Te=Z.lineWidth,Oe=Z.opacity;if(R.state!==(x=x||"")&&([R.group,R.markerGroup,R.dataLabelsGroup].forEach(function(De){De&&(R.state&&De.removeClass("highcharts-series-"+R.state),x&&De.addClass("highcharts-series-"+x))}),R.state=x,!R.chart.styledMode)){if(ge[x]&&!1===ge[x].enabled)return;if(x&&(Te=ge[x].lineWidth||Te+(ge[x].lineWidthPlus||0),Oe=K(ge[x].opacity,Oe)),Y&&!Y.dashstyle&&p(Te))for(let De of[Y,...this.zones.map(Be=>Be.graph)])De?.animate({"stroke-width":Te},_e);he||[R.group,R.markerGroup,R.dataLabelsGroup,R.labelBySeries].forEach(function(De){De&&De.animate({opacity:Oe},_e)})}N&&he&&R.points&&R.setAllPointsToState(x||void 0)}setAllPointsToState(x){this.points.forEach(function(N){N.setState&&N.setState(x)})}setVisible(x,N){let R=this,Z=R.chart,Y=Z.options.chart.ignoreHiddenSeries;R.visible=x=R.options.visible=R.userOptions.visible=void 0===x?!R.visible:x;let ge=x?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(_e=>{R[_e]?.[ge]()}),(Z.hoverSeries===R||Z.hoverPoint?.series===R)&&R.onMouseOut(),R.legendItem&&Z.legend.colorizeItem(R,x),R.isDirty=!0,R.options.stacking&&Z.series.forEach(_e=>{_e.options.stacking&&_e.visible&&(_e.isDirty=!0)}),R.linkedSeries.forEach(_e=>{_e.setVisible(x,!1)}),Y&&(Z.isDirtyBox=!0),r(R,ge),!1!==N&&Z.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(x){this.selected=x=this.options.selected=void 0===x?!this.selected:x,this.checkbox&&(this.checkbox.checked=x),r(this,x?"select":"unselect")}shouldShowTooltip(x,N,R={}){return R.series=this,R.visiblePlotOnly=!0,this.chart.isInsidePlot(x,N,R)}drawLegendSymbol(x,N){le[this.options.legendSymbol||"rectangle"]?.call(this,x,N)}}return $.defaultOptions=ue,$.types=J.seriesTypes,$.registerType=J.registerSeriesType,o($.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:pe,requireSorting:!0,sorted:!0}),J.series=$,$}),Le(V,"Core/Chart/Chart.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Time.js"],V["Core/Utilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Axis/Tick.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X,E,j,F,P){let{animate:D,animObject:A,setAnimation:I}=q,{defaultOptions:_,defaultTime:m}=re,{numberFormat:w}=ve,{registerEventOptions:G}=le,{charts:O,doc:f,marginNames:a,svg:g,win:v}=pe,{seriesTypes:o}=te,{addEvent:n,attr:r,createElement:l,css:d,defined:C,diffObjects:k,discardElement:p,erase:T,error:B,extend:z,find:K,fireEvent:U,getStyle:se,isArray:S,isNumber:$,isObject:H,isString:x,merge:N,objectEach:R,pick:Z,pInt:Y,relativeLength:he,removeEvent:ge,splat:_e,syncTimeout:Te,uniqueKey:Oe}=j;class De{static chart(oe,ee,be){return new De(oe,ee,be)}constructor(oe,ee,be){this.sharedClips={};let xe=[...arguments];(x(oe)||oe.nodeName)&&(this.renderTo=xe.shift()),this.init(xe[0],xe[1])}setZoomOptions(){let oe=this.options.chart,ee=oe.zooming;this.zooming={...ee,type:Z(oe.zoomType,ee.type),key:Z(oe.zoomKey,ee.key),pinchType:Z(oe.pinchType,ee.pinchType),singleTouch:Z(oe.zoomBySingleTouch,ee.singleTouch,!1),resetButton:N(ee.resetButton,oe.resetZoomButton)}}init(oe,ee){U(this,"init",{args:arguments},function(){let be=N(_,oe),xe=be.chart;this.userOptions=z({},oe),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=ee,this.isResizing=0,this.options=be,this.axes=[],this.series=[],this.time=oe.time&&Object.keys(oe.time).length?new E(oe.time):pe.time,this.numberFormatter=xe.numberFormatter||w,this.styledMode=xe.styledMode,this.hasCartesianSeries=xe.showAxes,this.index=O.length,O.push(this),pe.chartCount++,G(this,xe),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),U(this,"afterInit"),this.firstRender()})}initSeries(oe){let be=oe.type||this.options.chart.type,xe=o[be];xe||B(17,!0,this,{missingModuleFor:be});let Ie=new xe;return"function"==typeof Ie.init&&Ie.init(this,oe),Ie}setSortedData(){this.getSeriesOrderByLinks().forEach(function(oe){oe.points||oe.data||!oe.enabledDataSorting||oe.setData(oe.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(oe,ee){return oe.linkedSeries.length||ee.linkedSeries.length?ee.linkedSeries.length-oe.linkedSeries.length:0})}orderItems(oe,ee=0){let be=this[oe],xe=this.options[oe]=_e(this.options[oe]).slice(),Ie=this.userOptions[oe]=this.userOptions[oe]?_e(this.userOptions[oe]).slice():[];if(this.hasRendered&&(xe.splice(ee),Ie.splice(ee)),be)for(let we=ee,Ee=be.length;we=Math.max(Xe+we,ht.pos)&&Pt<=Math.min(Xe+we+qe.width,ht.pos+ht.len)||(pt.isInsidePlot=!1)}if(!be.ignoreY&&pt.isInsidePlot){let ht=!xe&&be.axis&&!be.axis.isXAxis&&be.axis||lt&&(xe?lt.xAxis:lt.yAxis)||{pos:Ee,len:1/0},Pt=be.paneCoordinates?ht.pos+Tt:Ee+Tt;Pt>=Math.max(Je+Ee,ht.pos)&&Pt<=Math.min(Je+Ee+qe.height,ht.pos+ht.len)||(pt.isInsidePlot=!1)}return U(this,"afterIsInsidePlot",pt),pt.isInsidePlot}redraw(oe){U(this,"beforeRedraw");let Je,lt,qe,pt,ee=this.hasCartesianSeries?this.axes:this.colorAxis||[],be=this.series,xe=this.pointer,Ie=this.legend,we=this.userOptions.legend,Ee=this.renderer,Me=Ee.isHidden(),Xe=[],st=this.isDirtyBox,Tt=this.isDirtyLegend;for(Ee.rootFontSize=Ee.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),I(!!this.hasRendered&&oe,this),Me&&this.temporaryDisplay(),this.layOutTitles(!1),qe=be.length;qe--;)if(((pt=be[qe]).options.stacking||pt.options.centerInCategory)&&(lt=!0,pt.isDirty)){Je=!0;break}if(Je)for(qe=be.length;qe--;)(pt=be[qe]).options.stacking&&(pt.isDirty=!0);be.forEach(function(ht){ht.isDirty&&("point"===ht.options.legendType?("function"==typeof ht.updateTotals&&ht.updateTotals(),Tt=!0):we&&(we.labelFormatter||we.labelFormat)&&(Tt=!0)),ht.isDirtyData&&U(ht,"updatedData")}),Tt&&Ie&&Ie.options.enabled&&(Ie.render(),this.isDirtyLegend=!1),lt&&this.getStacks(),ee.forEach(function(ht){ht.updateNames(),ht.setScale()}),this.getMargins(),ee.forEach(function(ht){ht.isDirty&&(st=!0)}),ee.forEach(function(ht){let Pt=ht.min+","+ht.max;ht.extKey!==Pt&&(ht.extKey=Pt,Xe.push(function(){U(ht,"afterSetExtremes",z(ht.eventArgs,ht.getExtremes())),delete ht.eventArgs})),(st||lt)&&ht.redraw()}),st&&this.drawChartBox(),U(this,"predraw"),be.forEach(function(ht){(st||ht.isDirty)&&ht.visible&&ht.redraw(),ht.isDirtyData=!1}),xe&&xe.reset(!0),Ee.draw(),U(this,"redraw"),U(this,"render"),Me&&this.temporaryDisplay(!0),Xe.forEach(function(ht){ht.call()})}get(oe){let ee=this.series;function be(Ie){return Ie.id===oe||Ie.options&&Ie.options.id===oe}let xe=K(this.axes,be)||K(this.series,be);for(let Ie=0;!xe&&Ie(ee.getPointsCollection().forEach(be=>{Z(be.selectedStaging,be.selected)&&oe.push(be)}),oe),[])}getSelectedSeries(){return this.series.filter(function(oe){return oe.selected})}setTitle(oe,ee,be){this.applyDescription("title",oe),this.applyDescription("subtitle",ee),this.applyDescription("caption",void 0),this.layOutTitles(be)}applyDescription(oe,ee){let be=this,xe=this.options[oe]=N(this.options[oe],ee),Ie=this[oe];Ie&&ee&&(this[oe]=Ie=Ie.destroy()),xe&&!Ie&&((Ie=this.renderer.text(xe.text,0,0,xe.useHTML).attr({align:xe.align,class:"highcharts-"+oe,zIndex:xe.zIndex||4}).add()).update=function(we,Ee){be.applyDescription(oe,we),be.layOutTitles(Ee)},this.styledMode||Ie.css(z("title"===oe?{fontSize:this.options.isStock?"1em":"1.2em"}:{},xe.style)),this[oe]=Ie)}layOutTitles(oe=!0){let ee=[0,0,0],be=this.renderer,xe=this.spacingBox;["title","subtitle","caption"].forEach(function(we){let Ee=this[we],Me=this.options[we],Xe=Me.verticalAlign||"top",Je="title"===we?"top"===Xe?-3:0:"top"===Xe?ee[0]+2:0;if(Ee){Ee.css({width:(Me.width||xe.width+(Me.widthAdjust||0))+"px"});let lt=be.fontMetrics(Ee).b,qe=Math.round(Ee.getBBox(Me.useHTML).height);Ee.align(z({y:"bottom"===Xe?lt:Je+lt,height:qe},Me),!1,"spacingBox"),Me.floating||("top"===Xe?ee[0]=Math.ceil(ee[0]+qe):"bottom"===Xe&&(ee[2]=Math.ceil(ee[2]+qe)))}},this),ee[0]&&"top"===(this.options.title.verticalAlign||"top")&&(ee[0]+=this.options.title.margin),ee[2]&&"bottom"===this.options.caption.verticalAlign&&(ee[2]+=this.options.caption.margin);let Ie=!this.titleOffset||this.titleOffset.join(",")!==ee.join(",");this.titleOffset=ee,U(this,"afterLayOutTitles"),!this.isDirtyBox&&Ie&&(this.isDirtyBox=this.isDirtyLegend=Ie,this.hasRendered&&oe&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:se(this.renderTo,"width",!0)||0,height:se(this.renderTo,"height",!0)||0}}getChartSize(){let oe=this.options.chart,ee=oe.width,be=oe.height,xe=this.getContainerBox();this.chartWidth=Math.max(0,ee||xe.width||600),this.chartHeight=Math.max(0,he(be,this.chartWidth)||(xe.height>1?xe.height:400)),this.containerBox=xe}temporaryDisplay(oe){let be,ee=this.renderTo;if(oe)for(;ee&&ee.style;)ee.hcOrigStyle&&(d(ee,ee.hcOrigStyle),delete ee.hcOrigStyle),ee.hcOrigDetached&&(f.body.removeChild(ee),ee.hcOrigDetached=!1),ee=ee.parentNode;else for(;ee&&ee.style&&(f.body.contains(ee)||ee.parentNode||(ee.hcOrigDetached=!0,f.body.appendChild(ee)),("none"===se(ee,"display",!1)||ee.hcOricDetached)&&(ee.hcOrigStyle={display:ee.style.display,height:ee.style.height,overflow:ee.style.overflow},be={display:"block",overflow:"hidden"},ee!==this.renderTo&&(be.height=0),d(ee,be),ee.offsetWidth||ee.style.setProperty("display","block","important")),(ee=ee.parentNode)!==f.body););}setClassName(oe){this.container.className="highcharts-container "+(oe||"")}getContainer(){let Ie,oe=this.options,ee=oe.chart,be="data-highcharts-chart",xe=Oe(),we=this.renderTo;we||(this.renderTo=we=ee.renderTo),x(we)&&(this.renderTo=we=f.getElementById(we)),we||B(13,!0,this);let Ee=Y(r(we,be));$(Ee)&&O[Ee]&&O[Ee].hasRendered&&O[Ee].destroy(),r(we,be,this.index),we.innerHTML=F.emptyHTML,ee.skipClone||we.offsetWidth||this.temporaryDisplay(),this.getChartSize();let Me=this.chartHeight,Xe=this.chartWidth;d(we,{overflow:"hidden"}),this.styledMode||(Ie=z({position:"relative",overflow:"hidden",width:Xe+"px",height:Me+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},ee.style||{}));let Je=l("div",{id:xe},Ie,we);this.container=Je,this.getChartSize(),Xe===this.chartWidth||(Xe=this.chartWidth,this.styledMode||d(Je,{width:Z(ee.style?.width,Xe+"px")})),this.containerBox=this.getContainerBox(),this._cursor=Je.style.cursor;let lt=ee.renderer||!g?ue.getRendererType(ee.renderer):X;if(this.renderer=new lt(Je,Xe,Me,void 0,ee.forExport,oe.exporting&&oe.exporting.allowHTML,this.styledMode),I(void 0,this),this.setClassName(ee.className),this.styledMode)for(let qe in oe.defs)this.renderer.definition(oe.defs[qe]);else this.renderer.setStyle(ee.style);this.renderer.chartIndex=this.index,U(this,"afterGetContainer")}getMargins(oe){let{spacing:ee,margin:be,titleOffset:xe}=this;this.resetMargins(),xe[0]&&!C(be[0])&&(this.plotTop=Math.max(this.plotTop,xe[0]+ee[0])),xe[2]&&!C(be[2])&&(this.marginBottom=Math.max(this.marginBottom,xe[2]+ee[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(be,ee),U(this,"getMargins"),oe||this.getAxisMargins()}getAxisMargins(){let oe=this,ee=oe.axisOffset=[0,0,0,0],be=oe.colorAxis,xe=oe.margin,Ie=function(we){we.forEach(function(Ee){Ee.visible&&Ee.getOffset()})};oe.hasCartesianSeries?Ie(oe.axes):be&&be.length&&Ie(be),a.forEach(function(we,Ee){C(xe[Ee])||(oe[we]+=ee[Ee])}),oe.setChartSize()}getOptions(){return k(this.userOptions,_)}reflow(oe){let ee=this,be=ee.containerBox,xe=ee.getContainerBox();delete ee.pointer?.chartPosition,!ee.isPrinting&&!ee.isResizing&&be&&xe.width&&((xe.width!==be.width||xe.height!==be.height)&&(j.clearTimeout(ee.reflowTimeout),ee.reflowTimeout=Te(function(){ee.container&&ee.setSize(void 0,void 0,!1)},oe?100:0)),ee.containerBox=xe)}setReflow(){let oe=this,ee=be=>{oe.options?.chart.reflow&&oe.hasLoaded&&oe.reflow(be)};if("function"==typeof ResizeObserver)new ResizeObserver(ee).observe(oe.renderTo);else{let be=n(v,"resize",ee);n(this,"destroy",be)}}setSize(oe,ee,be){let xe=this,Ie=xe.renderer;xe.isResizing+=1,I(be,xe);let we=Ie.globalAnimation;xe.oldChartHeight=xe.chartHeight,xe.oldChartWidth=xe.chartWidth,void 0!==oe&&(xe.options.chart.width=oe),void 0!==ee&&(xe.options.chart.height=ee),xe.getChartSize();let{chartWidth:Ee,chartHeight:Me,scrollablePixelsX:Xe=0,scrollablePixelsY:Je=0}=xe;(xe.isDirtyBox||Ee!==xe.oldChartWidth||Me!==xe.oldChartHeight)&&(xe.styledMode||(we?D:d)(xe.container,{width:`${Ee+Xe}px`,height:`${Me+Je}px`},we),xe.setChartSize(!0),Ie.setSize(Ee,Me,we),xe.axes.forEach(function(lt){lt.isDirty=!0,lt.setScale()}),xe.isDirtyLegend=!0,xe.isDirtyBox=!0,xe.layOutTitles(),xe.getMargins(),xe.redraw(we),xe.oldChartHeight=void 0,U(xe,"resize"),setTimeout(()=>{xe&&U(xe,"endResize",void 0,()=>{xe.isResizing-=1})},A(we).duration))}setChartSize(oe){let ee,be,xe,Ie,we=this.inverted,Ee=this.renderer,Me=this.chartWidth,Xe=this.chartHeight,Je=this.options.chart,lt=this.spacing,qe=this.clipOffset;this.plotLeft=ee=Math.round(this.plotLeft),this.plotTop=be=Math.round(this.plotTop),this.plotWidth=xe=Math.max(0,Math.round(Me-ee-this.marginRight)),this.plotHeight=Ie=Math.max(0,Math.round(Xe-be-this.marginBottom)),this.plotSizeX=we?Ie:xe,this.plotSizeY=we?xe:Ie,this.plotBorderWidth=Je.plotBorderWidth||0,this.spacingBox=Ee.spacingBox={x:lt[3],y:lt[0],width:Me-lt[3]-lt[1],height:Xe-lt[0]-lt[2]},this.plotBox=Ee.plotBox={x:ee,y:be,width:xe,height:Ie};let st=2*Math.floor(this.plotBorderWidth/2),Tt=Math.ceil(Math.max(st,qe[3])/2),pt=Math.ceil(Math.max(st,qe[0])/2);this.clipBox={x:Tt,y:pt,width:Math.floor(this.plotSizeX-Math.max(st,qe[1])/2-Tt),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(st,qe[2])/2-pt))},oe||(this.axes.forEach(function(ht){ht.setAxisSize(),ht.setAxisTranslation()}),Ee.alignElements()),U(this,"afterSetChartSize",{skipAxes:oe})}resetMargins(){U(this,"resetMargins");let oe=this,ee=oe.options.chart;["margin","spacing"].forEach(function(be){let xe=ee[be],Ie=H(xe)?xe:[xe,xe,xe,xe];["Top","Right","Bottom","Left"].forEach(function(we,Ee){oe[be][Ee]=Z(ee[be+we],Ie[Ee])})}),a.forEach(function(be,xe){oe[be]=Z(oe.margin[xe],oe.spacing[xe])}),oe.axisOffset=[0,0,0,0],oe.clipOffset=[0,0,0,0]}drawChartBox(){let Dt,It,xt,oe=this.options.chart,ee=this.renderer,be=this.chartWidth,xe=this.chartHeight,Ie=this.styledMode,we=this.plotBGImage,Ee=oe.backgroundColor,Me=oe.plotBackgroundColor,Xe=oe.plotBackgroundImage,Je=this.plotLeft,lt=this.plotTop,qe=this.plotWidth,st=this.plotHeight,Tt=this.plotBox,pt=this.clipRect,ht=this.clipBox,Pt=this.chartBackground,Gt=this.plotBackground,ti=this.plotBorder,wt="animate";Pt||(this.chartBackground=Pt=ee.rect().addClass("highcharts-background").add(),wt="attr"),Ie?Dt=It=Pt.strokeWidth():(It=(Dt=oe.borderWidth||0)+(oe.shadow?8:0),xt={fill:Ee||"none"},(Dt||Pt["stroke-width"])&&(xt.stroke=oe.borderColor,xt["stroke-width"]=Dt),Pt.attr(xt).shadow(oe.shadow)),Pt[wt]({x:It/2,y:It/2,width:be-It-Dt%2,height:xe-It-Dt%2,r:oe.borderRadius}),wt="animate",Gt||(wt="attr",this.plotBackground=Gt=ee.rect().addClass("highcharts-plot-background").add()),Gt[wt](Tt),!Ie&&(Gt.attr({fill:Me||"none"}).shadow(oe.plotShadow),Xe&&(we?(Xe!==we.attr("href")&&we.attr("href",Xe),we.animate(Tt)):this.plotBGImage=ee.image(Xe,Je,lt,qe,st).add())),pt?pt.animate({width:ht.width,height:ht.height}):this.clipRect=ee.clipRect(ht),wt="animate",ti||(wt="attr",this.plotBorder=ti=ee.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),Ie||ti.attr({stroke:oe.plotBorderColor,"stroke-width":oe.plotBorderWidth||0,fill:"none"}),ti[wt](ti.crisp({x:Je,y:lt,width:qe,height:st},-ti.strokeWidth())),this.isDirtyBox=!1,U(this,"afterDrawChartBox")}propFromSeries(){let oe,ee,be,xe=this,Ie=xe.options.chart,we=xe.options.series;["inverted","angular","polar"].forEach(function(Ee){for(ee=o[Ie.type],be=Ie[Ee]||ee&&ee.prototype[Ee],oe=we&&we.length;!be&&oe--;)(ee=o[we[oe].type])&&ee.prototype[Ee]&&(be=!0);xe[Ee]=be})}linkSeries(oe){let ee=this,be=ee.series;be.forEach(function(xe){xe.linkedSeries.length=0}),be.forEach(function(xe){let{linkedTo:Ie}=xe.options;if(x(Ie)){let we;(we=":previous"===Ie?ee.series[xe.index-1]:ee.get(Ie))&&we.linkedParent!==xe&&(we.linkedSeries.push(xe),xe.linkedParent=we,we.enabledDataSorting&&xe.setDataSortingOptions(),xe.visible=Z(xe.options.visible,we.options.visible,xe.visible))}}),U(this,"afterLinkSeries",{isUpdating:oe})}renderSeries(){this.series.forEach(function(oe){oe.translate(),oe.render()})}render(){let Me,oe=this.axes,ee=this.colorAxis,be=this.renderer,xe=this.options.chart.axisLayoutRuns||2,Ie=Je=>{Je.forEach(lt=>{lt.visible&<.render()})},we=0,Ee=!0,Xe=0;for(let Je of(this.setTitle(),U(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),oe)){let{options:lt}=Je,{labels:qe}=lt;if(Je.horiz&&Je.visible&&qe.enabled&&Je.series.length&&"colorAxis"!==Je.coll&&!this.polar){we=lt.tickLength,Je.createGroups();let st=new P(Je,0,"",!0),Tt=st.createLabel("x",qe);if(st.destroy(),Tt&&Z(qe.reserveSpace,!$(lt.crossing))&&(we=Tt.getBBox().height+qe.distance+Math.max(lt.offset||0,0)),we){Tt?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-we,0);(Ee||Me||xe>1)&&Xe(Xe?1:1.1),Me=lt/this.plotHeight>(Xe?1:1.05),Xe++}this.drawChartBox(),this.hasCartesianSeries?Ie(oe):ee&&ee.length&&Ie(ee),this.seriesGroup||(this.seriesGroup=be.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(oe){let ee=this,be=N(!0,this.options.credits,oe);be.enabled&&!this.credits&&(this.credits=this.renderer.text(be.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){be.href&&(v.location.href=be.href)}).attr({align:be.position.align,zIndex:8}),ee.styledMode||this.credits.css(be.style),this.credits.add().align(be.position),this.credits.update=function(xe){ee.credits=ee.credits.destroy(),ee.addCredits(xe)})}destroy(){let oe,ee=this,be=ee.axes,xe=ee.series,Ie=ee.container,we=Ie&&Ie.parentNode;for(U(ee,"destroy"),ee.renderer.forExport?T(O,ee):O[ee.index]=void 0,pe.chartCount--,ee.renderTo.removeAttribute("data-highcharts-chart"),ge(ee),oe=be.length;oe--;)be[oe]=be[oe].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),oe=xe.length;oe--;)xe[oe]=xe[oe].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(Ee){let Me=ee[Ee];Me&&Me.destroy&&(ee[Ee]=Me.destroy())}),Ie&&(Ie.innerHTML=F.emptyHTML,ge(Ie),we&&p(Ie)),R(ee,function(Ee,Me){delete ee[Me]})}firstRender(){let oe=this,ee=oe.options;oe.getContainer(),oe.resetMargins(),oe.setChartSize(),oe.propFromSeries(),oe.getAxes();let be=S(ee.series)?ee.series:[];ee.series=[],be.forEach(function(xe){oe.initSeries(xe)}),oe.linkSeries(),oe.setSortedData(),U(oe,"beforeRender"),oe.render(),oe.pointer?.getChartPosition(),oe.renderer.imgCount||oe.hasLoaded||oe.onload(),oe.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(oe){oe&&void 0!==this.index&&oe.apply(this,[this])},this),U(this,"load"),U(this,"render"),C(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:oe,title:ee}=this;!oe||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(ee&&ee.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(oe,ee){let be=this,xe="object"==typeof ee?ee:{enabled:ee,type:"x"},Ie=xe.type,we=Ie&&be[{x:"xAxis",xy:"axes",y:"yAxis"}[Ie]].filter(Me=>Me.options.panningEnabled&&!Me.options.isInternal),Ee=be.options.chart;Ee?.panning&&(Ee.panning=xe),U(this,"pan",{originalEvent:oe},()=>{be.transform({axes:we,event:oe,to:{x:oe.chartX-(be.mouseDownX||0),y:oe.chartY-(be.mouseDownY||0)},trigger:"pan"}),d(be.container,{cursor:"move"})})}transform(oe){let qe,{axes:ee=this.axes,event:be,from:xe={},reset:Ie,selection:we,to:Ee={},trigger:Me}=oe,{inverted:Xe,resetZoomButton:Je}=this,lt=!1;for(let st of(this.hoverPoints?.forEach(Tt=>Tt.setState()),ee)){let{horiz:Tt,len:pt,minPointOffset:ht=0,options:Pt,reversed:Gt}=st,ti=Tt?"width":"height",Dt=Tt?"x":"y",It=Ee[ti]||st.len,xt=xe[ti]||st.len,wt=10>Math.abs(It)?1:It/xt,Qt=(xe[Dt]||0)+xt/2-st.pos,di=Qt-((Ee[Dt]??st.pos)+It/2-st.pos)/wt,Ni=Gt&&!Xe||!Gt&&Xe?-1:1;if(!Ie&&(Qt<0||Qt>st.len))continue;let mi=st.toValue(di,!0)+ht*Ni,vi=st.toValue(di+pt/wt,!0)-(ht*Ni||0),zi=st.allExtremes;if(mi>vi&&([mi,vi]=[vi,mi]),1===wt&&!Ie&&"yAxis"===st.coll&&!zi){for(let js of st.series){let On=js.getExtremes(js.getProcessedData(!0).yData,!0);zi??(zi={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),$(On.dataMin)&&$(On.dataMax)&&(zi.dataMin=Math.min(On.dataMin,zi.dataMin),zi.dataMax=Math.max(On.dataMax,zi.dataMax))}st.allExtremes=zi}let{dataMin:gs,dataMax:Fn,min:as,max:ms}=z(st.getExtremes(),zi||{}),Ln=gs??Pt.min,fn=Fn??Pt.max,ki=vi-mi,Cs=st.categories?0:Math.min(ki,fn-Ln),Kn=Ln-Cs*(C(Pt.min)?0:Pt.minPadding),In=fn+Cs*(C(Pt.max)?0:Pt.maxPadding),Bs=st.allowZoomOutside||1===wt||"zoom"!==Me&&wt>1,qn=Math.min(Pt.min??Kn,Kn,Bs?as:Kn),Wi=Math.max(Pt.max??In,In,Bs?ms:In);(!st.isOrdinal||1!==wt||Ie)&&(mi=1&&(vi=mi+ki)),vi>Wi&&(vi=Wi,wt>=1&&(mi=vi-ki)),(Ie||st.series.length&&(mi!==as||vi!==ms)&&mi>=qn&&vi<=Wi)&&(we?we[st.coll].push({axis:st,min:mi,max:vi}):(st.isPanning="zoom"!==Me,st.setExtremes(Ie?void 0:mi,Ie?void 0:vi,!1,!1,{move:di,trigger:Me,scale:wt}),!Ie&&(mi>qn||vi{delete oe.selection,oe.trigger="zoom",this.transform(oe)}):(qe&&!Je?this.showResetZoom():!qe&&Je&&(this.resetZoomButton=Je.destroy()),this.redraw("zoom"===Me&&(this.options.chart.animation??this.pointCount<100)))),lt}}return z(De.prototype,{callbacks:[],collectionsWithInit:{xAxis:[De.prototype.addAxis,[!0]],yAxis:[De.prototype.addAxis,[!1]],series:[De.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),De}),Le(V,"Extensions/ScrollablePlotArea.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{stop:le}=q,{composed:pe}=ne,{addEvent:ue,createElement:J,css:te,defined:X,merge:E,pushUnique:j}=ve;function F(){let A=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!A&&(this.scrollablePlotArea=A=new D(this)),A?.applyFixed()}function P(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class D{static compose(I,_,m){j(pe,this.compose)&&(ue(I,"afterInit",P),ue(_,"afterSetChartSize",w=>this.afterSetSize(w.target,w)),ue(_,"render",F),ue(m,"show",P))}static afterSetSize(I,_){let m,w,G,{minWidth:O,minHeight:f}=I.options.chart.scrollablePlotArea||{},{clipBox:a,plotBox:g,inverted:v,renderer:o}=I;if(!o.forExport&&(O?(I.scrollablePixelsX=m=Math.max(0,O-I.chartWidth),m&&(I.scrollablePlotBox=E(I.plotBox),g.width=I.plotWidth+=m,a[v?"height":"width"]+=m,G=!0)):f&&(I.scrollablePixelsY=w=Math.max(0,f-I.chartHeight),X(w)&&(I.scrollablePlotBox=E(I.plotBox),g.height=I.plotHeight+=w,a[v?"width":"height"]+=w,G=!1)),X(G)&&!_.skipAxes))for(let n of I.axes)n.horiz===G&&(n.setAxisSize(),n.setAxisTranslation())}constructor(I){let _,m=I.options.chart,w=re.getRendererType(),G=m.scrollablePlotArea||{},O=this.moveFixedElements.bind(this),f={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};I.scrollablePixelsX&&(f.overflowX="auto"),I.scrollablePixelsY&&(f.overflowY="auto"),this.chart=I;let a=this.parentDiv=J("div",{className:"highcharts-scrolling-parent"},{position:"relative"},I.renderTo),g=this.scrollingContainer=J("div",{className:"highcharts-scrolling"},f,a),v=this.innerContainer=J("div",{className:"highcharts-inner-container"},void 0,g),o=this.fixedDiv=J("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(m.style?.zIndex||0)+2,top:0},void 0,!0),n=this.fixedRenderer=new w(o,I.chartWidth,I.chartHeight,m.style);this.mask=n.path().attr({fill:m.backgroundColor||"#fff","fill-opacity":G.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),g.parentNode.insertBefore(o,g),te(I.renderTo,{overflow:"visible"}),ue(I,"afterShowResetZoom",O),ue(I,"afterApplyDrilldown",O),ue(I,"afterLayOutTitles",O),ue(g,"scroll",()=>{let{pointer:r,hoverPoint:l}=I;r&&(delete r.chartPosition,l&&(_=l),r.runPointActions(void 0,_,!0))}),v.appendChild(I.container)}applyFixed(){let{chart:I,fixedRenderer:_,isDirty:m,scrollingContainer:w}=this,{axisOffset:G,chartWidth:O,chartHeight:f,container:a,plotHeight:g,plotLeft:v,plotTop:o,plotWidth:n,scrollablePixelsX:r=0,scrollablePixelsY:l=0}=I,{scrollPositionX:d=0,scrollPositionY:C=0}=I.options.chart.scrollablePlotArea||{},k=O+r,p=f+l;_.setSize(O,f),(m??!0)&&(this.isDirty=!1,this.moveFixedElements()),le(I.container),te(a,{width:`${k}px`,height:`${p}px`}),I.renderer.boxWrapper.attr({width:k,height:p,viewBox:[0,0,k,p].join(" ")}),I.chartBackground?.attr({width:k,height:p}),te(w,{width:`${O}px`,height:`${f}px`}),X(m)||(w.scrollLeft=r*d,w.scrollTop=l*C);let T=o-G[0]-1,B=v-G[3]-1,z=o+g+G[2]+1,K=v+n+G[1]+1,U=v+n-r,se=o+g-l,S=[["M",0,0]];r?S=[["M",0,T],["L",v-1,T],["L",v-1,z],["L",0,z],["Z"],["M",U,T],["L",O,T],["L",O,z],["L",U,z],["Z"]]:l&&(S=[["M",B,0],["L",B,o-1],["L",K,o-1],["L",K,0],["Z"],["M",B,se],["L",B,f],["L",K,f],["L",K,se],["Z"]]),"adjustHeight"!==I.redrawTrigger&&this.mask.attr({d:S})}moveFixedElements(){let I,{container:_,inverted:m,scrollablePixelsX:w,scrollablePixelsY:G}=this.chart,O=this.fixedRenderer,f=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-reset-zoom",".highcharts-drillup-button",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];for(let a of(w&&!m?I=".highcharts-yaxis":w&&m||G&&!m?I=".highcharts-xaxis":G&&m&&(I=".highcharts-yaxis"),I&&f.push(`${I}:not(.highcharts-radial-axis)`,`${I}-labels:not(.highcharts-radial-axis-labels)`),f))[].forEach.call(_.querySelectorAll(a),g=>{(g.namespaceURI===O.SVG_NS?O.box:O.box.parentNode).appendChild(g),g.style.pointerEvents="auto"})}}return D}),Le(V,"Core/Axis/Stacking/StackItem.js",[V["Core/Templating.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{format:ve}=q,{series:le}=ne,{destroyObjectProperties:pe,fireEvent:ue,isNumber:J,pick:te}=re;return class{constructor(X,E,j,F,P){let D=X.chart.inverted,A=X.reversed;this.axis=X;let I=this.isNegative=!!j!=!!A;this.options=E=E||{},this.x=F,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=P,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:E.align||(D?I?"left":"right":"center"),verticalAlign:E.verticalAlign||(D?"middle":I?"bottom":"top"),y:E.y,x:E.x},this.textAlign=E.textAlign||(D?I?"right":"left":"center")}destroy(){pe(this,this.axis)}render(X){let E=this.axis.chart,j=this.options,F=j.format,P=F?ve(F,this,E):j.formatter.call(this);if(this.label)this.label.attr({text:P,visibility:"hidden"});else{this.label=E.renderer.label(P,null,void 0,j.shape,void 0,void 0,j.useHTML,!1,"stack-labels");let D={r:j.borderRadius||0,text:P,padding:te(j.padding,5),visibility:"hidden"};E.styledMode||(D.fill=j.backgroundColor,D.stroke=j.borderColor,D["stroke-width"]=j.borderWidth,this.label.css(j.style||{})),this.label.attr(D),this.label.added||this.label.add(X)}this.label.labelrank=E.plotSizeY,ue(this,"afterRender")}setOffset(X,E,j,F,P,D){let{alignOptions:A,axis:I,label:_,options:m,textAlign:w}=this,G=I.chart,O=this.getStackBox({xOffset:X,width:E,boxBottom:j,boxTop:F,defaultX:P,xAxis:D}),{verticalAlign:f}=A;if(_&&O){let o,a=_.getBBox(void 0,0),g=_.padding,v="justify"===te(m.overflow,"justify");A.x=m.x||0,A.y=m.y||0;let{x:n,y:r}=this.adjustStackPosition({labelBox:a,verticalAlign:f,textAlign:w});O.x-=n,O.y-=r,_.align(A,!1,O),(o=G.isInsidePlot(_.alignAttr.x+A.x+n,_.alignAttr.y+A.y+r))||(v=!1),v&&le.prototype.justifyDataLabel.call(I,_,A,_.alignAttr,a,O),_.attr({x:_.alignAttr.x,y:_.alignAttr.y,rotation:m.rotation,rotationOriginX:a.width*{left:0,center:.5,right:1}[m.textAlign||"center"],rotationOriginY:a.height/2}),te(!v&&m.crop,!0)&&(o=J(_.x)&&J(_.y)&&G.isInsidePlot(_.x-g+(_.width||0),_.y)&&G.isInsidePlot(_.x+g,_.y)),_[o?"show":"hide"]()}ue(this,"afterSetOffset",{xOffset:X,width:E})}adjustStackPosition({labelBox:X,verticalAlign:E,textAlign:j}){let F={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:X.width/2+X.width/2*F[j],y:X.height/2*F[E]}}getStackBox(X){let E=this.axis,j=E.chart,{boxTop:F,defaultX:P,xOffset:D,width:A,boxBottom:I}=X,_=E.stacking.usePercentage?100:te(F,this.total,0),m=E.toPixels(_),w=X.xAxis||j.xAxis[0],G=te(P,w.translate(this.x))+D,O=Math.abs(m-E.toPixels(I||J(E.min)&&E.logarithmic&&E.logarithmic.lin2log(E.min)||0)),a=this.isNegative;return j.inverted?{x:(a?m:m-O)-j.plotLeft,y:w.height-G-A,width:O,height:A}:{x:G+w.transB-j.plotLeft,y:(a?m-O:m)-j.plotTop,width:A,height:O}}}}),Le(V,"Core/Axis/Stacking/StackingAxis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{getDeferredAnimation:ue}=q,{series:{prototype:J}}=re,{addEvent:te,correctFloat:X,defined:E,destroyObjectProperties:j,fireEvent:F,isArray:P,isNumber:D,objectEach:A,pick:I}=le;function _(){let o=this.inverted;this.axes.forEach(n=>{n.stacking&&n.stacking.stacks&&n.hasVisibleSeries&&(n.stacking.oldStacks=n.stacking.stacks)}),this.series.forEach(n=>{let r=n.xAxis&&n.xAxis.options||{};n.options.stacking&&n.reserveSpace()&&(n.stackKey=[n.type,I(n.options.stack,""),o?r.top:r.left,o?r.height:r.width].join(","))})}function m(){let o=this.stacking;if(o){let n=o.stacks;A(n,(r,l)=>{j(r),delete n[l]}),o.stackTotalGroup?.destroy()}}function w(){this.stacking||(this.stacking=new v(this))}function G(o,n,r,l){return!E(o)||o.x!==n||l&&o.stackKey!==l?o={x:n,index:0,key:l,stackKey:l}:o.index++,o.key=[r,n,o.index].join(","),o}function O(){let o,n=this,l=n.stackKey||"",d=n.yAxis.stacking.stacks,C=n.processedXData,p=n[n.options.stacking+"Stacker"];p&&[l,"-"+l].forEach(T=>{let z,K,U,B=C.length;for(;B--;)z=C[B],o=n.getStackIndicator(o,z,n.index,T),K=d[T]?.[z],(U=K?.points[o.key||""])&&p.call(n,U,K,B)})}function f(o,n,r){let l=n.total?100/n.total:0;o[0]=X(o[0]*l),o[1]=X(o[1]*l),this.stackedYData[r]=o[1]}function a(o){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?J.setStackedPoints.call(this,o,"group"):o.stacking.resetStacks())}function g(o,n){let r,l,d,C,k,p,T,B,z,K=n||this.options.stacking;if(!K||!this.reserveSpace()||({group:"xAxis"}[K]||"yAxis")!==o.coll)return;let U=this.processedXData,se=this.processedYData,S=[],$=se.length,H=this.options,x=H.threshold||0,N=H.startFromThreshold?x:0,R=H.stack,Z=n?`${this.type},${K}`:this.stackKey||"",Y="-"+Z,he=this.negStacks,ge=o.stacking,_e=ge.stacks,Te=ge.oldStacks;for(ge.stacksTouched+=1,T=0;T<$;T++){B=U[T],z=se[T],p=(r=this.getStackIndicator(r,B,this.index)).key||"",_e[k=(l=he&&z<(N?0:x))?Y:Z]||(_e[k]={}),_e[k][B]||(Te[k]?.[B]?(_e[k][B]=Te[k][B],_e[k][B].total=null):_e[k][B]=new ve(o,o.options.stackLabels,!!l,B,R)),d=_e[k][B],null!==z?(d.points[p]=d.points[this.index]=[I(d.cumulative,N)],E(d.cumulative)||(d.base=p),d.touched=ge.stacksTouched,r.index>0&&!1===this.singleStacks&&(d.points[p][0]=d.points[this.index+","+B+",0"][0])):(delete d.points[p],delete d.points[this.index]);let Oe=d.total||0;"percent"===K?(C=l?Z:Y,Oe=he&&_e[C]?.[B]?(C=_e[C][B]).total=Math.max(C.total||0,Oe)+Math.abs(z)||0:X(Oe+(Math.abs(z)||0))):"group"===K?(P(z)&&(z=z[0]),null!==z&&Oe++):Oe=X(Oe+(z||0)),d.cumulative="group"===K?(Oe||1)-1:X(I(d.cumulative,N)+(z||0)),d.total=Oe,null!==z&&(d.points[p].push(d.cumulative),S[T]=d.cumulative,d.hasValidPoints=!0)}"percent"===K&&(ge.usePercentage=!0),"group"!==K&&(this.stackedYData=S),ge.oldStacks={}}class v{constructor(n){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=n}buildStacks(){let n,r,l=this.axis,d=l.series,C="xAxis"===l.coll,k=l.options.reversedStacks,p=d.length;for(this.resetStacks(),this.usePercentage=!1,r=p;r--;)n=d[k?r:p-r-1],C&&n.setGroupedPoints(l),n.setStackedPoints(l);if(!C)for(r=0;r{A(n,r=>{r.cumulative=r.total})}))}resetStacks(){A(this.stacks,n=>{A(n,(r,l)=>{D(r.touched)&&r.touched{A(p,T=>{T.render(k)})}),k.animate({opacity:1},C)}}return(pe||(pe={})).compose=function(o,n,r){let l=n.prototype,d=r.prototype;l.getStacks||(te(o,"init",w),te(o,"destroy",m),l.getStacks=_,d.getStackIndicator=G,d.modifyStacks=O,d.percentStacker=f,d.setGroupedPoints=a,d.setStackedPoints=g)},pe}),Le(V,"Series/Line/LineSeries.js",[V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{defined:ve,merge:le,isObject:pe}=re;class ue extends q{drawGraph(){let te=this.options,X=(this.gappedPath||this.getGraphPath).call(this),E=this.chart.styledMode;[this,...this.zones].forEach((j,F)=>{let P,D=j.graph,A=D?"animate":"attr",I=j.dashStyle||te.dashStyle;D?(D.endX=this.preventGraphAnimation?null:X.xMap,D.animate({d:X})):X.length&&(j.graph=D=this.chart.renderer.path(X).addClass("highcharts-graph"+(F?` highcharts-zone-graph-${F-1} `:" ")+(F&&j.className||"")).attr({zIndex:1}).add(this.group)),D&&!E&&(P={stroke:!F&&te.lineColor||j.color||this.color||"#cccccc","stroke-width":te.lineWidth||0,fill:this.fillGraph&&this.color||"none"},I?P.dashstyle=I:"square"!==te.linecap&&(P["stroke-linecap"]=P["stroke-linejoin"]="round"),D[A](P).shadow(F<2&&te.shadow&&le({filterUnits:"userSpaceOnUse"},pe(te.shadow)?te.shadow:{}))),D&&(D.startX=X.xMap,D.isArea=X.isArea)})}getGraphPath(te,X,E){let A,j=this,F=j.options,P=[],D=[],I=F.step,_=(te=te||j.points).reversed;return _&&te.reverse(),(I={right:1,center:2}[I]||I&&3)&&_&&(I=4-I),(te=this.getValidPoints(te,!1,!(F.connectNulls&&!X&&!E))).forEach(function(m,w){let G,O=m.plotX,f=m.plotY,a=te[w-1],g=m.isNull||"number"!=typeof f;(m.leftCliff||a&&a.rightCliff)&&!E&&(A=!0),g&&!ve(X)&&w>0?A=!F.connectNulls:g&&!X?A=!0:(0===w||A?G=[["M",m.plotX,m.plotY]]:j.getPointSpline?G=[j.getPointSpline(te,m,w)]:I?(G=1===I?[["L",a.plotX,f]]:2===I?[["L",(a.plotX+O)/2,a.plotY],["L",(a.plotX+O)/2,f]]:[["L",O,a.plotY]]).push(["L",O,f]):G=[["L",O,f]],D.push(m.x),I&&(D.push(m.x),2===I&&D.push(m.x)),P.push.apply(P,G),A=!1)}),P.xMap=D,j.graphPath=P,P}}return ue.defaultOptions=le(q.defaultOptions,{legendSymbol:"lineMarker"}),ne.registerSeriesType("line",ue),ue}),Le(V,"Series/Area/AreaSeries.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne){let{seriesTypes:{line:re}}=q,{extend:ve,merge:le,objectEach:pe,pick:ue}=ne;class J extends re{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:X,options:E}=this;[this,...this.zones].forEach((j,F)=>{let P={},D=j.fillColor||E.fillColor,A=j.area,I=A?"animate":"attr";A?(A.endX=this.preventGraphAnimation?null:X.xMap,A.animate({d:X})):(P.zIndex=0,(A=j.area=this.chart.renderer.path(X).addClass("highcharts-area"+(F?` highcharts-zone-area-${F-1} `:" ")+(F&&j.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(P.fill=D||j.color||this.color,P["fill-opacity"]=D?1:E.fillOpacity??.75,A.css({pointerEvents:this.stickyTracking?"none":"auto"})),A[I](P),A.startX=X.xMap,A.shiftUnit=E.step?2:1})}getGraphPath(X){let E,j,F,P=re.prototype.getGraphPath,D=this.options,A=D.stacking,I=this.yAxis,_=[],m=[],w=this.index,G=I.stacking.stacks[this.stackKey],O=D.threshold,f=Math.round(I.getThreshold(D.threshold)),a=ue(D.connectNulls,"percent"===A),g=function(d,C,k){let K,U,p=X[d],T=A&&G[p.x].points[w],B=p[k+"Null"]||0,z=p[k+"Cliff"]||0,se=!0;z||B?(K=(B?T[0]:T[1])+z,U=T[0]+z,se=!!B):!A&&X[C]&&X[C].isNull&&(K=U=O),void 0!==K&&(m.push({plotX:E,plotY:null===K?f:I.getThreshold(K),isNull:se,isCliff:!0}),_.push({plotX:E,plotY:null===U?f:I.getThreshold(U),doCurve:!1}))};X=X||this.points,A&&(X=this.getStackPoints(X));for(let d=0,C=X.length;df.visible);F.forEach(function(f,a){let v,o,g=0;if(I[f]&&!I[f].isNull)j.push(I[f]),[-1,1].forEach(function(n){let r=1===n?"rightNull":"leftNull",l=A[F[a+n]],d=0;if(l){let C=G;for(;C>=0&&C=0&&nO&&j>A?(j=Math.max(O,A),P=2*A-j):ja&&P>A?(P=Math.max(a,A),j=2*A-P):P=Math.abs(f)&&r>.5;return g=r-(f=Math.round(f)+n),l&&g&&(f-=1,g+=1),{x:O,y:f,width:a,height:g}}adjustForMissingColumns(O,f,a,g){if(!a.isNull&&g.columnCount>1){let v=this.xAxis.series.filter(l=>l.visible).map(l=>l.index),o=0,n=0;m(this.xAxis.stacking?.stacks,l=>{if("number"==typeof a.x){let d=l[a.x.toString()];if(d&&D(d.points[this.index])){let C=Object.keys(d.points).filter(k=>!k.match(",")&&d.points[k]&&d.points[k].length>1).map(parseFloat).filter(k=>-1!==v.indexOf(k)).sort((k,p)=>p-k);o=C.indexOf(this.index),n=C.length}}}),o=this.xAxis.reversed?n-1-o:o,O=(a.plotX||0)+((n-1)*g.paddedWidth+f)/2-f-o*g.paddedWidth}return O}translate(){let O=this,f=O.chart,a=O.options,g=O.dense=O.closestPointRange*O.xAxis.transA<2,v=O.borderWidth=_(a.borderWidth,g?0:1),o=O.xAxis,n=O.yAxis,r=a.threshold,l=_(a.minPointLength,5),d=O.getColumnMetrics(),C=d.width,k=O.pointXOffset=d.offset,p=O.dataMin,T=O.dataMax,B=O.barW=Math.max(C,1+2*v),z=O.translatedThreshold=n.getThreshold(r);f.inverted&&(z-=.5),a.pointPadding&&(B=Math.ceil(B)),le.prototype.translate.apply(O),O.points.forEach(function(K){let H,U=_(K.yBottom,z),se=999+Math.abs(U),S=K.plotX||0,$=E(K.plotY,-se,n.len+se),x=Math.min($,U),N=Math.max($,U)-x,R=C,Z=S+k,Y=B;l&&Math.abs(N)l?U-l:z-(H?l:0)),j(K.options.pointWidth)&&(Z-=Math.round(((R=Y=Math.ceil(K.options.pointWidth))-C)/2)),a.centerInCategory&&!a.stacking&&(Z=O.adjustForMissingColumns(Z,R,K,d)),K.barX=Z,K.pointWidth=R,K.tooltipPos=f.inverted?[E(n.len+n.pos-f.plotLeft-$,n.pos-f.plotLeft,n.len+n.pos-f.plotLeft),o.len+o.pos-f.plotTop-Z-Y/2,N]:[o.left-f.plotLeft+Z+Y/2,E($+n.pos-f.plotTop,n.pos-f.plotTop,n.len+n.pos-f.plotTop),N],K.shapeType=O.pointClass.prototype.shapeType||"roundedRect",K.shapeArgs=O.crispCol(Z,K.isNull?z:x,Y,K.isNull?0:N)}),P(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(O,f){let n,r,l,a=this.options,g=this.pointAttrToOptions||{},v=g.stroke||"borderColor",o=g["stroke-width"]||"borderWidth",d=O&&O.color||this.color,C=O&&O[v]||a[v]||d,k=O&&O.options.dashStyle||a.dashStyle,p=O&&O[o]||a[o]||this[o]||0,T=_(O&&O.opacity,a.opacity,1);O&&this.zones.length&&(r=O.getZone(),d=O.options.color||r&&(r.color||O.nonZonedColor)||this.color,r&&(C=r.borderColor||C,k=r.dashStyle||k,p=r.borderWidth||p)),f&&O&&(l=(n=I(a.states[f],O.options.states&&O.options.states[f]||{})).brightness,d=n.color||void 0!==l&&te(d).brighten(n.brightness).get()||d,C=n[v]||C,p=n[o]||p,k=n.dashStyle||k,T=_(n.opacity,T));let B={fill:d,stroke:C,"stroke-width":p,opacity:T};return k&&(B.dashstyle=k),B}drawPoints(O=this.points){let f,a=this,g=this.chart,v=a.options,o=g.renderer,n=v.animationLimit||250;O.forEach(function(r){let d=r.graphic,C=!!d,k=d&&g.pointCounto?.enabled)}function m(o,n,r,l,d){let C=this.chart,k=this.isCartesian&&C.inverted,p=this.enabledDataSorting,T=o.plotX,B=o.plotY,z=r.rotation||0,K=ue(T)&&ue(B)&&C.isInsidePlot(T,Math.round(B),{inverted:k,paneCoordinates:!0,series:this}),U=0===z&&"justify"===P(r.overflow,p?"none":"justify"),se=this.visible&&!1!==o.visible&&ue(T)&&(o.series.forceDL||p&&!U||K||P(r.inside,!!this.options.stacking)&&l&&C.isInsidePlot(T,k?l.x+1:l.y+l.height-1,{inverted:k,paneCoordinates:!0,series:this})),S=o.pos();if(se&&S){let H=n.getBBox(),x=n.getBBox(void 0,0),N={right:1,center:.5}[r.align||0]||0,R={bottom:1,middle:.5}[r.verticalAlign||0]||0;if(l=J({x:S[0],y:Math.round(S[1]),width:0,height:0},l||{}),J(r,{width:H.width,height:H.height}),p&&this.xAxis&&!U&&this.setDataLabelStartPos(o,n,d,K,l),n.align(j(r,{width:x.width,height:x.height}),!1,l,!1),n.alignAttr.x+=N*(x.width-H.width),n.alignAttr.y+=R*(x.height-H.height),n[n.placed?"animate":"attr"]({x:n.alignAttr.x+(H.width-x.width)/2,y:n.alignAttr.y+(H.height-x.height)/2,rotationOriginX:(n.width||0)/2,rotationOriginY:(n.height||0)/2}),U&&l.height>=0)this.justifyDataLabel(n,r,n.alignAttr,H,l,d);else if(P(r.crop,!0)){let{x:Z,y:Y}=n.alignAttr;se=C.isInsidePlot(Z,Y,{paneCoordinates:!0,series:this})&&C.isInsidePlot(Z+H.width-1,Y+H.height-1,{paneCoordinates:!0,series:this})}r.shape&&!z&&n[d?"attr":"animate"]({anchorX:S[0],anchorY:S[1]})}d&&p&&(n.placed=!1),se||p&&!U?(n.show(),n.placed=!0):(n.hide(),n.placed=!1)}function w(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function G(o){let n=this.hasRendered||0,r=this.initDataLabelsGroup().attr({opacity:+n});return!n&&r&&(this.visible&&r.show(),this.options.animation?r.animate({opacity:1},o):r.attr({opacity:1})),r}function O(o){let n;o=o||this.points;let r=this,l=r.chart,d=r.options,C=l.renderer,{backgroundColor:k,plotBackgroundColor:p}=l.options.chart,T=C.getContrast(E(p)&&p||E(k)&&k||"#000000"),B=g(r),{animation:z,defer:K}=B[0],U=K?le(l,z,r):{defer:0,duration:0};te(this,"drawDataLabels"),r.hasDataLabels?.()&&(n=this.initDataLabels(U),o.forEach(se=>{let S=se.dataLabels||[];A(a(B,se.dlOptions||se.options?.dataLabels)).forEach((H,x)=>{let ge,_e,Te,Oe,ee,N=H.enabled&&(se.visible||se.dataLabelOnHidden)&&(!se.isNull||se.dataLabelOnNull)&&function(be,xe){let Ie=xe.filter;if(Ie){let we=Ie.operator,Ee=be[Ie.property],Me=Ie.value;return">"===we&&Ee>Me||"<"===we&&Ee="===we&&Ee>=Me||"<="===we&&Ee<=Me||"=="===we&&Ee==Me||"==="===we&&Ee===Me||"!="===we&&Ee!=Me||"!=="===we&&Ee!==Me}return!0}(se,H),{backgroundColor:R,borderColor:Z,distance:Y,style:he={}}=H,De={},Be=S[x],oe=!Be;if(N&&(_e=P(H[se.formatPrefix+"Format"],H.format),ge=se.getLabelConfig(),Te=ue(_e)?pe(_e,ge,l):(H[se.formatPrefix+"Formatter"]||H.formatter).call(ge,H),Oe=H.rotation,!l.styledMode&&(he.color=P(H.color,he.color,E(r.color)?r.color:void 0,"#000000"),"contrast"===he.color?("none"!==R&&(ee=R),se.contrastColor=C.getContrast("auto"!==ee&&ee||se.color||r.color),he.color=ee||!ue(Y)&&H.inside||0>D(Y||0)||d.stacking?se.contrastColor:T):delete se.contrastColor,d.cursor&&(he.cursor=d.cursor)),De={r:H.borderRadius||0,rotation:Oe,padding:H.padding,zIndex:1},l.styledMode||(De.fill="auto"===R?se.color:R,De.stroke="auto"===Z?se.color:Z,De["stroke-width"]=H.borderWidth),F(De,(be,xe)=>{void 0===be&&delete De[xe]})),!Be||N&&ue(Te)&&!!Be.div==!!H.useHTML&&(Be.rotation&&H.rotation||Be.rotation===H.rotation)||(Be=void 0,oe=!0),N&&ue(Te)&&(Be?De.text=Te:(Be=C.label(Te,0,0,H.shape,void 0,void 0,H.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+se.colorIndex+" "+(H.className||"")+(H.useHTML?" highcharts-tracker":"")),Be)){Be.options=H,Be.attr(De),l.styledMode||Be.css(he).shadow(H.shadow);let be=H[se.formatPrefix+"TextPath"]||H.textPath;be&&!H.useHTML&&(Be.setTextPath(se.getDataLabelPath?.(Be)||se.graphic,be),se.dataLabelPath&&!be.enabled&&(se.dataLabelPath=se.dataLabelPath.destroy())),Be.added||Be.add(n),r.alignDataLabel(se,Be,H,void 0,oe),Be.isActive=!0,S[x]&&S[x]!==Be&&S[x].destroy(),S[x]=Be}});let $=S.length;for(;$--;)S[$]&&S[$].isActive?S[$].isActive=!1:(S[$]?.destroy(),S.splice($,1));se.dataLabel=S[0],se.dataLabels=S})),te(this,"afterDrawDataLabels")}function f(o,n,r,l,d,C){let U,se,k=this.chart,p=n.align,T=n.verticalAlign,B=o.box?0:o.padding||0,{x:z=0,y:K=0}=n;return(U=(r.x||0)+B)<0&&("right"===p&&z>=0?(n.align="left",n.inside=!0):z-=U,se=!0),(U=(r.x||0)+l.width-B)>k.plotWidth&&("left"===p&&z<=0?(n.align="right",n.inside=!0):z+=k.plotWidth-U,se=!0),(U=r.y+B)<0&&("bottom"===T&&K>=0?(n.verticalAlign="top",n.inside=!0):K-=U,se=!0),(U=(r.y||0)+l.height-B)>k.plotHeight&&("top"===T&&K<=0?(n.verticalAlign="bottom",n.inside=!0):K+=k.plotHeight-U,se=!0),se&&(n.x=z,n.y=K,o.placed=!C,o.align(n,void 0,d)),se}function a(o,n){let l,r=[];if(X(o)&&!X(n))r=o.map(function(d){return j(d,n)});else if(X(n)&&!X(o))r=n.map(function(d){return j(o,d)});else if(X(o)||X(n)){if(X(o)&&X(n))for(l=Math.max(o.length,n.length);l--;)r[l]=j(o[l],n[l])}else r=j(o,n);return r}function g(o){let n=o.chart.options.plotOptions;return A(a(a(n?.series?.dataLabels,n?.[o.type]?.dataLabels),o.options.dataLabels))}function v(o,n,r,l,d){let C=this.chart,k=C.inverted,p=this.xAxis,T=p.reversed,B=((k?n.height:n.width)||0)/2,z=o.pointWidth,K=z?z/2:0;n.startXPos=k?d.x:T?-B-K:p.width-B+K,n.startYPos=k?T?this.yAxis.height-B+K:-B-K:d.y,l?"hidden"===n.visibility&&(n.show(),n.attr({opacity:0}).animate({opacity:1})):n.attr({opacity:1}).animate({opacity:0},void 0,n.hide),C.hasRendered&&(r&&n.attr({x:n.startXPos,y:n.startYPos}),n.placed=!0)}I.compose=function(o){let n=o.prototype;n.initDataLabels||(n.initDataLabels=G,n.initDataLabelsGroup=w,n.alignDataLabel=m,n.drawDataLabels=O,n.justifyDataLabel=f,n.setDataLabelStartPos=v,n.hasDataLabels=_)}}(ve||(ve={})),ve}),Le(V,"Series/Column/ColumnDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{composed:pe}=ne,{series:ue}=re,{merge:J,pick:te,pushUnique:X}=ve;return function(E){function j(F,P,D,A,I){let _=this.chart.inverted,m=F.series,w=(m.xAxis?m.xAxis.len:this.chart.plotSizeX)||0,G=(m.yAxis?m.yAxis.len:this.chart.plotSizeY)||0,O=F.dlBox||F.shapeArgs,f=te(F.below,F.plotY>te(this.translatedThreshold,G)),a=te(D.inside,!!this.options.stacking);if(O){if(A=J(O),"allow"!==D.overflow||!1!==D.crop){A.y<0&&(A.height+=A.y,A.y=0);let g=A.y+A.height-G;g>0&&g\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),Le(V,"Series/Scatter/ScatterSeries.js",[V["Series/Scatter/ScatterSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{column:ve,line:le}=ne.seriesTypes,{addEvent:pe,extend:ue,merge:J}=re;class te extends le{applyJitter(){let E=this,j=this.options.jitter,F=this.points.length;j&&this.points.forEach(function(P,D){["x","y"].forEach(function(A,I){let _,w,G,O,m="plot"+A.toUpperCase();j[A]&&!P.isNull&&(_=E[A+"Axis"],O=j[A]*_.transA,_&&!_.isLog&&(w=Math.max(0,P[m]-O),G=Math.min(_.len,P[m]+O),P[m]=w+(G-w)*function(f){let a=1e4*Math.sin(f);return a-Math.floor(a)}(D+I*F),"x"===A&&(P.clientX=P.plotX)))})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return te.defaultOptions=J(le.defaultOptions,q),ue(te.prototype,{drawTracker:ve.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),pe(te,"afterTranslate",function(){this.applyJitter()}),ne.registerSeriesType("scatter",te),te}),Le(V,"Series/CenteredUtilities.js",[V["Core/Globals.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve,le;let{deg2rad:pe}=q,{fireEvent:ue,isNumber:J,pick:te,relativeLength:X}=re;return(le=ve||(ve={})).getCenter=function(){let m,O,f,E=this.options,j=this.chart,F=2*(E.slicedOffset||0),P=j.plotWidth-2*F,D=j.plotHeight-2*F,A=E.center,I=Math.min(P,D),_=E.thickness,w=E.size,G=E.innerSize||0;"string"==typeof w&&(w=parseFloat(w)),"string"==typeof G&&(G=parseFloat(G));let a=[te(A[0],"50%"),te(A[1],"50%"),te(w&&w<0?void 0:E.size,"100%"),te(G&&G<0?void 0:E.innerSize||0,"0%")];for(!j.angular||this instanceof ne||(a[3]=0),O=0;O<4;++O)f=a[O],m=O<2||2===O&&/%$/.test(f),a[O]=X(f,[P,D,I,a[2]][O])+(m?F:0);return a[3]>a[2]&&(a[3]=a[2]),J(_)&&2*_0&&(a[3]=a[2]-2*_),ue(this,"afterGetCenter",{positions:a}),a},le.getStartAndEndRadians=function(E,j){let F=J(E)?E:0,P=J(j)&&j>F&&j-F<360?j:F+360;return{start:pe*(F+-90),end:pe*(P+-90)}},ve}),Le(V,"Series/Pie/PiePoint.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(q,ne,re){let{setAnimation:ve}=q,{addEvent:le,defined:pe,extend:ue,isNumber:J,pick:te,relativeLength:X}=re;class E extends ne{getConnectorPath(F){let P=F.dataLabelPosition,D=F.options||{},A=D.connectorShape;return P&&(this.connectorShapes[A]||A).call(this,{...P.computed,alignment:P.alignment},P.connectorPosition,D)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(F){let P=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(P.x,P.y,P.r+F,P.r+F,{innerR:P.r-1,start:P.start,end:P.end,borderRadius:P.borderRadius})}constructor(F,P,D){super(F,P,D),this.half=0,this.name??(this.name="Slice");let A=I=>{this.slice("select"===I.type)};le(this,"select",A),le(this,"unselect",A)}isValid(){return J(this.y)&&this.y>=0}setVisible(F,P=!0){F!==this.visible&&this.update({visible:F??!this.visible},P,void 0,!1)}slice(F,P,D){let A=this.series;ve(D,A.chart),P=te(P,!0),this.sliced=this.options.sliced=F=pe(F)?F:!this.sliced,A.options.data[A.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return ue(E.prototype,{connectorShapes:{fixedOffset:function(j,F,P){let D=F.breakAt,A=F.touchingSliceAt;return[["M",j.x,j.y],P.softConnector?["C",j.x+("left"===j.alignment?-5:5),j.y,2*D.x-A.x,2*D.y-A.y,D.x,D.y]:["L",D.x,D.y],["L",A.x,A.y]]},straight:function(j,F){let P=F.touchingSliceAt;return[["M",j.x,j.y],["L",P.x,P.y]]},crookedLine:function(j,F,P){let{breakAt:D,touchingSliceAt:A}=F,{series:I}=this,[_,m,w]=I.center,G=w/2,{plotLeft:O,plotWidth:f}=I.chart,a="left"===j.alignment,{x:g,y:v}=j,o=D.x;if(P.crookDistance){let r=X(P.crookDistance,1);o=a?_+G+(f+O-_-G)*(1-r):O+(_-G)*r}else o=_+(m-v)*Math.tan((this.angle||0)-Math.PI/2);let n=[["M",g,v]];return(a?o<=g&&o>=D.x:o>=g&&o<=D.x)&&n.push(["L",o,v]),n.push(["L",D.x,D.y],["L",A.x,A.y]),n}}}),E}),Le(V,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),Le(V,"Series/Pie/PieSeries.js",[V["Series/CenteredUtilities.js"],V["Series/Column/ColumnSeries.js"],V["Core/Globals.js"],V["Series/Pie/PiePoint.js"],V["Series/Pie/PieSeriesDefaults.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te){let{getStartAndEndRadians:X}=q,{noop:E}=re,{clamp:j,extend:F,fireEvent:P,merge:D,pick:A}=te;class I extends pe{animate(m){let w=this,O=w.startAngleRad;m||w.points.forEach(function(f){let a=f.graphic,g=f.shapeArgs;a&&g&&(a.attr({r:A(f.startR,w.center&&w.center[3]/2),start:O,end:O}),a.animate({r:g.r,start:g.start,end:g.end},w.options.animation))})}drawEmpty(){let m,w,G=this.startAngleRad,O=this.endAngleRad,f=this.options;0===this.total&&this.center?(m=this.center[0],w=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(m,w,this.center[1]/2,0,G,O).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:J.arc(m,w,this.center[2]/2,0,{start:G,end:O,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":f.borderWidth,fill:f.fillColor||"none",stroke:f.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let m=this.chart.renderer;this.points.forEach(function(w){w.graphic&&w.hasNewShapeType()&&(w.graphic=w.graphic.destroy()),w.graphic||(w.graphic=m[w.shapeType](w.shapeArgs).add(w.series.group),w.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(m,w,G,O){let f=this.center,a=this.radii?this.radii[G.index]||0:f[2]/2,g=O.dataLabelPosition,v=g?.distance||0,o=Math.asin(j((m-f[1])/(a+v),-1,1));return f[0]+Math.cos(o)*(a+v)*(w?-1:1)+(v>0?(w?-1:1)*(O.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let m,w,G,O,f=this,a=f.chart;this.drawEmpty(),f.group&&!a.styledMode&&f.group.shadow(f.options.shadow),f.points.forEach(function(g){let v={};w=g.graphic,!g.isNull&&w?(O=g.shapeArgs,m=g.getTranslate(),a.styledMode||(G=f.pointAttribs(g,g.selected&&"select")),g.delayedRendering?(w.setRadialReference(f.center).attr(O).attr(m),a.styledMode||w.attr(G).attr({"stroke-linejoin":"round"}),g.delayedRendering=!1):(w.setRadialReference(f.center),a.styledMode||D(!0,v,G),D(!0,v,O,m),w.animate(v)),w.attr({visibility:g.visible?"inherit":"hidden"}),w.addClass(g.getClassName(),!0)):w&&(g.graphic=w.destroy())})}sortByAngle(m,w){m.sort(function(G,O){return void 0!==G.angle&&(O.angle-G.angle)*w})}translate(m){P(this,"translate"),this.generatePoints();let n,r,l,d,C,k,p,w=this.options,G=w.slicedOffset,O=X(w.startAngle,w.endAngle),f=this.startAngleRad=O.start,a=(this.endAngleRad=O.end)-f,g=this.points,v=w.ignoreHiddenPoint,o=g.length,T=0;for(m||(this.center=m=this.getCenter()),k=0;k1.5*Math.PI?l-=2*Math.PI:l<-Math.PI/2&&(l+=2*Math.PI),p.slicedTranslation={translateX:Math.round(Math.cos(l)*G),translateY:Math.round(Math.sin(l)*G)},d=Math.cos(l)*m[2]/2,C=Math.sin(l)*m[2]/2,p.tooltipPos=[m[0]+.7*d,m[1]+.7*C],p.half=l<-Math.PI/2||l>Math.PI/2?1:0,p.angle=l}P(this,"afterTranslate")}updateTotals(){let O,f,m=this.points,w=m.length,G=this.options.ignoreHiddenPoint,a=0;for(O=0;O0&&(f.visible||!G)?f.y/a*100:0,f.total=a}}return I.defaultOptions=D(pe.defaultOptions,le),F(I.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:ne.prototype.drawTracker,getCenter:q.getCenter,getSymbol:E,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:ne.prototype.pointAttribs,pointClass:ve,requireSorting:!1,searchPoint:E,trackerGroups:["group","dataLabelsGroup"]}),ue.registerSeriesType("pie",I),I}),Le(V,"Series/Pie/PieDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{composed:ue,noop:J}=ne,{distribute:te}=re,{series:X}=ve,{arrayMax:E,clamp:j,defined:F,pick:P,pushUnique:D,relativeLength:A}=le;return function(I){let _={radialDistributionY:function(f,a){return(a.dataLabelPosition?.top||0)+f.distributeBox.pos},radialDistributionX:function(f,a,g,v,o){let n=o.dataLabelPosition;return f.getX(g<(n?.top||0)+2||g>(n?.bottom||0)-2?v:g,a.half,a,o)},justify:function(f,a,g,v){return v[0]+(f.half?-1:1)*(g+(a.dataLabelPosition?.distance||0))},alignToPlotEdges:function(f,a,g,v){let o=f.getBBox().width;return a?o+v:g-o-v},alignToConnectors:function(f,a,g,v){let n,o=0;return f.forEach(function(r){(n=r.dataLabel.getBBox().width)>o&&(o=n)}),a?o+v:g-o-v}};function m(f,a){let{center:g,options:v}=this,o=g[2]/2,n=f.angle||0,r=Math.cos(n),l=Math.sin(n),d=g[0]+r*o,C=g[1]+l*o,k=Math.min((v.slicedOffset||0)+(v.borderWidth||0),a/5);return{natural:{x:d+r*a,y:C+l*a},computed:{},alignment:a<0?"center":f.half?"right":"left",connectorPosition:{breakAt:{x:d+r*k,y:C+l*k},touchingSliceAt:{x:d,y:C}},distance:a}}function w(){let B,z,K,f=this,a=f.points,g=f.chart,v=g.plotWidth,o=g.plotHeight,n=g.plotLeft,r=Math.round(g.chartWidth/3),l=f.center,d=l[2]/2,C=l[1],k=[[],[]],p=[0,0,0,0],T=f.dataLabelPositioners,U=0;f.visible&&f.hasDataLabels?.()&&(a.forEach(se=>{(se.dataLabels||[]).forEach(S=>{S.shortened&&(S.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),S.shortened=!1)})}),X.prototype.drawDataLabels.apply(f),a.forEach(se=>{(se.dataLabels||[]).forEach((S,$)=>{let H=l[2]/2,x=S.options,N=A(x?.distance||0,H);0===$&&k[se.half].push(se),!F(x?.style?.width)&&S.getBBox().width>r&&(S.css({width:Math.round(.7*r)+"px"}),S.shortened=!0),S.dataLabelPosition=this.getDataLabelPosition(se,N),U=Math.max(U,N)})}),k.forEach((se,S)=>{let x,N,Z,H=[],R=0;se.length&&(f.sortByAngle(se,S-.5),U>0&&(x=Math.max(0,C-d-U),N=Math.min(C+d+U,g.plotHeight),se.forEach(Y=>{(Y.dataLabels||[]).forEach(he=>{let ge=he.dataLabelPosition;ge&&ge.distance>0&&(ge.top=Math.max(0,C-d-ge.distance),ge.bottom=Math.min(C+d+ge.distance,g.plotHeight),R=he.getBBox().height||21,Y.distributeBox={target:(he.dataLabelPosition?.natural.y||0)-ge.top+R/2,size:R,rank:Y.y},H.push(Y.distributeBox))})}),te(H,Z=N+R-x,Z/5)),se.forEach(Y=>{(Y.dataLabels||[]).forEach(he=>{let ge=he.options||{},_e=Y.distributeBox,Te=he.dataLabelPosition,Oe=Te?.natural.y||0,De=ge.connectorPadding||0,Be=0,oe=Oe,ee="inherit";if(Te){if(H&&F(_e)&&Te.distance>0&&(void 0===_e.pos?ee="hidden":(K=_e.size,oe=T.radialDistributionY(Y,he))),ge.justify)Be=T.justify(Y,he,d,l);else switch(ge.alignTo){case"connectors":Be=T.alignToConnectors(se,S,v,n);break;case"plotEdges":Be=T.alignToPlotEdges(he,S,v,n);break;default:Be=T.radialDistributionX(f,Y,oe,Oe,he)}if(Te.attribs={visibility:ee,align:Te.alignment},Te.posAttribs={x:Be+(ge.x||0)+({left:De,right:-De}[Te.alignment]||0),y:oe+(ge.y||0)-he.getBBox().height/2},Te.computed.x=Be,Te.computed.y=oe,P(ge.crop,!0)){let be;Be-(z=he.getBBox().width)v-De&&0===S&&(be=Math.round(Be+z-v+De),p[1]=Math.max(be,p[1])),oe-K/2<0?p[0]=Math.max(Math.round(K/2-oe),p[0]):oe+K/2>o&&(p[2]=Math.max(Math.round(oe+K/2-o),p[2])),Te.sideOverflow=be}}})}))}),(0===E(p)||this.verifyDataLabelOverflow(p))&&(this.placeDataLabels(),this.points.forEach(se=>{(se.dataLabels||[]).forEach(S=>{let{connectorColor:$,connectorWidth:H=1}=S.options||{},x=S.dataLabelPosition;if(H){let N;B=S.connector,x&&x.distance>0?(N=!B,B||(S.connector=B=g.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+se.colorIndex+(se.className?" "+se.className:"")).add(f.dataLabelsGroup)),g.styledMode||B.attr({"stroke-width":H,stroke:$||se.color||"#666666"}),B[N?"attr":"animate"]({d:se.getConnectorPath(S)}),B.attr({visibility:x.attribs?.visibility})):B&&(S.connector=B.destroy())}})})))}function G(){this.points.forEach(f=>{(f.dataLabels||[]).forEach(a=>{let g=a.dataLabelPosition;g?(g.sideOverflow&&(a.css({width:Math.max(a.getBBox().width-g.sideOverflow,0)+"px",textOverflow:(a.options?.style||{}).textOverflow||"ellipsis"}),a.shortened=!0),a.attr(g.attribs),a[a.moved?"animate":"attr"](g.posAttribs),a.moved=!0):a&&a.attr({y:-9999})}),delete f.distributeBox},this)}function O(f){let a=this.center,g=this.options,v=g.center,o=g.minSize||80,n=o,r=null!==g.size;return!r&&(null!==v[0]?n=Math.max(a[2]-Math.max(f[1],f[3]),o):(n=Math.max(a[2]-f[1]-f[3],o),a[0]+=(f[3]-f[1])/2),null!==v[1]?n=j(n,o,a[2]-Math.max(f[0],f[2])):(n=j(n,o,a[2]-f[0]-f[2]),a[1]+=(f[0]-f[2])/2),n!(m.x>=_.x+_.width||m.x+m.width<=_.x||m.y>=_.y+_.height||m.y+m.height<=_.y),I=!1;for(let _=0;_(m.labelrank||0)-(_.labelrank||0));for(let _=0;_{ve(j,F=>{F.label&&X.push(F.label)})});for(let E of te.series||[])if(E.visible&&E.hasDataLabels?.()){let j=F=>{for(let P of F)P.visible&&(P.dataLabels||[]).forEach(D=>{let A=D.options||{};D.labelrank=le(A.labelrank,P.labelrank,P.shapeArgs?.height),A.allowOverlap??Number(A.distance)>0?(D.oldOpacity=D.opacity,D.newOpacity=1,ue(D,te)):X.push(D)})};j(E.nodes||[]),j(E.points)}this.hideOverlappingLabels(X)}return{compose:function(te){let X=te.prototype;X.hideOverlappingLabels||(X.hideOverlappingLabels=pe,ne(te,"render",J))}}}),Le(V,"Extensions/BorderRadius.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{defaultOptions:ve}=q,{noop:le}=ne,{addEvent:pe,extend:ue,isObject:J,merge:te,relativeLength:X}=re,E={radius:0,scope:"stack",where:void 0},j=le,F=le;function P(m,w,G,O,f={}){let a=j(m,w,G,O,f),{innerR:g=0,r:v=G,start:o=0,end:n=0}=f;if(f.open||!f.borderRadius)return a;let r=n-o,l=Math.sin(r/2),d=Math.max(Math.min(X(f.borderRadius||0,v-g),(v-g)/2,v*l/(1+l)),0),C=Math.min(d,r/Math.PI*2*g),k=a.length-1;for(;k--;)!function(p,T,B){let z,K,U,se=p[T],S=p[T+1];if("Z"===S[0]&&(S=p[0]),"M"!==se[0]&&"L"!==se[0]||"A"!==S[0]?"A"===se[0]&&("M"===S[0]||"L"===S[0])&&(z=S,K=se):(z=se,K=S,U=!0),z&&K&&K.params){let $=K[1],H=K[5],x=K.params,{start:N,end:R,cx:Z,cy:Y}=x,he=H?$-B:$+B,ge=he?Math.asin(B/he):0,_e=H?ge:-ge,Te=Math.cos(ge)*he;U?(x.start=N+_e,z[1]=Z+Te*Math.cos(N),z[2]=Y+Te*Math.sin(N),p.splice(T+1,0,["A",B,B,0,0,1,Z+$*Math.cos(x.start),Y+$*Math.sin(x.start)])):(x.end=R-_e,K[6]=Z+$*Math.cos(x.end),K[7]=Y+$*Math.sin(x.end),p.splice(T+1,0,["A",B,B,0,0,1,Z+Te*Math.cos(R),Y+Te*Math.sin(R)])),K[4]=Math.abs(x.end-x.start)1?C:d);return a}function D(){if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){let{options:m,yAxis:w}=this,G="percent"===m.stacking,O=ve.plotOptions?.[this.type]?.borderRadius,f=A(m.borderRadius,J(O)?O:{}),a=w.options.reversed;for(let g of this.points){let{shapeArgs:v}=g;if("roundedRect"===g.shapeType&&v){let{width:o=0,height:n=0,y:r=0}=v,l=r,d=n;if("stack"===f.scope&&g.stackTotal){let T=w.translate(G?100:g.stackTotal,!1,!0,!1,!0),B=w.translate(m.threshold||0,!1,!0,!1,!0),z=this.crispCol(0,Math.min(T,B),0,Math.abs(T-B));l=z.y,d=z.height}let C=(g.negative?-1:1)*(a?-1:1)==-1,k=f.where;!k&&this.is("waterfall")&&Math.abs((g.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(k="all"),k||(k="end");let p=Math.min(X(f.radius,o),o/2,"all"===k?n/2:1/0)||0;"end"===k&&(C&&(l-=p),d+=p),ue(v,{brBoxHeight:d,brBoxY:l,r:p})}}}}function A(m,w){return J(m)||(m={radius:m||0}),te(E,w,m)}function I(){let m=A(this.options.borderRadius);for(let w of this.points){let G=w.shapeArgs;G&&(G.borderRadius=X(m.radius,(G.r||0)-(G.innerR||0)))}}function _(m,w,G,O,f={}){let a=F(m,w,G,O,f),{r:g=0,brBoxHeight:v=O,brBoxY:o=w}=f,n=w-o,r=o+v-(w+O),l=n-g>-.1?0:g,d=r-g>-.1?0:g,C=Math.max(l&&n,0),k=Math.max(d&&r,0),p=[m+l,w],T=[m+G-l,w],B=[m+G,w+l],z=[m+G,w+O-d],K=[m+G-d,w+O],U=[m+d,w+O],se=[m,w+O-d],S=[m,w+l],$=(H,x)=>Math.sqrt(Math.pow(H,2)-Math.pow(x,2));if(C){let H=$(l,l-C);p[0]-=H,T[0]+=H,B[1]=S[1]=w+l-C}if(O=ue(P.minWidth,0)&&this.chartHeight>=ue(P.minHeight,0)}).call(this)&&F.push(j._id)}function E(j,F){let I,P=this.options.responsive,D=this.currentResponsive,A=[];!F&&P&&P.rules&&P.rules.forEach(w=>{void 0===w._id&&(w._id=J()),this.matchResponsiveRule(w,A)},this);let _=pe(...A.map(w=>le((P||{}).rules||[],G=>G._id===w)).map(w=>w&&w.chartOptions));_.isResponsiveOptions=!0,A=A.toString()||void 0,A!==(D&&D.ruleIds)&&(D&&this.update(D.undoOptions,j,!0),A?((I=re(_,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:A,mergedOptions:_,undoOptions:I},this.update(_,j,!0)):this.currentResponsive=void 0)}te.compose=function(j){let F=j.prototype;return F.matchResponsiveRule||ve(F,{matchResponsiveRule:X,setResponsive:E}),j}}(ne||(ne={})),ne}),Le(V,"masters/highcharts.src.js",[V["Core/Globals.js"],V["Core/Utilities.js"],V["Core/Defaults.js"],V["Core/Animation/Fx.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Templating.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Renderer/HTML/HTMLElement.js"],V["Core/Axis/Axis.js"],V["Core/Axis/DateTimeAxis.js"],V["Core/Axis/LogarithmicAxis.js"],V["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],V["Core/Axis/Tick.js"],V["Core/Tooltip.js"],V["Core/Series/Point.js"],V["Core/Pointer.js"],V["Core/Legend/Legend.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Chart/Chart.js"],V["Extensions/ScrollablePlotArea.js"],V["Core/Axis/Stacking/StackingAxis.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Series/Column/ColumnDataLabel.js"],V["Series/Pie/PieDataLabel.js"],V["Core/Series/DataLabel.js"],V["Extensions/OverlappingDataLabels.js"],V["Extensions/BorderRadius.js"],V["Core/Responsive.js"],V["Core/Color/Color.js"],V["Core/Time.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X,E,j,F,P,D,A,I,_,m,w,G,O,f,a,g,v,o,n,r,l,d,C,k,p,T,B){return q.AST=pe,q.Axis=F,q.Chart=f,q.Color=T,q.DataLabel=d,q.Fx=ve,q.HTMLElement=j,q.Legend=G,q.LegendSymbol=O,q.OverlappingDataLabels=q.OverlappingDataLabels||C,q.PlotLineOrBand=A,q.Point=m,q.Pointer=w,q.RendererRegistry=J,q.Series=o,q.SeriesRegistry=n,q.StackItem=v,q.SVGElement=X,q.SVGRenderer=E,q.Templating=ue,q.Tick=I,q.Time=B,q.Tooltip=_,q.animate=le.animate,q.animObject=le.animObject,q.chart=f.chart,q.color=T.parse,q.dateFormat=ue.dateFormat,q.defaultOptions=re.defaultOptions,q.distribute=te.distribute,q.format=ue.format,q.getDeferredAnimation=le.getDeferredAnimation,q.getOptions=re.getOptions,q.numberFormat=ue.numberFormat,q.seriesType=n.seriesType,q.setAnimation=le.setAnimation,q.setOptions=re.setOptions,q.stop=le.stop,q.time=re.defaultTime,q.timers=ve.timers,k.compose(q.Series,q.SVGElement,q.SVGRenderer),r.compose(q.Series.types.column),d.compose(q.Series),P.compose(q.Axis),j.compose(q.SVGRenderer),G.compose(q.Chart),D.compose(q.Axis),C.compose(q.Chart),l.compose(q.Series.types.pie),A.compose(q.Axis),w.compose(q.Chart),p.compose(q.Chart),a.compose(q.Axis,q.Chart,q.Series),g.compose(q.Axis,q.Chart,q.Series),_.compose(q.Pointer),ne.extend(q,ne),q}),Le(V,"Series/DataModifyComposition.js",[V["Core/Axis/Axis.js"],V["Core/Series/Point.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{tooltipFormatter:pe}=ne.prototype,{addEvent:ue,arrayMax:J,arrayMin:te,correctFloat:X,defined:E,isArray:j,isNumber:F,isString:P,pick:D}=ve;return function(A){function I(o,n,r){!this.isXAxis&&(this.series.forEach(function(l){"compare"===o&&"boolean"!=typeof n?l.setCompare(n,!1):"cumulative"!==o||P(n)||l.setCumulative(n,!1)}),D(r,!0)&&this.chart.redraw())}function _(o){let n=this,{numberFormatter:r}=n.series.chart,l=function(d){o=o.replace("{point."+d+"}",(n[d]>0&&"change"===d?"+":"")+r(n[d],D(n.series.tooltipOptions.changeDecimals,2)))};return E(n.change)&&l("change"),E(n.cumulativeSum)&&l("cumulativeSum"),pe.apply(this,[o])}function m(){let o,n=this.options.compare;("percent"===n||"value"===n||this.options.cumulative)&&(o=new v(this),"percent"===n||"value"===n?o.initCompare(n):o.initCumulative()),this.dataModify=o}function w(o){let n=o.dataExtremes,r=n.activeYData;if(this.dataModify&&n){let l;this.options.compare?l=[this.dataModify.modifyValue(n.dataMin),this.dataModify.modifyValue(n.dataMax)]:this.options.cumulative&&j(r)&&r.length>=2&&(l=v.getCumulativeExtremes(r)),l&&(n.dataMin=te(l),n.dataMax=J(l))}}function G(o,n){this.options.compare=this.userOptions.compare=o,this.update({},D(n,!0)),!this.dataModify||"value"!==o&&"percent"!==o?this.points.forEach(r=>{delete r.change}):this.dataModify.initCompare(o)}function O(){if(this.xAxis&&this.processedYData&&this.dataModify){let C,o=this.processedXData,n=this.processedYData,r=n.length,l=!0===this.options.compareStart?0:1,d=-1;for(this.pointArrayMap&&(d=this.pointArrayMap.indexOf(this.options.pointValKey||this.pointValKey||"y")),C=0;C-1?n[C][d]:n[C];if(F(k)&&0!==k&&o[C+l]>=(this.xAxis.min||0)){this.dataModify.compareValue=k;break}}}}function f(o,n){this.setModifier("compare",o,n)}function a(o,n){o=D(o,!1),this.options.cumulative=this.userOptions.cumulative=o,this.update({},D(n,!0)),this.dataModify?this.dataModify.initCumulative():this.points.forEach(r=>{delete r.cumulativeSum})}function g(o,n){this.setModifier("cumulative",o,n)}A.compose=function(o,n,r){let l=n.prototype,d=r.prototype,C=o.prototype;return C.setCompare||(C.setCompare=G,C.setCumulative=a,ue(o,"afterInit",m),ue(o,"afterGetExtremes",w),ue(o,"afterProcessData",O)),l.setCompare||(l.setCompare=f,l.setModifier=I,l.setCumulative=g,d.tooltipFormatter=_),o};class v{constructor(n){this.series=n}modifyValue(){return 0}static getCumulativeExtremes(n){let r=1/0,l=-1/0;return n.reduce((d,C)=>{let k=d+C;return r=Math.min(r,k,d),l=Math.max(l,k,d),k}),[r,l]}initCompare(n){this.modifyValue=function(r,l){null===r&&(r=0);let d=this.compareValue;if(void 0!==r&&void 0!==d){if("value"===n?r-=d:r=r/d*100-(100===this.series.options.compareBase?0:100),void 0!==l){let C=this.series.points[l];C&&(C.change=r)}return r}return 0}}initCumulative(){this.modifyValue=function(n,r){if(null===n&&(n=0),void 0!==n&&void 0!==r){let l=r>0?this.series.points[r-1]:null;l&&l.cumulativeSum&&(n=X(l.cumulativeSum+n));let d=this.series.points[r];return d&&(d.cumulativeSum=n),n}return 0}}}A.Additions=v}(le||(le={})),le}),Le(V,"Stock/Navigator/ChartNavigatorComposition.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let re,{isTouchDevice:ve}=q,{addEvent:le,merge:pe,pick:ue}=ne,J=[];function te(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function X(){let A,I,_,m=this.legend,w=this.navigator;if(w){A=m&&m.options,I=w.xAxis,_=w.yAxis;let{scrollbarHeight:G,scrollButtonSize:O}=w;this.inverted?(w.left=w.opposite?this.chartWidth-G-w.height:this.spacing[3]+G,w.top=this.plotTop+O):(w.left=ue(I.left,this.plotLeft+O),w.top=w.navigatorOptions.top||this.chartHeight-w.height-G-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(A&&"bottom"===A.verticalAlign&&"proximate"!==A.layout&&A.enabled&&!A.floating?m.legendHeight+ue(A.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),I&&_&&(this.inverted?I.options.left=_.options.left=w.left:I.options.top=_.options.top=w.top,I.setAxisSize(),_.setAxisSize())}}function E(A){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new re(this),ue(A.redraw,!0)&&this.redraw(A.animation))}function j(){let A=this.options;(A.navigator.enabled||A.scrollbar.enabled)&&(this.scroller=this.navigator=new re(this))}function F(){let A=this.options,I=A.navigator,_=A.rangeSelector;if((I&&I.enabled||_&&_.enabled)&&(!ve&&"x"===this.zooming.type||ve&&"x"===this.zooming.pinchType))return!1}function P(A){let I=A.navigator;if(I&&A.xAxis[0]){let _=A.xAxis[0].getExtremes();I.render(_.min,_.max)}}function D(A){let I=A.options.navigator||{},_=A.options.scrollbar||{};!this.navigator&&!this.scroller&&(I.enabled||_.enabled)&&(pe(!0,this.options.navigator,I),pe(!0,this.options.scrollbar,_),delete A.options.navigator,delete A.options.scrollbar)}return{compose:function(A,I){ne.pushUnique(J,A)&&(re=I,A.prototype.callbacks.push(P),le(A,"afterAddSeries",te),le(A,"afterSetChartSize",X),le(A,"afterUpdate",E),le(A,"beforeRender",j),le(A,"beforeShowResetZoom",F),le(A,"update",D))}}}),Le(V,"Core/Axis/NavigatorAxisComposition.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{isTouchDevice:re}=q,{addEvent:ve,correctFloat:le,defined:pe,isNumber:ue,pick:J}=ne;function te(){this.navigatorAxis||(this.navigatorAxis=new E(this))}function X(j){let F,P=this.chart,D=P.options,A=D.navigator,I=this.navigatorAxis,_=P.zooming.pinchType,m=D.rangeSelector,w=P.zooming.type;if(this.isXAxis&&(A?.enabled||m?.enabled))if("y"===w&&"zoom"===j.trigger)F=!1;else if(("zoom"===j.trigger&&"xy"===w||re&&"xy"===_)&&this.options.range){let G=I.previousZoom;pe(j.min)?I.previousZoom=[this.min,this.max]:G&&(j.min=G[0],j.max=G[1],I.previousZoom=void 0)}void 0!==F&&j.preventDefault()}class E{static compose(F){F.keepProps.includes("navigatorAxis")||(F.keepProps.push("navigatorAxis"),ve(F,"init",te),ve(F,"setExtremes",X))}constructor(F){this.axis=F}destroy(){this.axis=void 0}toFixedRange(F,P,D,A){let I=this.axis,_=I.chart,m=J(I.ordinal?.convertOverscroll(I.options.overscroll),0),w=J(D,I.translate(F,!0,!I.horiz)),G=J(A,I.translate(P,!0,!I.horiz)),O=_&&_.fixedRange,f=(I.pointRange||0)/2;if(pe(D)||(w=le(w+f)),pe(A)||(G=le(G-f)),O&&I.dataMin&&I.dataMax){let a=I.dataMax+m;G>=a&&(w=le(a-O),G=le(a)),w<=I.dataMin&&(G=le(I.dataMin+O))}return ue(w)&&ue(G)||(w=G=void 0),{min:w,max:G}}}return E}),Le(V,"Stock/Navigator/NavigatorDefaults.js",[V["Core/Color/Color.js"],V["Core/Series/SeriesRegistry.js"]],function(q,ne){let{parse:re}=q,{seriesTypes:ve}=ne;return{height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:re("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===ve.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}),Le(V,"Stock/Navigator/NavigatorSymbols.js",[],function(){return{"navigator-handle":function(q,ne,re,ve,le={}){let pe=le.width?le.width/2:re,ue=Math.round(pe/3)+.5;return[["M",-pe-1,.5],["L",pe,.5],["L",pe,(ve=le.height||ve)+.5],["L",-pe-1,ve+.5],["L",-pe-1,.5],["M",-ue,4],["L",-ue,ve-3],["M",ue-1,4],["L",ue-1,ve-3]]}}}),Le(V,"Stock/Utilities/StockUtilities.js",[V["Core/Utilities.js"]],function(q){let{defined:ne}=q;return{setFixedRange:function(re){let ve=this.xAxis[0];this.fixedRange=ne(ve.dataMax)&&ne(ve.dataMin)&&re?Math.min(re,ve.dataMax-ve.dataMin):re}}}),Le(V,"Stock/Navigator/NavigatorComposition.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Axis/NavigatorAxisComposition.js"],V["Stock/Navigator/NavigatorDefaults.js"],V["Stock/Navigator/NavigatorSymbols.js"],V["Core/Renderer/RendererRegistry.js"],V["Stock/Utilities/StockUtilities.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{setOptions:te}=q,{composed:X}=ne,{getRendererType:E}=pe,{setFixedRange:j}=ue,{addEvent:F,extend:P,pushUnique:D}=J;function A(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(I,_,m){re.compose(_),D(X,"Navigator")&&(I.prototype.setFixedRange=j,P(E().prototype.symbols,le),F(m,"afterUpdate",A),te({navigator:ve}))}}}),Le(V,"Core/Axis/ScrollbarAxis.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){var re;let{composed:ve}=q,{addEvent:le,defined:pe,pick:ue,pushUnique:J}=ne;return function(te){let X;function E(D){let A=ue(D.options&&D.options.min,D.min),I=ue(D.options&&D.options.max,D.max);return{axisMin:A,axisMax:I,scrollMin:pe(D.dataMin)?Math.min(A,D.min,D.dataMin,ue(D.threshold,1/0)):A,scrollMax:pe(D.dataMax)?Math.max(I,D.max,D.dataMax,ue(D.threshold,-1/0)):I}}function j(){let D=this.scrollbar,I=this.horiz?2:D&&!D.options.opposite?3:1;D&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[I]+=D.size+(D.options.margin||0))}function F(){let D=this;D.options&&D.options.scrollbar&&D.options.scrollbar.enabled&&(D.options.scrollbar.vertical=!D.horiz,D.options.startOnTick=D.options.endOnTick=!1,D.scrollbar=new X(D.chart.renderer,D.options.scrollbar,D.chart),le(D.scrollbar,"changed",function(A){let I,_,{axisMin:m,axisMax:w,scrollMin:G,scrollMax:O}=E(D),f=O-G;pe(m)&&pe(w)&&(D.horiz&&!D.reversed||!D.horiz&&D.reversed?(I=G+f*this.to,_=G+f*this.from):(I=G+f*(1-this.from),_=G+f*(1-this.to)),this.shouldUpdateExtremes(A.DOMType)?D.setExtremes(_,I,!0,"mousemove"!==A.DOMType&&"touchmove"!==A.DOMType&&void 0,A):this.setRange(this.from,this.to))}))}function P(){let D,A,I,{scrollMin:_,scrollMax:m}=E(this),w=this.scrollbar,G=this.axisTitleMargin+(this.titleOffset||0),O=this.chart.scrollbarsOffsets,f=this.options.margin||0;if(w&&O){if(this.horiz)this.opposite||(O[1]+=G),w.position(this.left,this.top+this.height+2+O[1]-(this.opposite?f:0),this.width,this.height),this.opposite||(O[1]+=f),D=1;else{let a;this.opposite&&(O[0]+=G),a=w.options.opposite?this.left+this.width+2+O[0]-(this.opposite?0:f):this.opposite?0:f,w.position(a,this.top,this.width,this.height),this.opposite&&(O[0]+=f),D=0}O[D]+=w.size+(w.options.margin||0),isNaN(_)||isNaN(m)||!pe(this.min)||!pe(this.max)||this.min===this.max?w.setRange(0,1):(A=(this.min-_)/(m-_),I=(this.max-_)/(m-_),this.horiz&&!this.reversed||!this.horiz&&this.reversed?w.setRange(A,I):w.setRange(1-I,1-A))}}te.compose=function(D,A){J(ve,"Axis.Scrollbar")&&(X=A,le(D,"afterGetOffset",j),le(D,"afterInit",F),le(D,"afterRender",P))}}(re||(re={})),re}),Le(V,"Stock/Scrollbar/ScrollbarDefaults.js",[],function(){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}}),Le(V,"Stock/Scrollbar/Scrollbar.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Axis/ScrollbarAxis.js"],V["Stock/Scrollbar/ScrollbarDefaults.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{defaultOptions:pe}=q,{addEvent:ue,correctFloat:J,defined:te,destroyObjectProperties:X,fireEvent:E,merge:j,pick:F,removeEvent:P}=le;class D{static compose(I){re.compose(I,D)}static swapXY(I,_){return _&&I.forEach(m=>{let w,G=m.length;for(let O=0;Othis.calculatedWidth?_.minWidth:0;return{chartX:(I.chartX-this.x-this.xOffset)/(this.barWidth-m),chartY:(I.chartY-this.y-this.yOffset)/(this.barWidth-m)}}destroy(){let I=this,_=I.chart.scroller;I.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(m){I[m]&&I[m].destroy&&(I[m]=I[m].destroy())}),_&&I===_.scrollbar&&(_.scrollbar=null,X(_.scrollbarButtons))}drawScrollbarButton(I){let _=this.renderer,m=this.scrollbarButtons,w=this.options,G=this.size,O=_.g().add(this.group);if(m.push(O),w.buttonsEnabled){let f=_.rect().addClass("highcharts-scrollbar-button").add(O);this.chart.styledMode||f.attr({stroke:w.buttonBorderColor,"stroke-width":w.buttonBorderWidth,fill:w.buttonBackgroundColor}),f.attr(f.crisp({x:-.5,y:-.5,width:G+1,height:G+1,r:w.buttonBorderRadius},f.strokeWidth()));let a=_.path(D.swapXY([["M",G/2+(I?-1:1),G/2-3],["L",G/2+(I?-1:1),G/2+3],["L",G/2+(I?2:-2),G/2]],w.vertical)).addClass("highcharts-scrollbar-arrow").add(m[I]);this.chart.styledMode||a.attr({fill:w.buttonArrowColor})}}init(I,_,m){this.scrollbarButtons=[],this.renderer=I,this.userOptions=_,this.options=j(ve,pe.scrollbar,_),this.options.margin=F(this.options.margin,10),this.chart=m,this.size=F(this.options.size,this.options.height),_.enabled&&(this.render(),this.addEvents())}mouseDownHandler(I){let _=this.chart.pointer?.normalize(I)||I,m=this.cursorToScrollbarPosition(_);this.chartX=m.chartX,this.chartY=m.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(I){let _,m=this.chart.pointer?.normalize(I)||I,w=this.options.vertical?"chartY":"chartX",G=this.initPositions||[];this.grabbedCenter&&(!I.touches||0!==I.touches[0][w])&&(_=this.cursorToScrollbarPosition(m)[w]-this[w],this.hasDragged=!0,this.updatePosition(G[0]+_,G[1]+_),this.hasDragged&&E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:I.type,DOMEvent:I}))}mouseUpHandler(I){this.hasDragged&&E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:I.type,DOMEvent:I}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(I,_,m,w){let{buttonsEnabled:G,margin:O=0,vertical:f}=this.options,a=this.rendered?"animate":"attr",g=w,v=0;this.group.show(),this.x=I,this.y=_+this.trackBorderWidth,this.width=m,this.height=w,this.xOffset=g,this.yOffset=v,f?(this.width=this.yOffset=m=v=this.size,this.xOffset=g=0,this.yOffset=v=G?this.size:0,this.barWidth=w-(G?2*m:0),this.x=I+=O):(this.height=w=this.size,this.xOffset=g=G?this.size:0,this.barWidth=m-(G?2*w:0),this.y=this.y+O),this.group[a]({translateX:I,translateY:this.y}),this.track[a]({width:m,height:w}),this.scrollbarButtons[1][a]({translateX:f?0:m-g,translateY:f?w-v:0})}removeEvents(){this._events.forEach(function(I){P.apply(null,I)}),this._events.length=0}render(){let I=this.renderer,_=this.options,m=this.size,w=this.chart.styledMode,G=I.g("scrollbar").attr({zIndex:_.zIndex}).hide().add();this.group=G,this.track=I.rect().addClass("highcharts-scrollbar-track").attr({r:_.trackBorderRadius||0,height:m,width:m}).add(G),w||this.track.attr({fill:_.trackBackgroundColor,stroke:_.trackBorderColor,"stroke-width":_.trackBorderWidth});let O=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-O%2/2,y:-O%2/2}),this.scrollbarGroup=I.g().add(G),this.scrollbar=I.rect().addClass("highcharts-scrollbar-thumb").attr({height:m-O,width:m-O,r:_.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=I.path(D.swapXY([["M",-3,m/4],["L",-3,2*m/3],["M",0,m/4],["L",0,2*m/3],["M",3,m/4],["L",3,2*m/3]],_.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),w||(this.scrollbar.attr({fill:_.barBackgroundColor,stroke:_.barBorderColor,"stroke-width":_.barBorderWidth}),this.scrollbarRifles.attr({stroke:_.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(I,_){let m,w,G=this.options,O=G.vertical,f=G.minWidth,a=this.barWidth,g=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!te(a))return;let v=a*Math.min(_,1);m=Math.ceil(a*(I=Math.max(I,0))),this.calculatedWidth=w=J(v-m),w=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(I){return F(this.options.liveRedraw,ne.svg&&!ne.isTouchDevice&&!this.chart.boosted)||"mouseup"===I||"touchend"===I||!te(I)}trackClick(I){let _=this.chart.pointer?.normalize(I)||I,m=this.to-this.from;this.options.vertical&&_.chartY>this.y+this.scrollbarTop||!this.options.vertical&&_.chartX>this.x+this.scrollbarLeft?this.updatePosition(this.from+m,this.to+m):this.updatePosition(this.from-m,this.to-m),E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:I})}update(I){this.destroy(),this.init(this.chart.renderer,j(!0,this.options,I),this.chart)}updatePosition(I,_){_>1&&(I=J(1-J(_-I)),_=1),I<0&&(_=J(_-I),I=0),this.from=I,this.to=_}}return D.defaultOptions=ve,pe.scrollbar=j(!0,D.defaultOptions,pe.scrollbar),D}),Le(V,"Stock/Navigator/Navigator.js",[V["Core/Axis/Axis.js"],V["Stock/Navigator/ChartNavigatorComposition.js"],V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Axis/NavigatorAxisComposition.js"],V["Stock/Navigator/NavigatorComposition.js"],V["Stock/Scrollbar/Scrollbar.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{defaultOptions:te}=re,{isTouchDevice:X}=ve,{addEvent:E,clamp:j,correctFloat:F,defined:P,destroyObjectProperties:D,erase:A,extend:I,find:_,fireEvent:m,isArray:w,isNumber:G,merge:O,pick:f,removeEvent:a,splat:g}=J;function v(n,...r){let l=[].filter.call(r,G);if(l.length)return Math[n].apply(0,l)}class o{static compose(r,l,d){ne.compose(r,o),pe.compose(r,l,d)}constructor(r){this.scrollbarHeight=0,this.init(r)}drawHandle(r,l,d,C){let k=this.navigatorOptions.handles.height;this.handles[l][C](d?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(r,10)+.5-k)}:{translateX:Math.round(this.left+parseInt(r,10)),translateY:Math.round(this.top+this.height/2-k/2-1)})}drawOutline(r,l,d,C){let x,N,k=this.navigatorOptions.maskInside,p=this.outline.strokeWidth(),T=p/2,B=p%2/2,z=this.scrollButtonSize,K=this.size,U=this.top,se=this.height,S=U-T,$=U+se,H=this.left;d?(x=U+l+B,N=[["M",H+se,U-z-B],["L",H+se,x],["L",H,x],["M",H,l=U+r+B],["L",H+se,l],["L",H+se,U+K+z]],k&&N.push(["M",H+se,x-T],["L",H+se,l+T])):(H-=z,N=[["M",H,S],["L",r+=H+z-B,S],["L",r,$],["M",l+=H+z-B,$],["L",l,S],["L",H+K+2*z,U+T]],k&&N.push(["M",r-T,S],["L",l+T,S])),this.outline[C]({d:N})}drawMasks(r,l,d,C){let k,p,T,B,z=this.left,K=this.top,U=this.height;d?(T=[z,z,z],B=[K,K+r,K+l],p=[U,U,U],k=[r,l-r,this.size-l]):(T=[z,z+r,z+l],B=[K,K,K],p=[r,l-r,this.size-l],k=[U,U,U]),this.shades.forEach((se,S)=>{se[C]({x:T[S],y:B[S],width:p[S],height:k[S]})})}renderElements(){let r=this,l=r.navigatorOptions,d=l.maskInside,C=r.chart,p=C.renderer,T={cursor:C.inverted?"ns-resize":"ew-resize"},B=r.navigatorGroup=p.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();if([!d,d,!d].forEach((z,K)=>{let U=p.rect().addClass("highcharts-navigator-mask"+(1===K?"-inside":"-outside")).add(B);C.styledMode||(U.attr({fill:z?l.maskFill:"rgba(0,0,0,0)"}),1===K&&U.css(T)),r.shades[K]=U}),r.outline=p.path().addClass("highcharts-navigator-outline").add(B),C.styledMode||r.outline.attr({"stroke-width":l.outlineWidth,stroke:l.outlineColor}),l.handles&&l.handles.enabled){let z=l.handles,{height:K,width:U}=z;[0,1].forEach(se=>{r.handles[se]=p.symbol(z.symbols[se],-U/2-1,0,U,K,z),C.inverted&&r.handles[se].attr({rotation:90,rotationOriginX:Math.floor(-U/2),rotationOriginY:(K+U)/2}),r.handles[se].attr({zIndex:7-se}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][se]).add(B),C.styledMode||r.handles[se].attr({fill:z.backgroundColor,stroke:z.borderColor,"stroke-width":z.lineWidth}).css(T)})}}update(r){(this.series||[]).forEach(l=>{l.baseSeries&&delete l.baseSeries.navigatorSeries}),this.destroy(),O(!0,this.chart.options.navigator,r),this.init(this.chart)}render(r,l,d,C){let H,x,N,Z,Y,k=this.chart,p=this.xAxis,T=p.pointRange||0,B=p.navigatorAxis.fake?k.xAxis[0]:p,z=this.navigatorEnabled,K=this.rendered,U=k.inverted,se=k.xAxis[0].minRange,S=k.xAxis[0].options.maxRange,$=this.scrollButtonSize,R=this.scrollbarHeight;if(this.hasDragged&&!P(d))return;if(r=F(r-T/2),l=F(l+T/2),!G(r)||!G(l)){if(!K)return;d=0,C=f(p.width,B.width)}this.left=f(p.left,k.plotLeft+$+(U?k.plotWidth:0));let he=this.size=Z=f(p.len,(U?k.plotHeight:k.plotWidth)-2*$);H=U?R:Z+2*$,d=f(d,p.toPixels(r,!0)),C=f(C,p.toPixels(l,!0)),G(d)&&Math.abs(d)!==1/0||(d=0,C=H);let ge=p.toValue(d,!0),_e=p.toValue(C,!0),Te=Math.abs(F(_e-ge));TeS&&(this.grabbedLeft?d=p.toPixels(_e-S-T,!0):this.grabbedRight&&(C=p.toPixels(ge+S+T,!0))),this.zoomedMax=j(Math.max(d,C),0,he),this.zoomedMin=j(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(d,C),0,he),this.range=this.zoomedMax-this.zoomedMin,he=Math.round(this.zoomedMax);let Oe=Math.round(this.zoomedMin);z&&(this.navigatorGroup.attr({visibility:"inherit"}),Y=K&&!this.hasDragged?"animate":"attr",this.drawMasks(Oe,he,U,Y),this.drawOutline(Oe,he,U,Y),this.navigatorOptions.handles.enabled&&(this.drawHandle(Oe,0,U,Y),this.drawHandle(he,1,U,Y))),this.scrollbar&&(U?(N=this.top-$,x=this.left-R+(z||!B.opposite?0:(B.titleOffset||0)+B.axisTitleMargin),R=Z+2*$):(N=this.top+(z?this.height:-R),x=this.left-$),this.scrollbar.position(x,N,H,R),this.scrollbar.setRange(this.zoomedMin/(Z||1),this.zoomedMax/(Z||1))),this.rendered=!0,m(this,"afterRender")}addMouseEvents(){let k,p,r=this,l=r.chart,d=l.container,C=[];r.mouseMoveHandler=k=function(T){r.onMouseMove(T)},r.mouseUpHandler=p=function(T){r.onMouseUp(T)},(C=r.getPartsEvents("mousedown")).push(E(l.renderTo,"mousemove",k),E(d.ownerDocument,"mouseup",p),E(l.renderTo,"touchmove",k),E(d.ownerDocument,"touchend",p)),C.concat(r.getPartsEvents("touchstart")),r.eventsToUnbind=C,r.series&&r.series[0]&&C.push(E(r.series[0].xAxis,"foundExtremes",function(){l.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(r){let l=this,d=[];return["shades","handles"].forEach(function(C){l[C].forEach(function(k,p){d.push(E(k.element,r,function(T){l[C+"Mousedown"](T,p)}))})}),d}shadesMousedown(r,l){r=this.chart.pointer?.normalize(r)||r;let K,U,se,S,C=this.xAxis,k=this.zoomedMin,p=this.size,T=this.range,B=this.left,z=r.chartX;this.chart.inverted&&(z=r.chartY,B=this.top),1===l?(this.grabbedCenter=z,this.fixedWidth=T,this.dragOffset=z-k):(S=z-B-T/2,0===l?S=Math.max(0,S):2===l&&S+T>=p&&(S=p-T,this.reversedExtremes?(S-=T,U=this.getUnionExtremes().dataMin):K=this.getUnionExtremes().dataMax),S!==k&&(this.fixedWidth=T,P((se=C.navigatorAxis.toFixedRange(S,S+T,U,K)).min)&&m(this,"setRange",{min:Math.min(se.min,se.max),max:Math.max(se.min,se.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(r,l){r=this.chart.pointer?.normalize(r)||r;let d=this.chart,C=d.xAxis[0],k=this.reversedExtremes;0===l?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=k?C.min:C.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=k?C.max:C.min),d.setFixedRange(void 0)}onMouseMove(r){let z,l=this,d=l.chart,C=l.navigatorSize,k=l.range,p=l.dragOffset,T=d.inverted,B=l.left;(!r.touches||0!==r.touches[0].pageX)&&(z=(r=d.pointer?.normalize(r)||r).chartX,T&&(B=l.top,z=r.chartY),l.grabbedLeft?(l.hasDragged=!0,l.render(0,0,z-B,l.otherHandlePos)):l.grabbedRight?(l.hasDragged=!0,l.render(0,0,l.otherHandlePos,z-B)):l.grabbedCenter&&(l.hasDragged=!0,zC+p-k&&(z=C+p-k),l.render(0,0,z-p,z-p+k)),l.hasDragged&&l.scrollbar&&f(l.scrollbar.options.liveRedraw,!X&&!this.chart.boosted)&&(r.DOMType=r.type,setTimeout(function(){l.onMouseUp(r)},0)))}onMouseUp(r){let l,d,C,k,p,T,z=this.xAxis,K=this.scrollbar,U=r.DOMEvent||r,se=this.chart.inverted,S=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!K||!K.hasDragged)||"scrollbar"===r.trigger)&&(C=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?k=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(p=this.fixedExtreme),this.zoomedMax===this.size&&(p=this.reversedExtremes?C.dataMin:C.dataMax),0===this.zoomedMin&&(k=this.reversedExtremes?C.dataMax:C.dataMin),P((T=z.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,k,p)).min)&&m(this,"setRange",{min:Math.min(T.min,T.max),max:Math.max(T.min,T.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:U}})),"mousemove"!==r.DOMType&&"touchmove"!==r.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&G(this.zoomedMin)&&G(this.zoomedMax)&&(d=Math.round(this.zoomedMin),l=Math.round(this.zoomedMax),this.shades&&this.drawMasks(d,l,se,S),this.outline&&this.drawOutline(d,l,se,S),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(d,0,se,S),this.drawHandle(l,1,se,S)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(r){r()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let r=this.baseSeries||[];this.navigatorEnabled&&r[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&r.forEach(function(l){a(l,"updatedData",this.updatedDataHandler)},this),r[0].xAxis&&a(r[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}init(r){let l=r.options,d=l.navigator||{},C=d.enabled,k=l.scrollbar||{},p=k.enabled,T=C&&d.height||0,B=p&&k.height||0,z=k.buttonsEnabled&&B||0;this.handles=[],this.shades=[],this.chart=r,this.setBaseSeries(),this.height=T,this.scrollbarHeight=B,this.scrollButtonSize=z,this.scrollbarEnabled=p,this.navigatorEnabled=C,this.navigatorOptions=d,this.scrollbarOptions=k,this.opposite=f(d.opposite,!(C||!r.inverted));let K=this,U=K.baseSeries,se=r.xAxis.length,S=r.yAxis.length,$=U&&U[0]&&U[0].xAxis||r.xAxis[0]||{options:{}};if(r.isDirtyBox=!0,K.navigatorEnabled?(K.xAxis=new q(r,O({breaks:$.options.breaks,ordinal:$.options.ordinal,overscroll:$.options.overscroll},d.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",type:"datetime",index:se,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},r.inverted?{offsets:[z,0,-z,0],width:T}:{offsets:[0,-z,0,z],height:T}),"xAxis"),K.yAxis=new q(r,O(d.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:S,isInternal:!0,reversed:f(d.yAxis&&d.yAxis.reversed,r.yAxis[0]&&r.yAxis[0].reversed,!1),zoomEnabled:!1},r.inverted?{width:T}:{height:T}),"yAxis"),U||d.series.data?K.updateNavigatorSeries(!1):0===r.series.length&&(K.unbindRedraw=E(r,"beforeRedraw",function(){r.series.length>0&&!K.series&&(K.setBaseSeries(),K.unbindRedraw())})),K.reversedExtremes=r.inverted&&!K.xAxis.reversed||!r.inverted&&K.xAxis.reversed,K.renderElements(),K.addMouseEvents()):(K.xAxis={chart:r,navigatorAxis:{fake:!0},translate:function(H,x){let N=r.xAxis[0],R=N.getExtremes(),Z=N.len-2*z,Y=v("min",N.options.min,R.dataMin),he=v("max",N.options.max,R.dataMax)-Y;return x?H*he/Z+Y:Z*(H-Y)/he},toPixels:function(H){return this.translate(H)},toValue:function(H){return this.translate(H,!0)}},K.xAxis.navigatorAxis.axis=K.xAxis,K.xAxis.navigatorAxis.toFixedRange=le.prototype.toFixedRange.bind(K.xAxis.navigatorAxis)),r.options.scrollbar.enabled){let H=O(r.options.scrollbar,{vertical:r.inverted});!G(H.margin)&&K.navigatorEnabled&&(H.margin=r.inverted?-3:3),r.scrollbar=K.scrollbar=new ue(r.renderer,H,r),E(K.scrollbar,"changed",function(x){let N=K.size,R=N*this.to,Z=N*this.from;K.hasDragged=K.scrollbar.hasDragged,K.render(0,0,Z,R),this.shouldUpdateExtremes(x.DOMType)&&setTimeout(function(){K.onMouseUp(x)})})}K.addBaseSeriesEvents(),K.addChartEvents()}getUnionExtremes(r){let l,d=this.chart.xAxis[0],C=this.xAxis,k=C.options,p=d.options;return r&&null===d.dataMin||(l={dataMin:f(k&&k.min,v("min",p.min,d.dataMin,C.dataMin,C.min)),dataMax:f(k&&k.max,v("max",p.max,d.dataMax,C.dataMax,C.max))}),l}setBaseSeries(r,l){let d=this.chart,C=this.baseSeries=[];r=r||d.options&&d.options.navigator.baseSeries||(d.series.length?_(d.series,k=>!k.options.isInternal).index:0),(d.series||[]).forEach((k,p)=>{!k.options.isInternal&&(k.options.showInNavigator||(p===r||k.options.id===r)&&!1!==k.options.showInNavigator)&&C.push(k)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,l)}updateNavigatorSeries(r,l){let B,z,U,d=this,C=d.chart,k=d.baseSeries,p={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},T=d.series=(d.series||[]).filter(se=>{let S=se.baseSeries;return!(0>k.indexOf(S)&&(S&&(a(S,"updatedData",d.updatedDataHandler),delete S.navigatorSeries),se.chart&&se.destroy(),1))}),K=d.navigatorOptions.series;k&&k.length&&k.forEach(se=>{let S=se.navigatorSeries,$=I({color:se.color,visible:se.visible},w(K)?te.navigator.series:K);if(S&&!1===d.navigatorOptions.adaptToUpdatedData)return;p.name="Navigator "+k.length,U=(B=se.options||{}).navigatorOptions||{},$.dataLabels=g($.dataLabels),(z=O(B,p,$,U)).pointRange=f($.pointRange,U.pointRange,te.plotOptions[z.type||"line"].pointRange);let H=U.data||$.data;d.hasNavigatorData=d.hasNavigatorData||!!H,z.data=H||B.data&&B.data.slice(0),S&&S.options?S.update(z,l):(se.navigatorSeries=C.initSeries(z),C.setSortedData(),se.navigatorSeries.baseSeries=se,T.push(se.navigatorSeries))}),(K.data&&!(k&&k.length)||w(K))&&(d.hasNavigatorData=!1,(K=g(K)).forEach((se,S)=>{p.name="Navigator "+(T.length+1),(z=O(te.navigator.series,{color:C.series[S]&&!C.series[S].options.isInternal&&C.series[S].color||C.options.colors[S]||C.options.colors[0]},p,se)).data=se.data,z.data&&(d.hasNavigatorData=!0,T.push(C.initSeries(z)))})),r&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let r=this,l=r.baseSeries||[];l[0]&&l[0].xAxis&&l[0].eventsToUnbind.push(E(l[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),l.forEach(d=>{d.eventsToUnbind.push(E(d,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),d.eventsToUnbind.push(E(d,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&d.xAxis&&d.eventsToUnbind.push(E(d,"updatedData",this.updatedDataHandler)),d.eventsToUnbind.push(E(d,"remove",function(){this.navigatorSeries&&(A(r.series,this.navigatorSeries),P(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(r){return this.baseSeries.reduce(function(l,d){return Math.min(l,d.xData&&d.xData.length?d.xData[0]:l)},r)}modifyNavigatorAxisExtremes(){let r=this.xAxis;if(void 0!==r.getExtremes){let l=this.getUnionExtremes(!0);l&&(l.dataMin!==r.min||l.dataMax!==r.max)&&(r.min=l.dataMin,r.max=l.dataMax)}}modifyBaseAxisExtremes(){let r,l,d=this.chart.navigator,C=this.getExtremes(),T=C.dataMin,B=C.dataMax,z=C.max-C.min,K=d.stickToMin,U=d.stickToMax,se=f(this.ordinal?.convertOverscroll(this.options.overscroll),0),S=d.series&&d.series[0],$=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(K&&(r=(l=T)+z),U&&(r=B+se,K||(l=Math.max(T,r-z,d.getBaseSeriesMin(S&&S.xData?S.xData[0]:-Number.MAX_VALUE)))),$&&(K||U)&&G(l)&&(this.min=this.userMin=l,this.max=this.userMax=r)),d.stickToMin=d.stickToMax=null}updatedDataHandler(){let r=this.chart.navigator,l=this.navigatorSeries,d=r.reversedExtremes?0===Math.round(r.zoomedMin):Math.round(r.zoomedMax)>=Math.round(r.size);r.stickToMax=f(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,d),r.stickToMin=r.shouldStickToMin(this,r),l&&!r.hasNavigatorData&&(l.options.pointStart=this.xData[0],l.setData(this.options.data,!1,null,!1))}shouldStickToMin(r,l){let d=l.getBaseSeriesMin(r.xData[0]),C=r.xAxis,k=C.max,p=C.min,T=C.options.range;return!(!G(k)||!G(p))&&(T&&k-d>0?k-d{r.destroy&&r.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(r=>{this[r]&&this[r].destroy&&this[r].destroy(),this[r]=null}),[this.handles].forEach(r=>{D(r)})}}return o}),Le(V,"Core/Axis/OrdinalAxis.js",[V["Core/Axis/Axis.js"],V["Core/Globals.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{addEvent:pe,correctFloat:ue,css:J,defined:te,error:X,isNumber:E,pick:j,timeUnits:F,isString:P}=ve;return function(D){function A(n,r,l,d,C=[],k=0,p){let U,se,S,$,H,T={},B=this.options.tickPixelInterval,z=this.chart.time,K=[],x=0,N=[],R=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!C||C.length<3||void 0===r)return z.getTimeTicks.apply(z,arguments);let Z=C.length;for(U=0;Ul,C[U]5*k||H){if(C[U]>R){for(se=z.getTimeTicks(n,C[x],C[U],d);se.length&&se[0]<=R;)se.shift();se.length&&(R=se[se.length-1]),K.push(N.length),N=N.concat(se)}x=U+1}if(H)break}if(se){if($=se.info,p&&$.unitRange<=F.hour){for(x=1,U=N.length-1;xl?Y-1:Y,Oe=void 0;oe--;)Be=Math.abs(Oe-(Te=he[oe])),Oe&&Be<.8*B&&(null===De||Be<.8*De)?(T[N[oe]]&&!T[N[oe+1]]?(_e=oe+1,Oe=Te):_e=oe,N.splice(_e,1)):Oe=Te}return N}function I(n){let r=this.ordinal.positions;if(!r)return n;let d,l=r.length-1;return n<0?n=r[0]:n>l?n=r[l]:(l=Math.floor(n),d=n-l),void 0!==d&&void 0!==r[l]?r[l]+(d?d*(r[l+1]-r[l]):0):n}function _(n){let r=this.ordinal,l=this.old?this.old.min:this.min,d=this.old?this.old.transA:this.transA,C=r.getExtendedPositions();if(C&&C.length){let k=ue((n-l)*d+this.minPixelPadding),p=ue(r.getIndexOfPoint(k,C)),T=ue(p%1);if(p>=0&&p<=C.length-1){let B=C[Math.floor(p)],z=C[Math.ceil(p)];return C[Math.floor(p)]+T*(z-B)}}return n}function m(n,r){let l=D.Additions.findIndexOf(n,r,!0);return n[l]===r?l:l+(r-n[l])/(n[l+1]-n[l])}function w(){this.ordinal||(this.ordinal=new D.Additions(this))}function G(){let{eventArgs:n,options:r}=this;if(this.isXAxis&&te(r.overscroll)&&0!==r.overscroll&&E(this.max)&&E(this.min)&&(this.options.ordinal&&!this.ordinal.originalOrdinalRange&&this.ordinal.getExtendedPositions(!1),this.max===this.dataMax&&("pan"!==n?.trigger||this.isInternal)&&"navigator"!==n?.trigger)){let l=this.ordinal.convertOverscroll(r.overscroll);this.max+=l,!this.isInternal&&te(this.userMin)&&"mousewheel"!==n?.trigger&&(this.min+=l)}}function O(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function f(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function a(n){let r=this.xAxis[0],l=r.ordinal.convertOverscroll(r.options.overscroll),d=n.originalEvent.chartX,C=this.options.chart.panning,k=!1;if(C&&"y"!==C.type&&r.options.ordinal&&r.series.length){let p,T,B=this.mouseDownX,z=r.getExtremes(),K=z.dataMax,U=z.min,se=z.max,S=this.hoverPoints,H=Math.round((B-d)/(r.translationSlope*(r.ordinal.slope||r.closestPointRange||r.ordinal&&r.ordinal.overscrollPointsRange))),x=r.ordinal.getExtendedPositions(),N={ordinal:{positions:x,extendedOrdinalPositions:x}},R=r.index2val,Z=r.val2lin;N.ordinal.positions?Math.abs(H)>1&&(S&&S.forEach(function(Y){Y.setState()}),K>(T=N.ordinal.positions)[T.length-1]&&T.push(K),this.setFixedRange(se-U),(p=r.navigatorAxis.toFixedRange(void 0,void 0,R.apply(N,[Z.apply(N,[U,!0])+H]),R.apply(N,[Z.apply(N,[se,!0])+H]))).min>=Math.min(z.dataMin,U)&&p.max<=Math.max(K,se)+l&&r.setExtremes(p.min,p.max,!0,!1,{trigger:"pan"}),this.mouseDownX=d,J(this.container,{cursor:"move"})):k=!0}else k=!0;k||C&&/y/.test(C.type)?l&&(r.max=r.dataMax+l):n.preventDefault()}function g(){let n=this.xAxis;n&&n.options.ordinal&&(delete n.ordinal.index,delete n.ordinal.originalOrdinalRange)}function v(n,r){let l,p,d=this.ordinal,C=d.positions,k=d.slope;if(!C)return n;if(C[0]<=n&&C[C.length-1]>=n)l=m(C,n);else{if(!(p=d.getExtendedPositions&&d.getExtendedPositions())||!p.length)return n;let B=p.length;k||(k=(p[B-1]-p[0])/B);let z=m(p,C[0]);if(n>=p[0]&&n<=p[B-1])l=m(p,n)-z;else{if(!r)return n;l=n0&&"highcharts-navigator-series"!==he.options.id&&he.processedXData.length>1&&(R=Y!==he.processedXData[1]-he.processedXData[0]),Y=he.processedXData[1]-he.processedXData[0],he.boosted&&(Z=he.boosted),he.reserveSpace()&&(!1!==he.takeOrdinalPosition||p)&&(B=(H=H.concat(he.processedXData)).length,H.sort(function(_e,Te){return _e-Te}),x=Math.min(x,j(he.closestPointRange,x)),B)){for(ge=0;ge2){for(K=H[1]-H[0],$=B-1;$--&&!N;)H[$+1]-H[$]!==K&&(N=!0);!r.options.keepOrdinalPadding&&(H[0]-C>K||k-H[H.length-1]>K)&&(N=!0)}else r.options.overscroll&&(2===B?x=H[1]-H[0]:1===B?(x=r.ordinal.convertOverscroll(r.options.overscroll),H=[H[0],H[0]+x]):x=l.overscrollPointsRange);N||r.forceOrdinal?(r.options.overscroll&&(l.overscrollPointsRange=x,H=H.concat(l.getOverscrollPositions())),l.positions=H,U=r.ordinal2lin(Math.max(C,H[0]),!0),se=Math.max(r.ordinal2lin(Math.min(k,H[H.length-1]),!0),1),l.slope=S=(k-C)/(se-U),l.offset=C-U*S):(l.overscrollPointsRange=j(r.closestPointRange,l.overscrollPointsRange),l.positions=r.ordinal.slope=l.offset=void 0)}r.isOrdinal=T&&N,l.groupIntervalFactor=null}static findIndexOf(r,l,d){let p,C=0,k=r.length-1;for(;C{let K=z.points?.[0];te(K?.plotX)&&(K.plotXse.x>=K&&se.x<=U)}(z)&&(d=K.plotX,k=K.x)}),d??(d=C.minPixelPadding);let B=ue((r-d)/(C.translationSlope*(this.slope||C.closestPointRange||this.overscrollPointsRange)));return o.findIndexOf(l,k,!0)+B}getOverscrollPositions(){let r=this.axis,l=this.convertOverscroll(r.options.overscroll),d=this.overscrollPointsRange,C=[],k=r.dataMax;if(te(d))for(;k<=r.dataMax+l;)C.push(k+=d);return C}postProcessTickInterval(r){let l=this.axis,d=this.slope;return d?l.options.breaks?l.closestPointRange||r:r/(d/l.closestPointRange):r}convertOverscroll(r=0){let l=this,d=l.axis,C=function(k){return j(l.originalOrdinalRange,te(d.dataMax)&&te(d.dataMin)?d.dataMax-d.dataMin:0)*k};if(P(r)){let k=parseInt(r,10);if(/%$/.test(r))return C(k/100);if(/px/.test(r)){let p=Math.min(k,.9*d.len)/d.len;return C(p/(1-p))}return 0}return r}}D.Additions=o}(le||(le={})),le}),Le(V,"Stock/RangeSelector/RangeSelectorDefaults.js",[],function(){return{lang:{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"\u2192"},rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%e %b %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#334eff",cursor:"pointer",fontSize:"0.8em"},labelStyle:{color:"#666666",fontSize:"0.8em"}}}}),Le(V,"Stock/RangeSelector/RangeSelectorComposition.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Stock/RangeSelector/RangeSelectorDefaults.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let le,{defaultOptions:pe}=q,{composed:ue}=ne,{addEvent:J,defined:te,extend:X,find:E,isNumber:j,merge:F,pick:P,pushUnique:D}=ve,A=[];function I(){let g,v,o=this.range,n=o.type,r=this.max,l=this.chart.time,d=function(k,p){let T="year"===n?"FullYear":"Month",B=new l.Date(k),z=l.get(T,B);return l.set(T,B,z+p),z===l.get(T,B)&&l.set("Date",B,0),B.getTime()-k};j(o)?(g=r-o,v=o):o&&(g=r+d(r,-(o.count||1)),this.chart&&this.chart.setFixedRange(r-g));let C=P(this.dataMin,Number.MIN_VALUE);return j(g)||(g=C),g<=C&&(g=C,void 0===v&&(v=d(g,o.count)),this.newMax=Math.min(g+v,P(this.dataMax,Number.MAX_VALUE))),j(r)?!j(o)&&o&&o._offsetMin&&(g+=o._offsetMin):g=void 0,g}function _(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new le(this))}function m(){let g=this.axes,v=this.rangeSelector;if(v){j(v.deferredYTDClick)&&(v.clickButton(v.deferredYTDClick),delete v.deferredYTDClick),g.forEach(n=>{n.updateNames(),n.setScale()}),this.getAxisMargins(),v.render();let o=v.options.verticalAlign;v.options.floating||("bottom"===o?this.extraBottomMargin=!0:"middle"===o||(this.extraTopMargin=!0))}}function w(g){let v,o,n,r,l=g.rangeSelector,d=()=>{l&&(v=g.xAxis[0].getExtremes(),o=g.legend,r=l&&l.options.verticalAlign,j(v.min)&&l.render(v.min,v.max),o.display&&"top"===r&&r===o.options.verticalAlign&&(n=F(g.spacingBox),"vertical"===o.options.layout?n.y=g.plotTop:n.y+=l.getHeight(),o.group.placed=!1,o.align(n)))};l&&(E(A,C=>C[0]===g)||A.push([g,[J(g.xAxis[0],"afterSetExtremes",function(C){l&&l.render(C.min,C.max)}),J(g,"redraw",d)]]),d())}function G(){for(let g=0,v=A.length;gn()),void A.splice(g,1)}}function O(){let g=this.rangeSelector;if(g){let v=g.getHeight();this.extraTopMargin&&(this.plotTop+=v),this.extraBottomMargin&&(this.marginBottom+=v)}}function f(){let g=this.rangeSelector;if(g&&!g.options.floating){g.render();let v=g.options.verticalAlign;"bottom"===v?this.extraBottomMargin=!0:"middle"!==v&&(this.extraTopMargin=!0)}}function a(g){let v=g.options.rangeSelector,o=this.extraBottomMargin,n=this.extraTopMargin,r=this.rangeSelector;if(v&&v.enabled&&!te(r)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=r=new le(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,r){w(this);let l=v&&v.verticalAlign||r.options&&r.options.verticalAlign;r.options.floating||("bottom"===l?this.extraBottomMargin=!0:"middle"===l||(this.extraTopMargin=!0)),(this.extraBottomMargin!==o||this.extraTopMargin!==n)&&(this.isDirtyBox=!0)}}return{compose:function(g,v,o){if(le=o,D(ue,"RangeSelector")){let n=v.prototype;g.prototype.minFromRange=I,J(v,"afterGetContainer",_),J(v,"beforeRender",m),J(v,"destroy",G),J(v,"getMargins",O),J(v,"render",f),J(v,"update",a),n.callbacks.push(w),X(pe,{rangeSelector:re.rangeSelector}),X(pe.lang,re.lang)}}}}),Le(V,"Stock/RangeSelector/RangeSelector.js",[V["Core/Axis/Axis.js"],V["Core/Defaults.js"],V["Core/Globals.js"],V["Stock/RangeSelector/RangeSelectorComposition.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){let{defaultOptions:ue}=ne,{addEvent:J,createElement:te,css:X,defined:E,destroyObjectProperties:j,discardElement:F,extend:P,fireEvent:D,isNumber:A,merge:I,objectEach:_,pad:m,pick:w,pInt:G,splat:O}=pe;class f{static compose(g,v){ve.compose(g,v,f)}constructor(g){this.buttonOptions=f.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.chart=g,this.init(g)}clickButton(g,v){let T,z,U,se,S,$,H,o=this.chart,n=this.buttonOptions[g],r=o.xAxis[0],l=o.scroller&&o.scroller.getUnionExtremes()||r||{},d=n.type,C=n.dataGrouping,k=l.dataMin,p=l.dataMax,B=r&&Math.round(Math.min(r.max,w(p,r.max))),K=n._range,x=!0;if(null!==k&&null!==p){if(this.setSelected(g),C&&(this.forcedDataGrouping=!0,q.prototype.setDataGrouping.call(r||{chart:this.chart},C,!1),this.frozenStates=n.preserveDataGrouping),"month"===d||"year"===d)r?($={range:n,max:B,chart:o,dataMin:k,dataMax:p},T=r.minFromRange.call($),A($.newMax)&&(B=$.newMax),x=!1):K=n;else if(K)B=Math.min((T=Math.max(B-K,k))+K,p),x=!1;else if("ytd"===d){if(!r)return void(this.deferredYTDClick=g);(void 0===p||void 0===k)&&(k=Number.MAX_VALUE,p=Number.MIN_VALUE,o.series.forEach(N=>{let R=N.xData;R&&(k=Math.min(R[0],k),p=Math.max(R[R.length-1],p))}),v=!1),T=U=(H=this.getYTDExtremes(p,k,o.time.useUTC)).min,B=H.max}else"all"===d&&r&&(o.navigator&&o.navigator.baseSeries[0]&&(o.navigator.baseSeries[0].xAxis.options.range=void 0),T=k,B=p);x&&n._offsetMin&&E(T)&&(T+=n._offsetMin),n._offsetMax&&E(B)&&(B+=n._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=g+1),r?(r.setExtremes(T,B,w(v,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:n}),o.setFixedRange(n._range)):(S=(z=O(o.options.xAxis)[0]).range,z.range=K,se=z.min,z.min=U,J(o,"load",function(){o.setFixedRange(n._range),z.range=S,z.min=se})),D(this,"afterBtnClick")}}setSelected(g){this.selected=this.options.selected=g}init(g){let v=this,o=g.options.rangeSelector,n=o.buttons||v.defaultButtons.slice(),r=o.selected,l=function(){let d=v.minInput,C=v.maxInput;d&&d.blur&&D(d,"blur"),C&&C.blur&&D(C,"blur")};v.chart=g,v.options=o,v.buttons=[],v.buttonOptions=n,this.eventsToUnbind=[],this.eventsToUnbind.push(J(g.container,"mousedown",l)),this.eventsToUnbind.push(J(g,"resize",l)),n.forEach(v.computeButtonRange),void 0!==r&&n[r]&&this.clickButton(r,!1),this.eventsToUnbind.push(J(g,"load",function(){g.xAxis&&g.xAxis[0]&&J(g.xAxis[0],"setExtremes",function(d){A(this.max)&&A(this.min)&&this.max-this.min!==g.fixedRange&&"rangeSelectorButton"!==d.trigger&&"updatedData"!==d.trigger&&v.forcedDataGrouping&&!v.frozenStates&&this.setDataGrouping(!1,!1)})}))}updateButtonStates(){let g=this,v=this.chart,o=this.dropdown,n=v.xAxis[0],r=Math.round(n.max-n.min),l=!n.hasVisibleSeries,d=864e5,C=v.scroller&&v.scroller.getUnionExtremes()||n,k=C.dataMin,p=C.dataMax,T=g.getYTDExtremes(p,k,v.time.useUTC),B=T.min,z=T.max,K=g.selected,U=g.options.allButtonsEnabled,se=g.buttons,S=A(K),$=!1;g.buttonOptions.forEach((H,x)=>{let N=H._range,R=H.type,Z=H.count||1,Y=se[x],he=H._offsetMax-H._offsetMin,ge=x===K,_e=N>p-k,Te=NN&&(oe=!0)}else("month"===R||"year"===R)&&r+36e5>={month:28,year:365}[R]*d*Z-he&&r-36e5<={month:31,year:366}[R]*d*Z+he?oe=!0:"ytd"===R?(oe=z-B+he===r,De=!ge):"all"===R&&(oe=n.max-n.min>=p-k,Be=!ge&&S&&oe);let ee=!U&&!($&&"all"===R)&&(_e||Te||Be||l);ee?Oe=3:($&&"all"===R||ge&&oe||oe&&!S&&!De||ge&&g.frozenStates)&&(S=!0,Oe=2),Y.state!==Oe&&(Y.setState(Oe),o&&(o.options[x+1].disabled=ee,2===Oe&&(o.selectedIndex=x+1)),0===Oe&&K===x?g.setSelected():(2===Oe&&!E(K)||$)&&g.setSelected(x))})}computeButtonRange(g){let v=g.type,o=g.count||1,n={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5};n[v]?g._range=n[v]*o:("month"===v||"year"===v)&&(g._range=24*{month:30,year:365}[v]*36e5*o),g._offsetMin=w(g.offsetMin,0),g._offsetMax=w(g.offsetMax,0),g._range+=g._offsetMax-g._offsetMin}getInputValue(g){let v="min"===g?this.minInput:this.maxInput,n=this.chart.time;return v?("text"===v.type&&this.chart.options.rangeSelector.inputDateParser||this.defaultInputDateParser)(v.value,n.useUTC,n):0}setInputValue(g,v){let o=this.options,n=this.chart.time,r="min"===g?this.minInput:this.maxInput,l="min"===g?this.minDateBox:this.maxDateBox;if(r){let d=r.getAttribute("data-hc-time"),C=E(d)?Number(d):void 0;if(E(v)){let k=C;E(k)&&r.setAttribute("data-hc-time-previous",k),r.setAttribute("data-hc-time",v),C=v}r.value=n.dateFormat(this.inputTypeFormats[r.type]||o.inputEditDateFormat,C),l&&l.attr({text:n.dateFormat(o.inputDateFormat,C)})}}setInputExtremes(g,v,o){let n="min"===g?this.minInput:this.maxInput;if(n){let r=this.inputTypeFormats[n.type],l=this.chart.time;if(r){let d=l.dateFormat(r,v);n.min!==d&&(n.min=d);let C=l.dateFormat(r,o);n.max!==C&&(n.max=C)}}}showInput(g){let v="min"===g?this.minDateBox:this.maxDateBox,o="min"===g?this.minInput:this.maxInput;if(o&&v&&this.inputGroup){let n="text"===o.type,{translateX:r=0,translateY:l=0}=this.inputGroup,{x:d=0,width:C=0,height:k=0}=v,{inputBoxWidth:p}=this.options;X(o,{width:n?C+(p?-2:20)+"px":"auto",height:k-2+"px",border:"2px solid silver"}),X(o,n&&p?{left:r+d+"px",top:l+"px"}:{left:Math.min(Math.round(d+r-(o.offsetWidth-C)/2),this.chart.chartWidth-o.offsetWidth)+"px",top:l-(o.offsetHeight-k)/2+"px"})}}hideInput(g){let v="min"===g?this.minInput:this.maxInput;v&&X(v,{top:"-9999em",border:0,width:"1px",height:"1px"})}defaultInputDateParser(g,v,o){let n=g.split("/").join("-").split(" ").join("T");if(-1===n.indexOf("T")&&(n+="T00:00"),v)n+="Z";else{let l;if(re.isSafari&&(!((l=n).length>6)||l.lastIndexOf("-")!==l.length-6&&l.lastIndexOf("+")!==l.length-6)){let d=new Date(n).getTimezoneOffset()/60;n+=d<=0?`+${m(-d)}:00`:`-${m(d)}:00`}}let r=Date.parse(n);if(!A(r)){let l=g.split("-");r=Date.UTC(G(l[0]),G(l[1])-1,G(l[2]))}return o&&v&&A(r)&&(r+=o.getTimezoneOffset(r)),r}drawInput(g){let{chart:v,div:o,inputGroup:n}=this,r=this,l=v.renderer.style||{},d=v.renderer,C=v.options.rangeSelector,p="min"===g;function T(){let{maxInput:S,minInput:$}=r,H=v.xAxis[0],x=v.scroller&&v.scroller.getUnionExtremes()||H,N=x.dataMin,R=x.dataMax,Z=r.getInputValue(g);Z!==Number(U.getAttribute("data-hc-time-previous"))&&A(Z)&&(U.setAttribute("data-hc-time-previous",Z),p&&S&&A(N)?Z>Number(S.getAttribute("data-hc-time"))?Z=void 0:ZR&&(Z=R)),void 0!==Z&&H.setExtremes(p?Z:H.min,p?H.max:Z,void 0,void 0,{trigger:"rangeSelectorInput"}))}let B=ue.lang[p?"rangeSelectorFrom":"rangeSelectorTo"]||"",z=d.label(B,0).addClass("highcharts-range-label").attr({padding:B?2:0,height:B?C.inputBoxHeight:0}).add(n),K=d.label("",0).addClass("highcharts-range-input").attr({padding:2,width:C.inputBoxWidth,height:C.inputBoxHeight,"text-align":"center"}).on("click",function(){r.showInput(g),r[g+"Input"].focus()});v.styledMode||K.attr({stroke:C.inputBoxBorderColor,"stroke-width":1}),K.add(n);let U=te("input",{name:g,className:"highcharts-range-selector"},void 0,o);U.setAttribute("type",function(S){if(-1!==S.indexOf("%L"))return"text";let $=["a","A","d","e","w","b","B","m","o","y","Y"].some(x=>-1!==S.indexOf("%"+x)),H=["H","k","I","l","M","S"].some(x=>-1!==S.indexOf("%"+x));return $&&H?"datetime-local":$?"date":H?"time":"text"}(C.inputDateFormat||"%e %b %Y")),v.styledMode||(z.css(I(l,C.labelStyle)),K.css(I({color:"#333333"},l,C.inputStyle)),X(U,P({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:l.fontSize,fontFamily:l.fontFamily,top:"-9999em"},C.inputStyle))),U.onfocus=()=>{r.showInput(g)},U.onblur=()=>{U===re.doc.activeElement&&T(),r.hideInput(g),r.setInputValue(g),U.blur()};let se=!1;return U.onchange=()=>{se||(T(),r.hideInput(g),U.blur())},U.onkeypress=S=>{13===S.keyCode&&T()},U.onkeydown=S=>{se=!0,(38===S.keyCode||40===S.keyCode)&&T()},U.onkeyup=()=>{se=!1},{dateBox:K,input:U,label:z}}getPosition(){let g=this.chart,v=g.options.rangeSelector,o="top"===v.verticalAlign?g.plotTop-g.axisOffset[0]:0;return{buttonTop:o+v.buttonPosition.y,inputTop:o+v.inputPosition.y-10}}getYTDExtremes(g,v,o){let n=this.chart.time,r=new n.Date(g),l=n.get("FullYear",r),d=Math.max(v,o?n.Date.UTC(l,0,1):+new n.Date(l,0,1)),C=r.getTime();return{max:Math.min(g||C,C),min:d}}render(g,v){let o=this.chart,n=o.renderer,r=o.container,l=o.options,d=l.rangeSelector,C=w(l.chart.style&&l.chart.style.zIndex,0)+1,k=d.inputEnabled;if(!1!==d.enabled){if(!this.rendered&&(this.group=n.g("range-selector-group").attr({zIndex:7}).add(),this.div=te("div",void 0,{position:"relative",height:0,zIndex:C}),this.buttonOptions.length&&this.renderButtons(),r.parentNode&&r.parentNode.insertBefore(this.div,r),k)){this.inputGroup=n.g("input-group").add(this.group);let T=this.drawInput("min");this.minDateBox=T.dateBox,this.minLabel=T.label,this.minInput=T.input;let B=this.drawInput("max");this.maxDateBox=B.dateBox,this.maxLabel=B.label,this.maxInput=B.input}if(k){this.setInputValue("min",g),this.setInputValue("max",v);let T=o.scroller&&o.scroller.getUnionExtremes()||o.xAxis[0]||{};if(E(T.dataMin)&&E(T.dataMax)){let B=o.xAxis[0].minRange||0;this.setInputExtremes("min",T.dataMin,Math.min(T.dataMax,this.getInputValue("max"))-B),this.setInputExtremes("max",Math.max(T.dataMin,this.getInputValue("min"))+B,T.dataMax)}if(this.inputGroup){let B=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(z=>{if(z){let{width:K}=z.getBBox();K&&(z.attr({x:B}),B+=K+d.inputSpacing)}})}}this.alignElements(),this.rendered=!0}}renderButtons(){let{buttons:g,chart:v,options:o}=this,n=ue.lang,r=v.renderer,l=I(o.buttonTheme),d=l&&l.states,C=l.width||28;delete l.width,delete l.states,this.buttonGroup=r.g("range-selector-buttons").add(this.group);let k=this.dropdown=te("select",void 0,{position:"absolute",width:"1px",height:"1px",padding:0,border:0,top:"-9999em",cursor:"pointer",opacity:1e-4},this.div);J(k,"touchstart",()=>{k.style.fontSize="16px"}),[[re.isMS?"mouseover":"mouseenter"],[re.isMS?"mouseout":"mouseleave"],["change","click"]].forEach(([p,T])=>{J(k,p,()=>{let B=g[this.currentButtonIndex()];B&&D(B.element,T||p)})}),this.zoomText=r.label(n&&n.rangeSelectorZoom||"",0).attr({padding:o.buttonTheme.padding,height:o.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(o.labelStyle),l["stroke-width"]=w(l["stroke-width"],0)),te("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,k),this.buttonOptions.forEach((p,T)=>{te("option",{textContent:p.title||p.text},void 0,k),g[T]=r.button(p.text,0,0,B=>{let z,K=p.events&&p.events.click;K&&(z=K.call(p,B)),!1!==z&&this.clickButton(T),this.isActive=!0},l,d&&d.hover,d&&d.select,d&&d.disabled).attr({"text-align":"center",width:C}).add(this.buttonGroup),p.title&&g[T].attr("title",p.title)})}alignElements(){let{buttonGroup:g,buttons:v,chart:o,group:n,inputGroup:r,options:l,zoomText:d}=this,C=o.options,k=C.exporting&&!1!==C.exporting.enabled&&C.navigation&&C.navigation.buttonOptions,{buttonPosition:p,inputPosition:T,verticalAlign:B}=l,z=(U,se)=>k&&this.titleCollision(o)&&"top"===B&&"right"===se.align&&se.y-U.getBBox().height-12<(k.y||0)+(k.height||0)+o.spacing[0]?-40:0,K=o.plotLeft;if(n&&p&&T){let U=p.x-o.spacing[3];if(g){if(this.positionButtons(),!this.initialButtonGroupWidth){let Y=0;d&&(Y+=d.getBBox().width+5),v.forEach((he,ge)=>{Y+=he.width||0,ge!==v.length-1&&(Y+=l.buttonSpacing)}),this.initialButtonGroupWidth=Y}K-=o.spacing[3],this.updateButtonStates();let Z=z(g,p);this.alignButtonGroup(Z),n.placed=g.placed=o.hasLoaded}let se=0;r&&(se=z(r,T),"left"===T.align?U=K:"right"===T.align&&(U=-Math.max(o.axisOffset[1],-se)),r.align({y:T.y,width:r.getBBox().width,align:T.align,x:T.x+U-2},!0,o.spacingBox),r.placed=o.hasLoaded),this.handleCollision(se),n.align({verticalAlign:B},!0,o.spacingBox);let S=n.alignAttr.translateY,$=n.getBBox().height+20,H=0;if("bottom"===B){let Z=o.legend&&o.legend.options;H=S-($=$+(Z&&"bottom"===Z.verticalAlign&&Z.enabled&&!Z.floating?o.legend.legendHeight+w(Z.margin,10):0)-20)-(l.floating?0:l.y)-(o.titleOffset?o.titleOffset[2]:0)-10}"top"===B?(l.floating&&(H=0),o.titleOffset&&o.titleOffset[0]&&(H=o.titleOffset[0]),H+=o.margin[0]-o.spacing[0]||0):"middle"===B&&(T.y===p.y?H=S:(T.y||p.y)&&(T.y<0||p.y<0?H-=Math.min(T.y,p.y):H=S-$)),n.translate(l.x,l.y+Math.floor(H));let{minInput:x,maxInput:N,dropdown:R}=this;l.inputEnabled&&x&&N&&(x.style.marginTop=n.translateY+"px",N.style.marginTop=n.translateY+"px"),R&&(R.style.marginTop=n.translateY+"px")}}alignButtonGroup(g,v){let{chart:o,options:n,buttonGroup:r}=this,{buttonPosition:l}=n,d=o.plotLeft-o.spacing[3],C=l.x-o.spacing[3];"right"===l.align?C+=g-d:"center"===l.align&&(C-=d/2),r&&r.align({y:l.y,width:w(v,this.initialButtonGroupWidth),align:l.align,x:C},!0,o.spacingBox)}positionButtons(){let{buttons:g,chart:v,options:o,zoomText:n}=this,r=v.hasLoaded?"animate":"attr",{buttonPosition:l}=o,d=v.plotLeft,C=d;n&&"hidden"!==n.visibility&&(n[r]({x:w(d+l.x,d)}),C+=l.x+n.getBBox().width+5);for(let k=0,p=this.buttonOptions.length;k{let T=0;return this.buttons.forEach(B=>{let z=B.getBBox();z.width>T&&(T=z.width)}),T},k=T=>{if(n&&o){let B=n.alignAttr.translateX+n.alignOptions.x-g+n.getBBox().x+2,z=n.alignOptions.width,K=o.alignAttr.translateX+o.getBBox().x;return K+T>B&&B+z>K&&r.y{n&&o&&n.attr({translateX:n.alignAttr.translateX+(v.axisOffset[1]>=-g?0:-g),translateY:n.alignAttr.translateY+o.getBBox().height+10})};if(o){if("always"===l)return this.collapseButtons(g),void(k(C())&&p());"never"===l&&this.expandButtons()}n&&o?d.align===r.align||k(this.initialButtonGroupWidth+20)?"responsive"===l?(this.collapseButtons(g),k(C())&&p()):p():"responsive"===l&&this.expandButtons():o&&"responsive"===l&&(this.initialButtonGroupWidth>v.plotWidth?this.collapseButtons(g):this.expandButtons())}collapseButtons(g){let{buttons:v,buttonOptions:o,chart:n,dropdown:r,options:l,zoomText:d}=this;if(!0===this.isCollapsed)return;this.isCollapsed=!0;let C=n.userOptions.rangeSelector&&n.userOptions.rangeSelector.buttonTheme||{},k=B=>({text:B?`${B} \u25be`:"\u25be",width:"auto",paddingLeft:w(l.buttonTheme.paddingLeft,C.padding,8),paddingRight:w(l.buttonTheme.paddingRight,C.padding,8)});d&&d.hide();let p=!1;o.forEach((B,z)=>{let K=v[z];2!==K.state?K.hide():(K.show(),K.attr(k(B.text)),p=!0)}),p||(r&&(r.selectedIndex=0),v[0].show(),v[0].attr(k(this.zoomText&&this.zoomText.textStr)));let{align:T}=l.buttonPosition;this.positionButtons(),("right"===T||"center"===T)&&this.alignButtonGroup(g,v[this.currentButtonIndex()].getBBox().width),this.showDropdown()}expandButtons(){let{buttons:g,buttonOptions:v,options:o,zoomText:n}=this;this.hideDropdown(),!1!==this.isCollapsed&&(this.isCollapsed=!1,n&&n.show(),v.forEach((r,l)=>{let d=g[l];d.show(),d.attr({text:r.text,width:o.buttonTheme.width||28,paddingLeft:w(o.buttonTheme.paddingLeft,"unset"),paddingRight:w(o.buttonTheme.paddingRight,"unset")}),d.state<2&&d.setState(0)}),this.positionButtons())}currentButtonIndex(){let{dropdown:g}=this;return g&&g.selectedIndex>0?g.selectedIndex-1:0}showDropdown(){let{buttonGroup:g,buttons:v,chart:o,dropdown:n}=this;if(g&&n){let{translateX:r=0,translateY:l=0}=g,d=v[this.currentButtonIndex()].getBBox();X(n,{left:o.plotLeft+r+"px",top:l+.5+"px",width:d.width+"px",height:d.height+"px"}),this.hasVisibleDropdown=!0}}hideDropdown(){let{dropdown:g}=this;g&&(X(g,{top:"-9999em",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let g=this.options,v=this.group,r=g.y,l=g.buttonPosition.y,d=g.inputPosition.y,C=0;if(g.height)return g.height;this.alignElements(),C=v?v.getBBox(!0).height+13+r:0;let k=Math.min(d,l);return(d<0&&l<0||d>0&&l>0)&&(C+=Math.abs(k)),C}titleCollision(g){return!(g.options.title.text||g.options.subtitle.text)}update(g){let v=this.chart;I(!0,v.options.rangeSelector,g),this.destroy(),this.init(v),this.render()}destroy(){let g=this,v=g.minInput,o=g.maxInput;g.eventsToUnbind&&(g.eventsToUnbind.forEach(n=>n()),g.eventsToUnbind=void 0),j(g.buttons),v&&(v.onfocus=v.onblur=v.onchange=null),o&&(o.onfocus=o.onblur=o.onchange=null),_(g,function(n,r){n&&"chart"!==r&&(n instanceof le?n.destroy():n instanceof e.HTMLElement&&F(n)),n!==f.prototype[r]&&(g[r]=null)},this)}}return P(f.prototype,{defaultButtons:[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}}),f}),Le(V,"Core/Chart/StockChart.js",[V["Core/Chart/Chart.js"],V["Core/Templating.js"],V["Core/Defaults.js"],V["Stock/Navigator/NavigatorDefaults.js"],V["Stock/RangeSelector/RangeSelectorDefaults.js"],V["Stock/Scrollbar/ScrollbarDefaults.js"],V["Stock/Utilities/StockUtilities.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{format:te}=ne,{getOptions:X}=re,{setFixedRange:E}=ue,{addEvent:j,clamp:F,defined:P,extend:D,find:A,isNumber:I,isString:_,merge:m,pick:w,splat:G}=J;function O(g,v,o){return"xAxis"===g?{minPadding:0,maxPadding:0,overscroll:0,ordinal:!0}:"yAxis"===g?{labels:{y:-2},opposite:o.opposite??v.opposite??!0,showLastLabel:!(!v.categories&&"category"!==v.type),title:{text:"Values"!==o.title?.text?o.title?.text:null}}:{}}function f(g,v){if("xAxis"===g){let n={type:"datetime",categories:void 0};return w(v.navigator&&v.navigator.enabled,ve.enabled,!0)&&(n.startOnTick=!1,n.endOnTick=!1),n}return{}}class a extends q{init(v,o){let n=X(),r=v.xAxis,l=v.yAxis,d=w(v.navigator&&v.navigator.enabled,ve.enabled,!0);v.xAxis=v.yAxis=void 0;let C=m({chart:{panning:{enabled:!0,type:"x"},zooming:{pinchType:"x",mouseWheel:{type:"x"}}},navigator:{enabled:d},scrollbar:{enabled:w(pe.enabled,!0)},rangeSelector:{enabled:w(le.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:w(n.tooltip&&n.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1}},v,{isStock:!0});v.xAxis=r,v.yAxis=l,C.xAxis=G(v.xAxis||{}).map(k=>m(O("xAxis",k,n.xAxis),k,f("xAxis",v))),C.yAxis=G(v.yAxis||{}).map(k=>m(O("yAxis",k,n.yAxis),k)),super.init(C,o)}createAxis(v,o){return o.axis=m(O(v,o.axis,X()[v]),o.axis,f(v,this.userOptions)),super.createAxis(v,o)}}return j(q,"update",function(g){let v=g.options;"scrollbar"in v&&this.navigator&&(m(!0,this.options.scrollbar,v.scrollbar),this.navigator.update({}),delete v.scrollbar)}),function(g){function v(p){if(!(this.crosshair&&this.crosshair.label&&this.crosshair.label.enabled&&this.cross&&I(this.min)&&I(this.max)))return;let Y,he,Te,T=this.chart,B=this.logarithmic,z=this.crosshair.label,K=this.horiz,U=this.opposite,se=this.left,S=this.top,$=this.width,H="inside"===this.options.tickPosition,x=!1!==this.crosshair.snap,N=p.e||this.cross&&this.cross.e,R=p.point,Z=this.crossLabel,ge=z.format,_e="",Oe=0,De=this.min,Be=this.max;B&&(De=B.lin2log(this.min),Be=B.lin2log(this.max));let oe=K?"center":U?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";Z||(Z=this.crossLabel=T.renderer.label("",0,void 0,z.shape||"callout").addClass("highcharts-crosshair-label highcharts-color-"+(R&&R.series?R.series.colorIndex:this.series[0]&&this.series[0].colorIndex)).attr({align:z.align||oe,padding:w(z.padding,8),r:w(z.borderRadius,3),zIndex:2}).add(this.labelGroup),T.styledMode||Z.attr({fill:z.backgroundColor||R&&R.series&&R.series.color||"#666666",stroke:z.borderColor||"","stroke-width":z.borderWidth||0}).css(D({color:"#ffffff",fontWeight:"normal",fontSize:"0.7em",textAlign:"center"},z.style||{}))),K?(Y=x?(R.plotX||0)+se:N.chartX,he=S+(U?0:this.height)):(Y=se+this.offset+(U?$:0),he=x?(R.plotY||0)+S:N.chartY),ge||z.formatter||(this.dateTime&&(_e="%b %d, %Y"),ge="{value"+(_e?":"+_e:"")+"}");let ee=x?this.isXAxis?R.x:R.y:this.toValue(K?N.chartX:N.chartY),be=R&&R.series?R.series.isPointInside(R):I(ee)&&ee>De&&ee=Te.right&&(Oe=-(we+Ie.width-Te.right)),Z.attr({x:Y+Oe,y:he,anchorX:K?Y:this.opposite?0:T.chartWidth,anchorY:K?this.opposite?T.chartHeight:0:he+Ie.height/2})}function o(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())}function n(p){let T=this.chart,B=this.options,z=T._labelPanes=T._labelPanes||{},K=B.labels;if(T.options.isStock&&"yAxis"===this.coll){let U=B.top+","+B.height;!z[U]&&K.enabled&&(15===K.distance&&1===this.side&&(K.distance=0),void 0===K.align&&(K.align="right"),z[U]=this,p.align="right",p.preventDefault())}}function r(){let p=this.chart,T=this.options&&this.options.top+","+this.options.height;T&&p._labelPanes&&p._labelPanes[T]===this&&delete p._labelPanes[T]}function l(p){let N,R,Z,Y,ge,_e,T=this,B=T.isLinked&&!T.series&&T.linkedParent?T.linkedParent.series:T.series,z=T.chart,K=z.renderer,U=T.left,se=T.top,S=[],$=p.translatedValue,H=p.value,x=p.force,he=[];if(z.options.isStock&&!1!==p.acrossPanes&&"xAxis"===T.coll||"yAxis"===T.coll){for(let Te of(p.preventDefault(),he=(Oe=>{let De="xAxis"===Oe?"yAxis":"xAxis",Be=T.options[De];return I(Be)?[z[De][Be]]:_(Be)?[z.get(Be)]:B.map(oe=>oe[De])})(T.coll),T.isXAxis?z.yAxis:z.xAxis))if(!P(Te.options.id)||-1===Te.options.id.indexOf("navigator")){let Oe=Te.isXAxis?"yAxis":"xAxis";T===(P(Te.options[Oe])?z[Oe][Te.options[Oe]]:z[Oe][0])&&he.push(Te)}for(let Te of(ge=he.length?[]:[T.isXAxis?z.yAxis[0]:z.xAxis[0]],he))-1!==ge.indexOf(Te)||A(ge,Oe=>Oe.pos===Te.pos&&Oe.len===Te.len)||ge.push(Te);if(I(_e=w($,T.translate(H||0,void 0,void 0,p.old))))if(T.horiz)for(let Te of ge){let Oe;Y=(R=Te.pos)+Te.len,N=Z=Math.round(_e+T.transB),"pass"!==x&&(NU+T.width)&&(x?N=Z=F(N,U,U+T.width):Oe=!0),Oe||S.push(["M",N,R],["L",Z,Y])}else for(let Te of ge){let Oe;Z=(N=Te.pos)+Te.len,R=Y=Math.round(se+T.height-_e),"pass"!==x&&(Rse+T.height)&&(x?R=Y=F(R,se,se+T.height):Oe=!0),Oe||S.push(["M",N,R],["L",Z,Y])}p.path=S.length>0?K.crispPolyLine(S,p.lineWidth||1):void 0}}function d(p){if(this.chart.options.isStock){let T;this.is("column")||this.is("columnrange")?T={borderWidth:0,shadow:!1}:this.is("scatter")||this.is("sma")||(T={marker:{enabled:!1,radius:2}}),T&&(p.plotOptions[this.type]=m(p.plotOptions[this.type],T))}}function C(){let T=this.options.dataGrouping;return!1!==this.allowDG&&T&&w(T.enabled,this.chart.options.isStock)}function k(p,T){for(let B=0;B\u25cf {series.name}
High: {point.high}
Low: {point.low}
Close: {point.close}
'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0}}),Le(V,"Series/HLC/HLCSeries.js",[V["Series/HLC/HLCPoint.js"],V["Series/HLC/HLCSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{column:le}=re.seriesTypes,{extend:pe,merge:ue}=ve;class J extends le{extendStem(X,E,j){let F=X[0],P=X[1];"number"==typeof F[2]&&(F[2]=Math.max(j+E,F[2])),"number"==typeof P[2]&&(P[2]=Math.min(j-E,P[2]))}getPointPath(X,E){let j=E.strokeWidth(),F=X.series,P=j%2/2,D=Math.round(X.plotX)-P,A=Math.round(X.shapeArgs.width/2),I=X.plotClose,_=[["M",D,Math.round(X.yBottom)],["L",D,Math.round(X.plotHigh)]];return null!==X.close&&(I=Math.round(X.plotClose)+P,_.push(["M",D,I],["L",D+A,I]),F.extendStem(_,j/2,I)),_}drawSinglePoint(X){let F,E=X.series,j=E.chart,P=X.graphic;void 0!==X.plotY&&(P||(X.graphic=P=j.renderer.path().add(E.group)),j.styledMode||P.attr(E.pointAttribs(X,X.selected&&"select")),F=E.getPointPath(X,P),P[P?"animate":"attr"]({d:F}).addClass(X.getClassName(),!0))}drawPoints(){this.points.forEach(this.drawSinglePoint)}init(){super.init.apply(this,arguments),this.options.stacking=void 0}pointAttribs(X,E){let j=super.pointAttribs.call(this,X,E);return delete j.fill,j}toYData(X){return[X.high,X.low,X.close]}translate(){let X=this,E=X.yAxis,j=this.pointArrayMap&&this.pointArrayMap.slice()||[],F=j.map(P=>`plot${P.charAt(0).toUpperCase()+P.slice(1)}`);F.push("yBottom"),j.push("low"),super.translate.apply(X),X.points.forEach(function(P){j.forEach(function(D,A){let I=P[D];null!==I&&(X.dataModify&&(I=X.dataModify.modifyValue(I)),P[F[A]]=E.toPixels(I,!0))}),P.tooltipPos[1]=P.plotHigh+E.pos-X.chart.plotTop})}}return J.defaultOptions=ue(le.defaultOptions,ne),pe(J.prototype,{pointClass:q,animate:null,directTouch:!1,pointArrayMap:["high","low","close"],pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointValKey:"close"}),re.registerSeriesType("hlc",J),J}),Le(V,"Series/OHLC/OHLCPoint.js",[V["Core/Series/SeriesRegistry.js"]],function(q){let{seriesTypes:{hlc:ne}}=q;return class re extends ne.prototype.pointClass{getClassName(){return super.getClassName.call(this)+(this.open\u25cf {series.name}
Open: {point.open}
High: {point.high}
Low: {point.low}
Close: {point.close}
'}}}),Le(V,"Series/OHLC/OHLCSeries.js",[V["Core/Globals.js"],V["Series/OHLC/OHLCPoint.js"],V["Series/OHLC/OHLCSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{composed:pe}=q,{hlc:ue}=ve.seriesTypes,{addEvent:J,extend:te,merge:X,pushUnique:E}=le;function j(D){let A=D.options,I=A.dataGrouping;I&&A.useOhlcData&&"highcharts-navigator-series"!==A.id&&(I.approximation="ohlc")}function F(D){let A=D.options;A.useOhlcData&&"highcharts-navigator-series"!==A.id&&te(this,{pointValKey:P.prototype.pointValKey,pointArrayMap:P.prototype.pointArrayMap,toYData:P.prototype.toYData})}class P extends ue{static compose(A,...I){E(pe,"OHLCSeries")&&(J(A,"afterSetOptions",j),J(A,"init",F))}getPointPath(A,I){let _=super.getPointPath(A,I),m=I.strokeWidth(),w=m%2/2,G=Math.round(A.plotX)-w,O=Math.round(A.shapeArgs.width/2),f=A.plotOpen;return null!==A.open&&(f=Math.round(A.plotOpen)+w,_.push(["M",G,f],["L",G-O,f]),super.extendStem(_,m/2,f)),_}pointAttribs(A,I){let _=super.pointAttribs.call(this,A,I),m=this.options;return delete _.fill,!A.options.color&&m.upColor&&A.openE&&(te-=Math.round((j-E)/2),E=j),P=ue[J](te,X,E,j),D&&A){let I=D;if("circle"===J)I=te+E/2;else{let m=P[0],w=P[1];"M"===m[0]&&"L"===w[0]&&(I=(m[1]+w[1])/2)}P.push(["M",I,X>A?X:X+j],["L",D,A]),P=P.concat(ue.circle(D-1,A-1,2,2))}return P}}re.compose=function(ue){if(-1===ve.indexOf(ue)){ve.push(ue);let te=ue.prototype.symbols;te.flag=le,pe(te,"circle"),pe(te,"square")}let J=q.getRendererType();ve.indexOf(J)&&ve.push(J)}}(ne||(ne={})),ne}),Le(V,"Series/OnSeriesComposition.js",[V["Series/Column/ColumnSeries.js"],V["Core/Globals.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{composed:pe}=ne,{prototype:ue}=q,{prototype:J}=re,{defined:te,pushUnique:X,stableSort:E}=ve;return function(j){function F(D){return J.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this,D)}function P(){ue.translate.apply(this);let o,n,C,k,p,T,B,D=this,A=D.options,I=D.chart,_=D.points,m=A.onSeries,w=m&&I.get(m),G=w&&w.options.step,O=w&&w.points,f=I.inverted,a=D.xAxis,g=D.yAxis,v=_.length-1,r=A.onKey||"y",l=O&&O.length,d=0;if(w&&w.visible&&l)for(d=(w.pointXOffset||0)+(w.barW||0)/2,T=w.currentDataGrouping,k=O[l-1].x+(T?T.totalRange:0),E(_,(z,K)=>z.x-K.x),r="plot"+r[0].toUpperCase()+r.substr(1);l--&&_[v];)if(C=O[l],(o=_[v]).y=C.y,C.x<=o.x&&void 0!==C[r]){if(o.x<=k&&(o.plotY=C[r],C.xMath.pow(1-N,3)*z[R]+3*(1-N)*(1-N)*N*U[R]+3*(1-N)*N*N*se[R]+N*N*N*K[R],$=0,H=1;for(let N=0;N<100;N++){let R=($+H)/2,Z=S(R,0);if(null===Z)break;if(.25>Math.abs(Z-o.plotX)){x=R;break}Z{let U;z.plotX+=d,(void 0===z.plotY||f)&&(z.plotX>=0&&z.plotX<=a.len?f?(z.plotY=a.translate(z.x,0,1,0,1),z.plotX=te(z.y)?g.translate(z.y,0,0,0,1):0):z.plotY=(a.opposite?0:D.yAxis.len)+a.offset:z.shapeArgs={}),(n=_[K-1])&&n.plotX===z.plotX&&(void 0===n.stackIndex&&(n.stackIndex=0),U=n.stackIndex+1),z.stackIndex=U}),this.onSeries=w}j.compose=function(D){if(X(pe,"OnSeries")){let A=D.prototype;A.getPlotBox=F,A.translate=P}return D},j.getPlotBox=F,j.translate=P}(le||(le={})),le}),Le(V,"Series/Flags/FlagsSeries.js",[V["Series/Flags/FlagsPoint.js"],V["Series/Flags/FlagsSeriesDefaults.js"],V["Series/Flags/FlagsSymbols.js"],V["Core/Globals.js"],V["Series/OnSeriesComposition.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te){let{noop:X}=ve,{distribute:E}=pe,{series:j,seriesTypes:{column:F}}=ue,{addEvent:P,defined:D,extend:A,merge:I,objectEach:_,wrap:m}=te;class w extends F{animate(O){O&&this.setClip()}drawPoints(){let O,f,a,g,v,o,n,r,l,d,C,k=this.points,p=this.chart,T=p.renderer,B=p.inverted,z=this.options,K=z.y,U=this.yAxis,se={},S=[];for(g=k.length;g--;)v=k[g],d=(B?v.plotY:v.plotX)>this.xAxis.len,O=v.plotX,n=v.stackIndex,a=v.options.shape||z.shape,void 0!==(f=v.plotY)&&(f=v.plotY+K-(void 0!==n&&n*z.stackDistance)),v.anchorX=n?void 0:v.plotX,r=n?void 0:v.plotY,C="flag"!==a,o=v.graphic,void 0!==f&&O>=0&&!d?(o&&v.hasNewShapeType()&&(o=o.destroy()),o||(o=v.graphic=T.label("",null,null,a,null,null,z.useHTML).addClass("highcharts-point").add(this.markerGroup),v.graphic.div&&(v.graphic.div.point=v),o.isNew=!0),o.attr({align:C?"center":"left",width:z.width,height:z.height,"text-align":z.textAlign}),p.styledMode||o.attr(this.pointAttribs(v)).css(I(z.style,v.style)).shadow(z.shadow),O>0&&(O-=o.strokeWidth()%2),l={y:f,anchorY:r},z.allowOverlapX&&(l.x=O,l.anchorX=v.anchorX),o.attr({text:v.options.title||z.title||"A"})[o.isNew?"attr":"animate"](l),z.allowOverlapX||(se[v.plotX]?se[v.plotX].size=Math.max(se[v.plotX].size,o.width||0):se[v.plotX]={align:C?.5:0,size:o.width||0,target:O,anchorX:O}),v.tooltipPos=[O,f+U.pos-p.plotTop]):o&&(v.graphic=o.destroy());if(!z.allowOverlapX){let $=100;for(let H of(_(se,function(x){x.plotX=x.anchorX,S.push(x),$=Math.max(x.size,$)}),E(S,B?U.len:this.xAxis.len,$),k)){let N=H.graphic,R=N&&se[H.plotX];R&&N&&(D(R.pos)?N[N.isNew?"attr":"animate"]({x:R.pos+(R.align||0)*R.size,anchorX:H.anchorX}).show().isNew=!1:N.hide().isNew=!0)}}z.useHTML&&this.markerGroup&&m(this.markerGroup,"on",function($){return J.prototype.on.apply($.apply(this,[].slice.call(arguments,1)),[].slice.call(arguments,1))})}drawTracker(){let O=this.points;for(let f of(super.drawTracker(),O)){let a=f.graphic;a&&(f.unbindMouseOver&&f.unbindMouseOver(),f.unbindMouseOver=P(a.element,"mouseover",function(){for(let g of(f.stackIndex>0&&!f.raised&&(f._y=a.y,a.attr({y:f._y-8}),f.raised=!0),O))g!==f&&g.raised&&g.graphic&&(g.graphic.attr({y:g._y}),g.raised=!1)}))}}pointAttribs(O,f){let a=this.options,g=O&&O.color||this.color,v=a.lineColor,o=O&&O.lineWidth,n=O&&O.fillColor||a.fillColor;return f&&(n=a.states[f].fillColor,v=a.states[f].lineColor,o=a.states[f].lineWidth),{fill:n||g,stroke:v||g,"stroke-width":o||a.lineWidth||0}}setClip(){j.prototype.setClip.apply(this,arguments),!1!==this.options.clip&&this.sharedClipKey&&this.markerGroup&&this.markerGroup.clip(this.chart.sharedClips[this.sharedClipKey])}}return w.compose=re.compose,w.defaultOptions=I(F.defaultOptions,ne),le.compose(w),A(w.prototype,{allowDG:!1,forceCrop:!0,invertible:!1,noSharedTooltip:!0,pointClass:q,sorted:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],buildKDTree:X,init:j.prototype.init}),ue.registerSeriesType("flags",w),w}),Le(V,"Core/Axis/BrokenAxis.js",[V["Core/Axis/Stacking/StackItem.js"],V["Core/Utilities.js"]],function(q,ne){var re;let{addEvent:ve,find:le,fireEvent:pe,isArray:ue,isNumber:J,pick:te}=ne;return function(X){function E(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function j(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function F(){let w=this.brokenAxis;if(w?.hasBreaks){let G=this.tickPositions,O=this.tickPositions.info,f=[];for(let a=0;ad.to||f>d.from&&ad.from&&ad.from&&a>d.to&&a0){let v,o;for("value"!==this.options.gapUnit&&(a*=this.basePointRange),G&&G>a&&G>=this.basePointRange&&(a=G);g--;)if(o&&!1!==o.visible||(o=O[g+1]),v=O[g],!1!==o.visible&&!1!==v.visible){if(o.x-v.x>a){let n=(v.x+o.x)/2;O.splice(g+1,0,{isNull:!0,x:n}),f.stacking&&this.options.stacking&&((f.stacking.stacks[this.stackKey][n]=new q(f,f.options.stackLabels,!1,n,this.stack)).total=0)}o=v}}return this.getGraphPath(O)}X.compose=function(w,G){if(!w.keepProps.includes("brokenAxis")){w.keepProps.push("brokenAxis"),ve(w,"init",P),ve(w,"afterInit",E),ve(w,"afterSetTickPositions",F),ve(w,"afterSetOptions",j);let O=G.prototype;O.drawBreaks=I,O.gappedPath=_,ve(G,"afterGeneratePoints",D),ve(G,"afterRender",A)}return w};class m{static isInBreak(G,O){let f=G.repeat||1/0,a=G.from,g=G.to-G.from,v=O>=a?(O-a)%f:f-(a-O)%f;return G.inclusive?v<=g:v=a);v++)(g.to=G)break;if(m.isInBreak(g,G)){a-=G-g.from;break}}return a}constructor(G){this.hasBreaks=!1,this.axis=G}findBreakAt(G,O){return le(O,function(f){return f.fromk;)T-=C;for(;Tthis.chart.plotSizeX/P||A&&I.forced)&&(D=!0));return D?P:0}function X(){this.series.forEach(function(j){j.hasProcessed=!1})}function E(j,F){let P;if(F=ue(F,!0),j||(j={forced:!1,units:null}),this instanceof re)for(P=this.series.length;P--;)this.series[P].update({dataGrouping:j},!1);else this.chart.options.series.forEach(function(D){D.dataGrouping="boolean"==typeof j?j:pe(j,D.dataGrouping)});this.ordinal&&(this.ordinal.slope=void 0),F&&this.chart.redraw()}return{compose:function(j){re=j;let F=j.prototype;F.applyGrouping||(ve(j,"afterSetScale",X),ve(j,"postProcessData",J),le(F,{applyGrouping:J,getGroupPixelWidth:te,setDataGrouping:E}))}}}),Le(V,"Extensions/DataGrouping/DataGroupingSeriesComposition.js",[V["Extensions/DataGrouping/ApproximationRegistry.js"],V["Extensions/DataGrouping/DataGroupingDefaults.js"],V["Core/Axis/DateTimeAxis.js"],V["Core/Defaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){let{series:{prototype:ue}}=le,{addEvent:J,defined:te,error:X,extend:E,isNumber:j,merge:F,pick:P}=pe,D=ue.generatePoints;function A(O){var f;let a,g,d,C,v=this.chart,o=this.options.dataGrouping,n=!1!==this.allowDG&&o&&P(o.enabled,v.options.isStock),r=this.reserveSpace(),l=this.currentDataGrouping,k=!1;n&&!this.requireSorting&&(this.requireSorting=k=!0);let p=!(!this.isCartesian||this.isDirty||this.xAxis.isDirty||this.yAxis.isDirty||O)||!n;if(k&&(this.requireSorting=!1),p)return;this.destroyGroupedData();let T=o.groupAll?this.xData:this.processedXData,B=o.groupAll?this.yData:this.processedYData,z=v.plotSizeX,K=this.xAxis,U=K.options.ordinal,se=this.groupPixelWidth;if(se&&T&&T.length&&z){g=!0,this.isDirty=!0,this.points=null;let S=K.getExtremes(),$=S.min,H=S.max,x=U&&K.ordinal&&K.ordinal.getGroupIntervalFactor($,H,this)||1,R=K.getTimeTicks(re.Additions.prototype.normalizeTimeTickInterval(se*(H-$)/z*x,o.units||ne.units),Math.min($,T[0]),Math.max(H,T[T.length-1]),K.options.startOfWeek,T,this.closestPointRange),Z=ue.groupData.apply(this,[T,B,R,o.approximation]),Y=Z.groupedXData,he=Z.groupedYData,ge=0;for(o&&o.smoothed&&Y.length&&(o.firstAnchor="firstPoint",o.anchor="middle",o.lastAnchor="lastPoint",X(32,!1,v,{"dataGrouping.smoothed":"use dataGrouping.anchor"})),a=1;a=Te[0]){let Ee;we++;let Me=_e.groupMap[0].start,Xe=_e.groupMap[0].length;j(Me)&&j(Xe)&&(Ee=Me+(Xe-1)),Te[0]={start:Te[0],middle:Te[0]+.5*Be,end:Te[0]+Be,firstPoint:_e.xData[0],lastPoint:Ee&&_e.xData[Ee]}[be]}if(oe>0&&xe&&Be&&Te[oe]>=Oe-Be){Ie--;let Ee=_e.groupMap[_e.groupMap.length-1].start;Te[oe]={start:Te[oe],middle:Te[oe]+.5*Be,end:Te[oe]+Be,firstPoint:Ee&&_e.xData[Ee],lastPoint:_e.xData[_e.xData.length-1]}[xe]}if(ee&&"start"!==ee){let Ee=Be*{middle:.5,end:1}[ee];for(;Ie>=we;)Te[Ie]+=Ee,Ie--}}(this,Y,H),r&&(te((f=Y)[0])&&j(K.min)&&j(K.dataMin)&&f[0]K.max&&((!te(K.options.max)&&j(K.dataMax)&&K.max>=K.dataMax||K.max===K.dataMax)&&(K.max=Math.max(f[f.length-1],K.max)),K.dataMax=Math.max(f[f.length-1],K.dataMax))),o.groupAll&&(this.allGroupedData=he,Y=(C=this.cropData(Y,he,K.min,K.max)).xData,he=C.yData,this.cropStart=C.start),this.processedXData=Y,this.processedYData=he}else this.groupMap=null;this.hasGroupedData=g,this.preventGraphAnimation=(l&&l.totalRange)!==(d&&d.totalRange)}function I(){this.groupedData&&(this.groupedData.forEach(function(O,f){O&&(this.groupedData[f]=O.destroy?O.destroy():null)},this),this.groupedData.length=0,delete this.allGroupedData)}function _(){D.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null}function m(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("hlc")?"hlc":this.is("column")||this.options.cumulative?"sum":"average"}function w(O,f,a,g){let U,se,S,v=this,o=v.data,n=v.options&&v.options.data,r=[],l=[],d=[],C=O.length,k=!!f,p=[],T=v.pointArrayMap,B=T&&T.length,z=["x"].concat(T||["y"]),K=this.options.dataGrouping&&this.options.dataGrouping.groupAll,$=0,H=0,x="function"==typeof g?g:g&&q[g]?q[g]:q[v.getDGApproximation&&v.getDGApproximation()||"average"];if(B){let R=T.length;for(;R--;)p.push([])}else p.push([]);let N=B||1;for(let R=0;R<=C;R++)if(!(O[R]=a[$+1]||R===C;){U=a[$],v.dataGroupInfo={start:K?H:v.cropStart+H,length:p[0].length,groupStart:U},S=x.apply(v,p),v.pointClass&&!te(v.dataGroupInfo.options)&&(v.dataGroupInfo.options=F(v.pointClass.prototype.optionsToObject.call({series:v},v.options.data[v.cropStart+H])),z.forEach(function(Z){delete v.dataGroupInfo.options[Z]})),void 0!==S&&(r.push(U),l.push(S),d.push(v.dataGroupInfo)),H=R;for(let Z=0;Z{let J=ue.axis.getExtremes(),te=J.min,X=J.max,E=ve(ue.axis.minPointOffset,0);return re(te)&&re(X)&&ue.value>=te-E&&ue.value<=X+E&&!ue.axis.options.isInternal})[0]},getFieldType:function(pe,ue){let J=le[pe],te=typeof ue;return ne(J)&&(te=J),{string:"text",number:"number",boolean:"checkbox"}[te]}}}),Le(V,"Extensions/MouseWheelZoom/MouseWheelZoom.js",[V["Core/Utilities.js"],V["Extensions/Annotations/NavigationBindingsUtilities.js"]],function(q,ne){let re,{addEvent:ve,isObject:le,pick:pe,defined:ue,merge:J}=q,{getAssignedAxis:te}=ne,X=[],E={enabled:!0,sensitivity:1.1};function P(){let D=(D=>(le(D)||(D={enabled:D??!0}),J(E,D)))(this.zooming.mouseWheel);D.enabled&&ve(this.container,"wheel",A=>{A=this.pointer?.normalize(A)||A;let{pointer:I}=this,_=I&&!I.inClass(A.target,"highcharts-no-mousewheel");if(this.isInsidePlot(A.chartX-this.plotLeft,A.chartY-this.plotTop)&&_){let m=D.sensitivity||1.1,w=A.detail||(A.deltaY||0)/120,G=te(I.getCoordinates(A).xAxis),O=te(I.getCoordinates(A).yAxis);(function(D,A,I,_,m,w,G){let O=pe(G.type,D.zooming.type,""),f=[];"x"===O?f=I:"y"===O?f=_:"xy"===O&&(f=D.axes);let a=D.transform({axes:f,to:{x:m-5,y:w-5,width:10,height:10},from:{x:m-5*A,y:w-5*A,width:10*A,height:10*A},trigger:"mousewheel"});return a&&(ue(re)&&clearTimeout(re),re=setTimeout(()=>{D.pointer?.drop()},400)),a})(this,Math.pow(m,w),G?[G.axis]:this.xAxis,O?[O.axis]:this.yAxis,A.chartX,A.chartY,D)&&A.preventDefault?.()}})}return{compose:function(D){-1===X.indexOf(D)&&(X.push(D),ve(D,"afterGetContainer",P))}}}),Le(V,"masters/modules/mouse-wheel-zoom.src.js",[V["Core/Globals.js"],V["Extensions/MouseWheelZoom/MouseWheelZoom.js"]],function(q,ne){return q.MouseWheelZoom=q.MouseWheelZoom||ne,q.MouseWheelZoom.compose(q.Chart),q}),Le(V,"masters/modules/stock.src.js",[V["Core/Globals.js"],V["Series/DataModifyComposition.js"],V["Stock/Navigator/Navigator.js"],V["Core/Axis/OrdinalAxis.js"],V["Stock/RangeSelector/RangeSelector.js"],V["Stock/Scrollbar/Scrollbar.js"],V["Core/Chart/StockChart.js"],V["Series/OHLC/OHLCSeries.js"],V["Series/Flags/FlagsSeries.js"]],function(q,ne,re,ve,le,pe,ue,J,te){return q.Navigator=q.Navigator||re,q.OrdinalAxis=q.OrdinalAxis||ve,q.RangeSelector=q.RangeSelector||le,q.Scrollbar=q.Scrollbar||pe,q.stockChart=q.stockChart||ue.stockChart,q.StockChart=q.StockChart||q.stockChart,q.extend(q.StockChart,ue),ne.compose(q.Series,q.Axis,q.Point),te.compose(q.Renderer),J.compose(q.Series),q.Navigator.compose(q.Chart,q.Axis,q.Series),q.OrdinalAxis.compose(q.Axis,q.Series,q.Chart),q.RangeSelector.compose(q.Axis,q.Chart),q.Scrollbar.compose(q.Axis),q.StockChart.compose(q.Chart,q.Axis,q.Series,q.SVGRenderer),q}),Le(V,"masters/highstock.src.js",[V["masters/highcharts.src.js"]],function(q){return q.product="Highstock",q}),V["masters/highstock.src.js"]._modules=V,V["masters/highstock.src.js"]},ri.exports?(V.default=V,ri.exports=e&&e.document?V(e):V):void 0!==(M=function(){return V(e)}.call(Bt,We,Bt,ri))&&(ri.exports=M)},38833:(ri,Bt,We)=>{var M,e,V;V=function(V){"use strict";var Le=V?V._modules:{};function q(ne,re,ve,le){ne.hasOwnProperty(re)||(ne[re]=le.apply(null,ve),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:re,module:ne[re]}})))}q(Le,"Core/Chart/ChartNavigationComposition.js",[],function(){var ne;return function(re){re.compose=function ve(pe){return pe.navigation||(pe.navigation=new le(pe)),pe};class le{constructor(ue){this.updates=[],this.chart=ue}addUpdate(ue){this.chart.navigation.updates.push(ue)}update(ue,J){this.updates.forEach(te=>{te.call(this.chart,ue,J)})}}re.Additions=le}(ne||(ne={})),ne}),q(Le,"Extensions/Exporting/ExportingDefaults.js",[Le["Core/Globals.js"]],function(ne){const{isTouchDevice:re}=ne;return{exporting:{allowTableSorting:!0,type:"image/png",url:"https://export.highcharts.com/",pdfFont:{normal:void 0,bold:void 0,bolditalic:void 0,italic:void 0},printMaxWidth:780,scale:2,buttons:{contextButton:{className:"highcharts-contextbutton",menuClassName:"highcharts-contextmenu",symbol:"menu",titleKey:"contextButtonTitle",menuItems:["viewFullscreen","printChart","separator","downloadPNG","downloadJPEG","downloadPDF","downloadSVG"]}},menuItemDefinitions:{viewFullscreen:{textKey:"viewFullscreen",onclick:function(){this.fullscreen&&this.fullscreen.toggle()}},printChart:{textKey:"printChart",onclick:function(){this.print()}},separator:{separator:!0},downloadPNG:{textKey:"downloadPNG",onclick:function(){this.exportChart()}},downloadJPEG:{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},downloadPDF:{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},downloadSVG:{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}}},lang:{viewFullscreen:"View in full screen",exitFullscreen:"Exit from full screen",printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"},navigation:{buttonOptions:{symbolSize:14,symbolX:14.5,symbolY:13.5,align:"right",buttonSpacing:3,height:28,verticalAlign:"top",width:28,symbolFill:"#666666",symbolStroke:"#666666",symbolStrokeWidth:3,theme:{padding:5}},menuStyle:{border:"none",borderRadius:"3px",background:"#ffffff",padding:"0.5em"},menuItemStyle:{background:"none",borderRadius:"3px",color:"#333333",padding:"0.5em",fontSize:re?"0.9em":"0.8em",transition:"background 250ms, color 250ms"},menuItemHoverStyle:{background:"#f2f2f2"}}}}),q(Le,"Extensions/Exporting/ExportingSymbols.js",[],function(){var ne;return function(re){const ve=[];function pe(J,te,X,E){return[["M",J,te+2.5],["L",J+X,te+2.5],["M",J,te+E/2+.5],["L",J+X,te+E/2+.5],["M",J,te+E-1.5],["L",J+X,te+E-1.5]]}function ue(J,te,X,E){const j=E/3-2;let F=[];return F=F.concat(this.circle(X-j,te,j,j),this.circle(X-j,te+j+4,j,j),this.circle(X-j,te+2*(j+4),j,j)),F}re.compose=function le(J){if(-1===ve.indexOf(J)){ve.push(J);const te=J.prototype.symbols;te.menu=pe,te.menuball=ue.bind(te)}}}(ne||(ne={})),ne}),q(Le,"Extensions/Exporting/Fullscreen.js",[Le["Core/Renderer/HTML/AST.js"],Le["Core/Globals.js"],Le["Core/Utilities.js"]],function(ne,re,ve){const{composed:le}=re,{addEvent:pe,fireEvent:ue,pushUnique:J}=ve;function te(){this.fullscreen=new X(this)}class X{static compose(j){J(le,"Fullscreen")&&pe(j,"beforeRender",te)}constructor(j){this.chart=j,this.isOpen=!1;const F=j.renderTo;this.browserProps||("function"==typeof F.requestFullscreen?this.browserProps={fullscreenChange:"fullscreenchange",requestFullscreen:"requestFullscreen",exitFullscreen:"exitFullscreen"}:F.mozRequestFullScreen?this.browserProps={fullscreenChange:"mozfullscreenchange",requestFullscreen:"mozRequestFullScreen",exitFullscreen:"mozCancelFullScreen"}:F.webkitRequestFullScreen?this.browserProps={fullscreenChange:"webkitfullscreenchange",requestFullscreen:"webkitRequestFullScreen",exitFullscreen:"webkitExitFullscreen"}:F.msRequestFullscreen&&(this.browserProps={fullscreenChange:"MSFullscreenChange",requestFullscreen:"msRequestFullscreen",exitFullscreen:"msExitFullscreen"}))}close(){const j=this,F=j.chart,P=F.options.chart;ue(F,"fullscreenClose",null,function(){j.isOpen&&j.browserProps&&F.container.ownerDocument instanceof Document&&F.container.ownerDocument[j.browserProps.exitFullscreen](),j.unbindFullscreenEvent&&(j.unbindFullscreenEvent=j.unbindFullscreenEvent()),F.setSize(j.origWidth,j.origHeight,!1),j.origWidth=void 0,j.origHeight=void 0,P.width=j.origWidthOption,P.height=j.origHeightOption,j.origWidthOption=void 0,j.origHeightOption=void 0,j.isOpen=!1,j.setButtonText()})}open(){const j=this,F=j.chart,P=F.options.chart;ue(F,"fullscreenOpen",null,function(){if(P&&(j.origWidthOption=P.width,j.origHeightOption=P.height),j.origWidth=F.chartWidth,j.origHeight=F.chartHeight,j.browserProps){const D=pe(F.container.ownerDocument,j.browserProps.fullscreenChange,function(){j.isOpen?(j.isOpen=!1,j.close()):(F.setSize(null,null,!1),j.isOpen=!0,j.setButtonText())}),A=pe(F,"destroy",D);j.unbindFullscreenEvent=()=>{D(),A()};const I=F.renderTo[j.browserProps.requestFullscreen]();I&&I.catch(function(){alert("Full screen is not supported inside a frame.")})}})}setButtonText(){const j=this.chart,F=j.exportDivElements,P=j.options.exporting,D=P&&P.buttons&&P.buttons.contextButton.menuItems,A=j.options.lang;if(P&&P.menuItemDefinitions&&A&&A.exitFullscreen&&A.viewFullscreen&&D&&F){const I=F[D.indexOf("viewFullscreen")];I&&ne.setElementHTML(I,this.isOpen?A.exitFullscreen:P.menuItemDefinitions.viewFullscreen.text||A.viewFullscreen)}}toggle(){const j=this;j.isOpen?j.close():j.open()}}return X}),q(Le,"Core/HttpUtilities.js",[Le["Core/Globals.js"],Le["Core/Utilities.js"]],function(ne,re){const{win:ve}=ne,{discardElement:le,objectEach:pe}=re,X={ajax:function ue(E){const j={json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"},F=new XMLHttpRequest;function P(D,A){E.error&&E.error(D,A)}if(!E.url)return!1;F.open((E.type||"get").toUpperCase(),E.url,!0),(!E.headers||!E.headers["Content-Type"])&&F.setRequestHeader("Content-Type",j[E.dataType||"json"]||j.text),pe(E.headers,function(D,A){F.setRequestHeader(A,D)}),E.responseType&&(F.responseType=E.responseType),F.onreadystatechange=function(){let D;if(4===F.readyState){if(200===F.status){if("blob"!==E.responseType&&(D=F.responseText,"json"===E.dataType))try{D=JSON.parse(D)}catch(A){if(A instanceof Error)return P(F,A)}return E.success&&E.success(D,F)}P(F,F.responseText)}},E.data&&"string"!=typeof E.data&&(E.data=JSON.stringify(E.data)),F.send(E.data)},getJSON:function J(E,j){X.ajax({url:E,success:j,dataType:"json",headers:{"Content-Type":"text/plain"}})},post:function te(E,j,F){const P=new ve.FormData;pe(j,function(I,_){P.append(_,I)}),P.append("b64","true");const{filename:D,type:A}=j;return ve.fetch(E,{method:"POST",body:P,...F}).then(I=>{I.ok&&I.text().then(_=>{const m=document.createElement("a");m.href=`data:${A};base64,${_}`,m.download=D,m.click(),le(m)})})}};return X}),q(Le,"Extensions/Exporting/Exporting.js",[Le["Core/Renderer/HTML/AST.js"],Le["Core/Chart/Chart.js"],Le["Core/Chart/ChartNavigationComposition.js"],Le["Core/Defaults.js"],Le["Extensions/Exporting/ExportingDefaults.js"],Le["Extensions/Exporting/ExportingSymbols.js"],Le["Extensions/Exporting/Fullscreen.js"],Le["Core/Globals.js"],Le["Core/HttpUtilities.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le,pe,ue,J,te,X,E){const{defaultOptions:j}=le,{doc:F,SVG_NS:P,win:D}=te,{addEvent:A,css:I,createElement:_,discardElement:m,extend:w,find:G,fireEvent:O,isObject:f,merge:a,objectEach:g,pick:v,removeEvent:o,uniqueKey:n}=E;var r;return function(l){const d=[/-/,/^(clipPath|cssText|d|height|width)$/,/^font$/,/[lL]ogical(Width|Height)$/,/^parentRule$/,/^(cssRules|ownerRules)$/,/perspective/,/TapHighlightColor/,/^transition/,/^length$/,/^[0-9]+$/],C=["fill","stroke","strokeLinecap","strokeLinejoin","strokeWidth","textAnchor","x","y"];l.inlineAllowlist=[];const k=["clipPath","defs","desc"];let p;function T(De){const Be=this,oe=Be.renderer,ee=a(Be.options.navigation.buttonOptions,De),be=ee.onclick,xe=ee.menuItems,Ie=ee.symbolSize||12;let we;if(Be.btnCount||(Be.btnCount=0),Be.exportDivElements||(Be.exportDivElements=[],Be.exportSVGElements=[]),!1===ee.enabled||!ee.theme)return;const Ee=ee.theme;let Me;Be.styledMode||(Ee.fill=v(Ee.fill,"#ffffff"),Ee.stroke=v(Ee.stroke,"none")),be?Me=function(Je){Je&&Je.stopPropagation(),be.call(Be,Je)}:xe&&(Me=function(Je){Je&&Je.stopPropagation(),Be.contextMenu(Xe.menuClassName,xe,Xe.translateX||0,Xe.translateY||0,Xe.width||0,Xe.height||0,Xe),Xe.setState(2)}),ee.text&&ee.symbol?Ee.paddingLeft=v(Ee.paddingLeft,30):ee.text||w(Ee,{width:ee.width,height:ee.height,padding:0}),Be.styledMode||(Ee["stroke-linecap"]="round",Ee.fill=v(Ee.fill,"#ffffff"),Ee.stroke=v(Ee.stroke,"none"));const Xe=oe.button(ee.text,0,0,Me,Ee,void 0,void 0,void 0,void 0,ee.useHTML).addClass(De.className).attr({title:v(Be.options.lang[ee._titleKey||ee.titleKey],"")});Xe.menuClassName=De.menuClassName||"highcharts-menu-"+Be.btnCount++,ee.symbol&&(we=oe.symbol(ee.symbol,ee.symbolX-Ie/2,ee.symbolY-Ie/2,Ie,Ie,{width:Ie,height:Ie}).addClass("highcharts-button-symbol").attr({zIndex:1}).add(Xe),Be.styledMode||we.attr({stroke:ee.symbolStroke,fill:ee.symbolFill,"stroke-width":ee.symbolStrokeWidth||1})),Xe.add(Be.exportingGroup).align(w(ee,{width:Xe.width,x:v(ee.x,Be.buttonOffset)}),!0,"spacingBox"),Be.buttonOffset+=((Xe.width||0)+ee.buttonSpacing)*("right"===ee.align?-1:1),Be.exportSVGElements.push(Xe,we)}function B(){const De=this;if(!De.printReverseInfo)return;const{childNodes:Be,origDisplay:oe,resetParams:ee}=De.printReverseInfo;De.moveContainers(De.renderTo),[].forEach.call(Be,function(be,xe){1===be.nodeType&&(be.style.display=oe[xe]||"")}),De.isPrinting=!1,ee&&De.setSize.apply(De,ee),delete De.printReverseInfo,p=void 0,O(De,"afterPrint")}function z(){const De=this,Be=F.body,oe=De.options.exporting.printMaxWidth,ee={childNodes:Be.childNodes,origDisplay:[],resetParams:void 0};De.isPrinting=!0,De.pointer?.reset(void 0,0),O(De,"beforePrint"),oe&&De.chartWidth>oe&&(ee.resetParams=[De.options.chart.width,void 0,!1],De.setSize(oe,void 0,!1)),[].forEach.call(ee.childNodes,function(xe,Ie){1===xe.nodeType&&(ee.origDisplay[Ie]=xe.style.display,xe.style.display="none")}),De.moveContainers(Be),De.printReverseInfo=ee}function K(De){const Be=De;Be.renderExporting(),A(De,"redraw",Be.renderExporting),A(De,"destroy",Be.destroyExport)}function se(De,Be,oe,ee,be,xe,Ie){const we=this,Ee=we.options.navigation,Me=we.chartWidth,Xe=we.chartHeight,Je="cache-"+De,lt=Math.max(be,xe);let qe,st=we[Je];st||(we.exportContextMenu=we[Je]=st=_("div",{className:De},{position:"absolute",zIndex:1e3,padding:lt+"px",pointerEvents:"auto",...we.renderer.style},we.scrollablePlotArea?.fixedDiv||we.container),qe=_("ul",{className:"highcharts-menu"},we.styledMode?{}:{listStyle:"none",margin:0,padding:0},st),we.styledMode||I(qe,w({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},Ee.menuStyle)),st.hideMenu=function(){I(st,{display:"none"}),Ie&&Ie.setState(0),we.openMenu=!1,I(we.renderTo,{overflow:"hidden"}),I(we.container,{overflow:"hidden"}),E.clearTimeout(st.hideTimer),O(we,"exportMenuHidden")},we.exportEvents.push(A(st,"mouseleave",function(){st.hideTimer=D.setTimeout(st.hideMenu,500)}),A(st,"mouseenter",function(){E.clearTimeout(st.hideTimer)}),A(F,"mouseup",function(pt){we.pointer?.inClass(pt.target,De)||st.hideMenu()}),A(st,"click",function(){we.openMenu&&st.hideMenu()})),Be.forEach(function(pt){if("string"==typeof pt&&(pt=we.options.exporting.menuItemDefinitions[pt]),f(pt,!0)){let ht;pt.separator?ht=_("hr",void 0,void 0,qe):("viewData"===pt.textKey&&we.isDataTableVisible&&(pt.textKey="hideData"),ht=_("li",{className:"highcharts-menu-item",onclick:function(Pt){Pt&&Pt.stopPropagation(),st.hideMenu(),"string"!=typeof pt&&pt.onclick&&pt.onclick.apply(we,arguments)}},void 0,qe),ne.setElementHTML(ht,pt.text||we.options.lang[pt.textKey]),we.styledMode||(ht.onmouseover=function(){I(this,Ee.menuItemHoverStyle)},ht.onmouseout=function(){I(this,Ee.menuItemStyle)},I(ht,w({cursor:"pointer"},Ee.menuItemStyle||{})))),we.exportDivElements.push(ht)}}),we.exportDivElements.push(qe,st),we.exportMenuWidth=st.offsetWidth,we.exportMenuHeight=st.offsetHeight);const Tt={display:"block"};oe+we.exportMenuWidth>Me?Tt.right=Me-oe-be-lt+"px":Tt.left=oe-lt+"px",ee+xe+we.exportMenuHeight>Xe&&"top"!==Ie.alignOptions.verticalAlign?Tt.bottom=Xe-ee-lt+"px":Tt.top=ee+xe-lt+"px",I(st,Tt),I(we.renderTo,{overflow:""}),I(we.container,{overflow:""}),we.openMenu=!0,O(we,"exportMenuShown")}function S(De){const Be=De?De.target:this,oe=Be.exportSVGElements,ee=Be.exportDivElements,be=Be.exportEvents;let xe;oe&&(oe.forEach((Ie,we)=>{Ie&&(Ie.onclick=Ie.ontouchstart=null,xe="cache-"+Ie.menuClassName,Be[xe]&&delete Be[xe],oe[we]=Ie.destroy())}),oe.length=0),Be.exportingGroup&&(Be.exportingGroup.destroy(),delete Be.exportingGroup),ee&&(ee.forEach(function(Ie,we){Ie&&(E.clearTimeout(Ie.hideTimer),o(Ie,"mouseleave"),ee[we]=Ie.onmouseout=Ie.onmouseover=Ie.ontouchstart=Ie.onclick=null,m(Ie))}),ee.length=0),be&&(be.forEach(function(Ie){Ie()}),be.length=0)}function $(De,Be){const oe=this.getSVGForExport(De,Be);De=a(this.options.exporting,De),X.post(De.url,{filename:De.filename?De.filename.replace(/\//g,"-"):this.getFilename(),type:De.type,width:De.width,scale:De.scale,svg:oe},De.fetchOptions)}function H(){return this.styledMode&&this.inlineStyles(),this.container.innerHTML}function x(){const De=this.userOptions.title&&this.userOptions.title.text;let Be=this.options.exporting.filename;return Be?Be.replace(/\//g,"-"):("string"==typeof De&&(Be=De.toLowerCase().replace(/<\/?[^>]+(>|$)/g,"").replace(/[\s_]+/g,"-").replace(/[^a-z0-9\-]/g,"").replace(/^[\-]+/g,"").replace(/[\-]+/g,"-").substr(0,24).replace(/[\-]+$/g,"")),(!Be||Be.length<5)&&(Be="chart"),Be)}function N(De){const Be=this;let oe,ee,be=a(Be.options,De);be.plotOptions=a(Be.userOptions.plotOptions,De&&De.plotOptions),be.time=a(Be.userOptions.time,De&&De.time);const xe=_("div",null,{position:"absolute",top:"-9999em",width:Be.chartWidth+"px",height:Be.chartHeight+"px"},F.body),Ie=Be.renderTo.style.width,we=Be.renderTo.style.height,Ee=be.exporting.sourceWidth||be.chart.width||/px$/.test(Ie)&&parseInt(Ie,10)||(be.isGantt?800:600),Me=be.exporting.sourceHeight||be.chart.height||/px$/.test(we)&&parseInt(we,10)||400;w(be.chart,{animation:!1,renderTo:xe,forExport:!0,renderer:"SVGRenderer",width:Ee,height:Me}),be.exporting.enabled=!1,delete be.data,be.series=[],Be.series.forEach(function(lt){ee=a(lt.userOptions,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:lt.visible}),ee.isInternal||be.series.push(ee)});const Xe={};Be.axes.forEach(function(lt){lt.userOptions.internalKey||(lt.userOptions.internalKey=n()),lt.options.isInternal||(Xe[lt.coll]||(Xe[lt.coll]=!0,be[lt.coll]=[]),be[lt.coll].push(a(lt.userOptions,{visible:lt.visible})))}),be.colorAxis=Be.userOptions.colorAxis;const Je=new Be.constructor(be,Be.callback);return De&&["xAxis","yAxis","series"].forEach(function(lt){const qe={};De[lt]&&(qe[lt]=De[lt],Je.update(qe))}),Be.axes.forEach(function(lt){const qe=G(Je.axes,function(ht){return ht.options.internalKey===lt.userOptions.internalKey}),st=lt.getExtremes(),Tt=st.userMin,pt=st.userMax;qe&&(typeof Tt<"u"&&Tt!==qe.min||typeof pt<"u"&&pt!==qe.max)&&qe.setExtremes(Tt,pt,!0,!1)}),oe=Je.getChartHTML(),O(this,"getSVG",{chartCopy:Je}),oe=Be.sanitizeSVG(oe,be),be=null,Je.destroy(),m(xe),oe}function R(De,Be){const oe=this.options.exporting;return this.getSVG(a({chart:{borderRadius:0}},oe.chartOptions,Be,{exporting:{sourceWidth:De&&De.sourceWidth||oe.sourceWidth,sourceHeight:De&&De.sourceHeight||oe.sourceHeight}}))}function Y(){const De=d,Be=l.inlineAllowlist,oe={};let ee;const be=F.createElement("iframe");I(be,{width:"1px",height:"1px",visibility:"hidden"}),F.body.appendChild(be);const xe=be.contentWindow&&be.contentWindow.document;xe&&xe.body.appendChild(xe.createElementNS(P,"svg")),function Ie(Ee){const Me={};let Xe,Je,lt,qe,st,Tt;function pt(ht,Pt){if(qe=st=!1,Be.length){for(Tt=Be.length;Tt--&&!st;)st=Be[Tt].test(Pt);qe=!st}for("transform"===Pt&&"none"===ht&&(qe=!0),Tt=De.length;Tt--&&!qe;)qe=De[Tt].test(Pt)||"function"==typeof ht;qe||(Je[Pt]!==ht||"svg"===Ee.nodeName)&&oe[Ee.nodeName][Pt]!==ht&&(C&&-1===C.indexOf(Pt)?Me[Pt]=ht:ht&&Ee.setAttribute(function Z(De){return De.replace(/([A-Z])/g,function(Be,oe){return"-"+oe.toLowerCase()})}(Pt),ht))}if(xe&&1===Ee.nodeType&&-1===k.indexOf(Ee.nodeName)){if(Xe=D.getComputedStyle(Ee,null),Je="svg"===Ee.nodeName?{}:D.getComputedStyle(Ee.parentNode,null),!oe[Ee.nodeName]){ee=xe.getElementsByTagName("svg")[0],lt=xe.createElementNS(Ee.namespaceURI,Ee.nodeName),ee.appendChild(lt);const ht=D.getComputedStyle(lt,null),Pt={};for(const Gt in ht)"string"==typeof ht[Gt]&&!/^[0-9]+$/.test(Gt)&&(Pt[Gt]=ht[Gt]);oe[Ee.nodeName]=Pt,"text"===Ee.nodeName&&delete oe.text.fill,ee.removeChild(lt)}for(const ht in Xe)(te.isFirefox||te.isMS||te.isSafari||Object.hasOwnProperty.call(Xe,ht))&&pt(Xe[ht],ht);if(I(Ee,Me),"svg"===Ee.nodeName&&Ee.setAttribute("stroke-width","1px"),"text"===Ee.nodeName)return;[].forEach.call(Ee.children||Ee.childNodes,Ie)}}(this.container.querySelector("svg")),function we(){ee.parentNode.removeChild(ee),be.parentNode.removeChild(be)}()}function he(De){const{scrollablePlotArea:Be}=this;(Be?[Be.fixedDiv,Be.scrollingContainer]:[this.container]).forEach(function(oe){De.appendChild(oe)})}function ge(){const De=this,Be=(oe,ee,be)=>{De.isDirtyExporting=!0,a(!0,De.options[oe],ee),v(be,!0)&&De.redraw()};De.exporting={update:function(oe,ee){Be("exporting",oe,ee)}},ve.compose(De).navigation.addUpdate((oe,ee)=>{Be("navigation",oe,ee)})}function _e(){const De=this;De.isPrinting||(p=De,te.isSafari||De.beforePrint(),setTimeout(()=>{D.focus(),D.print(),te.isSafari||setTimeout(()=>{De.afterPrint()},1e3)},1))}function Te(){const De=this,Be=De.options.exporting,oe=Be.buttons,ee=De.isDirtyExporting||!De.exportSVGElements;De.buttonOffset=0,De.isDirtyExporting&&De.destroyExport(),ee&&!1!==Be.enabled&&(De.exportEvents=[],De.exportingGroup=De.exportingGroup||De.renderer.g("exporting-group").attr({zIndex:3}).add(),g(oe,function(be){De.addButton(be)}),De.isDirtyExporting=!1)}function Oe(De,Be){const oe=De.indexOf("")+6;let ee=De.substr(oe);return De=De.substr(0,oe),Be&&Be.exporting&&Be.exporting.allowHTML&&ee&&(ee=''+ee.replace(/(<(?:img|br).*?(?=\>))>/g,"$1 />")+"",De=De.replace("",ee+"")),De.replace(/zIndex="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery[0-9]+="[^"]+"/g,"").replace(/url\(("|")(.*?)("|")\;?\)/g,"url($2)").replace(/url\([^#]+#/g,"url(#").replace(/{"use strict";function Bt(e){return e instanceof Buffer?Buffer.from(e):new e.constructor(e.buffer.slice(),e.byteOffset,e.length)}ri.exports=function We(e){return(e=e||{}).circles?function M(e){var V=[],Le=[];return e.proto?function re(ve){if("object"!=typeof ve||null===ve)return ve;if(ve instanceof Date)return new Date(ve);if(Array.isArray(ve))return q(ve,re);if(ve instanceof Map)return new Map(q(Array.from(ve),re));if(ve instanceof Set)return new Set(q(Array.from(ve),re));var le={};for(var pe in V.push(ve),Le.push(le),ve){var ue=ve[pe];if("object"!=typeof ue||null===ue)le[pe]=ue;else if(ue instanceof Date)le[pe]=new Date(ue);else if(ue instanceof Map)le[pe]=new Map(q(Array.from(ue),re));else if(ue instanceof Set)le[pe]=new Set(q(Array.from(ue),re));else if(ArrayBuffer.isView(ue))le[pe]=Bt(ue);else{var J=V.indexOf(ue);le[pe]=-1!==J?Le[J]:re(ue)}}return V.pop(),Le.pop(),le}:function ne(ve){if("object"!=typeof ve||null===ve)return ve;if(ve instanceof Date)return new Date(ve);if(Array.isArray(ve))return q(ve,ne);if(ve instanceof Map)return new Map(q(Array.from(ve),ne));if(ve instanceof Set)return new Set(q(Array.from(ve),ne));var le={};for(var pe in V.push(ve),Le.push(le),ve)if(!1!==Object.hasOwnProperty.call(ve,pe)){var ue=ve[pe];if("object"!=typeof ue||null===ue)le[pe]=ue;else if(ue instanceof Date)le[pe]=new Date(ue);else if(ue instanceof Map)le[pe]=new Map(q(Array.from(ue),ne));else if(ue instanceof Set)le[pe]=new Set(q(Array.from(ue),ne));else if(ArrayBuffer.isView(ue))le[pe]=Bt(ue);else{var J=V.indexOf(ue);le[pe]=-1!==J?Le[J]:ne(ue)}}return V.pop(),Le.pop(),le};function q(ve,le){for(var pe=Object.keys(ve),ue=new Array(pe.length),J=0;J{"use strict";We.d(Bt,{t:()=>e});var M=We(21413);class e extends M.B{constructor(Le){super(),this._value=Le}get value(){return this.getValue()}_subscribe(Le){const q=super._subscribe(Le);return!q.closed&&Le.next(this._value),q}getValue(){const{hasError:Le,thrownError:q,_value:ne}=this;if(Le)throw q;return this._throwIfClosed(),ne}next(Le){super.next(this._value=Le)}}},71985:(ri,Bt,We)=>{"use strict";We.d(Bt,{c:()=>ve});var M=We(47707),e=We(18359),V=We(3494),Le=We(71203),q=We(41026),ne=We(98071),re=We(49786);let ve=(()=>{class J{constructor(X){X&&(this._subscribe=X)}lift(X){const E=new J;return E.source=this,E.operator=X,E}subscribe(X,E,j){const F=function ue(J){return J&&J instanceof M.vU||function pe(J){return J&&(0,ne.T)(J.next)&&(0,ne.T)(J.error)&&(0,ne.T)(J.complete)}(J)&&(0,e.Uv)(J)}(X)?X:new M.Ms(X,E,j);return(0,re.Y)(()=>{const{operator:P,source:D}=this;F.add(P?P.call(F,D):D?this._subscribe(F):this._trySubscribe(F))}),F}_trySubscribe(X){try{return this._subscribe(X)}catch(E){X.error(E)}}forEach(X,E){return new(E=le(E))((j,F)=>{const P=new M.Ms({next:D=>{try{X(D)}catch(A){F(A),P.unsubscribe()}},error:F,complete:j});this.subscribe(P)})}_subscribe(X){var E;return null===(E=this.source)||void 0===E?void 0:E.subscribe(X)}[V.s](){return this}pipe(...X){return(0,Le.m)(X)(this)}toPromise(X){return new(X=le(X))((E,j)=>{let F;this.subscribe(P=>F=P,P=>j(P),()=>E(F))})}}return J.create=te=>new J(te),J})();function le(J){var te;return null!==(te=J??q.$.Promise)&&void 0!==te?te:Promise}},21413:(ri,Bt,We)=>{"use strict";We.d(Bt,{B:()=>re});var M=We(71985),e=We(18359);const Le=(0,We(81853).L)(le=>function(){le(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var q=We(57908),ne=We(49786);let re=(()=>{class le extends M.c{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(ue){const J=new ve(this,this);return J.operator=ue,J}_throwIfClosed(){if(this.closed)throw new Le}next(ue){(0,ne.Y)(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const J of this.currentObservers)J.next(ue)}})}error(ue){(0,ne.Y)(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=ue;const{observers:J}=this;for(;J.length;)J.shift().error(ue)}})}complete(){(0,ne.Y)(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:ue}=this;for(;ue.length;)ue.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var ue;return(null===(ue=this.observers)||void 0===ue?void 0:ue.length)>0}_trySubscribe(ue){return this._throwIfClosed(),super._trySubscribe(ue)}_subscribe(ue){return this._throwIfClosed(),this._checkFinalizedStatuses(ue),this._innerSubscribe(ue)}_innerSubscribe(ue){const{hasError:J,isStopped:te,observers:X}=this;return J||te?e.Kn:(this.currentObservers=null,X.push(ue),new e.yU(()=>{this.currentObservers=null,(0,q.o)(X,ue)}))}_checkFinalizedStatuses(ue){const{hasError:J,thrownError:te,isStopped:X}=this;J?ue.error(te):X&&ue.complete()}asObservable(){const ue=new M.c;return ue.source=this,ue}}return le.create=(pe,ue)=>new ve(pe,ue),le})();class ve extends re{constructor(pe,ue){super(),this.destination=pe,this.source=ue}next(pe){var ue,J;null===(J=null===(ue=this.destination)||void 0===ue?void 0:ue.next)||void 0===J||J.call(ue,pe)}error(pe){var ue,J;null===(J=null===(ue=this.destination)||void 0===ue?void 0:ue.error)||void 0===J||J.call(ue,pe)}complete(){var pe,ue;null===(ue=null===(pe=this.destination)||void 0===pe?void 0:pe.complete)||void 0===ue||ue.call(pe)}_subscribe(pe){var ue,J;return null!==(J=null===(ue=this.source)||void 0===ue?void 0:ue.subscribe(pe))&&void 0!==J?J:e.Kn}}},47707:(ri,Bt,We)=>{"use strict";We.d(Bt,{Ms:()=>j,vU:()=>J});var M=We(98071),e=We(18359),V=We(41026),Le=We(45334),q=We(85343);const ne=le("C",void 0,void 0);function le(I,_,m){return{kind:I,value:_,error:m}}var pe=We(19270),ue=We(49786);class J extends e.yU{constructor(_){super(),this.isStopped=!1,_?(this.destination=_,(0,e.Uv)(_)&&_.add(this)):this.destination=A}static create(_,m,w){return new j(_,m,w)}next(_){this.isStopped?D(function ve(I){return le("N",I,void 0)}(_),this):this._next(_)}error(_){this.isStopped?D(function re(I){return le("E",void 0,I)}(_),this):(this.isStopped=!0,this._error(_))}complete(){this.isStopped?D(ne,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(_){this.destination.next(_)}_error(_){try{this.destination.error(_)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const te=Function.prototype.bind;function X(I,_){return te.call(I,_)}class E{constructor(_){this.partialObserver=_}next(_){const{partialObserver:m}=this;if(m.next)try{m.next(_)}catch(w){F(w)}}error(_){const{partialObserver:m}=this;if(m.error)try{m.error(_)}catch(w){F(w)}else F(_)}complete(){const{partialObserver:_}=this;if(_.complete)try{_.complete()}catch(m){F(m)}}}class j extends J{constructor(_,m,w){let G;if(super(),(0,M.T)(_)||!_)G={next:_??void 0,error:m??void 0,complete:w??void 0};else{let O;this&&V.$.useDeprecatedNextContext?(O=Object.create(_),O.unsubscribe=()=>this.unsubscribe(),G={next:_.next&&X(_.next,O),error:_.error&&X(_.error,O),complete:_.complete&&X(_.complete,O)}):G=_}this.destination=new E(G)}}function F(I){V.$.useDeprecatedSynchronousErrorHandling?(0,ue.l)(I):(0,Le.m)(I)}function D(I,_){const{onStoppedNotification:m}=V.$;m&&pe.f.setTimeout(()=>m(I,_))}const A={closed:!0,next:q.l,error:function P(I){throw I},complete:q.l}},18359:(ri,Bt,We)=>{"use strict";We.d(Bt,{Kn:()=>ne,yU:()=>q,Uv:()=>re});var M=We(98071);const V=(0,We(81853).L)(le=>function(ue){le(this),this.message=ue?`${ue.length} errors occurred during unsubscription:\n${ue.map((J,te)=>`${te+1}) ${J.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=ue});var Le=We(57908);class q{constructor(pe){this.initialTeardown=pe,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let pe;if(!this.closed){this.closed=!0;const{_parentage:ue}=this;if(ue)if(this._parentage=null,Array.isArray(ue))for(const X of ue)X.remove(this);else ue.remove(this);const{initialTeardown:J}=this;if((0,M.T)(J))try{J()}catch(X){pe=X instanceof V?X.errors:[X]}const{_finalizers:te}=this;if(te){this._finalizers=null;for(const X of te)try{ve(X)}catch(E){pe=pe??[],E instanceof V?pe=[...pe,...E.errors]:pe.push(E)}}if(pe)throw new V(pe)}}add(pe){var ue;if(pe&&pe!==this)if(this.closed)ve(pe);else{if(pe instanceof q){if(pe.closed||pe._hasParent(this))return;pe._addParent(this)}(this._finalizers=null!==(ue=this._finalizers)&&void 0!==ue?ue:[]).push(pe)}}_hasParent(pe){const{_parentage:ue}=this;return ue===pe||Array.isArray(ue)&&ue.includes(pe)}_addParent(pe){const{_parentage:ue}=this;this._parentage=Array.isArray(ue)?(ue.push(pe),ue):ue?[ue,pe]:pe}_removeParent(pe){const{_parentage:ue}=this;ue===pe?this._parentage=null:Array.isArray(ue)&&(0,Le.o)(ue,pe)}remove(pe){const{_finalizers:ue}=this;ue&&(0,Le.o)(ue,pe),pe instanceof q&&pe._removeParent(this)}}q.EMPTY=(()=>{const le=new q;return le.closed=!0,le})();const ne=q.EMPTY;function re(le){return le instanceof q||le&&"closed"in le&&(0,M.T)(le.remove)&&(0,M.T)(le.add)&&(0,M.T)(le.unsubscribe)}function ve(le){(0,M.T)(le)?le():le.unsubscribe()}},41026:(ri,Bt,We)=>{"use strict";We.d(Bt,{$:()=>M});const M={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1}},28793:(ri,Bt,We)=>{"use strict";We.d(Bt,{x:()=>q});var M=We(26365),V=We(9326),Le=We(86648);function q(...ne){return function e(){return(0,M.U)(1)}()((0,Le.H)(ne,(0,V.lI)(ne)))}},59030:(ri,Bt,We)=>{"use strict";We.d(Bt,{v:()=>V});var M=We(71985),e=We(58750);function V(Le){return new M.c(q=>{(0,e.Tg)(Le()).subscribe(q)})}},983:(ri,Bt,We)=>{"use strict";We.d(Bt,{w:()=>e});const e=new(We(71985).c)(q=>q.complete())},27468:(ri,Bt,We)=>{"use strict";We.d(Bt,{p:()=>ve});var M=We(71985),e=We(93073),V=We(58750),Le=We(9326),q=We(54360),ne=We(6450),re=We(58496);function ve(...le){const pe=(0,Le.ms)(le),{args:ue,keys:J}=(0,e.D)(le),te=new M.c(X=>{const{length:E}=ue;if(!E)return void X.complete();const j=new Array(E);let F=E,P=E;for(let D=0;D{A||(A=!0,P--),j[D]=I},()=>F--,void 0,()=>{(!F||!A)&&(P||X.next(J?(0,re.e)(J,j):j),X.complete())}))}});return pe?te.pipe((0,ne.I)(pe)):te}},86648:(ri,Bt,We)=>{"use strict";We.d(Bt,{H:()=>w});var M=We(58750),e=We(45225),V=We(39974),Le=We(54360);function q(G,O=0){return(0,V.N)((f,a)=>{f.subscribe((0,Le._)(a,g=>(0,e.N)(a,G,()=>a.next(g),O),()=>(0,e.N)(a,G,()=>a.complete(),O),g=>(0,e.N)(a,G,()=>a.error(g),O)))})}function ne(G,O=0){return(0,V.N)((f,a)=>{a.add(G.schedule(()=>f.subscribe(a),O))})}var le=We(71985),ue=We(4761),J=We(98071);function X(G,O){if(!G)throw new Error("Iterable cannot be null");return new le.c(f=>{(0,e.N)(f,O,()=>{const a=G[Symbol.asyncIterator]();(0,e.N)(f,O,()=>{a.next().then(g=>{g.done?f.complete():f.next(g.value)})},0,!0)})})}var E=We(55055),j=We(59858),F=We(47441),P=We(85397),D=We(37953),A=We(50591),I=We(15196);function w(G,O){return O?function m(G,O){if(null!=G){if((0,E.l)(G))return function re(G,O){return(0,M.Tg)(G).pipe(ne(O),q(O))}(G,O);if((0,F.X)(G))return function pe(G,O){return new le.c(f=>{let a=0;return O.schedule(function(){a===G.length?f.complete():(f.next(G[a++]),f.closed||this.schedule())})})}(G,O);if((0,j.y)(G))return function ve(G,O){return(0,M.Tg)(G).pipe(ne(O),q(O))}(G,O);if((0,D.T)(G))return X(G,O);if((0,P.x)(G))return function te(G,O){return new le.c(f=>{let a;return(0,e.N)(f,O,()=>{a=G[ue.l](),(0,e.N)(f,O,()=>{let g,v;try{({value:g,done:v}=a.next())}catch(o){return void f.error(o)}v?f.complete():f.next(g)},0,!0)}),()=>(0,J.T)(a?.return)&&a.return()})}(G,O);if((0,I.U)(G))return function _(G,O){return X((0,I.C)(G),O)}(G,O)}throw(0,A.L)(G)}(G,O):(0,M.Tg)(G)}},33726:(ri,Bt,We)=>{"use strict";We.d(Bt,{R:()=>pe});var M=We(58750),e=We(71985),V=We(73028),Le=We(47441),q=We(98071),ne=We(6450);const re=["addListener","removeListener"],ve=["addEventListener","removeEventListener"],le=["on","off"];function pe(E,j,F,P){if((0,q.T)(F)&&(P=F,F=void 0),P)return pe(E,j,F).pipe((0,ne.I)(P));const[D,A]=function X(E){return(0,q.T)(E.addEventListener)&&(0,q.T)(E.removeEventListener)}(E)?ve.map(I=>_=>E[I](j,_,F)):function J(E){return(0,q.T)(E.addListener)&&(0,q.T)(E.removeListener)}(E)?re.map(ue(E,j)):function te(E){return(0,q.T)(E.on)&&(0,q.T)(E.off)}(E)?le.map(ue(E,j)):[];if(!D&&(0,Le.X)(E))return(0,V.Z)(I=>pe(I,j,F))((0,M.Tg)(E));if(!D)throw new TypeError("Invalid event target");return new e.c(I=>{const _=(...m)=>I.next(1A(_)})}function ue(E,j){return F=>P=>E[F](j,P)}},58750:(ri,Bt,We)=>{"use strict";We.d(Bt,{Sx:()=>j,Tg:()=>te});var M=We(31635),e=We(47441),V=We(59858),Le=We(71985),q=We(55055),ne=We(37953),re=We(50591),ve=We(85397),le=We(15196),pe=We(98071),ue=We(45334),J=We(3494);function te(I){if(I instanceof Le.c)return I;if(null!=I){if((0,q.l)(I))return function X(I){return new Le.c(_=>{const m=I[J.s]();if((0,pe.T)(m.subscribe))return m.subscribe(_);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(I);if((0,e.X)(I))return function E(I){return new Le.c(_=>{for(let m=0;m{for(const m of I)if(_.next(m),_.closed)return;_.complete()})}(I);if((0,le.U)(I))return function D(I){return P((0,le.C)(I))}(I)}throw(0,re.L)(I)}function j(I){return new Le.c(_=>{I.then(m=>{_.closed||(_.next(m),_.complete())},m=>_.error(m)).then(null,ue.m)})}function P(I){return new Le.c(_=>{(function A(I,_){var m,w,G,O;return(0,M.sH)(this,void 0,void 0,function*(){try{for(m=(0,M.xN)(I);!(w=yield m.next()).done;)if(_.next(w.value),_.closed)return}catch(f){G={error:f}}finally{try{w&&!w.done&&(O=m.return)&&(yield O.call(m))}finally{if(G)throw G.error}}_.complete()})})(I,_).catch(m=>_.error(m))})}},57786:(ri,Bt,We)=>{"use strict";We.d(Bt,{h:()=>ne});var M=We(26365),e=We(58750),V=We(983),Le=We(9326),q=We(86648);function ne(...re){const ve=(0,Le.lI)(re),le=(0,Le.R0)(re,1/0),pe=re;return pe.length?1===pe.length?(0,e.Tg)(pe[0]):(0,M.U)(le)((0,q.H)(pe,ve)):V.w}},7673:(ri,Bt,We)=>{"use strict";We.d(Bt,{of:()=>V});var M=We(9326),e=We(86648);function V(...Le){const q=(0,M.lI)(Le);return(0,e.H)(Le,q)}},18810:(ri,Bt,We)=>{"use strict";We.d(Bt,{$:()=>V});var M=We(71985),e=We(98071);function V(Le,q){const ne=(0,e.T)(Le)?Le:()=>Le,re=ve=>ve.error(ne());return new M.c(q?ve=>q.schedule(re,0,ve):re)}},41584:(ri,Bt,We)=>{"use strict";We.d(Bt,{O:()=>q});var M=We(71985),e=We(43236),V=We(79470);function q(ne=0,re,ve=e.b){let le=-1;return null!=re&&((0,V.m)(re)?ve=re:le=re),new M.c(pe=>{let ue=function Le(ne){return ne instanceof Date&&!isNaN(ne)}(ne)?+ne-ve.now():ne;ue<0&&(ue=0);let J=0;return ve.schedule(function(){pe.closed||(pe.next(J++),0<=le?this.schedule(void 0,le):pe.complete())},ue)})}},54360:(ri,Bt,We)=>{"use strict";We.d(Bt,{_:()=>e});var M=We(47707);function e(Le,q,ne,re,ve){return new V(Le,q,ne,re,ve)}class V extends M.vU{constructor(q,ne,re,ve,le,pe){super(q),this.onFinalize=le,this.shouldUnsubscribe=pe,this._next=ne?function(ue){try{ne(ue)}catch(J){q.error(J)}}:super._next,this._error=ve?function(ue){try{ve(ue)}catch(J){q.error(J)}finally{this.unsubscribe()}}:super._error,this._complete=re?function(){try{re()}catch(ue){q.error(ue)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var q;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:ne}=this;super.unsubscribe(),!ne&&(null===(q=this.onFinalize)||void 0===q||q.call(this))}}}},99437:(ri,Bt,We)=>{"use strict";We.d(Bt,{W:()=>Le});var M=We(58750),e=We(54360),V=We(39974);function Le(q){return(0,V.N)((ne,re)=>{let pe,ve=null,le=!1;ve=ne.subscribe((0,e._)(re,void 0,void 0,ue=>{pe=(0,M.Tg)(q(ue,Le(q)(ne))),ve?(ve.unsubscribe(),ve=null,pe.subscribe(re)):le=!0})),le&&(ve.unsubscribe(),ve=null,pe.subscribe(re))})}},70274:(ri,Bt,We)=>{"use strict";We.d(Bt,{H:()=>V});var M=We(73028),e=We(98071);function V(Le,q){return(0,e.T)(q)?(0,M.Z)(Le,q,1):(0,M.Z)(Le,1)}},70152:(ri,Bt,We)=>{"use strict";We.d(Bt,{B:()=>Le});var M=We(43236),e=We(39974),V=We(54360);function Le(q,ne=M.E){return(0,e.N)((re,ve)=>{let le=null,pe=null,ue=null;const J=()=>{if(le){le.unsubscribe(),le=null;const X=pe;pe=null,ve.next(X)}};function te(){const X=ue+q,E=ne.now();if(E{pe=X,ue=ne.now(),le||(le=ne.schedule(te,q),ve.add(le))},()=>{J(),ve.complete()},void 0,()=>{pe=le=null}))})}},91986:(ri,Bt,We)=>{"use strict";We.d(Bt,{c:()=>te});var M=We(43236),e=We(28793),V=We(96697),Le=We(39974),q=We(54360),ne=We(85343),ve=We(73703),le=We(73028),pe=We(58750);function ue(X,E){return E?j=>(0,e.x)(E.pipe((0,V.s)(1),function re(){return(0,Le.N)((X,E)=>{X.subscribe((0,q._)(E,ne.l))})}()),j.pipe(ue(X))):(0,le.Z)((j,F)=>(0,pe.Tg)(X(j,F)).pipe((0,V.s)(1),(0,ve.u)(j)))}var J=We(41584);function te(X,E=M.E){const j=(0,J.O)(X,E);return ue(()=>j)}},23294:(ri,Bt,We)=>{"use strict";We.d(Bt,{F:()=>Le});var M=We(33669),e=We(39974),V=We(54360);function Le(ne,re=M.D){return ne=ne??q,(0,e.N)((ve,le)=>{let pe,ue=!0;ve.subscribe((0,V._)(le,J=>{const te=re(J);(ue||!ne(pe,te))&&(ue=!1,pe=te,le.next(J))}))})}function q(ne,re){return ne===re}},5964:(ri,Bt,We)=>{"use strict";We.d(Bt,{p:()=>V});var M=We(39974),e=We(54360);function V(Le,q){return(0,M.N)((ne,re)=>{let ve=0;ne.subscribe((0,e._)(re,le=>Le.call(q,le,ve++)&&re.next(le)))})}},70980:(ri,Bt,We)=>{"use strict";We.d(Bt,{j:()=>e});var M=We(39974);function e(V){return(0,M.N)((Le,q)=>{try{Le.subscribe(q)}finally{q.add(V)}})}},96354:(ri,Bt,We)=>{"use strict";We.d(Bt,{T:()=>V});var M=We(39974),e=We(54360);function V(Le,q){return(0,M.N)((ne,re)=>{let ve=0;ne.subscribe((0,e._)(re,le=>{re.next(Le.call(q,le,ve++))}))})}},73703:(ri,Bt,We)=>{"use strict";We.d(Bt,{u:()=>e});var M=We(96354);function e(V){return(0,M.T)(()=>V)}},26365:(ri,Bt,We)=>{"use strict";We.d(Bt,{U:()=>V});var M=We(73028),e=We(33669);function V(Le=1/0){return(0,M.Z)(e.D,Le)}},85412:(ri,Bt,We)=>{"use strict";We.d(Bt,{h:()=>Le});var M=We(58750),e=We(45225),V=We(54360);function Le(q,ne,re,ve,le,pe,ue,J){const te=[];let X=0,E=0,j=!1;const F=()=>{j&&!te.length&&!X&&ne.complete()},P=A=>X{pe&&ne.next(A),X++;let I=!1;(0,M.Tg)(re(A,E++)).subscribe((0,V._)(ne,_=>{le?.(_),pe?P(_):ne.next(_)},()=>{I=!0},void 0,()=>{if(I)try{for(X--;te.length&&XD(_)):D(_)}F()}catch(_){ne.error(_)}}))};return q.subscribe((0,V._)(ne,P,()=>{j=!0,F()})),()=>{J?.()}}},73028:(ri,Bt,We)=>{"use strict";We.d(Bt,{Z:()=>ne});var M=We(96354),e=We(58750),V=We(39974),Le=We(85412),q=We(98071);function ne(re,ve,le=1/0){return(0,q.T)(ve)?ne((pe,ue)=>(0,M.T)((J,te)=>ve(pe,J,ue,te))((0,e.Tg)(re(pe,ue))),le):("number"==typeof ve&&(le=ve),(0,V.N)((pe,ue)=>(0,Le.h)(pe,ue,re,le)))}},97647:(ri,Bt,We)=>{"use strict";We.d(Bt,{u:()=>q});var M=We(58750),e=We(21413),V=We(47707),Le=We(39974);function q(re={}){const{connector:ve=(()=>new e.B),resetOnError:le=!0,resetOnComplete:pe=!0,resetOnRefCountZero:ue=!0}=re;return J=>{let te,X,E,j=0,F=!1,P=!1;const D=()=>{X?.unsubscribe(),X=void 0},A=()=>{D(),te=E=void 0,F=P=!1},I=()=>{const _=te;A(),_?.unsubscribe()};return(0,Le.N)((_,m)=>{j++,!P&&!F&&D();const w=E=E??ve();m.add(()=>{j--,0===j&&!P&&!F&&(X=ne(I,ue))}),w.subscribe(m),!te&&j>0&&(te=new V.Ms({next:G=>w.next(G),error:G=>{P=!0,D(),X=ne(A,le,G),w.error(G)},complete:()=>{F=!0,D(),X=ne(A,pe),w.complete()}}),(0,M.Tg)(_).subscribe(te))})(J)}}function ne(re,ve,...le){if(!0===ve)return void re();if(!1===ve)return;const pe=new V.Ms({next:()=>{pe.unsubscribe(),re()}});return(0,M.Tg)(ve(...le)).subscribe(pe)}},99172:(ri,Bt,We)=>{"use strict";We.d(Bt,{Z:()=>Le});var M=We(28793),e=We(9326),V=We(39974);function Le(...q){const ne=(0,e.lI)(q);return(0,V.N)((re,ve)=>{(ne?(0,M.x)(q,re,ne):(0,M.x)(q,re)).subscribe(ve)})}},25558:(ri,Bt,We)=>{"use strict";We.d(Bt,{n:()=>Le});var M=We(58750),e=We(39974),V=We(54360);function Le(q,ne){return(0,e.N)((re,ve)=>{let le=null,pe=0,ue=!1;const J=()=>ue&&!le&&ve.complete();re.subscribe((0,V._)(ve,te=>{le?.unsubscribe();let X=0;const E=pe++;(0,M.Tg)(q(te,E)).subscribe(le=(0,V._)(ve,j=>ve.next(ne?ne(te,j,E,X++):j),()=>{le=null,J()}))},()=>{ue=!0,J()}))})}},96697:(ri,Bt,We)=>{"use strict";We.d(Bt,{s:()=>Le});var M=We(983),e=We(39974),V=We(54360);function Le(q){return q<=0?()=>M.w:(0,e.N)((ne,re)=>{let ve=0;ne.subscribe((0,V._)(re,le=>{++ve<=q&&(re.next(le),q<=ve&&re.complete())}))})}},56977:(ri,Bt,We)=>{"use strict";We.d(Bt,{Q:()=>q});var M=We(39974),e=We(54360),V=We(58750),Le=We(85343);function q(ne){return(0,M.N)((re,ve)=>{(0,V.Tg)(ne).subscribe((0,e._)(ve,()=>ve.complete(),Le.l)),!ve.closed&&re.subscribe(ve)})}},88141:(ri,Bt,We)=>{"use strict";We.d(Bt,{M:()=>q});var M=We(98071),e=We(39974),V=We(54360),Le=We(33669);function q(ne,re,ve){const le=(0,M.T)(ne)||re||ve?{next:ne,error:re,complete:ve}:ne;return le?(0,e.N)((pe,ue)=>{var J;null===(J=le.subscribe)||void 0===J||J.call(le);let te=!0;pe.subscribe((0,V._)(ue,X=>{var E;null===(E=le.next)||void 0===E||E.call(le,X),ue.next(X)},()=>{var X;te=!1,null===(X=le.complete)||void 0===X||X.call(le),ue.complete()},X=>{var E;te=!1,null===(E=le.error)||void 0===E||E.call(le,X),ue.error(X)},()=>{var X,E;te&&(null===(X=le.unsubscribe)||void 0===X||X.call(le)),null===(E=le.finalize)||void 0===E||E.call(le)}))}):Le.D}},96780:(ri,Bt,We)=>{"use strict";We.d(Bt,{R:()=>q});var M=We(18359);class e extends M.yU{constructor(re,ve){super()}schedule(re,ve=0){return this}}const V={setInterval(ne,re,...ve){const{delegate:le}=V;return le?.setInterval?le.setInterval(ne,re,...ve):setInterval(ne,re,...ve)},clearInterval(ne){const{delegate:re}=V;return(re?.clearInterval||clearInterval)(ne)},delegate:void 0};var Le=We(57908);class q extends e{constructor(re,ve){super(re,ve),this.scheduler=re,this.work=ve,this.pending=!1}schedule(re,ve=0){var le;if(this.closed)return this;this.state=re;const pe=this.id,ue=this.scheduler;return null!=pe&&(this.id=this.recycleAsyncId(ue,pe,ve)),this.pending=!0,this.delay=ve,this.id=null!==(le=this.id)&&void 0!==le?le:this.requestAsyncId(ue,this.id,ve),this}requestAsyncId(re,ve,le=0){return V.setInterval(re.flush.bind(re,this),le)}recycleAsyncId(re,ve,le=0){if(null!=le&&this.delay===le&&!1===this.pending)return ve;null!=ve&&V.clearInterval(ve)}execute(re,ve){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const le=this._execute(re,ve);if(le)return le;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(re,ve){let pe,le=!1;try{this.work(re)}catch(ue){le=!0,pe=ue||new Error("Scheduled action threw falsy error")}if(le)return this.unsubscribe(),pe}unsubscribe(){if(!this.closed){const{id:re,scheduler:ve}=this,{actions:le}=ve;this.work=this.state=this.scheduler=null,this.pending=!1,(0,Le.o)(le,this),null!=re&&(this.id=this.recycleAsyncId(ve,re,null)),this.delay=null,super.unsubscribe()}}}},39687:(ri,Bt,We)=>{"use strict";We.d(Bt,{q:()=>V});var M=We(86129);class e{constructor(q,ne=e.now){this.schedulerActionCtor=q,this.now=ne}schedule(q,ne=0,re){return new this.schedulerActionCtor(this,q).schedule(re,ne)}}e.now=M.U.now;class V extends e{constructor(q,ne=e.now){super(q,ne),this.actions=[],this._active=!1}flush(q){const{actions:ne}=this;if(this._active)return void ne.push(q);let re;this._active=!0;do{if(re=q.execute(q.state,q.delay))break}while(q=ne.shift());if(this._active=!1,re){for(;q=ne.shift();)q.unsubscribe();throw re}}}},30536:(ri,Bt,We)=>{"use strict";We.d(Bt,{X:()=>re});var M=We(96780),e=We(18359);const V={schedule(le){let pe=requestAnimationFrame,ue=cancelAnimationFrame;const{delegate:J}=V;J&&(pe=J.requestAnimationFrame,ue=J.cancelAnimationFrame);const te=pe(X=>{ue=void 0,le(X)});return new e.yU(()=>ue?.(te))},requestAnimationFrame(...le){const{delegate:pe}=V;return(pe?.requestAnimationFrame||requestAnimationFrame)(...le)},cancelAnimationFrame(...le){const{delegate:pe}=V;return(pe?.cancelAnimationFrame||cancelAnimationFrame)(...le)},delegate:void 0};var q=We(39687);const re=new class ne extends q.q{flush(pe){this._active=!0;const ue=this._scheduled;this._scheduled=void 0;const{actions:J}=this;let te;pe=pe||J.shift();do{if(te=pe.execute(pe.state,pe.delay))break}while((pe=J[0])&&pe.id===ue&&J.shift());if(this._active=!1,te){for(;(pe=J[0])&&pe.id===ue&&J.shift();)pe.unsubscribe();throw te}}}(class Le extends M.R{constructor(pe,ue){super(pe,ue),this.scheduler=pe,this.work=ue}requestAsyncId(pe,ue,J=0){return null!==J&&J>0?super.requestAsyncId(pe,ue,J):(pe.actions.push(this),pe._scheduled||(pe._scheduled=V.requestAnimationFrame(()=>pe.flush(void 0))))}recycleAsyncId(pe,ue,J=0){var te;if(null!=J?J>0:this.delay>0)return super.recycleAsyncId(pe,ue,J);const{actions:X}=pe;null!=ue&&(null===(te=X[X.length-1])||void 0===te?void 0:te.id)!==ue&&(V.cancelAnimationFrame(ue),pe._scheduled=void 0)}})},43236:(ri,Bt,We)=>{"use strict";We.d(Bt,{E:()=>V,b:()=>Le});var M=We(96780);const V=new(We(39687).q)(M.R),Le=V},86129:(ri,Bt,We)=>{"use strict";We.d(Bt,{U:()=>M});const M={now:()=>(M.delegate||Date).now(),delegate:void 0}},19270:(ri,Bt,We)=>{"use strict";We.d(Bt,{f:()=>M});const M={setTimeout(e,V,...Le){const{delegate:q}=M;return q?.setTimeout?q.setTimeout(e,V,...Le):setTimeout(e,V,...Le)},clearTimeout(e){const{delegate:V}=M;return(V?.clearTimeout||clearTimeout)(e)},delegate:void 0}},4761:(ri,Bt,We)=>{"use strict";We.d(Bt,{l:()=>e});const e=function M(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}()},3494:(ri,Bt,We)=>{"use strict";We.d(Bt,{s:()=>M});const M="function"==typeof Symbol&&Symbol.observable||"@@observable"},9326:(ri,Bt,We)=>{"use strict";We.d(Bt,{R0:()=>ne,lI:()=>q,ms:()=>Le});var M=We(98071),e=We(79470);function V(re){return re[re.length-1]}function Le(re){return(0,M.T)(V(re))?re.pop():void 0}function q(re){return(0,e.m)(V(re))?re.pop():void 0}function ne(re,ve){return"number"==typeof V(re)?re.pop():ve}},93073:(ri,Bt,We)=>{"use strict";We.d(Bt,{D:()=>q});const{isArray:M}=Array,{getPrototypeOf:e,prototype:V,keys:Le}=Object;function q(re){if(1===re.length){const ve=re[0];if(M(ve))return{args:ve,keys:null};if(function ne(re){return re&&"object"==typeof re&&e(re)===V}(ve)){const le=Le(ve);return{args:le.map(pe=>ve[pe]),keys:le}}}return{args:re,keys:null}}},57908:(ri,Bt,We)=>{"use strict";function M(e,V){if(e){const Le=e.indexOf(V);0<=Le&&e.splice(Le,1)}}We.d(Bt,{o:()=>M})},81853:(ri,Bt,We)=>{"use strict";function M(e){const Le=e(q=>{Error.call(q),q.stack=(new Error).stack});return Le.prototype=Object.create(Error.prototype),Le.prototype.constructor=Le,Le}We.d(Bt,{L:()=>M})},58496:(ri,Bt,We)=>{"use strict";function M(e,V){return e.reduce((Le,q,ne)=>(Le[q]=V[ne],Le),{})}We.d(Bt,{e:()=>M})},49786:(ri,Bt,We)=>{"use strict";We.d(Bt,{Y:()=>V,l:()=>Le});var M=We(41026);let e=null;function V(q){if(M.$.useDeprecatedSynchronousErrorHandling){const ne=!e;if(ne&&(e={errorThrown:!1,error:null}),q(),ne){const{errorThrown:re,error:ve}=e;if(e=null,re)throw ve}}else q()}function Le(q){M.$.useDeprecatedSynchronousErrorHandling&&e&&(e.errorThrown=!0,e.error=q)}},45225:(ri,Bt,We)=>{"use strict";function M(e,V,Le,q=0,ne=!1){const re=V.schedule(function(){Le(),ne?e.add(this.schedule(null,q)):this.unsubscribe()},q);if(e.add(re),!ne)return re}We.d(Bt,{N:()=>M})},33669:(ri,Bt,We)=>{"use strict";function M(e){return e}We.d(Bt,{D:()=>M})},47441:(ri,Bt,We)=>{"use strict";We.d(Bt,{X:()=>M});const M=e=>e&&"number"==typeof e.length&&"function"!=typeof e},37953:(ri,Bt,We)=>{"use strict";We.d(Bt,{T:()=>e});var M=We(98071);function e(V){return Symbol.asyncIterator&&(0,M.T)(V?.[Symbol.asyncIterator])}},98071:(ri,Bt,We)=>{"use strict";function M(e){return"function"==typeof e}We.d(Bt,{T:()=>M})},55055:(ri,Bt,We)=>{"use strict";We.d(Bt,{l:()=>V});var M=We(3494),e=We(98071);function V(Le){return(0,e.T)(Le[M.s])}},85397:(ri,Bt,We)=>{"use strict";We.d(Bt,{x:()=>V});var M=We(4761),e=We(98071);function V(Le){return(0,e.T)(Le?.[M.l])}},74402:(ri,Bt,We)=>{"use strict";We.d(Bt,{A:()=>V});var M=We(71985),e=We(98071);function V(Le){return!!Le&&(Le instanceof M.c||(0,e.T)(Le.lift)&&(0,e.T)(Le.subscribe))}},59858:(ri,Bt,We)=>{"use strict";We.d(Bt,{y:()=>e});var M=We(98071);function e(V){return(0,M.T)(V?.then)}},15196:(ri,Bt,We)=>{"use strict";We.d(Bt,{C:()=>V,U:()=>Le});var M=We(31635),e=We(98071);function V(q){return(0,M.AQ)(this,arguments,function*(){const re=q.getReader();try{for(;;){const{value:ve,done:le}=yield(0,M.N3)(re.read());if(le)return yield(0,M.N3)(void 0);yield yield(0,M.N3)(ve)}}finally{re.releaseLock()}})}function Le(q){return(0,e.T)(q?.getReader)}},79470:(ri,Bt,We)=>{"use strict";We.d(Bt,{m:()=>e});var M=We(98071);function e(V){return V&&(0,M.T)(V.schedule)}},39974:(ri,Bt,We)=>{"use strict";We.d(Bt,{N:()=>V,S:()=>e});var M=We(98071);function e(Le){return(0,M.T)(Le?.lift)}function V(Le){return q=>{if(e(q))return q.lift(function(ne){try{return Le(ne,this)}catch(re){this.error(re)}});throw new TypeError("Unable to lift unknown Observable type")}}},6450:(ri,Bt,We)=>{"use strict";We.d(Bt,{I:()=>Le});var M=We(96354);const{isArray:e}=Array;function Le(q){return(0,M.T)(ne=>function V(q,ne){return e(ne)?q(...ne):q(ne)}(q,ne))}},85343:(ri,Bt,We)=>{"use strict";function M(){}We.d(Bt,{l:()=>M})},71203:(ri,Bt,We)=>{"use strict";We.d(Bt,{F:()=>e,m:()=>V});var M=We(33669);function e(...Le){return V(Le)}function V(Le){return 0===Le.length?M.D:1===Le.length?Le[0]:function(ne){return Le.reduce((re,ve)=>ve(re),ne)}}},45334:(ri,Bt,We)=>{"use strict";We.d(Bt,{m:()=>V});var M=We(41026),e=We(19270);function V(Le){e.f.setTimeout(()=>{const{onUnhandledError:q}=M.$;if(!q)throw Le;q(Le)})}},50591:(ri,Bt,We)=>{"use strict";function M(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}We.d(Bt,{L:()=>M})},49969:(ri,Bt,We)=>{"use strict";We.d(Bt,{FX:()=>O,If:()=>M,K2:()=>ne,hZ:()=>V,i0:()=>Le,iF:()=>re,kY:()=>pe,kp:()=>e,lY:()=>ue,sM:()=>te,sf:()=>w,ui:()=>G,wk:()=>ve});var M=function(f){return f[f.State=0]="State",f[f.Transition=1]="Transition",f[f.Sequence=2]="Sequence",f[f.Group=3]="Group",f[f.Animate=4]="Animate",f[f.Keyframes=5]="Keyframes",f[f.Style=6]="Style",f[f.Trigger=7]="Trigger",f[f.Reference=8]="Reference",f[f.AnimateChild=9]="AnimateChild",f[f.AnimateRef=10]="AnimateRef",f[f.Query=11]="Query",f[f.Stagger=12]="Stagger",f}(M||{});const e="*";function V(f,a){return{type:M.Trigger,name:f,definitions:a,options:{}}}function Le(f,a=null){return{type:M.Animate,styles:a,timings:f}}function ne(f,a=null){return{type:M.Sequence,steps:f,options:a}}function re(f){return{type:M.Style,styles:f,offset:null}}function ve(f,a,g){return{type:M.State,name:f,styles:a,options:g}}function pe(f,a,g=null){return{type:M.Transition,expr:f,animation:a,options:g}}function ue(f,a=null){return{type:M.Reference,animation:f,options:a}}function te(f,a=null){return{type:M.AnimateRef,animation:f,options:a}}class w{constructor(a=0,g=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._originalOnDoneFns=[],this._originalOnStartFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=a+g}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(a=>a()),this._onDoneFns=[])}onStart(a){this._originalOnStartFns.push(a),this._onStartFns.push(a)}onDone(a){this._originalOnDoneFns.push(a),this._onDoneFns.push(a)}onDestroy(a){this._onDestroyFns.push(a)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(a=>a()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(a=>a()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(a){this._position=this.totalTime?a*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(a){const g="start"==a?this._onStartFns:this._onDoneFns;g.forEach(v=>v()),g.length=0}}class G{constructor(a){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=a;let g=0,v=0,o=0;const n=this.players.length;0==n?queueMicrotask(()=>this._onFinish()):this.players.forEach(r=>{r.onDone(()=>{++g==n&&this._onFinish()}),r.onDestroy(()=>{++v==n&&this._onDestroy()}),r.onStart(()=>{++o==n&&this._onStart()})}),this.totalTime=this.players.reduce((r,l)=>Math.max(r,l.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(a=>a()),this._onDoneFns=[])}init(){this.players.forEach(a=>a.init())}onStart(a){this._onStartFns.push(a)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(a=>a()),this._onStartFns=[])}onDone(a){this._onDoneFns.push(a)}onDestroy(a){this._onDestroyFns.push(a)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(a=>a.play())}pause(){this.players.forEach(a=>a.pause())}restart(){this.players.forEach(a=>a.restart())}finish(){this._onFinish(),this.players.forEach(a=>a.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(a=>a.destroy()),this._onDestroyFns.forEach(a=>a()),this._onDestroyFns=[])}reset(){this.players.forEach(a=>a.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(a){const g=a*this.totalTime;this.players.forEach(v=>{const o=v.totalTime?Math.min(1,g/v.totalTime):1;v.setPosition(o)})}getPosition(){const a=this.players.reduce((g,v)=>null===g||v.totalTime>g.totalTime?v:g,null);return null!=a?a.getPosition():0}beforeDestroy(){this.players.forEach(a=>{a.beforeDestroy&&a.beforeDestroy()})}triggerCallback(a){const g="start"==a?this._onStartFns:this._onDoneFns;g.forEach(v=>v()),g.length=0}}const O="!"},83801:(ri,Bt,We)=>{"use strict";We.d(Bt,{B0:()=>Le,FQ:()=>re});var M=We(60177),e=We(54438);class V{constructor(le,pe){this._document=pe;const ue=this._textarea=this._document.createElement("textarea"),J=ue.style;J.position="fixed",J.top=J.opacity="0",J.left="-999em",ue.setAttribute("aria-hidden","true"),ue.value=le,ue.readOnly=!0,(this._document.fullscreenElement||this._document.body).appendChild(ue)}copy(){const le=this._textarea;let pe=!1;try{if(le){const ue=this._document.activeElement;le.select(),le.setSelectionRange(0,le.value.length),pe=this._document.execCommand("copy"),ue&&ue.focus()}}catch{}return pe}destroy(){const le=this._textarea;le&&(le.remove(),this._textarea=void 0)}}let Le=(()=>{class ve{constructor(pe){this._document=pe}copy(pe){const ue=this.beginCopy(pe),J=ue.copy();return ue.destroy(),J}beginCopy(pe){return new V(pe,this._document)}static#e=this.\u0275fac=function(ue){return new(ue||ve)(e.KVO(M.qQ))};static#t=this.\u0275prov=e.jDH({token:ve,factory:ve.\u0275fac,providedIn:"root"})}return ve})(),re=(()=>{class ve{static#e=this.\u0275fac=function(ue){return new(ue||ve)};static#t=this.\u0275mod=e.$C({type:ve});static#i=this.\u0275inj=e.G2t({})}return ve})()},60177:(ri,Bt,We)=>{"use strict";We.d(Bt,{AJ:()=>ko,B3:()=>Ui,Jj:()=>wn,MD:()=>Yo,N0:()=>Do,QT:()=>V,Sm:()=>j,Sq:()=>si,T3:()=>ln,UE:()=>Qs,VF:()=>q,Vy:()=>ga,XO:()=>r,Xr:()=>cr,YU:()=>$e,Yq:()=>xe,ZD:()=>Le,_b:()=>Nt,aZ:()=>P,bT:()=>Ki,cH:()=>f,e1:()=>sn,fG:()=>Bn,fw:()=>F,hb:()=>X,hj:()=>le,lG:()=>Tr,oV:()=>O,qQ:()=>re,tL:()=>l,ux:()=>cs,vh:()=>Jr});var M=We(54438);let e=null;function V(){return e}function Le(Ge){e??=Ge}class q{}const re=new M.nKC("");let ve=(()=>{class Ge{historyGo(Ke){throw new Error("")}static#e=this.\u0275fac=function(at){return new(at||Ge)};static#t=this.\u0275prov=M.jDH({token:Ge,factory:()=>(0,M.WQX)(pe),providedIn:"platform"})}return Ge})();const le=new M.nKC("");let pe=(()=>{class Ge extends ve{constructor(){super(),this._doc=(0,M.WQX)(re),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return V().getBaseHref(this._doc)}onPopState(Ke){const at=V().getGlobalEventTarget(this._doc,"window");return at.addEventListener("popstate",Ke,!1),()=>at.removeEventListener("popstate",Ke)}onHashChange(Ke){const at=V().getGlobalEventTarget(this._doc,"window");return at.addEventListener("hashchange",Ke,!1),()=>at.removeEventListener("hashchange",Ke)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(Ke){this._location.pathname=Ke}pushState(Ke,at,Et){this._history.pushState(Ke,at,Et)}replaceState(Ke,at,Et){this._history.replaceState(Ke,at,Et)}forward(){this._history.forward()}back(){this._history.back()}historyGo(Ke=0){this._history.go(Ke)}getState(){return this._history.state}static#e=this.\u0275fac=function(at){return new(at||Ge)};static#t=this.\u0275prov=M.jDH({token:Ge,factory:()=>new Ge,providedIn:"platform"})}return Ge})();function ue(Ge,ut){if(0==Ge.length)return ut;if(0==ut.length)return Ge;let Ke=0;return Ge.endsWith("/")&&Ke++,ut.startsWith("/")&&Ke++,2==Ke?Ge+ut.substring(1):1==Ke?Ge+ut:Ge+"/"+ut}function J(Ge){const ut=Ge.match(/#|\?|$/),Ke=ut&&ut.index||Ge.length;return Ge.slice(0,Ke-("/"===Ge[Ke-1]?1:0))+Ge.slice(Ke)}function te(Ge){return Ge&&"?"!==Ge[0]?"?"+Ge:Ge}let X=(()=>{class Ge{historyGo(Ke){throw new Error("")}static#e=this.\u0275fac=function(at){return new(at||Ge)};static#t=this.\u0275prov=M.jDH({token:Ge,factory:()=>(0,M.WQX)(j),providedIn:"root"})}return Ge})();const E=new M.nKC("");let j=(()=>{class Ge extends X{constructor(Ke,at){super(),this._platformLocation=Ke,this._removeListenerFns=[],this._baseHref=at??this._platformLocation.getBaseHrefFromDOM()??(0,M.WQX)(re).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(Ke){this._removeListenerFns.push(this._platformLocation.onPopState(Ke),this._platformLocation.onHashChange(Ke))}getBaseHref(){return this._baseHref}prepareExternalUrl(Ke){return ue(this._baseHref,Ke)}path(Ke=!1){const at=this._platformLocation.pathname+te(this._platformLocation.search),Et=this._platformLocation.hash;return Et&&Ke?`${at}${Et}`:at}pushState(Ke,at,Et,Jt){const ci=this.prepareExternalUrl(Et+te(Jt));this._platformLocation.pushState(Ke,at,ci)}replaceState(Ke,at,Et,Jt){const ci=this.prepareExternalUrl(Et+te(Jt));this._platformLocation.replaceState(Ke,at,ci)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(Ke=0){this._platformLocation.historyGo?.(Ke)}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.KVO(ve),M.KVO(E,8))};static#t=this.\u0275prov=M.jDH({token:Ge,factory:Ge.\u0275fac,providedIn:"root"})}return Ge})(),F=(()=>{class Ge extends X{constructor(Ke,at){super(),this._platformLocation=Ke,this._baseHref="",this._removeListenerFns=[],null!=at&&(this._baseHref=at)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(Ke){this._removeListenerFns.push(this._platformLocation.onPopState(Ke),this._platformLocation.onHashChange(Ke))}getBaseHref(){return this._baseHref}path(Ke=!1){const at=this._platformLocation.hash??"#";return at.length>0?at.substring(1):at}prepareExternalUrl(Ke){const at=ue(this._baseHref,Ke);return at.length>0?"#"+at:at}pushState(Ke,at,Et,Jt){let ci=this.prepareExternalUrl(Et+te(Jt));0==ci.length&&(ci=this._platformLocation.pathname),this._platformLocation.pushState(Ke,at,ci)}replaceState(Ke,at,Et,Jt){let ci=this.prepareExternalUrl(Et+te(Jt));0==ci.length&&(ci=this._platformLocation.pathname),this._platformLocation.replaceState(Ke,at,ci)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(Ke=0){this._platformLocation.historyGo?.(Ke)}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.KVO(ve),M.KVO(E,8))};static#t=this.\u0275prov=M.jDH({token:Ge,factory:Ge.\u0275fac})}return Ge})(),P=(()=>{class Ge{constructor(Ke){this._subject=new M.bkB,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=Ke;const at=this._locationStrategy.getBaseHref();this._basePath=function _(Ge){if(new RegExp("^(https?:)?//").test(Ge)){const[,Ke]=Ge.split(/\/\/[^\/]+/);return Ke}return Ge}(J(I(at))),this._locationStrategy.onPopState(Et=>{this._subject.emit({url:this.path(!0),pop:!0,state:Et.state,type:Et.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(Ke=!1){return this.normalize(this._locationStrategy.path(Ke))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(Ke,at=""){return this.path()==this.normalize(Ke+te(at))}normalize(Ke){return Ge.stripTrailingSlash(function A(Ge,ut){if(!Ge||!ut.startsWith(Ge))return ut;const Ke=ut.substring(Ge.length);return""===Ke||["/",";","?","#"].includes(Ke[0])?Ke:ut}(this._basePath,I(Ke)))}prepareExternalUrl(Ke){return Ke&&"/"!==Ke[0]&&(Ke="/"+Ke),this._locationStrategy.prepareExternalUrl(Ke)}go(Ke,at="",Et=null){this._locationStrategy.pushState(Et,"",Ke,at),this._notifyUrlChangeListeners(this.prepareExternalUrl(Ke+te(at)),Et)}replaceState(Ke,at="",Et=null){this._locationStrategy.replaceState(Et,"",Ke,at),this._notifyUrlChangeListeners(this.prepareExternalUrl(Ke+te(at)),Et)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(Ke=0){this._locationStrategy.historyGo?.(Ke)}onUrlChange(Ke){return this._urlChangeListeners.push(Ke),this._urlChangeSubscription??=this.subscribe(at=>{this._notifyUrlChangeListeners(at.url,at.state)}),()=>{const at=this._urlChangeListeners.indexOf(Ke);this._urlChangeListeners.splice(at,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(Ke="",at){this._urlChangeListeners.forEach(Et=>Et(Ke,at))}subscribe(Ke,at,Et){return this._subject.subscribe({next:Ke,error:at,complete:Et})}static#e=this.normalizeQueryParams=te;static#t=this.joinWithSlash=ue;static#i=this.stripTrailingSlash=J;static#n=this.\u0275fac=function(at){return new(at||Ge)(M.KVO(X))};static#s=this.\u0275prov=M.jDH({token:Ge,factory:()=>function D(){return new P((0,M.KVO)(X))}(),providedIn:"root"})}return Ge})();function I(Ge){return Ge.replace(/\/index.html$/,"")}var O=function(Ge){return Ge[Ge.Format=0]="Format",Ge[Ge.Standalone=1]="Standalone",Ge}(O||{}),f=function(Ge){return Ge[Ge.Narrow=0]="Narrow",Ge[Ge.Abbreviated=1]="Abbreviated",Ge[Ge.Wide=2]="Wide",Ge[Ge.Short=3]="Short",Ge}(f||{}),a=function(Ge){return Ge[Ge.Short=0]="Short",Ge[Ge.Medium=1]="Medium",Ge[Ge.Long=2]="Long",Ge[Ge.Full=3]="Full",Ge}(a||{});const g={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};function r(Ge,ut,Ke){const at=(0,M.H5H)(Ge),Jt=Y([at[M.KH2.DaysFormat],at[M.KH2.DaysStandalone]],ut);return Y(Jt,Ke)}function l(Ge,ut,Ke){const at=(0,M.H5H)(Ge),Jt=Y([at[M.KH2.MonthsFormat],at[M.KH2.MonthsStandalone]],ut);return Y(Jt,Ke)}function p(Ge,ut){return Y((0,M.H5H)(Ge)[M.KH2.DateFormat],ut)}function T(Ge,ut){return Y((0,M.H5H)(Ge)[M.KH2.TimeFormat],ut)}function B(Ge,ut){return Y((0,M.H5H)(Ge)[M.KH2.DateTimeFormat],ut)}function z(Ge,ut){const Ke=(0,M.H5H)(Ge),at=Ke[M.KH2.NumberSymbols][ut];if(typeof at>"u"){if(ut===g.CurrencyDecimal)return Ke[M.KH2.NumberSymbols][g.Decimal];if(ut===g.CurrencyGroup)return Ke[M.KH2.NumberSymbols][g.Group]}return at}function x(Ge){if(!Ge[M.KH2.ExtraData])throw new Error(`Missing extra locale data for the locale "${Ge[M.KH2.LocaleId]}". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.`)}function Y(Ge,ut){for(let Ke=ut;Ke>-1;Ke--)if(typeof Ge[Ke]<"u")return Ge[Ke];throw new Error("Locale data API: locale data undefined")}function he(Ge){const[ut,Ke]=Ge.split(":");return{hours:+ut,minutes:+Ke}}const Oe=/^(\d{4,})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,De={},Be=/((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/;var oe=function(Ge){return Ge[Ge.Short=0]="Short",Ge[Ge.ShortGMT=1]="ShortGMT",Ge[Ge.Long=2]="Long",Ge[Ge.Extended=3]="Extended",Ge}(oe||{}),ee=function(Ge){return Ge[Ge.FullYear=0]="FullYear",Ge[Ge.Month=1]="Month",Ge[Ge.Date=2]="Date",Ge[Ge.Hours=3]="Hours",Ge[Ge.Minutes=4]="Minutes",Ge[Ge.Seconds=5]="Seconds",Ge[Ge.FractionalSeconds=6]="FractionalSeconds",Ge[Ge.Day=7]="Day",Ge}(ee||{}),be=function(Ge){return Ge[Ge.DayPeriods=0]="DayPeriods",Ge[Ge.Days=1]="Days",Ge[Ge.Months=2]="Months",Ge[Ge.Eras=3]="Eras",Ge}(be||{});function xe(Ge,ut,Ke,at){let Et=function Ni(Ge){if(vi(Ge))return Ge;if("number"==typeof Ge&&!isNaN(Ge))return new Date(Ge);if("string"==typeof Ge){if(Ge=Ge.trim(),/^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(Ge)){const[Et,Jt=1,ci=1]=Ge.split("-").map(Oi=>+Oi);return Ie(Et,Jt-1,ci)}const Ke=parseFloat(Ge);if(!isNaN(Ge-Ke))return new Date(Ke);let at;if(at=Ge.match(Oe))return function mi(Ge){const ut=new Date(0);let Ke=0,at=0;const Et=Ge[8]?ut.setUTCFullYear:ut.setFullYear,Jt=Ge[8]?ut.setUTCHours:ut.setHours;Ge[9]&&(Ke=Number(Ge[9]+Ge[10]),at=Number(Ge[9]+Ge[11])),Et.call(ut,Number(Ge[1]),Number(Ge[2])-1,Number(Ge[3]));const ci=Number(Ge[4]||0)-Ke,Oi=Number(Ge[5]||0)-at,Wn=Number(Ge[6]||0),Qn=Math.floor(1e3*parseFloat("0."+(Ge[7]||0)));return Jt.call(ut,ci,Oi,Wn,Qn),ut}(at)}const ut=new Date(Ge);if(!vi(ut))throw new Error(`Unable to convert "${Ge}" into a date`);return ut}(Ge);ut=we(Ke,ut)||ut;let Oi,ci=[];for(;ut;){if(Oi=Be.exec(ut),!Oi){ci.push(ut);break}{ci=ci.concat(Oi.slice(1));const os=ci.pop();if(!os)break;ut=os}}let Wn=Et.getTimezoneOffset();at&&(Wn=wt(at,Wn),Et=function di(Ge,ut,Ke){const at=Ke?-1:1,Et=Ge.getTimezoneOffset();return function Qt(Ge,ut){return(Ge=new Date(Ge.getTime())).setMinutes(Ge.getMinutes()+ut),Ge}(Ge,at*(wt(ut,Et)-Et))}(Et,at,!0));let Qn="";return ci.forEach(os=>{const xn=function xt(Ge){if(It[Ge])return It[Ge];let ut;switch(Ge){case"G":case"GG":case"GGG":ut=qe(be.Eras,f.Abbreviated);break;case"GGGG":ut=qe(be.Eras,f.Wide);break;case"GGGGG":ut=qe(be.Eras,f.Narrow);break;case"y":ut=Je(ee.FullYear,1,0,!1,!0);break;case"yy":ut=Je(ee.FullYear,2,0,!0,!0);break;case"yyy":ut=Je(ee.FullYear,3,0,!1,!0);break;case"yyyy":ut=Je(ee.FullYear,4,0,!1,!0);break;case"Y":ut=Dt(1);break;case"YY":ut=Dt(2,!0);break;case"YYY":ut=Dt(3);break;case"YYYY":ut=Dt(4);break;case"M":case"L":ut=Je(ee.Month,1,1);break;case"MM":case"LL":ut=Je(ee.Month,2,1);break;case"MMM":ut=qe(be.Months,f.Abbreviated);break;case"MMMM":ut=qe(be.Months,f.Wide);break;case"MMMMM":ut=qe(be.Months,f.Narrow);break;case"LLL":ut=qe(be.Months,f.Abbreviated,O.Standalone);break;case"LLLL":ut=qe(be.Months,f.Wide,O.Standalone);break;case"LLLLL":ut=qe(be.Months,f.Narrow,O.Standalone);break;case"w":ut=ti(1);break;case"ww":ut=ti(2);break;case"W":ut=ti(1,!0);break;case"d":ut=Je(ee.Date,1);break;case"dd":ut=Je(ee.Date,2);break;case"c":case"cc":ut=Je(ee.Day,1);break;case"ccc":ut=qe(be.Days,f.Abbreviated,O.Standalone);break;case"cccc":ut=qe(be.Days,f.Wide,O.Standalone);break;case"ccccc":ut=qe(be.Days,f.Narrow,O.Standalone);break;case"cccccc":ut=qe(be.Days,f.Short,O.Standalone);break;case"E":case"EE":case"EEE":ut=qe(be.Days,f.Abbreviated);break;case"EEEE":ut=qe(be.Days,f.Wide);break;case"EEEEE":ut=qe(be.Days,f.Narrow);break;case"EEEEEE":ut=qe(be.Days,f.Short);break;case"a":case"aa":case"aaa":ut=qe(be.DayPeriods,f.Abbreviated);break;case"aaaa":ut=qe(be.DayPeriods,f.Wide);break;case"aaaaa":ut=qe(be.DayPeriods,f.Narrow);break;case"b":case"bb":case"bbb":ut=qe(be.DayPeriods,f.Abbreviated,O.Standalone,!0);break;case"bbbb":ut=qe(be.DayPeriods,f.Wide,O.Standalone,!0);break;case"bbbbb":ut=qe(be.DayPeriods,f.Narrow,O.Standalone,!0);break;case"B":case"BB":case"BBB":ut=qe(be.DayPeriods,f.Abbreviated,O.Format,!0);break;case"BBBB":ut=qe(be.DayPeriods,f.Wide,O.Format,!0);break;case"BBBBB":ut=qe(be.DayPeriods,f.Narrow,O.Format,!0);break;case"h":ut=Je(ee.Hours,1,-12);break;case"hh":ut=Je(ee.Hours,2,-12);break;case"H":ut=Je(ee.Hours,1);break;case"HH":ut=Je(ee.Hours,2);break;case"m":ut=Je(ee.Minutes,1);break;case"mm":ut=Je(ee.Minutes,2);break;case"s":ut=Je(ee.Seconds,1);break;case"ss":ut=Je(ee.Seconds,2);break;case"S":ut=Je(ee.FractionalSeconds,1);break;case"SS":ut=Je(ee.FractionalSeconds,2);break;case"SSS":ut=Je(ee.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":ut=Tt(oe.Short);break;case"ZZZZZ":ut=Tt(oe.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":ut=Tt(oe.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":ut=Tt(oe.Long);break;default:return null}return It[Ge]=ut,ut}(os);Qn+=xn?xn(Et,Ke,Wn):"''"===os?"'":os.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),Qn}function Ie(Ge,ut,Ke){const at=new Date(0);return at.setFullYear(Ge,ut,Ke),at.setHours(0,0,0),at}function we(Ge,ut){const Ke=function o(Ge){return(0,M.H5H)(Ge)[M.KH2.LocaleId]}(Ge);if(De[Ke]??={},De[Ke][ut])return De[Ke][ut];let at="";switch(ut){case"shortDate":at=p(Ge,a.Short);break;case"mediumDate":at=p(Ge,a.Medium);break;case"longDate":at=p(Ge,a.Long);break;case"fullDate":at=p(Ge,a.Full);break;case"shortTime":at=T(Ge,a.Short);break;case"mediumTime":at=T(Ge,a.Medium);break;case"longTime":at=T(Ge,a.Long);break;case"fullTime":at=T(Ge,a.Full);break;case"short":const Et=we(Ge,"shortTime"),Jt=we(Ge,"shortDate");at=Ee(B(Ge,a.Short),[Et,Jt]);break;case"medium":const ci=we(Ge,"mediumTime"),Oi=we(Ge,"mediumDate");at=Ee(B(Ge,a.Medium),[ci,Oi]);break;case"long":const Wn=we(Ge,"longTime"),Qn=we(Ge,"longDate");at=Ee(B(Ge,a.Long),[Wn,Qn]);break;case"full":const os=we(Ge,"fullTime"),xn=we(Ge,"fullDate");at=Ee(B(Ge,a.Full),[os,xn])}return at&&(De[Ke][ut]=at),at}function Ee(Ge,ut){return ut&&(Ge=Ge.replace(/\{([^}]+)}/g,function(Ke,at){return null!=ut&&at in ut?ut[at]:Ke})),Ge}function Me(Ge,ut,Ke="-",at,Et){let Jt="";(Ge<0||Et&&Ge<=0)&&(Et?Ge=1-Ge:(Ge=-Ge,Jt=Ke));let ci=String(Ge);for(;ci.length0||Oi>-Ke)&&(Oi+=Ke),Ge===ee.Hours)0===Oi&&-12===Ke&&(Oi=12);else if(Ge===ee.FractionalSeconds)return function Xe(Ge,ut){return Me(Ge,3).substring(0,ut)}(Oi,ut);const Wn=z(ci,g.MinusSign);return Me(Oi,ut,Wn,at,Et)}}function qe(Ge,ut,Ke=O.Format,at=!1){return function(Et,Jt){return function st(Ge,ut,Ke,at,Et,Jt){switch(Ke){case be.Months:return l(ut,Et,at)[Ge.getMonth()];case be.Days:return r(ut,Et,at)[Ge.getDay()];case be.DayPeriods:const ci=Ge.getHours(),Oi=Ge.getMinutes();if(Jt){const Qn=function N(Ge){const ut=(0,M.H5H)(Ge);return x(ut),(ut[M.KH2.ExtraData][2]||[]).map(at=>"string"==typeof at?he(at):[he(at[0]),he(at[1])])}(ut),os=function R(Ge,ut,Ke){const at=(0,M.H5H)(Ge);x(at);const Jt=Y([at[M.KH2.ExtraData][0],at[M.KH2.ExtraData][1]],ut)||[];return Y(Jt,Ke)||[]}(ut,Et,at),xn=Qn.findIndex(ys=>{if(Array.isArray(ys)){const[hs,zs]=ys,Lr=ci>=hs.hours&&Oi>=hs.minutes,Zn=ci0?Math.floor(Et/60):Math.ceil(Et/60);switch(Ge){case oe.Short:return(Et>=0?"+":"")+Me(ci,2,Jt)+Me(Math.abs(Et%60),2,Jt);case oe.ShortGMT:return"GMT"+(Et>=0?"+":"")+Me(ci,1,Jt);case oe.Long:return"GMT"+(Et>=0?"+":"")+Me(ci,2,Jt)+":"+Me(Math.abs(Et%60),2,Jt);case oe.Extended:return 0===at?"Z":(Et>=0?"+":"")+Me(ci,2,Jt)+":"+Me(Math.abs(Et%60),2,Jt);default:throw new Error(`Unknown zone width "${Ge}"`)}}}const pt=0,ht=4;function Gt(Ge){const ut=Ge.getDay(),Ke=0===ut?-3:ht-ut;return Ie(Ge.getFullYear(),Ge.getMonth(),Ge.getDate()+Ke)}function ti(Ge,ut=!1){return function(Ke,at){let Et;if(ut){const Jt=new Date(Ke.getFullYear(),Ke.getMonth(),1).getDay()-1,ci=Ke.getDate();Et=1+Math.floor((ci+Jt)/7)}else{const Jt=Gt(Ke),ci=function Pt(Ge){const ut=Ie(Ge,pt,1).getDay();return Ie(Ge,0,1+(ut<=ht?ht:ht+7)-ut)}(Jt.getFullYear()),Oi=Jt.getTime()-ci.getTime();Et=1+Math.round(Oi/6048e5)}return Me(Et,Ge,z(at,g.MinusSign))}}function Dt(Ge,ut=!1){return function(Ke,at){return Me(Gt(Ke).getFullYear(),Ge,z(at,g.MinusSign),ut)}}const It={};function wt(Ge,ut){Ge=Ge.replace(/:/g,"");const Ke=Date.parse("Jan 01, 1970 00:00:00 "+Ge)/6e4;return isNaN(Ke)?ut:Ke}function vi(Ge){return Ge instanceof Date&&!isNaN(Ge.valueOf())}function Nt(Ge,ut){ut=encodeURIComponent(ut);for(const Ke of Ge.split(";")){const at=Ke.indexOf("="),[Et,Jt]=-1==at?[Ke,""]:[Ke.slice(0,at),Ke.slice(at+1)];if(Et.trim()===ut)return decodeURIComponent(Jt)}return null}const mt=/\s+/,_t=[];let $e=(()=>{class Ge{constructor(Ke,at){this._ngEl=Ke,this._renderer=at,this.initialClasses=_t,this.stateMap=new Map}set klass(Ke){this.initialClasses=null!=Ke?Ke.trim().split(mt):_t}set ngClass(Ke){this.rawClass="string"==typeof Ke?Ke.trim().split(mt):Ke}ngDoCheck(){for(const at of this.initialClasses)this._updateState(at,!0);const Ke=this.rawClass;if(Array.isArray(Ke)||Ke instanceof Set)for(const at of Ke)this._updateState(at,!0);else if(null!=Ke)for(const at of Object.keys(Ke))this._updateState(at,!!Ke[at]);this._applyStateDiff()}_updateState(Ke,at){const Et=this.stateMap.get(Ke);void 0!==Et?(Et.enabled!==at&&(Et.changed=!0,Et.enabled=at),Et.touched=!0):this.stateMap.set(Ke,{enabled:at,changed:!0,touched:!0})}_applyStateDiff(){for(const Ke of this.stateMap){const at=Ke[0],Et=Ke[1];Et.changed?(this._toggleClass(at,Et.enabled),Et.changed=!1):Et.touched||(Et.enabled&&this._toggleClass(at,!1),this.stateMap.delete(at)),Et.touched=!1}}_toggleClass(Ke,at){(Ke=Ke.trim()).length>0&&Ke.split(mt).forEach(Et=>{at?this._renderer.addClass(this._ngEl.nativeElement,Et):this._renderer.removeClass(this._ngEl.nativeElement,Et)})}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.aKT),M.rXU(M.sFG))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngClass",""]],inputs:{klass:[M.Mj6.None,"class","klass"],ngClass:"ngClass"},standalone:!0})}return Ge})();class $t{constructor(ut,Ke,at,Et){this.$implicit=ut,this.ngForOf=Ke,this.index=at,this.count=Et}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let si=(()=>{class Ge{set ngForOf(Ke){this._ngForOf=Ke,this._ngForOfDirty=!0}set ngForTrackBy(Ke){this._trackByFn=Ke}get ngForTrackBy(){return this._trackByFn}constructor(Ke,at,Et){this._viewContainer=Ke,this._template=at,this._differs=Et,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(Ke){Ke&&(this._template=Ke)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const Ke=this._ngForOf;!this._differ&&Ke&&(this._differ=this._differs.find(Ke).create(this.ngForTrackBy))}if(this._differ){const Ke=this._differ.diff(this._ngForOf);Ke&&this._applyChanges(Ke)}}_applyChanges(Ke){const at=this._viewContainer;Ke.forEachOperation((Et,Jt,ci)=>{if(null==Et.previousIndex)at.createEmbeddedView(this._template,new $t(Et.item,this._ngForOf,-1,-1),null===ci?void 0:ci);else if(null==ci)at.remove(null===Jt?void 0:Jt);else if(null!==Jt){const Oi=at.get(Jt);at.move(Oi,ci),Di(Oi,Et)}});for(let Et=0,Jt=at.length;Et{Di(at.get(Et.currentIndex),Et)})}static ngTemplateContextGuard(Ke,at){return!0}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.c1b),M.rXU(M.C4Q),M.rXU(M._q3))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}return Ge})();function Di(Ge,ut){Ge.context.$implicit=ut.item}let Ki=(()=>{class Ge{constructor(Ke,at){this._viewContainer=Ke,this._context=new ls,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=at}set ngIf(Ke){this._context.$implicit=this._context.ngIf=Ke,this._updateView()}set ngIfThen(Ke){Hn("ngIfThen",Ke),this._thenTemplateRef=Ke,this._thenViewRef=null,this._updateView()}set ngIfElse(Ke){Hn("ngIfElse",Ke),this._elseTemplateRef=Ke,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(Ke,at){return!0}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.c1b),M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}return Ge})();class ls{constructor(){this.$implicit=null,this.ngIf=null}}function Hn(Ge,ut){if(ut&&!ut.createEmbeddedView)throw new Error(`${Ge} must be a TemplateRef, but received '${(0,M.Tbb)(ut)}'.`)}class gn{constructor(ut,Ke){this._viewContainerRef=ut,this._templateRef=Ke,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(ut){ut&&!this._created?this.create():!ut&&this._created&&this.destroy()}}let cs=(()=>{class Ge{constructor(){this._defaultViews=[],this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(Ke){this._ngSwitch=Ke,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(Ke){this._defaultViews.push(Ke)}_matchCase(Ke){const at=Ke===this._ngSwitch;return this._lastCasesMatched||=at,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),at}_updateDefaultCases(Ke){if(this._defaultViews.length>0&&Ke!==this._defaultUsed){this._defaultUsed=Ke;for(const at of this._defaultViews)at.enforceState(Ke)}}static#e=this.\u0275fac=function(at){return new(at||Ge)};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngSwitch",""]],inputs:{ngSwitch:"ngSwitch"},standalone:!0})}return Ge})(),sn=(()=>{class Ge{constructor(Ke,at,Et){this.ngSwitch=Et,Et._addCase(),this._view=new gn(Ke,at)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.c1b),M.rXU(M.C4Q),M.rXU(cs,9))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"},standalone:!0})}return Ge})(),Bn=(()=>{class Ge{constructor(Ke,at,Et){Et._addDefault(new gn(Ke,at))}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.c1b),M.rXU(M.C4Q),M.rXU(cs,9))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngSwitchDefault",""]],standalone:!0})}return Ge})(),Ui=(()=>{class Ge{constructor(Ke,at,Et){this._ngEl=Ke,this._differs=at,this._renderer=Et,this._ngStyle=null,this._differ=null}set ngStyle(Ke){this._ngStyle=Ke,!this._differ&&Ke&&(this._differ=this._differs.find(Ke).create())}ngDoCheck(){if(this._differ){const Ke=this._differ.diff(this._ngStyle);Ke&&this._applyChanges(Ke)}}_setStyle(Ke,at){const[Et,Jt]=Ke.split("."),ci=-1===Et.indexOf("-")?void 0:M.czy.DashCase;null!=at?this._renderer.setStyle(this._ngEl.nativeElement,Et,Jt?`${at}${Jt}`:at,ci):this._renderer.removeStyle(this._ngEl.nativeElement,Et,ci)}_applyChanges(Ke){Ke.forEachRemovedItem(at=>this._setStyle(at.key,null)),Ke.forEachAddedItem(at=>this._setStyle(at.key,at.currentValue)),Ke.forEachChangedItem(at=>this._setStyle(at.key,at.currentValue))}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.aKT),M.rXU(M.MKu),M.rXU(M.sFG))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"},standalone:!0})}return Ge})(),ln=(()=>{class Ge{constructor(Ke){this._viewContainerRef=Ke,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(Ke){if(this._shouldRecreateView(Ke)){const at=this._viewContainerRef;if(this._viewRef&&at.remove(at.indexOf(this._viewRef)),!this.ngTemplateOutlet)return void(this._viewRef=null);const Et=this._createContextForwardProxy();this._viewRef=at.createEmbeddedView(this.ngTemplateOutlet,Et,{injector:this.ngTemplateOutletInjector??void 0})}}_shouldRecreateView(Ke){return!!Ke.ngTemplateOutlet||!!Ke.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(Ke,at,Et)=>!!this.ngTemplateOutletContext&&Reflect.set(this.ngTemplateOutletContext,at,Et),get:(Ke,at,Et)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,at,Et)}})}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.c1b))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[M.OA$]})}return Ge})();function lr(Ge,ut){return new M.wOt(2100,!1)}class Fa{createSubscription(ut,Ke){return(0,M.O8t)(()=>ut.subscribe({next:Ke,error:at=>{throw at}}))}dispose(ut){(0,M.O8t)(()=>ut.unsubscribe())}}class Ba{createSubscription(ut,Ke){return ut.then(Ke,at=>{throw at})}dispose(ut){}}const ja=new Ba,go=new Fa;let wn=(()=>{class Ge{constructor(Ke){this._latestValue=null,this.markForCheckOnValueUpdate=!0,this._subscription=null,this._obj=null,this._strategy=null,this._ref=Ke}ngOnDestroy(){this._subscription&&this._dispose(),this._ref=null}transform(Ke){if(!this._obj){if(Ke)try{this.markForCheckOnValueUpdate=!1,this._subscribe(Ke)}finally{this.markForCheckOnValueUpdate=!0}return this._latestValue}return Ke!==this._obj?(this._dispose(),this.transform(Ke)):this._latestValue}_subscribe(Ke){this._obj=Ke,this._strategy=this._selectStrategy(Ke),this._subscription=this._strategy.createSubscription(Ke,at=>this._updateLatestValue(Ke,at))}_selectStrategy(Ke){if((0,M.jNT)(Ke))return ja;if((0,M.zjR)(Ke))return go;throw lr()}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(Ke,at){Ke===this._obj&&(this._latestValue=at,this.markForCheckOnValueUpdate&&this._ref?.markForCheck())}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.gRc,16))};static#t=this.\u0275pipe=M.EJ8({name:"async",type:Ge,pure:!1,standalone:!0})}return Ge})();const Nl=new M.nKC(""),wr=new M.nKC("");let Jr=(()=>{class Ge{constructor(Ke,at,Et){this.locale=Ke,this.defaultTimezone=at,this.defaultOptions=Et}transform(Ke,at,Et,Jt){if(null==Ke||""===Ke||Ke!=Ke)return null;try{return xe(Ke,at??this.defaultOptions?.dateFormat??"mediumDate",Jt||this.locale,Et??this.defaultOptions?.timezone??this.defaultTimezone??void 0)}catch(ci){throw lr()}}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.xe9,16),M.rXU(Nl,24),M.rXU(wr,24))};static#t=this.\u0275pipe=M.EJ8({name:"date",type:Ge,pure:!0,standalone:!0})}return Ge})(),Tr=(()=>{class Ge{constructor(Ke){this.differs=Ke,this.keyValues=[],this.compareFn=fr}transform(Ke,at=fr){if(!Ke||!(Ke instanceof Map)&&"object"!=typeof Ke)return null;this.differ??=this.differs.find(Ke).create();const Et=this.differ.diff(Ke),Jt=at!==this.compareFn;return Et&&(this.keyValues=[],Et.forEachItem(ci=>{this.keyValues.push(function Ga(Ge,ut){return{key:Ge,value:ut}}(ci.key,ci.currentValue))})),(Et||Jt)&&(this.keyValues.sort(at),this.compareFn=at),this.keyValues}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.MKu,16))};static#t=this.\u0275pipe=M.EJ8({name:"keyvalue",type:Ge,pure:!1,standalone:!0})}return Ge})();function fr(Ge,ut){const Ke=Ge.key,at=ut.key;if(Ke===at)return 0;if(void 0===Ke)return 1;if(void 0===at)return-1;if(null===Ke)return 1;if(null===at)return-1;if("string"==typeof Ke&&"string"==typeof at)return Ke{class Ge{static#e=this.\u0275fac=function(at){return new(at||Ge)};static#t=this.\u0275mod=M.$C({type:Ge});static#i=this.\u0275inj=M.G2t({})}return Ge})();const ko="browser",ua="server";function Qs(Ge){return Ge===ko}function ga(Ge){return Ge===ua}let cr=(()=>{class Ge{static#e=this.\u0275prov=(0,M.jDH)({token:Ge,providedIn:"root",factory:()=>Qs((0,M.WQX)(M.Agw))?new es((0,M.WQX)(re),window):new Ko})}return Ge})();class es{constructor(ut,Ke){this.document=ut,this.window=Ke,this.offset=()=>[0,0]}setOffset(ut){this.offset=Array.isArray(ut)?()=>ut:ut}getScrollPosition(){return[this.window.scrollX,this.window.scrollY]}scrollToPosition(ut){this.window.scrollTo(ut[0],ut[1])}scrollToAnchor(ut){const Ke=function $r(Ge,ut){const Ke=Ge.getElementById(ut)||Ge.getElementsByName(ut)[0];if(Ke)return Ke;if("function"==typeof Ge.createTreeWalker&&Ge.body&&"function"==typeof Ge.body.attachShadow){const at=Ge.createTreeWalker(Ge.body,NodeFilter.SHOW_ELEMENT);let Et=at.currentNode;for(;Et;){const Jt=Et.shadowRoot;if(Jt){const ci=Jt.getElementById(ut)||Jt.querySelector(`[name="${ut}"]`);if(ci)return ci}Et=at.nextNode()}}return null}(this.document,ut);Ke&&(this.scrollToElement(Ke),Ke.focus())}setHistoryScrollRestoration(ut){this.window.history.scrollRestoration=ut}scrollToElement(ut){const Ke=ut.getBoundingClientRect(),at=Ke.left+this.window.pageXOffset,Et=Ke.top+this.window.pageYOffset,Jt=this.offset();this.window.scrollTo(at-Jt[0],Et-Jt[1])}}class Ko{setOffset(ut){}getScrollPosition(){return[0,0]}scrollToPosition(ut){}scrollToAnchor(ut){}setHistoryScrollRestoration(ut){}}class Do{}},21626:(ri,Bt,We)=>{"use strict";We.d(Bt,{Lr:()=>X,Qq:()=>p,cS:()=>l,hR:()=>J,q1:()=>ms}),We(10467);var e=We(54438),V=We(7673),Le=We(71985),q=We(86648),ne=We(70274),re=We(5964),ve=We(96354),le=We(70980),pe=We(25558),ue=We(60177);class J{}class te{}class X{constructor(Rt){this.normalizedNames=new Map,this.lazyUpdate=null,Rt?"string"==typeof Rt?this.lazyInit=()=>{this.headers=new Map,Rt.split("\n").forEach(Nt=>{const mt=Nt.indexOf(":");if(mt>0){const _t=Nt.slice(0,mt),$e=_t.toLowerCase(),yt=Nt.slice(mt+1).trim();this.maybeSetNormalizedName(_t,$e),this.headers.has($e)?this.headers.get($e).push(yt):this.headers.set($e,[yt])}})}:typeof Headers<"u"&&Rt instanceof Headers?(this.headers=new Map,Rt.forEach((Nt,mt)=>{this.setHeaderEntries(mt,Nt)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(Rt).forEach(([Nt,mt])=>{this.setHeaderEntries(Nt,mt)})}:this.headers=new Map}has(Rt){return this.init(),this.headers.has(Rt.toLowerCase())}get(Rt){this.init();const Nt=this.headers.get(Rt.toLowerCase());return Nt&&Nt.length>0?Nt[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(Rt){return this.init(),this.headers.get(Rt.toLowerCase())||null}append(Rt,Nt){return this.clone({name:Rt,value:Nt,op:"a"})}set(Rt,Nt){return this.clone({name:Rt,value:Nt,op:"s"})}delete(Rt,Nt){return this.clone({name:Rt,value:Nt,op:"d"})}maybeSetNormalizedName(Rt,Nt){this.normalizedNames.has(Nt)||this.normalizedNames.set(Nt,Rt)}init(){this.lazyInit&&(this.lazyInit instanceof X?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(Rt=>this.applyUpdate(Rt)),this.lazyUpdate=null))}copyFrom(Rt){Rt.init(),Array.from(Rt.headers.keys()).forEach(Nt=>{this.headers.set(Nt,Rt.headers.get(Nt)),this.normalizedNames.set(Nt,Rt.normalizedNames.get(Nt))})}clone(Rt){const Nt=new X;return Nt.lazyInit=this.lazyInit&&this.lazyInit instanceof X?this.lazyInit:this,Nt.lazyUpdate=(this.lazyUpdate||[]).concat([Rt]),Nt}applyUpdate(Rt){const Nt=Rt.name.toLowerCase();switch(Rt.op){case"a":case"s":let mt=Rt.value;if("string"==typeof mt&&(mt=[mt]),0===mt.length)return;this.maybeSetNormalizedName(Rt.name,Nt);const _t=("a"===Rt.op?this.headers.get(Nt):void 0)||[];_t.push(...mt),this.headers.set(Nt,_t);break;case"d":const $e=Rt.value;if($e){let yt=this.headers.get(Nt);if(!yt)return;yt=yt.filter(At=>-1===$e.indexOf(At)),0===yt.length?(this.headers.delete(Nt),this.normalizedNames.delete(Nt)):this.headers.set(Nt,yt)}else this.headers.delete(Nt),this.normalizedNames.delete(Nt)}}setHeaderEntries(Rt,Nt){const mt=(Array.isArray(Nt)?Nt:[Nt]).map($e=>$e.toString()),_t=Rt.toLowerCase();this.headers.set(_t,mt),this.maybeSetNormalizedName(Rt,_t)}forEach(Rt){this.init(),Array.from(this.normalizedNames.keys()).forEach(Nt=>Rt(this.normalizedNames.get(Nt),this.headers.get(Nt)))}}class j{encodeKey(Rt){return A(Rt)}encodeValue(Rt){return A(Rt)}decodeKey(Rt){return decodeURIComponent(Rt)}decodeValue(Rt){return decodeURIComponent(Rt)}}const P=/%(\d[a-f0-9])/gi,D={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function A(St){return encodeURIComponent(St).replace(P,(Rt,Nt)=>D[Nt]??Rt)}function I(St){return`${St}`}class _{constructor(Rt={}){if(this.updates=null,this.cloneFrom=null,this.encoder=Rt.encoder||new j,Rt.fromString){if(Rt.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function F(St,Rt){const Nt=new Map;return St.length>0&&St.replace(/^\?/,"").split("&").forEach(_t=>{const $e=_t.indexOf("="),[yt,At]=-1==$e?[Rt.decodeKey(_t),""]:[Rt.decodeKey(_t.slice(0,$e)),Rt.decodeValue(_t.slice($e+1))],$t=Nt.get(yt)||[];$t.push(At),Nt.set(yt,$t)}),Nt}(Rt.fromString,this.encoder)}else Rt.fromObject?(this.map=new Map,Object.keys(Rt.fromObject).forEach(Nt=>{const mt=Rt.fromObject[Nt],_t=Array.isArray(mt)?mt.map(I):[I(mt)];this.map.set(Nt,_t)})):this.map=null}has(Rt){return this.init(),this.map.has(Rt)}get(Rt){this.init();const Nt=this.map.get(Rt);return Nt?Nt[0]:null}getAll(Rt){return this.init(),this.map.get(Rt)||null}keys(){return this.init(),Array.from(this.map.keys())}append(Rt,Nt){return this.clone({param:Rt,value:Nt,op:"a"})}appendAll(Rt){const Nt=[];return Object.keys(Rt).forEach(mt=>{const _t=Rt[mt];Array.isArray(_t)?_t.forEach($e=>{Nt.push({param:mt,value:$e,op:"a"})}):Nt.push({param:mt,value:_t,op:"a"})}),this.clone(Nt)}set(Rt,Nt){return this.clone({param:Rt,value:Nt,op:"s"})}delete(Rt,Nt){return this.clone({param:Rt,value:Nt,op:"d"})}toString(){return this.init(),this.keys().map(Rt=>{const Nt=this.encoder.encodeKey(Rt);return this.map.get(Rt).map(mt=>Nt+"="+this.encoder.encodeValue(mt)).join("&")}).filter(Rt=>""!==Rt).join("&")}clone(Rt){const Nt=new _({encoder:this.encoder});return Nt.cloneFrom=this.cloneFrom||this,Nt.updates=(this.updates||[]).concat(Rt),Nt}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(Rt=>this.map.set(Rt,this.cloneFrom.map.get(Rt))),this.updates.forEach(Rt=>{switch(Rt.op){case"a":case"s":const Nt=("a"===Rt.op?this.map.get(Rt.param):void 0)||[];Nt.push(I(Rt.value)),this.map.set(Rt.param,Nt);break;case"d":if(void 0===Rt.value){this.map.delete(Rt.param);break}{let mt=this.map.get(Rt.param)||[];const _t=mt.indexOf(I(Rt.value));-1!==_t&&mt.splice(_t,1),mt.length>0?this.map.set(Rt.param,mt):this.map.delete(Rt.param)}}}),this.cloneFrom=this.updates=null)}}class w{constructor(){this.map=new Map}set(Rt,Nt){return this.map.set(Rt,Nt),this}get(Rt){return this.map.has(Rt)||this.map.set(Rt,Rt.defaultValue()),this.map.get(Rt)}delete(Rt){return this.map.delete(Rt),this}has(Rt){return this.map.has(Rt)}keys(){return this.map.keys()}}function O(St){return typeof ArrayBuffer<"u"&&St instanceof ArrayBuffer}function f(St){return typeof Blob<"u"&&St instanceof Blob}function a(St){return typeof FormData<"u"&&St instanceof FormData}class v{constructor(Rt,Nt,mt,_t){let $e;if(this.url=Nt,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=Rt.toUpperCase(),function G(St){switch(St){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||_t?(this.body=void 0!==mt?mt:null,$e=_t):$e=mt,$e&&(this.reportProgress=!!$e.reportProgress,this.withCredentials=!!$e.withCredentials,$e.responseType&&(this.responseType=$e.responseType),$e.headers&&(this.headers=$e.headers),$e.context&&(this.context=$e.context),$e.params&&(this.params=$e.params),this.transferCache=$e.transferCache),this.headers??=new X,this.context??=new w,this.params){const yt=this.params.toString();if(0===yt.length)this.urlWithParams=Nt;else{const At=Nt.indexOf("?");this.urlWithParams=Nt+(-1===At?"?":Atqi.set(Ki,Rt.setHeaders[Ki]),$t)),Rt.setParams&&(si=Object.keys(Rt.setParams).reduce((qi,Ki)=>qi.set(Ki,Rt.setParams[Ki]),si)),new v(Nt,mt,$e,{params:si,headers:$t,context:Di,reportProgress:At,responseType:_t,withCredentials:yt})}}var o=function(St){return St[St.Sent=0]="Sent",St[St.UploadProgress=1]="UploadProgress",St[St.ResponseHeader=2]="ResponseHeader",St[St.DownloadProgress=3]="DownloadProgress",St[St.Response=4]="Response",St[St.User=5]="User",St}(o||{});class n{constructor(Rt,Nt=C.Ok,mt="OK"){this.headers=Rt.headers||new X,this.status=void 0!==Rt.status?Rt.status:Nt,this.statusText=Rt.statusText||mt,this.url=Rt.url||null,this.ok=this.status>=200&&this.status<300}}class r extends n{constructor(Rt={}){super(Rt),this.type=o.ResponseHeader}clone(Rt={}){return new r({headers:Rt.headers||this.headers,status:void 0!==Rt.status?Rt.status:this.status,statusText:Rt.statusText||this.statusText,url:Rt.url||this.url||void 0})}}class l extends n{constructor(Rt={}){super(Rt),this.type=o.Response,this.body=void 0!==Rt.body?Rt.body:null}clone(Rt={}){return new l({body:void 0!==Rt.body?Rt.body:this.body,headers:Rt.headers||this.headers,status:void 0!==Rt.status?Rt.status:this.status,statusText:Rt.statusText||this.statusText,url:Rt.url||this.url||void 0})}}class d extends n{constructor(Rt){super(Rt,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${Rt.url||"(unknown url)"}`:`Http failure response for ${Rt.url||"(unknown url)"}: ${Rt.status} ${Rt.statusText}`,this.error=Rt.error||null}}var C=function(St){return St[St.Continue=100]="Continue",St[St.SwitchingProtocols=101]="SwitchingProtocols",St[St.Processing=102]="Processing",St[St.EarlyHints=103]="EarlyHints",St[St.Ok=200]="Ok",St[St.Created=201]="Created",St[St.Accepted=202]="Accepted",St[St.NonAuthoritativeInformation=203]="NonAuthoritativeInformation",St[St.NoContent=204]="NoContent",St[St.ResetContent=205]="ResetContent",St[St.PartialContent=206]="PartialContent",St[St.MultiStatus=207]="MultiStatus",St[St.AlreadyReported=208]="AlreadyReported",St[St.ImUsed=226]="ImUsed",St[St.MultipleChoices=300]="MultipleChoices",St[St.MovedPermanently=301]="MovedPermanently",St[St.Found=302]="Found",St[St.SeeOther=303]="SeeOther",St[St.NotModified=304]="NotModified",St[St.UseProxy=305]="UseProxy",St[St.Unused=306]="Unused",St[St.TemporaryRedirect=307]="TemporaryRedirect",St[St.PermanentRedirect=308]="PermanentRedirect",St[St.BadRequest=400]="BadRequest",St[St.Unauthorized=401]="Unauthorized",St[St.PaymentRequired=402]="PaymentRequired",St[St.Forbidden=403]="Forbidden",St[St.NotFound=404]="NotFound",St[St.MethodNotAllowed=405]="MethodNotAllowed",St[St.NotAcceptable=406]="NotAcceptable",St[St.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",St[St.RequestTimeout=408]="RequestTimeout",St[St.Conflict=409]="Conflict",St[St.Gone=410]="Gone",St[St.LengthRequired=411]="LengthRequired",St[St.PreconditionFailed=412]="PreconditionFailed",St[St.PayloadTooLarge=413]="PayloadTooLarge",St[St.UriTooLong=414]="UriTooLong",St[St.UnsupportedMediaType=415]="UnsupportedMediaType",St[St.RangeNotSatisfiable=416]="RangeNotSatisfiable",St[St.ExpectationFailed=417]="ExpectationFailed",St[St.ImATeapot=418]="ImATeapot",St[St.MisdirectedRequest=421]="MisdirectedRequest",St[St.UnprocessableEntity=422]="UnprocessableEntity",St[St.Locked=423]="Locked",St[St.FailedDependency=424]="FailedDependency",St[St.TooEarly=425]="TooEarly",St[St.UpgradeRequired=426]="UpgradeRequired",St[St.PreconditionRequired=428]="PreconditionRequired",St[St.TooManyRequests=429]="TooManyRequests",St[St.RequestHeaderFieldsTooLarge=431]="RequestHeaderFieldsTooLarge",St[St.UnavailableForLegalReasons=451]="UnavailableForLegalReasons",St[St.InternalServerError=500]="InternalServerError",St[St.NotImplemented=501]="NotImplemented",St[St.BadGateway=502]="BadGateway",St[St.ServiceUnavailable=503]="ServiceUnavailable",St[St.GatewayTimeout=504]="GatewayTimeout",St[St.HttpVersionNotSupported=505]="HttpVersionNotSupported",St[St.VariantAlsoNegotiates=506]="VariantAlsoNegotiates",St[St.InsufficientStorage=507]="InsufficientStorage",St[St.LoopDetected=508]="LoopDetected",St[St.NotExtended=510]="NotExtended",St[St.NetworkAuthenticationRequired=511]="NetworkAuthenticationRequired",St}(C||{});function k(St,Rt){return{body:Rt,headers:St.headers,context:St.context,observe:St.observe,params:St.params,reportProgress:St.reportProgress,responseType:St.responseType,withCredentials:St.withCredentials,transferCache:St.transferCache}}let p=(()=>{class St{constructor(Nt){this.handler=Nt}request(Nt,mt,_t={}){let $e;if(Nt instanceof v)$e=Nt;else{let $t,si;$t=_t.headers instanceof X?_t.headers:new X(_t.headers),_t.params&&(si=_t.params instanceof _?_t.params:new _({fromObject:_t.params})),$e=new v(Nt,mt,void 0!==_t.body?_t.body:null,{headers:$t,context:_t.context,params:si,reportProgress:_t.reportProgress,responseType:_t.responseType||"json",withCredentials:_t.withCredentials,transferCache:_t.transferCache})}const yt=(0,V.of)($e).pipe((0,ne.H)($t=>this.handler.handle($t)));if(Nt instanceof v||"events"===_t.observe)return yt;const At=yt.pipe((0,re.p)($t=>$t instanceof l));switch(_t.observe||"body"){case"body":switch($e.responseType){case"arraybuffer":return At.pipe((0,ve.T)($t=>{if(null!==$t.body&&!($t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return $t.body}));case"blob":return At.pipe((0,ve.T)($t=>{if(null!==$t.body&&!($t.body instanceof Blob))throw new Error("Response is not a Blob.");return $t.body}));case"text":return At.pipe((0,ve.T)($t=>{if(null!==$t.body&&"string"!=typeof $t.body)throw new Error("Response is not a string.");return $t.body}));default:return At.pipe((0,ve.T)($t=>$t.body))}case"response":return At;default:throw new Error(`Unreachable: unhandled observe type ${_t.observe}}`)}}delete(Nt,mt={}){return this.request("DELETE",Nt,mt)}get(Nt,mt={}){return this.request("GET",Nt,mt)}head(Nt,mt={}){return this.request("HEAD",Nt,mt)}jsonp(Nt,mt){return this.request("JSONP",Nt,{params:(new _).append(mt,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(Nt,mt={}){return this.request("OPTIONS",Nt,mt)}patch(Nt,mt,_t={}){return this.request("PATCH",Nt,k(_t,mt))}post(Nt,mt,_t={}){return this.request("POST",Nt,k(_t,mt))}put(Nt,mt,_t={}){return this.request("PUT",Nt,k(_t,mt))}static#e=this.\u0275fac=function(mt){return new(mt||St)(e.KVO(J))};static#t=this.\u0275prov=e.jDH({token:St,factory:St.\u0275fac})}return St})();function $(St,Rt){return Rt(St)}function H(St,Rt){return(Nt,mt)=>Rt.intercept(Nt,{handle:_t=>St(_t,mt)})}const N=new e.nKC(""),R=new e.nKC(""),Z=new e.nKC(""),Y=new e.nKC("");function he(){let St=null;return(Rt,Nt)=>{null===St&&(St=((0,e.WQX)(N,{optional:!0})??[]).reduceRight(H,$));const mt=(0,e.WQX)(e.TgB),_t=mt.add();return St(Rt,Nt).pipe((0,le.j)(()=>mt.remove(_t)))}}let Te=(()=>{class St extends J{constructor(Nt,mt){super(),this.backend=Nt,this.injector=mt,this.chain=null,this.pendingTasks=(0,e.WQX)(e.TgB);const _t=(0,e.WQX)(Y,{optional:!0});this.backend=_t??Nt}handle(Nt){if(null===this.chain){const _t=Array.from(new Set([...this.injector.get(R),...this.injector.get(Z,[])]));this.chain=_t.reduceRight(($e,yt)=>function x(St,Rt,Nt){return(mt,_t)=>(0,e.N4e)(Nt,()=>Rt(mt,$e=>St($e,_t)))}($e,yt,this.injector),$)}const mt=this.pendingTasks.add();return this.chain(Nt,_t=>this.backend.handle(_t)).pipe((0,le.j)(()=>this.pendingTasks.remove(mt)))}static#e=this.\u0275fac=function(mt){return new(mt||St)(e.KVO(te),e.KVO(e.uvJ))};static#t=this.\u0275prov=e.jDH({token:St,factory:St.\u0275fac})}return St})();const Xe=/^\)\]\}',?\n/;let lt=(()=>{class St{constructor(Nt){this.xhrFactory=Nt}handle(Nt){if("JSONP"===Nt.method)throw new e.wOt(-2800,!1);const mt=this.xhrFactory;return(mt.\u0275loadImpl?(0,q.H)(mt.\u0275loadImpl()):(0,V.of)(null)).pipe((0,pe.n)(()=>new Le.c($e=>{const yt=mt.build();if(yt.open(Nt.method,Nt.urlWithParams),Nt.withCredentials&&(yt.withCredentials=!0),Nt.headers.forEach((tn,gn)=>yt.setRequestHeader(tn,gn.join(","))),Nt.headers.has("Accept")||yt.setRequestHeader("Accept","application/json, text/plain, */*"),!Nt.headers.has("Content-Type")){const tn=Nt.detectContentTypeHeader();null!==tn&&yt.setRequestHeader("Content-Type",tn)}if(Nt.responseType){const tn=Nt.responseType.toLowerCase();yt.responseType="json"!==tn?tn:"text"}const At=Nt.serializeBody();let $t=null;const si=()=>{if(null!==$t)return $t;const tn=yt.statusText||"OK",gn=new X(yt.getAllResponseHeaders()),cs=function Je(St){return"responseURL"in St&&St.responseURL?St.responseURL:/^X-Request-URL:/m.test(St.getAllResponseHeaders())?St.getResponseHeader("X-Request-URL"):null}(yt)||Nt.url;return $t=new r({headers:gn,status:yt.status,statusText:tn,url:cs}),$t},Di=()=>{let{headers:tn,status:gn,statusText:cs,url:sn}=si(),Bn=null;gn!==C.NoContent&&(Bn=typeof yt.response>"u"?yt.responseText:yt.response),0===gn&&(gn=Bn?C.Ok:0);let Er=gn>=200&&gn<300;if("json"===Nt.responseType&&"string"==typeof Bn){const bs=Bn;Bn=Bn.replace(Xe,"");try{Bn=""!==Bn?JSON.parse(Bn):null}catch(Un){Bn=bs,Er&&(Er=!1,Bn={error:Un,text:Bn})}}Er?($e.next(new l({body:Bn,headers:tn,status:gn,statusText:cs,url:sn||void 0})),$e.complete()):$e.error(new d({error:Bn,headers:tn,status:gn,statusText:cs,url:sn||void 0}))},qi=tn=>{const{url:gn}=si(),cs=new d({error:tn,status:yt.status||0,statusText:yt.statusText||"Unknown Error",url:gn||void 0});$e.error(cs)};let Ki=!1;const ls=tn=>{Ki||($e.next(si()),Ki=!0);let gn={type:o.DownloadProgress,loaded:tn.loaded};tn.lengthComputable&&(gn.total=tn.total),"text"===Nt.responseType&&yt.responseText&&(gn.partialText=yt.responseText),$e.next(gn)},Hn=tn=>{let gn={type:o.UploadProgress,loaded:tn.loaded};tn.lengthComputable&&(gn.total=tn.total),$e.next(gn)};return yt.addEventListener("load",Di),yt.addEventListener("error",qi),yt.addEventListener("timeout",qi),yt.addEventListener("abort",qi),Nt.reportProgress&&(yt.addEventListener("progress",ls),null!==At&&yt.upload&&yt.upload.addEventListener("progress",Hn)),yt.send(At),$e.next({type:o.Sent}),()=>{yt.removeEventListener("error",qi),yt.removeEventListener("abort",qi),yt.removeEventListener("load",Di),yt.removeEventListener("timeout",qi),Nt.reportProgress&&(yt.removeEventListener("progress",ls),null!==At&&yt.upload&&yt.upload.removeEventListener("progress",Hn)),yt.readyState!==yt.DONE&&yt.abort()}})))}static#e=this.\u0275fac=function(mt){return new(mt||St)(e.KVO(ue.N0))};static#t=this.\u0275prov=e.jDH({token:St,factory:St.\u0275fac})}return St})();const qe=new e.nKC(""),Tt=new e.nKC("",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),ht=new e.nKC("",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class Pt{}let Gt=(()=>{class St{constructor(Nt,mt,_t){this.doc=Nt,this.platform=mt,this.cookieName=_t,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const Nt=this.doc.cookie||"";return Nt!==this.lastCookieString&&(this.parseCount++,this.lastToken=(0,ue._b)(Nt,this.cookieName),this.lastCookieString=Nt),this.lastToken}static#e=this.\u0275fac=function(mt){return new(mt||St)(e.KVO(ue.qQ),e.KVO(e.Agw),e.KVO(Tt))};static#t=this.\u0275prov=e.jDH({token:St,factory:St.\u0275fac})}return St})();function ti(St,Rt){const Nt=St.url.toLowerCase();if(!(0,e.WQX)(qe)||"GET"===St.method||"HEAD"===St.method||Nt.startsWith("http://")||Nt.startsWith("https://"))return Rt(St);const mt=(0,e.WQX)(Pt).getToken(),_t=(0,e.WQX)(ht);return null!=mt&&!St.headers.has(_t)&&(St=St.clone({headers:St.headers.set(_t,mt)})),Rt(St)}var It=function(St){return St[St.Interceptors=0]="Interceptors",St[St.LegacyInterceptors=1]="LegacyInterceptors",St[St.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",St[St.NoXsrfProtection=3]="NoXsrfProtection",St[St.JsonpSupport=4]="JsonpSupport",St[St.RequestsMadeViaParent=5]="RequestsMadeViaParent",St[St.Fetch=6]="Fetch",St}(It||{});function wt(...St){const Rt=[p,lt,Te,{provide:J,useExisting:Te},{provide:te,useExisting:lt},{provide:R,useValue:ti,multi:!0},{provide:qe,useValue:!0},{provide:Pt,useClass:Gt}];for(const Nt of St)Rt.push(...Nt.\u0275providers);return(0,e.EmA)(Rt)}const di=new e.nKC("");function Ni(){return function xt(St,Rt){return{\u0275kind:St,\u0275providers:Rt}}(It.LegacyInterceptors,[{provide:di,useFactory:he},{provide:R,useExisting:di,multi:!0}])}let ms=(()=>{class St{static#e=this.\u0275fac=function(mt){return new(mt||St)};static#t=this.\u0275mod=e.$C({type:St});static#i=this.\u0275inj=e.G2t({providers:[wt(Ni())]})}return St})()},54438:(ri,Bt,We)=>{"use strict";function e(t,s){return Object.is(t,s)}We.d(Bt,{bc$:()=>Wf,iLQ:()=>SC,sZ2:()=>_p,hnV:()=>jk,Hbi:()=>dA,o8S:()=>Uu,BIS:()=>Tp,gRc:()=>Qk,Ql9:()=>FE,OM3:()=>Ia,Ocv:()=>WE,abz:()=>ec,Z63:()=>Ao,aKT:()=>dh,uvJ:()=>Xr,zcH:()=>Sl,bkB:()=>co,$GK:()=>wn,nKC:()=>$e,zZn:()=>yr,_q3:()=>LC,MKu:()=>PC,xe9:()=>zy,Co$:()=>R_,Vns:()=>Vd,SKi:()=>xr,Xx1:()=>Qs,Agw:()=>wp,PLl:()=>mu,sFG:()=>Oa,_9s:()=>Fd,czy:()=>_u,WPN:()=>Id,kdw:()=>eo,C4Q:()=>Wp,NYb:()=>AE,giA:()=>Fk,RxE:()=>Ek,c1b:()=>Zm,gXe:()=>Or,mal:()=>av,Af3:()=>Ge,tdH:()=>qx,L39:()=>VA,EWP:()=>HA,a0P:()=>KA,Ol2:()=>jv,w6W:()=>N_,oH4:()=>Yk,QZP:()=>ED,SmG:()=>ZE,Rfq:()=>ti,WQX:()=>$i,hFB:()=>Uf,QuC:()=>kr,EmA:()=>Jo,Udg:()=>zA,fpN:()=>hA,HJs:()=>ZA,N4e:()=>$l,vPA:()=>Dv,O8t:()=>UA,An2:()=>qp,H3F:()=>Ak,H8p:()=>Hs,KH2:()=>od,TgB:()=>af,wOt:()=>ge,WHO:()=>Rk,e01:()=>Nk,lNU:()=>he,h9k:()=>$0,$MX:()=>vu,ZF7:()=>tc,Kcf:()=>Kf,e5t:()=>bu,UyX:()=>z0,cWb:()=>Jg,osQ:()=>em,H5H:()=>L0,Zy3:()=>_e,mq5:()=>Ty,JZv:()=>Je,LfX:()=>To,plB:()=>rd,jNT:()=>wC,zjR:()=>Bk,TL$:()=>xp,Tbb:()=>pt,rcV:()=>Dl,nM4:()=>I_,Vt3:()=>o0,Mj6:()=>cn,GFd:()=>P_,OA$:()=>Xt,Jv_:()=>VS,aNF:()=>zS,R7$:()=>dg,BMQ:()=>ey,HbH:()=>S0,ZvI:()=>fy,AVh:()=>Fg,vxM:()=>L1,wni:()=>bS,VBU:()=>Vl,FsC:()=>vo,jDH:()=>Wi,G2t:()=>On,$C:()=>Oo,EJ8:()=>Wa,rXU:()=>Ac,nrm:()=>vy,eu8:()=>yy,bVm:()=>jg,qex:()=>O0,k0s:()=>I0,j41:()=>A0,RV6:()=>_y,xGo:()=>xd,Mr5:()=>Cy,pXf:()=>un,KVO:()=>Es,kS0:()=>Ql,QTQ:()=>vb,bIt:()=>_o,lsd:()=>xS,joV:()=>ap,qSk:()=>Ff,XpG:()=>oS,nI1:()=>hk,bMT:()=>dk,i5U:()=>uk,SdG:()=>lS,NAR:()=>aS,Y8G:()=>Ud,FS9:()=>rC,Mz_:()=>Py,lJ4:()=>ZS,eq3:()=>qS,l_i:()=>QS,sMw:()=>JS,ziG:()=>ek,s1E:()=>tk,l4e:()=>ik,sGs:()=>nk,zJS:()=>sk,mGM:()=>yS,sdS:()=>_S,Dyx:()=>E0,Z7z:()=>R1,fX1:()=>P1,Njj:()=>Cc,EBC:()=>lx,tSv:()=>rg,eBV:()=>_c,npT:()=>eg,B4B:()=>ic,n$t:()=>tg,Aen:()=>Pa,xc7:()=>Cf,zvX:()=>wy,DNE:()=>lf,C5r:()=>pk,EFF:()=>IS,JRh:()=>oC,SpI:()=>Ry,Lme:()=>aC,E5c:()=>lC,LHq:()=>cC,DH7:()=>BS,mxI:()=>dC,R50:()=>hC,GBs:()=>vS}),We(10467);let V=null,Le=!1,q=1;const ne=Symbol("SIGNAL");function re(t){const s=V;return V=t,s}const ue={version:0,lastCleanEpoch:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function J(t){if(Le)throw new Error("");if(null===V)return;V.consumerOnSignalRead(t);const s=V.nextProducerIndex++;G(V),st.nextProducerIndex;)t.producerNode.pop(),t.producerLastReadVersion.pop(),t.producerIndexOfThis.pop()}}function A(t){G(t);for(let s=0;s0}function G(t){t.producerNode??=[],t.producerIndexOfThis??=[],t.producerLastReadVersion??=[]}function O(t){t.liveConsumerNode??=[],t.liveConsumerIndexOfThis??=[]}const a=Symbol("UNSET"),g=Symbol("COMPUTING"),v=Symbol("ERRORED"),o={...ue,value:a,dirty:!0,error:null,equal:e,producerMustRecompute:t=>t.value===a||t.value===g,producerRecomputeValue(t){if(t.value===g)throw new Error("Detected cycle in computations.");const s=t.value;t.value=g;const h=P(t);let L;try{L=t.computation()}catch(Q){L=v,t.error=Q}finally{D(t,h)}s!==a&&s!==v&&L!==v&&t.equal(s,L)?t.value=s:(t.value=L,t.version++)}};let r=function n(){throw new Error};function l(){r()}let C=null;function B(t,s){j()||l(),t.equal(t.value,s)||(t.value=s,function U(t){t.version++,function te(){q++}(),E(t),C?.()}(t))}const K={...ue,equal:e,value:void 0};const S=()=>{},$={...ue,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!1,consumerMarkedDirty:t=>{null!==t.schedule&&t.schedule(t.ref)},hasRun:!1,cleanupFn:S};var x=We(21413),N=We(18359),R=We(84412),Z=We(96354);const he="https://g.co/ng/security#xss";class ge extends Error{constructor(s,h){super(_e(s,h)),this.code=s}}function _e(t,s){return`NG0${Math.abs(t)}${s?": "+s:""}`}const Te=Symbol("InputSignalNode#UNSET"),Oe={...K,transformFn:void 0,applyValueToInputSignal(t,s){B(t,s)}};function oe(t,s){const h=Object.create(Oe);function L(){if(J(h),h.value===Te)throw new ge(-950,!1);return h.value}return h.value=t,h.transformFn=s?.transform,L[ne]=h,L}function ee(t){return{toString:t}.toString()}const xe="__parameters__";function Me(t,s,h){return ee(()=>{const L=function Ee(t){return function(...h){if(t){const L=t(...h);for(const Q in L)this[Q]=L[Q]}}}(s);function Q(...fe){if(this instanceof Q)return L.apply(this,fe),this;const Se=new Q(...fe);return Pe.annotation=Se,Pe;function Pe(ze,Qe,dt){const Ct=ze.hasOwnProperty(xe)?ze[xe]:Object.defineProperty(ze,xe,{value:[]})[xe];for(;Ct.length<=dt;)Ct.push(null);return(Ct[dt]=Ct[dt]||[]).push(Se),ze}}return h&&(Q.prototype=Object.create(h.prototype)),Q.prototype.ngMetadataName=t,Q.annotationCls=Q,Q})}const Je=globalThis;function st(t){for(let s in t)if(t[s]===st)return s;throw Error("Could not find renamed property on target object.")}function Tt(t,s){for(const h in s)s.hasOwnProperty(h)&&!t.hasOwnProperty(h)&&(t[h]=s[h])}function pt(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(pt).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const s=t.toString();if(null==s)return""+s;const h=s.indexOf("\n");return-1===h?s:s.substring(0,h)}function ht(t,s){return null==t||""===t?null===s?"":s:null==s||""===s?t:t+" "+s}const Gt=st({__forward_ref__:st});function ti(t){return t.__forward_ref__=ti,t.toString=function(){return pt(this())},t}function Dt(t){return It(t)?t():t}function It(t){return"function"==typeof t&&t.hasOwnProperty(Gt)&&t.__forward_ref__===ti}function Ni(t,s,h){t!=s&&function ki(t,s,h,L){throw new Error(`ASSERTION ERROR: ${t}`+(null==L?"":` [Expected=> ${h} ${L} ${s} <=Actual]`))}(h,t,s,"==")}function Wi(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function On(t){return{providers:t.providers||[],imports:t.imports||[]}}function ar(t){return Wr(t,Rt)||Wr(t,mt)}function To(t){return null!==ar(t)}function Wr(t,s){return t.hasOwnProperty(s)?t[s]:null}function St(t){return t&&(t.hasOwnProperty(Nt)||t.hasOwnProperty(_t))?t[Nt]:null}const Rt=st({\u0275prov:st}),Nt=st({\u0275inj:st}),mt=st({ngInjectableDef:st}),_t=st({ngInjectorDef:st});class $e{constructor(s,h){this._desc=s,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof h?this.__NG_ELEMENT_ID__=h:void 0!==h&&(this.\u0275prov=Wi({token:this,providedIn:h.providedIn||"root",factory:h.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function gn(t){return t&&!!t.\u0275providers}const cs=st({\u0275cmp:st}),sn=st({\u0275dir:st}),Bn=st({\u0275pipe:st}),Er=st({\u0275mod:st}),bs=st({\u0275fac:st}),Un=st({__NG_ELEMENT_ID__:st}),pr=st({__NG_ENV_ID__:st});function Ui(t){return"string"==typeof t?t:null==t?"":String(t)}function go(t,s){throw new ge(-201,!1)}var wn=function(t){return t[t.Default=0]="Default",t[t.Host=1]="Host",t[t.Self=2]="Self",t[t.SkipSelf=4]="SkipSelf",t[t.Optional=8]="Optional",t}(wn||{});let Va;function za(){return Va}function $s(t){const s=Va;return Va=t,s}function ha(t,s,h){const L=ar(t);return L&&"root"==L.providedIn?void 0===L.value?L.value=L.factory():L.value:h&wn.Optional?null:void 0!==s?s:void go()}const wr={},Jr="__NG_DI_FLAG__",Xo="ngTempTokenPath",mo=/\n/gm,Ga="__source";let Tr;function tr(t){const s=Tr;return Tr=t,s}function Ha(t,s=wn.Default){if(void 0===Tr)throw new ge(-203,!1);return null===Tr?ha(t,void 0,s):Tr.get(t,s&wn.Optional?null:void 0,s)}function Es(t,s=wn.Default){return(za()||Ha)(Dt(t),s)}function $i(t,s=wn.Default){return Es(t,Ar(s))}function Ar(t){return typeof t>"u"||"number"==typeof t?t:(t.optional&&8)|(t.host&&1)|(t.self&&2)|(t.skipSelf&&4)}function So(t){const s=[];for(let h=0;hArray.isArray(h)?$r(h,s):s(h))}function Ko(t,s,h){s>=t.length?t.push(h):t.splice(s,0,h)}function Do(t,s){return s>=t.length-1?t.pop():t.splice(s,1)[0]}function Js(t,s,h){let L=Eo(t,s);return L>=0?t[1|L]=h:(L=~L,function va(t,s,h,L){let Q=t.length;if(Q==s)t.push(h,L);else if(1===Q)t.push(L,t[0]),t[0]=h;else{for(Q--,t.push(t[Q-1],t[Q]);Q>s;)t[Q]=t[Q-2],Q--;t[s]=h,t[s+1]=L}}(t,L,s,h)),L}function bo(t,s){const h=Eo(t,s);if(h>=0)return t[1|h]}function Eo(t,s){return function Lc(t,s,h){let L=0,Q=t.length>>h;for(;Q!==L;){const fe=L+(Q-L>>1),Se=t[fe<s?Q=fe:L=fe+1}return~(Q<s){Se=fe-1;break}}}for(;fe-1){let fe;for(;++Qfe?"":Q[dt+1].toLowerCase(),2&L&&Qe!==Ct){if(Vs(L))return!1;Se=!0}}}}else{if(!Se&&!Vs(L)&&!Vs(ze))return!1;if(Se&&Vs(ze))continue;Se=!1,L=ze|1&L}}return Vs(L)||Se}function Vs(t){return!(1&t)}function qo(t,s,h,L){if(null===s)return-1;let Q=0;if(L||!h){let fe=!1;for(;Q-1)for(h++;h0?'="'+Pe+'"':"")+"]"}else 8&L?Q+="."+Se:4&L&&(Q+=" "+Se);else""!==Q&&!Vs(Se)&&(s+=cc(fe,Q),Q=""),L=Se,fe=fe||!Vs(L);h++}return""!==Q&&(s+=cc(fe,Q)),s}function Vl(t){return ee(()=>{const s=Qo(t),h={...s,decls:t.decls,vars:t.vars,template:t.template,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,onPush:t.changeDetection===ol.OnPush,directiveDefs:null,pipeDefs:null,dependencies:s.standalone&&t.dependencies||null,getStandaloneInjector:null,signals:t.signals??!1,data:t.data||{},encapsulation:t.encapsulation||Or.Emulated,styles:t.styles||Dn,_:null,schemas:t.schemas||null,tView:null,id:""};dc(h);const L=t.dependencies;return h.directiveDefs=uc(L,!1),h.pipeDefs=uc(L,!0),h.id=function Sh(t){let s=0;const h=[t.selectors,t.ngContentSelectors,t.hostVars,t.hostAttrs,t.consts,t.vars,t.decls,t.encapsulation,t.standalone,t.signals,t.exportAs,JSON.stringify(t.inputs),JSON.stringify(t.outputs),Object.getOwnPropertyNames(t.type.prototype),!!t.contentQueries,!!t.viewQuery].join("|");for(const Q of h)s=Math.imul(31,s)+Q.charCodeAt(0)|0;return s+=2147483648,"c"+s}(h),h})}function hc(t){return pn(t)||vs(t)}function zl(t){return null!==t}function Oo(t){return ee(()=>({type:t.type,bootstrap:t.bootstrap||Dn,declarations:t.declarations||Dn,imports:t.imports||Dn,exports:t.exports||Dn,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null}))}function Gl(t,s){if(null==t)return Sr;const h={};for(const L in t)if(t.hasOwnProperty(L)){const Q=t[L];let fe,Se,Pe=cn.None;Array.isArray(Q)?(Pe=Q[0],fe=Q[1],Se=Q[2]??fe):(fe=Q,Se=Q),s?(h[fe]=Pe!==cn.None?[L,Pe]:L,s[fe]=Se):h[fe]=L}return h}function vo(t){return ee(()=>{const s=Qo(t);return dc(s),s})}function Wa(t){return{type:t.type,name:t.name,factory:null,pure:!1!==t.pure,standalone:!0===t.standalone,onDestroy:t.type.prototype.ngOnDestroy||null}}function pn(t){return t[cs]||null}function vs(t){return t[sn]||null}function fs(t){return t[Bn]||null}function kr(t){const s=pn(t)||vs(t)||fs(t);return null!==s&&s.standalone}function er(t,s){const h=t[Er]||null;if(!h&&!0===s)throw new Error(`Type ${pt(t)} does not have '\u0275mod' property.`);return h}function Qo(t){const s={};return{type:t.type,providersResolver:null,factory:null,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:s,inputTransforms:null,inputConfig:t.inputs||Sr,exportAs:t.exportAs||null,standalone:!0===t.standalone,signals:!0===t.signals,selectors:t.selectors||Dn,viewQuery:t.viewQuery||null,features:t.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:Gl(t.inputs,s),outputs:Gl(t.outputs),debugInfo:null}}function dc(t){t.features?.forEach(s=>s(t))}function uc(t,s){if(!t)return null;const h=s?fs:hc;return()=>("function"==typeof t?t():t).map(L=>h(L)).filter(zl)}function Jo(t){return{\u0275providers:t}}function pc(...t){return{\u0275providers:cl(0,t),\u0275fromNgModule:!0}}function cl(t,...s){const h=[],L=new Set;let Q;const fe=Se=>{h.push(Se)};return $r(s,Se=>{const Pe=Se;Hl(Pe,fe,[],L)&&(Q||=[],Q.push(Pe))}),void 0!==Q&&Pc(Q,fe),h}function Pc(t,s){for(let h=0;h{s(fe,L)})}}function Hl(t,s,h,L){if(!(t=Dt(t)))return!1;let Q=null,fe=St(t);const Se=!fe&&pn(t);if(fe||Se){if(Se&&!Se.standalone)return!1;Q=t}else{const ze=t.ngModule;if(fe=St(ze),!fe)return!1;Q=ze}const Pe=L.has(Q);if(Se){if(Pe)return!1;if(L.add(Q),Se.dependencies){const ze="function"==typeof Se.dependencies?Se.dependencies():Se.dependencies;for(const Qe of ze)Hl(Qe,s,h,L)}}else{if(!fe)return!1;{if(null!=fe.imports&&!Pe){let Qe;L.add(Q);try{$r(fe.imports,dt=>{Hl(dt,s,h,L)&&(Qe||=[],Qe.push(dt))})}finally{}void 0!==Qe&&Pc(Qe,s)}if(!Pe){const Qe=Ir(Q)||(()=>new Q);s({provide:Q,useFactory:Qe,deps:Dn},Q),s({provide:Io,useValue:Q,multi:!0},Q),s({provide:Ao,useValue:()=>Es(Q),multi:!0},Q)}const ze=fe.providers;if(null!=ze&&!Pe){const Qe=t;Lo(ze,dt=>{s(dt,Qe)})}}}return Q!==t&&void 0!==t.providers}function Lo(t,s){for(let h of t)gn(h)&&(h=h.\u0275providers),Array.isArray(h)?Lo(h,s):s(h)}const Nc=st({provide:String,useValue:st});function Ul(t){return null!==t&&"object"==typeof t&&Nc in t}function Po(t){return"function"==typeof t}const Hs=new $e(""),Xs={},ta={};let hl;function xa(){return void 0===hl&&(hl=new hr),hl}class Xr{}class _a extends Xr{get destroyed(){return this._destroyed}constructor(s,h,L,Q){super(),this.parent=h,this.source=L,this.scopes=Q,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,na(s,Se=>this.processProvider(Se)),this.records.set(ya,Ca(void 0,this)),Q.has("environment")&&this.records.set(Xr,Ca(void 0,this));const fe=this.records.get(Hs);null!=fe&&"string"==typeof fe.value&&this.scopes.add(fe.value),this.injectorDefTypes=new Set(this.get(Io,Dn,wn.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;const s=re(null);try{for(const L of this._ngOnDestroyHooks)L.ngOnDestroy();const h=this._onDestroyHooks;this._onDestroyHooks=[];for(const L of h)L()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),re(s)}}onDestroy(s){return this.assertNotDestroyed(),this._onDestroyHooks.push(s),()=>this.removeOnDestroy(s)}runInContext(s){this.assertNotDestroyed();const h=tr(this),L=$s(void 0);try{return s()}finally{tr(h),$s(L)}}get(s,h=wr,L=wn.Default){if(this.assertNotDestroyed(),s.hasOwnProperty(pr))return s[pr](this);L=Ar(L);const fe=tr(this),Se=$s(void 0);try{if(!(L&wn.SkipSelf)){let ze=this.records.get(s);if(void 0===ze){const Qe=function Yr(t){return"function"==typeof t||"object"==typeof t&&t instanceof $e}(s)&&ar(s);ze=Qe&&this.injectableDefInScope(Qe)?Ca(ia(s),Xs):null,this.records.set(s,ze)}if(null!=ze)return this.hydrate(s,ze)}return(L&wn.Self?xa():this.parent).get(s,h=L&wn.Optional&&h===wr?null:h)}catch(Pe){if("NullInjectorError"===Pe.name){if((Pe[Xo]=Pe[Xo]||[]).unshift(pt(s)),fe)throw Pe;return function ua(t,s,h,L){const Q=t[Xo];throw s[Ga]&&Q.unshift(s[Ga]),t.message=function pa(t,s,h,L=null){t=t&&"\n"===t.charAt(0)&&"\u0275"==t.charAt(1)?t.slice(2):t;let Q=pt(s);if(Array.isArray(s))Q=s.map(pt).join(" -> ");else if("object"==typeof s){let fe=[];for(let Se in s)if(s.hasOwnProperty(Se)){let Pe=s[Se];fe.push(Se+":"+("string"==typeof Pe?JSON.stringify(Pe):pt(Pe)))}Q=`{${fe.join(", ")}}`}return`${h}${L?"("+L+")":""}[${Q}]: ${t.replace(mo,"\n ")}`}("\n"+t.message,Q,h,L),t.ngTokenPath=Q,t[Xo]=null,t}(Pe,s,"R3InjectorError",this.source)}throw Pe}finally{$s(Se),tr(fe)}}resolveInjectorInitializers(){const s=re(null),h=tr(this),L=$s(void 0);try{const fe=this.get(Ao,Dn,wn.Self);for(const Se of fe)Se()}finally{tr(h),$s(L),re(s)}}toString(){const s=[],h=this.records;for(const L of h.keys())s.push(pt(L));return`R3Injector[${s.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new ge(205,!1)}processProvider(s){let h=Po(s=Dt(s))?s:Dt(s&&s.provide);const L=function Dh(t){return Ul(t)?Ca(void 0,t.useValue):Ca(Wl(t),Xs)}(s);if(!Po(s)&&!0===s.multi){let Q=this.records.get(h);Q||(Q=Ca(void 0,Xs,!0),Q.factory=()=>So(Q.multi),this.records.set(h,Q)),h=s,Q.multi.push(s)}this.records.set(h,L)}hydrate(s,h){const L=re(null);try{return h.value===Xs&&(h.value=ta,h.value=h.factory()),"object"==typeof h.value&&h.value&&function dl(t){return null!==t&&"object"==typeof t&&"function"==typeof t.ngOnDestroy}(h.value)&&this._ngOnDestroyHooks.add(h.value),h.value}finally{re(L)}}injectableDefInScope(s){if(!s.providedIn)return!1;const h=Dt(s.providedIn);return"string"==typeof h?"any"===h||this.scopes.has(h):this.injectorDefTypes.has(h)}removeOnDestroy(s){const h=this._onDestroyHooks.indexOf(s);-1!==h&&this._onDestroyHooks.splice(h,1)}}function ia(t){const s=ar(t),h=null!==s?s.factory:Ir(t);if(null!==h)return h;if(t instanceof $e)throw new ge(204,!1);if(t instanceof Function)return function kh(t){if(t.length>0)throw new ge(204,!1);const h=function Cr(t){return t&&(t[Rt]||t[mt])||null}(t);return null!==h?()=>h.factory(t):()=>new t}(t);throw new ge(204,!1)}function Wl(t,s,h){let L;if(Po(t)){const Q=Dt(t);return Ir(Q)||ia(Q)}if(Ul(t))L=()=>Dt(t.useValue);else if(function Fc(t){return!(!t||!t.useFactory)}(t))L=()=>t.useFactory(...So(t.deps||[]));else if(function As(t){return!(!t||!t.useExisting)}(t))L=()=>Es(Dt(t.useExisting));else{const Q=Dt(t&&(t.useClass||t.provide));if(!function Mh(t){return!!t.deps}(t))return Ir(Q)||ia(Q);L=()=>new Q(...So(t.deps))}return L}function Ca(t,s,h=!1){return{factory:t,value:s,multi:h?[]:void 0}}function na(t,s){for(const h of t)Array.isArray(h)?na(h,s):h&&gn(h)?na(h.\u0275providers,s):s(h)}function $l(t,s){t instanceof _a&&t.assertNotDestroyed();const L=tr(t),Q=$s(void 0);try{return s()}finally{tr(L),$s(Q)}}function fc(){return void 0!==za()||null!=function fr(){return Tr}()}function Ge(t){if(!fc())throw new ge(-203,!1)}const Zn=0,gi=1,Bi=2,En=3,ks=4,Us=5,mr=6,ul=7,jn=8,br=9,Ro=10,Qi=11,No=12,Xl=13,ws=14,Is=15,pl=16,Yl=17,Kr=18,Kl=19,wa=20,yo=21,Zr=22,$a=23,rn=25,Bc=1,Fo=7,Xa=9,Ys=10;var Eh=function(t){return t[t.None=0]="None",t[t.HasTransplantedViews=2]="HasTransplantedViews",t}(Eh||{});function Pr(t){return Array.isArray(t)&&"object"==typeof t[Bc]}function Gs(t){return Array.isArray(t)&&!0===t[Bc]}function jc(t){return!!(4&t.flags)}function Bo(t){return t.componentOffset>-1}function fl(t){return!(1&~t.flags)}function no(t){return!!t.template}function Vc(t){return!!(512&t[Bi])}class Ot{constructor(s,h,L){this.previousValue=s,this.currentValue=h,this.firstChange=L}isFirstChange(){return this.firstChange}}function qt(t,s,h,L){null!==s?s.applyValueToInputSignal(s,L):t[h]=L}function Xt(){return Ei}function Ei(t){return t.type.prototype.ngOnChanges&&(t.setInput=bn),on}function on(){const t=gl(this),s=t?.current;if(s){const h=t.previous;if(h===Sr)t.previous=s;else for(let L in s)h[L]=s[L];t.current=null,this.ngOnChanges(s)}}function bn(t,s,h,L,Q){const fe=this.declaredInputs[L],Se=gl(t)||function ml(t,s){return t[Os]=s}(t,{previous:Sr,current:null}),Pe=Se.current||(Se.current={}),ze=Se.previous,Qe=ze[fe];Pe[fe]=new Ot(Qe&&Qe.currentValue,h,ze===Sr),qt(t,s,Q,h)}Xt.ngInherit=!0;const Os="__ngSimpleChanges__";function gl(t){return t[Os]||null}const Ks=function(t,s,h){},dd="svg";let Yu=!1;function Ts(t){for(;Array.isArray(t);)t=t[Zn];return t}function Ph(t,s){return Ts(s[t])}function so(t,s){return Ts(s[t.index])}function Rh(t,s){return t.data[s]}function Uc(t,s){return t[s]}function jo(t,s){const h=s[t];return Pr(h)?h:h[Zn]}function bl(t){return!(128&~t[Bi])}function Ka(t,s){return null==s?null:t[s]}function Zu(t){t[Yl]=0}function If(t){1024&t[Bi]||(t[Bi]|=1024,bl(t)&&Xc(t))}function Nh(t){return!!(9216&t[Bi]||t[$a]?.dirty)}function $c(t){t[Ro].changeDetectionScheduler?.notify(1),Nh(t)?Xc(t):64&t[Bi]&&(function Ef(){return Yu}()?(t[Bi]|=1024,Xc(t)):t[Ro].changeDetectionScheduler?.notify())}function Xc(t){t[Ro].changeDetectionScheduler?.notify();let s=Za(t);for(;null!==s&&!(8192&s[Bi])&&(s[Bi]|=8192,bl(s));)s=Za(s)}function qr(t,s){if(!(256&~t[Bi]))throw new ge(911,!1);null===t[yo]&&(t[yo]=[]),t[yo].push(s)}function Za(t){const s=t[En];return Gs(s)?s[En]:s}const nn={lFrame:jh(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function xc(){return nn.bindingsEnabled}function qa(){return null!==nn.skipHydrationRootTNode}function ni(){return nn.lFrame.lView}function Tn(){return nn.lFrame.tView}function _c(t){return nn.lFrame.contextLView=t,t[jn]}function Cc(t){return nn.lFrame.contextLView=null,t}function ds(){let t=Yc();for(;null!==t&&64===t.type;)t=t.parent;return t}function Yc(){return nn.lFrame.currentTNode}function sa(){const t=nn.lFrame,s=t.currentTNode;return t.isParent?s:s.parent}function ra(t,s){const h=nn.lFrame;h.currentTNode=t,h.isParent=s}function eu(){return nn.lFrame.isParent}function tu(){nn.lFrame.isParent=!1}function ro(){const t=nn.lFrame;let s=t.bindingRootIndex;return-1===s&&(s=t.bindingRootIndex=t.tView.bindingStartIndex),s}function yl(){return nn.lFrame.bindingIndex}function Ta(){return nn.lFrame.bindingIndex++}function xl(t){const s=nn.lFrame,h=s.bindingIndex;return s.bindingIndex=s.bindingIndex+t,h}function sp(t){nn.lFrame.inI18n=t}function Rf(t,s){const h=nn.lFrame;h.bindingIndex=h.bindingRootIndex=t,pd(s)}function pd(t){nn.lFrame.currentDirectiveIndex=t}function Bh(t){const s=nn.lFrame.currentDirectiveIndex;return-1===s?null:t[s]}function oo(){return nn.lFrame.currentQueryIndex}function wc(t){nn.lFrame.currentQueryIndex=t}function Nf(t){const s=t[gi];return 2===s.type?s.declTNode:1===s.type?t[Us]:null}function _l(t,s,h){if(h&wn.SkipSelf){let Q=s,fe=t;for(;!(Q=Q.parent,null!==Q||h&wn.Host||(Q=Nf(fe),null===Q||(fe=fe[ws],10&Q.type))););if(null===Q)return!1;s=Q,t=fe}const L=nn.lFrame=rp();return L.currentTNode=s,L.lView=t,!0}function ao(t){const s=rp(),h=t[gi];nn.lFrame=s,s.currentTNode=h.firstChild,s.lView=t,s.tView=h,s.contextLView=t,s.bindingIndex=h.bindingStartIndex,s.inI18n=!1}function rp(){const t=nn.lFrame,s=null===t?null:t.child;return null===s?jh(t):s}function jh(t){const s={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:t,child:null,inI18n:!1};return null!==t&&(t.child=s),s}function Kc(){const t=nn.lFrame;return nn.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const nu=Kc;function fd(){const t=Kc();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function Rr(){return nn.lFrame.selectedIndex}function Zc(t){nn.lFrame.selectedIndex=t}function Ss(){const t=nn.lFrame;return Rh(t.tView,t.selectedIndex)}function Ff(){nn.lFrame.currentNamespace=dd}function ap(){!function ru(){nn.lFrame.currentNamespace=null}()}let qc=!0;function Qa(){return qc}function Nr(t){qc=t}function Sa(t,s){for(let h=s.directiveStart,L=s.directiveEnd;h=L)break}else s[ze]<0&&(t[Yl]+=65536),(Pe>14>16&&(3&t[Bi])===s&&(t[Bi]+=16384,Cl(Pe,fe)):Cl(Pe,fe)}const Tc=-1;class Qc{constructor(s,h,L){this.factory=s,this.resolving=!1,this.canSeeViewProviders=h,this.injectImpl=L}}function eh(t){return t!==Tc}function Ja(t){return 32767&t}function el(t,s){let h=function hp(t){return t>>16}(t),L=s;for(;h>0;)L=L[ws],h--;return L}let Fr=!0;function kc(t){const s=Fr;return Fr=t,s}const th=255,wl=5;let ka=0;const Br={};function ih(t,s){const h=lo(t,s);if(-1!==h)return h;const L=s[gi];L.firstCreatePass&&(t.injectorIndex=s.length,gd(L.data,t),gd(s,null),gd(L.blueprint,null));const Q=Wh(t,s),fe=t.injectorIndex;if(eh(Q)){const Se=Ja(Q),Pe=el(Q,s),ze=Pe[gi].data;for(let Qe=0;Qe<8;Qe++)s[fe+Qe]=Pe[Se+Qe]|ze[Se+Qe]}return s[fe+8]=Q,fe}function gd(t,s){t.push(0,0,0,0,0,0,0,0,s)}function lo(t,s){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===s[t.injectorIndex+8]?-1:t.injectorIndex}function Wh(t,s){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let h=0,L=null,Q=s;for(;null!==Q;){if(L=du(Q),null===L)return Tc;if(h++,Q=Q[ws],-1!==L.injectorIndex)return L.injectorIndex|h<<16}return Tc}function nh(t,s,h){!function lu(t,s,h){let L;"string"==typeof h?L=h.charCodeAt(0)||0:h.hasOwnProperty(Un)&&(L=h[Un]),null==L&&(L=h[Un]=ka++);const Q=L&th;s.data[t+(Q>>wl)]|=1<=0?s&th:jf:s}(h);if("function"==typeof fe){if(!_l(s,t,L))return L&wn.Host?md(Q,0,L):bd(s,h,L,Q);try{let Se;if(Se=fe(L),null!=Se||L&wn.Optional)return Se;go()}finally{nu()}}else if("number"==typeof fe){let Se=null,Pe=lo(t,s),ze=Tc,Qe=L&wn.Host?s[Is][Us]:null;for((-1===Pe||L&wn.SkipSelf)&&(ze=-1===Pe?Wh(t,s):s[Pe+8],ze!==Tc&&Xh(L,!1)?(Se=s[gi],Pe=Ja(ze),s=el(ze,s)):Pe=-1);-1!==Pe;){const dt=s[gi];if(hu(fe,Pe,dt.data)){const Ct=yd(Pe,s,h,Se,L,Qe);if(Ct!==Br)return Ct}ze=s[Pe+8],ze!==Tc&&Xh(L,s[gi].data[Pe+8]===Qe)&&hu(fe,Pe,s)?(Se=dt,Pe=Ja(ze),s=el(ze,s)):Pe=-1}}return Q}function yd(t,s,h,L,Q,fe){const Se=s[gi],Pe=Se.data[t+8],dt=rh(Pe,Se,h,null==L?Bo(Pe)&&Fr:L!=Se&&!!(3&Pe.type),Q&wn.Host&&fe===Pe);return null!==dt?ql(s,Se,dt,Pe):Br}function rh(t,s,h,L,Q){const fe=t.providerIndexes,Se=s.data,Pe=1048575&fe,ze=t.directiveStart,dt=fe>>20,jt=Q?Pe+dt:t.directiveEnd;for(let Ht=L?Pe:Pe+dt;Ht=ze&&Kt.type===h)return Ht}if(Q){const Ht=Se[ze];if(Ht&&no(Ht)&&Ht.type===h)return ze}return null}function ql(t,s,h,L){let Q=t[h];const fe=s.data;if(function Gh(t){return t instanceof Qc}(Q)){const Se=Q;Se.resolving&&function Fa(t,s){throw s&&s.join(" > "),new ge(-200,t)}(function ln(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():Ui(t)}(fe[h]));const Pe=kc(Se.canSeeViewProviders);Se.resolving=!0;const Qe=Se.injectImpl?$s(Se.injectImpl):null;_l(t,L,wn.Default);try{Q=t[h]=Se.factory(void 0,fe,t,L),s.firstCreatePass&&h>=L.directiveStart&&function Zl(t,s,h){const{ngOnChanges:L,ngOnInit:Q,ngDoCheck:fe}=s.type.prototype;if(L){const Se=Ei(s);(h.preOrderHooks??=[]).push(t,Se),(h.preOrderCheckHooks??=[]).push(t,Se)}Q&&(h.preOrderHooks??=[]).push(0-t,Q),fe&&((h.preOrderHooks??=[]).push(t,fe),(h.preOrderCheckHooks??=[]).push(t,fe))}(h,fe[h],s)}finally{null!==Qe&&$s(Qe),kc(Pe),Se.resolving=!1,nu()}}return Q}function hu(t,s,h){return!!(h[s+(t>>wl)]&1<{const s=t.prototype.constructor,h=s[bs]||_d(s),L=Object.prototype;let Q=Object.getPrototypeOf(t.prototype).constructor;for(;Q&&Q!==L;){const fe=Q[bs]||_d(Q);if(fe&&fe!==h)return fe;Q=Object.getPrototypeOf(Q)}return fe=>new fe})}function _d(t){return It(t)?()=>{const s=_d(Dt(t));return s&&s()}:Ir(t)}function du(t){const s=t[gi],h=s.type;return 2===h?s.declTNode:1===h?t[Us]:null}function Ql(t){return function $h(t,s){if("class"===s)return t.classes;if("style"===s)return t.styles;const h=t.attrs;if(h){const L=h.length;let Q=0;for(;Q{class t{static#e=this.THROW_IF_NOT_FOUND=wr;static#t=this.NULL=new hr;static create(h,L){if(Array.isArray(h))return Yh({name:""},L,h,"");{const Q=h.name??"";return Yh({name:Q},h.parent,h.providers,Q)}}static#i=this.\u0275prov=Wi({token:t,providedIn:"any",factory:()=>Es(ya)});static#n=this.__NG_ELEMENT_ID__=-1}return t})();function Td(t){return t.ngOriginalError}class Sl{constructor(){this._console=console}handleError(s){const h=this._findOriginalError(s);this._console.error("ERROR",s),h&&this._console.error("ORIGINAL ERROR",h)}_findOriginalError(s){let h=s&&Td(s);for(;h&&Td(h);)h=Td(h);return h||null}}const hh=new $e("",{providedIn:"root",factory:()=>$i(Sl).handleError.bind(void 0)});let ec=(()=>{class t{static#e=this.__NG_ELEMENT_ID__=Hf;static#t=this.__NG_ENV_ID__=h=>h}return t})();class Gf extends ec{constructor(s){super(),this._lView=s}onDestroy(s){return qr(this._lView,s),()=>function Ds(t,s){if(null===t[yo])return;const h=t[yo].indexOf(s);-1!==h&&t[yo].splice(h,1)}(this._lView,s)}}function Hf(){return new Gf(ni())}function gu(t,s){return oe(t,s)}const Uf=(gu.required=function qg(t){return oe(Te,t)},gu);function bp(){return kl(ds(),ni())}function kl(t,s){return new dh(so(t,s))}let dh=(()=>{class t{constructor(h){this.nativeElement=h}static#e=this.__NG_ELEMENT_ID__=bp}return t})();function qh(t){return t instanceof dh?t.nativeElement:t}function Qh(t){return s=>{setTimeout(t,void 0,s)}}const co=class vp extends x.B{constructor(s=!1){super(),this.destroyRef=void 0,this.__isAsync=s,fc()&&(this.destroyRef=$i(ec,{optional:!0})??void 0)}emit(s){const h=re(null);try{super.next(s)}finally{re(h)}}subscribe(s,h,L){let Q=s,fe=h||(()=>null),Se=L;if(s&&"object"==typeof s){const ze=s;Q=ze.next?.bind(ze),fe=ze.error?.bind(ze),Se=ze.complete?.bind(ze)}this.__isAsync&&(fe=Qh(fe),Q&&(Q=Qh(Q)),Se&&(Se=Qh(Se)));const Pe=super.subscribe({next:Q,error:fe,complete:Se});return s instanceof N.yU&&s.add(Pe),Pe}};function Sd(){return this._results[Symbol.iterator]()}class Jh{static#e=Symbol.iterator;get changes(){return this._changes??=new co}constructor(s=!1){this._emitDistinctChangesOnly=s,this.dirty=!0,this._onDirty=void 0,this._results=[],this._changesDetected=!1,this._changes=void 0,this.length=0,this.first=void 0,this.last=void 0;const h=Jh.prototype;h[Symbol.iterator]||(h[Symbol.iterator]=Sd)}get(s){return this._results[s]}map(s){return this._results.map(s)}filter(s){return this._results.filter(s)}find(s){return this._results.find(s)}reduce(s,h){return this._results.reduce(s,h)}forEach(s){this._results.forEach(s)}some(s){return this._results.some(s)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(s,h){this.dirty=!1;const L=function es(t){return t.flat(Number.POSITIVE_INFINITY)}(s);(this._changesDetected=!function cr(t,s,h){if(t.length!==s.length)return!1;for(let L=0;LCp}),Cp="ng",mu=new $e(""),wp=new $e("",{providedIn:"platform",factory:()=>"unknown"}),Wf=new $e(""),Tp=new $e("",{providedIn:"root",factory:()=>Ma().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Ls=()=>null;function rs(t,s,h=!1){return Ls(t,s,h)}const Yi=new $e("",{providedIn:"root",factory:()=>!1});let Ji,dr;function en(t){return function _n(){if(void 0===Ji&&(Ji=null,Je.trustedTypes))try{Ji=Je.trustedTypes.createPolicy("angular",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch{}return Ji}()?.createHTML(t)||t}function ho(){if(void 0===dr&&(dr=null,Je.trustedTypes))try{dr=Je.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch{}return dr}function sr(t){return ho()?.createHTML(t)||t}function la(t){return ho()?.createScriptURL(t)||t}class Ns{constructor(s){this.changingThisBreaksApplicationSecurity=s}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${he})`}}class Ea extends Ns{getTypeName(){return"HTML"}}class kp extends Ns{getTypeName(){return"Style"}}class $f extends Ns{getTypeName(){return"Script"}}class Xf extends Ns{getTypeName(){return"URL"}}class Dp extends Ns{getTypeName(){return"ResourceURL"}}function Dl(t){return t instanceof Ns?t.changingThisBreaksApplicationSecurity:t}function tc(t,s){const h=function Yf(t){return t instanceof Ns&&t.getTypeName()||null}(t);if(null!=h&&h!==s){if("ResourceURL"===h&&"URL"===s)return!0;throw new Error(`Required a safe ${s}, got a ${h} (see ${he})`)}return h===s}function Kf(t){return new Ea(t)}function Jg(t){return new kp(t)}function z0(t){return new $f(t)}function em(t){return new Xf(t)}function bu(t){return new Dp(t)}function Ed(t){const s=new Go(t);return function Ho(){try{return!!(new window.DOMParser).parseFromString(en(""),"text/html")}catch{return!1}}()?new G0(s):s}class G0{constructor(s){this.inertDocumentHelper=s}getInertBodyElement(s){s=""+s;try{const h=(new window.DOMParser).parseFromString(en(s),"text/html").body;return null===h?this.inertDocumentHelper.getInertBodyElement(s):(h.removeChild(h.firstChild),h)}catch{return null}}}class Go{constructor(s){this.defaultDoc=s,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(s){const h=this.inertDocument.createElement("template");return h.innerHTML=en(s),h}}const H0=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function vu(t){return(t=String(t)).match(H0)?t:"unsafe:"+t}function Ml(t){const s={};for(const h of t.split(","))s[h]=!0;return s}function td(...t){const s={};for(const h of t)for(const L in h)h.hasOwnProperty(L)&&(s[L]=!0);return s}const U0=Ml("area,br,col,hr,img,wbr"),Ec=Ml("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),tm=Ml("rp,rt"),Ad=td(U0,td(Ec,Ml("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),td(tm,Ml("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),td(tm,Ec)),im=Ml("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Zf=td(im,Ml("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Ml("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),Zy=Ml("script,style,template");class zC{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(s){let h=s.firstChild,L=!0,Q=[];for(;h;)if(h.nodeType===Node.ELEMENT_NODE?L=this.startElement(h):h.nodeType===Node.TEXT_NODE?this.chars(h.nodeValue):this.sanitizedSomething=!0,L&&h.firstChild)Q.push(h),h=HC(h);else for(;h;){h.nodeType===Node.ELEMENT_NODE&&this.endElement(h);let fe=GC(h);if(fe){h=fe;break}h=Q.pop()}return this.buf.join("")}startElement(s){const h=qf(s).toLowerCase();if(!Ad.hasOwnProperty(h))return this.sanitizedSomething=!0,!Zy.hasOwnProperty(h);this.buf.push("<"),this.buf.push(h);const L=s.attributes;for(let Q=0;Q"),!0}endElement(s){const h=qf(s).toLowerCase();Ad.hasOwnProperty(h)&&!U0.hasOwnProperty(h)&&(this.buf.push(""))}chars(s){this.buf.push(W0(s))}}function GC(t){const s=t.nextSibling;if(s&&t!==s.previousSibling)throw yu(s);return s}function HC(t){const s=t.firstChild;if(s&&function qy(t,s){return(t.compareDocumentPosition(s)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}(t,s))throw yu(s);return s}function qf(t){const s=t.nodeName;return"string"==typeof s?s:"FORM"}function yu(t){return new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`)}const Qy=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,nm=/([^\#-~ |!])/g;function W0(t){return t.replace(/&/g,"&").replace(Qy,function(s){return"&#"+(1024*(s.charCodeAt(0)-55296)+(s.charCodeAt(1)-56320)+65536)+";"}).replace(nm,function(s){return"&#"+s.charCodeAt(0)+";"}).replace(//g,">")}let Qf;function $0(t,s){let h=null;try{Qf=Qf||Ed(t);let L=s?String(s):"";h=Qf.getInertBodyElement(L);let Q=5,fe=L;do{if(0===Q)throw new Error("Failed to sanitize html because the input is unstable");Q--,L=fe,fe=h.innerHTML,h=Qf.getInertBodyElement(L)}while(L!==fe);return en((new zC).sanitizeChildren(sm(h)||h))}finally{if(h){const L=sm(h)||h;for(;L.firstChild;)L.removeChild(L.firstChild)}}}function sm(t){return"content"in t&&function Jf(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}var Id=function(t){return t[t.NONE=0]="NONE",t[t.HTML=1]="HTML",t[t.STYLE=2]="STYLE",t[t.SCRIPT=3]="SCRIPT",t[t.URL=4]="URL",t[t.RESOURCE_URL=5]="RESOURCE_URL",t}(Id||{});function eg(t){const s=ur();return s?sr(s.sanitize(Id.HTML,t)||""):tc(t,"HTML")?sr(Dl(t)):$0(Ma(),Ui(t))}function ic(t){const s=ur();return s?s.sanitize(Id.URL,t)||"":tc(t,"URL")?Dl(t):vu(Ui(t))}function tl(t){const s=ur();if(s)return la(s.sanitize(Id.RESOURCE_URL,t)||"");if(tc(t,"ResourceURL"))return la(Dl(t));throw new ge(904,!1)}function tg(t,s,h){return function X0(t,s){return"src"===s&&("embed"===t||"frame"===t||"iframe"===t||"media"===t||"script"===t)||"href"===s&&("base"===t||"link"===t)?tl:ic}(s,h)(t)}function ur(){const t=ni();return t&&t[Ro].sanitizer}const ig=/^>|^->||--!>|)/g,xu="\u200b$1\u200b";const Mp=new Map;let XC=0;const fh="__ngContext__";function uo(t,s){Pr(s)?(t[fh]=s[Kl],function YC(t){Mp.set(t[Kl],t)}(s)):t[fh]=s}function rg(t){return t.ownerDocument.defaultView}function lx(t){return t.ownerDocument}function Uo(t){return t instanceof Function?t():t}var _u=function(t){return t[t.Important=1]="Important",t[t.DashCase=2]="DashCase",t}(_u||{});let nc;function ob(t,s){return nc(t,s)}function Ip(t,s,h,L,Q){if(null!=L){let fe,Se=!1;Gs(L)?fe=L:Pr(L)&&(Se=!0,L=L[Zn]);const Pe=Ts(L);0===t&&null!==h?null==Q?mm(s,h,Pe):wu(s,h,Pe,Q||null,!0):1===t&&null!==h?wu(s,h,Pe,Q||null,!0):2===t?function cg(t,s,h){const L=Pp(t,s);L&&function hw(t,s,h,L){t.removeChild(s,h,L)}(t,L,s,h)}(s,Pe,Se):3===t&&s.destroyNode(Pe),null!=fe&&function xm(t,s,h,L,Q){const fe=h[Fo];fe!==Ts(h)&&Ip(s,t,L,fe,Q);for(let Pe=Ys;Pes.replace(UC,xu))}(s))}function fm(t,s,h){return t.createElement(s,h)}function Op(t,s){s[Ro].changeDetectionScheduler?.notify(1),Rp(t,s,s[Qi],2,null,null)}function cb(t,s){const h=t[Xa],L=h.indexOf(s);h.splice(L,1)}function Lp(t,s){if(t.length<=Ys)return;const h=Ys+s,L=t[h];if(L){const Q=L[pl];null!==Q&&Q!==t&&cb(Q,L),s>0&&(t[h-1][ks]=L[ks]);const fe=Do(t,Ys+s);!function Pd(t,s){Op(t,s),s[Zn]=null,s[Us]=null}(L[gi],L);const Se=fe[Kr];null!==Se&&Se.detachView(fe[gi]),L[En]=null,L[ks]=null,L[Bi]&=-129}return L}function gm(t,s){if(!(256&s[Bi])){const h=s[Qi];h.destroyNode&&Rp(t,s,h,3,null,null),function cx(t){let s=t[No];if(!s)return hb(t[gi],t);for(;s;){let h=null;if(Pr(s))h=s[No];else{const L=s[Ys];L&&(h=L)}if(!h){for(;s&&!s[ks]&&s!==t;)Pr(s)&&hb(s[gi],s),s=s[En];null===s&&(s=t),Pr(s)&&hb(s[gi],s),h=s&&s[ks]}s=h}}(s)}}function hb(t,s){if(256&s[Bi])return;const h=re(null);try{s[Bi]&=-129,s[Bi]|=256,s[$a]&&I(s[$a]),function cw(t,s){let h;if(null!=t&&null!=(h=t.destroyHooks))for(let L=0;L=0?L[Se]():L[-Se].unsubscribe(),fe+=2}else h[fe].call(L[h[fe+1]]);null!==L&&(s[ul]=null);const Q=s[yo];if(null!==Q){s[yo]=null;for(let fe=0;fe-1){const{encapsulation:fe}=t.data[L.directiveStart+Q];if(fe===Or.None||fe===Or.Emulated)return null}return so(L,h)}}function wu(t,s,h,L,Q){t.insertBefore(s,h,L,Q)}function mm(t,s,h){t.appendChild(s,h)}function bm(t,s,h,L,Q){null!==L?wu(t,s,h,L,Q):mm(t,s,h)}function Pp(t,s){return t.parentNode(s)}function ub(t,s,h){return Rd(t,s,h)}function pb(t,s,h){return 40&t.type?so(t,h):null}let vm,Rd=pb;function fb(t,s){Rd=t,vm=s}function ym(t,s,h,L){const Q=db(t,L,s),fe=s[Qi],Pe=ub(L.parent||s[Us],L,s);if(null!=Q)if(Array.isArray(h))for(let ze=0;zern&&ug(t,s,rn,!1),Ks(Se?2:0,Q),h(L,Q)}finally{Zc(fe),Ks(Se?3:1,Q)}}function Nd(t,s,h){if(jc(s)){const L=re(null);try{const fe=s.directiveEnd;for(let Se=s.directiveStart;Senull;function Sm(t,s,h,L,Q){for(let fe in s){if(!s.hasOwnProperty(fe))continue;const Se=s[fe];if(void 0===Se)continue;L??={};let Pe,ze=cn.None;Array.isArray(Se)?(Pe=Se[0],ze=Se[1]):Pe=Se;let Qe=fe;if(null!==Q){if(!Q.hasOwnProperty(fe))continue;Qe=Q[fe]}0===t?Tb(L,h,Qe,Pe,ze):Tb(L,h,Qe,Pe)}return L}function Tb(t,s,h,L,Q){let fe;t.hasOwnProperty(h)?(fe=t[h]).push(s,L):fe=t[h]=[s,L],void 0!==Q&&fe.push(Q)}function Aa(t,s,h,L,Q,fe,Se,Pe){const ze=so(s,h);let dt,Qe=s.inputs;!Pe&&null!=Qe&&(dt=Qe[L])?(Am(t,h,dt,L,Q),Bo(s)&&function _x(t,s){const h=jo(s,t);16&h[Bi]||(h[Bi]|=64)}(h,s.index)):3&s.type&&(L=function xx(t){return"class"===t?"className":"for"===t?"htmlFor":"formaction"===t?"formAction":"innerHtml"===t?"innerHTML":"readonly"===t?"readOnly":"tabindex"===t?"tabIndex":t}(L),Q=null!=Se?Se(Q,s.value||"",L):Q,fe.setProperty(ze,L,Q))}function fg(t,s,h,L){if(xc()){const Q=null===L?null:{"":-1},fe=function kx(t,s){const h=t.directiveRegistry;let L=null,Q=null;if(h)for(let fe=0;fe0;){const h=t[--s];if("number"==typeof h&&h<0)return h}return 0})(Se)!=Pe&&Se.push(Pe),Se.push(h,L,fe)}}(t,s,L,Fp(t,h,Q.hostVars,Pn),Q)}function Ic(t,s,h,L,Q,fe){const Se=so(t,s);!function Dm(t,s,h,L,Q,fe,Se){if(null==fe)t.removeAttribute(s,Q,h);else{const Pe=null==Se?Ui(fe):Se(fe,L||"",Q);t.setAttribute(s,Q,Pe,h)}}(s[Qi],Se,fe,t.value,h,L,Q)}function Ix(t,s,h,L,Q,fe){const Se=fe[s];if(null!==Se)for(let Pe=0;Pe0&&(h[Q-1][ks]=s),L{Xc(t.lView)},consumerOnSignalRead(){this.lView[$a]=this}};function Bb(t){return Lm(t[No])}function jb(t){return Lm(t[ks])}function Lm(t){for(;null!==t&&!Gs(t);)t=t[ks];return t}const Bx=100;function Gp(t,s=!0,h=0){const L=t[Ro],Q=L.rendererFactory;Q.begin?.();try{!function jx(t,s){id(t,s);let h=0;for(;Nh(t);){if(h===Bx)throw new ge(103,!1);h++,id(t,1)}}(t,h)}catch(Se){throw s&&gg(t,Se),Se}finally{Q.end?.(),L.inlineEffectRunner?.flush()}}function fw(t,s,h,L){const Q=s[Bi];if(!(256&~Q))return;s[Ro].inlineEffectRunner?.flush(),ao(s);let Se=null,Pe=null;(function Vb(t){return 2!==t.type})(t)&&(Pe=function Rb(t){return t[$a]??function Nb(t){const s=Om.pop()??Object.create(Fb);return s.lView=t,s}(t)}(s),Se=P(Pe));try{Zu(s),function ip(t){return nn.lFrame.bindingIndex=t}(t.bindingStartIndex),null!==h&&Du(t,s,h,2,L);const ze=!(3&~Q);if(ze){const Ct=t.preOrderCheckHooks;null!==Ct&&oa(s,Ct,null)}else{const Ct=t.preOrderHooks;null!==Ct&&Vo(s,Ct,0,null),zh(s,0)}if(function Vx(t){for(let s=Bb(t);null!==s;s=jb(s)){if(!(s[Bi]&Eh.HasTransplantedViews))continue;const h=s[Xa];for(let L=0;L-1&&(Lp(s,L),Do(h,L))}this._attachedToViewContainer=!1}gm(this._lView[gi],this._lView)}onDestroy(s){qr(this._lView,s)}markForCheck(){Hp(this._cdRefInjectingView||this._lView)}detach(){this._lView[Bi]&=-129}reattach(){$c(this._lView),this._lView[Bi]|=128}detectChanges(){this._lView[Bi]|=1024,Gp(this._lView,this.notifyErrorHandler)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new ge(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,Op(this._lView[gi],this._lView)}attachToAppRef(s){if(this._attachedToViewContainer)throw new ge(902,!1);this._appRef=s,$c(this._lView)}}let Wp=(()=>{class t{static#e=this.__NG_ELEMENT_ID__=Hb}return t})();const Gb=Wp,Gx=class extends Gb{constructor(s,h,L){super(),this._declarationLView=s,this._declarationTContainer=h,this.elementRef=L}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(s,h){return this.createEmbeddedViewImpl(s,h)}createEmbeddedViewImpl(s,h,L){const Q=jp(this._declarationLView,this._declarationTContainer,s,{injector:h,dehydratedView:L});return new Up(Q)}};function Hb(){return nd(ds(),ni())}function nd(t,s){return 4&t.type?new Gx(s,t,kl(t,s)):null}let nv=()=>null;function Zp(t,s){return nv(t,s)}class qp{}class ca{}class Hm{}class Um{resolveComponentFactory(s){throw function Wo(t){const s=Error(`No component factory found for ${pt(t)}.`);return s.ngComponent=t,s}(s)}}let Ia=(()=>{class t{static#e=this.NULL=new Um}return t})();class Fd{}let Oa=(()=>{class t{constructor(){this.destroyNode=null}static#e=this.__NG_ELEMENT_ID__=()=>function Qp(){const t=ni(),h=jo(ds().index,t);return(Pr(h)?h:t)[Qi]}()}return t})(),Tg=(()=>{class t{static#e=this.\u0275prov=Wi({token:t,providedIn:"root",factory:()=>null})}return t})();const Ou={};function qx(t,s){if(null!==function ve(){return V}())throw new ge(-602,!1)}const Wm=new Set;function El(t){Wm.has(t)||(Wm.add(t),performance?.mark?.("mark_feature_usage",{detail:{feature:t}}))}function Sg(...t){}class xr{constructor({enableLongStackTrace:s=!1,shouldCoalesceEventChangeDetection:h=!1,shouldCoalesceRunChangeDetection:L=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new co(!1),this.onMicrotaskEmpty=new co(!1),this.onStable=new co(!1),this.onError=new co(!1),typeof Zone>"u")throw new ge(908,!1);Zone.assertZonePatched();const Q=this;Q._nesting=0,Q._outer=Q._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(Q._inner=Q._inner.fork(new Zone.TaskTrackingZoneSpec)),s&&Zone.longStackTraceZoneSpec&&(Q._inner=Q._inner.fork(Zone.longStackTraceZoneSpec)),Q.shouldCoalesceEventChangeDetection=!L&&h,Q.shouldCoalesceRunChangeDetection=L,Q.lastRequestAnimationFrameId=-1,Q.nativeRequestAnimationFrame=function Bd(){const t="function"==typeof Je.requestAnimationFrame;let s=Je[t?"requestAnimationFrame":"setTimeout"],h=Je[t?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&s&&h){const L=s[Zone.__symbol__("OriginalDelegate")];L&&(s=L);const Q=h[Zone.__symbol__("OriginalDelegate")];Q&&(h=Q)}return{nativeRequestAnimationFrame:s,nativeCancelAnimationFrame:h}}().nativeRequestAnimationFrame,function _w(t){const s=()=>{!function Jx(t){t.isCheckStableRunning||-1!==t.lastRequestAnimationFrameId||(t.lastRequestAnimationFrameId=t.nativeRequestAnimationFrame.call(Je,()=>{t.fakeTopEventTask||(t.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{t.lastRequestAnimationFrameId=-1,$m(t),t.isCheckStableRunning=!0,Lu(t),t.isCheckStableRunning=!1},void 0,()=>{},()=>{})),t.fakeTopEventTask.invoke()}),$m(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(h,L,Q,fe,Se,Pe)=>{if(function e_(t){return!(!Array.isArray(t)||1!==t.length)&&!0===t[0].data?.__ignore_ng_zone__}(Pe))return h.invokeTask(Q,fe,Se,Pe);try{return sv(t),h.invokeTask(Q,fe,Se,Pe)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===fe.type||t.shouldCoalesceRunChangeDetection)&&s(),rv(t)}},onInvoke:(h,L,Q,fe,Se,Pe,ze)=>{try{return sv(t),h.invoke(Q,fe,Se,Pe,ze)}finally{t.shouldCoalesceRunChangeDetection&&s(),rv(t)}},onHasTask:(h,L,Q,fe)=>{h.hasTask(Q,fe),L===Q&&("microTask"==fe.change?(t._hasPendingMicrotasks=fe.microTask,$m(t),Lu(t)):"macroTask"==fe.change&&(t.hasPendingMacrotasks=fe.macroTask))},onHandleError:(h,L,Q,fe)=>(h.handleError(Q,fe),t.runOutsideAngular(()=>t.onError.emit(fe)),!1)})}(Q)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!xr.isInAngularZone())throw new ge(909,!1)}static assertNotInAngularZone(){if(xr.isInAngularZone())throw new ge(909,!1)}run(s,h,L){return this._inner.run(s,h,L)}runTask(s,h,L,Q){const fe=this._inner,Se=fe.scheduleEventTask("NgZoneEvent: "+Q,s,Qx,Sg,Sg);try{return fe.runTask(Se,h,L)}finally{fe.cancelTask(Se)}}runGuarded(s,h,L){return this._inner.runGuarded(s,h,L)}runOutsideAngular(s){return this._outer.run(s)}}const Qx={};function Lu(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function $m(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&-1!==t.lastRequestAnimationFrameId)}function sv(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function rv(t){t._nesting--,Lu(t)}class ov{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new co,this.onMicrotaskEmpty=new co,this.onStable=new co,this.onError=new co}run(s,h,L){return s.apply(h,L)}runGuarded(s,h,L){return s.apply(h,L)}runOutsideAngular(s){return s()}runTask(s,h,L,Q){return s.apply(h,L)}}var jd=function(t){return t[t.EarlyRead=0]="EarlyRead",t[t.Write=1]="Write",t[t.MixedReadWrite=2]="MixedReadWrite",t[t.Read=3]="Read",t}(jd||{});const Jp={destroy(){}};function av(t,s){!s&&Ge();const h=s?.injector??$i(yr);if(!function Od(t){return"browser"===(t??$i(yr)).get(wp)}(h))return Jp;El("NgAfterNextRender");const L=h.get(tf),Q=L.handler??=new cv,fe=s?.phase??jd.MixedReadWrite,Se=()=>{Q.unregister(ze),Pe()},Pe=h.get(ec).onDestroy(Se),ze=$l(h,()=>new lv(fe,()=>{Se(),t()}));return Q.register(ze),{destroy:Se}}class lv{constructor(s,h){this.phase=s,this.callbackFn=h,this.zone=$i(xr),this.errorHandler=$i(Sl,{optional:!0}),$i(qp,{optional:!0})?.notify(1)}invoke(){try{this.zone.runOutsideAngular(this.callbackFn)}catch(s){this.errorHandler?.handleError(s)}}}class cv{constructor(){this.executingCallbacks=!1,this.buckets={[jd.EarlyRead]:new Set,[jd.Write]:new Set,[jd.MixedReadWrite]:new Set,[jd.Read]:new Set},this.deferredCallbacks=new Set}register(s){(this.executingCallbacks?this.deferredCallbacks:this.buckets[s.phase]).add(s)}unregister(s){this.buckets[s.phase].delete(s),this.deferredCallbacks.delete(s)}execute(){this.executingCallbacks=!0;for(const s of Object.values(this.buckets))for(const h of s)h.invoke();this.executingCallbacks=!1;for(const s of this.deferredCallbacks)this.buckets[s.phase].add(s);this.deferredCallbacks.clear()}destroy(){for(const s of Object.values(this.buckets))s.clear();this.deferredCallbacks.clear()}}let tf=(()=>{class t{constructor(){this.handler=null,this.internalCallbacks=[]}execute(){this.executeInternalCallbacks(),this.handler?.execute()}executeInternalCallbacks(){const h=[...this.internalCallbacks];this.internalCallbacks.length=0;for(const L of h)L()}ngOnDestroy(){this.handler?.destroy(),this.handler=null,this.internalCallbacks.length=0}static#e=this.\u0275prov=Wi({token:t,providedIn:"root",factory:()=>new t})}return t})();function rd(t){return!!er(t)}function Km(t,s,h){let L=h?t.styles:null,Q=h?t.classes:null,fe=0;if(null!==s)for(let Se=0;Se0&&hg(t,h,fe.join(" "))}}(Ht,wo,li,L),void 0!==h&&function kw(t,s,h){const L=t.projection=[];for(let Q=0;Q{class t{static#e=this.__NG_ELEMENT_ID__=Mw}return t})();function Mw(){return fv(ds(),ni())}const u_=Zm,uv=class extends u_{constructor(s,h,L){super(),this._lContainer=s,this._hostTNode=h,this._hostLView=L}get element(){return kl(this._hostTNode,this._hostLView)}get injector(){return new vr(this._hostTNode,this._hostLView)}get parentInjector(){const s=Wh(this._hostTNode,this._hostLView);if(eh(s)){const h=el(s,this._hostLView),L=Ja(s);return new vr(h[gi].data[L+8],h)}return new vr(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(s){const h=pv(this._lContainer);return null!==h&&h[s]||null}get length(){return this._lContainer.length-Ys}createEmbeddedView(s,h,L){let Q,fe;"number"==typeof L?Q=L:null!=L&&(Q=L.index,fe=L.injector);const Se=Zp(this._lContainer,s.ssrId),Pe=s.createEmbeddedViewImpl(h||{},fe,Se);return this.insertImpl(Pe,Q,Mu(this._hostTNode,Se)),Pe}createComponent(s,h,L,Q,fe){const Se=s&&!function Oi(t){return"function"==typeof t}(s);let Pe;if(Se)Pe=h;else{const Kt=h||{};Pe=Kt.index,L=Kt.injector,Q=Kt.projectableNodes,fe=Kt.environmentInjector||Kt.ngModuleRef}const ze=Se?s:new rf(pn(s)),Qe=L||this.parentInjector;if(!fe&&null==ze.ngModule){const li=(Se?Qe:this.parentInjector).get(Xr,null);li&&(fe=li)}const dt=pn(ze.componentType??{}),Ct=Zp(this._lContainer,dt?.id??null),Ht=ze.create(Qe,Q,Ct?.firstChild??null,fe);return this.insertImpl(Ht.hostView,Pe,Mu(this._hostTNode,Ct)),Ht}insert(s,h){return this.insertImpl(s,h,!0)}insertImpl(s,h,L){const Q=s._lView;if(function Af(t){return Gs(t[En])}(Q)){const Pe=this.indexOf(s);if(-1!==Pe)this.detach(Pe);else{const ze=Q[En],Qe=new uv(ze,ze[Us],ze[En]);Qe.detach(Qe.indexOf(s))}}const fe=this._adjustIndex(h),Se=this._lContainer;return Vp(Se,Q,fe,L),s.attachToViewContainerRef(),Ko(qm(Se),fe,s),s}move(s,h){return this.insert(s,h)}indexOf(s){const h=pv(this._lContainer);return null!==h?h.indexOf(s):-1}remove(s){const h=this._adjustIndex(s,-1),L=Lp(this._lContainer,h);L&&(Do(qm(this._lContainer),h),gm(L[gi],L))}detach(s){const h=this._adjustIndex(s,-1),L=Lp(this._lContainer,h);return L&&null!=Do(qm(this._lContainer),h)?new Up(L):null}_adjustIndex(s,h=0){return s??this.length+h}};function pv(t){return t[8]}function qm(t){return t[8]||(t[8]=[])}function fv(t,s){let h;const L=s[t.index];return Gs(L)?h=L:(h=Eb(L,s,null,t),s[t.index]=h,Bp(s,h)),gv(h,s,t,L),new uv(h,t,s)}let gv=function bv(t,s,h,L){if(t[Fo])return;let Q;Q=8&h.type?Ts(L):function p_(t,s){const h=t[Qi],L=h.createComment(""),Q=so(s,t);return wu(h,Pp(h,Q),L,function ag(t,s){return t.nextSibling(s)}(h,Q),!1),L}(s,h),t[Fo]=Q},mv=()=>!1;class Qm{constructor(s){this.queryList=s,this.matches=null}clone(){return new Qm(this.queryList)}setDirty(){this.queryList.setDirty()}}class Jm{constructor(s=[]){this.queries=s}createEmbeddedView(s){const h=s.queries;if(null!==h){const L=null!==s.contentQueries?s.contentQueries[0]:h.length,Q=[];for(let fe=0;fes.trim())}(s):s}}class vv{constructor(s=[]){this.queries=s}elementStart(s,h){for(let L=0;L0)L.push(Se[Pe/2]);else{const Qe=fe[Pe+1],dt=s[-ze];for(let Ct=Ys;Ct(J(s),s.value);return h[ne]=s,h}(t),L=h[ne];return s?.equal&&(L.equal=s.equal),h.set=Q=>B(L,Q),h.update=Q=>function z(t,s){j()||l(),B(t,s(t.value))}(L,Q),h.asReadonly=Mv.bind(h),h}function Mv(){const t=this[ne];if(void 0===t.readonlyFn){const s=()=>this();s[ne]=t,t.readonlyFn=s}return t.readonlyFn}function Ev(t){return function kv(t){return"function"==typeof t&&void 0!==t[ne]}(t)&&"function"==typeof t.set}function o0(t){let s=function D_(t){return Object.getPrototypeOf(t.prototype).constructor}(t.type),h=!0;const L=[t];for(;s;){let Q;if(no(t))Q=s.\u0275cmp||s.\u0275dir;else{if(s.\u0275cmp)throw new ge(903,!1);Q=s.\u0275dir}if(Q){if(h){L.push(Q);const Se=t;Se.inputs=a0(t.inputs),Se.inputTransforms=a0(t.inputTransforms),Se.declaredInputs=a0(t.declaredInputs),Se.outputs=a0(t.outputs);const Pe=Q.hostBindings;Pe&&E_(t,Pe);const ze=Q.viewQuery,Qe=Q.contentQueries;if(ze&&Kw(t,ze),Qe&&Zw(t,Qe),Yw(t,Q),Tt(t.outputs,Q.outputs),no(Q)&&Q.data.animation){const dt=t.data;dt.animation=(dt.animation||[]).concat(Q.data.animation)}}const fe=Q.features;if(fe)for(let Se=0;Se=0;L--){const Q=t[L];Q.hostVars=s+=Q.hostVars,Q.hostAttrs=Ye(Q.hostAttrs,h=Ye(h,Q.hostAttrs))}}(L)}function Yw(t,s){for(const h in s.inputs){if(!s.inputs.hasOwnProperty(h)||t.inputs.hasOwnProperty(h))continue;const L=s.inputs[h];if(void 0!==L&&(t.inputs[h]=L,t.declaredInputs[h]=s.declaredInputs[h],null!==s.inputTransforms)){const Q=Array.isArray(L)?L[0]:L;if(!s.inputTransforms.hasOwnProperty(Q))continue;t.inputTransforms??={},t.inputTransforms[Q]=s.inputTransforms[Q]}}}function a0(t){return t===Sr?{}:t===Dn?[]:t}function Kw(t,s){const h=t.viewQuery;t.viewQuery=h?(L,Q)=>{s(L,Q),h(L,Q)}:s}function Zw(t,s){const h=t.contentQueries;t.contentQueries=h?(L,Q,fe)=>{s(L,Q,fe),h(L,Q,fe)}:s}function E_(t,s){const h=t.hostBindings;t.hostBindings=h?(L,Q)=>{s(L,Q),h(L,Q)}:s}function I_(t){const s=h=>{const L=(Array.isArray(t)?t:t()).map(Q=>"function"==typeof Q?{directive:Dt(Q),inputs:Sr,outputs:Sr}:{directive:Dt(Q.directive),inputs:Fv(Q.inputs),outputs:Fv(Q.outputs)});null===h.hostDirectives?(h.findHostDirectiveDefs=O_,h.hostDirectives=L):h.hostDirectives.unshift(...L)};return s.ngInherit=!0,s}function O_(t,s,h){if(null!==t.hostDirectives)for(const L of t.hostDirectives){const Q=vs(L.directive);Jw(Q.declaredInputs,L.inputs),O_(Q,s,h),h.set(Q,L),s.push(Q)}}function Fv(t){if(void 0===t||0===t.length)return Sr;const s={};for(let h=0;hh()),this.destroyCbs=null}onDestroy(s){this.destroyCbs.push(s)}}class Bv extends R_{constructor(s){super(),this.moduleType=s}create(s){return new l0(this.moduleType,s,[])}}class F_ extends Vd{constructor(s){super(),this.componentFactoryResolver=new s_(this),this.instance=null;const h=new _a([...s.providers,{provide:Vd,useValue:this},{provide:Ia,useValue:this.componentFactoryResolver}],s.parent||xa(),s.debugName,new Set(["environment"]));this.injector=h,s.runEnvironmentInitializers&&h.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(s){this.injector.onDestroy(s)}}function jv(t,s,h=null){return new F_({providers:t,parent:s,debugName:h,runEnvironmentInitializers:!0}).injector}let af=(()=>{class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new R.t(!1)}get _hasPendingTasks(){return this.hasPendingTasks.value}add(){this._hasPendingTasks||this.hasPendingTasks.next(!0);const h=this.taskId++;return this.pendingTasks.add(h),h}remove(h){this.pendingTasks.delete(h),0===this.pendingTasks.size&&this._hasPendingTasks&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this._hasPendingTasks&&this.hasPendingTasks.next(!1)}static#e=this.\u0275fac=function(L){return new(L||t)};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function c0(t){return!!Vv(t)&&(Array.isArray(t)||!(t instanceof Map)&&Symbol.iterator in t)}function Vv(t){return null!==t&&("function"==typeof t||"object"==typeof t)}function Oc(t,s,h){return t[s]=h}function Ag(t,s){return t[s]}function Mr(t,s,h){return!Object.is(t[s],h)&&(t[s]=h,!0)}function Ru(t,s,h,L){const Q=Mr(t,s,h);return Mr(t,s+1,L)||Q}function h0(t,s,h,L,Q){const fe=Ru(t,s,h,L);return Mr(t,s+2,Q)||fe}function sc(t,s,h,L,Q,fe){const Se=Ru(t,s,h,L);return Ru(t,s+2,Q,fe)||Se}function lf(t,s,h,L,Q,fe,Se,Pe){const ze=ni(),Qe=Tn(),dt=t+rn,Ct=Qe.firstCreatePass?function lT(t,s,h,L,Q,fe,Se,Pe,ze){const Qe=s.consts,dt=ku(s,t,4,Se||null,Ka(Qe,Pe));fg(s,h,dt,Ka(Qe,ze)),Sa(s,dt);const Ct=dt.tView=Tm(2,dt,L,Q,fe,s.directiveRegistry,s.pipeRegistry,null,s.schemas,Qe,null);return null!==s.queries&&(s.queries.template(s,dt),Ct.queries=s.queries.embeddedTView(dt)),dt}(dt,Qe,ze,s,h,L,Q,fe,Se):Qe.data[dt];ra(Ct,!1);const jt=j_(Qe,ze,Ct,t);Qa()&&ym(Qe,ze,jt,Ct),uo(jt,ze);const Ht=Eb(jt,ze,jt,Ct);return ze[dt]=Ht,Bp(ze,Ht),function f_(t,s,h){return mv(t,s,h)}(Ht,Ct,ze),fl(Ct)&&Cm(Qe,ze,Ct),null!=Se&&wm(ze,Ct,Pe),lf}let j_=function zv(t,s,h,L){return Nr(!0),s[Qi].createComment("")};function ey(t,s,h,L){const Q=ni();return Mr(Q,Ta(),s)&&(Tn(),Ic(Ss(),Q,t,s,h,L)),ey}function mf(t,s,h,L){return Mr(t,Ta(),h)?s+Ui(h)+L:Pn}function xh(t,s){return t<<17|s<<2}function Il(t){return t>>17&32767}function Gd(t){return 2|t}function _h(t){return(131068&t)>>2}function Rg(t,s){return-131069&t|s<<2}function Ng(t){return 1|t}function ay(t,s,h,L){const Q=t[h+1],fe=null===s;let Se=L?Il(Q):_h(Q),Pe=!1;for(;0!==Se&&(!1===Pe||fe);){const Qe=t[Se+1];ET(t[Se],s)&&(Pe=!0,t[Se+1]=L?Ng(Qe):Gd(Qe)),Se=L?Il(Qe):_h(Qe)}Pe&&(t[h+1]=L?Gd(Q):Ng(Q))}function ET(t,s){return null===t||null==s||(Array.isArray(t)?t[1]:t)===s||!(!Array.isArray(t)||"string"!=typeof s)&&Eo(t,s)>=0}const Hr={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function b1(t){return t.substring(Hr.key,Hr.keyEnd)}function AT(t){return t.substring(Hr.value,Hr.valueEnd)}function v1(t,s){const h=Hr.textEnd;return h===s?-1:(s=Hr.keyEnd=function ly(t,s,h){for(;s32;)s++;return s}(t,Hr.key=s,h),xf(t,s,h))}function y1(t,s){const h=Hr.textEnd;let L=Hr.key=xf(t,s,h);return h===L?-1:(L=Hr.keyEnd=function _f(t,s,h){let L;for(;s=65&&(-33&L)<=90||L>=48&&L<=57);)s++;return s}(t,L,h),L=Hd(t,L,h),L=Hr.value=xf(t,L,h),L=Hr.valueEnd=function w0(t,s,h){let L=-1,Q=-1,fe=-1,Se=s,Pe=Se;for(;Se32&&(Pe=Se),fe=Q,Q=L,L=-33&ze}return Pe}(t,L,h),Hd(t,L,h))}function x1(t){Hr.key=0,Hr.keyEnd=0,Hr.value=0,Hr.valueEnd=0,Hr.textEnd=t.length}function xf(t,s,h){for(;s=0;h=y1(s,h))dy(t,b1(s),AT(s))}function S0(t){Ol(uy,nl,t,!0)}function nl(t,s){for(let h=function C0(t){return x1(t),v1(t,xf(t,0,Hr.textEnd))}(s);h>=0;h=v1(s,h))Js(t,b1(s),!0)}function oc(t,s,h,L){const Q=ni(),fe=Tn(),Se=xl(2);fe.firstUpdatePass&&k0(fe,t,Se,L),s!==Pn&&Mr(Q,Se,s)&&Ra(fe,fe.data[Rr()],Q,Q[Qi],t,Q[Se+1]=function k1(t,s){return null==t||""===t||("string"==typeof s?t+=s:"object"==typeof t&&(t=pt(Dl(t)))),t}(s,h),L,Se)}function Ol(t,s,h,L){const Q=Tn(),fe=xl(2);Q.firstUpdatePass&&k0(Q,null,fe,L);const Se=ni();if(h!==Pn&&Mr(Se,fe,h)){const Pe=Q.data[Rr()];if(D1(Pe,L)&&!cy(Q,fe)){let ze=L?Pe.classesWithoutHost:Pe.stylesWithoutHost;null!==ze&&(h=ht(ze,h||"")),rc(Q,Pe,Se,h,L)}else!function OT(t,s,h,L,Q,fe,Se,Pe){Q===Pn&&(Q=Dn);let ze=0,Qe=0,dt=0=t.expandoStartIndex}function k0(t,s,h,L){const Q=t.data;if(null===Q[h+1]){const fe=Q[Rr()],Se=cy(t,h);D1(fe,L)&&null===s&&!Se&&(s=!1),s=function w1(t,s,h,L){const Q=Bh(t);let fe=L?s.residualClasses:s.residualStyles;if(null===Q)0===(L?s.classBindings:s.styleBindings)&&(h=Wd(h=Bg(null,t,s,h,L),s.attrs,L),fe=null);else{const Se=s.directiveStylingLast;if(-1===Se||t[Se]!==Q)if(h=Bg(Q,t,s,h,L),null===fe){let ze=function T1(t,s,h){const L=h?s.classBindings:s.styleBindings;if(0!==_h(L))return t[Il(L)]}(t,s,L);void 0!==ze&&Array.isArray(ze)&&(ze=Bg(null,t,s,ze[1],L),ze=Wd(ze,s.attrs,L),function hy(t,s,h,L){t[Il(h?s.classBindings:s.styleBindings)]=L}(t,s,L,ze))}else fe=function D0(t,s,h){let L;const Q=s.directiveEnd;for(let fe=1+s.directiveStylingLast;fe0)&&(Qe=!0)):dt=h,Q)if(0!==ze){const jt=Il(t[Pe+1]);t[L+1]=xh(jt,Pe),0!==jt&&(t[jt+1]=Rg(t[jt+1],L)),t[Pe+1]=function sy(t,s){return 131071&t|s<<17}(t[Pe+1],L)}else t[L+1]=xh(Pe,0),0!==Pe&&(t[Pe+1]=Rg(t[Pe+1],L)),Pe=L;else t[L+1]=xh(ze,0),0===Pe?Pe=L:t[ze+1]=Rg(t[ze+1],L),ze=L;Qe&&(t[L+1]=Gd(t[L+1])),ay(t,dt,L,!0),ay(t,dt,L,!1),function oy(t,s,h,L,Q){const fe=Q?t.residualClasses:t.residualStyles;null!=fe&&"string"==typeof s&&Eo(fe,s)>=0&&(h[L+1]=Ng(h[L+1]))}(s,dt,t,L,fe),Se=xh(Pe,ze),fe?s.classBindings=Se:s.styleBindings=Se}(Q,fe,s,h,Se,L)}}function Bg(t,s,h,L,Q){let fe=null;const Se=h.directiveEnd;let Pe=h.directiveStylingLast;for(-1===Pe?Pe=h.directiveStart:Pe++;Pe0;){const ze=t[Q],Qe=Array.isArray(ze),dt=Qe?ze[1]:ze,Ct=null===dt;let jt=h[Q+1];jt===Pn&&(jt=Ct?Dn:void 0);let Ht=Ct?bo(jt,L):dt===L?jt:void 0;if(Qe&&!wf(Ht)&&(Ht=bo(ze,L)),wf(Ht)&&(Pe=Ht,Se))return Pe;const Kt=t[Q+1];Q=Se?Il(Kt):_h(Kt)}if(null!==s){let ze=fe?s.residualClasses:s.residualStyles;null!=ze&&(Pe=bo(ze,L))}return Pe}function wf(t){return void 0!==t}function D1(t,s){return!!(t.flags&(s?8:16))}function fy(t,s,h){Ol(Js,nl,mf(ni(),t,s,h),!0)}class zT{destroy(s){}updateValue(s,h){}swap(s,h){const L=Math.min(s,h),Q=Math.max(s,h),fe=this.detach(Q);if(Q-L>1){const Se=this.detach(L);this.attach(L,fe),this.attach(Q,Se)}else this.attach(L,fe)}move(s,h){this.attach(h,this.detach(s))}}function M0(t,s,h,L,Q){return t===h&&Object.is(s,L)?1:Object.is(Q(t,s),Q(h,L))?-1:0}function gy(t,s,h,L){return!(void 0===s||!s.has(L)||(t.attach(h,s.get(L)),s.delete(L),0))}function A1(t,s,h,L,Q){if(gy(t,s,L,h(L,Q)))t.updateValue(L,Q);else{const fe=t.create(L,Q);t.attach(L,fe)}}function I1(t,s,h,L){const Q=new Set;for(let fe=s;fe<=h;fe++)Q.add(L(fe,t.at(fe)));return Q}class O1{constructor(){this.kvMap=new Map,this._vMap=void 0}has(s){return this.kvMap.has(s)}delete(s){if(!this.has(s))return!1;const h=this.kvMap.get(s);return void 0!==this._vMap&&this._vMap.has(h)?(this.kvMap.set(s,this._vMap.get(h)),this._vMap.delete(h)):this.kvMap.delete(s),!0}get(s){return this.kvMap.get(s)}set(s,h){if(this.kvMap.has(s)){let L=this.kvMap.get(s);void 0===this._vMap&&(this._vMap=new Map);const Q=this._vMap;for(;Q.has(L);)L=Q.get(L);Q.set(L,h)}else this.kvMap.set(s,h)}forEach(s){for(let[h,L]of this.kvMap)if(s(L,h),void 0!==this._vMap){const Q=this._vMap;for(;Q.has(L);)L=Q.get(L),s(L,h)}}}function L1(t,s,h){El("NgControlFlow");const L=ni(),Q=Ta(),fe=my(L,rn+t);if(Mr(L,Q,s)){const Pe=re(null);try{if(Im(fe,0),-1!==s){const ze=by(L[gi],rn+s),Qe=Zp(fe,ze.tView.ssrId);Vp(fe,jp(L,ze,h,{dehydratedView:Qe}),0,Mu(ze,Qe))}}finally{re(Pe)}}else{const Pe=Lb(fe,0);void 0!==Pe&&(Pe[jn]=h)}}class GT{constructor(s,h,L){this.lContainer=s,this.$implicit=h,this.$index=L}get $count(){return this.lContainer.length-Ys}}function P1(t,s){return s}class UT{constructor(s,h,L){this.hasEmptyBlock=s,this.trackByFn=h,this.liveCollection=L}}function R1(t,s,h,L,Q,fe,Se,Pe,ze,Qe,dt,Ct,jt){El("NgControlFlow");const Ht=void 0!==ze,Kt=ni(),li=Pe?Se.bind(Kt[Is][jn]):Se,bi=new UT(Ht,li);Kt[rn+t]=bi,lf(t+1,s,h,L,Q,fe),Ht&&lf(t+2,ze,Qe,dt,Ct,jt)}class WT extends zT{constructor(s,h,L){super(),this.lContainer=s,this.hostLView=h,this.templateTNode=L,this.needsIndexUpdate=!1}get length(){return this.lContainer.length-Ys}at(s){return this.getLView(s)[jn].$implicit}attach(s,h){const L=h[mr];this.needsIndexUpdate||=s!==this.length,Vp(this.lContainer,h,s,Mu(this.templateTNode,L))}detach(s){return this.needsIndexUpdate||=s!==this.length-1,function $T(t,s){return Lp(t,s)}(this.lContainer,s)}create(s,h){const L=Zp(this.lContainer,this.templateTNode.tView.ssrId);return jp(this.hostLView,this.templateTNode,new GT(this.lContainer,h,s),{dehydratedView:L})}destroy(s){gm(s[gi],s)}updateValue(s,h){this.getLView(s)[jn].$implicit=h}reset(){this.needsIndexUpdate=!1}updateIndexes(){if(this.needsIndexUpdate)for(let s=0;s{t.destroy(Pe)})}(Se,t,fe.trackByFn),Se.updateIndexes(),fe.hasEmptyBlock){const Pe=Ta(),ze=0===Se.length;if(Mr(L,Pe,ze)){const Qe=h+2,dt=my(L,Qe);if(ze){const Ct=by(Q,Qe),jt=Zp(dt,Ct.tView.ssrId);Vp(dt,jp(L,Ct,void 0,{dehydratedView:jt}),0,Mu(Ct,jt))}else Im(dt,0)}}}finally{re(s)}}function my(t,s){return t[s]}function by(t,s){return Rh(t,s)}function A0(t,s,h,L){const Q=ni(),fe=Tn(),Se=rn+t,Pe=Q[Qi],ze=fe.firstCreatePass?function N1(t,s,h,L,Q,fe){const Se=s.consts,ze=ku(s,t,2,L,Ka(Se,Q));return fg(s,h,ze,Ka(Se,fe)),null!==ze.attrs&&Km(ze,ze.attrs,!1),null!==ze.mergedAttrs&&Km(ze,ze.mergedAttrs,!0),null!==s.queries&&s.queries.elementStart(s,ze),ze}(Se,fe,Q,s,h,L):fe.data[Se],Qe=F1(fe,Q,ze,Pe,s,t);Q[Se]=Qe;const dt=fl(ze);return ra(ze,!0),Su(Pe,Qe,ze),!function Ig(t){return!(32&~t.flags)}(ze)&&Qa()&&ym(fe,Q,Qe,ze),0===function vl(){return nn.lFrame.elementDepthCount}()&&uo(Qe,Q),function ud(){nn.lFrame.elementDepthCount++}(),dt&&(Cm(fe,Q,ze),Nd(fe,ze,Q)),null!==L&&wm(Q,ze),A0}function I0(){let t=ds();eu()?tu():(t=t.parent,ra(t,!1));const s=t;(function Jd(t){return nn.skipHydrationRootTNode===t})(s)&&function ep(){nn.skipHydrationRootTNode=null}(),function Lf(){nn.lFrame.elementDepthCount--}();const h=Tn();return h.firstCreatePass&&(Sa(h,t),jc(t)&&h.queries.elementEnd(t)),null!=s.classesWithoutHost&&function au(t){return!!(8&t.flags)}(s)&&rc(h,s,ni(),s.classesWithoutHost,!0),null!=s.stylesWithoutHost&&function Uh(t){return!!(16&t.flags)}(s)&&rc(h,s,ni(),s.stylesWithoutHost,!1),I0}function vy(t,s,h,L){return A0(t,s,h,L),I0(),vy}let F1=(t,s,h,L,Q,fe)=>(Nr(!0),fm(L,Q,function Vh(){return nn.lFrame.currentNamespace}()));function O0(t,s,h){const L=ni(),Q=Tn(),fe=t+rn,Se=Q.firstCreatePass?function KT(t,s,h,L,Q){const fe=s.consts,Se=Ka(fe,L),Pe=ku(s,t,8,"ng-container",Se);return null!==Se&&Km(Pe,Se,!0),fg(s,h,Pe,Ka(fe,Q)),null!==s.queries&&s.queries.elementStart(s,Pe),Pe}(fe,Q,L,s,h):Q.data[fe];ra(Se,!0);const Pe=j1(Q,L,Se,t);return L[fe]=Pe,Qa()&&ym(Q,L,Pe,Se),uo(Pe,L),fl(Se)&&(Cm(Q,L,Se),Nd(Q,Se,L)),null!=h&&wm(L,Se),O0}function jg(){let t=ds();const s=Tn();return eu()?tu():(t=t.parent,ra(t,!1)),s.firstCreatePass&&(Sa(s,t),jc(t)&&s.queries.elementEnd(t)),jg}function yy(t,s,h){return O0(t,s,h),jg(),yy}let j1=(t,s,h,L)=>(Nr(!0),ab(s[Qi],""));function _y(){return ni()}function Cy(t,s,h){const L=ni();return Mr(L,Ta(),s)&&Aa(Tn(),Ss(),L,t,s,L[Qi],h,!0),Cy}function wy(t,s,h){const L=ni();if(Mr(L,Ta(),s)){const fe=Tn(),Se=Ss();Aa(fe,Se,L,t,s,Ob(Bh(fe.data),Se,L),h,!0)}return wy}const zu=void 0;var z1=["en",[["a","p"],["AM","PM"],zu],[["AM","PM"],zu,zu],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],zu,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],zu,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",zu,"{1} 'at' {0}",zu],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function V1(t){const h=Math.floor(Math.abs(t)),L=t.toString().replace(/^[^.]*\.?/,"").length;return 1===h&&0===L?1:5}];let Gu={};function L0(t){const s=function H1(t){return t.toLowerCase().replace(/_/g,"-")}(t);let h=G1(s);if(h)return h;const L=s.split("-")[0];if(h=G1(L),h)return h;if("en"===L)return z1;throw new ge(701,!1)}function Ty(t){return L0(t)[od.PluralCase]}function G1(t){return t in Gu||(Gu[t]=Je.ng&&Je.ng.common&&Je.ng.common.locales&&Je.ng.common.locales[t]),Gu[t]}var od=function(t){return t[t.LocaleId=0]="LocaleId",t[t.DayPeriodsFormat=1]="DayPeriodsFormat",t[t.DayPeriodsStandalone=2]="DayPeriodsStandalone",t[t.DaysFormat=3]="DaysFormat",t[t.DaysStandalone=4]="DaysStandalone",t[t.MonthsFormat=5]="MonthsFormat",t[t.MonthsStandalone=6]="MonthsStandalone",t[t.Eras=7]="Eras",t[t.FirstDayOfWeek=8]="FirstDayOfWeek",t[t.WeekendRange=9]="WeekendRange",t[t.DateFormat=10]="DateFormat",t[t.TimeFormat=11]="TimeFormat",t[t.DateTimeFormat=12]="DateTimeFormat",t[t.NumberSymbols=13]="NumberSymbols",t[t.NumberFormats=14]="NumberFormats",t[t.CurrencyCode=15]="CurrencyCode",t[t.CurrencySymbol=16]="CurrencySymbol",t[t.CurrencyName=17]="CurrencyName",t[t.Currencies=18]="Currencies",t[t.Directionality=19]="Directionality",t[t.PluralCase=20]="PluralCase",t[t.ExtraData=21]="ExtraData",t}(od||{});const Tf="en-US",P0={marker:"element"},Vg={marker:"ICU"};var sl=function(t){return t[t.SHIFT=2]="SHIFT",t[t.APPEND_EAGERLY=1]="APPEND_EAGERLY",t[t.COMMENT=2]="COMMENT",t}(sl||{});let U1=Tf;function W1(t,s,h){const L=s.insertBeforeIndex,Q=Array.isArray(L)?L[0]:L;return null===Q?pb(t,0,h):Ts(h[Q])}function $1(t,s,h,L,Q){const fe=s.insertBeforeIndex;if(Array.isArray(fe)){let Se=L,Pe=null;if(3&s.type||(Pe=Se,Se=Q),null!==Se&&-1===s.componentOffset)for(let ze=1;ze1)for(let h=t.length-2;h>=0;h--){const L=t[h];Dy(L)||tS(L,s)&&null===iS(L)&&nS(L,s.index)}}function Dy(t){return!(64&t.type)}function tS(t,s){return Dy(s)||t.index>s.index}function iS(t){const s=t.insertBeforeIndex;return Array.isArray(s)?s[0]:s}function nS(t,s){const h=t.insertBeforeIndex;Array.isArray(h)?h[0]=s:(fb(W1,$1),t.insertBeforeIndex=s)}function sS(t,s,h){const L=us(t,h,64,null,null);return ky(s,L),L}let Df=(t,s,h,L)=>(Nr(!0),function Ey(t,s,h){const L=t[Qi];switch(h){case Node.COMMENT_NODE:return ab(L,s);case Node.TEXT_NODE:return Ld(L,s);case Node.ELEMENT_NODE:return fm(L,s,null)}}(t,h,L));function sC(){const t=[];let h,L,s=-1;function fe(Pe,ze){s=0;const Qe=function Gg(t,s){const h=s[t.currentCaseLViewIndex];return null===h?h:h<0?~h:h}(Pe,ze);L=null!==Qe?Pe.remove[Qe]:Dn}function Se(){if(s0?h[Pe]:(t.push(s,L),fe(h[gi].data[~Pe],h),Se())}return 0===t.length?null:(L=t.pop(),s=t.pop(),Se())}return function Q(Pe,ze){for(h=ze;t.length;)t.pop();return fe(Pe.value,ze),Se}}const W=/\ufffd(\d+):?\d*\ufffd/gi,ke=/\ufffd(\d+)\ufffd/,Ve=/^\s*(\ufffd\d+:?\d*\ufffd)\s*,\s*(select|plural)\s*,/,Ze="\ufffd",tt=/\ufffd\/?\*(\d+:\d+)\ufffd/gi,bt=/\ufffd(\/?[#*]\d+):?\d*\ufffd/gi,Mt=/\uE500/g;function hi(t,s,h,L,Q,fe,Se){const Pe=Fp(t,L,1,null);let ze=Pe<h.length&&h.push(ze)}return{type:L,mainBinding:Q,cases:s,values:h}}function An(t){if(!t)return[];let s=0;const h=[],L=[],Q=/[{}]/g;let fe;for(Q.lastIndex=0;fe=Q.exec(t);){const Pe=fe.index;if("}"==fe[0]){if(h.pop(),0==h.length){const ze=t.substring(s,Pe);Ve.test(ze)?L.push(xs(ze)):L.push(ze),s=Pe+1}}else{if(0==h.length){const ze=t.substring(s,Pe);L.push(ze),s=Pe+1}h.push("{")}}const Se=t.substring(s);return L.push(Se),L}function Hi(t,s,h,L,Q,fe,Se,Pe,ze){const Qe=[],dt=[],Ct=[];h.cases.push(Se),h.create.push(Qe),h.remove.push(dt),h.update.push(Ct);const Ht=Ed(Ma()).getInertBodyElement(Pe),Kt=sm(Ht)||Ht;return Kt?Xn(t,s,h,L,Q,Qe,dt,Ct,Kt,fe,ze,0):0}function Xn(t,s,h,L,Q,fe,Se,Pe,ze,Qe,dt,Ct){let jt=0,Ht=ze.firstChild;for(;Ht;){const Kt=Fp(s,L,1,null);switch(Ht.nodeType){case Node.ELEMENT_NODE:const li=Ht,bi=li.tagName.toLowerCase();if(Ad.hasOwnProperty(bi)){Si(fe,P0,bi,Qe,Kt),s.data[Kt]=bi;const _s=li.attributes;for(let wo=0;wo<_s.length;wo++){const Pl=_s.item(wo),$g=Pl.name.toLowerCase();Pl.value.match(W)?Zf.hasOwnProperty($g)&&yi(Pe,Pl.value,Kt,Pl.name,0,im[$g]?vu:null):Vi(fe,Kt,Pl)}const qs={kind:1,index:Kt,children:[]};t.push(qs),jt=Xn(qs.children,s,h,L,Q,fe,Se,Pe,Ht,Kt,dt,Ct+1)|jt,Pi(Se,Kt,Ct)}break;case Node.TEXT_NODE:const Ri=Ht.textContent||"",pi=Ri.match(W);Si(fe,null,pi?"":Ri,Qe,Kt),Pi(Se,Kt,Ct),pi&&(jt=yi(Pe,Ri,Kt,null,0,null)|jt),t.push({kind:0,index:Kt});break;case Node.COMMENT_NODE:const yn=ke.exec(Ht.textContent||"");if(yn){const qs=dt[parseInt(yn[1],10)];Si(fe,Vg,"",Qe,Kt),dn(t,s,L,Q,Qe,qs,Kt),Zi(Se,Kt,Ct)}}Ht=Ht.nextSibling}return jt}function Pi(t,s,h){0===h&&t.push(s)}function Zi(t,s,h){0===h&&(t.push(~s),t.push(s))}function Si(t,s,h,L,Q){null!==s&&t.push(s),t.push(h,Q,function Z1(t,s,h){return t|s<<17|h<<1}(0,L,Q))}function Vi(t,s,h){t.push(s<<1|1,h.name,h.value)}function Ur(t,s,h=-1){const L=Tn(),Q=ni(),fe=rn+t,Se=Ka(L.consts,s),Pe=sa();L.firstCreatePass&&function Zt(t,s,h,L,Q,fe){const Se=sa(),Pe=[],ze=[],Qe=[[]],dt=[[]];Q=function hn(t,s){if(function ji(t){return-1===t}(s))return Mi(t);{const h=t.indexOf(`:${s}${Ze}`)+2+s.toString().length,L=t.search(new RegExp(`${Ze}\\/\\*\\d+:${s}${Ze}`));return Mi(t.substring(h,L))}}(Q,fe);const Ct=function Lt(t){return t.replace(Mt," ")}(Q).split(bt);for(let jt=0;jt>>sl.SHIFT;let Ct=t[dt],jt=!1;null===Ct&&(Ct=t[dt]=Df(t,dt,s[fe],(Se&sl.COMMENT)===sl.COMMENT?Node.COMMENT_NODE:Node.TEXT_NODE),jt=Qa()),Qe&&null!==h&&jt&&wu(Q,h,Ct,L,!1)}})(Q,ze.create,dt,Pe&&8&Pe.type?Q[Pe.index]:null),sp(!0)}function un(t,s,h){Ur(t,s,h),function Ii(){sp(!1)}()}function _o(t,s,h,L){const Q=ni(),fe=Tn(),Se=ds();return or(fe,Q,Q[Qi],Se,t,s,L),_o}function or(t,s,h,L,Q,fe,Se){const Pe=fl(L),Qe=t.firstCreatePass&&Em(t),dt=s[jn],Ct=Ib(s);let jt=!0;if(3&L.type||Se){const li=so(L,s),bi=Se?Se(li):li,Ri=Ct.length,pi=Se?_s=>Se(Ts(_s[L.index])):L.index;let yn=null;if(!Se&&Pe&&(yn=function vn(t,s,h,L){const Q=t.cleanup;if(null!=Q)for(let fe=0;feze?Pe[ze]:null}"string"==typeof Se&&(fe+=2)}return null}(t,s,Q,L.index)),null!==yn)(yn.__ngLastListenerFn__||yn).__ngNextListenerFn__=fe,yn.__ngLastListenerFn__=fe,jt=!1;else{fe=Ch(L,s,dt,fe,!1);const _s=h.listen(bi,Q,fe);Ct.push(fe,_s),Qe&&Qe.push(Q,pi,Ri,Ri+1)}}else fe=Ch(L,s,dt,fe,!1);const Ht=L.outputs;let Kt;if(jt&&null!==Ht&&(Kt=Ht[Q])){const li=Kt.length;if(li)for(let bi=0;bi-1?jo(t.index,s):s);let ze=Hu(s,h,L,Se),Qe=fe.__ngNextListenerFn__;for(;Qe;)ze=Hu(s,h,Qe,Se)&&ze,Qe=Qe.__ngNextListenerFn__;return Q&&!1===ze&&Se.preventDefault(),ze}}function oS(t=1){return function op(t){return(nn.lFrame.contextLView=function Qd(t,s){for(;t>0;)s=s[ws],t--;return s}(t,nn.lFrame.contextLView))[jn]}(t)}function nM(t,s){let h=null;const L=function ac(t){const s=t.attrs;if(null!=s){const h=s.indexOf(5);if(!(1&h))return s[h+1]}return null}(t);for(let Q=0;Q(Nr(!0),Ld(s[Qi],L));function oC(t){return Ry("",t,""),oC}function Ry(t,s,h){const L=ni(),Q=mf(L,t,s,h);return Q!==Pn&&mh(L,Rr(),Q),Ry}function aC(t,s,h,L,Q){const fe=ni(),Se=function bf(t,s,h,L,Q,fe){const Pe=Ru(t,yl(),h,Q);return xl(2),Pe?s+Ui(h)+L+Ui(Q)+fe:Pn}(fe,t,s,h,L,Q);return Se!==Pn&&mh(fe,Rr(),Se),aC}function lC(t,s,h,L,Q,fe,Se){const Pe=ni(),ze=function vf(t,s,h,L,Q,fe,Se,Pe){const Qe=h0(t,yl(),h,Q,Se);return xl(3),Qe?s+Ui(h)+L+Ui(Q)+fe+Ui(Se)+Pe:Pn}(Pe,t,s,h,L,Q,fe,Se);return ze!==Pn&&mh(Pe,Rr(),ze),lC}function cC(t,s,h,L,Q,fe,Se,Pe,ze){const Qe=ni(),dt=function Bu(t,s,h,L,Q,fe,Se,Pe,ze,Qe){const Ct=sc(t,yl(),h,Q,Se,ze);return xl(4),Ct?s+Ui(h)+L+Ui(Q)+fe+Ui(Se)+Pe+Ui(ze)+Qe:Pn}(Qe,t,s,h,L,Q,fe,Se,Pe,ze);return dt!==Pn&&mh(Qe,Rr(),dt),cC}function hC(t,s,h){Ev(s)&&(s=s());const L=ni();return Mr(L,Ta(),s)&&Aa(Tn(),Ss(),L,t,s,L[Qi],h,!1),hC}function BS(t,s){const h=Ev(t);return h&&t.set(s),h}function dC(t,s){const h=ni(),L=Tn(),Q=ds();return or(L,h,h[Qi],Q,t,s),dC}function uC(t,s,h,L,Q){if(t=Dt(t),Array.isArray(t))for(let fe=0;fe>20;if(Po(t)||!t.multi){const Ht=new Qc(Qe,Q,Ac),Kt=fC(ze,s,Q?dt:dt+jt,Ct);-1===Kt?(nh(ih(Pe,Se),fe,ze),pC(fe,t,s.length),s.push(ze),Pe.directiveStart++,Pe.directiveEnd++,Q&&(Pe.providerIndexes+=1048576),h.push(Ht),Se.push(Ht)):(h[Kt]=Ht,Se[Kt]=Ht)}else{const Ht=fC(ze,s,dt+jt,Ct),Kt=fC(ze,s,dt,dt+jt),bi=Kt>=0&&h[Kt];if(Q&&!bi||!Q&&!(Ht>=0&&h[Ht])){nh(ih(Pe,Se),fe,ze);const Ri=function CM(t,s,h,L,Q){const fe=new Qc(t,h,Ac);return fe.multi=[],fe.index=s,fe.componentProviders=0,jS(fe,Q,L&&!h),fe}(Q?_M:xM,h.length,Q,L,Qe);!Q&&bi&&(h[Kt].providerFactory=Ri),pC(fe,t,s.length,0),s.push(ze),Pe.directiveStart++,Pe.directiveEnd++,Q&&(Pe.providerIndexes+=1048576),h.push(Ri),Se.push(Ri)}else pC(fe,t,Ht>-1?Ht:Kt,jS(h[Q?Kt:Ht],Qe,!Q&&L));!Q&&L&&bi&&h[Kt].componentProviders++}}}function pC(t,s,h,L){const Q=Po(s),fe=function ea(t){return!!t.useClass}(s);if(Q||fe){const ze=(fe?Dt(s.useClass):s).prototype.ngOnDestroy;if(ze){const Qe=t.destroyHooks||(t.destroyHooks=[]);if(!Q&&s.multi){const dt=Qe.indexOf(h);-1===dt?Qe.push(h,[L,ze]):Qe[dt+1].push(L,ze)}else Qe.push(h,ze)}}}function jS(t,s,h){return h&&t.componentProviders++,t.multi.push(s)-1}function fC(t,s,h,L){for(let Q=h;Q{h.providersResolver=(L,Q)=>function yM(t,s,h){const L=Tn();if(L.firstCreatePass){const Q=no(t);uC(h,L.data,L.blueprint,Q,!0),uC(s,L.data,L.blueprint,Q,!1)}}(L,Q?Q(t):t,s)}}let wM=(()=>{class t{constructor(h){this._injector=h,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(h){if(!h.standalone)return null;if(!this.cachedInjectors.has(h)){const L=cl(0,h.type),Q=L.length>0?jv([L],this._injector,`Standalone[${h.type.name}]`):null;this.cachedInjectors.set(h,Q)}return this.cachedInjectors.get(h)}ngOnDestroy(){try{for(const h of this.cachedInjectors.values())null!==h&&h.destroy()}finally{this.cachedInjectors.clear()}}static#e=this.\u0275prov=Wi({token:t,providedIn:"environment",factory:()=>new t(Es(Xr))})}return t})();function zS(t){El("NgStandalone"),t.getStandaloneInjector=s=>s.get(wM).getOrCreateStandaloneInjector(t)}function ZS(t,s,h){const L=ro()+t,Q=ni();return Q[L]===Pn?Oc(Q,L,h?s.call(h):s()):Ag(Q,L)}function qS(t,s,h,L){return rk(ni(),ro(),t,s,h,L)}function QS(t,s,h,L,Q){return ok(ni(),ro(),t,s,h,L,Q)}function JS(t,s,h,L,Q,fe){return function ak(t,s,h,L,Q,fe,Se,Pe){const ze=s+h;return h0(t,ze,Q,fe,Se)?Oc(t,ze+3,Pe?L.call(Pe,Q,fe,Se):L(Q,fe,Se)):R0(t,ze+3)}(ni(),ro(),t,s,h,L,Q,fe)}function ek(t,s,h,L,Q,fe,Se){return function lk(t,s,h,L,Q,fe,Se,Pe,ze){const Qe=s+h;return sc(t,Qe,Q,fe,Se,Pe)?Oc(t,Qe+4,ze?L.call(ze,Q,fe,Se,Pe):L(Q,fe,Se,Pe)):R0(t,Qe+4)}(ni(),ro(),t,s,h,L,Q,fe,Se)}function tk(t,s,h,L,Q,fe,Se,Pe){const ze=ro()+t,Qe=ni(),dt=sc(Qe,ze,h,L,Q,fe);return Mr(Qe,ze+4,Se)||dt?Oc(Qe,ze+5,Pe?s.call(Pe,h,L,Q,fe,Se):s(h,L,Q,fe,Se)):Ag(Qe,ze+5)}function ik(t,s,h,L,Q,fe,Se,Pe,ze){const Qe=ro()+t,dt=ni(),Ct=sc(dt,Qe,h,L,Q,fe);return Ru(dt,Qe+4,Se,Pe)||Ct?Oc(dt,Qe+6,ze?s.call(ze,h,L,Q,fe,Se,Pe):s(h,L,Q,fe,Se,Pe)):Ag(dt,Qe+6)}function nk(t,s,h,L,Q,fe,Se,Pe,ze,Qe){const dt=ro()+t,Ct=ni();let jt=sc(Ct,dt,h,L,Q,fe);return h0(Ct,dt+4,Se,Pe,ze)||jt?Oc(Ct,dt+7,Qe?s.call(Qe,h,L,Q,fe,Se,Pe,ze):s(h,L,Q,fe,Se,Pe,ze)):Ag(Ct,dt+7)}function sk(t,s,h,L){return function ck(t,s,h,L,Q,fe){let Se=s+h,Pe=!1;for(let ze=0;ze=0;h--){const L=s[h];if(t===L.name)return L}}(s,h.pipeRegistry),h.data[Q]=L,L.onDestroy&&(h.destroyHooks??=[]).push(Q,L.onDestroy)):L=h.data[Q];const fe=L.factory||(L.factory=Ir(L.type)),Pe=$s(Ac);try{const ze=kc(!1),Qe=fe();return kc(ze),function aM(t,s,h,L){h>=t.data.length&&(t.data[h]=null,t.blueprint[h]=null),s[h]=L}(h,ni(),Q,Qe),Qe}finally{$s(Pe)}}function dk(t,s,h){const L=t+rn,Q=ni(),fe=Uc(Q,L);return N0(Q,L)?rk(Q,ro(),s,fe.transform,h,fe):fe.transform(h)}function uk(t,s,h,L){const Q=t+rn,fe=ni(),Se=Uc(fe,Q);return N0(fe,Q)?ok(fe,ro(),s,Se.transform,h,L,Se):Se.transform(h,L)}function N0(t,s){return t[gi].data[s].pure}function pk(t,s){return nd(t,s)}class Ek{constructor(s){this.full=s;const h=s.split(".");this.major=h[0],this.minor=h[1],this.patch=h.slice(2).join(".")}}let Ak=(()=>{class t{log(h){console.log(h)}warn(h){console.warn(h)}static#e=this.\u0275fac=function(L){return new(L||t)};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac,providedIn:"platform"})}return t})();const Rk=new $e(""),Nk=new $e("");let CC,AE=(()=>{class t{constructor(h,L,Q){this._ngZone=h,this.registry=L,this._pendingCount=0,this._isZoneStable=!0,this._callbacks=[],this.taskTrackingZone=null,CC||(function IE(t){CC=t}(Q),Q.addToWindow(L)),this._watchAngularEvents(),h.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{xr.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let h=this._callbacks.pop();clearTimeout(h.timeoutId),h.doneCb()}});else{let h=this.getPendingTasks();this._callbacks=this._callbacks.filter(L=>!L.updateCb||!L.updateCb(h)||(clearTimeout(L.timeoutId),!1))}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(h=>({source:h.source,creationLocation:h.creationLocation,data:h.data})):[]}addCallback(h,L,Q){let fe=-1;L&&L>0&&(fe=setTimeout(()=>{this._callbacks=this._callbacks.filter(Se=>Se.timeoutId!==fe),h()},L)),this._callbacks.push({doneCb:h,timeoutId:fe,updateCb:Q})}whenStable(h,L,Q){if(Q&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(h,L,Q),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(h){this.registry.registerApplication(h,this)}unregisterApplication(h){this.registry.unregisterApplication(h)}findProviders(h,L,Q){return[]}static#e=this.\u0275fac=function(L){return new(L||t)(Es(xr),Es(Fk),Es(Nk))};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac})}return t})(),Fk=(()=>{class t{constructor(){this._applications=new Map}registerApplication(h,L){this._applications.set(h,L)}unregisterApplication(h){this._applications.delete(h)}unregisterAllApplications(){this._applications.clear()}getTestability(h){return this._applications.get(h)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(h,L=!0){return CC?.findTestabilityInTree(this,h,L)??null}static#e=this.\u0275fac=function(L){return new(L||t)};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac,providedIn:"platform"})}return t})();function wC(t){return!!t&&"function"==typeof t.then}function Bk(t){return!!t&&"function"==typeof t.subscribe}const jk=new $e("");let TC=(()=>{class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((h,L)=>{this.resolve=h,this.reject=L}),this.appInits=$i(jk,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const h=[];for(const Q of this.appInits){const fe=Q();if(wC(fe))h.push(fe);else if(Bk(fe)){const Se=new Promise((Pe,ze)=>{fe.subscribe({complete:Pe,error:ze})});h.push(Se)}}const L=()=>{this.done=!0,this.resolve()};Promise.all(h).then(()=>{L()}).catch(Q=>{this.reject(Q)}),0===h.length&&L(),this.initialized=!0}static#e=this.\u0275fac=function(L){return new(L||t)};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const SC=new $e("");function Gk(t,s){return Array.isArray(s)?s.reduce(Gk,t):{...t,...s}}let Uu=(()=>{class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=$i(hh),this.afterRenderEffectManager=$i(tf),this.externalTestViews=new Set,this.beforeRender=new x.B,this.afterTick=new x.B,this.componentTypes=[],this.components=[],this.isStable=$i(af).hasPendingTasks.pipe((0,Z.T)(h=>!h)),this._injector=$i(Xr)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(h,L){const Q=h instanceof Hm;if(!this._injector.get(TC).done)throw!Q&&kr(h),new ge(405,!1);let Se;Se=Q?h:this._injector.get(Ia).resolveComponentFactory(h),this.componentTypes.push(Se.componentType);const Pe=function OE(t){return t.isBoundToModule}(Se)?void 0:this._injector.get(Vd),Qe=Se.create(yr.NULL,[],L||Se.selector,Pe),dt=Qe.location.nativeElement,Ct=Qe.injector.get(Rk,null);return Ct?.registerApplication(dt),Qe.onDestroy(()=>{this.detachView(Qe.hostView),jy(this.components,Qe),Ct?.unregisterApplication(dt)}),this._loadComponent(Qe),Qe}tick(){this._tick(!0)}_tick(h){if(this._runningTick)throw new ge(101,!1);const L=re(null);try{this._runningTick=!0,this.detectChangesInAttachedViews(h)}catch(Q){this.internalErrorHandler(Q)}finally{this.afterTick.next(),this._runningTick=!1,re(L)}}detectChangesInAttachedViews(h){let L=0;const Q=this.afterRenderEffectManager;for(;;){if(L===Bx)throw new ge(103,!1);if(h){const fe=0===L;this.beforeRender.next(fe);for(let{_lView:Se,notifyErrorHandler:Pe}of this._views)PE(Se,fe,Pe)}if(L++,Q.executeInternalCallbacks(),![...this.externalTestViews.keys(),...this._views].some(({_lView:fe})=>kC(fe))&&(Q.execute(),![...this.externalTestViews.keys(),...this._views].some(({_lView:fe})=>kC(fe))))break}}attachView(h){const L=h;this._views.push(L),L.attachToAppRef(this)}detachView(h){const L=h;jy(this._views,L),L.detachFromAppRef()}_loadComponent(h){this.attachView(h.hostView),this.tick(),this.components.push(h);const L=this._injector.get(SC,[]);[...this._bootstrapListeners,...L].forEach(Q=>Q(h))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(h=>h()),this._views.slice().forEach(h=>h.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(h){return this._destroyListeners.push(h),()=>jy(this._destroyListeners,h)}destroy(){if(this._destroyed)throw new ge(406,!1);const h=this._injector;h.destroy&&!h.destroyed&&h.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static#e=this.\u0275fac=function(L){return new(L||t)};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function jy(t,s){const h=t.indexOf(s);h>-1&&t.splice(h,1)}function PE(t,s,h){!s&&!kC(t)||function RE(t,s,h){let L;h?(L=0,t[Bi]|=1024):L=64&t[Bi]?0:1,Gp(t,s,L)}(t,h,s)}function kC(t){return Nh(t)}class NE{constructor(s,h){this.ngModuleFactory=s,this.componentFactories=h}}let FE=(()=>{class t{compileModuleSync(h){return new Bv(h)}compileModuleAsync(h){return Promise.resolve(this.compileModuleSync(h))}compileModuleAndAllComponentsSync(h){const L=this.compileModuleSync(h),fe=Uo(er(h).declarations).reduce((Se,Pe)=>{const ze=pn(Pe);return ze&&Se.push(new rf(ze)),Se},[]);return new NE(L,fe)}compileModuleAndAllComponentsAsync(h){return Promise.resolve(this.compileModuleAndAllComponentsSync(h))}clearCache(){}clearCacheFor(h){}getModuleId(h){}static#e=this.\u0275fac=function(L){return new(L||t)};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),VE=(()=>{class t{constructor(){this.zone=$i(xr),this.applicationRef=$i(Uu)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static#e=this.\u0275fac=function(L){return new(L||t)};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function zE(){const t=$i(xr),s=$i(Sl);return h=>t.runOutsideAngular(()=>s.handleError(h))}let HE=(()=>{class t{constructor(){this.subscription=new N.yU,this.initialized=!1,this.zone=$i(xr),this.pendingTasks=$i(af)}initialize(){if(this.initialized)return;this.initialized=!0;let h=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(h=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{xr.assertNotInAngularZone(),queueMicrotask(()=>{null!==h&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(h),h=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{xr.assertInAngularZone(),h??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static#e=this.\u0275fac=function(L){return new(L||t)};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const zy=new $e("",{providedIn:"root",factory:()=>$i(zy,wn.Optional|wn.SkipSelf)||function UE(){return typeof $localize<"u"&&$localize.locale||Tf}()}),WE=new $e("",{providedIn:"root",factory:()=>"USD"}),DC=new $e("");let $k=(()=>{class t{constructor(h){this._injector=h,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(h,L){const Q=function t_(t="zone.js",s){return"noop"===t?new ov:"zone.js"===t?new xr(s):t}(L?.ngZone,function Wk(t){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:t?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:t?.runCoalescing??!1}}({eventCoalescing:L?.ngZoneEventCoalescing,runCoalescing:L?.ngZoneRunCoalescing}));return Q.run(()=>{const fe=function tT(t,s,h){return new l0(t,s,h)}(h.moduleType,this.injector,function Uk(t){return[{provide:xr,useFactory:t},{provide:Ao,multi:!0,useFactory:()=>{const s=$i(VE,{optional:!0});return()=>s.initialize()}},{provide:Ao,multi:!0,useFactory:()=>{const s=$i(HE);return()=>{s.initialize()}}},{provide:hh,useFactory:zE}]}(()=>Q)),Se=fe.injector.get(Sl,null);return Q.runOutsideAngular(()=>{const Pe=Q.onError.subscribe({next:ze=>{Se.handleError(ze)}});fe.onDestroy(()=>{jy(this._modules,fe),Pe.unsubscribe()})}),function zk(t,s,h){try{const L=h();return wC(L)?L.catch(Q=>{throw s.runOutsideAngular(()=>t.handleError(Q)),Q}):L}catch(L){throw s.runOutsideAngular(()=>t.handleError(L)),L}}(Se,Q,()=>{const Pe=fe.injector.get(TC);return Pe.runInitializers(),Pe.donePromise.then(()=>(function Sy(t){"string"==typeof t&&(U1=t.toLowerCase().replace(/_/g,"-"))}(fe.injector.get(zy,Tf)||Tf),this._moduleDoBootstrap(fe),fe))})})}bootstrapModule(h,L=[]){const Q=Gk({},L);return function jE(t,s,h){const L=new Bv(h);return Promise.resolve(L)}(0,0,h).then(fe=>this.bootstrapModuleFactory(fe,Q))}_moduleDoBootstrap(h){const L=h.injector.get(Uu);if(h._bootstrapComponents.length>0)h._bootstrapComponents.forEach(Q=>L.bootstrap(Q));else{if(!h.instance.ngDoBootstrap)throw new ge(-403,!1);h.instance.ngDoBootstrap(L)}this._modules.push(h)}onDestroy(h){this._destroyListeners.push(h)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new ge(404,!1);this._modules.slice().forEach(L=>L.destroy()),this._destroyListeners.forEach(L=>L());const h=this._injector.get(DC,null);h&&(h.forEach(L=>L()),h.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static#e=this.\u0275fac=function(L){return new(L||t)(Es(yr))};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac,providedIn:"platform"})}return t})(),Wu=null;const Xk=new $e("");function Yk(t,s,h=[]){const L=`Platform: ${s}`,Q=new $e(L);return(fe=[])=>{let Se=MC();if(!Se||Se.injector.get(Xk,!1)){const Pe=[...h,...fe,{provide:Q,useValue:!0}];t?t(Pe):function XE(t){if(Wu&&!Wu.get(Xk,!1))throw new ge(400,!1);(function Vk(){!function d(t){r=t}(()=>{throw new ge(600,!1)})})(),Wu=t;const s=t.get($k);(function Zk(t){t.get(mu,null)?.forEach(h=>h())})(t)}(function Kk(t=[],s){return yr.create({name:s,providers:[{provide:Hs,useValue:"platform"},{provide:DC,useValue:new Set([()=>Wu=null])},...t]})}(Pe,L))}return function YE(t){const s=MC();if(!s)throw new ge(401,!1);return s}()}}function MC(){return Wu?.get($k)??null}function ZE(){}let Qk=(()=>{class t{static#e=this.__NG_ELEMENT_ID__=qE}return t})();function qE(t){return function QE(t,s,h){if(Bo(t)&&!h){const L=jo(t.index,s);return new Up(L,L)}return 47&t.type?new Up(s[Is],s):null}(ds(),ni(),!(16&~t))}class iD{constructor(){}supports(s){return c0(s)}create(s){return new nA(s)}}const iA=(t,s)=>s;class nA{constructor(s){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=s||iA}forEachItem(s){let h;for(h=this._itHead;null!==h;h=h._next)s(h)}forEachOperation(s){let h=this._itHead,L=this._removalsHead,Q=0,fe=null;for(;h||L;){const Se=!L||h&&h.currentIndex{Se=this._trackByFn(Q,Pe),null!==h&&Object.is(h.trackById,Se)?(L&&(h=this._verifyReinsertion(h,Pe,Se,Q)),Object.is(h.item,Pe)||this._addIdentityChange(h,Pe)):(h=this._mismatch(h,Pe,Se,Q),L=!0),h=h._next,Q++}),this.length=Q;return this._truncate(h),this.collection=s,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let s;for(s=this._previousItHead=this._itHead;null!==s;s=s._next)s._nextPrevious=s._next;for(s=this._additionsHead;null!==s;s=s._nextAdded)s.previousIndex=s.currentIndex;for(this._additionsHead=this._additionsTail=null,s=this._movesHead;null!==s;s=s._nextMoved)s.previousIndex=s.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(s,h,L,Q){let fe;return null===s?fe=this._itTail:(fe=s._prev,this._remove(s)),null!==(s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(L,null))?(Object.is(s.item,h)||this._addIdentityChange(s,h),this._reinsertAfter(s,fe,Q)):null!==(s=null===this._linkedRecords?null:this._linkedRecords.get(L,Q))?(Object.is(s.item,h)||this._addIdentityChange(s,h),this._moveAfter(s,fe,Q)):s=this._addAfter(new sA(h,L),fe,Q),s}_verifyReinsertion(s,h,L,Q){let fe=null===this._unlinkedRecords?null:this._unlinkedRecords.get(L,null);return null!==fe?s=this._reinsertAfter(fe,s._prev,Q):s.currentIndex!=Q&&(s.currentIndex=Q,this._addToMoves(s,Q)),s}_truncate(s){for(;null!==s;){const h=s._next;this._addToRemovals(this._unlink(s)),s=h}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(s,h,L){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(s);const Q=s._prevRemoved,fe=s._nextRemoved;return null===Q?this._removalsHead=fe:Q._nextRemoved=fe,null===fe?this._removalsTail=Q:fe._prevRemoved=Q,this._insertAfter(s,h,L),this._addToMoves(s,L),s}_moveAfter(s,h,L){return this._unlink(s),this._insertAfter(s,h,L),this._addToMoves(s,L),s}_addAfter(s,h,L){return this._insertAfter(s,h,L),this._additionsTail=null===this._additionsTail?this._additionsHead=s:this._additionsTail._nextAdded=s,s}_insertAfter(s,h,L){const Q=null===h?this._itHead:h._next;return s._next=Q,s._prev=h,null===Q?this._itTail=s:Q._prev=s,null===h?this._itHead=s:h._next=s,null===this._linkedRecords&&(this._linkedRecords=new nD),this._linkedRecords.put(s),s.currentIndex=L,s}_remove(s){return this._addToRemovals(this._unlink(s))}_unlink(s){null!==this._linkedRecords&&this._linkedRecords.remove(s);const h=s._prev,L=s._next;return null===h?this._itHead=L:h._next=L,null===L?this._itTail=h:L._prev=h,s}_addToMoves(s,h){return s.previousIndex===h||(this._movesTail=null===this._movesTail?this._movesHead=s:this._movesTail._nextMoved=s),s}_addToRemovals(s){return null===this._unlinkedRecords&&(this._unlinkedRecords=new nD),this._unlinkedRecords.put(s),s.currentIndex=null,s._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=s,s._prevRemoved=null):(s._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=s),s}_addIdentityChange(s,h){return s.item=h,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=s:this._identityChangesTail._nextIdentityChange=s,s}}class sA{constructor(s,h){this.item=s,this.trackById=h,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class rA{constructor(){this._head=null,this._tail=null}add(s){null===this._head?(this._head=this._tail=s,s._nextDup=null,s._prevDup=null):(this._tail._nextDup=s,s._prevDup=this._tail,s._nextDup=null,this._tail=s)}get(s,h){let L;for(L=this._head;null!==L;L=L._nextDup)if((null===h||h<=L.currentIndex)&&Object.is(L.trackById,s))return L;return null}remove(s){const h=s._prevDup,L=s._nextDup;return null===h?this._head=L:h._nextDup=L,null===L?this._tail=h:L._prevDup=h,null===this._head}}class nD{constructor(){this.map=new Map}put(s){const h=s.trackById;let L=this.map.get(h);L||(L=new rA,this.map.set(h,L)),L.add(s)}get(s,h){const Q=this.map.get(s);return Q?Q.get(s,h):null}remove(s){const h=s.trackById;return this.map.get(h).remove(s)&&this.map.delete(h),s}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function sD(t,s,h){const L=t.previousIndex;if(null===L)return L;let Q=0;return h&&L{if(h&&h.key===Q)this._maybeAddToChanges(h,L),this._appendAfter=h,h=h._next;else{const fe=this._getOrCreateRecordForKey(Q,L);h=this._insertBeforeOrAppend(h,fe)}}),h){h._prev&&(h._prev._next=null),this._removalsHead=h;for(let L=h;null!==L;L=L._nextRemoved)L===this._mapHead&&(this._mapHead=null),this._records.delete(L.key),L._nextRemoved=L._next,L.previousValue=L.currentValue,L.currentValue=null,L._prev=null,L._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(s,h){if(s){const L=s._prev;return h._next=s,h._prev=L,s._prev=h,L&&(L._next=h),s===this._mapHead&&(this._mapHead=h),this._appendAfter=s,s}return this._appendAfter?(this._appendAfter._next=h,h._prev=this._appendAfter):this._mapHead=h,this._appendAfter=h,null}_getOrCreateRecordForKey(s,h){if(this._records.has(s)){const Q=this._records.get(s);this._maybeAddToChanges(Q,h);const fe=Q._prev,Se=Q._next;return fe&&(fe._next=Se),Se&&(Se._prev=fe),Q._next=null,Q._prev=null,Q}const L=new aA(s);return this._records.set(s,L),L.currentValue=h,this._addToAdditions(L),L}_reset(){if(this.isDirty){let s;for(this._previousMapHead=this._mapHead,s=this._previousMapHead;null!==s;s=s._next)s._nextPrevious=s._next;for(s=this._changesHead;null!==s;s=s._nextChanged)s.previousValue=s.currentValue;for(s=this._additionsHead;null!=s;s=s._nextAdded)s.previousValue=s.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(s,h){Object.is(h,s.currentValue)||(s.previousValue=s.currentValue,s.currentValue=h,this._addToChanges(s))}_addToAdditions(s){null===this._additionsHead?this._additionsHead=this._additionsTail=s:(this._additionsTail._nextAdded=s,this._additionsTail=s)}_addToChanges(s){null===this._changesHead?this._changesHead=this._changesTail=s:(this._changesTail._nextChanged=s,this._changesTail=s)}_forEach(s,h){s instanceof Map?s.forEach(h):Object.keys(s).forEach(L=>h(s[L],L))}}class aA{constructor(s){this.key=s,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function oD(){return new LC([new iD])}let LC=(()=>{class t{static#e=this.\u0275prov=Wi({token:t,providedIn:"root",factory:oD});constructor(h){this.factories=h}static create(h,L){if(null!=L){const Q=L.factories.slice();h=h.concat(Q)}return new t(h)}static extend(h){return{provide:t,useFactory:L=>t.create(h,L||oD()),deps:[[t,new eo,new Qs]]}}find(h){const L=this.factories.find(Q=>Q.supports(h));if(null!=L)return L;throw new ge(901,!1)}}return t})();function aD(){return new PC([new rD])}let PC=(()=>{class t{static#e=this.\u0275prov=Wi({token:t,providedIn:"root",factory:aD});constructor(h){this.factories=h}static create(h,L){if(L){const Q=L.factories.slice();h=h.concat(Q)}return new t(h)}static extend(h){return{provide:t,useFactory:L=>t.create(h,L||aD()),deps:[[t,new eo,new Qs]]}}find(h){const L=this.factories.find(Q=>Q.supports(h));if(L)return L;throw new ge(901,!1)}}return t})();const hA=Yk(null,"core",[]);let dA=(()=>{class t{constructor(h){}static#e=this.\u0275fac=function(L){return new(L||t)(Es(Uu))};static#t=this.\u0275mod=Oo({type:t});static#i=this.\u0275inj=On({})}return t})();function VA(t){return"boolean"==typeof t?t:null!=t&&"false"!==t}function zA(t,s=NaN){return isNaN(parseFloat(t))||isNaN(Number(t))?s:Number(t)}function HA(t,s){El("NgSignals");const h=function f(t){const s=Object.create(o);s.computation=t;const h=()=>{if(X(s),J(s),s.value===v)throw s.error;return s.value};return h[ne]=s,h}(t);return s?.equal&&(h[ne].equal=s.equal),h}function UA(t){const s=re(null);try{return t()}finally{re(s)}}const WA=new $e("",{providedIn:"root",factory:()=>$i($A)});let $A=(()=>{class t{static#e=this.\u0275prov=Wi({token:t,providedIn:"root",factory:()=>new XA})}return t})();class XA{constructor(){this.queuedEffectCount=0,this.queues=new Map,this.pendingTasks=$i(af),this.taskId=null}scheduleEffect(s){if(this.enqueue(s),null===this.taskId){const h=this.taskId=this.pendingTasks.add();queueMicrotask(()=>{this.flush(),this.pendingTasks.remove(h),this.taskId=null})}}enqueue(s){const h=s.creationZone;this.queues.has(h)||this.queues.set(h,new Set);const L=this.queues.get(h);L.has(s)||(this.queuedEffectCount++,L.add(s))}flush(){for(;this.queuedEffectCount>0;)for(const[s,h]of this.queues)null===s?this.flushQueue(h):s.run(()=>this.flushQueue(h))}flushQueue(s){for(const h of s)s.delete(h),this.queuedEffectCount--,h.run()}}class YA{constructor(s,h,L,Q,fe,Se){this.scheduler=s,this.effectFn=h,this.creationZone=L,this.injector=fe,this.watcher=function se(t,s,h){const L=Object.create($);h&&(L.consumerAllowSignalWrites=!0),L.fn=t,L.schedule=s;const Q=ze=>{L.cleanupFn=ze};return L.ref={notify:()=>F(L),run:()=>{if(null===L.fn)return;if(function le(){return Le}())throw new Error("Schedulers cannot synchronously execute watches while scheduling.");if(L.dirty=!1,L.hasRun&&!A(L))return;L.hasRun=!0;const ze=P(L);try{L.cleanupFn(),L.cleanupFn=S,L.fn(Q)}finally{D(L,ze)}},cleanup:()=>L.cleanupFn(),destroy:()=>function Se(ze){(function fe(ze){return null===ze.fn&&null===ze.schedule})(ze)||(I(ze),ze.cleanupFn(),ze.fn=null,ze.schedule=null,ze.cleanupFn=S)}(L),[ne]:L},L.ref}(Pe=>this.runEffect(Pe),()=>this.schedule(),Se),this.unregisterOnDestroy=Q?.onDestroy(()=>this.destroy())}runEffect(s){try{this.effectFn(s)}catch(h){this.injector.get(Sl,null,{optional:!0})?.handleError(h)}}run(){this.watcher.run()}schedule(){this.scheduler.scheduleEffect(this)}destroy(){this.watcher.destroy(),this.unregisterOnDestroy?.()}}function ED(t,s){El("NgSignals"),!s?.injector&&Ge();const h=s?.injector??$i(yr),L=!0!==s?.manualCleanup?h.get(ec):null,Q=new YA(h.get(WA),t,typeof Zone>"u"?null:Zone.current,L,h,s?.allowSignalWrites??!1),fe=h.get(Qk,null,{optional:!0});return fe&&8&fe._lView[Bi]?(fe._lView[Zr]??=[]).push(Q.watcher.notify):Q.watcher.notify(),Q}function KA(t,s){const h=pn(t),L=s.elementInjector||xa();return new rf(h).create(L,s.projectableNodes,s.hostElement,s.environmentInjector)}function ZA(t){const s=pn(t);if(!s)return null;const h=new rf(s);return{get selector(){return h.selector},get type(){return h.componentType},get inputs(){return h.inputs},get outputs(){return h.outputs},get ngContentSelectors(){return h.ngContentSelectors},get isStandalone(){return s.standalone},get isSignal(){return s.signals}}}},89079:(ri,Bt,We)=>{"use strict";We.d(Bt,{ot:()=>le,pQ:()=>Le});var M=We(54438),e=We(71985),V=We(56977);function Le(pe){pe||((0,M.Af3)(Le),pe=(0,M.WQX)(M.abz));const ue=new e.c(J=>pe.onDestroy(J.next.bind(J)));return J=>J.pipe((0,V.Q)(ue))}function le(pe,ue){const J=!ue?.manualCleanup;J&&!ue?.injector&&(0,M.Af3)(le);const te=J?ue?.injector?.get(M.abz)??(0,M.WQX)(M.abz):null;let X;X=(0,M.vPA)(ue?.requireSync?{kind:0}:{kind:1,value:ue?.initialValue});const E=pe.subscribe({next:j=>X.set({kind:1,value:j}),error:j=>{if(ue?.rejectErrors)throw j;X.set({kind:2,error:j})}});return te?.onDestroy(E.unsubscribe.bind(E)),(0,M.EWP)(()=>{const j=X();switch(j.kind){case 1:return j.value;case 2:throw j.error;case 0:throw new M.wOt(601,"`toSignal()` called with `requireSync` but `Observable` did not emit synchronously.")}})}},89417:(ri,Bt,We)=>{"use strict";We.d(Bt,{$R:()=>Xo,BC:()=>he,JD:()=>Tr,Q0:()=>Fa,VZ:()=>Ir,X1:()=>Ua,YN:()=>Bl,ZU:()=>x,Zm:()=>pe,cb:()=>ge,cz:()=>F,j4:()=>wr,k0:()=>A,kq:()=>ve,me:()=>X,ok:()=>hr,qT:()=>Na,vO:()=>N,vS:()=>ln});var M=We(54438),e=We(60177),V=We(86648),Le=We(27468),q=We(96354);let ne=(()=>{class ot{constructor(Ye,vt){this._renderer=Ye,this._elementRef=vt,this.onChange=Ft=>{},this.onTouched=()=>{}}setProperty(Ye,vt){this._renderer.setProperty(this._elementRef.nativeElement,Ye,vt)}registerOnTouched(Ye){this.onTouched=Ye}registerOnChange(Ye){this.onChange=Ye}setDisabledState(Ye){this.setProperty("disabled",Ye)}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(M.sFG),M.rXU(M.aKT))};static#t=this.\u0275dir=M.FsC({type:ot})}return ot})(),re=(()=>{class ot extends ne{static#e=this.\u0275fac=(()=>{let Ye;return function(Ft){return(Ye||(Ye=M.xGo(ot)))(Ft||ot)}})();static#t=this.\u0275dir=M.FsC({type:ot,features:[M.Vt3]})}return ot})();const ve=new M.nKC(""),le={provide:ve,useExisting:(0,M.Rfq)(()=>pe),multi:!0};let pe=(()=>{class ot extends re{writeValue(Ye){this.setProperty("checked",Ye)}static#e=this.\u0275fac=(()=>{let Ye;return function(Ft){return(Ye||(Ye=M.xGo(ot)))(Ft||ot)}})();static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(vt,Ft){1&vt&&M.bIt("change",function(mn){return Ft.onChange(mn.target.checked)})("blur",function(){return Ft.onTouched()})},features:[M.Jv_([le]),M.Vt3]})}return ot})();const ue={provide:ve,useExisting:(0,M.Rfq)(()=>X),multi:!0},te=new M.nKC("");let X=(()=>{class ot extends ne{constructor(Ye,vt,Ft){super(Ye,vt),this._compositionMode=Ft,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function J(){const ot=(0,e.QT)()?(0,e.QT)().getUserAgent():"";return/android (\d+)/.test(ot.toLowerCase())}())}writeValue(Ye){this.setProperty("value",Ye??"")}_handleInput(Ye){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(Ye)}_compositionStart(){this._composing=!0}_compositionEnd(Ye){this._composing=!1,this._compositionMode&&this.onChange(Ye)}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(M.sFG),M.rXU(M.aKT),M.rXU(te,8))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(vt,Ft){1&vt&&M.bIt("input",function(mn){return Ft._handleInput(mn.target.value)})("blur",function(){return Ft.onTouched()})("compositionstart",function(){return Ft._compositionStart()})("compositionend",function(mn){return Ft._compositionEnd(mn.target.value)})},features:[M.Jv_([ue]),M.Vt3]})}return ot})();function E(ot){return null==ot||("string"==typeof ot||Array.isArray(ot))&&0===ot.length}function j(ot){return null!=ot&&"number"==typeof ot.length}const F=new M.nKC(""),P=new M.nKC(""),D=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class A{static min(ct){return I(ct)}static max(ct){return function _(ot){return ct=>{if(E(ct.value)||E(ot))return null;const Ye=parseFloat(ct.value);return!isNaN(Ye)&&Ye>ot?{max:{max:ot,actual:ct.value}}:null}}(ct)}static required(ct){return function m(ot){return E(ot.value)?{required:!0}:null}(ct)}static requiredTrue(ct){return function w(ot){return!0===ot.value?null:{required:!0}}(ct)}static email(ct){return function G(ot){return E(ot.value)||D.test(ot.value)?null:{email:!0}}(ct)}static minLength(ct){return function O(ot){return ct=>E(ct.value)||!j(ct.value)?null:ct.value.lengthj(ct.value)&&ct.value.length>ot?{maxlength:{requiredLength:ot,actualLength:ct.value.length}}:null}(ct)}static pattern(ct){return function a(ot){if(!ot)return g;let ct,Ye;return"string"==typeof ot?(Ye="","^"!==ot.charAt(0)&&(Ye+="^"),Ye+=ot,"$"!==ot.charAt(ot.length-1)&&(Ye+="$"),ct=new RegExp(Ye)):(Ye=ot.toString(),ct=ot),vt=>{if(E(vt.value))return null;const Ft=vt.value;return ct.test(Ft)?null:{pattern:{requiredPattern:Ye,actualValue:Ft}}}}(ct)}static nullValidator(ct){return null}static compose(ct){return C(ct)}static composeAsync(ct){return p(ct)}}function I(ot){return ct=>{if(E(ct.value)||E(ot))return null;const Ye=parseFloat(ct.value);return!isNaN(Ye)&&Ye{ct=null!=Ye?{...ct,...Ye}:ct}),0===Object.keys(ct).length?null:ct}function r(ot,ct){return ct.map(Ye=>Ye(ot))}function d(ot){return ot.map(ct=>function l(ot){return!ot.validate}(ct)?ct:Ye=>ct.validate(Ye))}function C(ot){if(!ot)return null;const ct=ot.filter(v);return 0==ct.length?null:function(Ye){return n(r(Ye,ct))}}function k(ot){return null!=ot?C(d(ot)):null}function p(ot){if(!ot)return null;const ct=ot.filter(v);return 0==ct.length?null:function(Ye){const vt=r(Ye,ct).map(o);return(0,Le.p)(vt).pipe((0,q.T)(n))}}function T(ot){return null!=ot?p(d(ot)):null}function B(ot,ct){return null===ot?[ct]:Array.isArray(ot)?[...ot,ct]:[ot,ct]}function z(ot){return ot._rawValidators}function K(ot){return ot._rawAsyncValidators}function U(ot){return ot?Array.isArray(ot)?ot:[ot]:[]}function se(ot,ct){return Array.isArray(ot)?ot.includes(ct):ot===ct}function S(ot,ct){const Ye=U(ct);return U(ot).forEach(Ft=>{se(Ye,Ft)||Ye.push(Ft)}),Ye}function $(ot,ct){return U(ct).filter(Ye=>!se(ot,Ye))}class H{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(ct){this._rawValidators=ct||[],this._composedValidatorFn=k(this._rawValidators)}_setAsyncValidators(ct){this._rawAsyncValidators=ct||[],this._composedAsyncValidatorFn=T(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(ct){this._onDestroyCallbacks.push(ct)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(ct=>ct()),this._onDestroyCallbacks=[]}reset(ct=void 0){this.control&&this.control.reset(ct)}hasError(ct,Ye){return!!this.control&&this.control.hasError(ct,Ye)}getError(ct,Ye){return this.control?this.control.getError(ct,Ye):null}}class x extends H{get formDirective(){return null}get path(){return null}}class N extends H{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class R{constructor(ct){this._cd=ct}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let he=(()=>{class ot extends R{constructor(Ye){super(Ye)}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(N,2))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(vt,Ft){2&vt&&M.AVh("ng-untouched",Ft.isUntouched)("ng-touched",Ft.isTouched)("ng-pristine",Ft.isPristine)("ng-dirty",Ft.isDirty)("ng-valid",Ft.isValid)("ng-invalid",Ft.isInvalid)("ng-pending",Ft.isPending)},features:[M.Vt3]})}return ot})(),ge=(()=>{class ot extends R{constructor(Ye){super(Ye)}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(x,10))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(vt,Ft){2&vt&&M.AVh("ng-untouched",Ft.isUntouched)("ng-touched",Ft.isTouched)("ng-pristine",Ft.isPristine)("ng-dirty",Ft.isDirty)("ng-valid",Ft.isValid)("ng-invalid",Ft.isInvalid)("ng-pending",Ft.isPending)("ng-submitted",Ft.isSubmitted)},features:[M.Vt3]})}return ot})();const st="VALID",Tt="INVALID",pt="PENDING",ht="DISABLED";function Pt(ot){return(It(ot)?ot.validators:ot)||null}function ti(ot,ct){return(It(ct)?ct.asyncValidators:ot)||null}function It(ot){return null!=ot&&!Array.isArray(ot)&&"object"==typeof ot}function xt(ot,ct,Ye){const vt=ot.controls;if(!(ct?Object.keys(vt):vt).length)throw new M.wOt(1e3,"");if(!vt[Ye])throw new M.wOt(1001,"")}function wt(ot,ct,Ye){ot._forEachChild((vt,Ft)=>{if(void 0===Ye[Ft])throw new M.wOt(1002,"")})}class Qt{constructor(ct,Ye){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(ct),this._assignAsyncValidators(Ye)}get validator(){return this._composedValidatorFn}set validator(ct){this._rawValidators=this._composedValidatorFn=ct}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(ct){this._rawAsyncValidators=this._composedAsyncValidatorFn=ct}get parent(){return this._parent}get valid(){return this.status===st}get invalid(){return this.status===Tt}get pending(){return this.status==pt}get disabled(){return this.status===ht}get enabled(){return this.status!==ht}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(ct){this._assignValidators(ct)}setAsyncValidators(ct){this._assignAsyncValidators(ct)}addValidators(ct){this.setValidators(S(ct,this._rawValidators))}addAsyncValidators(ct){this.setAsyncValidators(S(ct,this._rawAsyncValidators))}removeValidators(ct){this.setValidators($(ct,this._rawValidators))}removeAsyncValidators(ct){this.setAsyncValidators($(ct,this._rawAsyncValidators))}hasValidator(ct){return se(this._rawValidators,ct)}hasAsyncValidator(ct){return se(this._rawAsyncValidators,ct)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(ct={}){this.touched=!0,this._parent&&!ct.onlySelf&&this._parent.markAsTouched(ct)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(ct=>ct.markAllAsTouched())}markAsUntouched(ct={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(Ye=>{Ye.markAsUntouched({onlySelf:!0})}),this._parent&&!ct.onlySelf&&this._parent._updateTouched(ct)}markAsDirty(ct={}){this.pristine=!1,this._parent&&!ct.onlySelf&&this._parent.markAsDirty(ct)}markAsPristine(ct={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(Ye=>{Ye.markAsPristine({onlySelf:!0})}),this._parent&&!ct.onlySelf&&this._parent._updatePristine(ct)}markAsPending(ct={}){this.status=pt,!1!==ct.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!ct.onlySelf&&this._parent.markAsPending(ct)}disable(ct={}){const Ye=this._parentMarkedDirty(ct.onlySelf);this.status=ht,this.errors=null,this._forEachChild(vt=>{vt.disable({...ct,onlySelf:!0})}),this._updateValue(),!1!==ct.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...ct,skipPristineCheck:Ye}),this._onDisabledChange.forEach(vt=>vt(!0))}enable(ct={}){const Ye=this._parentMarkedDirty(ct.onlySelf);this.status=st,this._forEachChild(vt=>{vt.enable({...ct,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:ct.emitEvent}),this._updateAncestors({...ct,skipPristineCheck:Ye}),this._onDisabledChange.forEach(vt=>vt(!1))}_updateAncestors(ct){this._parent&&!ct.onlySelf&&(this._parent.updateValueAndValidity(ct),ct.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(ct){this._parent=ct}getRawValue(){return this.value}updateValueAndValidity(ct={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===st||this.status===pt)&&this._runAsyncValidator(ct.emitEvent)),!1!==ct.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!ct.onlySelf&&this._parent.updateValueAndValidity(ct)}_updateTreeValidity(ct={emitEvent:!0}){this._forEachChild(Ye=>Ye._updateTreeValidity(ct)),this.updateValueAndValidity({onlySelf:!0,emitEvent:ct.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?ht:st}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(ct){if(this.asyncValidator){this.status=pt,this._hasOwnPendingAsyncValidator=!0;const Ye=o(this.asyncValidator(this));this._asyncValidationSubscription=Ye.subscribe(vt=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(vt,{emitEvent:ct})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(ct,Ye={}){this.errors=ct,this._updateControlsErrors(!1!==Ye.emitEvent)}get(ct){let Ye=ct;return null==Ye||(Array.isArray(Ye)||(Ye=Ye.split(".")),0===Ye.length)?null:Ye.reduce((vt,Ft)=>vt&&vt._find(Ft),this)}getError(ct,Ye){const vt=Ye?this.get(Ye):this;return vt&&vt.errors?vt.errors[ct]:null}hasError(ct,Ye){return!!this.getError(ct,Ye)}get root(){let ct=this;for(;ct._parent;)ct=ct._parent;return ct}_updateControlsErrors(ct){this.status=this._calculateStatus(),ct&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(ct)}_initObservables(){this.valueChanges=new M.bkB,this.statusChanges=new M.bkB}_calculateStatus(){return this._allControlsDisabled()?ht:this.errors?Tt:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(pt)?pt:this._anyControlsHaveStatus(Tt)?Tt:st}_anyControlsHaveStatus(ct){return this._anyControls(Ye=>Ye.status===ct)}_anyControlsDirty(){return this._anyControls(ct=>ct.dirty)}_anyControlsTouched(){return this._anyControls(ct=>ct.touched)}_updatePristine(ct={}){this.pristine=!this._anyControlsDirty(),this._parent&&!ct.onlySelf&&this._parent._updatePristine(ct)}_updateTouched(ct={}){this.touched=this._anyControlsTouched(),this._parent&&!ct.onlySelf&&this._parent._updateTouched(ct)}_registerOnCollectionChange(ct){this._onCollectionChange=ct}_setUpdateStrategy(ct){It(ct)&&null!=ct.updateOn&&(this._updateOn=ct.updateOn)}_parentMarkedDirty(ct){return!ct&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(ct){return null}_assignValidators(ct){this._rawValidators=Array.isArray(ct)?ct.slice():ct,this._composedValidatorFn=function Gt(ot){return Array.isArray(ot)?k(ot):ot||null}(this._rawValidators)}_assignAsyncValidators(ct){this._rawAsyncValidators=Array.isArray(ct)?ct.slice():ct,this._composedAsyncValidatorFn=function Dt(ot){return Array.isArray(ot)?T(ot):ot||null}(this._rawAsyncValidators)}}class di extends Qt{constructor(ct,Ye,vt){super(Pt(Ye),ti(vt,Ye)),this.controls=ct,this._initObservables(),this._setUpdateStrategy(Ye),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(ct,Ye){return this.controls[ct]?this.controls[ct]:(this.controls[ct]=Ye,Ye.setParent(this),Ye._registerOnCollectionChange(this._onCollectionChange),Ye)}addControl(ct,Ye,vt={}){this.registerControl(ct,Ye),this.updateValueAndValidity({emitEvent:vt.emitEvent}),this._onCollectionChange()}removeControl(ct,Ye={}){this.controls[ct]&&this.controls[ct]._registerOnCollectionChange(()=>{}),delete this.controls[ct],this.updateValueAndValidity({emitEvent:Ye.emitEvent}),this._onCollectionChange()}setControl(ct,Ye,vt={}){this.controls[ct]&&this.controls[ct]._registerOnCollectionChange(()=>{}),delete this.controls[ct],Ye&&this.registerControl(ct,Ye),this.updateValueAndValidity({emitEvent:vt.emitEvent}),this._onCollectionChange()}contains(ct){return this.controls.hasOwnProperty(ct)&&this.controls[ct].enabled}setValue(ct,Ye={}){wt(this,0,ct),Object.keys(ct).forEach(vt=>{xt(this,!0,vt),this.controls[vt].setValue(ct[vt],{onlySelf:!0,emitEvent:Ye.emitEvent})}),this.updateValueAndValidity(Ye)}patchValue(ct,Ye={}){null!=ct&&(Object.keys(ct).forEach(vt=>{const Ft=this.controls[vt];Ft&&Ft.patchValue(ct[vt],{onlySelf:!0,emitEvent:Ye.emitEvent})}),this.updateValueAndValidity(Ye))}reset(ct={},Ye={}){this._forEachChild((vt,Ft)=>{vt.reset(ct?ct[Ft]:null,{onlySelf:!0,emitEvent:Ye.emitEvent})}),this._updatePristine(Ye),this._updateTouched(Ye),this.updateValueAndValidity(Ye)}getRawValue(){return this._reduceChildren({},(ct,Ye,vt)=>(ct[vt]=Ye.getRawValue(),ct))}_syncPendingControls(){let ct=this._reduceChildren(!1,(Ye,vt)=>!!vt._syncPendingControls()||Ye);return ct&&this.updateValueAndValidity({onlySelf:!0}),ct}_forEachChild(ct){Object.keys(this.controls).forEach(Ye=>{const vt=this.controls[Ye];vt&&ct(vt,Ye)})}_setUpControls(){this._forEachChild(ct=>{ct.setParent(this),ct._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(ct){for(const[Ye,vt]of Object.entries(this.controls))if(this.contains(Ye)&&ct(vt))return!0;return!1}_reduceValue(){return this._reduceChildren({},(Ye,vt,Ft)=>((vt.enabled||this.disabled)&&(Ye[Ft]=vt.value),Ye))}_reduceChildren(ct,Ye){let vt=ct;return this._forEachChild((Ft,Fi)=>{vt=Ye(vt,Ft,Fi)}),vt}_allControlsDisabled(){for(const ct of Object.keys(this.controls))if(this.controls[ct].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(ct){return this.controls.hasOwnProperty(ct)?this.controls[ct]:null}}class zi extends di{}const Fn=new M.nKC("CallSetDisabledState",{providedIn:"root",factory:()=>as}),as="always";function ms(ot,ct){return[...ct.path,ot]}function Ln(ot,ct,Ye=as){Kn(ot,ct),ct.valueAccessor.writeValue(ot.value),(ot.disabled||"always"===Ye)&&ct.valueAccessor.setDisabledState?.(ot.disabled),function Bs(ot,ct){ct.valueAccessor.registerOnChange(Ye=>{ot._pendingValue=Ye,ot._pendingChange=!0,ot._pendingDirty=!0,"change"===ot.updateOn&&Wi(ot,ct)})}(ot,ct),function js(ot,ct){const Ye=(vt,Ft)=>{ct.valueAccessor.writeValue(vt),Ft&&ct.viewToModelUpdate(vt)};ot.registerOnChange(Ye),ct._registerOnDestroy(()=>{ot._unregisterOnChange(Ye)})}(ot,ct),function qn(ot,ct){ct.valueAccessor.registerOnTouched(()=>{ot._pendingTouched=!0,"blur"===ot.updateOn&&ot._pendingChange&&Wi(ot,ct),"submit"!==ot.updateOn&&ot.markAsTouched()})}(ot,ct),function Cs(ot,ct){if(ct.valueAccessor.setDisabledState){const Ye=vt=>{ct.valueAccessor.setDisabledState(vt)};ot.registerOnDisabledChange(Ye),ct._registerOnDestroy(()=>{ot._unregisterOnDisabledChange(Ye)})}}(ot,ct)}function fn(ot,ct,Ye=!0){const vt=()=>{};ct.valueAccessor&&(ct.valueAccessor.registerOnChange(vt),ct.valueAccessor.registerOnTouched(vt)),In(ot,ct),ot&&(ct._invokeOnDestroyCallbacks(),ot._registerOnCollectionChange(()=>{}))}function ki(ot,ct){ot.forEach(Ye=>{Ye.registerOnValidatorChange&&Ye.registerOnValidatorChange(ct)})}function Kn(ot,ct){const Ye=z(ot);null!==ct.validator?ot.setValidators(B(Ye,ct.validator)):"function"==typeof Ye&&ot.setValidators([Ye]);const vt=K(ot);null!==ct.asyncValidator?ot.setAsyncValidators(B(vt,ct.asyncValidator)):"function"==typeof vt&&ot.setAsyncValidators([vt]);const Ft=()=>ot.updateValueAndValidity();ki(ct._rawValidators,Ft),ki(ct._rawAsyncValidators,Ft)}function In(ot,ct){let Ye=!1;if(null!==ot){if(null!==ct.validator){const Ft=z(ot);if(Array.isArray(Ft)&&Ft.length>0){const Fi=Ft.filter(mn=>mn!==ct.validator);Fi.length!==Ft.length&&(Ye=!0,ot.setValidators(Fi))}}if(null!==ct.asyncValidator){const Ft=K(ot);if(Array.isArray(Ft)&&Ft.length>0){const Fi=Ft.filter(mn=>mn!==ct.asyncValidator);Fi.length!==Ft.length&&(Ye=!0,ot.setAsyncValidators(Fi))}}}const vt=()=>{};return ki(ct._rawValidators,vt),ki(ct._rawAsyncValidators,vt),Ye}function Wi(ot,ct){ot._pendingDirty&&ot.markAsDirty(),ot.setValue(ot._pendingValue,{emitModelToViewChange:!1}),ct.viewToModelUpdate(ot._pendingValue),ot._pendingChange=!1}function Nt(ot,ct){if(!ot.hasOwnProperty("model"))return!1;const Ye=ot.model;return!!Ye.isFirstChange()||!Object.is(ct,Ye.currentValue)}function $e(ot,ct){if(!ct)return null;let Ye,vt,Ft;return Array.isArray(ct),ct.forEach(Fi=>{Fi.constructor===X?Ye=Fi:function mt(ot){return Object.getPrototypeOf(ot.constructor)===re}(Fi)?vt=Fi:Ft=Fi}),Ft||vt||Ye||null}function qi(ot,ct){const Ye=ot.indexOf(ct);Ye>-1&&ot.splice(Ye,1)}function Ki(ot){return"object"==typeof ot&&null!==ot&&2===Object.keys(ot).length&&"value"in ot&&"disabled"in ot}Promise.resolve();const ls=class extends Qt{constructor(ct=null,Ye,vt){super(Pt(Ye),ti(vt,Ye)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(ct),this._setUpdateStrategy(Ye),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),It(Ye)&&(Ye.nonNullable||Ye.initialValueIsDefault)&&(this.defaultValue=Ki(ct)?ct.value:ct)}setValue(ct,Ye={}){this.value=this._pendingValue=ct,this._onChange.length&&!1!==Ye.emitModelToViewChange&&this._onChange.forEach(vt=>vt(this.value,!1!==Ye.emitViewToModelChange)),this.updateValueAndValidity(Ye)}patchValue(ct,Ye={}){this.setValue(ct,Ye)}reset(ct=this.defaultValue,Ye={}){this._applyFormState(ct),this.markAsPristine(Ye),this.markAsUntouched(Ye),this.setValue(this.value,Ye),this._pendingChange=!1}_updateValue(){}_anyControls(ct){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(ct){this._onChange.push(ct)}_unregisterOnChange(ct){qi(this._onChange,ct)}registerOnDisabledChange(ct){this._onDisabledChange.push(ct)}_unregisterOnDisabledChange(ct){qi(this._onDisabledChange,ct)}_forEachChild(ct){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(ct){Ki(ct)?(this.value=this._pendingValue=ct.value,ct.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=ct}};let gn=(()=>{class ot extends x{ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return ms(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}static#e=this.\u0275fac=(()=>{let Ye;return function(Ft){return(Ye||(Ye=M.xGo(ot)))(Ft||ot)}})();static#t=this.\u0275dir=M.FsC({type:ot,features:[M.Vt3]})}return ot})();const pr={provide:N,useExisting:(0,M.Rfq)(()=>ln)},Ui=Promise.resolve();let ln=(()=>{class ot extends N{constructor(Ye,vt,Ft,Fi,mn,io){super(),this._changeDetectorRef=mn,this.callSetDisabledState=io,this.control=new ls,this._registered=!1,this.name="",this.update=new M.bkB,this._parent=Ye,this._setValidators(vt),this._setAsyncValidators(Ft),this.valueAccessor=$e(0,Fi)}ngOnChanges(Ye){if(this._checkForErrors(),!this._registered||"name"in Ye){if(this._registered&&(this._checkName(),this.formDirective)){const vt=Ye.name.previousValue;this.formDirective.removeControl({name:vt,path:this._getPath(vt)})}this._setUpControl()}"isDisabled"in Ye&&this._updateDisabled(Ye),Nt(Ye,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(Ye){this.viewModel=Ye,this.update.emit(Ye)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){Ln(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(Ye){Ui.then(()=>{this.control.setValue(Ye,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(Ye){const vt=Ye.isDisabled.currentValue,Ft=0!==vt&&(0,M.L39)(vt);Ui.then(()=>{Ft&&!this.control.disabled?this.control.disable():!Ft&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(Ye){return this._parent?ms(Ye,this._parent):[Ye]}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(x,9),M.rXU(F,10),M.rXU(P,10),M.rXU(ve,10),M.rXU(M.gRc,8),M.rXU(Fn,8))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[M.Mj6.None,"disabled","isDisabled"],model:[M.Mj6.None,"ngModel","model"],options:[M.Mj6.None,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[M.Jv_([pr]),M.Vt3,M.OA$]})}return ot})(),Na=(()=>{class ot{static#e=this.\u0275fac=function(vt){return new(vt||ot)};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}return ot})();const lr={provide:ve,useExisting:(0,M.Rfq)(()=>Fa),multi:!0};let Fa=(()=>{class ot extends re{writeValue(Ye){this.setProperty("value",Ye??"")}registerOnChange(Ye){this.onChange=vt=>{Ye(""==vt?null:parseFloat(vt))}}static#e=this.\u0275fac=(()=>{let Ye;return function(Ft){return(Ye||(Ye=M.xGo(ot)))(Ft||ot)}})();static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(vt,Ft){1&vt&&M.bIt("input",function(mn){return Ft.onChange(mn.target.value)})("blur",function(){return Ft.onTouched()})},features:[M.Jv_([lr]),M.Vt3]})}return ot})();const $s=new M.nKC(""),Nl={provide:x,useExisting:(0,M.Rfq)(()=>wr)};let wr=(()=>{class ot extends x{constructor(Ye,vt,Ft){super(),this.callSetDisabledState=Ft,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new M.bkB,this._setValidators(Ye),this._setAsyncValidators(vt)}ngOnChanges(Ye){this._checkFormPresent(),Ye.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(In(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(Ye){const vt=this.form.get(Ye.path);return Ln(vt,Ye,this.callSetDisabledState),vt.updateValueAndValidity({emitEvent:!1}),this.directives.push(Ye),vt}getControl(Ye){return this.form.get(Ye.path)}removeControl(Ye){fn(Ye.control||null,Ye,!1),function yt(ot,ct){const Ye=ot.indexOf(ct);Ye>-1&&ot.splice(Ye,1)}(this.directives,Ye)}addFormGroup(Ye){this._setUpFormContainer(Ye)}removeFormGroup(Ye){this._cleanUpFormContainer(Ye)}getFormGroup(Ye){return this.form.get(Ye.path)}addFormArray(Ye){this._setUpFormContainer(Ye)}removeFormArray(Ye){this._cleanUpFormContainer(Ye)}getFormArray(Ye){return this.form.get(Ye.path)}updateModel(Ye,vt){this.form.get(Ye.path).setValue(vt)}onSubmit(Ye){return this.submitted=!0,function _t(ot,ct){ot._syncPendingControls(),ct.forEach(Ye=>{const vt=Ye.control;"submit"===vt.updateOn&&vt._pendingChange&&(Ye.viewToModelUpdate(vt._pendingValue),vt._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(Ye),"dialog"===Ye?.target?.method}onReset(){this.resetForm()}resetForm(Ye=void 0){this.form.reset(Ye),this.submitted=!1}_updateDomValue(){this.directives.forEach(Ye=>{const vt=Ye.control,Ft=this.form.get(Ye.path);vt!==Ft&&(fn(vt||null,Ye),(ot=>ot instanceof ls)(Ft)&&(Ln(Ft,Ye,this.callSetDisabledState),Ye.control=Ft))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(Ye){const vt=this.form.get(Ye.path);(function On(ot,ct){Kn(ot,ct)})(vt,Ye),vt.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(Ye){if(this.form){const vt=this.form.get(Ye.path);vt&&function ar(ot,ct){return In(ot,ct)}(vt,Ye)&&vt.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){Kn(this.form,this),this._oldForm&&In(this._oldForm,this)}_checkFormPresent(){}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(F,10),M.rXU(P,10),M.rXU(Fn,8))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["","formGroup",""]],hostBindings:function(vt,Ft){1&vt&&M.bIt("submit",function(mn){return Ft.onSubmit(mn)})("reset",function(){return Ft.onReset()})},inputs:{form:[M.Mj6.None,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[M.Jv_([Nl]),M.Vt3,M.OA$]})}return ot})();const Jr={provide:x,useExisting:(0,M.Rfq)(()=>Xo)};let Xo=(()=>{class ot extends gn{constructor(Ye,vt,Ft){super(),this.name=null,this._parent=Ye,this._setValidators(vt),this._setAsyncValidators(Ft)}_checkParentType(){da(this._parent)}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(x,13),M.rXU(F,10),M.rXU(P,10))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["","formGroupName",""]],inputs:{name:[M.Mj6.None,"formGroupName","name"]},features:[M.Jv_([Jr]),M.Vt3]})}return ot})();const Fl={provide:x,useExisting:(0,M.Rfq)(()=>mo)};let mo=(()=>{class ot extends x{constructor(Ye,vt,Ft){super(),this.name=null,this._parent=Ye,this._setValidators(vt),this._setAsyncValidators(Ft)}ngOnInit(){this._checkParentType(),this.formDirective.addFormArray(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormArray(this)}get control(){return this.formDirective.getFormArray(this)}get formDirective(){return this._parent?this._parent.formDirective:null}get path(){return ms(null==this.name?this.name:this.name.toString(),this._parent)}_checkParentType(){da(this._parent)}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(x,13),M.rXU(F,10),M.rXU(P,10))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["","formArrayName",""]],inputs:{name:[M.Mj6.None,"formArrayName","name"]},features:[M.Jv_([Fl]),M.Vt3]})}return ot})();function da(ot){return!(ot instanceof Xo||ot instanceof wr||ot instanceof mo)}const Ga={provide:N,useExisting:(0,M.Rfq)(()=>Tr)};let Tr=(()=>{class ot extends N{set isDisabled(Ye){}static#e=this._ngModelWarningSentOnce=!1;constructor(Ye,vt,Ft,Fi,mn){super(),this._ngModelWarningConfig=mn,this._added=!1,this.name=null,this.update=new M.bkB,this._ngModelWarningSent=!1,this._parent=Ye,this._setValidators(vt),this._setAsyncValidators(Ft),this.valueAccessor=$e(0,Fi)}ngOnChanges(Ye){this._added||this._setUpControl(),Nt(Ye,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(Ye){this.viewModel=Ye,this.update.emit(Ye)}get path(){return ms(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}static#t=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(x,13),M.rXU(F,10),M.rXU(P,10),M.rXU(ve,10),M.rXU($s,8))};static#i=this.\u0275dir=M.FsC({type:ot,selectors:[["","formControlName",""]],inputs:{name:[M.Mj6.None,"formControlName","name"],isDisabled:[M.Mj6.None,"disabled","isDisabled"],model:[M.Mj6.None,"ngModel","model"]},outputs:{update:"ngModelChange"},features:[M.Jv_([Ga]),M.Vt3,M.OA$]})}return ot})();let Qs=(()=>{class ot{constructor(){this._validator=g}ngOnChanges(Ye){if(this.inputName in Ye){const vt=this.normalizeInput(Ye[this.inputName].currentValue);this._enabled=this.enabled(vt),this._validator=this._enabled?this.createValidator(vt):g,this._onChange&&this._onChange()}}validate(Ye){return this._validator(Ye)}registerOnValidatorChange(Ye){this._onChange=Ye}enabled(Ye){return null!=Ye}static#e=this.\u0275fac=function(vt){return new(vt||ot)};static#t=this.\u0275dir=M.FsC({type:ot,features:[M.OA$]})}return ot})();const ma={provide:F,useExisting:(0,M.Rfq)(()=>Ir),multi:!0};let Ir=(()=>{class ot extends Qs{constructor(){super(...arguments),this.inputName="min",this.normalizeInput=Ye=>function fa(ot){return"number"==typeof ot?ot:parseFloat(ot)}(Ye),this.createValidator=Ye=>I(Ye)}static#e=this.\u0275fac=(()=>{let Ye;return function(Ft){return(Ye||(Ye=M.xGo(ot)))(Ft||ot)}})();static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["input","type","number","min","","formControlName",""],["input","type","number","min","","formControl",""],["input","type","number","min","","ngModel",""]],hostVars:1,hostBindings:function(vt,Ft){2&vt&&M.BMQ("min",Ft._enabled?Ft.min:null)},inputs:{min:"min"},features:[M.Jv_([ma]),M.Vt3]})}return ot})(),Sr=(()=>{class ot{static#e=this.\u0275fac=function(vt){return new(vt||ot)};static#t=this.\u0275mod=M.$C({type:ot});static#i=this.\u0275inj=M.G2t({})}return ot})();class Dn extends Qt{constructor(ct,Ye,vt){super(Pt(Ye),ti(vt,Ye)),this.controls=ct,this._initObservables(),this._setUpdateStrategy(Ye),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(ct){return this.controls[this._adjustIndex(ct)]}push(ct,Ye={}){this.controls.push(ct),this._registerControl(ct),this.updateValueAndValidity({emitEvent:Ye.emitEvent}),this._onCollectionChange()}insert(ct,Ye,vt={}){this.controls.splice(ct,0,Ye),this._registerControl(Ye),this.updateValueAndValidity({emitEvent:vt.emitEvent})}removeAt(ct,Ye={}){let vt=this._adjustIndex(ct);vt<0&&(vt=0),this.controls[vt]&&this.controls[vt]._registerOnCollectionChange(()=>{}),this.controls.splice(vt,1),this.updateValueAndValidity({emitEvent:Ye.emitEvent})}setControl(ct,Ye,vt={}){let Ft=this._adjustIndex(ct);Ft<0&&(Ft=0),this.controls[Ft]&&this.controls[Ft]._registerOnCollectionChange(()=>{}),this.controls.splice(Ft,1),Ye&&(this.controls.splice(Ft,0,Ye),this._registerControl(Ye)),this.updateValueAndValidity({emitEvent:vt.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(ct,Ye={}){wt(this,0,ct),ct.forEach((vt,Ft)=>{xt(this,!1,Ft),this.at(Ft).setValue(vt,{onlySelf:!0,emitEvent:Ye.emitEvent})}),this.updateValueAndValidity(Ye)}patchValue(ct,Ye={}){null!=ct&&(ct.forEach((vt,Ft)=>{this.at(Ft)&&this.at(Ft).patchValue(vt,{onlySelf:!0,emitEvent:Ye.emitEvent})}),this.updateValueAndValidity(Ye))}reset(ct=[],Ye={}){this._forEachChild((vt,Ft)=>{vt.reset(ct[Ft],{onlySelf:!0,emitEvent:Ye.emitEvent})}),this._updatePristine(Ye),this._updateTouched(Ye),this.updateValueAndValidity(Ye)}getRawValue(){return this.controls.map(ct=>ct.getRawValue())}clear(ct={}){this.controls.length<1||(this._forEachChild(Ye=>Ye._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:ct.emitEvent}))}_adjustIndex(ct){return ct<0?ct+this.length:ct}_syncPendingControls(){let ct=this.controls.reduce((Ye,vt)=>!!vt._syncPendingControls()||Ye,!1);return ct&&this.updateValueAndValidity({onlySelf:!0}),ct}_forEachChild(ct){this.controls.forEach((Ye,vt)=>{ct(Ye,vt)})}_updateValue(){this.value=this.controls.filter(ct=>ct.enabled||this.disabled).map(ct=>ct.value)}_anyControls(ct){return this.controls.some(Ye=>Ye.enabled&&ct(Ye))}_setUpControls(){this._forEachChild(ct=>this._registerControl(ct))}_allControlsDisabled(){for(const ct of this.controls)if(ct.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(ct){ct.setParent(this),ct._registerOnCollectionChange(this._onCollectionChange)}_find(ct){return this.at(ct)??null}}function Io(ot){return!!ot&&(void 0!==ot.asyncValidators||void 0!==ot.validators||void 0!==ot.updateOn)}let hr=(()=>{class ot{constructor(){this.useNonNullable=!1}get nonNullable(){const Ye=new ot;return Ye.useNonNullable=!0,Ye}group(Ye,vt=null){const Ft=this._reduceControls(Ye);let Fi={};return Io(vt)?Fi=vt:null!==vt&&(Fi.validators=vt.validator,Fi.asyncValidators=vt.asyncValidator),new di(Ft,Fi)}record(Ye,vt=null){const Ft=this._reduceControls(Ye);return new zi(Ft,vt)}control(Ye,vt,Ft){let Fi={};return this.useNonNullable?(Io(vt)?Fi=vt:(Fi.validators=vt,Fi.asyncValidators=Ft),new ls(Ye,{...Fi,nonNullable:!0})):new ls(Ye,vt,Ft)}array(Ye,vt,Ft){const Fi=Ye.map(mn=>this._createControl(mn));return new Dn(Fi,vt,Ft)}_reduceControls(Ye){const vt={};return Object.keys(Ye).forEach(Ft=>{vt[Ft]=this._createControl(Ye[Ft])}),vt}_createControl(Ye){return Ye instanceof ls||Ye instanceof Qt?Ye:Array.isArray(Ye)?this.control(Ye[0],Ye.length>1?Ye[1]:null,Ye.length>2?Ye[2]:null):this.control(Ye)}static#e=this.\u0275fac=function(vt){return new(vt||ot)};static#t=this.\u0275prov=M.jDH({token:ot,factory:ot.\u0275fac,providedIn:"root"})}return ot})(),Bl=(()=>{class ot{static withConfig(Ye){return{ngModule:ot,providers:[{provide:Fn,useValue:Ye.callSetDisabledState??as}]}}static#e=this.\u0275fac=function(vt){return new(vt||ot)};static#t=this.\u0275mod=M.$C({type:ot});static#i=this.\u0275inj=M.G2t({imports:[Sr]})}return ot})(),Ua=(()=>{class ot{static withConfig(Ye){return{ngModule:ot,providers:[{provide:$s,useValue:Ye.warnOnNgModelWithFormControl??"always"},{provide:Fn,useValue:Ye.callSetDisabledState??as}]}}static#e=this.\u0275fac=function(vt){return new(vt||ot)};static#t=this.\u0275mod=M.$C({type:ot});static#i=this.\u0275inj=M.G2t({imports:[Sr]})}return ot})()},345:(ri,Bt,We)=>{"use strict";We.d(Bt,{B7:()=>G,Bb:()=>R,EU:()=>ue,hE:()=>he,sG:()=>$,up:()=>Xe});var M=We(54438),e=We(60177);class V extends e.VF{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Le extends V{static makeCurrent(){(0,e.ZD)(new Le)}onAndCancel(It,xt,wt){return It.addEventListener(xt,wt),()=>{It.removeEventListener(xt,wt)}}dispatchEvent(It,xt){It.dispatchEvent(xt)}remove(It){It.parentNode&&It.parentNode.removeChild(It)}createElement(It,xt){return(xt=xt||this.getDefaultDocument()).createElement(It)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(It){return It.nodeType===Node.ELEMENT_NODE}isShadowRoot(It){return It instanceof DocumentFragment}getGlobalEventTarget(It,xt){return"window"===xt?window:"document"===xt?It:"body"===xt?It.body:null}getBaseHref(It){const xt=function ne(){return q=q||document.querySelector("base"),q?q.getAttribute("href"):null}();return null==xt?null:function re(Dt){return new URL(Dt,document.baseURI).pathname}(xt)}resetBaseElement(){q=null}getUserAgent(){return window.navigator.userAgent}getCookie(It){return(0,e._b)(document.cookie,It)}}let q=null,le=(()=>{class Dt{build(){return new XMLHttpRequest}static#e=this.\u0275fac=function(wt){return new(wt||Dt)};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac})}return Dt})();const pe=new M.nKC("");let ue=(()=>{class Dt{constructor(xt,wt){this._zone=wt,this._eventNameToPlugin=new Map,xt.forEach(Qt=>{Qt.manager=this}),this._plugins=xt.slice().reverse()}addEventListener(xt,wt,Qt){return this._findPluginFor(wt).addEventListener(xt,wt,Qt)}getZone(){return this._zone}_findPluginFor(xt){let wt=this._eventNameToPlugin.get(xt);if(wt)return wt;if(wt=this._plugins.find(di=>di.supports(xt)),!wt)throw new M.wOt(5101,!1);return this._eventNameToPlugin.set(xt,wt),wt}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(pe),M.KVO(M.SKi))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac})}return Dt})();class J{constructor(It){this._doc=It}}const te="ng-app-id";let X=(()=>{class Dt{constructor(xt,wt,Qt,di={}){this.doc=xt,this.appId=wt,this.nonce=Qt,this.platformId=di,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=(0,e.Vy)(di),this.resetHostNodes()}addStyles(xt){for(const wt of xt)1===this.changeUsageCount(wt,1)&&this.onStyleAdded(wt)}removeStyles(xt){for(const wt of xt)this.changeUsageCount(wt,-1)<=0&&this.onStyleRemoved(wt)}ngOnDestroy(){const xt=this.styleNodesInDOM;xt&&(xt.forEach(wt=>wt.remove()),xt.clear());for(const wt of this.getAllStyles())this.onStyleRemoved(wt);this.resetHostNodes()}addHost(xt){this.hostNodes.add(xt);for(const wt of this.getAllStyles())this.addStyleToHost(xt,wt)}removeHost(xt){this.hostNodes.delete(xt)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(xt){for(const wt of this.hostNodes)this.addStyleToHost(wt,xt)}onStyleRemoved(xt){const wt=this.styleRef;wt.get(xt)?.elements?.forEach(Qt=>Qt.remove()),wt.delete(xt)}collectServerRenderedStyles(){const xt=this.doc.head?.querySelectorAll(`style[${te}="${this.appId}"]`);if(xt?.length){const wt=new Map;return xt.forEach(Qt=>{null!=Qt.textContent&&wt.set(Qt.textContent,Qt)}),wt}return null}changeUsageCount(xt,wt){const Qt=this.styleRef;if(Qt.has(xt)){const di=Qt.get(xt);return di.usage+=wt,di.usage}return Qt.set(xt,{usage:wt,elements:[]}),wt}getStyleElement(xt,wt){const Qt=this.styleNodesInDOM,di=Qt?.get(wt);if(di?.parentNode===xt)return Qt.delete(wt),di.removeAttribute(te),di;{const Ni=this.doc.createElement("style");return this.nonce&&Ni.setAttribute("nonce",this.nonce),Ni.textContent=wt,this.platformIsServer&&Ni.setAttribute(te,this.appId),xt.appendChild(Ni),Ni}}addStyleToHost(xt,wt){const Qt=this.getStyleElement(xt,wt),di=this.styleRef,Ni=di.get(wt)?.elements;Ni?Ni.push(Qt):di.set(wt,{elements:[Qt],usage:1})}resetHostNodes(){const xt=this.hostNodes;xt.clear(),xt.add(this.doc.head)}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(e.qQ),M.KVO(M.sZ2),M.KVO(M.BIS,8),M.KVO(M.Agw))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac})}return Dt})();const E={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},j=/%COMP%/g,F="%COMP%",P=`_nghost-${F}`,D=`_ngcontent-${F}`,I=new M.nKC("",{providedIn:"root",factory:()=>!0});function w(Dt,It){return It.map(xt=>xt.replace(j,Dt))}let G=(()=>{class Dt{constructor(xt,wt,Qt,di,Ni,mi,vi,zi=null){this.eventManager=xt,this.sharedStylesHost=wt,this.appId=Qt,this.removeStylesOnCompDestroy=di,this.doc=Ni,this.platformId=mi,this.ngZone=vi,this.nonce=zi,this.rendererByCompId=new Map,this.platformIsServer=(0,e.Vy)(mi),this.defaultRenderer=new O(xt,Ni,vi,this.platformIsServer)}createRenderer(xt,wt){if(!xt||!wt)return this.defaultRenderer;this.platformIsServer&&wt.encapsulation===M.gXe.ShadowDom&&(wt={...wt,encapsulation:M.gXe.Emulated});const Qt=this.getOrCreateRenderer(xt,wt);return Qt instanceof n?Qt.applyToHost(xt):Qt instanceof o&&Qt.applyStyles(),Qt}getOrCreateRenderer(xt,wt){const Qt=this.rendererByCompId;let di=Qt.get(wt.id);if(!di){const Ni=this.doc,mi=this.ngZone,vi=this.eventManager,zi=this.sharedStylesHost,gs=this.removeStylesOnCompDestroy,Fn=this.platformIsServer;switch(wt.encapsulation){case M.gXe.Emulated:di=new n(vi,zi,wt,this.appId,gs,Ni,mi,Fn);break;case M.gXe.ShadowDom:return new v(vi,zi,xt,wt,Ni,mi,this.nonce,Fn);default:di=new o(vi,zi,wt,gs,Ni,mi,Fn)}Qt.set(wt.id,di)}return di}ngOnDestroy(){this.rendererByCompId.clear()}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(ue),M.KVO(X),M.KVO(M.sZ2),M.KVO(I),M.KVO(e.qQ),M.KVO(M.Agw),M.KVO(M.SKi),M.KVO(M.BIS))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac})}return Dt})();class O{constructor(It,xt,wt,Qt){this.eventManager=It,this.doc=xt,this.ngZone=wt,this.platformIsServer=Qt,this.data=Object.create(null),this.throwOnSyntheticProps=!0,this.destroyNode=null}destroy(){}createElement(It,xt){return xt?this.doc.createElementNS(E[xt]||xt,It):this.doc.createElement(It)}createComment(It){return this.doc.createComment(It)}createText(It){return this.doc.createTextNode(It)}appendChild(It,xt){(g(It)?It.content:It).appendChild(xt)}insertBefore(It,xt,wt){It&&(g(It)?It.content:It).insertBefore(xt,wt)}removeChild(It,xt){It&&It.removeChild(xt)}selectRootElement(It,xt){let wt="string"==typeof It?this.doc.querySelector(It):It;if(!wt)throw new M.wOt(-5104,!1);return xt||(wt.textContent=""),wt}parentNode(It){return It.parentNode}nextSibling(It){return It.nextSibling}setAttribute(It,xt,wt,Qt){if(Qt){xt=Qt+":"+xt;const di=E[Qt];di?It.setAttributeNS(di,xt,wt):It.setAttribute(xt,wt)}else It.setAttribute(xt,wt)}removeAttribute(It,xt,wt){if(wt){const Qt=E[wt];Qt?It.removeAttributeNS(Qt,xt):It.removeAttribute(`${wt}:${xt}`)}else It.removeAttribute(xt)}addClass(It,xt){It.classList.add(xt)}removeClass(It,xt){It.classList.remove(xt)}setStyle(It,xt,wt,Qt){Qt&(M.czy.DashCase|M.czy.Important)?It.style.setProperty(xt,wt,Qt&M.czy.Important?"important":""):It.style[xt]=wt}removeStyle(It,xt,wt){wt&M.czy.DashCase?It.style.removeProperty(xt):It.style[xt]=""}setProperty(It,xt,wt){null!=It&&(It[xt]=wt)}setValue(It,xt){It.nodeValue=xt}listen(It,xt,wt){if("string"==typeof It&&!(It=(0,e.QT)().getGlobalEventTarget(this.doc,It)))throw new Error(`Unsupported event target ${It} for event ${xt}`);return this.eventManager.addEventListener(It,xt,this.decoratePreventDefault(wt))}decoratePreventDefault(It){return xt=>{if("__ngUnwrap__"===xt)return It;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>It(xt)):It(xt))&&xt.preventDefault()}}}function g(Dt){return"TEMPLATE"===Dt.tagName&&void 0!==Dt.content}class v extends O{constructor(It,xt,wt,Qt,di,Ni,mi,vi){super(It,di,Ni,vi),this.sharedStylesHost=xt,this.hostEl=wt,this.shadowRoot=wt.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const zi=w(Qt.id,Qt.styles);for(const gs of zi){const Fn=document.createElement("style");mi&&Fn.setAttribute("nonce",mi),Fn.textContent=gs,this.shadowRoot.appendChild(Fn)}}nodeOrShadowRoot(It){return It===this.hostEl?this.shadowRoot:It}appendChild(It,xt){return super.appendChild(this.nodeOrShadowRoot(It),xt)}insertBefore(It,xt,wt){return super.insertBefore(this.nodeOrShadowRoot(It),xt,wt)}removeChild(It,xt){return super.removeChild(this.nodeOrShadowRoot(It),xt)}parentNode(It){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(It)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class o extends O{constructor(It,xt,wt,Qt,di,Ni,mi,vi){super(It,di,Ni,mi),this.sharedStylesHost=xt,this.removeStylesOnCompDestroy=Qt,this.styles=vi?w(vi,wt.styles):wt.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class n extends o{constructor(It,xt,wt,Qt,di,Ni,mi,vi){const zi=Qt+"-"+wt.id;super(It,xt,wt,di,Ni,mi,vi,zi),this.contentAttr=function _(Dt){return D.replace(j,Dt)}(zi),this.hostAttr=function m(Dt){return P.replace(j,Dt)}(zi)}applyToHost(It){this.applyStyles(),this.setAttribute(It,this.hostAttr,"")}createElement(It,xt){const wt=super.createElement(It,xt);return super.setAttribute(wt,this.contentAttr,""),wt}}let r=(()=>{class Dt extends J{constructor(xt){super(xt)}supports(xt){return!0}addEventListener(xt,wt,Qt){return xt.addEventListener(wt,Qt,!1),()=>this.removeEventListener(xt,wt,Qt)}removeEventListener(xt,wt,Qt){return xt.removeEventListener(wt,Qt)}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(e.qQ))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac})}return Dt})();const l=["alt","control","meta","shift"],d={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},C={alt:Dt=>Dt.altKey,control:Dt=>Dt.ctrlKey,meta:Dt=>Dt.metaKey,shift:Dt=>Dt.shiftKey};let k=(()=>{class Dt extends J{constructor(xt){super(xt)}supports(xt){return null!=Dt.parseEventName(xt)}addEventListener(xt,wt,Qt){const di=Dt.parseEventName(wt),Ni=Dt.eventCallback(di.fullKey,Qt,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>(0,e.QT)().onAndCancel(xt,di.domEventName,Ni))}static parseEventName(xt){const wt=xt.toLowerCase().split("."),Qt=wt.shift();if(0===wt.length||"keydown"!==Qt&&"keyup"!==Qt)return null;const di=Dt._normalizeKey(wt.pop());let Ni="",mi=wt.indexOf("code");if(mi>-1&&(wt.splice(mi,1),Ni="code."),l.forEach(zi=>{const gs=wt.indexOf(zi);gs>-1&&(wt.splice(gs,1),Ni+=zi+".")}),Ni+=di,0!=wt.length||0===di.length)return null;const vi={};return vi.domEventName=Qt,vi.fullKey=Ni,vi}static matchEventFullKeyCode(xt,wt){let Qt=d[xt.key]||xt.key,di="";return wt.indexOf("code.")>-1&&(Qt=xt.code,di="code."),!(null==Qt||!Qt)&&(Qt=Qt.toLowerCase()," "===Qt?Qt="space":"."===Qt&&(Qt="dot"),l.forEach(Ni=>{Ni!==Qt&&(0,C[Ni])(xt)&&(di+=Ni+".")}),di+=Qt,di===wt)}static eventCallback(xt,wt,Qt){return di=>{Dt.matchEventFullKeyCode(di,xt)&&Qt.runGuarded(()=>wt(di))}}static _normalizeKey(xt){return"esc"===xt?"escape":xt}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(e.qQ))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac})}return Dt})();const $=(0,M.oH4)(M.fpN,"browser",[{provide:M.Agw,useValue:e.AJ},{provide:M.PLl,useValue:function K(){Le.makeCurrent()},multi:!0},{provide:e.qQ,useFactory:function se(){return(0,M.TL$)(document),document},deps:[]}]),H=new M.nKC(""),x=[{provide:M.e01,useClass:class ve{addToWindow(It){M.JZv.getAngularTestability=(wt,Qt=!0)=>{const di=It.findTestabilityInTree(wt,Qt);if(null==di)throw new M.wOt(5103,!1);return di},M.JZv.getAllAngularTestabilities=()=>It.getAllTestabilities(),M.JZv.getAllAngularRootElements=()=>It.getAllRootElements(),M.JZv.frameworkStabilizers||(M.JZv.frameworkStabilizers=[]),M.JZv.frameworkStabilizers.push(wt=>{const Qt=M.JZv.getAllAngularTestabilities();let di=Qt.length;const Ni=function(){di--,0==di&&wt()};Qt.forEach(mi=>{mi.whenStable(Ni)})})}findTestabilityInTree(It,xt,wt){return null==xt?null:It.getTestability(xt)??(wt?(0,e.QT)().isShadowRoot(xt)?this.findTestabilityInTree(It,xt.host,!0):this.findTestabilityInTree(It,xt.parentElement,!0):null)}},deps:[]},{provide:M.WHO,useClass:M.NYb,deps:[M.SKi,M.giA,M.e01]},{provide:M.NYb,useClass:M.NYb,deps:[M.SKi,M.giA,M.e01]}],N=[{provide:M.H8p,useValue:"root"},{provide:M.zcH,useFactory:function U(){return new M.zcH},deps:[]},{provide:pe,useClass:r,multi:!0,deps:[e.qQ,M.SKi,M.Agw]},{provide:pe,useClass:k,multi:!0,deps:[e.qQ]},G,X,ue,{provide:M._9s,useExisting:G},{provide:e.N0,useClass:le,deps:[]},[]];let R=(()=>{class Dt{constructor(xt){}static withServerTransition(xt){return{ngModule:Dt,providers:[{provide:M.sZ2,useValue:xt.appId}]}}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(H,12))};static#t=this.\u0275mod=M.$C({type:Dt});static#i=this.\u0275inj=M.G2t({providers:[...N,...x],imports:[e.MD,M.Hbi]})}return Dt})(),he=(()=>{class Dt{constructor(xt){this._doc=xt}getTitle(){return this._doc.title}setTitle(xt){this._doc.title=xt||""}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(e.qQ))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac,providedIn:"root"})}return Dt})(),Xe=(()=>{class Dt{static#e=this.\u0275fac=function(wt){return new(wt||Dt)};static#t=this.\u0275prov=M.jDH({token:Dt,factory:function(wt){let Qt=null;return Qt=wt?new(wt||Dt):M.KVO(Je),Qt},providedIn:"root"})}return Dt})(),Je=(()=>{class Dt extends Xe{constructor(xt){super(),this._doc=xt}sanitize(xt,wt){if(null==wt)return null;switch(xt){case M.WPN.NONE:return wt;case M.WPN.HTML:return(0,M.ZF7)(wt,"HTML")?(0,M.rcV)(wt):(0,M.h9k)(this._doc,String(wt)).toString();case M.WPN.STYLE:return(0,M.ZF7)(wt,"Style")?(0,M.rcV)(wt):wt;case M.WPN.SCRIPT:if((0,M.ZF7)(wt,"Script"))return(0,M.rcV)(wt);throw new M.wOt(5200,!1);case M.WPN.URL:return(0,M.ZF7)(wt,"URL")?(0,M.rcV)(wt):(0,M.$MX)(String(wt));case M.WPN.RESOURCE_URL:if((0,M.ZF7)(wt,"ResourceURL"))return(0,M.rcV)(wt);throw new M.wOt(5201,!1);default:throw new M.wOt(5202,!1)}}bypassSecurityTrustHtml(xt){return(0,M.Kcf)(xt)}bypassSecurityTrustStyle(xt){return(0,M.cWb)(xt)}bypassSecurityTrustScript(xt){return(0,M.UyX)(xt)}bypassSecurityTrustUrl(xt){return(0,M.osQ)(xt)}bypassSecurityTrustResourceUrl(xt){return(0,M.e5t)(xt)}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(e.qQ))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac,providedIn:"root"})}return Dt})()},99062:(ri,Bt,We)=>{"use strict";We.d(Bt,{nX:()=>$i,wF:()=>bs,Kp:()=>Is,b:()=>zs,Ix:()=>jn,Wk:()=>Qi,wQ:()=>No,iI:()=>Ah,n3:()=>ga});var M=We(54438),e=We(74402),V=We(86648),Le=We(7673),q=We(84412),ne=We(71985),re=We(93073),ve=We(33669),le=We(6450),pe=We(9326),ue=We(58496),J=We(54360),te=We(45225);function X(...Re){const He=(0,pe.lI)(Re),Fe=(0,pe.ms)(Re),{args:Ue,keys:rt}=(0,re.D)(Re);if(0===Ue.length)return(0,V.H)([],He);const gt=new ne.c(function E(Re,He,Fe=ve.D){return Ue=>{j(He,()=>{const{length:rt}=Re,gt=new Array(rt);let Ot=rt,qt=rt;for(let Xt=0;Xt{const Ei=(0,V.H)(Re[Xt],He);let on=!1;Ei.subscribe((0,J._)(Ue,bn=>{gt[Xt]=bn,on||(on=!0,qt--),qt||Ue.next(Fe(gt.slice()))},()=>{--Ot||Ue.complete()}))},Ue)},Ue)}}(Ue,He,rt?Ot=>(0,ue.e)(rt,Ot):ve.D));return Fe?gt.pipe((0,le.I)(Fe)):gt}function j(Re,He,Fe){Re?(0,te.N)(Fe,Re,He):He()}const P=(0,We(81853).L)(Re=>function(){Re(this),this.name="EmptyError",this.message="no elements in sequence"});var D=We(28793),A=We(59030),I=We(71203),_=We(18810),m=We(983),w=We(18359),G=We(39974);function O(){return(0,G.N)((Re,He)=>{let Fe=null;Re._refCount++;const Ue=(0,J._)(He,void 0,void 0,void 0,()=>{if(!Re||Re._refCount<=0||0<--Re._refCount)return void(Fe=null);const rt=Re._connection,gt=Fe;Fe=null,rt&&(!gt||rt===gt)&&rt.unsubscribe(),He.unsubscribe()});Re.subscribe(Ue),Ue.closed||(Fe=Re.connect())})}class f extends ne.c{constructor(He,Fe){super(),this.source=He,this.subjectFactory=Fe,this._subject=null,this._refCount=0,this._connection=null,(0,G.S)(He)&&(this.lift=He.lift)}_subscribe(He){return this.getSubject().subscribe(He)}getSubject(){const He=this._subject;return(!He||He.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:He}=this;this._subject=this._connection=null,He?.unsubscribe()}connect(){let He=this._connection;if(!He){He=this._connection=new w.yU;const Fe=this.getSubject();He.add(this.source.subscribe((0,J._)(Fe,void 0,()=>{this._teardown(),Fe.complete()},Ue=>{this._teardown(),Fe.error(Ue)},()=>this._teardown()))),He.closed&&(this._connection=null,He=w.yU.EMPTY)}return He}refCount(){return O()(this)}}var a=We(21413),g=We(60177),v=We(96354),o=We(25558),n=We(96697),r=We(99172),l=We(5964),d=We(73028);function C(Re){return(0,G.N)((He,Fe)=>{let Ue=!1;He.subscribe((0,J._)(Fe,rt=>{Ue=!0,Fe.next(rt)},()=>{Ue||Fe.next(Re),Fe.complete()}))})}function k(Re=p){return(0,G.N)((He,Fe)=>{let Ue=!1;He.subscribe((0,J._)(Fe,rt=>{Ue=!0,Fe.next(rt)},()=>Ue?Fe.complete():Fe.error(Re())))})}function p(){return new P}function T(Re,He){const Fe=arguments.length>=2;return Ue=>Ue.pipe(Re?(0,l.p)((rt,gt)=>Re(rt,gt,Ue)):ve.D,(0,n.s)(1),Fe?C(He):k(()=>new P))}var B=We(70274),z=We(88141),K=We(99437);function S(Re){return Re<=0?()=>m.w:(0,G.N)((He,Fe)=>{let Ue=[];He.subscribe((0,J._)(Fe,rt=>{Ue.push(rt),Re{for(const rt of Ue)Fe.next(rt);Fe.complete()},void 0,()=>{Ue=null}))})}var H=We(73703),x=We(70980),N=We(56977),R=We(26365),Z=We(345);const Y="primary",he=Symbol("RouteTitle");class ge{constructor(He){this.params=He||{}}has(He){return Object.prototype.hasOwnProperty.call(this.params,He)}get(He){if(this.has(He)){const Fe=this.params[He];return Array.isArray(Fe)?Fe[0]:Fe}return null}getAll(He){if(this.has(He)){const Fe=this.params[He];return Array.isArray(Fe)?Fe:[Fe]}return[]}get keys(){return Object.keys(this.params)}}function _e(Re){return new ge(Re)}function Te(Re,He,Fe){const Ue=Fe.path.split("/");if(Ue.length>Re.length||"full"===Fe.pathMatch&&(He.hasChildren()||Ue.lengthUe[gt]===rt)}return Re===He}function ee(Re){return Re.length>0?Re[Re.length-1]:null}function be(Re){return(0,e.A)(Re)?Re:(0,M.jNT)(Re)?(0,V.H)(Promise.resolve(Re)):(0,Le.of)(Re)}const xe={exact:function Me(Re,He,Fe){if(!Pt(Re.segments,He.segments)||!qe(Re.segments,He.segments,Fe)||Re.numberOfChildren!==He.numberOfChildren)return!1;for(const Ue in He.children)if(!Re.children[Ue]||!Me(Re.children[Ue],He.children[Ue],Fe))return!1;return!0},subset:Je},Ie={exact:function Ee(Re,He){return De(Re,He)},subset:function Xe(Re,He){return Object.keys(He).length<=Object.keys(Re).length&&Object.keys(He).every(Fe=>oe(Re[Fe],He[Fe]))},ignored:()=>!0};function we(Re,He,Fe){return xe[Fe.paths](Re.root,He.root,Fe.matrixParams)&&Ie[Fe.queryParams](Re.queryParams,He.queryParams)&&!("exact"===Fe.fragment&&Re.fragment!==He.fragment)}function Je(Re,He,Fe){return lt(Re,He,He.segments,Fe)}function lt(Re,He,Fe,Ue){if(Re.segments.length>Fe.length){const rt=Re.segments.slice(0,Fe.length);return!(!Pt(rt,Fe)||He.hasChildren()||!qe(rt,Fe,Ue))}if(Re.segments.length===Fe.length){if(!Pt(Re.segments,Fe)||!qe(Re.segments,Fe,Ue))return!1;for(const rt in He.children)if(!Re.children[rt]||!Je(Re.children[rt],He.children[rt],Ue))return!1;return!0}{const rt=Fe.slice(0,Re.segments.length),gt=Fe.slice(Re.segments.length);return!!(Pt(Re.segments,rt)&&qe(Re.segments,rt,Ue)&&Re.children[Y])&<(Re.children[Y],He,gt,Ue)}}function qe(Re,He,Fe){return He.every((Ue,rt)=>Ie[Fe](Re[rt].parameters,Ue.parameters))}class st{constructor(He=new Tt([],{}),Fe={},Ue=null){this.root=He,this.queryParams=Fe,this.fragment=Ue}get queryParamMap(){return this._queryParamMap??=_e(this.queryParams),this._queryParamMap}toString(){return It.serialize(this)}}class Tt{constructor(He,Fe){this.segments=He,this.children=Fe,this.parent=null,Object.values(Fe).forEach(Ue=>Ue.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return xt(this)}}class pt{constructor(He,Fe){this.path=He,this.parameters=Fe}get parameterMap(){return this._parameterMap??=_e(this.parameters),this._parameterMap}toString(){return gs(this)}}function Pt(Re,He){return Re.length===He.length&&Re.every((Fe,Ue)=>Fe.path===He[Ue].path)}let ti=(()=>{class Re{static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:()=>new Dt,providedIn:"root"})}return Re})();class Dt{parse(He){const Fe=new qn(He);return new st(Fe.parseRootSegment(),Fe.parseQueryParams(),Fe.parseFragment())}serialize(He){const Fe=`/${wt(He.root,!0)}`,Ue=function as(Re){const He=Object.entries(Re).map(([Fe,Ue])=>Array.isArray(Ue)?Ue.map(rt=>`${di(Fe)}=${di(rt)}`).join("&"):`${di(Fe)}=${di(Ue)}`).filter(Fe=>Fe);return He.length?`?${He.join("&")}`:""}(He.queryParams);return`${Fe}${Ue}${"string"==typeof He.fragment?`#${function Ni(Re){return encodeURI(Re)}(He.fragment)}`:""}`}}const It=new Dt;function xt(Re){return Re.segments.map(He=>gs(He)).join("/")}function wt(Re,He){if(!Re.hasChildren())return xt(Re);if(He){const Fe=Re.children[Y]?wt(Re.children[Y],!1):"",Ue=[];return Object.entries(Re.children).forEach(([rt,gt])=>{rt!==Y&&Ue.push(`${rt}:${wt(gt,!1)}`)}),Ue.length>0?`${Fe}(${Ue.join("//")})`:Fe}{const Fe=function Gt(Re,He){let Fe=[];return Object.entries(Re.children).forEach(([Ue,rt])=>{Ue===Y&&(Fe=Fe.concat(He(rt,Ue)))}),Object.entries(Re.children).forEach(([Ue,rt])=>{Ue!==Y&&(Fe=Fe.concat(He(rt,Ue)))}),Fe}(Re,(Ue,rt)=>rt===Y?[wt(Re.children[Y],!1)]:[`${rt}:${wt(Ue,!1)}`]);return 1===Object.keys(Re.children).length&&null!=Re.children[Y]?`${xt(Re)}/${Fe[0]}`:`${xt(Re)}/(${Fe.join("//")})`}}function Qt(Re){return encodeURIComponent(Re).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function di(Re){return Qt(Re).replace(/%3B/gi,";")}function mi(Re){return Qt(Re).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function vi(Re){return decodeURIComponent(Re)}function zi(Re){return vi(Re.replace(/\+/g,"%20"))}function gs(Re){return`${mi(Re.path)}${function Fn(Re){return Object.entries(Re).map(([He,Fe])=>`;${mi(He)}=${mi(Fe)}`).join("")}(Re.parameters)}`}const ms=/^[^\/()?;#]+/;function Ln(Re){const He=Re.match(ms);return He?He[0]:""}const fn=/^[^\/()?;=#]+/,Cs=/^[^=?&#]+/,In=/^[^&#]+/;class qn{constructor(He){this.url=He,this.remaining=He}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new Tt([],{}):new Tt([],this.parseChildren())}parseQueryParams(){const He={};if(this.consumeOptional("?"))do{this.parseQueryParam(He)}while(this.consumeOptional("&"));return He}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const He=[];for(this.peekStartsWith("(")||He.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),He.push(this.parseSegment());let Fe={};this.peekStartsWith("/(")&&(this.capture("/"),Fe=this.parseParens(!0));let Ue={};return this.peekStartsWith("(")&&(Ue=this.parseParens(!1)),(He.length>0||Object.keys(Fe).length>0)&&(Ue[Y]=new Tt(He,Fe)),Ue}parseSegment(){const He=Ln(this.remaining);if(""===He&&this.peekStartsWith(";"))throw new M.wOt(4009,!1);return this.capture(He),new pt(vi(He),this.parseMatrixParams())}parseMatrixParams(){const He={};for(;this.consumeOptional(";");)this.parseParam(He);return He}parseParam(He){const Fe=function ki(Re){const He=Re.match(fn);return He?He[0]:""}(this.remaining);if(!Fe)return;this.capture(Fe);let Ue="";if(this.consumeOptional("=")){const rt=Ln(this.remaining);rt&&(Ue=rt,this.capture(Ue))}He[vi(Fe)]=vi(Ue)}parseQueryParam(He){const Fe=function Kn(Re){const He=Re.match(Cs);return He?He[0]:""}(this.remaining);if(!Fe)return;this.capture(Fe);let Ue="";if(this.consumeOptional("=")){const Ot=function Bs(Re){const He=Re.match(In);return He?He[0]:""}(this.remaining);Ot&&(Ue=Ot,this.capture(Ue))}const rt=zi(Fe),gt=zi(Ue);if(He.hasOwnProperty(rt)){let Ot=He[rt];Array.isArray(Ot)||(Ot=[Ot],He[rt]=Ot),Ot.push(gt)}else He[rt]=gt}parseParens(He){const Fe={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const Ue=Ln(this.remaining),rt=this.remaining[Ue.length];if("/"!==rt&&")"!==rt&&";"!==rt)throw new M.wOt(4010,!1);let gt;Ue.indexOf(":")>-1?(gt=Ue.slice(0,Ue.indexOf(":")),this.capture(gt),this.capture(":")):He&&(gt=Y);const Ot=this.parseChildren();Fe[gt]=1===Object.keys(Ot).length?Ot[Y]:new Tt([],Ot),this.consumeOptional("//")}return Fe}peekStartsWith(He){return this.remaining.startsWith(He)}consumeOptional(He){return!!this.peekStartsWith(He)&&(this.remaining=this.remaining.substring(He.length),!0)}capture(He){if(!this.consumeOptional(He))throw new M.wOt(4011,!1)}}function Wi(Re){return Re.segments.length>0?new Tt([],{[Y]:Re}):Re}function js(Re){const He={};for(const[Ue,rt]of Object.entries(Re.children)){const gt=js(rt);if(Ue===Y&&0===gt.segments.length&>.hasChildren())for(const[Ot,qt]of Object.entries(gt.children))He[Ot]=qt;else(gt.segments.length>0||gt.hasChildren())&&(He[Ue]=gt)}return function On(Re){if(1===Re.numberOfChildren&&Re.children[Y]){const He=Re.children[Y];return new Tt(Re.segments.concat(He.segments),He.children)}return Re}(new Tt(Re.segments,He))}function ar(Re){return Re instanceof st}function Wr(Re){let He;const rt=Wi(function Fe(gt){const Ot={};for(const Xt of gt.children){const Ei=Fe(Xt);Ot[Xt.outlet]=Ei}const qt=new Tt(gt.url,Ot);return gt===Re&&(He=qt),qt}(Re.root));return He??rt}function Cr(Re,He,Fe,Ue){let rt=Re;for(;rt.parent;)rt=rt.parent;if(0===He.length)return Nt(rt,rt,rt,Fe,Ue);const gt=function $e(Re){if("string"==typeof Re[0]&&1===Re.length&&"/"===Re[0])return new _t(!0,0,Re);let He=0,Fe=!1;const Ue=Re.reduce((rt,gt,Ot)=>{if("object"==typeof gt&&null!=gt){if(gt.outlets){const qt={};return Object.entries(gt.outlets).forEach(([Xt,Ei])=>{qt[Xt]="string"==typeof Ei?Ei.split("/"):Ei}),[...rt,{outlets:qt}]}if(gt.segmentPath)return[...rt,gt.segmentPath]}return"string"!=typeof gt?[...rt,gt]:0===Ot?(gt.split("/").forEach((qt,Xt)=>{0==Xt&&"."===qt||(0==Xt&&""===qt?Fe=!0:".."===qt?He++:""!=qt&&rt.push(qt))}),rt):[...rt,gt]},[]);return new _t(Fe,He,Ue)}(He);if(gt.toRoot())return Nt(rt,rt,new Tt([],{}),Fe,Ue);const Ot=function At(Re,He,Fe){if(Re.isAbsolute)return new yt(He,!0,0);if(!Fe)return new yt(He,!1,NaN);if(null===Fe.parent)return new yt(Fe,!0,0);const Ue=St(Re.commands[0])?0:1;return function $t(Re,He,Fe){let Ue=Re,rt=He,gt=Fe;for(;gt>rt;){if(gt-=rt,Ue=Ue.parent,!Ue)throw new M.wOt(4005,!1);rt=Ue.segments.length}return new yt(Ue,!1,rt-gt)}(Fe,Fe.segments.length-1+Ue,Re.numberOfDoubleDots)}(gt,rt,Re),qt=Ot.processChildren?qi(Ot.segmentGroup,Ot.index,gt.commands):Di(Ot.segmentGroup,Ot.index,gt.commands);return Nt(rt,Ot.segmentGroup,qt,Fe,Ue)}function St(Re){return"object"==typeof Re&&null!=Re&&!Re.outlets&&!Re.segmentPath}function Rt(Re){return"object"==typeof Re&&null!=Re&&Re.outlets}function Nt(Re,He,Fe,Ue,rt){let Ot,gt={};Ue&&Object.entries(Ue).forEach(([Xt,Ei])=>{gt[Xt]=Array.isArray(Ei)?Ei.map(on=>`${on}`):`${Ei}`}),Ot=Re===He?Fe:mt(Re,He,Fe);const qt=Wi(js(Ot));return new st(qt,gt,rt)}function mt(Re,He,Fe){const Ue={};return Object.entries(Re.children).forEach(([rt,gt])=>{Ue[rt]=gt===He?Fe:mt(gt,He,Fe)}),new Tt(Re.segments,Ue)}class _t{constructor(He,Fe,Ue){if(this.isAbsolute=He,this.numberOfDoubleDots=Fe,this.commands=Ue,He&&Ue.length>0&&St(Ue[0]))throw new M.wOt(4003,!1);const rt=Ue.find(Rt);if(rt&&rt!==ee(Ue))throw new M.wOt(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class yt{constructor(He,Fe,Ue){this.segmentGroup=He,this.processChildren=Fe,this.index=Ue}}function Di(Re,He,Fe){if(Re??=new Tt([],{}),0===Re.segments.length&&Re.hasChildren())return qi(Re,He,Fe);const Ue=function Ki(Re,He,Fe){let Ue=0,rt=He;const gt={match:!1,pathIndex:0,commandIndex:0};for(;rt=Fe.length)return gt;const Ot=Re.segments[rt],qt=Fe[Ue];if(Rt(qt))break;const Xt=`${qt}`,Ei=Ue0&&void 0===Xt)break;if(Xt&&Ei&&"object"==typeof Ei&&void 0===Ei.outlets){if(!gn(Xt,Ei,Ot))return gt;Ue+=2}else{if(!gn(Xt,{},Ot))return gt;Ue++}rt++}return{match:!0,pathIndex:rt,commandIndex:Ue}}(Re,He,Fe),rt=Fe.slice(Ue.commandIndex);if(Ue.match&&Ue.pathIndexgt!==Y)&&Re.children[Y]&&1===Re.numberOfChildren&&0===Re.children[Y].segments.length){const gt=qi(Re.children[Y],He,Fe);return new Tt(Re.segments,gt.children)}return Object.entries(Ue).forEach(([gt,Ot])=>{"string"==typeof Ot&&(Ot=[Ot]),null!==Ot&&(rt[gt]=Di(Re.children[gt],He,Ot))}),Object.entries(Re.children).forEach(([gt,Ot])=>{void 0===Ue[gt]&&(rt[gt]=Ot)}),new Tt(Re.segments,rt)}}function ls(Re,He,Fe){const Ue=Re.segments.slice(0,He);let rt=0;for(;rt{"string"==typeof Ue&&(Ue=[Ue]),null!==Ue&&(He[Fe]=ls(new Tt([],{}),0,Ue))}),He}function tn(Re){const He={};return Object.entries(Re).forEach(([Fe,Ue])=>He[Fe]=`${Ue}`),He}function gn(Re,He,Fe){return Re==Fe.path&&De(He,Fe.parameters)}const cs="imperative";var sn=function(Re){return Re[Re.NavigationStart=0]="NavigationStart",Re[Re.NavigationEnd=1]="NavigationEnd",Re[Re.NavigationCancel=2]="NavigationCancel",Re[Re.NavigationError=3]="NavigationError",Re[Re.RoutesRecognized=4]="RoutesRecognized",Re[Re.ResolveStart=5]="ResolveStart",Re[Re.ResolveEnd=6]="ResolveEnd",Re[Re.GuardsCheckStart=7]="GuardsCheckStart",Re[Re.GuardsCheckEnd=8]="GuardsCheckEnd",Re[Re.RouteConfigLoadStart=9]="RouteConfigLoadStart",Re[Re.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",Re[Re.ChildActivationStart=11]="ChildActivationStart",Re[Re.ChildActivationEnd=12]="ChildActivationEnd",Re[Re.ActivationStart=13]="ActivationStart",Re[Re.ActivationEnd=14]="ActivationEnd",Re[Re.Scroll=15]="Scroll",Re[Re.NavigationSkipped=16]="NavigationSkipped",Re}(sn||{});class Bn{constructor(He,Fe){this.id=He,this.url=Fe}}class Er extends Bn{constructor(He,Fe,Ue="imperative",rt=null){super(He,Fe),this.type=sn.NavigationStart,this.navigationTrigger=Ue,this.restoredState=rt}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class bs extends Bn{constructor(He,Fe,Ue){super(He,Fe),this.urlAfterRedirects=Ue,this.type=sn.NavigationEnd}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}var Un=function(Re){return Re[Re.Redirect=0]="Redirect",Re[Re.SupersededByNewNavigation=1]="SupersededByNewNavigation",Re[Re.NoDataFromResolver=2]="NoDataFromResolver",Re[Re.GuardRejected=3]="GuardRejected",Re}(Un||{}),pr=function(Re){return Re[Re.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",Re[Re.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",Re}(pr||{});class Ui extends Bn{constructor(He,Fe,Ue,rt){super(He,Fe),this.reason=Ue,this.code=rt,this.type=sn.NavigationCancel}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class ln extends Bn{constructor(He,Fe,Ue,rt){super(He,Fe),this.reason=Ue,this.code=rt,this.type=sn.NavigationSkipped}}class Na extends Bn{constructor(He,Fe,Ue,rt){super(He,Fe),this.error=Ue,this.target=rt,this.type=sn.NavigationError}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class lr extends Bn{constructor(He,Fe,Ue,rt){super(He,Fe),this.urlAfterRedirects=Ue,this.state=rt,this.type=sn.RoutesRecognized}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Fa extends Bn{constructor(He,Fe,Ue,rt){super(He,Fe),this.urlAfterRedirects=Ue,this.state=rt,this.type=sn.GuardsCheckStart}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Ba extends Bn{constructor(He,Fe,Ue,rt,gt){super(He,Fe),this.urlAfterRedirects=Ue,this.state=rt,this.shouldActivate=gt,this.type=sn.GuardsCheckEnd}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class ja extends Bn{constructor(He,Fe,Ue,rt){super(He,Fe),this.urlAfterRedirects=Ue,this.state=rt,this.type=sn.ResolveStart}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class go extends Bn{constructor(He,Fe,Ue,rt){super(He,Fe),this.urlAfterRedirects=Ue,this.state=rt,this.type=sn.ResolveEnd}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class wn{constructor(He){this.route=He,this.type=sn.RouteConfigLoadStart}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class Va{constructor(He){this.route=He,this.type=sn.RouteConfigLoadEnd}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class za{constructor(He){this.snapshot=He,this.type=sn.ChildActivationStart}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class $s{constructor(He){this.snapshot=He,this.type=sn.ChildActivationEnd}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class ha{constructor(He){this.snapshot=He,this.type=sn.ActivationStart}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Rl{constructor(He){this.snapshot=He,this.type=sn.ActivationEnd}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Nl{constructor(He,Fe,Ue){this.routerEvent=He,this.position=Fe,this.anchor=Ue,this.type=sn.Scroll}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class wr{}class Jr{constructor(He){this.url=He}}class Fl{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new mo,this.attachRef=null}}let mo=(()=>{class Re{constructor(){this.contexts=new Map}onChildOutletCreated(Fe,Ue){const rt=this.getOrCreateContext(Fe);rt.outlet=Ue,this.contexts.set(Fe,rt)}onChildOutletDestroyed(Fe){const Ue=this.getContext(Fe);Ue&&(Ue.outlet=null,Ue.attachRef=null)}onOutletDeactivated(){const Fe=this.contexts;return this.contexts=new Map,Fe}onOutletReAttached(Fe){this.contexts=Fe}getOrCreateContext(Fe){let Ue=this.getContext(Fe);return Ue||(Ue=new Fl,this.contexts.set(Fe,Ue)),Ue}getContext(Fe){return this.contexts.get(Fe)||null}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();class da{constructor(He){this._root=He}get root(){return this._root.value}parent(He){const Fe=this.pathFromRoot(He);return Fe.length>1?Fe[Fe.length-2]:null}children(He){const Fe=Ga(He,this._root);return Fe?Fe.children.map(Ue=>Ue.value):[]}firstChild(He){const Fe=Ga(He,this._root);return Fe&&Fe.children.length>0?Fe.children[0].value:null}siblings(He){const Fe=Tr(He,this._root);return Fe.length<2?[]:Fe[Fe.length-2].children.map(rt=>rt.value).filter(rt=>rt!==He)}pathFromRoot(He){return Tr(He,this._root).map(Fe=>Fe.value)}}function Ga(Re,He){if(Re===He.value)return He;for(const Fe of He.children){const Ue=Ga(Re,Fe);if(Ue)return Ue}return null}function Tr(Re,He){if(Re===He.value)return[He];for(const Fe of He.children){const Ue=Tr(Re,Fe);if(Ue.length)return Ue.unshift(He),Ue}return[]}class fr{constructor(He,Fe){this.value=He,this.children=Fe}toString(){return`TreeNode(${this.value})`}}function tr(Re){const He={};return Re&&Re.children.forEach(Fe=>He[Fe.value.outlet]=Fe),He}class Ha extends da{constructor(He,Fe){super(He),this.snapshot=Fe,ko(this,He)}toString(){return this.snapshot.toString()}}function Es(Re){const He=function ir(Re){const gt=new So([],{},{},"",{},Y,Re,null,{});return new Yo("",new fr(gt,[]))}(Re),Fe=new q.t([new pt("",{})]),Ue=new q.t({}),rt=new q.t({}),gt=new q.t({}),Ot=new q.t(""),qt=new $i(Fe,Ue,gt,Ot,rt,Y,Re,He.root);return qt.snapshot=He.root,new Ha(new fr(qt,[]),He)}class $i{constructor(He,Fe,Ue,rt,gt,Ot,qt,Xt){this.urlSubject=He,this.paramsSubject=Fe,this.queryParamsSubject=Ue,this.fragmentSubject=rt,this.dataSubject=gt,this.outlet=Ot,this.component=qt,this._futureSnapshot=Xt,this.title=this.dataSubject?.pipe((0,v.T)(Ei=>Ei[he]))??(0,Le.of)(void 0),this.url=He,this.params=Fe,this.queryParams=Ue,this.fragment=rt,this.data=gt}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe((0,v.T)(He=>_e(He))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe((0,v.T)(He=>_e(He))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function Ar(Re,He,Fe="emptyOnly"){let Ue;const{routeConfig:rt}=Re;return Ue=null===He||"always"!==Fe&&""!==rt?.path&&(He.component||He.routeConfig?.loadComponent)?{params:{...Re.params},data:{...Re.data},resolve:{...Re.data,...Re._resolvedData??{}}}:{params:{...He.params,...Re.params},data:{...He.data,...Re.data},resolve:{...Re.data,...He.data,...rt?.data,...Re._resolvedData}},rt&&Qs(rt)&&(Ue.resolve[he]=rt.title),Ue}class So{get title(){return this.data?.[he]}constructor(He,Fe,Ue,rt,gt,Ot,qt,Xt,Ei){this.url=He,this.params=Fe,this.queryParams=Ue,this.fragment=rt,this.data=gt,this.outlet=Ot,this.component=qt,this.routeConfig=Xt,this._resolve=Ei}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=_e(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=_e(this.queryParams),this._queryParamMap}toString(){return`Route(url:'${this.url.map(Ue=>Ue.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class Yo extends da{constructor(He,Fe){super(Fe),this.url=He,ko(this,Fe)}toString(){return ua(this._root)}}function ko(Re,He){He.value._routerState=Re,He.children.forEach(Fe=>ko(Re,Fe))}function ua(Re){const He=Re.children.length>0?` { ${Re.children.map(ua).join(", ")} } `:"";return`${Re.value}${He}`}function pa(Re){if(Re.snapshot){const He=Re.snapshot,Fe=Re._futureSnapshot;Re.snapshot=Fe,De(He.queryParams,Fe.queryParams)||Re.queryParamsSubject.next(Fe.queryParams),He.fragment!==Fe.fragment&&Re.fragmentSubject.next(Fe.fragment),De(He.params,Fe.params)||Re.paramsSubject.next(Fe.params),function Oe(Re,He){if(Re.length!==He.length)return!1;for(let Fe=0;FeDe(Fe.parameters,He[Ue].parameters))}(Re.url,He.url);return Fe&&!(!Re.parent!=!He.parent)&&(!Re.parent||fa(Re.parent,He.parent))}function Qs(Re){return"string"==typeof Re.title||null===Re.title}let ga=(()=>{class Re{constructor(){this.activated=null,this._activatedRoute=null,this.name=Y,this.activateEvents=new M.bkB,this.deactivateEvents=new M.bkB,this.attachEvents=new M.bkB,this.detachEvents=new M.bkB,this.parentContexts=(0,M.WQX)(mo),this.location=(0,M.WQX)(M.c1b),this.changeDetector=(0,M.WQX)(M.gRc),this.environmentInjector=(0,M.WQX)(M.uvJ),this.inputBinder=(0,M.WQX)(ma,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(Fe){if(Fe.name){const{firstChange:Ue,previousValue:rt}=Fe.name;if(Ue)return;this.isTrackedInParentContexts(rt)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(rt)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(Fe){return this.parentContexts.getContext(Fe)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const Fe=this.parentContexts.getContext(this.name);Fe?.route&&(Fe.attachRef?this.attach(Fe.attachRef,Fe.route):this.activateWith(Fe.route,Fe.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new M.wOt(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new M.wOt(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new M.wOt(4012,!1);this.location.detach();const Fe=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(Fe.instance),Fe}attach(Fe,Ue){this.activated=Fe,this._activatedRoute=Ue,this.location.insert(Fe.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(Fe.instance)}deactivate(){if(this.activated){const Fe=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(Fe)}}activateWith(Fe,Ue){if(this.isActivated)throw new M.wOt(4013,!1);this._activatedRoute=Fe;const rt=this.location,Ot=Fe.snapshot.component,qt=this.parentContexts.getOrCreateContext(this.name).children,Xt=new eo(Fe,qt,rt.injector);this.activated=rt.createComponent(Ot,{index:rt.length,injector:Xt,environmentInjector:Ue??this.environmentInjector}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275dir=M.FsC({type:Re,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[M.OA$]})}return Re})();class eo{constructor(He,Fe,Ue){this.route=He,this.childContexts=Fe,this.parent=Ue}get(He,Fe){return He===$i?this.route:He===mo?this.childContexts:this.parent.get(He,Fe)}}const ma=new M.nKC("");let Ir=(()=>{class Re{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(Fe){this.unsubscribeFromRouteData(Fe),this.subscribeToRouteData(Fe)}unsubscribeFromRouteData(Fe){this.outletDataSubscriptions.get(Fe)?.unsubscribe(),this.outletDataSubscriptions.delete(Fe)}subscribeToRouteData(Fe){const{activatedRoute:Ue}=Fe,rt=X([Ue.queryParams,Ue.params,Ue.data]).pipe((0,o.n)(([gt,Ot,qt],Xt)=>(qt={...gt,...Ot,...qt},0===Xt?(0,Le.of)(qt):Promise.resolve(qt)))).subscribe(gt=>{if(!Fe.isActivated||!Fe.activatedComponentRef||Fe.activatedRoute!==Ue||null===Ue.component)return void this.unsubscribeFromRouteData(Fe);const Ot=(0,M.HJs)(Ue.component);if(Ot)for(const{templateName:qt}of Ot.inputs)Fe.activatedComponentRef.setInput(qt,gt[qt]);else this.unsubscribeFromRouteData(Fe)});this.outletDataSubscriptions.set(Fe,rt)}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac})}return Re})();function es(Re,He,Fe){if(Fe&&Re.shouldReuseRoute(He.value,Fe.value.snapshot)){const Ue=Fe.value;Ue._futureSnapshot=He.value;const rt=function $r(Re,He,Fe){return He.children.map(Ue=>{for(const rt of Fe.children)if(Re.shouldReuseRoute(Ue.value,rt.value.snapshot))return es(Re,Ue,rt);return es(Re,Ue)})}(Re,He,Fe);return new fr(Ue,rt)}{if(Re.shouldAttach(He.value)){const gt=Re.retrieve(He.value);if(null!==gt){const Ot=gt.route;return Ot.value._futureSnapshot=He.value,Ot.children=He.children.map(qt=>es(Re,qt)),Ot}}const Ue=function Ko(Re){return new $i(new q.t(Re.url),new q.t(Re.params),new q.t(Re.queryParams),new q.t(Re.fragment),new q.t(Re.data),Re.outlet,Re.component,Re)}(He.value),rt=He.children.map(gt=>es(Re,gt));return new fr(Ue,rt)}}const Do="ngNavigationCancelingError";function Zo(Re,He){const{redirectTo:Fe,navigationBehaviorOptions:Ue}=ar(He)?{redirectTo:He,navigationBehaviorOptions:void 0}:He,rt=to(!1,Un.Redirect);return rt.url=Fe,rt.navigationBehaviorOptions=Ue,rt}function to(Re,He){const Fe=new Error(`NavigationCancelingError: ${Re||""}`);return Fe[Do]=!0,Fe.cancellationCode=He,Fe}function va(Re){return!!Re&&Re[Do]}let Mo=(()=>{class Re{static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275cmp=M.VBU({type:Re,selectors:[["ng-component"]],standalone:!0,features:[M.aNF],decls:1,vars:0,template:function(Ue,rt){1&Ue&&M.nrm(0,"router-outlet")},dependencies:[ga],encapsulation:2})}return Re})();function Io(Re){const He=Re.children&&Re.children.map(Io),Fe=He?{...Re,children:He}:{...Re};return!Fe.component&&!Fe.loadComponent&&(He||Fe.loadChildren)&&Fe.outlet&&Fe.outlet!==Y&&(Fe.component=Mo),Fe}function hr(Re){return Re.outlet||Y}function Or(Re){if(!Re)return null;if(Re.routeConfig?._injector)return Re.routeConfig._injector;for(let He=Re.parent;He;He=He.parent){const Fe=He.routeConfig;if(Fe?._loadedInjector)return Fe._loadedInjector;if(Fe?._injector)return Fe._injector}return null}class Ua{constructor(He,Fe,Ue,rt,gt){this.routeReuseStrategy=He,this.futureState=Fe,this.currState=Ue,this.forwardEvent=rt,this.inputBindingEnabled=gt}activate(He){const Fe=this.futureState._root,Ue=this.currState?this.currState._root:null;this.deactivateChildRoutes(Fe,Ue,He),pa(this.futureState.root),this.activateChildRoutes(Fe,Ue,He)}deactivateChildRoutes(He,Fe,Ue){const rt=tr(Fe);He.children.forEach(gt=>{const Ot=gt.value.outlet;this.deactivateRoutes(gt,rt[Ot],Ue),delete rt[Ot]}),Object.values(rt).forEach(gt=>{this.deactivateRouteAndItsChildren(gt,Ue)})}deactivateRoutes(He,Fe,Ue){const rt=He.value,gt=Fe?Fe.value:null;if(rt===gt)if(rt.component){const Ot=Ue.getContext(rt.outlet);Ot&&this.deactivateChildRoutes(He,Fe,Ot.children)}else this.deactivateChildRoutes(He,Fe,Ue);else gt&&this.deactivateRouteAndItsChildren(Fe,Ue)}deactivateRouteAndItsChildren(He,Fe){He.value.component&&this.routeReuseStrategy.shouldDetach(He.value.snapshot)?this.detachAndStoreRouteSubtree(He,Fe):this.deactivateRouteAndOutlet(He,Fe)}detachAndStoreRouteSubtree(He,Fe){const Ue=Fe.getContext(He.value.outlet),rt=Ue&&He.value.component?Ue.children:Fe,gt=tr(He);for(const Ot of Object.values(gt))this.deactivateRouteAndItsChildren(Ot,rt);if(Ue&&Ue.outlet){const Ot=Ue.outlet.detach(),qt=Ue.children.onOutletDeactivated();this.routeReuseStrategy.store(He.value.snapshot,{componentRef:Ot,route:He,contexts:qt})}}deactivateRouteAndOutlet(He,Fe){const Ue=Fe.getContext(He.value.outlet),rt=Ue&&He.value.component?Ue.children:Fe,gt=tr(He);for(const Ot of Object.values(gt))this.deactivateRouteAndItsChildren(Ot,rt);Ue&&(Ue.outlet&&(Ue.outlet.deactivate(),Ue.children.onOutletDeactivated()),Ue.attachRef=null,Ue.route=null)}activateChildRoutes(He,Fe,Ue){const rt=tr(Fe);He.children.forEach(gt=>{this.activateRoutes(gt,rt[gt.value.outlet],Ue),this.forwardEvent(new Rl(gt.value.snapshot))}),He.children.length&&this.forwardEvent(new $s(He.value.snapshot))}activateRoutes(He,Fe,Ue){const rt=He.value,gt=Fe?Fe.value:null;if(pa(rt),rt===gt)if(rt.component){const Ot=Ue.getOrCreateContext(rt.outlet);this.activateChildRoutes(He,Fe,Ot.children)}else this.activateChildRoutes(He,Fe,Ue);else if(rt.component){const Ot=Ue.getOrCreateContext(rt.outlet);if(this.routeReuseStrategy.shouldAttach(rt.snapshot)){const qt=this.routeReuseStrategy.retrieve(rt.snapshot);this.routeReuseStrategy.store(rt.snapshot,null),Ot.children.onOutletReAttached(qt.contexts),Ot.attachRef=qt.componentRef,Ot.route=qt.route.value,Ot.outlet&&Ot.outlet.attach(qt.componentRef,qt.route.value),pa(qt.route.value),this.activateChildRoutes(He,null,Ot.children)}else{const qt=Or(rt.snapshot);Ot.attachRef=null,Ot.route=rt,Ot.injector=qt,Ot.outlet&&Ot.outlet.activateWith(rt,Ot.injector),this.activateChildRoutes(He,null,Ot.children)}}else this.activateChildRoutes(He,null,Ue)}}class ot{constructor(He){this.path=He,this.route=this.path[this.path.length-1]}}class ct{constructor(He,Fe){this.component=He,this.route=Fe}}function Ye(Re,He,Fe){const Ue=Re._root;return Fi(Ue,He?He._root:null,Fe,[Ue.value])}function Ft(Re,He){const Fe=Symbol(),Ue=He.get(Re,Fe);return Ue===Fe?"function"!=typeof Re||(0,M.LfX)(Re)?He.get(Re):Re:Ue}function Fi(Re,He,Fe,Ue,rt={canDeactivateChecks:[],canActivateChecks:[]}){const gt=tr(He);return Re.children.forEach(Ot=>{(function mn(Re,He,Fe,Ue,rt={canDeactivateChecks:[],canActivateChecks:[]}){const gt=Re.value,Ot=He?He.value:null,qt=Fe?Fe.getContext(Re.value.outlet):null;if(Ot&>.routeConfig===Ot.routeConfig){const Xt=function io(Re,He,Fe){if("function"==typeof Fe)return Fe(Re,He);switch(Fe){case"pathParamsChange":return!Pt(Re.url,He.url);case"pathParamsOrQueryParamsChange":return!Pt(Re.url,He.url)||!De(Re.queryParams,He.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!fa(Re,He)||!De(Re.queryParams,He.queryParams);default:return!fa(Re,He)}}(Ot,gt,gt.routeConfig.runGuardsAndResolvers);Xt?rt.canActivateChecks.push(new ot(Ue)):(gt.data=Ot.data,gt._resolvedData=Ot._resolvedData),Fi(Re,He,gt.component?qt?qt.children:null:Fe,Ue,rt),Xt&&qt&&qt.outlet&&qt.outlet.isActivated&&rt.canDeactivateChecks.push(new ct(qt.outlet.component,Ot))}else Ot&&nr(He,qt,rt),rt.canActivateChecks.push(new ot(Ue)),Fi(Re,null,gt.component?qt?qt.children:null:Fe,Ue,rt)})(Ot,gt[Ot.value.outlet],Fe,Ue.concat([Ot.value]),rt),delete gt[Ot.value.outlet]}),Object.entries(gt).forEach(([Ot,qt])=>nr(qt,Fe.getContext(Ot),rt)),rt}function nr(Re,He,Fe){const Ue=tr(Re),rt=Re.value;Object.entries(Ue).forEach(([gt,Ot])=>{nr(Ot,rt.component?He?He.children.getContext(gt):null:He,Fe)}),Fe.canDeactivateChecks.push(new ct(rt.component&&He&&He.outlet&&He.outlet.isActivated?He.outlet.component:null,rt))}function Vs(Re){return"function"==typeof Re}function cc(Re){return Re instanceof P||"EmptyError"===Re?.name}const al=Symbol("INITIAL_VALUE");function ll(){return(0,o.n)(Re=>X(Re.map(He=>He.pipe((0,n.s)(1),(0,r.Z)(al)))).pipe((0,v.T)(He=>{for(const Fe of He)if(!0!==Fe){if(Fe===al)return al;if(!1===Fe||Fe instanceof st)return Fe}return!0}),(0,l.p)(He=>He!==al),(0,n.s)(1)))}function vs(Re){return(0,I.F)((0,z.M)(He=>{if(ar(He))throw Zo(0,He)}),(0,v.T)(He=>!0===He))}class kr{constructor(He){this.segmentGroup=He||null}}class er extends Error{constructor(He){super(),this.urlTree=He}}function Qo(Re){return(0,_.$)(new kr(Re))}class Sh{constructor(He,Fe){this.urlSerializer=He,this.urlTree=Fe}lineralizeSegments(He,Fe){let Ue=[],rt=Fe.root;for(;;){if(Ue=Ue.concat(rt.segments),0===rt.numberOfChildren)return(0,Le.of)(Ue);if(rt.numberOfChildren>1||!rt.children[Y])return(0,_.$)(new M.wOt(4e3,!1));rt=rt.children[Y]}}applyRedirectCommands(He,Fe,Ue){const rt=this.applyRedirectCreateUrlTree(Fe,this.urlSerializer.parse(Fe),He,Ue);if(Fe.startsWith("/"))throw new er(rt);return rt}applyRedirectCreateUrlTree(He,Fe,Ue,rt){const gt=this.createSegmentGroup(He,Fe.root,Ue,rt);return new st(gt,this.createQueryParams(Fe.queryParams,this.urlTree.queryParams),Fe.fragment)}createQueryParams(He,Fe){const Ue={};return Object.entries(He).forEach(([rt,gt])=>{if("string"==typeof gt&>.startsWith(":")){const qt=gt.substring(1);Ue[rt]=Fe[qt]}else Ue[rt]=gt}),Ue}createSegmentGroup(He,Fe,Ue,rt){const gt=this.createSegments(He,Fe.segments,Ue,rt);let Ot={};return Object.entries(Fe.children).forEach(([qt,Xt])=>{Ot[qt]=this.createSegmentGroup(He,Xt,Ue,rt)}),new Tt(gt,Ot)}createSegments(He,Fe,Ue,rt){return Fe.map(gt=>gt.path.startsWith(":")?this.findPosParam(He,gt,rt):this.findOrReturn(gt,Ue))}findPosParam(He,Fe,Ue){const rt=Ue[Fe.path.substring(1)];if(!rt)throw new M.wOt(4001,!1);return rt}findOrReturn(He,Fe){let Ue=0;for(const rt of Fe){if(rt.path===He.path)return Fe.splice(Ue),rt;Ue++}return He}}const Jo={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function pc(Re,He,Fe,Ue,rt){const gt=cl(Re,He,Fe);return gt.matched?(Ue=function Js(Re,He){return Re.providers&&!Re._injector&&(Re._injector=(0,M.Ol2)(Re.providers,He,`Route: ${Re.path}`)),Re._injector??He}(He,Ue),function fs(Re,He,Fe,Ue){const rt=He.canMatch;if(!rt||0===rt.length)return(0,Le.of)(!0);const gt=rt.map(Ot=>{const qt=Ft(Ot,Re);return be(function lc(Re){return Re&&Vs(Re.canMatch)}(qt)?qt.canMatch(He,Fe):(0,M.N4e)(Re,()=>qt(He,Fe)))});return(0,Le.of)(gt).pipe(ll(),vs())}(Ue,He,Fe).pipe((0,v.T)(Ot=>!0===Ot?gt:{...Jo}))):(0,Le.of)(gt)}function cl(Re,He,Fe){if("**"===He.path)return function Pc(Re){return{matched:!0,parameters:Re.length>0?ee(Re).parameters:{},consumedSegments:Re,remainingSegments:[],positionalParamSegments:{}}}(Fe);if(""===He.path)return"full"===He.pathMatch&&(Re.hasChildren()||Fe.length>0)?{...Jo}:{matched:!0,consumedSegments:[],remainingSegments:Fe,parameters:{},positionalParamSegments:{}};const rt=(He.matcher||Te)(Fe,Re,He);if(!rt)return{...Jo};const gt={};Object.entries(rt.posParams??{}).forEach(([qt,Xt])=>{gt[qt]=Xt.path});const Ot=rt.consumed.length>0?{...gt,...rt.consumed[rt.consumed.length-1].parameters}:gt;return{matched:!0,consumedSegments:rt.consumed,remainingSegments:Fe.slice(rt.consumed.length),parameters:Ot,positionalParamSegments:rt.posParams??{}}}function Hl(Re,He,Fe,Ue){return Fe.length>0&&function Nc(Re,He,Fe){return Fe.some(Ue=>As(Re,He,Ue)&&hr(Ue)!==Y)}(Re,Fe,Ue)?{segmentGroup:new Tt(He,Lo(Ue,new Tt(Fe,Re.children))),slicedSegments:[]}:0===Fe.length&&function Ul(Re,He,Fe){return Fe.some(Ue=>As(Re,He,Ue))}(Re,Fe,Ue)?{segmentGroup:new Tt(Re.segments,Rc(Re,Fe,Ue,Re.children)),slicedSegments:Fe}:{segmentGroup:new Tt(Re.segments,Re.children),slicedSegments:Fe}}function Rc(Re,He,Fe,Ue){const rt={};for(const gt of Fe)if(As(Re,He,gt)&&!Ue[hr(gt)]){const Ot=new Tt([],{});rt[hr(gt)]=Ot}return{...Ue,...rt}}function Lo(Re,He){const Fe={};Fe[Y]=He;for(const Ue of Re)if(""===Ue.path&&hr(Ue)!==Y){const rt=new Tt([],{});Fe[hr(Ue)]=rt}return Fe}function As(Re,He,Fe){return(!(Re.hasChildren()||He.length>0)||"full"!==Fe.pathMatch)&&""===Fe.path}class ea{}class ta{constructor(He,Fe,Ue,rt,gt,Ot,qt){this.injector=He,this.configLoader=Fe,this.rootComponentType=Ue,this.config=rt,this.urlTree=gt,this.paramsInheritanceStrategy=Ot,this.urlSerializer=qt,this.applyRedirects=new Sh(this.urlSerializer,this.urlTree),this.absoluteRedirectCount=0,this.allowRedirects=!0}noMatchError(He){return new M.wOt(4002,`'${He.segmentGroup}'`)}recognize(){const He=Hl(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(He).pipe((0,v.T)(Fe=>{const Ue=new So([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},Y,this.rootComponentType,null,{}),rt=new fr(Ue,Fe),gt=new Yo("",rt),Ot=function To(Re,He,Fe=null,Ue=null){return Cr(Wr(Re),He,Fe,Ue)}(Ue,[],this.urlTree.queryParams,this.urlTree.fragment);return Ot.queryParams=this.urlTree.queryParams,gt.url=this.urlSerializer.serialize(Ot),this.inheritParamsAndData(gt._root,null),{state:gt,tree:Ot}}))}match(He){return this.processSegmentGroup(this.injector,this.config,He,Y).pipe((0,K.W)(Ue=>{if(Ue instanceof er)return this.urlTree=Ue.urlTree,this.match(Ue.urlTree.root);throw Ue instanceof kr?this.noMatchError(Ue):Ue}))}inheritParamsAndData(He,Fe){const Ue=He.value,rt=Ar(Ue,Fe,this.paramsInheritanceStrategy);Ue.params=Object.freeze(rt.params),Ue.data=Object.freeze(rt.data),He.children.forEach(gt=>this.inheritParamsAndData(gt,Ue))}processSegmentGroup(He,Fe,Ue,rt){return 0===Ue.segments.length&&Ue.hasChildren()?this.processChildren(He,Fe,Ue):this.processSegment(He,Fe,Ue,Ue.segments,rt,!0).pipe((0,v.T)(gt=>gt instanceof fr?[gt]:[]))}processChildren(He,Fe,Ue){const rt=[];for(const gt of Object.keys(Ue.children))"primary"===gt?rt.unshift(gt):rt.push(gt);return(0,V.H)(rt).pipe((0,B.H)(gt=>{const Ot=Ue.children[gt],qt=function ol(Re,He){const Fe=Re.filter(Ue=>hr(Ue)===He);return Fe.push(...Re.filter(Ue=>hr(Ue)!==He)),Fe}(Fe,gt);return this.processSegmentGroup(He,qt,Ot,gt)}),function se(Re,He){return(0,G.N)(function U(Re,He,Fe,Ue,rt){return(gt,Ot)=>{let qt=Fe,Xt=He,Ei=0;gt.subscribe((0,J._)(Ot,on=>{const bn=Ei++;Xt=qt?Re(Xt,on,bn):(qt=!0,on),Ue&&Ot.next(Xt)},rt&&(()=>{qt&&Ot.next(Xt),Ot.complete()})))}}(Re,He,arguments.length>=2,!0))}((gt,Ot)=>(gt.push(...Ot),gt)),C(null),function $(Re,He){const Fe=arguments.length>=2;return Ue=>Ue.pipe(Re?(0,l.p)((rt,gt)=>Re(rt,gt,Ue)):ve.D,S(1),Fe?C(He):k(()=>new P))}(),(0,d.Z)(gt=>{if(null===gt)return Qo(Ue);const Ot=Xr(gt);return function hl(Re){Re.sort((He,Fe)=>He.value.outlet===Y?-1:Fe.value.outlet===Y?1:He.value.outlet.localeCompare(Fe.value.outlet))}(Ot),(0,Le.of)(Ot)}))}processSegment(He,Fe,Ue,rt,gt,Ot){return(0,V.H)(Fe).pipe((0,B.H)(qt=>this.processSegmentAgainstRoute(qt._injector??He,Fe,qt,Ue,rt,gt,Ot).pipe((0,K.W)(Xt=>{if(Xt instanceof kr)return(0,Le.of)(null);throw Xt}))),T(qt=>!!qt),(0,K.W)(qt=>{if(cc(qt))return function Po(Re,He,Fe){return 0===He.length&&!Re.children[Fe]}(Ue,rt,gt)?(0,Le.of)(new ea):Qo(Ue);throw qt}))}processSegmentAgainstRoute(He,Fe,Ue,rt,gt,Ot,qt){return function Fc(Re,He,Fe,Ue){return!!(hr(Re)===Ue||Ue!==Y&&As(He,Fe,Re))&&cl(He,Re,Fe).matched}(Ue,rt,gt,Ot)?void 0===Ue.redirectTo?this.matchSegmentAgainstRoute(He,rt,Ue,gt,Ot):this.allowRedirects&&qt?this.expandSegmentAgainstRouteUsingRedirect(He,rt,Fe,Ue,gt,Ot):Qo(rt):Qo(rt)}expandSegmentAgainstRouteUsingRedirect(He,Fe,Ue,rt,gt,Ot){const{matched:qt,consumedSegments:Xt,positionalParamSegments:Ei,remainingSegments:on}=cl(Fe,rt,gt);if(!qt)return Qo(Fe);rt.redirectTo.startsWith("/")&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>31&&(this.allowRedirects=!1));const bn=this.applyRedirects.applyRedirectCommands(Xt,rt.redirectTo,Ei);return this.applyRedirects.lineralizeSegments(rt,bn).pipe((0,d.Z)(Os=>this.processSegment(He,Ue,Fe,Os.concat(on),Ot,!1)))}matchSegmentAgainstRoute(He,Fe,Ue,rt,gt){const Ot=pc(Fe,Ue,rt,He);return"**"===Ue.path&&(Fe.children={}),Ot.pipe((0,o.n)(qt=>qt.matched?this.getChildConfig(He=Ue._injector??He,Ue,rt).pipe((0,o.n)(({routes:Xt})=>{const Ei=Ue._loadedInjector??He,{consumedSegments:on,remainingSegments:bn,parameters:Os}=qt,gl=new So(on,Os,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,function ia(Re){return Re.data||{}}(Ue),hr(Ue),Ue.component??Ue._loadedComponent??null,Ue,function kh(Re){return Re.resolve||{}}(Ue)),{segmentGroup:ml,slicedSegments:Ya}=Hl(Fe,on,bn,Xt);if(0===Ya.length&&ml.hasChildren())return this.processChildren(Ei,Xt,ml).pipe((0,v.T)(Ks=>null===Ks?null:new fr(gl,Ks)));if(0===Xt.length&&0===Ya.length)return(0,Le.of)(new fr(gl,[]));const yc=hr(Ue)===gt;return this.processSegment(Ei,Xt,ml,Ya,yc?Y:gt,!0).pipe((0,v.T)(Ks=>new fr(gl,Ks instanceof fr?[Ks]:[])))})):Qo(Fe)))}getChildConfig(He,Fe,Ue){return Fe.children?(0,Le.of)({routes:Fe.children,injector:He}):Fe.loadChildren?void 0!==Fe._loadedRoutes?(0,Le.of)({routes:Fe._loadedRoutes,injector:Fe._loadedInjector}):function pn(Re,He,Fe,Ue){const rt=He.canLoad;if(void 0===rt||0===rt.length)return(0,Le.of)(!0);const gt=rt.map(Ot=>{const qt=Ft(Ot,Re);return be(function gr(Re){return Re&&Vs(Re.canLoad)}(qt)?qt.canLoad(He,Fe):(0,M.N4e)(Re,()=>qt(He,Fe)))});return(0,Le.of)(gt).pipe(ll(),vs())}(He,Fe,Ue).pipe((0,d.Z)(rt=>rt?this.configLoader.loadChildren(He,Fe).pipe((0,z.M)(gt=>{Fe._loadedRoutes=gt.routes,Fe._loadedInjector=gt.injector})):function Th(Re){return(0,_.$)(to(!1,Un.GuardRejected))}())):(0,Le.of)({routes:[],injector:He})}}function xa(Re){const He=Re.value.routeConfig;return He&&""===He.path}function Xr(Re){const He=[],Fe=new Set;for(const Ue of Re){if(!xa(Ue)){He.push(Ue);continue}const rt=He.find(gt=>Ue.value.routeConfig===gt.value.routeConfig);void 0!==rt?(rt.children.push(...Ue.children),Fe.add(rt)):He.push(Ue)}for(const Ue of Fe){const rt=Xr(Ue.children);He.push(new fr(Ue.value,rt))}return He.filter(Ue=>!Fe.has(Ue))}function Ca(Re){const He=Re.children.map(Fe=>Ca(Fe)).flat();return[Re,...He]}function na(Re){return(0,o.n)(He=>{const Fe=Re(He);return Fe?(0,V.H)(Fe).pipe((0,v.T)(()=>He)):(0,Le.of)(He)})}let $l=(()=>{class Re{buildTitle(Fe){let Ue,rt=Fe.root;for(;void 0!==rt;)Ue=this.getResolvedTitleForRoute(rt)??Ue,rt=rt.children.find(gt=>gt.outlet===Y);return Ue}getResolvedTitleForRoute(Fe){return Fe.data[he]}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:()=>(0,M.WQX)(fc),providedIn:"root"})}return Re})(),fc=(()=>{class Re extends $l{constructor(Fe){super(),this.title=Fe}updateTitle(Fe){const Ue=this.buildTitle(Fe);void 0!==Ue&&this.title.setTitle(Ue)}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)(M.KVO(Z.hE))};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();const Ge=new M.nKC("",{providedIn:"root",factory:()=>({})}),ut=new M.nKC("");let Ke=(()=>{class Re{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=(0,M.WQX)(M.Ql9)}loadComponent(Fe){if(this.componentLoaders.get(Fe))return this.componentLoaders.get(Fe);if(Fe._loadedComponent)return(0,Le.of)(Fe._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(Fe);const Ue=be(Fe.loadComponent()).pipe((0,v.T)(Jt),(0,z.M)(gt=>{this.onLoadEndListener&&this.onLoadEndListener(Fe),Fe._loadedComponent=gt}),(0,x.j)(()=>{this.componentLoaders.delete(Fe)})),rt=new f(Ue,()=>new a.B).pipe(O());return this.componentLoaders.set(Fe,rt),rt}loadChildren(Fe,Ue){if(this.childrenLoaders.get(Ue))return this.childrenLoaders.get(Ue);if(Ue._loadedRoutes)return(0,Le.of)({routes:Ue._loadedRoutes,injector:Ue._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(Ue);const gt=function at(Re,He,Fe,Ue){return be(Re.loadChildren()).pipe((0,v.T)(Jt),(0,d.Z)(rt=>rt instanceof M.Co$||Array.isArray(rt)?(0,Le.of)(rt):(0,V.H)(He.compileModuleAsync(rt))),(0,v.T)(rt=>{Ue&&Ue(Re);let gt,Ot,qt=!1;return Array.isArray(rt)?(Ot=rt,!0):(gt=rt.create(Fe).injector,Ot=gt.get(ut,[],{optional:!0,self:!0}).flat()),{routes:Ot.map(Io),injector:gt}}))}(Ue,this.compiler,Fe,this.onLoadEndListener).pipe((0,x.j)(()=>{this.childrenLoaders.delete(Ue)})),Ot=new f(gt,()=>new a.B).pipe(O());return this.childrenLoaders.set(Ue,Ot),Ot}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();function Jt(Re){return function Et(Re){return Re&&"object"==typeof Re&&"default"in Re}(Re)?Re.default:Re}let ci=(()=>{class Re{static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:()=>(0,M.WQX)(Oi),providedIn:"root"})}return Re})(),Oi=(()=>{class Re{shouldProcessUrl(Fe){return!0}extract(Fe){return Fe}merge(Fe,Ue){return Fe}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();const Wn=new M.nKC(""),Qn=new M.nKC("");function os(Re,He,Fe){const Ue=Re.get(Qn),rt=Re.get(g.qQ);return Re.get(M.SKi).runOutsideAngular(()=>{if(!rt.startViewTransition||Ue.skipNextTransition)return Ue.skipNextTransition=!1,Promise.resolve();let gt;const Ot=new Promise(Ei=>{gt=Ei}),qt=rt.startViewTransition(()=>(gt(),function xn(Re){return new Promise(He=>{(0,M.mal)(He,{injector:Re})})}(Re))),{onViewTransitionCreated:Xt}=Ue;return Xt&&(0,M.N4e)(Re,()=>Xt({transition:qt,from:He,to:Fe})),Ot})}let ys=(()=>{class Re{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new a.B,this.transitionAbortSubject=new a.B,this.configLoader=(0,M.WQX)(Ke),this.environmentInjector=(0,M.WQX)(M.uvJ),this.urlSerializer=(0,M.WQX)(ti),this.rootContexts=(0,M.WQX)(mo),this.location=(0,M.WQX)(g.aZ),this.inputBindingEnabled=null!==(0,M.WQX)(ma,{optional:!0}),this.titleStrategy=(0,M.WQX)($l),this.options=(0,M.WQX)(Ge,{optional:!0})||{},this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlHandlingStrategy=(0,M.WQX)(ci),this.createViewTransition=(0,M.WQX)(Wn,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>(0,Le.of)(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=rt=>this.events.next(new Va(rt)),this.configLoader.onLoadStartListener=rt=>this.events.next(new wn(rt))}complete(){this.transitions?.complete()}handleNavigationRequest(Fe){const Ue=++this.navigationId;this.transitions?.next({...this.transitions.value,...Fe,id:Ue})}setupNavigations(Fe,Ue,rt){return this.transitions=new q.t({id:0,currentUrlTree:Ue,currentRawUrl:Ue,extractedUrl:this.urlHandlingStrategy.extract(Ue),urlAfterRedirects:this.urlHandlingStrategy.extract(Ue),rawUrl:Ue,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:cs,restoredState:null,currentSnapshot:rt.snapshot,targetSnapshot:null,currentRouterState:rt,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe((0,l.p)(gt=>0!==gt.id),(0,v.T)(gt=>({...gt,extractedUrl:this.urlHandlingStrategy.extract(gt.rawUrl)})),(0,o.n)(gt=>{let Ot=!1,qt=!1;return(0,Le.of)(gt).pipe((0,o.n)(Xt=>{if(this.navigationId>gt.id)return this.cancelNavigationTransition(gt,"",Un.SupersededByNewNavigation),m.w;this.currentTransition=gt,this.currentNavigation={id:Xt.id,initialUrl:Xt.rawUrl,extractedUrl:Xt.extractedUrl,trigger:Xt.source,extras:Xt.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null};const Ei=!Fe.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl();if(!Ei&&"reload"!==(Xt.extras.onSameUrlNavigation??Fe.onSameUrlNavigation)){const bn="";return this.events.next(new ln(Xt.id,this.urlSerializer.serialize(Xt.rawUrl),bn,pr.IgnoredSameUrlNavigation)),Xt.resolve(null),m.w}if(this.urlHandlingStrategy.shouldProcessUrl(Xt.rawUrl))return(0,Le.of)(Xt).pipe((0,o.n)(bn=>{const Os=this.transitions?.getValue();return this.events.next(new Er(bn.id,this.urlSerializer.serialize(bn.extractedUrl),bn.source,bn.restoredState)),Os!==this.transitions?.getValue()?m.w:Promise.resolve(bn)}),function Dh(Re,He,Fe,Ue,rt,gt){return(0,d.Z)(Ot=>function Hs(Re,He,Fe,Ue,rt,gt,Ot="emptyOnly"){return new ta(Re,He,Fe,Ue,rt,Ot,gt).recognize()}(Re,He,Fe,Ue,Ot.extractedUrl,rt,gt).pipe((0,v.T)(({state:qt,tree:Xt})=>({...Ot,targetSnapshot:qt,urlAfterRedirects:Xt}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,Fe.config,this.urlSerializer,this.paramsInheritanceStrategy),(0,z.M)(bn=>{gt.targetSnapshot=bn.targetSnapshot,gt.urlAfterRedirects=bn.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:bn.urlAfterRedirects};const Os=new lr(bn.id,this.urlSerializer.serialize(bn.extractedUrl),this.urlSerializer.serialize(bn.urlAfterRedirects),bn.targetSnapshot);this.events.next(Os)}));if(Ei&&this.urlHandlingStrategy.shouldProcessUrl(Xt.currentRawUrl)){const{id:bn,extractedUrl:Os,source:gl,restoredState:ml,extras:Ya}=Xt,yc=new Er(bn,this.urlSerializer.serialize(Os),gl,ml);this.events.next(yc);const Ks=Es(this.rootComponentType).snapshot;return this.currentTransition=gt={...Xt,targetSnapshot:Ks,urlAfterRedirects:Os,extras:{...Ya,skipLocationChange:!1,replaceUrl:!1}},this.currentNavigation.finalUrl=Os,(0,Le.of)(gt)}{const bn="";return this.events.next(new ln(Xt.id,this.urlSerializer.serialize(Xt.extractedUrl),bn,pr.IgnoredByUrlHandlingStrategy)),Xt.resolve(null),m.w}}),(0,z.M)(Xt=>{const Ei=new Fa(Xt.id,this.urlSerializer.serialize(Xt.extractedUrl),this.urlSerializer.serialize(Xt.urlAfterRedirects),Xt.targetSnapshot);this.events.next(Ei)}),(0,v.T)(Xt=>(this.currentTransition=gt={...Xt,guards:Ye(Xt.targetSnapshot,Xt.currentSnapshot,this.rootContexts)},gt)),function ad(Re,He){return(0,d.Z)(Fe=>{const{targetSnapshot:Ue,currentSnapshot:rt,guards:{canActivateChecks:gt,canDeactivateChecks:Ot}}=Fe;return 0===Ot.length&&0===gt.length?(0,Le.of)({...Fe,guardsResult:!0}):function Vl(Re,He,Fe,Ue){return(0,V.H)(Re).pipe((0,d.Z)(rt=>function Wa(Re,He,Fe,Ue,rt){const gt=He&&He.routeConfig?He.routeConfig.canDeactivate:null;if(!gt||0===gt.length)return(0,Le.of)(!0);const Ot=gt.map(qt=>{const Xt=Or(He)??rt,Ei=Ft(qt,Xt);return be(function jl(Re){return Re&&Vs(Re.canDeactivate)}(Ei)?Ei.canDeactivate(Re,He,Fe,Ue):(0,M.N4e)(Xt,()=>Ei(Re,He,Fe,Ue))).pipe(T())});return(0,Le.of)(Ot).pipe(ll())}(rt.component,rt.route,Fe,He,Ue)),T(rt=>!0!==rt,!0))}(Ot,Ue,rt,Re).pipe((0,d.Z)(qt=>qt&&function qo(Re){return"boolean"==typeof Re}(qt)?function hc(Re,He,Fe,Ue){return(0,V.H)(He).pipe((0,B.H)(rt=>(0,D.x)(function Oo(Re,He){return null!==Re&&He&&He(new za(Re)),(0,Le.of)(!0)}(rt.route.parent,Ue),function zl(Re,He){return null!==Re&&He&&He(new ha(Re)),(0,Le.of)(!0)}(rt.route,Ue),function vo(Re,He,Fe){const Ue=He[He.length-1],gt=He.slice(0,He.length-1).reverse().map(Ot=>function vt(Re){const He=Re.routeConfig?Re.routeConfig.canActivateChild:null;return He&&0!==He.length?{node:Re,guards:He}:null}(Ot)).filter(Ot=>null!==Ot).map(Ot=>(0,A.v)(()=>{const qt=Ot.guards.map(Xt=>{const Ei=Or(Ot.node)??Fe,on=Ft(Xt,Ei);return be(function Mn(Re){return Re&&Vs(Re.canActivateChild)}(on)?on.canActivateChild(Ue,Re):(0,M.N4e)(Ei,()=>on(Ue,Re))).pipe(T())});return(0,Le.of)(qt).pipe(ll())}));return(0,Le.of)(gt).pipe(ll())}(Re,rt.path,Fe),function Gl(Re,He,Fe){const Ue=He.routeConfig?He.routeConfig.canActivate:null;if(!Ue||0===Ue.length)return(0,Le.of)(!0);const rt=Ue.map(gt=>(0,A.v)(()=>{const Ot=Or(He)??Fe,qt=Ft(gt,Ot);return be(function ac(Re){return Re&&Vs(Re.canActivate)}(qt)?qt.canActivate(He,Re):(0,M.N4e)(Ot,()=>qt(He,Re))).pipe(T())}));return(0,Le.of)(rt).pipe(ll())}(Re,rt.route,Fe))),T(rt=>!0!==rt,!0))}(Ue,gt,Re,He):(0,Le.of)(qt)),(0,v.T)(qt=>({...Fe,guardsResult:qt})))})}(this.environmentInjector,Xt=>this.events.next(Xt)),(0,z.M)(Xt=>{if(gt.guardsResult=Xt.guardsResult,ar(Xt.guardsResult))throw Zo(0,Xt.guardsResult);const Ei=new Ba(Xt.id,this.urlSerializer.serialize(Xt.extractedUrl),this.urlSerializer.serialize(Xt.urlAfterRedirects),Xt.targetSnapshot,!!Xt.guardsResult);this.events.next(Ei)}),(0,l.p)(Xt=>!!Xt.guardsResult||(this.cancelNavigationTransition(Xt,"",Un.GuardRejected),!1)),na(Xt=>{if(Xt.guards.canActivateChecks.length)return(0,Le.of)(Xt).pipe((0,z.M)(Ei=>{const on=new ja(Ei.id,this.urlSerializer.serialize(Ei.extractedUrl),this.urlSerializer.serialize(Ei.urlAfterRedirects),Ei.targetSnapshot);this.events.next(on)}),(0,o.n)(Ei=>{let on=!1;return(0,Le.of)(Ei).pipe(function Wl(Re,He){return(0,d.Z)(Fe=>{const{targetSnapshot:Ue,guards:{canActivateChecks:rt}}=Fe;if(!rt.length)return(0,Le.of)(Fe);const gt=new Set(rt.map(Xt=>Xt.route)),Ot=new Set;for(const Xt of gt)if(!Ot.has(Xt))for(const Ei of Ca(Xt))Ot.add(Ei);let qt=0;return(0,V.H)(Ot).pipe((0,B.H)(Xt=>gt.has(Xt)?function Mh(Re,He,Fe,Ue){const rt=Re.routeConfig,gt=Re._resolve;return void 0!==rt?.title&&!Qs(rt)&&(gt[he]=rt.title),function dl(Re,He,Fe,Ue){const rt=Be(Re);if(0===rt.length)return(0,Le.of)({});const gt={};return(0,V.H)(rt).pipe((0,d.Z)(Ot=>function Yr(Re,He,Fe,Ue){const rt=Or(He)??Ue,gt=Ft(Re,rt);return be(gt.resolve?gt.resolve(He,Fe):(0,M.N4e)(rt,()=>gt(He,Fe)))}(Re[Ot],He,Fe,Ue).pipe(T(),(0,z.M)(qt=>{gt[Ot]=qt}))),S(1),(0,H.u)(gt),(0,K.W)(Ot=>cc(Ot)?m.w:(0,_.$)(Ot)))}(gt,Re,He,Ue).pipe((0,v.T)(Ot=>(Re._resolvedData=Ot,Re.data=Ar(Re,Re.parent,Fe).resolve,null)))}(Xt,Ue,Re,He):(Xt.data=Ar(Xt,Xt.parent,Re).resolve,(0,Le.of)(void 0))),(0,z.M)(()=>qt++),S(1),(0,d.Z)(Xt=>qt===Ot.size?(0,Le.of)(Fe):m.w))})}(this.paramsInheritanceStrategy,this.environmentInjector),(0,z.M)({next:()=>on=!0,complete:()=>{on||this.cancelNavigationTransition(Ei,"",Un.NoDataFromResolver)}}))}),(0,z.M)(Ei=>{const on=new go(Ei.id,this.urlSerializer.serialize(Ei.extractedUrl),this.urlSerializer.serialize(Ei.urlAfterRedirects),Ei.targetSnapshot);this.events.next(on)}))}),na(Xt=>{const Ei=on=>{const bn=[];on.routeConfig?.loadComponent&&!on.routeConfig._loadedComponent&&bn.push(this.configLoader.loadComponent(on.routeConfig).pipe((0,z.M)(Os=>{on.component=Os}),(0,v.T)(()=>{})));for(const Os of on.children)bn.push(...Ei(Os));return bn};return X(Ei(Xt.targetSnapshot.root)).pipe(C(null),(0,n.s)(1))}),na(()=>this.afterPreactivation()),(0,o.n)(()=>{const{currentSnapshot:Xt,targetSnapshot:Ei}=gt,on=this.createViewTransition?.(this.environmentInjector,Xt.root,Ei.root);return on?(0,V.H)(on).pipe((0,v.T)(()=>gt)):(0,Le.of)(gt)}),(0,v.T)(Xt=>{const Ei=function cr(Re,He,Fe){const Ue=es(Re,He._root,Fe?Fe._root:void 0);return new Ha(Ue,He)}(Fe.routeReuseStrategy,Xt.targetSnapshot,Xt.currentRouterState);return this.currentTransition=gt={...Xt,targetRouterState:Ei},this.currentNavigation.targetRouterState=Ei,gt}),(0,z.M)(()=>{this.events.next(new wr)}),((Re,He,Fe,Ue)=>(0,v.T)(rt=>(new Ua(He,rt.targetRouterState,rt.currentRouterState,Fe,Ue).activate(Re),rt)))(this.rootContexts,Fe.routeReuseStrategy,Xt=>this.events.next(Xt),this.inputBindingEnabled),(0,n.s)(1),(0,z.M)({next:Xt=>{Ot=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new bs(Xt.id,this.urlSerializer.serialize(Xt.extractedUrl),this.urlSerializer.serialize(Xt.urlAfterRedirects))),this.titleStrategy?.updateTitle(Xt.targetRouterState.snapshot),Xt.resolve(!0)},complete:()=>{Ot=!0}}),(0,N.Q)(this.transitionAbortSubject.pipe((0,z.M)(Xt=>{throw Xt}))),(0,x.j)(()=>{!Ot&&!qt&&this.cancelNavigationTransition(gt,"",Un.SupersededByNewNavigation),this.currentTransition?.id===gt.id&&(this.currentNavigation=null,this.currentTransition=null)}),(0,K.W)(Xt=>{if(qt=!0,va(Xt))this.events.next(new Ui(gt.id,this.urlSerializer.serialize(gt.extractedUrl),Xt.message,Xt.cancellationCode)),function ba(Re){return va(Re)&&ar(Re.url)}(Xt)?this.events.next(new Jr(Xt.url)):gt.resolve(!1);else{this.events.next(new Na(gt.id,this.urlSerializer.serialize(gt.extractedUrl),Xt,gt.targetSnapshot??void 0));try{gt.resolve(Fe.errorHandler(Xt))}catch(Ei){this.options.resolveNavigationPromiseOnError?gt.resolve(!1):gt.reject(Ei)}}return m.w}))}))}cancelNavigationTransition(Fe,Ue,rt){const gt=new Ui(Fe.id,this.urlSerializer.serialize(Fe.extractedUrl),Ue,rt);this.events.next(gt),Fe.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){return this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))).toString()!==this.currentTransition?.extractedUrl.toString()&&!this.currentTransition?.extras.skipLocationChange}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();function hs(Re){return Re!==cs}let zs=(()=>{class Re{static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:()=>(0,M.WQX)(Zn),providedIn:"root"})}return Re})();class Lr{shouldDetach(He){return!1}store(He,Fe){}shouldAttach(He){return!1}retrieve(He){return null}shouldReuseRoute(He,Fe){return He.routeConfig===Fe.routeConfig}}let Zn=(()=>{class Re extends Lr{static#e=this.\u0275fac=(()=>{let Fe;return function(rt){return(Fe||(Fe=M.xGo(Re)))(rt||Re)}})();static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})(),gi=(()=>{class Re{static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:()=>(0,M.WQX)(Bi),providedIn:"root"})}return Re})(),Bi=(()=>{class Re extends gi{constructor(){super(...arguments),this.location=(0,M.WQX)(g.aZ),this.urlSerializer=(0,M.WQX)(ti),this.options=(0,M.WQX)(Ge,{optional:!0})||{},this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.urlHandlingStrategy=(0,M.WQX)(ci),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.currentUrlTree=new st,this.rawUrlTree=this.currentUrlTree,this.currentPageId=0,this.lastSuccessfulId=-1,this.routerState=Es(null),this.stateMemento=this.createStateMemento()}getCurrentUrlTree(){return this.currentUrlTree}getRawUrlTree(){return this.rawUrlTree}restoredState(){return this.location.getState()}get browserPageId(){return"computed"!==this.canceledNavigationResolution?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}getRouterState(){return this.routerState}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}registerNonRouterCurrentEntryChangeListener(Fe){return this.location.subscribe(Ue=>{"popstate"===Ue.type&&Fe(Ue.url,Ue.state)})}handleRouterEvent(Fe,Ue){if(Fe instanceof Er)this.stateMemento=this.createStateMemento();else if(Fe instanceof ln)this.rawUrlTree=Ue.initialUrl;else if(Fe instanceof lr){if("eager"===this.urlUpdateStrategy&&!Ue.extras.skipLocationChange){const rt=this.urlHandlingStrategy.merge(Ue.finalUrl,Ue.initialUrl);this.setBrowserUrl(rt,Ue)}}else Fe instanceof wr?(this.currentUrlTree=Ue.finalUrl,this.rawUrlTree=this.urlHandlingStrategy.merge(Ue.finalUrl,Ue.initialUrl),this.routerState=Ue.targetRouterState,"deferred"===this.urlUpdateStrategy&&(Ue.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,Ue))):Fe instanceof Ui&&(Fe.code===Un.GuardRejected||Fe.code===Un.NoDataFromResolver)?this.restoreHistory(Ue):Fe instanceof Na?this.restoreHistory(Ue,!0):Fe instanceof bs&&(this.lastSuccessfulId=Fe.id,this.currentPageId=this.browserPageId)}setBrowserUrl(Fe,Ue){const rt=this.urlSerializer.serialize(Fe);if(this.location.isCurrentPathEqualTo(rt)||Ue.extras.replaceUrl){const Ot={...Ue.extras.state,...this.generateNgRouterState(Ue.id,this.browserPageId)};this.location.replaceState(rt,"",Ot)}else{const gt={...Ue.extras.state,...this.generateNgRouterState(Ue.id,this.browserPageId+1)};this.location.go(rt,"",gt)}}restoreHistory(Fe,Ue=!1){if("computed"===this.canceledNavigationResolution){const gt=this.currentPageId-this.browserPageId;0!==gt?this.location.historyGo(gt):this.currentUrlTree===Fe.finalUrl&&0===gt&&(this.resetState(Fe),this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(Ue&&this.resetState(Fe),this.resetUrlToCurrentUrlTree())}resetState(Fe){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,Fe.finalUrl??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(Fe,Ue){return"computed"===this.canceledNavigationResolution?{navigationId:Fe,\u0275routerPageId:Ue}:{navigationId:Fe}}static#e=this.\u0275fac=(()=>{let Fe;return function(rt){return(Fe||(Fe=M.xGo(Re)))(rt||Re)}})();static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();var En=function(Re){return Re[Re.COMPLETE=0]="COMPLETE",Re[Re.FAILED=1]="FAILED",Re[Re.REDIRECTING=2]="REDIRECTING",Re}(En||{});function ks(Re,He){Re.events.pipe((0,l.p)(Fe=>Fe instanceof bs||Fe instanceof Ui||Fe instanceof Na||Fe instanceof ln),(0,v.T)(Fe=>Fe instanceof bs||Fe instanceof ln?En.COMPLETE:Fe instanceof Ui&&(Fe.code===Un.Redirect||Fe.code===Un.SupersededByNewNavigation)?En.REDIRECTING:En.FAILED),(0,l.p)(Fe=>Fe!==En.REDIRECTING),(0,n.s)(1)).subscribe(()=>{He()})}function Us(Re){throw Re}const mr={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},ul={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let jn=(()=>{class Re{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}constructor(){this.disposed=!1,this.isNgZoneEnabled=!1,this.console=(0,M.WQX)(M.H3F),this.stateManager=(0,M.WQX)(gi),this.options=(0,M.WQX)(Ge,{optional:!0})||{},this.pendingTasks=(0,M.WQX)(M.TgB),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.navigationTransitions=(0,M.WQX)(ys),this.urlSerializer=(0,M.WQX)(ti),this.location=(0,M.WQX)(g.aZ),this.urlHandlingStrategy=(0,M.WQX)(ci),this._events=new a.B,this.errorHandler=this.options.errorHandler||Us,this.navigated=!1,this.routeReuseStrategy=(0,M.WQX)(zs),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.config=(0,M.WQX)(ut,{optional:!0})?.flat()??[],this.componentInputBindingEnabled=!!(0,M.WQX)(ma,{optional:!0}),this.eventsSubscription=new w.yU,this.isNgZoneEnabled=(0,M.WQX)(M.SKi)instanceof M.SKi&&M.SKi.isInAngularZone(),this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe({error:Fe=>{this.console.warn(Fe)}}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){const Fe=this.navigationTransitions.events.subscribe(Ue=>{try{const rt=this.navigationTransitions.currentTransition,gt=this.navigationTransitions.currentNavigation;if(null!==rt&&null!==gt)if(this.stateManager.handleRouterEvent(Ue,gt),Ue instanceof Ui&&Ue.code!==Un.Redirect&&Ue.code!==Un.SupersededByNewNavigation)this.navigated=!0;else if(Ue instanceof bs)this.navigated=!0;else if(Ue instanceof Jr){const Ot=this.urlHandlingStrategy.merge(Ue.url,rt.currentRawUrl),qt={info:rt.extras.info,skipLocationChange:rt.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||hs(rt.source)};this.scheduleNavigation(Ot,cs,null,qt,{resolve:rt.resolve,reject:rt.reject,promise:rt.promise})}(function Ro(Re){return!(Re instanceof wr||Re instanceof Jr)})(Ue)&&this._events.next(Ue)}catch(rt){this.navigationTransitions.transitionAbortSubject.next(rt)}});this.eventsSubscription.add(Fe)}resetRootComponentType(Fe){this.routerState.root.component=Fe,this.navigationTransitions.rootComponentType=Fe}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),cs,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((Fe,Ue)=>{setTimeout(()=>{this.navigateToSyncWithBrowser(Fe,"popstate",Ue)},0)})}navigateToSyncWithBrowser(Fe,Ue,rt){const gt={replaceUrl:!0},Ot=rt?.navigationId?rt:null;if(rt){const Xt={...rt};delete Xt.navigationId,delete Xt.\u0275routerPageId,0!==Object.keys(Xt).length&&(gt.state=Xt)}const qt=this.parseUrl(Fe);this.scheduleNavigation(qt,Ue,Ot,gt)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(Fe){this.config=Fe.map(Io),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(Fe,Ue={}){const{relativeTo:rt,queryParams:gt,fragment:Ot,queryParamsHandling:qt,preserveFragment:Xt}=Ue,Ei=Xt?this.currentUrlTree.fragment:Ot;let bn,on=null;switch(qt){case"merge":on={...this.currentUrlTree.queryParams,...gt};break;case"preserve":on=this.currentUrlTree.queryParams;break;default:on=gt||null}null!==on&&(on=this.removeEmptyProps(on));try{bn=Wr(rt?rt.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof Fe[0]||!Fe[0].startsWith("/"))&&(Fe=[]),bn=this.currentUrlTree.root}return Cr(bn,Fe,on,Ei??null)}navigateByUrl(Fe,Ue={skipLocationChange:!1}){const rt=ar(Fe)?Fe:this.parseUrl(Fe),gt=this.urlHandlingStrategy.merge(rt,this.rawUrlTree);return this.scheduleNavigation(gt,cs,null,Ue)}navigate(Fe,Ue={skipLocationChange:!1}){return function br(Re){for(let He=0;He(null!=gt&&(Ue[rt]=gt),Ue),{})}scheduleNavigation(Fe,Ue,rt,gt,Ot){if(this.disposed)return Promise.resolve(!1);let qt,Xt,Ei;Ot?(qt=Ot.resolve,Xt=Ot.reject,Ei=Ot.promise):Ei=new Promise((bn,Os)=>{qt=bn,Xt=Os});const on=this.pendingTasks.add();return ks(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(on))}),this.navigationTransitions.handleNavigationRequest({source:Ue,restoredState:rt,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:Fe,extras:gt,resolve:qt,reject:Xt,promise:Ei,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),Ei.catch(bn=>Promise.reject(bn))}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})(),Qi=(()=>{class Re{constructor(Fe,Ue,rt,gt,Ot,qt){this.router=Fe,this.route=Ue,this.tabIndexAttribute=rt,this.renderer=gt,this.el=Ot,this.locationStrategy=qt,this.href=null,this.commands=null,this.onChanges=new a.B,this.preserveFragment=!1,this.skipLocationChange=!1,this.replaceUrl=!1;const Xt=Ot.nativeElement.tagName?.toLowerCase();this.isAnchorElement="a"===Xt||"area"===Xt,this.isAnchorElement?this.subscription=Fe.events.subscribe(Ei=>{Ei instanceof bs&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}setTabIndexIfNotOnNativeEl(Fe){null!=this.tabIndexAttribute||this.isAnchorElement||this.applyAttributeValue("tabindex",Fe)}ngOnChanges(Fe){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(Fe){null!=Fe?(this.commands=Array.isArray(Fe)?Fe:[Fe],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(Fe,Ue,rt,gt,Ot){const qt=this.urlTree;return!!(null===qt||this.isAnchorElement&&(0!==Fe||Ue||rt||gt||Ot||"string"==typeof this.target&&"_self"!=this.target))||(this.router.navigateByUrl(qt,{skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info}),!this.isAnchorElement)}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){const Fe=this.urlTree;this.href=null!==Fe&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(Fe)):null;const Ue=null===this.href?null:(0,M.n$t)(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",Ue)}applyAttributeValue(Fe,Ue){const rt=this.renderer,gt=this.el.nativeElement;null!==Ue?rt.setAttribute(gt,Fe,Ue):rt.removeAttribute(gt,Fe)}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)(M.rXU(jn),M.rXU($i),M.kS0("tabindex"),M.rXU(M.sFG),M.rXU(M.aKT),M.rXU(g.hb))};static#t=this.\u0275dir=M.FsC({type:Re,selectors:[["","routerLink",""]],hostVars:1,hostBindings:function(Ue,rt){1&Ue&&M.bIt("click",function(Ot){return rt.onClick(Ot.button,Ot.ctrlKey,Ot.shiftKey,Ot.altKey,Ot.metaKey)}),2&Ue&&M.BMQ("target",rt.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[M.Mj6.HasDecoratorInputTransform,"preserveFragment","preserveFragment",M.L39],skipLocationChange:[M.Mj6.HasDecoratorInputTransform,"skipLocationChange","skipLocationChange",M.L39],replaceUrl:[M.Mj6.HasDecoratorInputTransform,"replaceUrl","replaceUrl",M.L39],routerLink:"routerLink"},standalone:!0,features:[M.GFd,M.OA$]})}return Re})(),No=(()=>{class Re{get isActive(){return this._isActive}constructor(Fe,Ue,rt,gt,Ot){this.router=Fe,this.element=Ue,this.renderer=rt,this.cdr=gt,this.link=Ot,this.classes=[],this._isActive=!1,this.routerLinkActiveOptions={exact:!1},this.isActiveChange=new M.bkB,this.routerEventsSubscription=Fe.events.subscribe(qt=>{qt instanceof bs&&this.update()})}ngAfterContentInit(){(0,Le.of)(this.links.changes,(0,Le.of)(null)).pipe((0,R.U)()).subscribe(Fe=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();const Fe=[...this.links.toArray(),this.link].filter(Ue=>!!Ue).map(Ue=>Ue.onChanges);this.linkInputChangesSubscription=(0,V.H)(Fe).pipe((0,R.U)()).subscribe(Ue=>{this._isActive!==this.isLinkActive(this.router)(Ue)&&this.update()})}set routerLinkActive(Fe){const Ue=Array.isArray(Fe)?Fe:Fe.split(" ");this.classes=Ue.filter(rt=>!!rt)}ngOnChanges(Fe){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{const Fe=this.hasActiveLinks();this._isActive!==Fe&&(this._isActive=Fe,this.cdr.markForCheck(),this.classes.forEach(Ue=>{Fe?this.renderer.addClass(this.element.nativeElement,Ue):this.renderer.removeClass(this.element.nativeElement,Ue)}),Fe&&void 0!==this.ariaCurrentWhenActive?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this.isActiveChange.emit(Fe))})}isLinkActive(Fe){const Ue=function Xl(Re){return!!Re.paths}(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return rt=>{const gt=rt.urlTree;return!!gt&&Fe.isActive(gt,Ue)}}hasActiveLinks(){const Fe=this.isLinkActive(this.router);return this.link&&Fe(this.link)||this.links.some(Fe)}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)(M.rXU(jn),M.rXU(M.aKT),M.rXU(M.sFG),M.rXU(M.gRc),M.rXU(Qi,8))};static#t=this.\u0275dir=M.FsC({type:Re,selectors:[["","routerLinkActive",""]],contentQueries:function(Ue,rt,gt){if(1&Ue&&M.wni(gt,Qi,5),2&Ue){let Ot;M.mGM(Ot=M.lsd())&&(rt.links=Ot)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],standalone:!0,features:[M.OA$]})}return Re})();class ws{}let Is=(()=>{class Re{preload(Fe,Ue){return Ue().pipe((0,K.W)(()=>(0,Le.of)(null)))}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})(),Yl=(()=>{class Re{constructor(Fe,Ue,rt,gt,Ot){this.router=Fe,this.injector=rt,this.preloadingStrategy=gt,this.loader=Ot}setUpPreloading(){this.subscription=this.router.events.pipe((0,l.p)(Fe=>Fe instanceof bs),(0,B.H)(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(Fe,Ue){const rt=[];for(const gt of Ue){gt.providers&&!gt._injector&&(gt._injector=(0,M.Ol2)(gt.providers,Fe,`Route: ${gt.path}`));const Ot=gt._injector??Fe,qt=gt._loadedInjector??Ot;(gt.loadChildren&&!gt._loadedRoutes&&void 0===gt.canLoad||gt.loadComponent&&!gt._loadedComponent)&&rt.push(this.preloadConfig(Ot,gt)),(gt.children||gt._loadedRoutes)&&rt.push(this.processRoutes(qt,gt.children??gt._loadedRoutes))}return(0,V.H)(rt).pipe((0,R.U)())}preloadConfig(Fe,Ue){return this.preloadingStrategy.preload(Ue,()=>{let rt;rt=Ue.loadChildren&&void 0===Ue.canLoad?this.loader.loadChildren(Fe,Ue):(0,Le.of)(null);const gt=rt.pipe((0,d.Z)(Ot=>null===Ot?(0,Le.of)(void 0):(Ue._loadedRoutes=Ot.routes,Ue._loadedInjector=Ot.injector,this.processRoutes(Ot.injector??Fe,Ot.routes))));if(Ue.loadComponent&&!Ue._loadedComponent){const Ot=this.loader.loadComponent(Ue);return(0,V.H)([gt,Ot]).pipe((0,R.U)())}return gt})}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)(M.KVO(jn),M.KVO(M.Ql9),M.KVO(M.uvJ),M.KVO(ws),M.KVO(Ke))};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();const Kr=new M.nKC("");let Kl=(()=>{class Re{constructor(Fe,Ue,rt,gt,Ot={}){this.urlSerializer=Fe,this.transitions=Ue,this.viewportScroller=rt,this.zone=gt,this.options=Ot,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},Ot.scrollPositionRestoration||="disabled",Ot.anchorScrolling||="disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(Fe=>{Fe instanceof Er?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=Fe.navigationTrigger,this.restoredId=Fe.restoredState?Fe.restoredState.navigationId:0):Fe instanceof bs?(this.lastId=Fe.id,this.scheduleScrollEvent(Fe,this.urlSerializer.parse(Fe.urlAfterRedirects).fragment)):Fe instanceof ln&&Fe.code===pr.IgnoredSameUrlNavigation&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(Fe,this.urlSerializer.parse(Fe.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(Fe=>{Fe instanceof Nl&&(Fe.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(Fe.position):Fe.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(Fe.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(Fe,Ue){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new Nl(Fe,"popstate"===this.lastSource?this.store[this.restoredId]:null,Ue))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static#e=this.\u0275fac=function(Ue){M.QTQ()};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac})}return Re})();function Zr(Re,He){return{\u0275kind:Re,\u0275providers:He}}function Fo(){const Re=(0,M.WQX)(M.zZn);return He=>{const Fe=Re.get(M.o8S);if(He!==Fe.components[0])return;const Ue=Re.get(jn),rt=Re.get(mc);1===Re.get(Xa)&&Ue.initialNavigation(),Re.get(Gs,null,M.$GK.Optional)?.setUpPreloading(),Re.get(Kr,null,M.$GK.Optional)?.init(),Ue.resetRootComponentType(Fe.componentTypes[0]),rt.closed||(rt.next(),rt.complete(),rt.unsubscribe())}}const mc=new M.nKC("",{factory:()=>new a.B}),Xa=new M.nKC("",{providedIn:"root",factory:()=>1}),Gs=new M.nKC("");function jc(Re){return Zr(0,[{provide:Gs,useExisting:Yl},{provide:ws,useExisting:Re}])}function bc(Re){return Zr(9,[{provide:Wn,useValue:os},{provide:Qn,useValue:{skipNextTransition:!!Re?.skipInitialTransition,...Re}}])}const ss=new M.nKC("ROUTER_FORROOT_GUARD"),zc=[g.aZ,{provide:ti,useClass:Dt},jn,mo,{provide:$i,useFactory:function yo(Re){return Re.routerState.root},deps:[jn]},Ke,[]];let Ah=(()=>{class Re{constructor(Fe){}static forRoot(Fe,Ue){return{ngModule:Re,providers:[zc,[],{provide:ut,multi:!0,useValue:Fe},{provide:ss,useFactory:cd,deps:[[jn,new M.Xx1,new M.kdw]]},{provide:Ge,useValue:Ue||{}},Ue?.useHash?{provide:g.hb,useClass:g.fw}:{provide:g.hb,useClass:g.Sm},{provide:Kr,useFactory:()=>{const Re=(0,M.WQX)(g.Xr),He=(0,M.WQX)(M.SKi),Fe=(0,M.WQX)(Ge),Ue=(0,M.WQX)(ys),rt=(0,M.WQX)(ti);return Fe.scrollOffset&&Re.setOffset(Fe.scrollOffset),new Kl(rt,Ue,Re,He,Fe)}},Ue?.preloadingStrategy?jc(Ue.preloadingStrategy).\u0275providers:[],Ue?.initialNavigation?Ih(Ue):[],Ue?.bindToComponentInputs?Zr(8,[Ir,{provide:ma,useExisting:Ir}]).\u0275providers:[],Ue?.enableViewTransitions?bc().\u0275providers:[],[{provide:vc,useFactory:Fo},{provide:M.iLQ,multi:!0,useExisting:vc}]]}}static forChild(Fe){return{ngModule:Re,providers:[{provide:ut,multi:!0,useValue:Fe}]}}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)(M.KVO(ss,8))};static#t=this.\u0275mod=M.$C({type:Re});static#i=this.\u0275inj=M.G2t({})}return Re})();function cd(Re){return"guarded"}function Ih(Re){return["disabled"===Re.initialNavigation?Zr(3,[{provide:M.hnV,multi:!0,useFactory:()=>{const He=(0,M.WQX)(jn);return()=>{He.setUpLocationChangeListener()}}},{provide:Xa,useValue:2}]).\u0275providers:[],"enabledBlocking"===Re.initialNavigation?Zr(2,[{provide:Xa,useValue:0},{provide:M.hnV,multi:!0,deps:[M.zZn],useFactory:He=>{const Fe=He.get(g.hj,Promise.resolve());return()=>Fe.then(()=>new Promise(Ue=>{const rt=He.get(jn),gt=He.get(mc);ks(rt,()=>{Ue(!0)}),He.get(ys).afterPreactivation=()=>(Ue(!0),gt.closed?(0,Le.of)(void 0):gt),rt.initialNavigation()}))}}]).\u0275providers:[]]}const vc=new M.nKC("")},88652:(ri,Bt,We)=>{"use strict";We.d(Bt,{$G:()=>ut,tg:()=>oa,U0:()=>Nr,do:()=>Sa,Bq:()=>eh,UN:()=>Md,ZM:()=>du});var M=We(54438),V=(We(89079),We(71985)),Le=We(983),q=We(7673),ne=We(21413),re=We(33726),ve=We(41584),le=We(58750);const{isArray:pe}=Array;function ue(me){return 1===me.length&&pe(me[0])?me[0]:me}var J=We(54360);function te(...me){return 1===(me=ue(me)).length?(0,le.Tg)(me[0]):new V.c(function X(me){return je=>{let ae=[];for(let Ce=0;ae&&!je.closed&&Ce{if(ae){for(let it=0;it{let Ne=ae.map(()=>[]),it=ae.map(()=>!1);Ce.add(()=>{Ne=it=null});for(let ft=0;!Ce.closed&&ft{if(Ne[ft].push(Vt),Ne.every(Ut=>Ut.length)){const Ut=Ne.map(ei=>ei.shift());Ce.next(je?je(...Ut):Ut),Ne.some((ei,ii)=>!ei.length&&it[ii])&&Ce.complete()}},()=>{it[ft]=!0,!Ne[ft].length&&Ce.complete()}));return()=>{Ne=it=null}}):Le.w}var P=We(28793),A=We(56977),I=We(5964),_=We(96697),m=We(88141),w=We(96354),G=We(39974),O=We(33669),f=We(85343);function a(...me){const je=(0,j.ms)(me);return(0,G.N)((ae,Ce)=>{const Ne=me.length,it=new Array(Ne);let ft=me.map(()=>!1),Vt=!1;for(let Ut=0;Ut{it[Ut]=ei,!Vt&&!ft[Ut]&&(ft[Ut]=!0,(Vt=ft.every(O.D))&&(ft=null))},f.l));ae.subscribe((0,J._)(Ce,Ut=>{if(Vt){const ei=[Ut,...it];Ce.next(je?je(...ei):ei)}}))})}var g=We(91986),v=We(73028),o=We(25558);We(99172),We(23294);var d=We(60177),k=(We(89417),{left:"right",right:"left",bottom:"top",top:"bottom"});function p(me){return me.replace(/left|right|bottom|top/g,function(je){return k[je]})}function T(me){return me.split("-")[0]}var B={start:"end",end:"start"};function z(me){return me.replace(/start|end/g,function(je){return B[je]})}var K="top",U="bottom",se="right",S="left",$="auto",H=[K,U,se,S],x="start",N="end",Z="viewport",Y="popper",ge=H.reduce(function(me,je){return me.concat([je+"-"+x,je+"-"+N])},[]),_e=[].concat(H,[$]).reduce(function(me,je){return me.concat([je,je+"-"+x,je+"-"+N])},[]),we=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Ee(me){if(null==me)return window;if("[object Window]"!==me.toString()){var je=me.ownerDocument;return je&&je.defaultView||window}return me}function Me(me){return me instanceof Ee(me).Element||me instanceof Element}function Xe(me){return me instanceof Ee(me).HTMLElement||me instanceof HTMLElement}function Je(me){return!(typeof ShadowRoot>"u")&&(me instanceof Ee(me).ShadowRoot||me instanceof ShadowRoot)}function lt(me){return((Me(me)?me.ownerDocument:me.document)||window.document).documentElement}var qe=Math.max,st=Math.min,Tt=Math.round;function pt(){var me=navigator.userAgentData;return null!=me&&me.brands&&Array.isArray(me.brands)?me.brands.map(function(je){return je.brand+"/"+je.version}).join(" "):navigator.userAgent}function ht(){return!/^((?!chrome|android).)*safari/i.test(pt())}function Pt(me,je,ae){void 0===je&&(je=!1),void 0===ae&&(ae=!1);var Ce=me.getBoundingClientRect(),Ne=1,it=1;je&&Xe(me)&&(Ne=me.offsetWidth>0&&Tt(Ce.width)/me.offsetWidth||1,it=me.offsetHeight>0&&Tt(Ce.height)/me.offsetHeight||1);var Vt=(Me(me)?Ee(me):window).visualViewport,Ut=!ht()&&ae,ei=(Ce.left+(Ut&&Vt?Vt.offsetLeft:0))/Ne,ii=(Ce.top+(Ut&&Vt?Vt.offsetTop:0))/it,wi=Ce.width/Ne,Ci=Ce.height/it;return{width:wi,height:Ci,top:ii,right:ei+wi,bottom:ii+Ci,left:ei,x:ei,y:ii}}function Gt(me){var je=Ee(me);return{scrollLeft:je.pageXOffset,scrollTop:je.pageYOffset}}function ti(me){return Pt(lt(me)).left+Gt(me).scrollLeft}function It(me){return Ee(me).getComputedStyle(me)}function wt(me){return me?(me.nodeName||"").toLowerCase():null}function Qt(me){return"html"===wt(me)?me:me.assignedSlot||me.parentNode||(Je(me)?me.host:null)||lt(me)}function di(me){var je=It(me);return/auto|scroll|overlay|hidden/.test(je.overflow+je.overflowY+je.overflowX)}function Ni(me){return["html","body","#document"].indexOf(wt(me))>=0?me.ownerDocument.body:Xe(me)&&di(me)?me:Ni(Qt(me))}function mi(me,je){var ae;void 0===je&&(je=[]);var Ce=Ni(me),Ne=Ce===(null==(ae=me.ownerDocument)?void 0:ae.body),it=Ee(Ce),ft=Ne?[it].concat(it.visualViewport||[],di(Ce)?Ce:[]):Ce,Vt=je.concat(ft);return Ne?Vt:Vt.concat(mi(Qt(ft)))}function vi(me){return["table","td","th"].indexOf(wt(me))>=0}function zi(me){return Xe(me)&&"fixed"!==It(me).position?me.offsetParent:null}function Fn(me){for(var je=Ee(me),ae=zi(me);ae&&vi(ae)&&"static"===It(ae).position;)ae=zi(ae);return ae&&("html"===wt(ae)||"body"===wt(ae)&&"static"===It(ae).position)?je:ae||function gs(me){var je=/firefox/i.test(pt());if(/Trident/i.test(pt())&&Xe(me)&&"fixed"===It(me).position)return null;var Ne=Qt(me);for(Je(Ne)&&(Ne=Ne.host);Xe(Ne)&&["html","body"].indexOf(wt(Ne))<0;){var it=It(Ne);if("none"!==it.transform||"none"!==it.perspective||"paint"===it.contain||-1!==["transform","perspective"].indexOf(it.willChange)||je&&"filter"===it.willChange||je&&it.filter&&"none"!==it.filter)return Ne;Ne=Ne.parentNode}return null}(me)||je}function as(me,je){var ae=je.getRootNode&&je.getRootNode();if(me.contains(je))return!0;if(ae&&Je(ae)){var Ce=je;do{if(Ce&&me.isSameNode(Ce))return!0;Ce=Ce.parentNode||Ce.host}while(Ce)}return!1}function ms(me){return Object.assign({},me,{left:me.x,top:me.y,right:me.x+me.width,bottom:me.y+me.height})}function fn(me,je,ae){return je===Z?ms(function Dt(me,je){var ae=Ee(me),Ce=lt(me),Ne=ae.visualViewport,it=Ce.clientWidth,ft=Ce.clientHeight,Vt=0,Ut=0;if(Ne){it=Ne.width,ft=Ne.height;var ei=ht();(ei||!ei&&"fixed"===je)&&(Vt=Ne.offsetLeft,Ut=Ne.offsetTop)}return{width:it,height:ft,x:Vt+ti(me),y:Ut}}(me,ae)):Me(je)?function Ln(me,je){var ae=Pt(me,!1,"fixed"===je);return ae.top=ae.top+me.clientTop,ae.left=ae.left+me.clientLeft,ae.bottom=ae.top+me.clientHeight,ae.right=ae.left+me.clientWidth,ae.width=me.clientWidth,ae.height=me.clientHeight,ae.x=ae.left,ae.y=ae.top,ae}(je,ae):ms(function xt(me){var je,ae=lt(me),Ce=Gt(me),Ne=null==(je=me.ownerDocument)?void 0:je.body,it=qe(ae.scrollWidth,ae.clientWidth,Ne?Ne.scrollWidth:0,Ne?Ne.clientWidth:0),ft=qe(ae.scrollHeight,ae.clientHeight,Ne?Ne.scrollHeight:0,Ne?Ne.clientHeight:0),Vt=-Ce.scrollLeft+ti(me),Ut=-Ce.scrollTop;return"rtl"===It(Ne||ae).direction&&(Vt+=qe(ae.clientWidth,Ne?Ne.clientWidth:0)-it),{width:it,height:ft,x:Vt,y:Ut}}(lt(me)))}function Kn(me){return me.split("-")[1]}function In(me){return["top","bottom"].indexOf(me)>=0?"x":"y"}function Bs(me){var Ut,je=me.reference,ae=me.element,Ce=me.placement,Ne=Ce?T(Ce):null,it=Ce?Kn(Ce):null,ft=je.x+je.width/2-ae.width/2,Vt=je.y+je.height/2-ae.height/2;switch(Ne){case K:Ut={x:ft,y:je.y-ae.height};break;case U:Ut={x:ft,y:je.y+je.height};break;case se:Ut={x:je.x+je.width,y:Vt};break;case S:Ut={x:je.x-ae.width,y:Vt};break;default:Ut={x:je.x,y:je.y}}var ei=Ne?In(Ne):null;if(null!=ei){var ii="y"===ei?"height":"width";switch(it){case x:Ut[ei]=Ut[ei]-(je[ii]/2-ae[ii]/2);break;case N:Ut[ei]=Ut[ei]+(je[ii]/2-ae[ii]/2)}}return Ut}function Wi(me){return Object.assign({},{top:0,right:0,bottom:0,left:0},me)}function js(me,je){return je.reduce(function(ae,Ce){return ae[Ce]=me,ae},{})}function On(me,je){void 0===je&&(je={});var Ce=je.placement,Ne=void 0===Ce?me.placement:Ce,it=je.strategy,ft=void 0===it?me.strategy:it,Vt=je.boundary,Ut=void 0===Vt?"clippingParents":Vt,ei=je.rootBoundary,ii=void 0===ei?Z:ei,wi=je.elementContext,Ci=void 0===wi?Y:wi,Ai=je.altBoundary,Sn=void 0!==Ai&&Ai,an=je.padding,kn=void 0===an?0:an,Vn=Wi("number"!=typeof kn?kn:js(kn,H)),Ls=me.rects.popper,zn=me.elements[Sn?Ci===Y?"reference":Y:Ci],ts=function Cs(me,je,ae,Ce){var Ne="clippingParents"===je?function ki(me){var je=mi(Qt(me)),Ce=["absolute","fixed"].indexOf(It(me).position)>=0&&Xe(me)?Fn(me):me;return Me(Ce)?je.filter(function(Ne){return Me(Ne)&&as(Ne,Ce)&&"body"!==wt(Ne)}):[]}(me):[].concat(je),it=[].concat(Ne,[ae]),Vt=it.reduce(function(Ut,ei){var ii=fn(me,ei,Ce);return Ut.top=qe(ii.top,Ut.top),Ut.right=st(ii.right,Ut.right),Ut.bottom=st(ii.bottom,Ut.bottom),Ut.left=qe(ii.left,Ut.left),Ut},fn(me,it[0],Ce));return Vt.width=Vt.right-Vt.left,Vt.height=Vt.bottom-Vt.top,Vt.x=Vt.left,Vt.y=Vt.top,Vt}(Me(zn)?zn:zn.contextElement||lt(me.elements.popper),Ut,ii,ft),rs=Pt(me.elements.reference),Ps=Bs({reference:rs,element:Ls,strategy:"absolute",placement:Ne}),Rs=ms(Object.assign({},Ls,Ps)),Dr=Ci===Y?Rs:rs,Ws={top:ts.top-Dr.top+Vn.top,bottom:Dr.bottom-ts.bottom+Vn.bottom,left:ts.left-Dr.left+Vn.left,right:Dr.right-ts.right+Vn.right},jr=me.modifiersData.offset;if(Ci===Y&&jr){var zo=jr[Ne];Object.keys(Ws).forEach(function(Vr){var ye=[se,U].indexOf(Vr)>=0?1:-1,et=[K,U].indexOf(Vr)>=0?"y":"x";Ws[Vr]+=zo[et]*ye})}return Ws}const Cr={name:"flip",enabled:!0,phase:"main",fn:function Wr(me){var je=me.state,ae=me.options,Ce=me.name;if(!je.modifiersData[Ce]._skip){for(var Ne=ae.mainAxis,it=void 0===Ne||Ne,ft=ae.altAxis,Vt=void 0===ft||ft,Ut=ae.fallbackPlacements,ei=ae.padding,ii=ae.boundary,wi=ae.rootBoundary,Ci=ae.altBoundary,Ai=ae.flipVariations,Sn=void 0===Ai||Ai,an=ae.allowedAutoPlacements,kn=je.options.placement,Vn=T(kn),Ls=Ut||(Vn!==kn&&Sn?function To(me){if(T(me)===$)return[];var je=p(me);return[z(me),je,z(je)]}(kn):[p(kn)]),zn=[kn].concat(Ls).reduce(function(oi,Li){return oi.concat(T(Li)===$?function ar(me,je){void 0===je&&(je={});var Ne=je.boundary,it=je.rootBoundary,ft=je.padding,Vt=je.flipVariations,Ut=je.allowedAutoPlacements,ei=void 0===Ut?_e:Ut,ii=Kn(je.placement),wi=ii?Vt?ge:ge.filter(function(Sn){return Kn(Sn)===ii}):H,Ci=wi.filter(function(Sn){return ei.indexOf(Sn)>=0});0===Ci.length&&(Ci=wi);var Ai=Ci.reduce(function(Sn,an){return Sn[an]=On(me,{placement:an,boundary:Ne,rootBoundary:it,padding:ft})[T(an)],Sn},{});return Object.keys(Ai).sort(function(Sn,an){return Ai[Sn]-Ai[an]})}(je,{placement:Li,boundary:ii,rootBoundary:wi,padding:ei,flipVariations:Sn,allowedAutoPlacements:an}):Li)},[]),ts=je.rects.reference,rs=je.rects.popper,Ps=new Map,Rs=!0,Dr=zn[0],Ws=0;Ws=0,et=ye?"width":"height",u=On(je,{placement:jr,boundary:ii,rootBoundary:wi,altBoundary:Ci,padding:ei}),ie=ye?Vr?se:S:Vr?U:K;ts[et]>rs[et]&&(ie=p(ie));var de=p(ie),Ae=[];if(it&&Ae.push(u[zo]<=0),Vt&&Ae.push(u[ie]<=0,u[de]<=0),Ae.every(function(oi){return oi})){Dr=jr,Rs=!1;break}Ps.set(jr,Ae)}if(Rs)for(var kt=function(Li){var Yi=zn.find(function(Xi){var Ji=Ps.get(Xi);if(Ji)return Ji.slice(0,Li).every(function(_n){return _n})});if(Yi)return Dr=Yi,"break"},zt=Sn?3:1;zt>0&&"break"!==kt(zt);zt--);je.placement!==Dr&&(je.modifiersData[Ce]._skip=!0,je.placement=Dr,je.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Rt(me,je,ae){return qe(me,st(je,ae))}function mt(me){var je=Pt(me),ae=me.offsetWidth,Ce=me.offsetHeight;return Math.abs(je.width-ae)<=1&&(ae=je.width),Math.abs(je.height-Ce)<=1&&(Ce=je.height),{x:me.offsetLeft,y:me.offsetTop,width:ae,height:Ce}}const $e={name:"preventOverflow",enabled:!0,phase:"main",fn:function _t(me){var je=me.state,ae=me.options,Ce=me.name,Ne=ae.mainAxis,it=void 0===Ne||Ne,ft=ae.altAxis,Vt=void 0!==ft&&ft,Ci=ae.tether,Ai=void 0===Ci||Ci,Sn=ae.tetherOffset,an=void 0===Sn?0:Sn,kn=On(je,{boundary:ae.boundary,rootBoundary:ae.rootBoundary,padding:ae.padding,altBoundary:ae.altBoundary}),Vn=T(je.placement),$n=Kn(je.placement),Ls=!$n,zn=In(Vn),ts=function St(me){return"x"===me?"y":"x"}(zn),rs=je.modifiersData.popperOffsets,Ps=je.rects.reference,Rs=je.rects.popper,Dr="function"==typeof an?an(Object.assign({},je.rects,{placement:je.placement})):an,Ws="number"==typeof Dr?{mainAxis:Dr,altAxis:Dr}:Object.assign({mainAxis:0,altAxis:0},Dr),jr=je.modifiersData.offset?je.modifiersData.offset[je.placement]:null,zo={x:0,y:0};if(rs){if(it){var Vr,ye="y"===zn?K:S,et="y"===zn?U:se,u="y"===zn?"height":"width",ie=rs[zn],de=ie+kn[ye],Ae=ie-kn[et],nt=Ai?-Rs[u]/2:0,kt=$n===x?Ps[u]:Rs[u],zt=$n===x?-Rs[u]:-Ps[u],ai=je.elements.arrow,oi=Ai&&ai?mt(ai):{width:0,height:0},Li=je.modifiersData["arrow#persistent"]?je.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Yi=Li[ye],Xi=Li[et],Ji=Rt(0,Ps[u],oi[u]),_n=Ls?Ps[u]/2-nt-Ji-Yi-Ws.mainAxis:kt-Ji-Yi-Ws.mainAxis,en=Ls?-Ps[u]/2+nt+Ji+Xi+Ws.mainAxis:zt+Ji+Xi+Ws.mainAxis,Jn=je.elements.arrow&&Fn(je.elements.arrow),Ms=Jn?"y"===zn?Jn.clientTop||0:Jn.clientLeft||0:0,Zs=null!=(Vr=jr?.[zn])?Vr:0,ho=ie+en-Zs,sr=Rt(Ai?st(de,ie+_n-Zs-Ms):de,ie,Ai?qe(Ae,ho):Ae);rs[zn]=sr,zo[zn]=sr-ie}if(Vt){var Mc,Ea=rs[ts],kp="y"===ts?"height":"width",$f=Ea+kn["x"===zn?K:S],Xf=Ea-kn["x"===zn?U:se],Dp=-1!==[K,S].indexOf(Vn),Dl=null!=(Mc=jr?.[ts])?Mc:0,tc=Dp?$f:Ea-Ps[kp]-Rs[kp]-Dl+Ws.altAxis,Yf=Dp?Ea+Ps[kp]+Rs[kp]-Dl-Ws.altAxis:Xf,Kf=Ai&&Dp?function Nt(me,je,ae){var Ce=Rt(me,je,ae);return Ce>ae?ae:Ce}(tc,Ea,Yf):Rt(Ai?tc:$f,Ea,Ai?Yf:Xf);rs[ts]=Kf,zo[ts]=Kf-Ea}je.modifiersData[Ce]=zo}},requiresIfExists:["offset"]},si={name:"arrow",enabled:!0,phase:"main",fn:function At(me){var je,ae=me.state,Ce=me.name,Ne=me.options,it=ae.elements.arrow,ft=ae.modifiersData.popperOffsets,Vt=T(ae.placement),Ut=In(Vt),ii=[S,se].indexOf(Vt)>=0?"height":"width";if(it&&ft){var wi=function(je,ae){return Wi("number"!=typeof(je="function"==typeof je?je(Object.assign({},ae.rects,{placement:ae.placement})):je)?je:js(je,H))}(Ne.padding,ae),Ci=mt(it),Ai="y"===Ut?K:S,Sn="y"===Ut?U:se,an=ae.rects.reference[ii]+ae.rects.reference[Ut]-ft[Ut]-ae.rects.popper[ii],kn=ft[Ut]-ae.rects.reference[Ut],Vn=Fn(it),$n=Vn?"y"===Ut?Vn.clientHeight||0:Vn.clientWidth||0:0,rs=$n/2-Ci[ii]/2+(an/2-kn/2),Ps=Rt(wi[Ai],rs,$n-Ci[ii]-wi[Sn]);ae.modifiersData[Ce]=((je={})[Ut]=Ps,je.centerOffset=Ps-rs,je)}},effect:function $t(me){var je=me.state,Ce=me.options.element,Ne=void 0===Ce?"[data-popper-arrow]":Ce;null!=Ne&&("string"==typeof Ne&&!(Ne=je.elements.popper.querySelector(Ne))||as(je.elements.popper,Ne)&&(je.elements.arrow=Ne))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ls(me,je,ae){void 0===ae&&(ae=!1);var Ce=Xe(je),Ne=Xe(je)&&function Ki(me){var je=me.getBoundingClientRect(),ae=Tt(je.width)/me.offsetWidth||1,Ce=Tt(je.height)/me.offsetHeight||1;return 1!==ae||1!==Ce}(je),it=lt(je),ft=Pt(me,Ne,ae),Vt={scrollLeft:0,scrollTop:0},Ut={x:0,y:0};return(Ce||!Ce&&!ae)&&(("body"!==wt(je)||di(it))&&(Vt=function qi(me){return me!==Ee(me)&&Xe(me)?function Di(me){return{scrollLeft:me.scrollLeft,scrollTop:me.scrollTop}}(me):Gt(me)}(je)),Xe(je)?((Ut=Pt(je,!0)).x+=je.clientLeft,Ut.y+=je.clientTop):it&&(Ut.x=ti(it))),{x:ft.left+Vt.scrollLeft-Ut.x,y:ft.top+Vt.scrollTop-Ut.y,width:ft.width,height:ft.height}}function Hn(me){var je=new Map,ae=new Set,Ce=[];function Ne(it){ae.add(it.name),[].concat(it.requires||[],it.requiresIfExists||[]).forEach(function(Vt){if(!ae.has(Vt)){var Ut=je.get(Vt);Ut&&Ne(Ut)}}),Ce.push(it)}return me.forEach(function(it){je.set(it.name,it)}),me.forEach(function(it){ae.has(it.name)||Ne(it)}),Ce}function gn(me){var je;return function(){return je||(je=new Promise(function(ae){Promise.resolve().then(function(){je=void 0,ae(me())})})),je}}var sn={placement:"bottom",modifiers:[],strategy:"absolute"};function Bn(){for(var me=arguments.length,je=new Array(me),ae=0;ae=0?-1:1,it="function"==typeof ae?ae(Object.assign({},je,{placement:me})):ae,ft=it[0],Vt=it[1];return ft=ft||0,Vt=(Vt||0)*Ne,[S,se].indexOf(Ce)>=0?{x:Vt,y:ft}:{x:ft,y:Vt}}(wi,je.rects,it),ii},{}),Vt=ft[je.placement],ei=Vt.y;null!=je.modifiersData.popperOffsets&&(je.modifiersData.popperOffsets.x+=Vt.x,je.modifiersData.popperOffsets.y+=ei),je.modifiersData[Ce]=ft}},Jr=["*"],Js=["dialog"];function lc(me,je){if(1&me&&M.EFF(0),2&me){const ae=M.XpG(2);M.JRh(ae.title)}}function cc(me,je){}function al(me,je){if(1&me&&(M.j41(0,"h3",2),M.DNE(1,lc,1,1,"ng-template",null,0,M.C5r)(3,cc,0,0,"ng-template",4),M.k0s()),2&me){const ae=M.sdS(2),Ce=M.XpG();M.R7$(3),M.Y8G("ngTemplateOutlet",Ce.isTitleTemplate()?Ce.title:ae)("ngTemplateOutletContext",Ce.context)}}const Rc={animation:!0,transitionTimerDelayMs:5};let Lo=(()=>{class me{constructor(){this.animation=Rc.animation}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275prov=M.jDH({token:me,factory:me.\u0275fac,providedIn:"root"})}return me})();function ea(me){return"string"==typeof me}function ta(me){return null!=me}function ia(me){return(me||document.body).getBoundingClientRect()}function Wl(me=document){const je=me?.activeElement;return je?je.shadowRoot?Wl(je.shadowRoot):je:null}const Ca=()=>{},{transitionTimerDelayMs:Mh}=Rc,dl=new Map,Yr=(me,je,ae,Ce)=>{let Ne=Ce.context||{};const it=dl.get(je);if(it)switch(Ce.runningTransition){case"continue":return Le.w;case"stop":me.run(()=>it.transition$.complete()),Ne=Object.assign(it.context,Ne),dl.delete(je)}const ft=ae(je,Ce.animation,Ne)||Ca;if(!Ce.animation||"none"===window.getComputedStyle(je).transitionProperty)return me.run(()=>ft()),(0,q.of)(void 0).pipe(function kh(me){return je=>new V.c(ae=>je.subscribe({next:ft=>me.run(()=>ae.next(ft)),error:ft=>me.run(()=>ae.error(ft)),complete:()=>me.run(()=>ae.complete())}))}(me));const Vt=new ne.B,Ut=new ne.B,ei=Vt.pipe(function D(...me){return je=>(0,P.x)(je,(0,q.of)(...me))}(!0));dl.set(je,{transition$:Vt,complete:()=>{Ut.next(),Ut.complete()},context:Ne});const ii=function Ul(me){const{transitionDelay:je,transitionDuration:ae}=window.getComputedStyle(me);return 1e3*(parseFloat(je)+parseFloat(ae))}(je);return me.runOutsideAngular(()=>{const wi=(0,re.R)(je,"transitionend").pipe((0,A.Q)(ei),(0,I.p)(({target:Ai})=>Ai===je));te((0,ve.O)(ii+Mh).pipe((0,A.Q)(ei)),wi,Ut).pipe((0,A.Q)(ei)).subscribe(()=>{dl.delete(je),me.run(()=>{ft(),Vt.next(),Vt.complete()})})}),Vt.asObservable()},fc=(me,je,ae)=>{let{direction:Ce,maxSize:Ne,dimension:it}=ae;const{classList:ft}=me;function Vt(){ft.add("collapse"),"show"===Ce?ft.add("show"):ft.remove("show")}if(je)return Ne||(Ne=function $l(me,je){if(typeof navigator>"u")return"0px";const{classList:ae}=me,Ce=ae.contains("show");Ce||ae.add("show"),me.style[je]="";const Ne=me.getBoundingClientRect()[je]+"px";return Ce||ae.remove("show"),Ne}(me,it),ae.maxSize=Ne,me.style[it]="show"!==Ce?Ne:"0px",ft.remove("collapse"),ft.remove("collapsing"),ft.remove("show"),ia(me),ft.add("collapsing")),me.style[it]="show"===Ce?Ne:"0px",()=>{Vt(),ft.remove("collapsing"),me.style[it]=""};Vt()};let Ge=(()=>{class me{constructor(){this._ngbConfig=(0,M.WQX)(Lo),this.horizontal=!1}get animation(){return this._animation??this._ngbConfig.animation}set animation(ae){this._animation=ae}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275prov=M.jDH({token:me,factory:me.\u0275fac,providedIn:"root"})}return me})(),ut=(()=>{class me{constructor(){this._config=(0,M.WQX)(Ge),this._element=(0,M.WQX)(M.aKT),this._zone=(0,M.WQX)(M.SKi),this.animation=this._config.animation,this._afterInit=!1,this._isCollapsed=!1,this.ngbCollapseChange=new M.bkB,this.horizontal=this._config.horizontal,this.shown=new M.bkB,this.hidden=new M.bkB}set collapsed(ae){this._isCollapsed!==ae&&(this._isCollapsed=ae,this._afterInit&&this._runTransitionWithEvents(ae,this.animation))}ngOnInit(){this._runTransition(this._isCollapsed,!1),this._afterInit=!0}toggle(ae=this._isCollapsed){this.collapsed=!ae,this.ngbCollapseChange.next(this._isCollapsed)}_runTransition(ae,Ce){return Yr(this._zone,this._element.nativeElement,fc,{animation:Ce,runningTransition:"stop",context:{direction:ae?"hide":"show",dimension:this.horizontal?"width":"height"}})}_runTransitionWithEvents(ae,Ce){this._runTransition(ae,Ce).subscribe(()=>{ae?this.hidden.emit():this.shown.emit()})}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275dir=M.FsC({type:me,selectors:[["","ngbCollapse",""]],hostVars:2,hostBindings:function(Ce,Ne){2&Ce&&M.AVh("collapse-horizontal",Ne.horizontal)},inputs:{animation:"animation",collapsed:[M.Mj6.None,"ngbCollapse","collapsed"],horizontal:"horizontal"},outputs:{ngbCollapseChange:"ngbCollapseChange",shown:"shown",hidden:"hidden"},exportAs:["ngbCollapse"],standalone:!0})}return me})(),xn=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),Lr=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),No=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),Xl=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})();var ss=function(me){return me[me.Tab=9]="Tab",me[me.Enter=13]="Enter",me[me.Escape=27]="Escape",me[me.Space=32]="Space",me[me.PageUp=33]="PageUp",me[me.PageDown=34]="PageDown",me[me.End=35]="End",me[me.Home=36]="Home",me[me.ArrowLeft=37]="ArrowLeft",me[me.ArrowUp=38]="ArrowUp",me[me.ArrowRight=39]="ArrowRight",me[me.ArrowDown=40]="ArrowDown",me}(ss||{});const vc=(me,je)=>!!je&&je.some(ae=>ae.contains(me)),hd=(me,je)=>!je||null!=function _a(me,je){return!je||typeof me.closest>"u"?null:me.closest(je)}(me,je),$u=typeof navigator<"u"&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function Oh(me,je,ae,Ce,Ne,it,ft,Vt){ae&&me.runOutsideAngular((me=>$u?()=>setTimeout(()=>me(),100):me)(()=>{const ei=(0,re.R)(je,"keydown").pipe((0,A.Q)(Ne),(0,I.p)(Ci=>Ci.which===ss.Escape),(0,m.M)(Ci=>Ci.preventDefault())),ii=(0,re.R)(je,"mousedown").pipe((0,w.T)(Ci=>{const Ai=Ci.target;return 2!==Ci.button&&!vc(Ai,ft)&&("inside"===ae?vc(Ai,it)&&hd(Ai,Vt):"outside"===ae?!vc(Ai,it):hd(Ai,Vt)||!vc(Ai,it))}),(0,A.Q)(Ne)),wi=(0,re.R)(je,"mouseup").pipe(a(ii),(0,I.p)(([Ci,Ai])=>Ai),(0,g.c)(0),(0,A.Q)(Ne));te([ei.pipe((0,w.T)(Ci=>0)),wi.pipe((0,w.T)(Ci=>1))]).subscribe(Ci=>me.run(()=>Ce(Ci)))}))}const Kd=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function Hc(me){const je=Array.from(me.querySelectorAll(Kd)).filter(ae=>-1!==ae.tabIndex);return[je[0],je[je.length-1]]}let Re=(()=>{class me{constructor(){this._element=(0,M.WQX)(d.qQ).documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275prov=M.jDH({token:me,factory:me.\u0275fac,providedIn:"root"})}return me})();const He=/\s+/,Fe=/ +/gi,Ue={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]},gt=/^left/,Ot=/^right/,qt=/^start/,Xt=/^end/;function on({placement:me,baseClass:je},ae){let Ce=Array.isArray(me)?me:me.split(He),it=Ce.findIndex(ei=>"auto"===ei);it>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(ei){null==Ce.find(ii=>-1!==ii.search("^"+ei))&&Ce.splice(it++,1,ei)});const ft=Ce.map(ei=>function rt(me,je){const[ae,Ce]=Ue[me];return je&&Ce||ae}(ei,ae.isRTL()));return{placement:ft.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!je,phase:"write",fn({state:ei}){const ii=new RegExp(je+"(-[a-z]+)*","gi"),wi=ei.elements.popper,Ci=ei.placement;let Ai=wi.className;Ai=Ai.replace(ii,""),Ai+=` ${function Ei(me,je){let[ae,Ce]=je.split("-");const Ne=ae.replace(gt,"start").replace(Ot,"end");let it=[Ne];if(Ce){let ft=Ce;("left"===ae||"right"===ae)&&(ft=ft.replace(qt,"top").replace(Xt,"bottom")),it.push(`${Ne}-${ft}`)}return me&&(it=it.map(ft=>`${me}-${ft}`)),it.join(" ")}(je,Ci)}`,Ai=Ai.trim().replace(Fe," "),wi.className=Ai}},Cr,$e,si,{enabled:!0,name:"flip",options:{fallbackPlacements:ft}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function bn(me){return me}function Os(){const me=(0,M.WQX)(Re);let je=null;return{createPopper(ae){if(!je){let Ne=(ae.updatePopperOptions||bn)(on(ae,me));je=ha(ae.hostElement,ae.targetElement,Ne)}},update(){je&&je.update()},setOptions(ae){if(je){let Ne=(ae.updatePopperOptions||bn)(on(ae,me));je.setOptions(Ne)}},destroy(){je&&(je.destroy(),je=null)}}}function Ks(me){return je=>(je.modifiers.push(wr,{name:"offset",options:{offset:()=>me}}),je)}new Date(1882,10,12),new Date(2174,10,25);let ru=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),Vh=(()=>{class me{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=ae=>ae,this.container=null}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275prov=M.jDH({token:me,factory:me.\u0275fac,providedIn:"root"})}return me})(),qc=(()=>{class me{constructor(){this._disabled=!1,this.nativeElement=(0,M.WQX)(M.aKT).nativeElement,this.tabindex=0}set disabled(ae){this._disabled=""===ae||!0===ae}get disabled(){return this._disabled}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275dir=M.FsC({type:me,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(Ce,Ne){2&Ce&&(M.Mr5("tabIndex",Ne.disabled?-1:Ne.tabindex),M.AVh("disabled",Ne.disabled))},inputs:{tabindex:"tabindex",disabled:"disabled"},standalone:!0})}return me})(),Nr=(()=>{class me{constructor(){this.dropdown=(0,M.WQX)(oa),this.nativeElement=(0,M.WQX)(M.aKT).nativeElement}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275dir=M.FsC({type:me,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(Ce,Ne,it){if(1&Ce&&M.wni(it,qc,4),2&Ce){let ft;M.mGM(ft=M.lsd())&&(Ne.menuItems=ft)}},hostVars:4,hostBindings:function(Ce,Ne){1&Ce&&M.bIt("keydown.ArrowUp",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.ArrowDown",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Home",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.End",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Enter",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Space",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Tab",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Shift.Tab",function(ft){return Ne.dropdown.onKeyDown(ft)}),2&Ce&&M.AVh("dropdown-menu",!0)("show",Ne.dropdown.isOpen())},standalone:!0})}return me})(),Zl=(()=>{class me{constructor(){this.dropdown=(0,M.WQX)(oa),this.nativeElement=(0,M.WQX)(M.aKT).nativeElement}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275dir=M.FsC({type:me,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:3,hostBindings:function(Ce,Ne){2&Ce&&(M.BMQ("aria-expanded",Ne.dropdown.isOpen()),M.AVh("show",Ne.dropdown.isOpen()))},standalone:!0})}return me})(),Sa=(()=>{class me extends Zl{static#e=this.\u0275fac=(()=>{let ae;return function(Ne){return(ae||(ae=M.xGo(me)))(Ne||me)}})();static#t=this.\u0275dir=M.FsC({type:me,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:3,hostBindings:function(Ce,Ne){1&Ce&&M.bIt("click",function(){return Ne.dropdown.toggle()})("keydown.ArrowUp",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.ArrowDown",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Home",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.End",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Tab",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Shift.Tab",function(ft){return Ne.dropdown.onKeyDown(ft)}),2&Ce&&(M.BMQ("aria-expanded",Ne.dropdown.isOpen()),M.AVh("show",Ne.dropdown.isOpen()))},standalone:!0,features:[M.Jv_([{provide:Zl,useExisting:(0,M.Rfq)(()=>me)}]),M.Vt3]})}return me})(),oa=(()=>{class me{constructor(){this._changeDetector=(0,M.WQX)(M.gRc),this._config=(0,M.WQX)(Vh),this._document=(0,M.WQX)(d.qQ),this._ngZone=(0,M.WQX)(M.SKi),this._nativeElement=(0,M.WQX)(M.aKT).nativeElement,this._destroyCloseHandlers$=new ne.B,this._bodyContainer=null,this._positioning=Os(),this.autoClose=this._config.autoClose,this._open=!1,this.placement=this._config.placement,this.popperOptions=this._config.popperOptions,this.container=this._config.container,this.openChange=new M.bkB}ngOnInit(){this.display||(this.display=this._nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe((0,_.s)(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(ae){if(ae.container&&this._open&&this._applyContainer(this.container),ae.placement&&!ae.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),ae.dropdownClass){const{currentValue:Ce,previousValue:Ne}=ae.dropdownClass;this._applyCustomDropdownClass(Ce,Ne)}ae.autoClose&&this._open&&(this.autoClose=ae.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),"dynamic"===this.display&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container,updatePopperOptions:ae=>this.popperOptions(Ks([0,2])(ae))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),Oh(this._ngZone,this._document,this.autoClose,ae=>{this.close(),0===ae&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(ae){const Ce=ae.which,Ne=this._getMenuElements();let it=-1,ft=null;const Vt=this._isEventFromToggle(ae);if(!Vt&&Ne.length&&Ne.forEach((Ut,ei)=>{Ut.contains(ae.target)&&(ft=Ut),Ut===Wl(this._document)&&(it=ei)}),Ce!==ss.Space&&Ce!==ss.Enter){if(Ce!==ss.Tab){if(Vt||ft){if(this.open(),Ne.length){switch(Ce){case ss.ArrowDown:it=Math.min(it+1,Ne.length-1);break;case ss.ArrowUp:if(this._isDropup()&&-1===it){it=Ne.length-1;break}it=Math.max(it-1,0);break;case ss.Home:it=0;break;case ss.End:it=Ne.length-1}Ne[it].focus()}ae.preventDefault()}}else if(ae.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===ae.target)return void("body"!==this.container||ae.shiftKey?ae.shiftKey&&this.close():(this._menu.nativeElement.setAttribute("tabindex","0"),this._menu.nativeElement.focus(),this._menu.nativeElement.removeAttribute("tabindex")));if("body"===this.container){const Ut=this._menu.nativeElement.querySelectorAll(Kd);ae.shiftKey&&ae.target===Ut[0]?(this._anchor.nativeElement.focus(),ae.preventDefault()):!ae.shiftKey&&ae.target===Ut[Ut.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else(0,re.R)(ae.target,"focusout").pipe((0,_.s)(1)).subscribe(({relatedTarget:Ut})=>{this._nativeElement.contains(Ut)||this.close()})}}else ft&&(!0===this.autoClose||"inside"===this.autoClose)&&(0,re.R)(ft,"click").pipe((0,_.s)(1)).subscribe(()=>this.close())}_isDropup(){return this._nativeElement.classList.contains("dropup")}_isEventFromToggle(ae){return this._anchor.nativeElement.contains(ae.target)}_getMenuElements(){return this._menu?this._menu.menuItems.filter(({disabled:ae})=>!ae).map(({nativeElement:ae})=>ae):[]}_positionMenu(){const ae=this._menu;this.isOpen()&&ae&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(ae){return Array.isArray(ae)?ae[0]:ae.split(" ")[0]}_resetContainer(){this._menu&&this._nativeElement.appendChild(this._menu.nativeElement),this._bodyContainer&&(this._document.body.removeChild(this._bodyContainer),this._bodyContainer=null)}_applyContainer(ae=null){if(this._resetContainer(),"body"===ae){const Ce=this._menu.nativeElement,Ne=this._bodyContainer=this._bodyContainer||this._document.createElement("div");Ne.style.position="absolute",Ce.style.position="static",Ne.style.zIndex="1055",Ne.appendChild(Ce),this._document.body.appendChild(Ne)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(ae,Ce){const Ne="body"===this.container?this._bodyContainer:this._nativeElement;Ne&&(Ce&&Ne.classList.remove(Ce),ae&&Ne.classList.add(ae))}_applyPlacementClasses(ae){if(this._menu){ae||(ae=this._getFirstPlacement(this.placement)),this._nativeElement.classList.remove("dropup","dropdown"),"static"===this.display?this._menu.nativeElement.setAttribute("data-bs-popper","static"):this._menu.nativeElement.removeAttribute("data-bs-popper");const Ce=-1!==ae.search("^top")?"dropup":"dropdown";this._nativeElement.classList.add(Ce),this._bodyContainer&&(this._bodyContainer.classList.remove("dropup","dropdown"),this._bodyContainer.classList.add(Ce))}}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275dir=M.FsC({type:me,selectors:[["","ngbDropdown",""]],contentQueries:function(Ce,Ne,it){if(1&Ce&&(M.wni(it,Nr,5),M.wni(it,Zl,5)),2&Ce){let ft;M.mGM(ft=M.lsd())&&(Ne._menu=ft.first),M.mGM(ft=M.lsd())&&(Ne._anchor=ft.first)}},hostVars:2,hostBindings:function(Ce,Ne){2&Ce&&M.AVh("show",Ne.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:[M.Mj6.None,"open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[M.OA$]})}return me})(),zh=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),ou=(()=>{class me{constructor(){this._ngbConfig=(0,M.WQX)(Lo),this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return this._animation??this._ngbConfig.animation}set animation(ae){this._animation=ae}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275prov=M.jDH({token:me,factory:me.\u0275fac,providedIn:"root"})}return me})();class Cl{constructor(je,ae,Ce){this.nodes=je,this.viewRef=ae,this.componentRef=Ce}}class lp{constructor(je){this._componentType=je,this._windowRef=null,this._contentRef=null,this._document=(0,M.WQX)(d.qQ),this._applicationRef=(0,M.WQX)(M.o8S),this._injector=(0,M.WQX)(M.zZn),this._viewContainerRef=(0,M.WQX)(M.c1b),this._ngZone=(0,M.WQX)(M.SKi)}open(je,ae,Ce=!1){this._windowRef||(this._contentRef=this._getContentRef(je,ae),this._windowRef=this._viewContainerRef.createComponent(this._componentType,{injector:this._injector,projectableNodes:this._contentRef.nodes}));const{nativeElement:Ne}=this._windowRef.location,it=this._ngZone.onStable.pipe((0,_.s)(1),(0,v.Z)(()=>Yr(this._ngZone,Ne,({classList:ft})=>ft.add("show"),{animation:Ce,runningTransition:"continue"})));return{windowRef:this._windowRef,transition$:it}}close(je=!1){return this._windowRef?Yr(this._ngZone,this._windowRef.location.nativeElement,({classList:ae})=>ae.remove("show"),{animation:je,runningTransition:"stop"}).pipe((0,m.M)(()=>{this._windowRef&&(this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._windowRef.hostView)),this._windowRef=null),this._contentRef?.viewRef&&(this._applicationRef.detachView(this._contentRef.viewRef),this._contentRef.viewRef.destroy(),this._contentRef=null)})):(0,q.of)(void 0)}_getContentRef(je,ae){if(je){if(je instanceof M.C4Q){const Ce=je.createEmbeddedView(ae);return this._applicationRef.attachView(Ce),new Cl([Ce.rootNodes],Ce)}return new Cl([[this._document.createTextNode(`${je}`)]])}return new Cl([])}}let Tc=(()=>{class me{constructor(){this._document=(0,M.WQX)(d.qQ)}hide(){const ae=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),Ce=this._document.body,Ne=Ce.style,{overflow:it,paddingRight:ft}=Ne;if(ae>0){const Vt=parseFloat(window.getComputedStyle(Ce).paddingRight);Ne.paddingRight=`${Vt+ae}px`}return Ne.overflow="hidden",()=>{ae>0&&(Ne.paddingRight=ft),Ne.overflow=it}}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275prov=M.jDH({token:me,factory:me.\u0275fac,providedIn:"root"})}return me})(),Qc=(()=>{class me{constructor(){this._nativeElement=(0,M.WQX)(M.aKT).nativeElement,this._zone=(0,M.WQX)(M.SKi)}ngOnInit(){this._zone.onStable.asObservable().pipe((0,_.s)(1)).subscribe(()=>{Yr(this._zone,this._nativeElement,(ae,Ce)=>{Ce&&ia(ae),ae.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return Yr(this._zone,this._nativeElement,({classList:ae})=>ae.remove("show"),{animation:this.animation,runningTransition:"stop"})}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275cmp=M.VBU({type:me,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(Ce,Ne){2&Ce&&(M.HbH("modal-backdrop"+(Ne.backdropClass?" "+Ne.backdropClass:"")),M.AVh("show",!Ne.animation)("fade",Ne.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[M.aNF],decls:0,vars:0,template:function(Ce,Ne){},encapsulation:2})}return me})();class Gh{update(je){}close(je){}dismiss(je){}}const Hh=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],Jc=["animation","backdropClass"];class au{_applyWindowOptions(je,ae){Hh.forEach(Ce=>{ta(ae[Ce])&&(je[Ce]=ae[Ce])})}_applyBackdropOptions(je,ae){Jc.forEach(Ce=>{ta(ae[Ce])&&(je[Ce]=ae[Ce])})}update(je){this._applyWindowOptions(this._windowCmptRef.instance,je),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,je)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe((0,A.Q)(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe((0,A.Q)(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(je,ae,Ce,Ne){this._windowCmptRef=je,this._contentRef=ae,this._backdropCmptRef=Ce,this._beforeDismiss=Ne,this._closed=new ne.B,this._dismissed=new ne.B,this._hidden=new ne.B,je.instance.dismissEvent.subscribe(it=>{this.dismiss(it)}),this.result=new Promise((it,ft)=>{this._resolve=it,this._reject=ft}),this.result.then(null,()=>{})}close(je){this._windowCmptRef&&(this._closed.next(je),this._resolve(je),this._removeModalElements())}_dismiss(je){this._dismissed.next(je),this._reject(je),this._removeModalElements()}dismiss(je){if(this._windowCmptRef)if(this._beforeDismiss){const ae=this._beforeDismiss();!function hl(me){return me&&me.then}(ae)?!1!==ae&&this._dismiss(je):ae.then(Ce=>{!1!==Ce&&this._dismiss(je)},()=>{})}else this._dismiss(je)}_removeModalElements(){const je=this._windowCmptRef.instance.hide(),ae=this._backdropCmptRef?this._backdropCmptRef.instance.hide():(0,q.of)(void 0);je.subscribe(()=>{const{nativeElement:Ce}=this._windowCmptRef.location;Ce.parentNode.removeChild(Ce),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),ae.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:Ce}=this._backdropCmptRef.location;Ce.parentNode.removeChild(Ce),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),F(je,ae).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var Uh=function(me){return me[me.BACKDROP_CLICK=0]="BACKDROP_CLICK",me[me.ESC=1]="ESC",me}(Uh||{});let cp=(()=>{class me{constructor(){this._document=(0,M.WQX)(d.qQ),this._elRef=(0,M.WQX)(M.aKT),this._zone=(0,M.WQX)(M.SKi),this._closed$=new ne.B,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new M.bkB,this.shown=new ne.B,this.hidden=new ne.B}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":ea(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(ae){this.dismissEvent.emit(ae)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe((0,_.s)(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:ae}=this._elRef,Ce={animation:this.animation,runningTransition:"stop"},ft=F(Yr(this._zone,ae,()=>ae.classList.remove("show"),Ce),Yr(this._zone,this._dialogEl.nativeElement,()=>{},Ce));return ft.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),ft}_show(){const ae={animation:this.animation,runningTransition:"continue"};F(Yr(this._zone,this._elRef.nativeElement,(it,ft)=>{ft&&ia(it),it.classList.add("show")},ae),Yr(this._zone,this._dialogEl.nativeElement,()=>{},ae)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:ae}=this._elRef;this._zone.runOutsideAngular(()=>{(0,re.R)(ae,"keydown").pipe((0,A.Q)(this._closed$),(0,I.p)(Ne=>Ne.which===ss.Escape)).subscribe(Ne=>{this.keyboard?requestAnimationFrame(()=>{Ne.defaultPrevented||this._zone.run(()=>this.dismiss(Uh.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let Ce=!1;(0,re.R)(this._dialogEl.nativeElement,"mousedown").pipe((0,A.Q)(this._closed$),(0,m.M)(()=>Ce=!1),(0,o.n)(()=>(0,re.R)(ae,"mouseup").pipe((0,A.Q)(this._closed$),(0,_.s)(1))),(0,I.p)(({target:Ne})=>ae===Ne)).subscribe(()=>{Ce=!0}),(0,re.R)(ae,"click").pipe((0,A.Q)(this._closed$)).subscribe(({target:Ne})=>{ae===Ne&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!Ce&&this._zone.run(()=>this.dismiss(Uh.BACKDROP_CLICK))),Ce=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:ae}=this._elRef;if(!ae.contains(document.activeElement)){const Ce=ae.querySelector("[ngbAutofocus]"),Ne=Hc(ae)[0];(Ce||Ne||ae).focus()}}_restoreFocus(){const ae=this._document.body,Ce=this._elWithFocus;let Ne;Ne=Ce&&Ce.focus&&ae.contains(Ce)?Ce:ae,this._zone.runOutsideAngular(()=>{setTimeout(()=>Ne.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&Yr(this._zone,this._elRef.nativeElement,({classList:ae})=>(ae.add("modal-static"),()=>ae.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275cmp=M.VBU({type:me,selectors:[["ngb-modal-window"]],viewQuery:function(Ce,Ne){if(1&Ce&&M.GBs(Js,7),2&Ce){let it;M.mGM(it=M.lsd())&&(Ne._dialogEl=it.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(Ce,Ne){2&Ce&&(M.BMQ("aria-modal",!0)("aria-labelledby",Ne.ariaLabelledBy)("aria-describedby",Ne.ariaDescribedBy),M.HbH("modal d-block"+(Ne.windowClass?" "+Ne.windowClass:"")),M.AVh("fade",Ne.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[M.aNF],ngContentSelectors:Jr,decls:4,vars:2,consts:[["dialog",""],["role","document"],[1,"modal-content"]],template:function(Ce,Ne){1&Ce&&(M.NAR(),M.j41(0,"div",1,0)(2,"div",2),M.SdG(3),M.k0s()()),2&Ce&&M.HbH("modal-dialog"+(Ne.size?" modal-"+Ne.size:"")+(Ne.centered?" modal-dialog-centered":"")+Ne.fullscreenClass+(Ne.scrollable?" modal-dialog-scrollable":"")+(Ne.modalDialogClass?" "+Ne.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2})}return me})(),Sc=(()=>{class me{constructor(){this._applicationRef=(0,M.WQX)(M.o8S),this._injector=(0,M.WQX)(M.zZn),this._environmentInjector=(0,M.WQX)(M.uvJ),this._document=(0,M.WQX)(d.qQ),this._scrollBar=(0,M.WQX)(Tc),this._activeWindowCmptHasChanged=new ne.B,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new M.bkB;const ae=(0,M.WQX)(M.SKi);this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const Ce=this._windowCmpts[this._windowCmpts.length-1];((me,je,ae,Ce=!1)=>{me.runOutsideAngular(()=>{const Ne=(0,re.R)(je,"focusin").pipe((0,A.Q)(ae),(0,w.T)(it=>it.target));(0,re.R)(je,"keydown").pipe((0,A.Q)(ae),(0,I.p)(it=>it.which===ss.Tab),a(Ne)).subscribe(([it,ft])=>{const[Vt,Ut]=Hc(je);(ft===Vt||ft===je)&&it.shiftKey&&(Ut.focus(),it.preventDefault()),ft===Ut&&!it.shiftKey&&(Vt.focus(),it.preventDefault())}),Ce&&(0,re.R)(je,"click").pipe((0,A.Q)(ae),a(Ne),(0,w.T)(it=>it[1])).subscribe(it=>it.focus())})})(ae,Ce.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(Ce.location.nativeElement)}})}_restoreScrollBar(){const ae=this._scrollBarRestoreFn;ae&&(this._scrollBarRestoreFn=null,ae())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(ae,Ce,Ne){const it=Ne.container instanceof HTMLElement?Ne.container:ta(Ne.container)?this._document.querySelector(Ne.container):this._document.body;if(!it)throw new Error(`The specified modal container "${Ne.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const ft=new Gh,Vt=(ae=Ne.injector||ae).get(M.uvJ,null)||this._environmentInjector,Ut=this._getContentRef(ae,Vt,Ce,ft,Ne);let ei=!1!==Ne.backdrop?this._attachBackdrop(it):void 0,ii=this._attachWindowComponent(it,Ut.nodes),wi=new au(ii,Ut,ei,Ne.beforeDismiss);return this._registerModalRef(wi),this._registerWindowCmpt(ii),wi.hidden.pipe((0,_.s)(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(this._document.body.classList.remove("modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),ft.close=Ci=>{wi.close(Ci)},ft.dismiss=Ci=>{wi.dismiss(Ci)},ft.update=Ci=>{wi.update(Ci)},wi.update(Ne),1===this._modalRefs.length&&this._document.body.classList.add("modal-open"),ei&&ei.instance&&ei.changeDetectorRef.detectChanges(),ii.changeDetectorRef.detectChanges(),wi}get activeInstances(){return this._activeInstances}dismissAll(ae){this._modalRefs.forEach(Ce=>Ce.dismiss(ae))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(ae){let Ce=(0,M.a0P)(Qc,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(Ce.hostView),ae.appendChild(Ce.location.nativeElement),Ce}_attachWindowComponent(ae,Ce){let Ne=(0,M.a0P)(cp,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:Ce});return this._applicationRef.attachView(Ne.hostView),ae.appendChild(Ne.location.nativeElement),Ne}_getContentRef(ae,Ce,Ne,it,ft){return Ne?Ne instanceof M.C4Q?this._createFromTemplateRef(Ne,it):ea(Ne)?this._createFromString(Ne):this._createFromComponent(ae,Ce,Ne,it,ft):new Cl([])}_createFromTemplateRef(ae,Ce){const it=ae.createEmbeddedView({$implicit:Ce,close(ft){Ce.close(ft)},dismiss(ft){Ce.dismiss(ft)}});return this._applicationRef.attachView(it),new Cl([it.rootNodes],it)}_createFromString(ae){const Ce=this._document.createTextNode(`${ae}`);return new Cl([[Ce]])}_createFromComponent(ae,Ce,Ne,it,ft){const Vt=M.zZn.create({providers:[{provide:Gh,useValue:it}],parent:ae}),Ut=(0,M.a0P)(Ne,{environmentInjector:Ce,elementInjector:Vt}),ei=Ut.location.nativeElement;return ft.scrollable&&ei.classList.add("component-host-scrollable"),this._applicationRef.attachView(Ut.hostView),new Cl([[ei]],Ut.hostView,Ut)}_setAriaHidden(ae){const Ce=ae.parentElement;Ce&&ae!==this._document.body&&(Array.from(Ce.children).forEach(Ne=>{Ne!==ae&&"SCRIPT"!==Ne.nodeName&&(this._ariaHiddenValues.set(Ne,Ne.getAttribute("aria-hidden")),Ne.setAttribute("aria-hidden","true"))}),this._setAriaHidden(Ce))}_revertAriaHidden(){this._ariaHiddenValues.forEach((ae,Ce)=>{ae?Ce.setAttribute("aria-hidden",ae):Ce.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(ae){const Ce=()=>{const Ne=this._modalRefs.indexOf(ae);Ne>-1&&(this._modalRefs.splice(Ne,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(ae),this._activeInstances.emit(this._modalRefs),ae.result.then(Ce,Ce)}_registerWindowCmpt(ae){this._windowCmpts.push(ae),this._activeWindowCmptHasChanged.next(),ae.onDestroy(()=>{const Ce=this._windowCmpts.indexOf(ae);Ce>-1&&(this._windowCmpts.splice(Ce,1),this._activeWindowCmptHasChanged.next())})}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275prov=M.jDH({token:me,factory:me.\u0275fac,providedIn:"root"})}return me})(),eh=(()=>{class me{constructor(){this._injector=(0,M.WQX)(M.zZn),this._modalStack=(0,M.WQX)(Sc),this._config=(0,M.WQX)(ou)}open(ae,Ce={}){const Ne={...this._config,animation:this._config.animation,...Ce};return this._modalStack.open(this._injector,ae,Ne)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(ae){this._modalStack.dismissAll(ae)}hasOpenModals(){return this._modalStack.hasOpenModals()}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275prov=M.jDH({token:me,factory:me.\u0275fac,providedIn:"root"})}return me})(),Ja=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({providers:[eh]})}return me})(),$h=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),Tl=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})();const oh={hover:["mouseenter","mouseleave"],focus:["focusin","focusout"]};let xd=(()=>{class me{constructor(){this._ngbConfig=(0,M.WQX)(Lo),this.autoClose=!0,this.placement="auto",this.popperOptions=ae=>ae,this.triggers="click",this.disablePopover=!1,this.openDelay=0,this.closeDelay=0}get animation(){return this._animation??this._ngbConfig.animation}set animation(ae){this._animation=ae}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275prov=M.jDH({token:me,factory:me.\u0275fac,providedIn:"root"})}return me})(),_d=0,aa=(()=>{class me{isTitleTemplate(){return this.title instanceof M.C4Q}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275cmp=M.VBU({type:me,selectors:[["ngb-popover-window"]],hostAttrs:["role","tooltip",2,"position","absolute"],hostVars:5,hostBindings:function(Ce,Ne){2&Ce&&(M.Mr5("id",Ne.id),M.HbH("popover"+(Ne.popoverClass?" "+Ne.popoverClass:"")),M.AVh("fade",Ne.animation))},inputs:{animation:"animation",title:"title",id:"id",popoverClass:"popoverClass",context:"context"},standalone:!0,features:[M.aNF],ngContentSelectors:Jr,decls:4,vars:1,consts:[["simpleTitle",""],["data-popper-arrow","",1,"popover-arrow"],[1,"popover-header"],[1,"popover-body"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(Ce,Ne){1&Ce&&(M.NAR(),M.nrm(0,"div",1),M.DNE(1,al,4,2,"h3",2),M.j41(2,"div",3),M.SdG(3),M.k0s()),2&Ce&&(M.R7$(),M.vxM(1,Ne.title?1:-1))},dependencies:[d.T3],encapsulation:2,changeDetection:0})}return me})(),du=(()=>{class me{constructor(){this._config=(0,M.WQX)(xd),this.animation=this._config.animation,this.autoClose=this._config.autoClose,this.placement=this._config.placement,this.popperOptions=this._config.popperOptions,this.triggers=this._config.triggers,this.container=this._config.container,this.disablePopover=this._config.disablePopover,this.popoverClass=this._config.popoverClass,this.openDelay=this._config.openDelay,this.closeDelay=this._config.closeDelay,this.shown=new M.bkB,this.hidden=new M.bkB,this._nativeElement=(0,M.WQX)(M.aKT).nativeElement,this._ngZone=(0,M.WQX)(M.SKi),this._document=(0,M.WQX)(d.qQ),this._changeDetector=(0,M.WQX)(M.gRc),this._ngbPopoverWindowId="ngb-popover-"+_d++,this._popupService=new lp(aa),this._windowRef=null,this._positioning=Os()}open(ae){if(!this._windowRef&&!this._isDisabled()){const{windowRef:Ce,transition$:Ne}=this._popupService.open(this.ngbPopover,ae??this.popoverContext,this.animation);this._windowRef=Ce,this._windowRef.setInput("animation",this.animation),this._windowRef.setInput("title",this.popoverTitle),this._windowRef.setInput("context",ae??this.popoverContext),this._windowRef.setInput("popoverClass",this.popoverClass),this._windowRef.setInput("id",this._ngbPopoverWindowId),this._getPositionTargetElement().setAttribute("aria-describedby",this._ngbPopoverWindowId),"body"===this.container&&this._document.body.appendChild(this._windowRef.location.nativeElement),this._windowRef.changeDetectorRef.detectChanges(),this._windowRef.changeDetectorRef.markForCheck(),this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._getPositionTargetElement(),targetElement:this._windowRef.location.nativeElement,placement:this.placement,appendToBody:"body"===this.container,baseClass:"bs-popover",updatePopperOptions:it=>this.popperOptions(Ks([0,8])(it))}),Promise.resolve().then(()=>{this._positioning.update(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positioning.update())})}),Oh(this._ngZone,this._document,this.autoClose,()=>this.close(),this.hidden,[this._windowRef.location.nativeElement]),Ne.subscribe(()=>this.shown.emit())}}close(ae=this.animation){this._windowRef&&(this._getPositionTargetElement().removeAttribute("aria-describedby"),this._popupService.close(ae).subscribe(()=>{this._windowRef=null,this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this.hidden.emit(),this._changeDetector.markForCheck()}))}toggle(){this._windowRef?this.close():this.open()}isOpen(){return null!=this._windowRef}ngOnInit(){this._unregisterListenersFn=function jf(me,je,ae,Ce,Ne,it=0,ft=0){const Vt=function vr(me){const je=(me||"").trim();if(0===je.length)return[];const ae=je.split(/\s+/).map(Ne=>Ne.split(":")).map(Ne=>oh[Ne[0]]||Ne),Ce=ae.filter(Ne=>Ne.includes("manual"));if(Ce.length>1)throw"Triggers parse error: only one manual trigger is allowed";if(1===Ce.length&&ae.length>1)throw"Triggers parse error: manual trigger can't be mixed with other triggers";return Ce.length?[]:ae}(je);if(0===Vt.length)return()=>{};const Ut=new Set,ei=[];let ii;function wi(Ai,Sn){me.addEventListener(Ai,Sn),ei.push(()=>me.removeEventListener(Ai,Sn))}function Ci(Ai,Sn){clearTimeout(ii),Sn>0?ii=setTimeout(Ai,Sn):Ai()}for(const[Ai,Sn]of Vt)Sn?(wi(Ai,()=>{Ut.add(Ai),Ci(()=>Ut.size>0&&Ce(),it)}),wi(Sn,()=>{Ut.delete(Ai),Ci(()=>0===Ut.size&&Ne(),ft)})):wi(Ai,()=>ae()?Ci(Ne,ft):Ci(Ce,it));return()=>ei.forEach(Ai=>Ai())}(this._nativeElement,this.triggers,this.isOpen.bind(this),this.open.bind(this),this.close.bind(this),+this.openDelay,+this.closeDelay)}ngOnChanges({ngbPopover:ae,popoverTitle:Ce,disablePopover:Ne,popoverClass:it}){it&&this.isOpen()&&this._windowRef.setInput("popoverClass",it.currentValue),(ae||Ce||Ne)&&this._isDisabled()&&this.close()}ngOnDestroy(){this.close(!1),this._unregisterListenersFn?.()}_isDisabled(){return!!this.disablePopover||!this.ngbPopover&&!this.popoverTitle}_getPositionTargetElement(){return(ea(this.positionTarget)?this._document.querySelector(this.positionTarget):this.positionTarget)||this._nativeElement}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275dir=M.FsC({type:me,selectors:[["","ngbPopover",""]],inputs:{animation:"animation",autoClose:"autoClose",ngbPopover:"ngbPopover",popoverTitle:"popoverTitle",placement:"placement",popperOptions:"popperOptions",triggers:"triggers",positionTarget:"positionTarget",container:"container",disablePopover:"disablePopover",popoverClass:"popoverClass",popoverContext:"popoverContext",openDelay:"openDelay",closeDelay:"closeDelay"},outputs:{shown:"shown",hidden:"hidden"},exportAs:["ngbPopover"],standalone:!0,features:[M.OA$]})}return me})(),Ql=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),ah=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),Jl=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),wd=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),gp=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),kl=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),co=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})();new M.nKC("live announcer delay",{providedIn:"root",factory:()=>100});let Dc=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),Tp=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})();const Sp=[xn,Lr,No,Xl,ru,zh,Ja,$h,Tp,Tl,Ql,ah,Jl,wd,gp,kl,co,Dc];let Md=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({imports:[Sp,xn,Lr,No,Xl,ru,zh,Ja,$h,Tp,Tl,Ql,ah,Jl,wd,gp,kl,co,Dc]})}return me})()},97013:(ri,Bt,We)=>{"use strict";We.d(Bt,{Uq:()=>Qt,vr:()=>Cr,MQ:()=>Nt});var M=We(54438),e=We(89417),V=We(56977),Le=We(43236),q=We(39974),ne=We(58750),re=We(54360),le=We(41584);var ue=We(99172),J=We(88141),te=We(70152),X=We(5964),E=We(96354),j=We(30536),F=We(96780);let D,P=1;const A={};function I(mt){return mt in A&&(delete A[mt],!0)}const _={setImmediate(mt){const _t=P++;return A[_t]=!0,D||(D=Promise.resolve()),D.then(()=>I(_t)&&mt()),_t},clearImmediate(mt){I(mt)}},{setImmediate:w,clearImmediate:G}=_,O={setImmediate(...mt){const{delegate:_t}=O;return(_t?.setImmediate||w)(...mt)},clearImmediate(mt){const{delegate:_t}=O;return(_t?.clearImmediate||G)(mt)},delegate:void 0};var a=We(39687);const v=new class g extends a.q{flush(_t){this._active=!0;const $e=this._scheduled;this._scheduled=void 0;const{actions:yt}=this;let At;_t=_t||yt.shift();do{if(At=_t.execute(_t.state,_t.delay))break}while((_t=yt[0])&&_t.id===$e&&yt.shift());if(this._active=!1,At){for(;(_t=yt[0])&&_t.id===$e&&yt.shift();)_t.unsubscribe();throw At}}}(class f extends F.R{constructor(_t,$e){super(_t,$e),this.scheduler=_t,this.work=$e}requestAsyncId(_t,$e,yt=0){return null!==yt&&yt>0?super.requestAsyncId(_t,$e,yt):(_t.actions.push(this),_t._scheduled||(_t._scheduled=O.setImmediate(_t.flush.bind(_t,void 0))))}recycleAsyncId(_t,$e,yt=0){var At;if(null!=yt?yt>0:this.delay>0)return super.recycleAsyncId(_t,$e,yt);const{actions:$t}=_t;null!=$e&&(null===(At=$t[$t.length-1])||void 0===At?void 0:At.id)!==$e&&(O.clearImmediate($e),_t._scheduled===$e&&(_t._scheduled=void 0))}});var n=We(21413),r=We(33726),l=We(57786),d=We(60177);const C=["content"],k=["scroll"],p=["padding"],T=["*"],B=mt=>({searchTerm:mt});function z(mt,_t){if(1&mt&&(M.j41(0,"div",6),M.eu8(1,7),M.k0s()),2&mt){const $e=M.XpG();M.R7$(),M.Y8G("ngTemplateOutlet",$e.headerTemplate)("ngTemplateOutletContext",M.eq3(2,B,$e.filterValue))}}function K(mt,_t){if(1&mt&&(M.j41(0,"div",8),M.eu8(1,7),M.k0s()),2&mt){const $e=M.XpG();M.R7$(),M.Y8G("ngTemplateOutlet",$e.footerTemplate)("ngTemplateOutletContext",M.eq3(2,B,$e.filterValue))}}const U=["searchInput"],se=["clearButton"],S=(mt,_t,$e)=>({item:mt,clear:_t,label:$e}),$=(mt,_t)=>({items:mt,clear:_t}),H=(mt,_t,$e,yt)=>({item:mt,item$:_t,index:$e,searchTerm:yt});function x(mt,_t){if(1&mt){const $e=M.RV6();M.j41(0,"span",22),M.bIt("click",function(){M.eBV($e);const At=M.XpG().$implicit,$t=M.XpG(2);return M.Njj($t.unselect(At))}),M.EFF(1,"\xd7"),M.k0s(),M.nrm(2,"span",23)}if(2&mt){const $e=M.XpG().$implicit,yt=M.XpG(2);M.R7$(2),M.Y8G("ngItemLabel",$e.label)("escape",yt.escapeHTML)}}function N(mt,_t){}function R(mt,_t){if(1&mt&&(M.j41(0,"div",20),M.DNE(1,x,3,2,"ng-template",null,1,M.C5r)(3,N,0,0,"ng-template",21),M.k0s()),2&mt){const $e=_t.$implicit,yt=M.sdS(2),At=M.XpG(2);M.AVh("ng-value-disabled",$e.disabled),M.R7$(3),M.Y8G("ngTemplateOutlet",At.labelTemplate||yt)("ngTemplateOutletContext",M.sMw(4,S,$e.value,At.clearItem,$e.label))}}function Z(mt,_t){if(1&mt&&(M.qex(0),M.DNE(1,R,4,8,"div",19),M.bVm()),2&mt){const $e=M.XpG();M.R7$(),M.Y8G("ngForOf",$e.selectedItems)("ngForTrackBy",$e.trackByOption)}}function Y(mt,_t){}function he(mt,_t){if(1&mt&&M.DNE(0,Y,0,0,"ng-template",21),2&mt){const $e=M.XpG();M.Y8G("ngTemplateOutlet",$e.multiLabelTemplate)("ngTemplateOutletContext",M.l_i(2,$,$e.selectedValues,$e.clearItem))}}function ge(mt,_t){1&mt&&M.nrm(0,"div",25)}function _e(mt,_t){}function Te(mt,_t){if(1&mt&&(M.qex(0),M.DNE(1,ge,1,0,"ng-template",null,2,M.C5r)(3,_e,0,0,"ng-template",24),M.bVm()),2&mt){const $e=M.sdS(2),yt=M.XpG();M.R7$(3),M.Y8G("ngTemplateOutlet",yt.loadingSpinnerTemplate||$e)}}function Oe(mt,_t){if(1&mt&&(M.j41(0,"span",26,3)(2,"span",27),M.EFF(3,"\xd7"),M.k0s()()),2&mt){const $e=M.XpG();M.FS9("title",$e.clearAllText)}}function De(mt,_t){if(1&mt&&M.nrm(0,"span",32),2&mt){const $e=M.XpG().$implicit,yt=M.XpG(2);M.Y8G("ngItemLabel",$e.label)("escape",yt.escapeHTML)}}function Be(mt,_t){}function oe(mt,_t){if(1&mt){const $e=M.RV6();M.j41(0,"div",31),M.bIt("click",function(){const At=M.eBV($e).$implicit,$t=M.XpG(2);return M.Njj($t.toggleItem(At))})("mouseover",function(){const At=M.eBV($e).$implicit,$t=M.XpG(2);return M.Njj($t.onItemHover(At))}),M.DNE(1,De,1,2,"ng-template",null,4,M.C5r)(3,Be,0,0,"ng-template",21),M.k0s()}if(2&mt){const $e=_t.$implicit,yt=M.sdS(2),At=M.XpG(2);M.AVh("ng-option-disabled",$e.disabled)("ng-option-selected",$e.selected)("ng-optgroup",$e.children)("ng-option",!$e.children)("ng-option-child",!!$e.parent)("ng-option-marked",$e===At.itemsList.markedItem),M.BMQ("role",$e.children?"group":"option")("aria-selected",$e.selected)("id",null==$e?null:$e.htmlId),M.R7$(3),M.Y8G("ngTemplateOutlet",$e.children?At.optgroupTemplate||yt:At.optionTemplate||yt)("ngTemplateOutletContext",M.ziG(17,H,$e.value,$e,$e.index,At.searchTerm))}}function ee(mt,_t){if(1&mt&&(M.j41(0,"span")(1,"span",34),M.EFF(2),M.k0s(),M.EFF(3),M.k0s()),2&mt){const $e=M.XpG(3);M.R7$(2),M.JRh($e.addTagText),M.R7$(),M.SpI('"',$e.searchTerm,'"')}}function be(mt,_t){}function xe(mt,_t){if(1&mt){const $e=M.RV6();M.j41(0,"div",33),M.bIt("mouseover",function(){M.eBV($e);const At=M.XpG(2);return M.Njj(At.itemsList.unmarkItem())})("click",function(){M.eBV($e);const At=M.XpG(2);return M.Njj(At.selectTag())}),M.DNE(1,ee,4,2,"ng-template",null,5,M.C5r)(3,be,0,0,"ng-template",21),M.k0s()}if(2&mt){const $e=M.sdS(2),yt=M.XpG(2);M.AVh("ng-option-marked",!yt.itemsList.markedItem),M.R7$(3),M.Y8G("ngTemplateOutlet",yt.tagTemplate||$e)("ngTemplateOutletContext",M.eq3(4,B,yt.searchTerm))}}function Ie(mt,_t){if(1&mt&&(M.j41(0,"div",35),M.EFF(1),M.k0s()),2&mt){const $e=M.XpG(3);M.R7$(),M.JRh($e.notFoundText)}}function we(mt,_t){}function Ee(mt,_t){if(1&mt&&(M.qex(0),M.DNE(1,Ie,2,1,"ng-template",null,6,M.C5r)(3,we,0,0,"ng-template",21),M.bVm()),2&mt){const $e=M.sdS(2),yt=M.XpG(2);M.R7$(3),M.Y8G("ngTemplateOutlet",yt.notFoundTemplate||$e)("ngTemplateOutletContext",M.eq3(2,B,yt.searchTerm))}}function Me(mt,_t){if(1&mt&&(M.j41(0,"div",35),M.EFF(1),M.k0s()),2&mt){const $e=M.XpG(3);M.R7$(),M.JRh($e.typeToSearchText)}}function Xe(mt,_t){}function Je(mt,_t){if(1&mt&&(M.qex(0),M.DNE(1,Me,2,1,"ng-template",null,7,M.C5r)(3,Xe,0,0,"ng-template",24),M.bVm()),2&mt){const $e=M.sdS(2),yt=M.XpG(2);M.R7$(3),M.Y8G("ngTemplateOutlet",yt.typeToSearchTemplate||$e)}}function lt(mt,_t){if(1&mt&&(M.j41(0,"div",35),M.EFF(1),M.k0s()),2&mt){const $e=M.XpG(3);M.R7$(),M.JRh($e.loadingText)}}function qe(mt,_t){}function st(mt,_t){if(1&mt&&(M.qex(0),M.DNE(1,lt,2,1,"ng-template",null,8,M.C5r)(3,qe,0,0,"ng-template",21),M.bVm()),2&mt){const $e=M.sdS(2),yt=M.XpG(2);M.R7$(3),M.Y8G("ngTemplateOutlet",yt.loadingTextTemplate||$e)("ngTemplateOutletContext",M.eq3(2,B,yt.searchTerm))}}function Tt(mt,_t){if(1&mt){const $e=M.RV6();M.j41(0,"ng-dropdown-panel",28),M.bIt("update",function(At){M.eBV($e);const $t=M.XpG();return M.Njj($t.viewPortItems=At)})("scroll",function(At){M.eBV($e);const $t=M.XpG();return M.Njj($t.scroll.emit(At))})("scrollToEnd",function(At){M.eBV($e);const $t=M.XpG();return M.Njj($t.scrollToEnd.emit(At))})("outsideClick",function(){M.eBV($e);const At=M.XpG();return M.Njj(At.close())}),M.qex(1),M.DNE(2,oe,4,22,"div",29)(3,xe,4,6,"div",30),M.bVm(),M.DNE(4,Ee,4,4,"ng-container",12)(5,Je,4,1,"ng-container",12)(6,st,4,4,"ng-container",12),M.k0s()}if(2&mt){const $e=M.XpG();M.AVh("ng-select-multiple",$e.multiple),M.Y8G("virtualScroll",$e.virtualScroll)("bufferAmount",$e.bufferAmount)("appendTo",$e.appendTo)("position",$e.dropdownPosition)("headerTemplate",$e.headerTemplate)("footerTemplate",$e.footerTemplate)("filterValue",$e.searchTerm)("items",$e.itemsList.filteredItems)("markedItem",$e.itemsList.markedItem)("ngClass",$e.appendTo?$e.classes:null)("id",$e.dropdownId),M.R7$(2),M.Y8G("ngForOf",$e.viewPortItems)("ngForTrackBy",$e.trackByOption),M.R7$(),M.Y8G("ngIf",$e.showAddTag),M.R7$(),M.Y8G("ngIf",$e.showNoItemsFound()),M.R7$(),M.Y8G("ngIf",$e.showTypeToSearch()),M.R7$(),M.Y8G("ngIf",$e.loading&&0===$e.itemsList.filteredItems.length)}}const pt=/[&<>"']/g,ht=RegExp(pt.source),Pt={"&":"&","<":"<",">":">",'"':""","'":"'"};function ti(mt){return null!=mt}function Dt(mt){return"object"==typeof mt&&ti(mt)}function xt(mt){return mt instanceof Function}let wt=(()=>{class mt{constructor($e){this.element=$e,this.escape=!0}ngOnChanges($e){this.element.nativeElement.innerHTML=this.escape?function Gt(mt){return mt&&ht.test(mt)?mt.replace(pt,_t=>Pt[_t]):mt}(this.ngItemLabel):this.ngItemLabel}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.aKT))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ngItemLabel",""]],inputs:{ngItemLabel:"ngItemLabel",escape:"escape"},features:[M.OA$]})}return mt})(),Qt=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-option-tmp",""]]})}return mt})(),di=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-optgroup-tmp",""]]})}return mt})(),Ni=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-label-tmp",""]]})}return mt})(),mi=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-multi-label-tmp",""]]})}return mt})(),vi=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-header-tmp",""]]})}return mt})(),zi=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-footer-tmp",""]]})}return mt})(),gs=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-notfound-tmp",""]]})}return mt})(),Fn=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-typetosearch-tmp",""]]})}return mt})(),as=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-loadingtext-tmp",""]]})}return mt})(),ms=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-tag-tmp",""]]})}return mt})(),Ln=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-loadingspinner-tmp",""]]})}return mt})();function fn(){return"axxxxxxxxxxx".replace(/[x]/g,()=>(16*Math.random()|0).toString(16))}const ki={"\u24b6":"A",\uff21:"A",\u00c0:"A",\u00c1:"A",\u00c2:"A",\u1ea6:"A",\u1ea4:"A",\u1eaa:"A",\u1ea8:"A",\u00c3:"A",\u0100:"A",\u0102:"A",\u1eb0:"A",\u1eae:"A",\u1eb4:"A",\u1eb2:"A",\u0226:"A",\u01e0:"A",\u00c4:"A",\u01de:"A",\u1ea2:"A",\u00c5:"A",\u01fa:"A",\u01cd:"A",\u0200:"A",\u0202:"A",\u1ea0:"A",\u1eac:"A",\u1eb6:"A",\u1e00:"A",\u0104:"A",\u023a:"A",\u2c6f:"A",\ua732:"AA",\u00c6:"AE",\u01fc:"AE",\u01e2:"AE",\ua734:"AO",\ua736:"AU",\ua738:"AV",\ua73a:"AV",\ua73c:"AY","\u24b7":"B",\uff22:"B",\u1e02:"B",\u1e04:"B",\u1e06:"B",\u0243:"B",\u0182:"B",\u0181:"B","\u24b8":"C",\uff23:"C",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u00c7:"C",\u1e08:"C",\u0187:"C",\u023b:"C",\ua73e:"C","\u24b9":"D",\uff24:"D",\u1e0a:"D",\u010e:"D",\u1e0c:"D",\u1e10:"D",\u1e12:"D",\u1e0e:"D",\u0110:"D",\u018b:"D",\u018a:"D",\u0189:"D",\ua779:"D",\u01f1:"DZ",\u01c4:"DZ",\u01f2:"Dz",\u01c5:"Dz","\u24ba":"E",\uff25:"E",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u1ec0:"E",\u1ebe:"E",\u1ec4:"E",\u1ec2:"E",\u1ebc:"E",\u0112:"E",\u1e14:"E",\u1e16:"E",\u0114:"E",\u0116:"E",\u00cb:"E",\u1eba:"E",\u011a:"E",\u0204:"E",\u0206:"E",\u1eb8:"E",\u1ec6:"E",\u0228:"E",\u1e1c:"E",\u0118:"E",\u1e18:"E",\u1e1a:"E",\u0190:"E",\u018e:"E","\u24bb":"F",\uff26:"F",\u1e1e:"F",\u0191:"F",\ua77b:"F","\u24bc":"G",\uff27:"G",\u01f4:"G",\u011c:"G",\u1e20:"G",\u011e:"G",\u0120:"G",\u01e6:"G",\u0122:"G",\u01e4:"G",\u0193:"G",\ua7a0:"G",\ua77d:"G",\ua77e:"G","\u24bd":"H",\uff28:"H",\u0124:"H",\u1e22:"H",\u1e26:"H",\u021e:"H",\u1e24:"H",\u1e28:"H",\u1e2a:"H",\u0126:"H",\u2c67:"H",\u2c75:"H",\ua78d:"H","\u24be":"I",\uff29:"I",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u0128:"I",\u012a:"I",\u012c:"I",\u0130:"I",\u00cf:"I",\u1e2e:"I",\u1ec8:"I",\u01cf:"I",\u0208:"I",\u020a:"I",\u1eca:"I",\u012e:"I",\u1e2c:"I",\u0197:"I","\u24bf":"J",\uff2a:"J",\u0134:"J",\u0248:"J","\u24c0":"K",\uff2b:"K",\u1e30:"K",\u01e8:"K",\u1e32:"K",\u0136:"K",\u1e34:"K",\u0198:"K",\u2c69:"K",\ua740:"K",\ua742:"K",\ua744:"K",\ua7a2:"K","\u24c1":"L",\uff2c:"L",\u013f:"L",\u0139:"L",\u013d:"L",\u1e36:"L",\u1e38:"L",\u013b:"L",\u1e3c:"L",\u1e3a:"L",\u0141:"L",\u023d:"L",\u2c62:"L",\u2c60:"L",\ua748:"L",\ua746:"L",\ua780:"L",\u01c7:"LJ",\u01c8:"Lj","\u24c2":"M",\uff2d:"M",\u1e3e:"M",\u1e40:"M",\u1e42:"M",\u2c6e:"M",\u019c:"M","\u24c3":"N",\uff2e:"N",\u01f8:"N",\u0143:"N",\u00d1:"N",\u1e44:"N",\u0147:"N",\u1e46:"N",\u0145:"N",\u1e4a:"N",\u1e48:"N",\u0220:"N",\u019d:"N",\ua790:"N",\ua7a4:"N",\u01ca:"NJ",\u01cb:"Nj","\u24c4":"O",\uff2f:"O",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u1ed2:"O",\u1ed0:"O",\u1ed6:"O",\u1ed4:"O",\u00d5:"O",\u1e4c:"O",\u022c:"O",\u1e4e:"O",\u014c:"O",\u1e50:"O",\u1e52:"O",\u014e:"O",\u022e:"O",\u0230:"O",\u00d6:"O",\u022a:"O",\u1ece:"O",\u0150:"O",\u01d1:"O",\u020c:"O",\u020e:"O",\u01a0:"O",\u1edc:"O",\u1eda:"O",\u1ee0:"O",\u1ede:"O",\u1ee2:"O",\u1ecc:"O",\u1ed8:"O",\u01ea:"O",\u01ec:"O",\u00d8:"O",\u01fe:"O",\u0186:"O",\u019f:"O",\ua74a:"O",\ua74c:"O",\u01a2:"OI",\ua74e:"OO",\u0222:"OU","\u24c5":"P",\uff30:"P",\u1e54:"P",\u1e56:"P",\u01a4:"P",\u2c63:"P",\ua750:"P",\ua752:"P",\ua754:"P","\u24c6":"Q",\uff31:"Q",\ua756:"Q",\ua758:"Q",\u024a:"Q","\u24c7":"R",\uff32:"R",\u0154:"R",\u1e58:"R",\u0158:"R",\u0210:"R",\u0212:"R",\u1e5a:"R",\u1e5c:"R",\u0156:"R",\u1e5e:"R",\u024c:"R",\u2c64:"R",\ua75a:"R",\ua7a6:"R",\ua782:"R","\u24c8":"S",\uff33:"S",\u1e9e:"S",\u015a:"S",\u1e64:"S",\u015c:"S",\u1e60:"S",\u0160:"S",\u1e66:"S",\u1e62:"S",\u1e68:"S",\u0218:"S",\u015e:"S",\u2c7e:"S",\ua7a8:"S",\ua784:"S","\u24c9":"T",\uff34:"T",\u1e6a:"T",\u0164:"T",\u1e6c:"T",\u021a:"T",\u0162:"T",\u1e70:"T",\u1e6e:"T",\u0166:"T",\u01ac:"T",\u01ae:"T",\u023e:"T",\ua786:"T",\ua728:"TZ","\u24ca":"U",\uff35:"U",\u00d9:"U",\u00da:"U",\u00db:"U",\u0168:"U",\u1e78:"U",\u016a:"U",\u1e7a:"U",\u016c:"U",\u00dc:"U",\u01db:"U",\u01d7:"U",\u01d5:"U",\u01d9:"U",\u1ee6:"U",\u016e:"U",\u0170:"U",\u01d3:"U",\u0214:"U",\u0216:"U",\u01af:"U",\u1eea:"U",\u1ee8:"U",\u1eee:"U",\u1eec:"U",\u1ef0:"U",\u1ee4:"U",\u1e72:"U",\u0172:"U",\u1e76:"U",\u1e74:"U",\u0244:"U","\u24cb":"V",\uff36:"V",\u1e7c:"V",\u1e7e:"V",\u01b2:"V",\ua75e:"V",\u0245:"V",\ua760:"VY","\u24cc":"W",\uff37:"W",\u1e80:"W",\u1e82:"W",\u0174:"W",\u1e86:"W",\u1e84:"W",\u1e88:"W",\u2c72:"W","\u24cd":"X",\uff38:"X",\u1e8a:"X",\u1e8c:"X","\u24ce":"Y",\uff39:"Y",\u1ef2:"Y",\u00dd:"Y",\u0176:"Y",\u1ef8:"Y",\u0232:"Y",\u1e8e:"Y",\u0178:"Y",\u1ef6:"Y",\u1ef4:"Y",\u01b3:"Y",\u024e:"Y",\u1efe:"Y","\u24cf":"Z",\uff3a:"Z",\u0179:"Z",\u1e90:"Z",\u017b:"Z",\u017d:"Z",\u1e92:"Z",\u1e94:"Z",\u01b5:"Z",\u0224:"Z",\u2c7f:"Z",\u2c6b:"Z",\ua762:"Z","\u24d0":"a",\uff41:"a",\u1e9a:"a",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u1ea7:"a",\u1ea5:"a",\u1eab:"a",\u1ea9:"a",\u00e3:"a",\u0101:"a",\u0103:"a",\u1eb1:"a",\u1eaf:"a",\u1eb5:"a",\u1eb3:"a",\u0227:"a",\u01e1:"a",\u00e4:"a",\u01df:"a",\u1ea3:"a",\u00e5:"a",\u01fb:"a",\u01ce:"a",\u0201:"a",\u0203:"a",\u1ea1:"a",\u1ead:"a",\u1eb7:"a",\u1e01:"a",\u0105:"a",\u2c65:"a",\u0250:"a",\ua733:"aa",\u00e6:"ae",\u01fd:"ae",\u01e3:"ae",\ua735:"ao",\ua737:"au",\ua739:"av",\ua73b:"av",\ua73d:"ay","\u24d1":"b",\uff42:"b",\u1e03:"b",\u1e05:"b",\u1e07:"b",\u0180:"b",\u0183:"b",\u0253:"b","\u24d2":"c",\uff43:"c",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u00e7:"c",\u1e09:"c",\u0188:"c",\u023c:"c",\ua73f:"c",\u2184:"c","\u24d3":"d",\uff44:"d",\u1e0b:"d",\u010f:"d",\u1e0d:"d",\u1e11:"d",\u1e13:"d",\u1e0f:"d",\u0111:"d",\u018c:"d",\u0256:"d",\u0257:"d",\ua77a:"d",\u01f3:"dz",\u01c6:"dz","\u24d4":"e",\uff45:"e",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u1ec1:"e",\u1ebf:"e",\u1ec5:"e",\u1ec3:"e",\u1ebd:"e",\u0113:"e",\u1e15:"e",\u1e17:"e",\u0115:"e",\u0117:"e",\u00eb:"e",\u1ebb:"e",\u011b:"e",\u0205:"e",\u0207:"e",\u1eb9:"e",\u1ec7:"e",\u0229:"e",\u1e1d:"e",\u0119:"e",\u1e19:"e",\u1e1b:"e",\u0247:"e",\u025b:"e",\u01dd:"e","\u24d5":"f",\uff46:"f",\u1e1f:"f",\u0192:"f",\ua77c:"f","\u24d6":"g",\uff47:"g",\u01f5:"g",\u011d:"g",\u1e21:"g",\u011f:"g",\u0121:"g",\u01e7:"g",\u0123:"g",\u01e5:"g",\u0260:"g",\ua7a1:"g",\u1d79:"g",\ua77f:"g","\u24d7":"h",\uff48:"h",\u0125:"h",\u1e23:"h",\u1e27:"h",\u021f:"h",\u1e25:"h",\u1e29:"h",\u1e2b:"h",\u1e96:"h",\u0127:"h",\u2c68:"h",\u2c76:"h",\u0265:"h",\u0195:"hv","\u24d8":"i",\uff49:"i",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u0129:"i",\u012b:"i",\u012d:"i",\u00ef:"i",\u1e2f:"i",\u1ec9:"i",\u01d0:"i",\u0209:"i",\u020b:"i",\u1ecb:"i",\u012f:"i",\u1e2d:"i",\u0268:"i",\u0131:"i","\u24d9":"j",\uff4a:"j",\u0135:"j",\u01f0:"j",\u0249:"j","\u24da":"k",\uff4b:"k",\u1e31:"k",\u01e9:"k",\u1e33:"k",\u0137:"k",\u1e35:"k",\u0199:"k",\u2c6a:"k",\ua741:"k",\ua743:"k",\ua745:"k",\ua7a3:"k","\u24db":"l",\uff4c:"l",\u0140:"l",\u013a:"l",\u013e:"l",\u1e37:"l",\u1e39:"l",\u013c:"l",\u1e3d:"l",\u1e3b:"l",\u017f:"l",\u0142:"l",\u019a:"l",\u026b:"l",\u2c61:"l",\ua749:"l",\ua781:"l",\ua747:"l",\u01c9:"lj","\u24dc":"m",\uff4d:"m",\u1e3f:"m",\u1e41:"m",\u1e43:"m",\u0271:"m",\u026f:"m","\u24dd":"n",\uff4e:"n",\u01f9:"n",\u0144:"n",\u00f1:"n",\u1e45:"n",\u0148:"n",\u1e47:"n",\u0146:"n",\u1e4b:"n",\u1e49:"n",\u019e:"n",\u0272:"n",\u0149:"n",\ua791:"n",\ua7a5:"n",\u01cc:"nj","\u24de":"o",\uff4f:"o",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u1ed3:"o",\u1ed1:"o",\u1ed7:"o",\u1ed5:"o",\u00f5:"o",\u1e4d:"o",\u022d:"o",\u1e4f:"o",\u014d:"o",\u1e51:"o",\u1e53:"o",\u014f:"o",\u022f:"o",\u0231:"o",\u00f6:"o",\u022b:"o",\u1ecf:"o",\u0151:"o",\u01d2:"o",\u020d:"o",\u020f:"o",\u01a1:"o",\u1edd:"o",\u1edb:"o",\u1ee1:"o",\u1edf:"o",\u1ee3:"o",\u1ecd:"o",\u1ed9:"o",\u01eb:"o",\u01ed:"o",\u00f8:"o",\u01ff:"o",\u0254:"o",\ua74b:"o",\ua74d:"o",\u0275:"o",\u01a3:"oi",\u0223:"ou",\ua74f:"oo","\u24df":"p",\uff50:"p",\u1e55:"p",\u1e57:"p",\u01a5:"p",\u1d7d:"p",\ua751:"p",\ua753:"p",\ua755:"p","\u24e0":"q",\uff51:"q",\u024b:"q",\ua757:"q",\ua759:"q","\u24e1":"r",\uff52:"r",\u0155:"r",\u1e59:"r",\u0159:"r",\u0211:"r",\u0213:"r",\u1e5b:"r",\u1e5d:"r",\u0157:"r",\u1e5f:"r",\u024d:"r",\u027d:"r",\ua75b:"r",\ua7a7:"r",\ua783:"r","\u24e2":"s",\uff53:"s",\u00df:"s",\u015b:"s",\u1e65:"s",\u015d:"s",\u1e61:"s",\u0161:"s",\u1e67:"s",\u1e63:"s",\u1e69:"s",\u0219:"s",\u015f:"s",\u023f:"s",\ua7a9:"s",\ua785:"s",\u1e9b:"s","\u24e3":"t",\uff54:"t",\u1e6b:"t",\u1e97:"t",\u0165:"t",\u1e6d:"t",\u021b:"t",\u0163:"t",\u1e71:"t",\u1e6f:"t",\u0167:"t",\u01ad:"t",\u0288:"t",\u2c66:"t",\ua787:"t",\ua729:"tz","\u24e4":"u",\uff55:"u",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u0169:"u",\u1e79:"u",\u016b:"u",\u1e7b:"u",\u016d:"u",\u00fc:"u",\u01dc:"u",\u01d8:"u",\u01d6:"u",\u01da:"u",\u1ee7:"u",\u016f:"u",\u0171:"u",\u01d4:"u",\u0215:"u",\u0217:"u",\u01b0:"u",\u1eeb:"u",\u1ee9:"u",\u1eef:"u",\u1eed:"u",\u1ef1:"u",\u1ee5:"u",\u1e73:"u",\u0173:"u",\u1e77:"u",\u1e75:"u",\u0289:"u","\u24e5":"v",\uff56:"v",\u1e7d:"v",\u1e7f:"v",\u028b:"v",\ua75f:"v",\u028c:"v",\ua761:"vy","\u24e6":"w",\uff57:"w",\u1e81:"w",\u1e83:"w",\u0175:"w",\u1e87:"w",\u1e85:"w",\u1e98:"w",\u1e89:"w",\u2c73:"w","\u24e7":"x",\uff58:"x",\u1e8b:"x",\u1e8d:"x","\u24e8":"y",\uff59:"y",\u1ef3:"y",\u00fd:"y",\u0177:"y",\u1ef9:"y",\u0233:"y",\u1e8f:"y",\u00ff:"y",\u1ef7:"y",\u1e99:"y",\u1ef5:"y",\u01b4:"y",\u024f:"y",\u1eff:"y","\u24e9":"z",\uff5a:"z",\u017a:"z",\u1e91:"z",\u017c:"z",\u017e:"z",\u1e93:"z",\u1e95:"z",\u01b6:"z",\u0225:"z",\u0240:"z",\u2c6c:"z",\ua763:"z",\u0386:"\u0391",\u0388:"\u0395",\u0389:"\u0397",\u038a:"\u0399",\u03aa:"\u0399",\u038c:"\u039f",\u038e:"\u03a5",\u03ab:"\u03a5",\u038f:"\u03a9",\u03ac:"\u03b1",\u03ad:"\u03b5",\u03ae:"\u03b7",\u03af:"\u03b9",\u03ca:"\u03b9",\u0390:"\u03b9",\u03cc:"\u03bf",\u03cd:"\u03c5",\u03cb:"\u03c5",\u03b0:"\u03c5",\u03c9:"\u03c9",\u03c2:"\u03c3"};function Cs(mt){return mt.replace(/[^\u0000-\u007E]/g,$e=>ki[$e]||$e)}class Kn{constructor(_t,$e){this._ngSelect=_t,this._selectionModel=$e,this._items=[],this._filteredItems=[],this._markedIndex=-1}get items(){return this._items}get filteredItems(){return this._filteredItems}get markedIndex(){return this._markedIndex}get selectedItems(){return this._selectionModel.value}get markedItem(){return this._filteredItems[this._markedIndex]}get noItemsToSelect(){return this._ngSelect.hideSelected&&this._items.length===this.selectedItems.length}get maxItemsSelected(){return this._ngSelect.multiple&&this._ngSelect.maxSelectedItems<=this.selectedItems.length}get lastSelectedItem(){let _t=this.selectedItems.length-1;for(;_t>=0;_t--){const $e=this.selectedItems[_t];if(!$e.disabled)return $e}return null}setItems(_t){this._items=_t.map(($e,yt)=>this.mapItem($e,yt)),this._ngSelect.groupBy?(this._groups=this._groupBy(this._items,this._ngSelect.groupBy),this._items=this._flatten(this._groups)):(this._groups=new Map,this._groups.set(void 0,this._items)),this._filteredItems=[...this._items]}select(_t){if(_t.selected||this.maxItemsSelected)return;const $e=this._ngSelect.multiple;$e||this.clearSelected(),this._selectionModel.select(_t,$e,this._ngSelect.selectableGroupAsModel),this._ngSelect.hideSelected&&this._hideSelected(_t)}unselect(_t){_t.selected&&(this._selectionModel.unselect(_t,this._ngSelect.multiple),this._ngSelect.hideSelected&&ti(_t.index)&&this._ngSelect.multiple&&this._showSelected(_t))}findItem(_t){let $e;return $e=this._ngSelect.compareWith?yt=>this._ngSelect.compareWith(yt.value,_t):this._ngSelect.bindValue?yt=>!yt.children&&this.resolveNested(yt.value,this._ngSelect.bindValue)===_t:yt=>yt.value===_t||!yt.children&&yt.label&&yt.label===this.resolveNested(_t,this._ngSelect.bindLabel),this._items.find(yt=>$e(yt))}addItem(_t){const $e=this.mapItem(_t,this._items.length);return this._items.push($e),this._filteredItems.push($e),$e}clearSelected(_t=!1){this._selectionModel.clear(_t),this._items.forEach($e=>{$e.selected=_t&&$e.selected&&$e.disabled,$e.marked=!1}),this._ngSelect.hideSelected&&this.resetFilteredItems()}findByLabel(_t){return _t=Cs(_t).toLocaleLowerCase(),this.filteredItems.find($e=>Cs($e.label).toLocaleLowerCase().substr(0,_t.length)===_t)}filter(_t){if(!_t)return void this.resetFilteredItems();this._filteredItems=[],_t=this._ngSelect.searchFn?_t:Cs(_t).toLocaleLowerCase();const $e=this._ngSelect.searchFn||this._defaultSearchFn,yt=this._ngSelect.hideSelected;for(const At of Array.from(this._groups.keys())){const $t=[];for(const si of this._groups.get(At))yt&&(si.parent&&si.parent.selected||si.selected)||$e(_t,this._ngSelect.searchFn?si.value:si)&&$t.push(si);if($t.length>0){const[si]=$t.slice(-1);if(si.parent){const Di=this._items.find(qi=>qi===si.parent);this._filteredItems.push(Di)}this._filteredItems.push(...$t)}}}resetFilteredItems(){this._filteredItems.length!==this._items.length&&(this._filteredItems=this._ngSelect.hideSelected&&this.selectedItems.length>0?this._items.filter(_t=>!_t.selected):this._items)}unmarkItem(){this._markedIndex=-1}markNextItem(){this._stepToItem(1)}markPreviousItem(){this._stepToItem(-1)}markItem(_t){this._markedIndex=this._filteredItems.indexOf(_t)}markSelectedOrDefault(_t){if(0===this._filteredItems.length)return;const $e=this._getLastMarkedIndex();this._markedIndex=$e>-1?$e:_t?this.filteredItems.findIndex(yt=>!yt.disabled):-1}resolveNested(_t,$e){if(!Dt(_t))return _t;if(-1===$e.indexOf("."))return _t[$e];{const yt=$e.split(".");let At=_t;for(let $t=0,si=yt.length;$t-1===this.selectedItems.indexOf($e)))}_showSelected(_t){if(this._filteredItems.push(_t),_t.parent){const $e=_t.parent;this._filteredItems.find(At=>At===$e)||this._filteredItems.push($e)}else if(_t.children)for(const $e of _t.children)$e.selected=!1,this._filteredItems.push($e);this._filteredItems=[...this._filteredItems.sort(($e,yt)=>$e.index-yt.index)]}_hideSelected(_t){this._filteredItems=this._filteredItems.filter($e=>$e!==_t),_t.parent?_t.parent.children.every(yt=>yt.selected)&&(this._filteredItems=this._filteredItems.filter(yt=>yt!==_t.parent)):_t.children&&(this._filteredItems=this.filteredItems.filter($e=>$e.parent!==_t))}_defaultSearchFn(_t,$e){return Cs($e.label).toLocaleLowerCase().indexOf(_t)>-1}_getNextItemIndex(_t){return _t>0?this._markedIndex>=this._filteredItems.length-1?0:this._markedIndex+1:this._markedIndex<=0?this._filteredItems.length-1:this._markedIndex-1}_stepToItem(_t){0===this._filteredItems.length||this._filteredItems.every($e=>$e.disabled)||(this._markedIndex=this._getNextItemIndex(_t),this.markedItem.disabled&&this._stepToItem(_t))}_getLastMarkedIndex(){if(this._ngSelect.hideSelected||this._markedIndex>-1&&void 0===this.markedItem)return-1;const _t=this._filteredItems.indexOf(this.lastSelectedItem);return this.lastSelectedItem&&_t<0?-1:Math.max(this.markedIndex,_t)}_groupBy(_t,$e){const yt=new Map;if(0===_t.length)return yt;if(Array.isArray(_t[0].value[$e])){for(const si of _t){const Di=(si.value[$e]||[]).map((qi,Ki)=>this.mapItem(qi,Ki));yt.set(si,Di)}return yt}const At=xt(this._ngSelect.groupBy),$t=si=>{const Di=At?$e(si.value):si.value[$e];return ti(Di)?Di:void 0};for(const si of _t){const Di=$t(si),qi=yt.get(Di);qi?qi.push(si):yt.set(Di,[si])}return yt}_flatten(_t){const $e=xt(this._ngSelect.groupBy),yt=[];for(const At of Array.from(_t.keys())){let $t=yt.length;if(void 0===At){const Hn=_t.get(void 0)||[];yt.push(...Hn.map(tn=>(tn.index=$t++,tn)));continue}const si=Dt(At),Di={label:si?"":String(At),children:void 0,parent:null,index:$t++,disabled:!this._ngSelect.selectableGroup,htmlId:fn()},qi=$e?this._ngSelect.bindLabel:this._ngSelect.groupBy,Ki=this._ngSelect.groupValue||(()=>si?At.value:{[qi]:At}),ls=_t.get(At).map(Hn=>(Hn.parent=Di,Hn.children=void 0,Hn.index=$t++,Hn));Di.children=ls,Di.value=Ki(At,ls.map(Hn=>Hn.value)),yt.push(Di),yt.push(...ls)}return yt}}var In=function(mt){return mt[mt.Tab=9]="Tab",mt[mt.Enter=13]="Enter",mt[mt.Esc=27]="Esc",mt[mt.Space=32]="Space",mt[mt.ArrowUp=38]="ArrowUp",mt[mt.ArrowDown=40]="ArrowDown",mt[mt.Backspace=8]="Backspace",mt}(In||{});let Bs=(()=>{class mt{constructor(){this._dimensions={itemHeight:0,panelHeight:0,itemsPerViewport:0}}get dimensions(){return this._dimensions}calculateItems($e,yt,At){const $t=this._dimensions,si=$t.itemHeight*yt,qi=Math.max(0,$e)/si*yt;let Ki=Math.min(yt,Math.ceil(qi)+($t.itemsPerViewport+1));const Hn=Math.max(0,Ki-$t.itemsPerViewport);let tn=Math.min(Hn,Math.floor(qi)),gn=$t.itemHeight*Math.ceil(tn)-$t.itemHeight*Math.min(tn,At);return gn=isNaN(gn)?0:gn,tn=isNaN(tn)?-1:tn,Ki=isNaN(Ki)?-1:Ki,tn-=At,tn=Math.max(0,tn),Ki+=At,Ki=Math.min(yt,Ki),{topPadding:gn,scrollHeight:si,start:tn,end:Ki}}setDimensions($e,yt){const At=Math.max(1,Math.floor(yt/$e));this._dimensions={itemHeight:$e,panelHeight:yt,itemsPerViewport:At}}getScrollTo($e,yt,At){const{panelHeight:$t}=this.dimensions,si=$e+yt,qi=At+$t;return $t>=si&&At===$e?null:si>qi?At+si-qi:$e<=At?$e:null}static#e=this.\u0275fac=function(yt){return new(yt||mt)};static#t=this.\u0275prov=M.jDH({token:mt,factory:mt.\u0275fac})}return mt})();const qn=["top","right","bottom","left"],Wi=typeof requestAnimationFrame<"u"?j.X:v;let js=(()=>{class mt{constructor($e,yt,At,$t,si){this._renderer=$e,this._zone=yt,this._panelService=At,this._document=si,this.items=[],this.position="auto",this.virtualScroll=!1,this.filterValue=null,this.update=new M.bkB,this.scroll=new M.bkB,this.scrollToEnd=new M.bkB,this.outsideClick=new M.bkB,this._destroy$=new n.B,this._scrollToEndFired=!1,this._updateScrollHeight=!1,this._lastScrollPosition=0,this._dropdown=$t.nativeElement}get currentPosition(){return this._currentPosition}get itemsLength(){return this._itemsLength}set itemsLength($e){$e!==this._itemsLength&&(this._itemsLength=$e,this._onItemsLengthChanged())}get _startOffset(){if(this.markedItem){const{itemHeight:$e,panelHeight:yt}=this._panelService.dimensions,At=this.markedItem.index*$e;return yt>At?0:At}return 0}ngOnInit(){this._select=this._dropdown.parentElement,this._virtualPadding=this.paddingElementRef.nativeElement,this._scrollablePanel=this.scrollElementRef.nativeElement,this._contentPanel=this.contentElementRef.nativeElement,this._handleScroll(),this._handleOutsideClick(),this._appendDropdown(),this._setupMousedownListener()}ngOnChanges($e){if($e.items){const yt=$e.items;this._onItemsChange(yt.currentValue,yt.firstChange)}}ngOnDestroy(){this._destroy$.next(),this._destroy$.complete(),this._destroy$.unsubscribe(),this.appendTo&&this._renderer.removeChild(this._dropdown.parentNode,this._dropdown)}scrollTo($e,yt=!1){if(!$e)return;const At=this.items.indexOf($e);if(At<0||At>=this.itemsLength)return;let $t;if(this.virtualScroll){const si=this._panelService.dimensions.itemHeight;$t=this._panelService.getScrollTo(At*si,si,this._lastScrollPosition)}else{const si=this._dropdown.querySelector(`#${$e.htmlId}`);$t=this._panelService.getScrollTo(si.offsetTop,si.clientHeight,yt?si.offsetTop:this._lastScrollPosition)}ti($t)&&(this._scrollablePanel.scrollTop=$t)}scrollToTag(){const $e=this._scrollablePanel;$e.scrollTop=$e.scrollHeight-$e.clientHeight}adjustPosition(){this._updateYPosition()}_handleDropdownPosition(){this._currentPosition=this._calculateCurrentPosition(this._dropdown),qn.includes(this._currentPosition)?this._updateDropdownClass(this._currentPosition):this._updateDropdownClass("bottom"),this.appendTo&&this._updateYPosition(),this._dropdown.style.opacity="1"}_updateDropdownClass($e){qn.forEach(At=>{const $t=`ng-select-${At}`;this._renderer.removeClass(this._dropdown,$t),this._renderer.removeClass(this._select,$t)});const yt=`ng-select-${$e}`;this._renderer.addClass(this._dropdown,yt),this._renderer.addClass(this._select,yt)}_handleScroll(){this._zone.runOutsideAngular(()=>{(0,r.R)(this.scrollElementRef.nativeElement,"scroll").pipe((0,V.Q)(this._destroy$),function pe(mt,_t=Le.E){return function ve(mt){return(0,q.N)((_t,$e)=>{let yt=!1,At=null,$t=null,si=!1;const Di=()=>{if($t?.unsubscribe(),$t=null,yt){yt=!1;const Ki=At;At=null,$e.next(Ki)}si&&$e.complete()},qi=()=>{$t=null,si&&$e.complete()};_t.subscribe((0,re._)($e,Ki=>{yt=!0,At=Ki,$t||(0,ne.Tg)(mt(Ki)).subscribe($t=(0,re._)($e,Di,qi))},()=>{si=!0,(!yt||!$t||$t.closed)&&$e.complete()}))})}(()=>(0,le.O)(mt,_t))}(0,Wi)).subscribe($e=>{const yt=$e.path||$e.composedPath&&$e.composedPath();yt&&(0!==yt.length||$e.target)&&this._onContentScrolled(yt&&0!==yt.length?yt[0].scrollTop:$e.target.scrollTop)})})}_handleOutsideClick(){this._document&&this._zone.runOutsideAngular(()=>{(0,l.h)((0,r.R)(this._document,"touchstart",{capture:!0}),(0,r.R)(this._document,"mousedown",{capture:!0})).pipe((0,V.Q)(this._destroy$)).subscribe($e=>this._checkToClose($e))})}_checkToClose($e){if(this._select.contains($e.target)||this._dropdown.contains($e.target))return;const yt=$e.path||$e.composedPath&&$e.composedPath();$e.target&&$e.target.shadowRoot&&yt&&yt[0]&&this._select.contains(yt[0])||this._zone.run(()=>this.outsideClick.emit())}_onItemsChange($e,yt){this.items=$e||[],this._scrollToEndFired=!1,this.itemsLength=$e.length,this.virtualScroll?this._updateItemsRange(yt):(this._setVirtualHeight(),this._updateItems(yt))}_updateItems($e){this.update.emit(this.items),!1!==$e&&this._zone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this._panelService.setDimensions(0,this._scrollablePanel.clientHeight),this._handleDropdownPosition(),this.scrollTo(this.markedItem,$e)})})}_updateItemsRange($e){this._zone.runOutsideAngular(()=>{this._measureDimensions().then(()=>{$e?(this._renderItemsRange(this._startOffset),this._handleDropdownPosition()):this._renderItemsRange()})})}_onContentScrolled($e){this.virtualScroll&&this._renderItemsRange($e),this._lastScrollPosition=$e,this._fireScrollToEnd($e)}_updateVirtualHeight($e){this._updateScrollHeight&&(this._virtualPadding.style.height=`${$e}px`,this._updateScrollHeight=!1)}_setVirtualHeight(){this._virtualPadding&&(this._virtualPadding.style.height="0px")}_onItemsLengthChanged(){this._updateScrollHeight=!0}_renderItemsRange($e=null){if($e&&this._lastScrollPosition===$e)return;const yt=this._panelService.calculateItems($e=$e||this._scrollablePanel.scrollTop,this.itemsLength,this.bufferAmount);this._updateVirtualHeight(yt.scrollHeight),this._contentPanel.style.transform=`translateY(${yt.topPadding}px)`,this._zone.run(()=>{this.update.emit(this.items.slice(yt.start,yt.end)),this.scroll.emit({start:yt.start,end:yt.end})}),ti($e)&&0===this._lastScrollPosition&&(this._scrollablePanel.scrollTop=$e,this._lastScrollPosition=$e)}_measureDimensions(){if(this._panelService.dimensions.itemHeight>0||0===this.itemsLength)return Promise.resolve(this._panelService.dimensions);const[$e]=this.items;return this.update.emit([$e]),Promise.resolve().then(()=>{const At=this._dropdown.querySelector(`#${$e.htmlId}`).clientHeight;return this._virtualPadding.style.height=At*this.itemsLength+"px",this._panelService.setDimensions(At,this._scrollablePanel.clientHeight),this._panelService.dimensions})}_fireScrollToEnd($e){this._scrollToEndFired||0===$e||$e+this._dropdown.clientHeight>=(this.virtualScroll?this._virtualPadding:this._contentPanel).clientHeight-1&&(this._zone.run(()=>this.scrollToEnd.emit()),this._scrollToEndFired=!0)}_calculateCurrentPosition($e){if("auto"!==this.position)return this.position;const yt=this._select.getBoundingClientRect(),At=document.documentElement.scrollTop||document.body.scrollTop;return yt.top+window.pageYOffset+yt.height+$e.getBoundingClientRect().height>At+document.documentElement.clientHeight?"top":"bottom"}_appendDropdown(){if(this.appendTo){if(this._parent=document.querySelector(this.appendTo),!this._parent)throw new Error(`appendTo selector ${this.appendTo} did not found any parent element`);this._updateXPosition(),this._parent.appendChild(this._dropdown)}}_updateXPosition(){const $e=this._select.getBoundingClientRect(),yt=this._parent.getBoundingClientRect();this._dropdown.style.left=$e.left-yt.left+"px",this._dropdown.style.width=$e.width+"px",this._dropdown.style.minWidth=$e.width+"px"}_updateYPosition(){const $e=this._select.getBoundingClientRect(),yt=this._parent.getBoundingClientRect(),At=$e.height;"top"===this._currentPosition?(this._dropdown.style.bottom=yt.bottom-$e.bottom+At+"px",this._dropdown.style.top="auto"):"bottom"===this._currentPosition&&(this._dropdown.style.top=$e.top-yt.top+At+"px",this._dropdown.style.bottom="auto")}_setupMousedownListener(){this._zone.runOutsideAngular(()=>{(0,r.R)(this._dropdown,"mousedown").pipe((0,V.Q)(this._destroy$)).subscribe($e=>{"INPUT"!==$e.target.tagName&&$e.preventDefault()})})}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.sFG),M.rXU(M.SKi),M.rXU(Bs),M.rXU(M.aKT),M.rXU(d.qQ,8))};static#t=this.\u0275cmp=M.VBU({type:mt,selectors:[["ng-dropdown-panel"]],viewQuery:function(yt,At){if(1&yt&&(M.GBs(C,7,M.aKT),M.GBs(k,7,M.aKT),M.GBs(p,7,M.aKT)),2&yt){let $t;M.mGM($t=M.lsd())&&(At.contentElementRef=$t.first),M.mGM($t=M.lsd())&&(At.scrollElementRef=$t.first),M.mGM($t=M.lsd())&&(At.paddingElementRef=$t.first)}},inputs:{items:"items",markedItem:"markedItem",position:"position",appendTo:"appendTo",bufferAmount:"bufferAmount",virtualScroll:"virtualScroll",headerTemplate:"headerTemplate",footerTemplate:"footerTemplate",filterValue:"filterValue"},outputs:{update:"update",scroll:"scroll",scrollToEnd:"scrollToEnd",outsideClick:"outsideClick"},features:[M.OA$],ngContentSelectors:T,decls:9,vars:6,consts:[["scroll",""],["padding",""],["content",""],["class","ng-dropdown-header",4,"ngIf"],["role","listbox",1,"ng-dropdown-panel-items","scroll-host"],["class","ng-dropdown-footer",4,"ngIf"],[1,"ng-dropdown-header"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ng-dropdown-footer"]],template:function(yt,At){1&yt&&(M.NAR(),M.DNE(0,z,2,4,"div",3),M.j41(1,"div",4,0),M.nrm(3,"div",null,1),M.j41(5,"div",null,2),M.SdG(7),M.k0s()(),M.DNE(8,K,2,4,"div",5)),2&yt&&(M.Y8G("ngIf",At.headerTemplate),M.R7$(3),M.AVh("total-padding",At.virtualScroll),M.R7$(2),M.AVh("scrollable-content",At.virtualScroll&&At.items.length),M.R7$(3),M.Y8G("ngIf",At.footerTemplate))},dependencies:[d.bT,d.T3],encapsulation:2,changeDetection:0})}return mt})(),On=(()=>{class mt{get disabled(){return this._disabled}set disabled($e){this._disabled=this._isDisabled($e)}constructor($e){this.elementRef=$e,this.stateChange$=new n.B,this._disabled=!1}get label(){return(this.elementRef.nativeElement.textContent||"").trim()}ngOnChanges($e){$e.disabled&&this.stateChange$.next({value:this.value,disabled:this._disabled})}ngAfterViewChecked(){this.label!==this._previousLabel&&(this._previousLabel=this.label,this.stateChange$.next({value:this.value,disabled:this._disabled,label:this.elementRef.nativeElement.innerHTML}))}ngOnDestroy(){this.stateChange$.complete()}_isDisabled($e){return null!=$e&&"false"!=`${$e}`}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.aKT))};static#t=this.\u0275cmp=M.VBU({type:mt,selectors:[["ng-option"]],inputs:{value:"value",disabled:"disabled"},features:[M.OA$],ngContentSelectors:T,decls:1,vars:0,template:function(yt,At){1&yt&&(M.NAR(),M.SdG(0))},encapsulation:2,changeDetection:0})}return mt})(),ar=(()=>{class mt{constructor(){this.notFoundText="No items found",this.typeToSearchText="Type to search",this.addTagText="Add item",this.loadingText="Loading...",this.clearAllText="Clear all",this.disableVirtualScroll=!0,this.openOnEnter=!0,this.appearance="underline"}static#e=this.\u0275fac=function(yt){return new(yt||mt)};static#t=this.\u0275prov=M.jDH({token:mt,factory:mt.\u0275fac,providedIn:"root"})}return mt})(),To=(()=>{class mt{warn($e){console.warn($e)}static#e=this.\u0275fac=function(yt){return new(yt||mt)};static#t=this.\u0275prov=M.jDH({token:mt,factory:mt.\u0275fac,providedIn:"root"})}return mt})();const Wr=new M.nKC("ng-select-selection-model");let Cr=(()=>{class mt{get items(){return this._items}set items($e){null===$e&&($e=[]),this._itemsAreUsed=!0,this._items=$e}get compareWith(){return this._compareWith}set compareWith($e){if(null!=$e&&!xt($e))throw Error("`compareWith` must be a function.");this._compareWith=$e}get clearSearchOnAdd(){return ti(this._clearSearchOnAdd)?this._clearSearchOnAdd:ti(this.config.clearSearchOnAdd)?this.config.clearSearchOnAdd:this.closeOnSelect}set clearSearchOnAdd($e){this._clearSearchOnAdd=$e}get deselectOnClick(){return ti(this._deselectOnClick)?this._deselectOnClick:ti(this.config.deselectOnClick)?this.config.deselectOnClick:this.multiple}set deselectOnClick($e){this._deselectOnClick=$e}get disabled(){return this.readonly||this._disabled}get filtered(){return!!this.searchTerm&&this.searchable||this._isComposing}get single(){return!this.multiple}get _editableSearchTerm(){return this.editableSearchTerm&&!this.multiple}constructor($e,yt,At,$t,si,Di,qi){this.classes=$e,this.autoFocus=yt,this.config=At,this._cd=Di,this._console=qi,this.markFirst=!0,this.dropdownPosition="auto",this.loading=!1,this.closeOnSelect=!0,this.hideSelected=!1,this.selectOnTab=!1,this.bufferAmount=4,this.selectableGroup=!1,this.selectableGroupAsModel=!0,this.searchFn=null,this.trackByFn=null,this.clearOnBackspace=!0,this.labelForId=null,this.inputAttrs={},this.readonly=!1,this.searchWhileComposing=!0,this.minTermLength=0,this.editableSearchTerm=!1,this.keyDownFn=Ki=>!0,this.multiple=!1,this.addTag=!1,this.searchable=!0,this.clearable=!0,this.isOpen=!1,this.blurEvent=new M.bkB,this.focusEvent=new M.bkB,this.changeEvent=new M.bkB,this.openEvent=new M.bkB,this.closeEvent=new M.bkB,this.searchEvent=new M.bkB,this.clearEvent=new M.bkB,this.addEvent=new M.bkB,this.removeEvent=new M.bkB,this.scroll=new M.bkB,this.scrollToEnd=new M.bkB,this.useDefaultClass=!0,this.viewPortItems=[],this.searchTerm=null,this.dropdownId=fn(),this.escapeHTML=!0,this._items=[],this._defaultLabel="label",this._pressedKeys=[],this._isComposing=!1,this._destroy$=new n.B,this._keyPress$=new n.B,this._onChange=Ki=>{},this._onTouched=()=>{},this.clearItem=Ki=>{const ls=this.selectedItems.find(Hn=>Hn.value===Ki);this.unselect(ls)},this.trackByOption=(Ki,ls)=>this.trackByFn?this.trackByFn(ls.value):ls,this._mergeGlobalConfig(At),this.itemsList=new Kn(this,$t()),this.element=si.nativeElement}get selectedItems(){return this.itemsList.selectedItems}get selectedValues(){return this.selectedItems.map($e=>$e.value)}get hasValue(){return this.selectedItems.length>0}get currentPanelPosition(){if(this.dropdownPanel)return this.dropdownPanel.currentPosition}ngOnInit(){this._handleKeyPresses(),this._setInputAttributes()}ngOnChanges($e){$e.multiple&&this.itemsList.clearSelected(),$e.items&&this._setItems($e.items.currentValue||[]),$e.isOpen&&(this._manualOpen=ti($e.isOpen.currentValue))}ngAfterViewInit(){this._itemsAreUsed||(this.escapeHTML=!1,this._setItemsFromNgOptions()),ti(this.autoFocus)&&this.focus()}ngOnDestroy(){this._destroy$.next(),this._destroy$.complete()}handleKeyDown($e){if(In[$e.which]){if(!1===this.keyDownFn($e))return;this.handleKeyCode($e)}else $e.key&&1===$e.key.length&&this._keyPress$.next($e.key.toLocaleLowerCase())}handleKeyCode($e){this.clearButton&&this.clearButton.nativeElement===$e.target?this.handleKeyCodeClear($e):this.handleKeyCodeInput($e)}handleKeyCodeInput($e){switch($e.which){case In.ArrowDown:this._handleArrowDown($e);break;case In.ArrowUp:this._handleArrowUp($e);break;case In.Space:this._handleSpace($e);break;case In.Enter:this._handleEnter($e);break;case In.Tab:this._handleTab($e);break;case In.Esc:this.close(),$e.preventDefault();break;case In.Backspace:this._handleBackspace()}}handleKeyCodeClear($e){$e.which===In.Enter&&(this.handleClearClick(),$e.preventDefault())}handleMousedown($e){const yt=$e.target;"INPUT"!==yt.tagName&&$e.preventDefault(),yt.classList.contains("ng-clear-wrapper")?this.handleClearClick():yt.classList.contains("ng-arrow-wrapper")?this.handleArrowClick():yt.classList.contains("ng-value-icon")||(this.focused||this.focus(),this.searchable?this.open():this.toggle())}handleArrowClick(){this.isOpen?this.close():this.open()}handleClearClick(){this.hasValue&&(this.itemsList.clearSelected(!0),this._updateNgModel()),this._clearSearch(),this.focus(),this.clearEvent.emit(),this._onSelectionChanged()}clearModel(){this.clearable&&(this.itemsList.clearSelected(),this._updateNgModel())}writeValue($e){this.itemsList.clearSelected(),this._handleWriteValue($e),this._cd.markForCheck()}registerOnChange($e){this._onChange=$e}registerOnTouched($e){this._onTouched=$e}setDisabledState($e){this._disabled=$e,this._cd.markForCheck()}toggle(){this.isOpen?this.close():this.open()}open(){this.disabled||this.isOpen||this._manualOpen||!this._isTypeahead&&!this.addTag&&this.itemsList.noItemsToSelect||(this.isOpen=!0,this.itemsList.markSelectedOrDefault(this.markFirst),this.openEvent.emit(),this.searchTerm||this.focus(),this.detectChanges())}close(){!this.isOpen||this._manualOpen||(this.isOpen=!1,this._isComposing=!1,this._editableSearchTerm?this.itemsList.resetFilteredItems():this._clearSearch(),this.itemsList.unmarkItem(),this._onTouched(),this.closeEvent.emit(),this._cd.markForCheck())}toggleItem($e){!$e||$e.disabled||this.disabled||(this.deselectOnClick&&$e.selected?this.unselect($e):this.select($e),this._editableSearchTerm&&this._setSearchTermFromItems(),this._onSelectionChanged())}select($e){$e.selected||(this.itemsList.select($e),this.clearSearchOnAdd&&!this._editableSearchTerm&&this._clearSearch(),this._updateNgModel(),this.multiple&&this.addEvent.emit($e.value)),(this.closeOnSelect||this.itemsList.noItemsToSelect)&&this.close()}focus(){this.searchInput.nativeElement.focus()}blur(){this.searchInput.nativeElement.blur()}unselect($e){$e&&(this.itemsList.unselect($e),this.focus(),this._updateNgModel(),this.removeEvent.emit($e.value))}selectTag(){let $e;$e=xt(this.addTag)?this.addTag(this.searchTerm):this._primitive?this.searchTerm:{[this.bindLabel]:this.searchTerm};const yt=At=>this._isTypeahead||!this.isOpen?this.itemsList.mapItem(At,null):this.itemsList.addItem(At);!function It(mt){return mt instanceof Promise}($e)?$e&&this.select(yt($e)):$e.then(At=>this.select(yt(At))).catch(()=>{})}showClear(){return this.clearable&&(this.hasValue||this.searchTerm)&&!this.disabled}focusOnClear(){this.blur(),this.clearButton&&this.clearButton.nativeElement.focus()}get showAddTag(){if(!this._validTerm)return!1;const $e=this.searchTerm.toLowerCase().trim();return this.addTag&&!this.itemsList.filteredItems.some(yt=>yt.label.toLowerCase()===$e)&&(!this.hideSelected&&this.isOpen||!this.selectedItems.some(yt=>yt.label.toLowerCase()===$e))&&!this.loading}showNoItemsFound(){const $e=0===this.itemsList.filteredItems.length;return($e&&!this._isTypeahead&&!this.loading||$e&&this._isTypeahead&&this._validTerm&&!this.loading)&&!this.showAddTag}showTypeToSearch(){return 0===this.itemsList.filteredItems.length&&this._isTypeahead&&!this._validTerm&&!this.loading}onCompositionStart(){this._isComposing=!0}onCompositionEnd($e){this._isComposing=!1,!this.searchWhileComposing&&this.filter($e)}filter($e){this._isComposing&&!this.searchWhileComposing||(this.searchTerm=$e,this._isTypeahead&&(this._validTerm||0===this.minTermLength)&&this.typeahead.next($e),this._isTypeahead||(this.itemsList.filter(this.searchTerm),this.isOpen&&this.itemsList.markSelectedOrDefault(this.markFirst)),this.searchEvent.emit({term:$e,items:this.itemsList.filteredItems.map(yt=>yt.value)}),this.open())}onInputFocus($e){this.focused||(this._editableSearchTerm&&this._setSearchTermFromItems(),this.element.classList.add("ng-select-focused"),this.focusEvent.emit($e),this.focused=!0)}onInputBlur($e){this.element.classList.remove("ng-select-focused"),this.blurEvent.emit($e),!this.isOpen&&!this.disabled&&this._onTouched(),this._editableSearchTerm&&this._setSearchTermFromItems(),this.focused=!1}onItemHover($e){$e.disabled||this.itemsList.markItem($e)}detectChanges(){this._cd.destroyed||this._cd.detectChanges()}_setSearchTermFromItems(){const $e=this.selectedItems&&this.selectedItems[0];this.searchTerm=$e&&$e.label||null}_setItems($e){const yt=$e[0];this.bindLabel=this.bindLabel||this._defaultLabel,this._primitive=ti(yt)?!Dt(yt):this._primitive||this.bindLabel===this._defaultLabel,this.itemsList.setItems($e),$e.length>0&&this.hasValue&&this.itemsList.mapSelectedItems(),this.isOpen&&ti(this.searchTerm)&&!this._isTypeahead&&this.itemsList.filter(this.searchTerm),(this._isTypeahead||this.isOpen)&&this.itemsList.markSelectedOrDefault(this.markFirst)}_setItemsFromNgOptions(){const $e=At=>{this.items=At.map($t=>({$ngOptionValue:$t.value,$ngOptionLabel:$t.elementRef.nativeElement.innerHTML,disabled:$t.disabled})),this.itemsList.setItems(this.items),this.hasValue&&this.itemsList.mapSelectedItems(),this.detectChanges()},yt=()=>{const At=(0,l.h)(this.ngOptions.changes,this._destroy$);(0,l.h)(...this.ngOptions.map($t=>$t.stateChange$)).pipe((0,V.Q)(At)).subscribe($t=>{const si=this.itemsList.findItem($t.value);si.disabled=$t.disabled,si.label=$t.label||si.label,this._cd.detectChanges()})};this.ngOptions.changes.pipe((0,ue.Z)(this.ngOptions),(0,V.Q)(this._destroy$)).subscribe(At=>{this.bindLabel=this._defaultLabel,$e(At),yt()})}_isValidWriteValue($e){if(!ti($e)||this.multiple&&""===$e||Array.isArray($e)&&0===$e.length)return!1;const yt=At=>!(!ti(this.compareWith)&&Dt(At)&&this.bindValue&&(this._console.warn(`Setting object(${JSON.stringify(At)}) as your model with bindValue is not allowed unless [compareWith] is used.`),1));return this.multiple?Array.isArray($e)?$e.every(At=>yt(At)):(this._console.warn("Multiple select ngModel should be array."),!1):yt($e)}_handleWriteValue($e){if(!this._isValidWriteValue($e))return;const yt=At=>{let $t=this.itemsList.findItem(At);if($t)this.itemsList.select($t);else{const si=Dt(At);si||!si&&!this.bindValue?this.itemsList.select(this.itemsList.mapItem(At,null)):this.bindValue&&($t={[this.bindLabel]:null,[this.bindValue]:At},this.itemsList.select(this.itemsList.mapItem($t,null)))}};this.multiple?$e.forEach(At=>yt(At)):yt($e)}_handleKeyPresses(){this.searchable||this._keyPress$.pipe((0,V.Q)(this._destroy$),(0,J.M)($e=>this._pressedKeys.push($e)),(0,te.B)(200),(0,X.p)(()=>this._pressedKeys.length>0),(0,E.T)(()=>this._pressedKeys.join(""))).subscribe($e=>{const yt=this.itemsList.findByLabel($e);yt&&(this.isOpen?(this.itemsList.markItem(yt),this._scrollToMarked(),this._cd.markForCheck()):this.select(yt)),this._pressedKeys=[]})}_setInputAttributes(){const $e=this.searchInput.nativeElement,yt={type:"text",autocorrect:"off",autocapitalize:"off",autocomplete:this.labelForId?"off":this.dropdownId,...this.inputAttrs};for(const At of Object.keys(yt))$e.setAttribute(At,yt[At])}_updateNgModel(){const $e=[];for(const At of this.selectedItems)if(this.bindValue){let $t=null;$t=At.children?At.value[(this.groupValue?this.bindValue:this.groupBy)||this.groupBy]:this.itemsList.resolveNested(At.value,this.bindValue),$e.push($t)}else $e.push(At.value);const yt=this.selectedItems.map(At=>At.value);this.multiple?(this._onChange($e),this.changeEvent.emit(yt)):(this._onChange(ti($e[0])?$e[0]:null),this.changeEvent.emit(yt[0])),this._cd.markForCheck()}_clearSearch(){this.searchTerm&&(this._changeSearch(null),this.itemsList.resetFilteredItems())}_changeSearch($e){this.searchTerm=$e,this._isTypeahead&&this.typeahead.next($e)}_scrollToMarked(){!this.isOpen||!this.dropdownPanel||this.dropdownPanel.scrollTo(this.itemsList.markedItem)}_scrollToTag(){!this.isOpen||!this.dropdownPanel||this.dropdownPanel.scrollToTag()}_onSelectionChanged(){this.isOpen&&this.deselectOnClick&&this.appendTo&&(this._cd.detectChanges(),this.dropdownPanel.adjustPosition())}_handleTab($e){if(!1===this.isOpen)if(this.showClear())this.focusOnClear(),$e.preventDefault();else if(!this.addTag)return;this.selectOnTab?this.itemsList.markedItem?(this.toggleItem(this.itemsList.markedItem),$e.preventDefault()):this.showAddTag?(this.selectTag(),$e.preventDefault()):this.close():this.close()}_handleEnter($e){if(this.isOpen||this._manualOpen)this.itemsList.markedItem?this.toggleItem(this.itemsList.markedItem):this.showAddTag&&this.selectTag();else{if(!this.openOnEnter)return;this.open()}$e.preventDefault()}_handleSpace($e){this.isOpen||this._manualOpen||(this.open(),$e.preventDefault())}_handleArrowDown($e){this._nextItemIsTag(1)?(this.itemsList.unmarkItem(),this._scrollToTag()):(this.itemsList.markNextItem(),this._scrollToMarked()),this.open(),$e.preventDefault()}_handleArrowUp($e){this.isOpen&&(this._nextItemIsTag(-1)?(this.itemsList.unmarkItem(),this._scrollToTag()):(this.itemsList.markPreviousItem(),this._scrollToMarked()),$e.preventDefault())}_nextItemIsTag($e){const yt=this.itemsList.markedIndex+$e;return this.addTag&&this.searchTerm&&this.itemsList.markedItem&&(yt<0||yt===this.itemsList.filteredItems.length)}_handleBackspace(){this.searchTerm||!this.clearable||!this.clearOnBackspace||!this.hasValue||(this.multiple?this.unselect(this.itemsList.lastSelectedItem):this.clearModel())}get _isTypeahead(){return this.typeahead&&this.typeahead.observers.length>0}get _validTerm(){const $e=this.searchTerm&&this.searchTerm.trim();return $e&&$e.length>=this.minTermLength}_mergeGlobalConfig($e){this.placeholder=this.placeholder||$e.placeholder,this.notFoundText=this.notFoundText||$e.notFoundText,this.typeToSearchText=this.typeToSearchText||$e.typeToSearchText,this.addTagText=this.addTagText||$e.addTagText,this.loadingText=this.loadingText||$e.loadingText,this.clearAllText=this.clearAllText||$e.clearAllText,this.virtualScroll=ti(this.virtualScroll)?this.virtualScroll:!!ti($e.disableVirtualScroll)&&!$e.disableVirtualScroll,this.openOnEnter=ti(this.openOnEnter)?this.openOnEnter:$e.openOnEnter,this.appendTo=this.appendTo||$e.appendTo,this.bindValue=this.bindValue||$e.bindValue,this.bindLabel=this.bindLabel||$e.bindLabel,this.appearance=this.appearance||$e.appearance}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.kS0("class"),M.kS0("autofocus"),M.rXU(ar),M.rXU(Wr),M.rXU(M.aKT),M.rXU(M.gRc),M.rXU(To))};static#t=this.\u0275cmp=M.VBU({type:mt,selectors:[["ng-select"]],contentQueries:function(yt,At,$t){if(1&yt&&(M.wni($t,Qt,5,M.C4Q),M.wni($t,di,5,M.C4Q),M.wni($t,Ni,5,M.C4Q),M.wni($t,mi,5,M.C4Q),M.wni($t,vi,5,M.C4Q),M.wni($t,zi,5,M.C4Q),M.wni($t,gs,5,M.C4Q),M.wni($t,Fn,5,M.C4Q),M.wni($t,as,5,M.C4Q),M.wni($t,ms,5,M.C4Q),M.wni($t,Ln,5,M.C4Q),M.wni($t,On,5)),2&yt){let si;M.mGM(si=M.lsd())&&(At.optionTemplate=si.first),M.mGM(si=M.lsd())&&(At.optgroupTemplate=si.first),M.mGM(si=M.lsd())&&(At.labelTemplate=si.first),M.mGM(si=M.lsd())&&(At.multiLabelTemplate=si.first),M.mGM(si=M.lsd())&&(At.headerTemplate=si.first),M.mGM(si=M.lsd())&&(At.footerTemplate=si.first),M.mGM(si=M.lsd())&&(At.notFoundTemplate=si.first),M.mGM(si=M.lsd())&&(At.typeToSearchTemplate=si.first),M.mGM(si=M.lsd())&&(At.loadingTextTemplate=si.first),M.mGM(si=M.lsd())&&(At.tagTemplate=si.first),M.mGM(si=M.lsd())&&(At.loadingSpinnerTemplate=si.first),M.mGM(si=M.lsd())&&(At.ngOptions=si)}},viewQuery:function(yt,At){if(1&yt&&(M.GBs(js,5),M.GBs(U,7),M.GBs(se,5)),2&yt){let $t;M.mGM($t=M.lsd())&&(At.dropdownPanel=$t.first),M.mGM($t=M.lsd())&&(At.searchInput=$t.first),M.mGM($t=M.lsd())&&(At.clearButton=$t.first)}},hostVars:20,hostBindings:function(yt,At){1&yt&&M.bIt("keydown",function(si){return At.handleKeyDown(si)}),2&yt&&M.AVh("ng-select-typeahead",At.typeahead)("ng-select-multiple",At.multiple)("ng-select-taggable",At.addTag)("ng-select-searchable",At.searchable)("ng-select-clearable",At.clearable)("ng-select-opened",At.isOpen)("ng-select",At.useDefaultClass)("ng-select-disabled",At.disabled)("ng-select-filtered",At.filtered)("ng-select-single",At.single)},inputs:{bindLabel:"bindLabel",bindValue:"bindValue",markFirst:"markFirst",placeholder:"placeholder",notFoundText:"notFoundText",typeToSearchText:"typeToSearchText",addTagText:"addTagText",loadingText:"loadingText",clearAllText:"clearAllText",appearance:"appearance",dropdownPosition:"dropdownPosition",appendTo:"appendTo",loading:"loading",closeOnSelect:"closeOnSelect",hideSelected:"hideSelected",selectOnTab:"selectOnTab",openOnEnter:"openOnEnter",maxSelectedItems:"maxSelectedItems",groupBy:"groupBy",groupValue:"groupValue",bufferAmount:"bufferAmount",virtualScroll:"virtualScroll",selectableGroup:"selectableGroup",selectableGroupAsModel:"selectableGroupAsModel",searchFn:"searchFn",trackByFn:"trackByFn",clearOnBackspace:"clearOnBackspace",labelForId:"labelForId",inputAttrs:"inputAttrs",tabIndex:"tabIndex",readonly:"readonly",searchWhileComposing:"searchWhileComposing",minTermLength:"minTermLength",editableSearchTerm:"editableSearchTerm",keyDownFn:"keyDownFn",typeahead:"typeahead",multiple:"multiple",addTag:"addTag",searchable:"searchable",clearable:"clearable",isOpen:"isOpen",items:"items",compareWith:"compareWith",clearSearchOnAdd:"clearSearchOnAdd",deselectOnClick:"deselectOnClick"},outputs:{blurEvent:"blur",focusEvent:"focus",changeEvent:"change",openEvent:"open",closeEvent:"close",searchEvent:"search",clearEvent:"clear",addEvent:"add",removeEvent:"remove",scroll:"scroll",scrollToEnd:"scrollToEnd"},features:[M.Jv_([{provide:e.kq,useExisting:(0,M.Rfq)(()=>mt),multi:!0},Bs]),M.OA$],decls:14,vars:19,consts:[["searchInput",""],["defaultLabelTemplate",""],["defaultLoadingSpinnerTemplate",""],["clearButton",""],["defaultOptionTemplate",""],["defaultTagTemplate",""],["defaultNotFoundTemplate",""],["defaultTypeToSearchTemplate",""],["defaultLoadingTextTemplate",""],[1,"ng-select-container",3,"mousedown"],[1,"ng-value-container"],[1,"ng-placeholder"],[4,"ngIf"],["role","combobox","aria-haspopup","listbox",1,"ng-input"],["aria-autocomplete","list",3,"input","compositionstart","compositionend","focus","blur","change","readOnly","disabled","value"],["class","ng-clear-wrapper","tabindex","0",3,"title",4,"ngIf"],[1,"ng-arrow-wrapper"],[1,"ng-arrow"],["class","ng-dropdown-panel","role","listbox","aria-label","Options list",3,"virtualScroll","bufferAmount","appendTo","position","headerTemplate","footerTemplate","filterValue","items","markedItem","ng-select-multiple","ngClass","id","update","scroll","scrollToEnd","outsideClick",4,"ngIf"],["class","ng-value",3,"ng-value-disabled",4,"ngFor","ngForOf","ngForTrackBy"],[1,"ng-value"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["aria-hidden","true",1,"ng-value-icon","left",3,"click"],[1,"ng-value-label",3,"ngItemLabel","escape"],[3,"ngTemplateOutlet"],[1,"ng-spinner-loader"],["tabindex","0",1,"ng-clear-wrapper",3,"title"],["aria-hidden","true",1,"ng-clear"],["role","listbox","aria-label","Options list",1,"ng-dropdown-panel",3,"update","scroll","scrollToEnd","outsideClick","virtualScroll","bufferAmount","appendTo","position","headerTemplate","footerTemplate","filterValue","items","markedItem","ngClass","id"],["class","ng-option",3,"ng-option-disabled","ng-option-selected","ng-optgroup","ng-option","ng-option-child","ng-option-marked","click","mouseover",4,"ngFor","ngForOf","ngForTrackBy"],["class","ng-option","role","option",3,"ng-option-marked","mouseover","click",4,"ngIf"],[1,"ng-option",3,"click","mouseover"],[1,"ng-option-label",3,"ngItemLabel","escape"],["role","option",1,"ng-option",3,"mouseover","click"],[1,"ng-tag-label"],[1,"ng-option","ng-option-disabled"]],template:function(yt,At){if(1&yt){const $t=M.RV6();M.j41(0,"div",9),M.bIt("mousedown",function(Di){return M.eBV($t),M.Njj(At.handleMousedown(Di))}),M.j41(1,"div",10)(2,"div",11),M.EFF(3),M.k0s(),M.DNE(4,Z,2,2,"ng-container",12)(5,he,1,5,null,12),M.j41(6,"div",13)(7,"input",14,0),M.bIt("input",function(){M.eBV($t);const Di=M.sdS(8);return M.Njj(At.filter(Di.value))})("compositionstart",function(){return M.eBV($t),M.Njj(At.onCompositionStart())})("compositionend",function(){M.eBV($t);const Di=M.sdS(8);return M.Njj(At.onCompositionEnd(Di.value))})("focus",function(Di){return M.eBV($t),M.Njj(At.onInputFocus(Di))})("blur",function(Di){return M.eBV($t),M.Njj(At.onInputBlur(Di))})("change",function(Di){return M.eBV($t),M.Njj(Di.stopPropagation())}),M.k0s()()(),M.DNE(9,Te,4,1,"ng-container",12)(10,Oe,4,1,"span",15),M.j41(11,"span",16),M.nrm(12,"span",17),M.k0s()(),M.DNE(13,Tt,7,19,"ng-dropdown-panel",18)}2&yt&&(M.AVh("ng-appearance-outline","outline"===At.appearance)("ng-has-value",At.hasValue),M.R7$(3),M.JRh(At.placeholder),M.R7$(),M.Y8G("ngIf",(!At.multiLabelTemplate||!At.multiple)&&At.selectedItems.length>0),M.R7$(),M.Y8G("ngIf",At.multiple&&At.multiLabelTemplate&&At.selectedValues.length>0),M.R7$(),M.BMQ("aria-expanded",At.isOpen)("aria-owns",At.isOpen?At.dropdownId:null),M.R7$(),M.Y8G("readOnly",!At.searchable||At.itemsList.maxItemsSelected)("disabled",At.disabled)("value",At.searchTerm?At.searchTerm:""),M.BMQ("id",At.labelForId)("tabindex",At.tabIndex)("aria-activedescendant",At.isOpen?null==At.itemsList||null==At.itemsList.markedItem?null:At.itemsList.markedItem.htmlId:null)("aria-controls",At.isOpen?At.dropdownId:null),M.R7$(2),M.Y8G("ngIf",At.loading),M.R7$(),M.Y8G("ngIf",At.showClear()),M.R7$(3),M.Y8G("ngIf",At.isOpen))},dependencies:[d.YU,d.Sq,d.bT,d.T3,js,wt],styles:['@charset "UTF-8";.ng-select{position:relative;display:block;box-sizing:border-box}.ng-select div,.ng-select input,.ng-select span{box-sizing:border-box}.ng-select [hidden]{display:none}.ng-select.ng-select-searchable .ng-select-container .ng-value-container .ng-input{opacity:1}.ng-select.ng-select-opened .ng-select-container{z-index:1001}.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-placeholder,.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value{-webkit-user-select:none;user-select:none;cursor:default}.ng-select.ng-select-disabled .ng-arrow-wrapper{cursor:default}.ng-select.ng-select-filtered .ng-placeholder{display:none}.ng-select .ng-select-container{cursor:default;display:flex;outline:none;overflow:hidden;position:relative;width:100%}.ng-select .ng-select-container .ng-value-container{display:flex;flex:1}.ng-select .ng-select-container .ng-value-container .ng-input{opacity:0}.ng-select .ng-select-container .ng-value-container .ng-input>input{box-sizing:content-box;background:none transparent;border:0 none;box-shadow:none;outline:none;padding:0;cursor:default;width:100%}.ng-select .ng-select-container .ng-value-container .ng-input>input::-ms-clear{display:none}.ng-select .ng-select-container .ng-value-container .ng-input>input[readonly]{-webkit-user-select:none;user-select:none;width:0;padding:0}.ng-select.ng-select-single.ng-select-filtered .ng-select-container .ng-value-container .ng-value{visibility:hidden}.ng-select.ng-select-single .ng-select-container .ng-value-container,.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{position:absolute;left:0;width:100%}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{flex-wrap:wrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{position:absolute}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{white-space:nowrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{cursor:pointer}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{flex:1;z-index:2}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{z-index:1}.ng-select .ng-clear-wrapper{cursor:pointer;position:relative;width:17px;-webkit-user-select:none;user-select:none}.ng-select .ng-clear-wrapper .ng-clear{display:inline-block;font-size:18px;line-height:1;pointer-events:none}.ng-select .ng-spinner-loader{border-radius:50%;width:17px;height:17px;margin-right:5px;font-size:10px;position:relative;text-indent:-9999em;border-top:2px solid rgba(66,66,66,.2);border-right:2px solid rgba(66,66,66,.2);border-bottom:2px solid rgba(66,66,66,.2);border-left:2px solid #424242;transform:translateZ(0);animation:load8 .8s infinite linear}.ng-select .ng-spinner-loader:after{border-radius:50%;width:17px;height:17px}@keyframes load8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ng-select .ng-arrow-wrapper{cursor:pointer;position:relative;text-align:center;-webkit-user-select:none;user-select:none}.ng-select .ng-arrow-wrapper .ng-arrow{pointer-events:none;display:inline-block;height:0;width:0;position:relative}.ng-dropdown-panel{box-sizing:border-box;position:absolute;opacity:0;width:100%;z-index:1050;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .ng-dropdown-panel-items{display:block;height:auto;box-sizing:border-box;max-height:240px;overflow-y:auto}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{box-sizing:border-box;cursor:pointer;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-option-label:empty:before{content:"\\200b"}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .highlighted{font-weight:700;text-decoration:underline}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.disabled{cursor:default}.ng-dropdown-panel .scroll-host{overflow:hidden;overflow-y:auto;position:relative;display:block;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .scrollable-content{top:0;left:0;width:100%;height:100%;position:absolute}.ng-dropdown-panel .total-padding{width:1px;opacity:0}\n'],encapsulation:2,changeDetection:0})}return mt})();function St(){return new Rt}class Rt{constructor(){this._selected=[]}get value(){return this._selected}select(_t,$e,yt){if(_t.selected=!0,(!_t.children||!$e&&yt)&&this._selected.push(_t),$e)if(_t.parent){const At=_t.parent.children.length,$t=_t.parent.children.filter(si=>si.selected).length;_t.parent.selected=At===$t}else _t.children&&(this._setChildrenSelectedState(_t.children,!0),this._removeChildren(_t),this._selected=yt&&this._activeChildren(_t)?[...this._selected.filter(At=>At.parent!==_t),_t]:[...this._selected,..._t.children.filter(At=>!At.disabled)])}unselect(_t,$e){if(this._selected=this._selected.filter(yt=>yt!==_t),_t.selected=!1,$e)if(_t.parent&&_t.parent.selected){const yt=_t.parent.children;this._removeParent(_t.parent),this._removeChildren(_t.parent),this._selected.push(...yt.filter(At=>At!==_t&&!At.disabled)),_t.parent.selected=!1}else _t.children&&(this._setChildrenSelectedState(_t.children,!1),this._removeChildren(_t))}clear(_t){this._selected=_t?this._selected.filter($e=>$e.disabled):[]}_setChildrenSelectedState(_t,$e){for(const yt of _t)yt.disabled||(yt.selected=$e)}_removeChildren(_t){this._selected=[...this._selected.filter($e=>$e.parent!==_t),..._t.children.filter($e=>$e.parent===_t&&$e.disabled&&$e.selected)]}_removeParent(_t){this._selected=this._selected.filter($e=>$e!==_t)}_activeChildren(_t){return _t.children.every($e=>!$e.disabled||$e.selected)}}let Nt=(()=>{class mt{static#e=this.\u0275fac=function(yt){return new(yt||mt)};static#t=this.\u0275mod=M.$C({type:mt});static#i=this.\u0275inj=M.G2t({providers:[{provide:Wr,useValue:St}],imports:[d.MD]})}return mt})()},19664:(ri,Bt,We)=>{"use strict";We.d(Bt,{Mm:()=>l,h:()=>C,D9:()=>d,c$:()=>r});var M=We(54438),e=We(7673),V=We(74402),Le=We(27468),q=We(28793),ne=We(59030),re=We(96697),ve=We(21413),le=We(86129);class pe extends ve.B{constructor(p=1/0,T=1/0,B=le.U){super(),this._bufferSize=p,this._windowTime=T,this._timestampProvider=B,this._buffer=[],this._infiniteTimeWindow=!0,this._infiniteTimeWindow=T===1/0,this._bufferSize=Math.max(1,p),this._windowTime=Math.max(1,T)}next(p){const{isStopped:T,_buffer:B,_infiniteTimeWindow:z,_timestampProvider:K,_windowTime:U}=this;T||(B.push(p),!z&&B.push(K.now()+U)),this._trimBuffer(),super.next(p)}_subscribe(p){this._throwIfClosed(),this._trimBuffer();const T=this._innerSubscribe(p),{_infiniteTimeWindow:B,_buffer:z}=this,K=z.slice();for(let U=0;Unew pe(B,p,T),resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:z})}var te=We(96354),X=We(70274),E=We(25558);class j{}let F=(()=>{class k extends j{getTranslation(T){return(0,e.of)({})}static \u0275fac=(()=>{let T;return function(z){return(T||(T=M.xGo(k)))(z||k)}})();static \u0275prov=M.jDH({token:k,factory:k.\u0275fac})}return k})();class P{}let D=(()=>{class k{handle(T){return T.key}static \u0275fac=function(B){return new(B||k)};static \u0275prov=M.jDH({token:k,factory:k.\u0275fac})}return k})();function A(k,p){if(k===p)return!0;if(null===k||null===p)return!1;if(k!=k&&p!=p)return!0;let z,K,U,T=typeof k;if(T==typeof p&&"object"==T){if(!Array.isArray(k)){if(Array.isArray(p))return!1;for(K in U=Object.create(null),k){if(!A(k[K],p[K]))return!1;U[K]=!0}for(K in p)if(!(K in U)&&typeof p[K]<"u")return!1;return!0}if(!Array.isArray(p))return!1;if((z=k.length)==p.length){for(K=0;K{_(p[B])?B in k?T[B]=m(k[B],p[B]):Object.assign(T,{[B]:p[B]}):Object.assign(T,{[B]:p[B]})}),T}class w{}let G=(()=>{class k extends w{templateMatcher=/{{\s?([^{}\s]*)\s?}}/g;interpolate(T,B){let z;return z="string"==typeof T?this.interpolateString(T,B):"function"==typeof T?this.interpolateFunction(T,B):T,z}getValue(T,B){let z="string"==typeof B?B.split("."):[B];B="";do{B+=z.shift(),!I(T)||!I(T[B])||"object"!=typeof T[B]&&z.length?z.length?B+=".":T=void 0:(T=T[B],B="")}while(z.length);return T}interpolateFunction(T,B){return T(B)}interpolateString(T,B){return B?T.replace(this.templateMatcher,(z,K)=>{let U=this.getValue(B,K);return I(U)?U:z}):T}static \u0275fac=(()=>{let T;return function(z){return(T||(T=M.xGo(k)))(z||k)}})();static \u0275prov=M.jDH({token:k,factory:k.\u0275fac})}return k})();class O{}let f=(()=>{class k extends O{compile(T,B){return T}compileTranslations(T,B){return T}static \u0275fac=(()=>{let T;return function(z){return(T||(T=M.xGo(k)))(z||k)}})();static \u0275prov=M.jDH({token:k,factory:k.\u0275fac})}return k})();class a{defaultLang;currentLang=this.defaultLang;translations={};langs=[];onTranslationChange=new M.bkB;onLangChange=new M.bkB;onDefaultLangChange=new M.bkB}const g=new M.nKC("USE_STORE"),v=new M.nKC("USE_DEFAULT_LANG"),o=new M.nKC("DEFAULT_LANGUAGE"),n=new M.nKC("USE_EXTEND");let r=(()=>{class k{store;currentLoader;compiler;parser;missingTranslationHandler;useDefaultLang;isolate;extend;loadingTranslations;pending=!1;_onTranslationChange=new M.bkB;_onLangChange=new M.bkB;_onDefaultLangChange=new M.bkB;_defaultLang;_currentLang;_langs=[];_translations={};_translationRequests={};get onTranslationChange(){return this.isolate?this._onTranslationChange:this.store.onTranslationChange}get onLangChange(){return this.isolate?this._onLangChange:this.store.onLangChange}get onDefaultLangChange(){return this.isolate?this._onDefaultLangChange:this.store.onDefaultLangChange}get defaultLang(){return this.isolate?this._defaultLang:this.store.defaultLang}set defaultLang(T){this.isolate?this._defaultLang=T:this.store.defaultLang=T}get currentLang(){return this.isolate?this._currentLang:this.store.currentLang}set currentLang(T){this.isolate?this._currentLang=T:this.store.currentLang=T}get langs(){return this.isolate?this._langs:this.store.langs}set langs(T){this.isolate?this._langs=T:this.store.langs=T}get translations(){return this.isolate?this._translations:this.store.translations}set translations(T){this.isolate?this._translations=T:this.store.translations=T}constructor(T,B,z,K,U,se=!0,S=!1,$=!1,H){this.store=T,this.currentLoader=B,this.compiler=z,this.parser=K,this.missingTranslationHandler=U,this.useDefaultLang=se,this.isolate=S,this.extend=$,H&&this.setDefaultLang(H)}setDefaultLang(T){if(T===this.defaultLang)return;let B=this.retrieveTranslations(T);typeof B<"u"?(null==this.defaultLang&&(this.defaultLang=T),B.pipe((0,re.s)(1)).subscribe(z=>{this.changeDefaultLang(T)})):this.changeDefaultLang(T)}getDefaultLang(){return this.defaultLang}use(T){if(T===this.currentLang)return(0,e.of)(this.translations[T]);let B=this.retrieveTranslations(T);return typeof B<"u"?(this.currentLang||(this.currentLang=T),B.pipe((0,re.s)(1)).subscribe(z=>{this.changeLang(T)}),B):(this.changeLang(T),(0,e.of)(this.translations[T]))}retrieveTranslations(T){let B;return(typeof this.translations[T]>"u"||this.extend)&&(this._translationRequests[T]=this._translationRequests[T]||this.getTranslation(T),B=this._translationRequests[T]),B}getTranslation(T){this.pending=!0;const B=this.currentLoader.getTranslation(T).pipe(J(1),(0,re.s)(1));return this.loadingTranslations=B.pipe((0,te.T)(z=>this.compiler.compileTranslations(z,T)),J(1),(0,re.s)(1)),this.loadingTranslations.subscribe({next:z=>{this.translations[T]=this.extend&&this.translations[T]?{...z,...this.translations[T]}:z,this.updateLangs(),this.pending=!1},error:z=>{this.pending=!1}}),B}setTranslation(T,B,z=!1){B=this.compiler.compileTranslations(B,T),this.translations[T]=(z||this.extend)&&this.translations[T]?m(this.translations[T],B):B,this.updateLangs(),this.onTranslationChange.emit({lang:T,translations:this.translations[T]})}getLangs(){return this.langs}addLangs(T){T.forEach(B=>{-1===this.langs.indexOf(B)&&this.langs.push(B)})}updateLangs(){this.addLangs(Object.keys(this.translations))}getParsedResult(T,B,z){let K;if(B instanceof Array){let U={},se=!1;for(let S of B)U[S]=this.getParsedResult(T,S,z),(0,V.A)(U[S])&&(se=!0);if(se){const S=B.map($=>(0,V.A)(U[$])?U[$]:(0,e.of)(U[$]));return(0,Le.p)(S).pipe((0,te.T)($=>{let H={};return $.forEach((x,N)=>{H[B[N]]=x}),H}))}return U}if(T&&(K=this.parser.interpolate(this.parser.getValue(T,B),z)),typeof K>"u"&&null!=this.defaultLang&&this.defaultLang!==this.currentLang&&this.useDefaultLang&&(K=this.parser.interpolate(this.parser.getValue(this.translations[this.defaultLang],B),z)),typeof K>"u"){let U={key:B,translateService:this};typeof z<"u"&&(U.interpolateParams=z),K=this.missingTranslationHandler.handle(U)}return typeof K<"u"?K:B}get(T,B){if(!I(T)||!T.length)throw new Error('Parameter "key" required');if(this.pending)return this.loadingTranslations.pipe((0,X.H)(z=>(z=this.getParsedResult(z,T,B),(0,V.A)(z)?z:(0,e.of)(z))));{let z=this.getParsedResult(this.translations[this.currentLang],T,B);return(0,V.A)(z)?z:(0,e.of)(z)}}getStreamOnTranslationChange(T,B){if(!I(T)||!T.length)throw new Error('Parameter "key" required');return(0,q.x)((0,ne.v)(()=>this.get(T,B)),this.onTranslationChange.pipe((0,E.n)(z=>{const K=this.getParsedResult(z.translations,T,B);return"function"==typeof K.subscribe?K:(0,e.of)(K)})))}stream(T,B){if(!I(T)||!T.length)throw new Error('Parameter "key" required');return(0,q.x)((0,ne.v)(()=>this.get(T,B)),this.onLangChange.pipe((0,E.n)(z=>{const K=this.getParsedResult(z.translations,T,B);return(0,V.A)(K)?K:(0,e.of)(K)})))}instant(T,B){if(!I(T)||!T.length)throw new Error('Parameter "key" required');let z=this.getParsedResult(this.translations[this.currentLang],T,B);if((0,V.A)(z)){if(T instanceof Array){let K={};return T.forEach((U,se)=>{K[T[se]]=T[se]}),K}return T}return z}set(T,B,z=this.currentLang){this.translations[z][T]=this.compiler.compile(B,z),this.updateLangs(),this.onTranslationChange.emit({lang:z,translations:this.translations[z]})}changeLang(T){this.currentLang=T,this.onLangChange.emit({lang:T,translations:this.translations[T]}),null==this.defaultLang&&this.changeDefaultLang(T)}changeDefaultLang(T){this.defaultLang=T,this.onDefaultLangChange.emit({lang:T,translations:this.translations[T]})}reloadLang(T){return this.resetLang(T),this.getTranslation(T)}resetLang(T){this._translationRequests[T]=void 0,this.translations[T]=void 0}getBrowserLang(){if(typeof window>"u"||typeof window.navigator>"u")return;let T=window.navigator.languages?window.navigator.languages[0]:null;return T=T||window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage,typeof T>"u"?void 0:(-1!==T.indexOf("-")&&(T=T.split("-")[0]),-1!==T.indexOf("_")&&(T=T.split("_")[0]),T)}getBrowserCultureLang(){if(typeof window>"u"||typeof window.navigator>"u")return;let T=window.navigator.languages?window.navigator.languages[0]:null;return T=T||window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage,T}static \u0275fac=function(B){return new(B||k)(M.KVO(a),M.KVO(j),M.KVO(O),M.KVO(w),M.KVO(P),M.KVO(v),M.KVO(g),M.KVO(n),M.KVO(o))};static \u0275prov=M.jDH({token:k,factory:k.\u0275fac})}return k})(),l=(()=>{class k{translateService;element;_ref;key;lastParams;currentParams;onLangChangeSub;onDefaultLangChangeSub;onTranslationChangeSub;set translate(T){T&&(this.key=T,this.checkNodes())}set translateParams(T){A(this.currentParams,T)||(this.currentParams=T,this.checkNodes(!0))}constructor(T,B,z){this.translateService=T,this.element=B,this._ref=z,this.onTranslationChangeSub||(this.onTranslationChangeSub=this.translateService.onTranslationChange.subscribe(K=>{K.lang===this.translateService.currentLang&&this.checkNodes(!0,K.translations)})),this.onLangChangeSub||(this.onLangChangeSub=this.translateService.onLangChange.subscribe(K=>{this.checkNodes(!0,K.translations)})),this.onDefaultLangChangeSub||(this.onDefaultLangChangeSub=this.translateService.onDefaultLangChange.subscribe(K=>{this.checkNodes(!0)}))}ngAfterViewChecked(){this.checkNodes()}checkNodes(T=!1,B){let z=this.element.nativeElement.childNodes;z.length||(this.setContent(this.element.nativeElement,this.key),z=this.element.nativeElement.childNodes);for(let K=0;K{U!==T&&(B.lastKey=T),B.originalContent||(B.originalContent=this.getContent(B)),B.currentValue=I(U)?U:B.originalContent||T,this.setContent(B,this.key?B.currentValue:B.originalContent.replace(T,B.currentValue)),this._ref.markForCheck()};if(I(z)){let U=this.translateService.getParsedResult(z,T,this.currentParams);(0,V.A)(U)?U.subscribe({next:K}):K(U)}else this.translateService.get(T,this.currentParams).subscribe(K)}}getContent(T){return I(T.textContent)?T.textContent:T.data}setContent(T,B){I(T.textContent)?T.textContent=B:T.data=B}ngOnDestroy(){this.onLangChangeSub&&this.onLangChangeSub.unsubscribe(),this.onDefaultLangChangeSub&&this.onDefaultLangChangeSub.unsubscribe(),this.onTranslationChangeSub&&this.onTranslationChangeSub.unsubscribe()}static \u0275fac=function(B){return new(B||k)(M.rXU(r),M.rXU(M.aKT),M.rXU(M.gRc))};static \u0275dir=M.FsC({type:k,selectors:[["","translate",""],["","ngx-translate",""]],inputs:{translate:"translate",translateParams:"translateParams"}})}return k})(),d=(()=>{class k{translate;_ref;value="";lastKey=null;lastParams=[];onTranslationChange;onLangChange;onDefaultLangChange;constructor(T,B){this.translate=T,this._ref=B}updateValue(T,B,z){let K=U=>{this.value=void 0!==U?U:T,this.lastKey=T,this._ref.markForCheck()};if(z){let U=this.translate.getParsedResult(z,T,B);(0,V.A)(U.subscribe)?U.subscribe(K):K(U)}this.translate.get(T,B).subscribe(K)}transform(T,...B){if(!T||!T.length)return T;if(A(T,this.lastKey)&&A(B,this.lastParams))return this.value;let z;if(I(B[0])&&B.length)if("string"==typeof B[0]&&B[0].length){let K=B[0].replace(/(\')?([a-zA-Z0-9_]+)(\')?(\s)?:/g,'"$2":').replace(/:(\s)?(\')(.*?)(\')/g,':"$3"');try{z=JSON.parse(K)}catch{throw new SyntaxError(`Wrong parameter in TranslatePipe. Expected a valid Object, received: ${B[0]}`)}}else"object"==typeof B[0]&&!Array.isArray(B[0])&&(z=B[0]);return this.lastKey=T,this.lastParams=B,this.updateValue(T,z),this._dispose(),this.onTranslationChange||(this.onTranslationChange=this.translate.onTranslationChange.subscribe(K=>{this.lastKey&&K.lang===this.translate.currentLang&&(this.lastKey=null,this.updateValue(T,z,K.translations))})),this.onLangChange||(this.onLangChange=this.translate.onLangChange.subscribe(K=>{this.lastKey&&(this.lastKey=null,this.updateValue(T,z,K.translations))})),this.onDefaultLangChange||(this.onDefaultLangChange=this.translate.onDefaultLangChange.subscribe(()=>{this.lastKey&&(this.lastKey=null,this.updateValue(T,z))})),this.value}_dispose(){typeof this.onTranslationChange<"u"&&(this.onTranslationChange.unsubscribe(),this.onTranslationChange=void 0),typeof this.onLangChange<"u"&&(this.onLangChange.unsubscribe(),this.onLangChange=void 0),typeof this.onDefaultLangChange<"u"&&(this.onDefaultLangChange.unsubscribe(),this.onDefaultLangChange=void 0)}ngOnDestroy(){this._dispose()}static \u0275fac=function(B){return new(B||k)(M.rXU(r,16),M.rXU(M.gRc,16))};static \u0275pipe=M.EJ8({name:"translate",type:k,pure:!1});static \u0275prov=M.jDH({token:k,factory:k.\u0275fac})}return k})(),C=(()=>{class k{static forRoot(T={}){return{ngModule:k,providers:[T.loader||{provide:j,useClass:F},T.compiler||{provide:O,useClass:f},T.parser||{provide:w,useClass:G},T.missingTranslationHandler||{provide:P,useClass:D},a,{provide:g,useValue:T.isolate},{provide:v,useValue:T.useDefaultLang},{provide:n,useValue:T.extend},{provide:o,useValue:T.defaultLanguage},r]}}static forChild(T={}){return{ngModule:k,providers:[T.loader||{provide:j,useClass:F},T.compiler||{provide:O,useClass:f},T.parser||{provide:w,useClass:G},T.missingTranslationHandler||{provide:P,useClass:D},{provide:g,useValue:T.isolate},{provide:v,useValue:T.useDefaultLang},{provide:n,useValue:T.extend},{provide:o,useValue:T.defaultLanguage},r]}}static \u0275fac=function(B){return new(B||k)};static \u0275mod=M.$C({type:k});static \u0275inj=M.G2t({})}return k})()},91346:(ri,Bt,We)=>{"use strict";We.d(Bt,{t1:()=>J,S6:()=>j,Fr:()=>D,SV:()=>F});var M=We(21264),e=We.t(M,2),V=We(21413);class Le extends V.B{constructor(){super(...arguments),this._value=null,this._hasValue=!1,this._isComplete=!1}_checkFinalizedStatuses(I){const{hasError:_,_hasValue:m,_value:w,thrownError:G,isStopped:O,_isComplete:f}=this;_?I.error(G):(O||f)&&(m&&I.next(w),I.complete())}next(I){this.isStopped||(this._value=I,this._hasValue=!0)}complete(){const{_hasValue:I,_value:_,_isComplete:m}=this;m||(this._isComplete=!0,I&&super.next(_),super.complete())}}var q=We(54438),ne=We(12146),re=We.t(ne,2),ve=We(84191),le=We.t(ve,2),pe=We(31923),ue=We.t(pe,2);class J{constructor(I={series:[]}){this.options=I,this.refSubject=new Le,this.ref$=this.refSubject.asObservable()}addPoint(I,_=0,m=!0,w=!1){this.ref$.subscribe(G=>{G.series.length>_&&G.series[_].addPoint(I,m,w)})}addSeries(I,_=!0,m){this.ref$.subscribe(w=>{w.addSeries(I,_,m)})}removePoint(I,_=0){this.ref$.subscribe(m=>{m.series.length>_&&m.series[_].data.length>I&&m.series[_].removePoint(I,!0)})}removeSeries(I){this.ref$.subscribe(_=>{_.series.length>I&&_.series[I].remove(!0)})}init(I){this.ref||M.chart(I.nativeElement,this.options,_=>{this.ref||(this.refSubject.next(_),this.ref=_,this.refSubject.complete())})}destroy(){this.ref&&(this.options=this.ref.options,this.ref.destroy(),this.ref=void 0,this.refSubject=new Le,this.ref$=this.refSubject.asObservable())}}class te{constructor(I={series:[]}){this.options=I,this.refSubject=new Le,this.ref$=this.refSubject.asObservable()}init(I){this.ref||ne.mapChart(I.nativeElement,this.options,_=>{this.ref||(this.refSubject.next(_),this.ref=_,this.refSubject.complete())})}destroy(){this.ref&&(this.options=this.ref.options,this.ref.destroy(),this.ref=void 0,this.refSubject=new Le,this.ref$=this.refSubject.asObservable())}}class X{constructor(I={series:[]}){this.options=I,this.refSubject=new Le,this.ref$=this.refSubject.asObservable()}init(I){this.ref||ve.stockChart(I.nativeElement,this.options,_=>{this.ref||(this.refSubject.next(_),this.ref=_,this.refSubject.complete())})}destroy(){this.ref&&(this.options=this.ref.options,this.ref.destroy(),this.ref=void 0,this.refSubject=new Le,this.ref$=this.refSubject.asObservable())}}class E{constructor(I={series:[]}){this.options=I,this.refSubject=new Le,this.ref$=this.refSubject.asObservable()}init(I){this.ref||pe.ganttChart(I.nativeElement,this.options,_=>{this.ref||(this.refSubject.next(_),this.ref=_,this.refSubject.complete())})}destroy(){this.ref&&(this.options=this.ref.options,this.ref.destroy(),this.ref=void 0,this.refSubject=new Le,this.ref$=this.refSubject.asObservable())}}let j=(()=>{class A{constructor(_){this.el=_}ngOnChanges(_){_.chart?.isFirstChange()||(this.destroy(),this.init())}ngOnInit(){this.init()}ngOnDestroy(){this.destroy()}init(){(this.chart instanceof J||this.chart instanceof X||this.chart instanceof te||this.chart instanceof E)&&this.chart.init(this.el)}destroy(){(this.chart instanceof J||this.chart instanceof X||this.chart instanceof te||this.chart instanceof E)&&this.chart.destroy()}static#e=this.\u0275fac=function(m){return new(m||A)(q.rXU(q.aKT))};static#t=this.\u0275dir=q.FsC({type:A,selectors:[["","chart",""]],inputs:{chart:"chart"},features:[q.OA$]})}return A})(),F=new q.nKC("HighchartsModules"),P=(()=>{class A{constructor(_){this.chartModules=_}initModules(){this.chartModules.forEach(_=>{[e,le,re,ue].forEach(_)})}static#e=this.\u0275fac=function(m){return new(m||A)(q.KVO(F))};static#t=this.\u0275prov=q.jDH({token:A,factory:A.\u0275fac})}return A})(),D=(()=>{class A{constructor(_){this.cs=_,this.cs.initModules()}static#e=this.\u0275fac=function(m){return new(m||A)(q.KVO(P))};static#t=this.\u0275mod=q.$C({type:A});static#i=this.\u0275inj=q.G2t({providers:[{provide:F,useValue:[]},P]})}return A})()},36554:(ri,Bt,We)=>{"use strict";We.d(Bt,{PO:()=>m,et:()=>_,ex:()=>D});var M=We(54438),e=We(84412),V=We(21413),Le=We(5964),q=We(56977),ne=We(49969),re=We(60177),ve=We(345);const le=["overlay"],pe=["*"];function ue(w,G){1&w&&M.nrm(0,"div")}function J(w,G){if(1&w&&(M.j41(0,"div"),M.DNE(1,ue,1,0,"div",6),M.k0s()),2&w){const O=M.XpG(2);M.HbH(O.spinner.class),M.xc7("color",O.spinner.color),M.R7$(),M.Y8G("ngForOf",O.spinner.divArray)}}function te(w,G){if(1&w&&(M.nrm(0,"div",7),M.nI1(1,"safeHtml")),2&w){const O=M.XpG(2);M.Y8G("innerHTML",M.bMT(1,1,O.template),M.npT)}}function X(w,G){if(1&w&&(M.j41(0,"div",2,0),M.DNE(2,J,2,5,"div",3)(3,te,2,3,"div",4),M.j41(4,"div",5),M.SdG(5),M.k0s()()),2&w){const O=M.XpG();M.xc7("background-color",O.spinner.bdColor)("z-index",O.spinner.zIndex)("position",O.spinner.fullScreen?"fixed":"absolute"),M.Y8G("@.disabled",O.disableAnimation)("@fadeIn","in"),M.R7$(2),M.Y8G("ngIf",!O.template),M.R7$(),M.Y8G("ngIf",O.template),M.R7$(),M.xc7("z-index",O.spinner.zIndex)}}const E={"ball-8bits":16,"ball-atom":4,"ball-beat":3,"ball-circus":5,"ball-climbing-dot":4,"ball-clip-rotate":1,"ball-clip-rotate-multiple":2,"ball-clip-rotate-pulse":2,"ball-elastic-dots":5,"ball-fall":3,"ball-fussion":4,"ball-grid-beat":9,"ball-grid-pulse":9,"ball-newton-cradle":4,"ball-pulse":3,"ball-pulse-rise":5,"ball-pulse-sync":3,"ball-rotate":1,"ball-running-dots":5,"ball-scale":1,"ball-scale-multiple":3,"ball-scale-pulse":2,"ball-scale-ripple":1,"ball-scale-ripple-multiple":3,"ball-spin":8,"ball-spin-clockwise":8,"ball-spin-clockwise-fade":8,"ball-spin-clockwise-fade-rotating":8,"ball-spin-fade":8,"ball-spin-fade-rotating":8,"ball-spin-rotate":2,"ball-square-clockwise-spin":8,"ball-square-spin":8,"ball-triangle-path":3,"ball-zig-zag":2,"ball-zig-zag-deflect":2,cog:1,"cube-transition":2,fire:3,"line-scale":5,"line-scale-party":5,"line-scale-pulse-out":5,"line-scale-pulse-out-rapid":5,"line-spin-clockwise-fade":8,"line-spin-clockwise-fade-rotating":8,"line-spin-fade":8,"line-spin-fade-rotating":8,pacman:6,"square-jelly-box":2,"square-loader":1,"square-spin":1,timer:1,"triangle-skew-spin":1},F="primary";class P{constructor(G){Object.assign(this,G)}static create(G){return!G?.template&&!G?.type&&console.warn('[ngx-spinner]: Property "type" is missed. Please, provide animation type to component\n and ensure css is added to angular.json file'),new P(G)}}let D=(()=>{class w{constructor(){this.spinnerObservable=new e.t(null)}getSpinner(O){return this.spinnerObservable.asObservable().pipe((0,Le.p)(f=>f&&f.name===O))}show(O=F,f){return new Promise((a,g)=>{setTimeout(()=>{f&&Object.keys(f).length?(f.name=O,this.spinnerObservable.next(new P({...f,show:!0})),a(!0)):(this.spinnerObservable.next(new P({name:O,show:!0})),a(!0))},10)})}hide(O=F,f=10){return new Promise((a,g)=>{setTimeout(()=>{this.spinnerObservable.next(new P({name:O,show:!1})),a(!0)},f)})}static#e=this.\u0275fac=function(f){return new(f||w)};static#t=this.\u0275prov=M.jDH({token:w,factory:w.\u0275fac,providedIn:"root"})}return w})();const A=new M.nKC("NGX_SPINNER_CONFIG");let I=(()=>{class w{constructor(O){this._sanitizer=O}transform(O){if(O)return this._sanitizer.bypassSecurityTrustHtml(O)}static#e=this.\u0275fac=function(f){return new(f||w)(M.rXU(ve.up,16))};static#t=this.\u0275pipe=M.EJ8({name:"safeHtml",type:w,pure:!0})}return w})(),_=(()=>{class w{constructor(O,f,a,g){this.spinnerService=O,this.changeDetector=f,this.elementRef=a,this.globalConfig=g,this.disableAnimation=!1,this.spinner=new P,this.ngUnsubscribe=new V.B,this.setDefaultOptions=()=>{const{type:v}=this.globalConfig??{};this.spinner=P.create({name:this.name,bdColor:this.bdColor,size:this.size,color:this.color,type:this.type??v,fullScreen:this.fullScreen,divArray:this.divArray,divCount:this.divCount,show:this.show,zIndex:this.zIndex,template:this.template,showSpinner:this.showSpinner})},this.bdColor="rgba(51,51,51,0.8)",this.zIndex=99999,this.color="#fff",this.size="large",this.fullScreen=!0,this.name=F,this.template=null,this.showSpinner=!1,this.divArray=[],this.divCount=0,this.show=!1}initObservable(){this.spinnerService.getSpinner(this.name).pipe((0,q.Q)(this.ngUnsubscribe)).subscribe(O=>{this.setDefaultOptions(),Object.assign(this.spinner,O),O.show&&this.onInputChange(),this.changeDetector.detectChanges()})}ngOnInit(){this.setDefaultOptions(),this.initObservable()}isSpinnerZone(O){return O===this.elementRef.nativeElement.parentElement||O.parentNode&&this.isSpinnerZone(O.parentNode)}ngOnChanges(O){for(const f in O)if(f){const a=O[f];if(a.isFirstChange())return;typeof a.currentValue<"u"&&a.currentValue!==a.previousValue&&""!==a.currentValue&&(this.spinner[f]=a.currentValue,"showSpinner"===f&&(a.currentValue?this.spinnerService.show(this.spinner.name,this.spinner):this.spinnerService.hide(this.spinner.name)),"name"===f&&this.initObservable())}}getClass(O,f){this.spinner.divCount=E[O],this.spinner.divArray=Array(this.spinner.divCount).fill(0).map((g,v)=>v);let a="";switch(f.toLowerCase()){case"small":a="la-sm";break;case"medium":a="la-2x";break;case"large":a="la-3x"}return"la-"+O+" "+a}onInputChange(){this.spinner.class=this.getClass(this.spinner.type,this.spinner.size)}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}static#e=this.\u0275fac=function(f){return new(f||w)(M.rXU(D),M.rXU(M.gRc),M.rXU(M.aKT),M.rXU(A,8))};static#t=this.\u0275cmp=M.VBU({type:w,selectors:[["ngx-spinner"]],viewQuery:function(f,a){if(1&f&&M.GBs(le,5),2&f){let g;M.mGM(g=M.lsd())&&(a.spinnerDOM=g.first)}},inputs:{bdColor:"bdColor",size:"size",color:"color",type:"type",fullScreen:"fullScreen",name:"name",zIndex:"zIndex",template:"template",showSpinner:"showSpinner",disableAnimation:"disableAnimation"},features:[M.OA$],ngContentSelectors:pe,decls:1,vars:1,consts:[["overlay",""],["class","ngx-spinner-overlay",3,"background-color","z-index","position",4,"ngIf"],[1,"ngx-spinner-overlay"],[3,"class","color",4,"ngIf"],[3,"innerHTML",4,"ngIf"],[1,"loading-text"],[4,"ngFor","ngForOf"],[3,"innerHTML"]],template:function(f,a){1&f&&(M.NAR(),M.DNE(0,X,6,12,"div",1)),2&f&&M.Y8G("ngIf",a.spinner.show)},dependencies:[re.Sq,re.bT,I],styles:[".ngx-spinner-overlay[_ngcontent-%COMP%]{position:fixed;top:0;left:0;width:100%;height:100%}.ngx-spinner-overlay[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:not(.loading-text){top:50%;left:50%;margin:0;position:absolute;transform:translate(-50%,-50%)}.loading-text[_ngcontent-%COMP%]{position:absolute;top:60%;left:50%;transform:translate(-50%,-60%)}"],data:{animation:[(0,ne.hZ)("fadeIn",[(0,ne.wk)("in",(0,ne.iF)({opacity:1})),(0,ne.kY)(":enter",[(0,ne.iF)({opacity:0}),(0,ne.i0)(300)]),(0,ne.kY)(":leave",(0,ne.i0)(200,(0,ne.iF)({opacity:0})))])]},changeDetection:0})}return w})(),m=(()=>{class w{static forRoot(O){return{ngModule:w,providers:[{provide:A,useValue:O}]}}static#e=this.\u0275fac=function(f){return new(f||w)};static#t=this.\u0275mod=M.$C({type:w});static#i=this.\u0275inj=M.G2t({imports:[re.MD]})}return w})()},45794:(ri,Bt,We)=>{"use strict";We.d(Bt,{_B:()=>l,tw:()=>v});var M=We(54438),e=We(49969),V=We(60177),Le=We(21413),q=We(345);const ne=["toast-component",""];function re(T,B){if(1&T){const z=M.RV6();M.j41(0,"button",5),M.bIt("click",function(){M.eBV(z);const U=M.XpG();return M.Njj(U.remove())}),M.j41(1,"span",6),M.EFF(2,"\xd7"),M.k0s()()}}function ve(T,B){if(1&T&&(M.qex(0),M.EFF(1),M.bVm()),2&T){const z=M.XpG(2);M.R7$(),M.SpI("[",z.duplicatesCount+1,"]")}}function le(T,B){if(1&T&&(M.j41(0,"div"),M.EFF(1),M.DNE(2,ve,2,1,"ng-container",4),M.k0s()),2&T){const z=M.XpG();M.HbH(z.options.titleClass),M.BMQ("aria-label",z.title),M.R7$(),M.SpI(" ",z.title," "),M.R7$(),M.Y8G("ngIf",z.duplicatesCount)}}function pe(T,B){if(1&T&&M.nrm(0,"div",7),2&T){const z=M.XpG();M.HbH(z.options.messageClass),M.Y8G("innerHTML",z.message,M.npT)}}function ue(T,B){if(1&T&&(M.j41(0,"div",8),M.EFF(1),M.k0s()),2&T){const z=M.XpG();M.HbH(z.options.messageClass),M.BMQ("aria-label",z.message),M.R7$(),M.SpI(" ",z.message," ")}}function J(T,B){if(1&T&&(M.j41(0,"div"),M.nrm(1,"div",9),M.k0s()),2&T){const z=M.XpG();M.R7$(),M.xc7("width",z.width+"%")}}class A{_attachedHost;component;viewContainerRef;injector;constructor(B,z){this.component=B,this.injector=z}attach(B,z){return this._attachedHost=B,B.attach(this,z)}detach(){const B=this._attachedHost;if(B)return this._attachedHost=void 0,B.detach()}get isAttached(){return null!=this._attachedHost}setAttachedHost(B){this._attachedHost=B}}class I{_attachedPortal;_disposeFn;attach(B,z){return this._attachedPortal=B,this.attachComponentPortal(B,z)}detach(){this._attachedPortal&&this._attachedPortal.setAttachedHost(),this._attachedPortal=void 0,this._disposeFn&&(this._disposeFn(),this._disposeFn=void 0)}setDisposeFn(B){this._disposeFn=B}}class _{_overlayRef;componentInstance;duplicatesCount=0;_afterClosed=new Le.B;_activate=new Le.B;_manualClose=new Le.B;_resetTimeout=new Le.B;_countDuplicate=new Le.B;constructor(B){this._overlayRef=B}manualClose(){this._manualClose.next(),this._manualClose.complete()}manualClosed(){return this._manualClose.asObservable()}timeoutReset(){return this._resetTimeout.asObservable()}countDuplicate(){return this._countDuplicate.asObservable()}close(){this._overlayRef.detach(),this._afterClosed.next(),this._manualClose.next(),this._afterClosed.complete(),this._manualClose.complete(),this._activate.complete(),this._resetTimeout.complete(),this._countDuplicate.complete()}afterClosed(){return this._afterClosed.asObservable()}isInactive(){return this._activate.isStopped}activate(){this._activate.next(),this._activate.complete()}afterActivate(){return this._activate.asObservable()}onDuplicate(B,z){B&&this._resetTimeout.next(),z&&this._countDuplicate.next(++this.duplicatesCount)}}class m{toastId;config;message;title;toastType;toastRef;_onTap=new Le.B;_onAction=new Le.B;constructor(B,z,K,U,se,S){this.toastId=B,this.config=z,this.message=K,this.title=U,this.toastType=se,this.toastRef=S,this.toastRef.afterClosed().subscribe(()=>{this._onAction.complete(),this._onTap.complete()})}triggerTap(){this._onTap.next(),this.config.tapToDismiss&&this._onTap.complete()}onTap(){return this._onTap.asObservable()}triggerAction(B){this._onAction.next(B)}onAction(){return this._onAction.asObservable()}}const G=new M.nKC("ToastConfig");class O extends I{_hostDomElement;_componentFactoryResolver;_appRef;constructor(B,z,K){super(),this._hostDomElement=B,this._componentFactoryResolver=z,this._appRef=K}attachComponentPortal(B,z){const K=this._componentFactoryResolver.resolveComponentFactory(B.component);let U;return U=K.create(B.injector),this._appRef.attachView(U.hostView),this.setDisposeFn(()=>{this._appRef.detachView(U.hostView),U.destroy()}),z?this._hostDomElement.insertBefore(this._getComponentRootNode(U),this._hostDomElement.firstChild):this._hostDomElement.appendChild(this._getComponentRootNode(U)),U}_getComponentRootNode(B){return B.hostView.rootNodes[0]}}let f=(()=>{class T{_document=(0,M.WQX)(V.qQ);_containerElement;ngOnDestroy(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const z=this._document.createElement("div");z.classList.add("overlay-container"),z.setAttribute("aria-live","polite"),this._document.body.appendChild(z),this._containerElement=z}static \u0275fac=function(K){return new(K||T)};static \u0275prov=M.jDH({token:T,factory:T.\u0275fac,providedIn:"root"})}return T})();class a{_portalHost;constructor(B){this._portalHost=B}attach(B,z=!0){return this._portalHost.attach(B,z)}detach(){return this._portalHost.detach()}}let g=(()=>{class T{_overlayContainer=(0,M.WQX)(f);_componentFactoryResolver=(0,M.WQX)(M.OM3);_appRef=(0,M.WQX)(M.o8S);_document=(0,M.WQX)(V.qQ);_paneElements=new Map;create(z,K){return this._createOverlayRef(this.getPaneElement(z,K))}getPaneElement(z="",K){return this._paneElements.get(K)||this._paneElements.set(K,{}),this._paneElements.get(K)[z]||(this._paneElements.get(K)[z]=this._createPaneElement(z,K)),this._paneElements.get(K)[z]}_createPaneElement(z,K){const U=this._document.createElement("div");return U.id="toast-container",U.classList.add(z),U.classList.add("toast-container"),K?K.getContainerElement().appendChild(U):this._overlayContainer.getContainerElement().appendChild(U),U}_createPortalHost(z){return new O(z,this._componentFactoryResolver,this._appRef)}_createOverlayRef(z){return new a(this._createPortalHost(z))}static \u0275fac=function(K){return new(K||T)};static \u0275prov=M.jDH({token:T,factory:T.\u0275fac,providedIn:"root"})}return T})(),v=(()=>{class T{overlay;_injector;sanitizer;ngZone;toastrConfig;currentlyActive=0;toasts=[];overlayContainer;previousToastMessage;index=0;constructor(z,K,U,se,S){this.overlay=K,this._injector=U,this.sanitizer=se,this.ngZone=S,this.toastrConfig={...z.default,...z.config},z.config.iconClasses&&(this.toastrConfig.iconClasses={...z.default.iconClasses,...z.config.iconClasses})}show(z,K,U={},se=""){return this._preBuildNotification(se,z,K,this.applyConfig(U))}success(z,K,U={}){return this._preBuildNotification(this.toastrConfig.iconClasses.success||"",z,K,this.applyConfig(U))}error(z,K,U={}){return this._preBuildNotification(this.toastrConfig.iconClasses.error||"",z,K,this.applyConfig(U))}info(z,K,U={}){return this._preBuildNotification(this.toastrConfig.iconClasses.info||"",z,K,this.applyConfig(U))}warning(z,K,U={}){return this._preBuildNotification(this.toastrConfig.iconClasses.warning||"",z,K,this.applyConfig(U))}clear(z){for(const K of this.toasts)if(void 0!==z){if(K.toastId===z)return void K.toastRef.manualClose()}else K.toastRef.manualClose()}remove(z){const K=this._findToast(z);if(!K||(K.activeToast.toastRef.close(),this.toasts.splice(K.index,1),this.currentlyActive=this.currentlyActive-1,!this.toastrConfig.maxOpened||!this.toasts.length))return!1;if(this.currentlyActivethis._buildNotification(z,K,U,se)):this._buildNotification(z,K,U,se)}_buildNotification(z,K,U,se){if(!se.toastComponent)throw new Error("toastComponent required");const S=this.findDuplicate(U,K,this.toastrConfig.resetTimeoutOnDuplicate&&se.timeOut>0,this.toastrConfig.countDuplicates);if((this.toastrConfig.includeTitleDuplicates&&U||K)&&this.toastrConfig.preventDuplicates&&null!==S)return S;this.previousToastMessage=K;let $=!1;this.toastrConfig.maxOpened&&this.currentlyActive>=this.toastrConfig.maxOpened&&($=!0,this.toastrConfig.autoDismiss&&this.clear(this.toasts[0].toastId));const H=this.overlay.create(se.positionClass,this.overlayContainer);this.index=this.index+1;let x=K;K&&se.enableHtml&&(x=this.sanitizer.sanitize(M.WPN.HTML,K));const N=new _(H),R=new m(this.index,se,x,U,z,N),Y=M.zZn.create({providers:[{provide:m,useValue:R}],parent:this._injector}),he=new A(se.toastComponent,Y),ge=H.attach(he,se.newestOnTop);N.componentInstance=ge.instance;const _e={toastId:this.index,title:U||"",message:K||"",toastRef:N,onShown:N.afterActivate(),onHidden:N.afterClosed(),onTap:R.onTap(),onAction:R.onAction(),portal:ge};return $||(this.currentlyActive=this.currentlyActive+1,setTimeout(()=>{_e.toastRef.activate()})),this.toasts.push(_e),_e}static \u0275fac=function(K){return new(K||T)(M.KVO(G),M.KVO(g),M.KVO(M.zZn),M.KVO(q.up),M.KVO(M.SKi))};static \u0275prov=M.jDH({token:T,factory:T.\u0275fac,providedIn:"root"})}return T})();const n={maxOpened:0,autoDismiss:!1,newestOnTop:!0,preventDuplicates:!1,countDuplicates:!1,resetTimeoutOnDuplicate:!1,includeTitleDuplicates:!1,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},closeButton:!1,disableTimeOut:!1,timeOut:5e3,extendedTimeOut:1e3,enableHtml:!1,progressBar:!1,toastClass:"ngx-toastr",positionClass:"toast-top-right",titleClass:"toast-title",messageClass:"toast-message",easing:"ease-in",easeTime:300,tapToDismiss:!0,onActivateTick:!1,progressAnimation:"decreasing",toastComponent:(()=>{class T{toastrService;toastPackage;ngZone;message;title;options;duplicatesCount;originalTimeout;width=-1;toastClasses="";state;get displayStyle(){if("inactive"===this.state.value)return"none"}timeout;intervalId;hideTime;sub;sub1;sub2;sub3;constructor(z,K,U){this.toastrService=z,this.toastPackage=K,this.ngZone=U,this.message=K.message,this.title=K.title,this.options=K.config,this.originalTimeout=K.config.timeOut,this.toastClasses=`${K.toastType} ${K.config.toastClass}`,this.sub=K.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=K.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=K.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=K.toastRef.countDuplicate().subscribe(se=>{this.duplicatesCount=se}),this.state={value:"inactive",params:{easeTime:this.toastPackage.config.easeTime,easing:"ease-in"}}}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state={...this.state,value:"active"},!0!==this.options.disableTimeOut&&"timeOut"!==this.options.disableTimeOut&&this.options.timeOut&&(this.outsideTimeout(()=>this.remove(),this.options.timeOut),this.hideTime=(new Date).getTime()+this.options.timeOut,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}updateProgress(){if(0===this.width||100===this.width||!this.options.timeOut)return;const z=(new Date).getTime();this.width=(this.hideTime-z)/this.options.timeOut*100,"increasing"===this.options.progressAnimation&&(this.width=100-this.width),this.width<=0&&(this.width=0),this.width>=100&&(this.width=100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state={...this.state,value:"active"},this.outsideTimeout(()=>this.remove(),this.originalTimeout),this.options.timeOut=this.originalTimeout,this.hideTime=(new Date).getTime()+(this.options.timeOut||0),this.width=-1,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10)}remove(){"removed"!==this.state.value&&(clearTimeout(this.timeout),this.state={...this.state,value:"removed"},this.outsideTimeout(()=>this.toastrService.remove(this.toastPackage.toastId),+this.toastPackage.config.easeTime))}tapToast(){"removed"!==this.state.value&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){"removed"!==this.state.value&&"extendedTimeOut"!==this.options.disableTimeOut&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width=0)}delayedHideToast(){!0===this.options.disableTimeOut||"extendedTimeOut"===this.options.disableTimeOut||0===this.options.extendedTimeOut||"removed"===this.state.value||(this.outsideTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=(new Date).getTime()+(this.options.timeOut||0),this.width=-1,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}outsideTimeout(z,K){this.ngZone?this.ngZone.runOutsideAngular(()=>this.timeout=setTimeout(()=>this.runInsideAngular(z),K)):this.timeout=setTimeout(()=>z(),K)}outsideInterval(z,K){this.ngZone?this.ngZone.runOutsideAngular(()=>this.intervalId=setInterval(()=>this.runInsideAngular(z),K)):this.intervalId=setInterval(()=>z(),K)}runInsideAngular(z){this.ngZone?this.ngZone.run(()=>z()):z()}static \u0275fac=function(K){return new(K||T)(M.rXU(v),M.rXU(m),M.rXU(M.SKi))};static \u0275cmp=M.VBU({type:T,selectors:[["","toast-component",""]],hostVars:5,hostBindings:function(K,U){1&K&&M.bIt("click",function(){return U.tapToast()})("mouseenter",function(){return U.stickAround()})("mouseleave",function(){return U.delayedHideToast()}),2&K&&(M.zvX("@flyInOut",U.state),M.HbH(U.toastClasses),M.xc7("display",U.displayStyle))},standalone:!0,features:[M.aNF],attrs:ne,decls:5,vars:5,consts:[["type","button","class","toast-close-button","aria-label","Close",3,"click",4,"ngIf"],[3,"class",4,"ngIf"],["role","alert",3,"class","innerHTML",4,"ngIf"],["role","alert",3,"class",4,"ngIf"],[4,"ngIf"],["type","button","aria-label","Close",1,"toast-close-button",3,"click"],["aria-hidden","true"],["role","alert",3,"innerHTML"],["role","alert"],[1,"toast-progress"]],template:function(K,U){1&K&&M.DNE(0,re,3,0,"button",0)(1,le,3,5,"div",1)(2,pe,1,3,"div",2)(3,ue,2,4,"div",3)(4,J,2,2,"div",4),2&K&&(M.Y8G("ngIf",U.options.closeButton),M.R7$(),M.Y8G("ngIf",U.title),M.R7$(),M.Y8G("ngIf",U.message&&U.options.enableHtml),M.R7$(),M.Y8G("ngIf",U.message&&!U.options.enableHtml),M.R7$(),M.Y8G("ngIf",U.options.progressBar))},dependencies:[V.bT],encapsulation:2,data:{animation:[(0,e.hZ)("flyInOut",[(0,e.wk)("inactive",(0,e.iF)({opacity:0})),(0,e.wk)("active",(0,e.iF)({opacity:1})),(0,e.wk)("removed",(0,e.iF)({opacity:0})),(0,e.kY)("inactive => active",(0,e.i0)("{{ easeTime }}ms {{ easing }}")),(0,e.kY)("active => removed",(0,e.i0)("{{ easeTime }}ms {{ easing }}"))])]}})}return T})()},r=(T={})=>(0,M.EmA)([{provide:G,useValue:{default:n,config:T}}]);let l=(()=>{class T{static forRoot(z={}){return{ngModule:T,providers:[r(z)]}}static \u0275fac=function(K){return new(K||T)};static \u0275mod=M.$C({type:T});static \u0275inj=M.G2t({})}return T})()},5779:(ri,Bt,We)=>{"use strict";We.d(Bt,{E:()=>ue,Ei:()=>P,Gg:()=>D,Rn:()=>le,Y9:()=>j,Yj:()=>A,r1:()=>E,si:()=>te,tl:()=>pe,wi:()=>F});var M=We(54438),e=We(21413),V=We(54420),Le=We(60177);const q=["*"];let le=(()=>class _{static STARTS_WITH="startsWith";static CONTAINS="contains";static NOT_CONTAINS="notContains";static ENDS_WITH="endsWith";static EQUALS="equals";static NOT_EQUALS="notEquals";static IN="in";static LESS_THAN="lt";static LESS_THAN_OR_EQUAL_TO="lte";static GREATER_THAN="gt";static GREATER_THAN_OR_EQUAL_TO="gte";static BETWEEN="between";static IS="is";static IS_NOT="isNot";static BEFORE="before";static AFTER="after";static DATE_IS="dateIs";static DATE_IS_NOT="dateIsNot";static DATE_BEFORE="dateBefore";static DATE_AFTER="dateAfter"})(),pe=(()=>class _{static AND="and";static OR="or"})(),ue=(()=>{class _{filter(w,G,O,f,a){let g=[];if(w)for(let v of w)for(let o of G){let n=V.BF.resolveFieldData(v,o);if(this.filters[f](n,O,a)){g.push(v);break}}return g}filters={startsWith:(w,G,O)=>{if(null==G||""===G.trim())return!0;if(null==w)return!1;let f=V.BF.removeAccents(G.toString()).toLocaleLowerCase(O);return V.BF.removeAccents(w.toString()).toLocaleLowerCase(O).slice(0,f.length)===f},contains:(w,G,O)=>{if(null==G||"string"==typeof G&&""===G.trim())return!0;if(null==w)return!1;let f=V.BF.removeAccents(G.toString()).toLocaleLowerCase(O);return-1!==V.BF.removeAccents(w.toString()).toLocaleLowerCase(O).indexOf(f)},notContains:(w,G,O)=>{if(null==G||"string"==typeof G&&""===G.trim())return!0;if(null==w)return!1;let f=V.BF.removeAccents(G.toString()).toLocaleLowerCase(O);return-1===V.BF.removeAccents(w.toString()).toLocaleLowerCase(O).indexOf(f)},endsWith:(w,G,O)=>{if(null==G||""===G.trim())return!0;if(null==w)return!1;let f=V.BF.removeAccents(G.toString()).toLocaleLowerCase(O),a=V.BF.removeAccents(w.toString()).toLocaleLowerCase(O);return-1!==a.indexOf(f,a.length-f.length)},equals:(w,G,O)=>null==G||"string"==typeof G&&""===G.trim()||null!=w&&(w.getTime&&G.getTime?w.getTime()===G.getTime():V.BF.removeAccents(w.toString()).toLocaleLowerCase(O)==V.BF.removeAccents(G.toString()).toLocaleLowerCase(O)),notEquals:(w,G,O)=>!(null==G||"string"==typeof G&&""===G.trim()||null!=w&&(w.getTime&&G.getTime?w.getTime()===G.getTime():V.BF.removeAccents(w.toString()).toLocaleLowerCase(O)==V.BF.removeAccents(G.toString()).toLocaleLowerCase(O))),in:(w,G)=>{if(null==G||0===G.length)return!0;for(let O=0;Onull==G||null==G[0]||null==G[1]||null!=w&&(w.getTime?G[0].getTime()<=w.getTime()&&w.getTime()<=G[1].getTime():G[0]<=w&&w<=G[1]),lt:(w,G,O)=>null==G||null!=w&&(w.getTime&&G.getTime?w.getTime()null==G||null!=w&&(w.getTime&&G.getTime?w.getTime()<=G.getTime():w<=G),gt:(w,G,O)=>null==G||null!=w&&(w.getTime&&G.getTime?w.getTime()>G.getTime():w>G),gte:(w,G,O)=>null==G||null!=w&&(w.getTime&&G.getTime?w.getTime()>=G.getTime():w>=G),is:(w,G,O)=>this.filters.equals(w,G,O),isNot:(w,G,O)=>this.filters.notEquals(w,G,O),before:(w,G,O)=>this.filters.lt(w,G,O),after:(w,G,O)=>this.filters.gt(w,G,O),dateIs:(w,G)=>null==G||null!=w&&w.toDateString()===G.toDateString(),dateIsNot:(w,G)=>null==G||null!=w&&w.toDateString()!==G.toDateString(),dateBefore:(w,G)=>null==G||null!=w&&w.getTime()null==G||null!=w&&w.getTime()>G.getTime()};register(w,G){this.filters[w]=G}static \u0275fac=function(G){return new(G||_)};static \u0275prov=M.jDH({token:_,factory:_.\u0275fac,providedIn:"root"})}return _})(),te=(()=>{class _{clickSource=new e.B;clickObservable=this.clickSource.asObservable();add(w){w&&this.clickSource.next(w)}static \u0275fac=function(G){return new(G||_)};static \u0275prov=M.jDH({token:_,factory:_.\u0275fac,providedIn:"root"})}return _})(),E=(()=>{class _{ripple=!1;inputStyle="outlined";overlayOptions={};filterMatchModeOptions={text:[le.STARTS_WITH,le.CONTAINS,le.NOT_CONTAINS,le.ENDS_WITH,le.EQUALS,le.NOT_EQUALS],numeric:[le.EQUALS,le.NOT_EQUALS,le.LESS_THAN,le.LESS_THAN_OR_EQUAL_TO,le.GREATER_THAN,le.GREATER_THAN_OR_EQUAL_TO],date:[le.DATE_IS,le.DATE_IS_NOT,le.DATE_BEFORE,le.DATE_AFTER]};translation={startsWith:"Starts with",contains:"Contains",notContains:"Not contains",endsWith:"Ends with",equals:"Equals",notEquals:"Not equals",noFilter:"No Filter",lt:"Less than",lte:"Less than or equal to",gt:"Greater than",gte:"Greater than or equal to",is:"Is",isNot:"Is not",before:"Before",after:"After",dateIs:"Date is",dateIsNot:"Date is not",dateBefore:"Date is before",dateAfter:"Date is after",clear:"Clear",apply:"Apply",matchAll:"Match All",matchAny:"Match Any",addRule:"Add Rule",removeRule:"Remove Rule",accept:"Yes",reject:"No",choose:"Choose",upload:"Upload",cancel:"Cancel",pending:"Pending",fileSizeTypes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],chooseYear:"Choose Year",chooseMonth:"Choose Month",chooseDate:"Choose Date",prevDecade:"Previous Decade",nextDecade:"Next Decade",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",prevHour:"Previous Hour",nextHour:"Next Hour",prevMinute:"Previous Minute",nextMinute:"Next Minute",prevSecond:"Previous Second",nextSecond:"Next Second",am:"am",pm:"pm",dateFormat:"mm/dd/yy",firstDayOfWeek:0,today:"Today",weekHeader:"Wk",weak:"Weak",medium:"Medium",strong:"Strong",passwordPrompt:"Enter a password",emptyMessage:"No results found",searchMessage:"{0} results are available",selectionMessage:"{0} items selected",emptySelectionMessage:"No selected item",emptySearchMessage:"No results found",emptyFilterMessage:"No results found",aria:{trueLabel:"True",falseLabel:"False",nullLabel:"Not Selected",star:"1 star",stars:"{star} stars",selectAll:"All items selected",unselectAll:"All items unselected",close:"Close",previous:"Previous",next:"Next",navigation:"Navigation",scrollTop:"Scroll Top",moveTop:"Move Top",moveUp:"Move Up",moveDown:"Move Down",moveBottom:"Move Bottom",moveToTarget:"Move to Target",moveToSource:"Move to Source",moveAllToTarget:"Move All to Target",moveAllToSource:"Move All to Source",pageLabel:"{page}",firstPageLabel:"First Page",lastPageLabel:"Last Page",nextPageLabel:"Next Page",prevPageLabel:"Previous Page",rowsPerPageLabel:"Rows per page",previousPageLabel:"Previous Page",jumpToPageDropdownLabel:"Jump to Page Dropdown",jumpToPageInputLabel:"Jump to Page Input",selectRow:"Row Selected",unselectRow:"Row Unselected",expandRow:"Row Expanded",collapseRow:"Row Collapsed",showFilterMenu:"Show Filter Menu",hideFilterMenu:"Hide Filter Menu",filterOperator:"Filter Operator",filterConstraint:"Filter Constraint",editRow:"Row Edit",saveEdit:"Save Edit",cancelEdit:"Cancel Edit",listView:"List View",gridView:"Grid View",slide:"Slide",slideNumber:"{slideNumber}",zoomImage:"Zoom Image",zoomIn:"Zoom In",zoomOut:"Zoom Out",rotateRight:"Rotate Right",rotateLeft:"Rotate Left",listLabel:"Option List",selectColor:"Select a color",removeLabel:"Remove"}};zIndex={modal:1100,overlay:1e3,menu:1e3,tooltip:1100};translationSource=new e.B;translationObserver=this.translationSource.asObservable();getTranslation(w){return this.translation[w]}setTranslation(w){this.translation={...this.translation,...w},this.translationSource.next(this.translation)}static \u0275fac=function(G){return new(G||_)};static \u0275prov=M.jDH({token:_,factory:_.\u0275fac,providedIn:"root"})}return _})(),j=(()=>{class _{static \u0275fac=function(G){return new(G||_)};static \u0275cmp=M.VBU({type:_,selectors:[["p-header"]],ngContentSelectors:q,decls:1,vars:0,template:function(G,O){1&G&&(M.NAR(),M.SdG(0))},encapsulation:2})}return _})(),F=(()=>{class _{static \u0275fac=function(G){return new(G||_)};static \u0275cmp=M.VBU({type:_,selectors:[["p-footer"]],ngContentSelectors:q,decls:1,vars:0,template:function(G,O){1&G&&(M.NAR(),M.SdG(0))},encapsulation:2})}return _})(),P=(()=>{class _{template;type;name;constructor(w){this.template=w}getType(){return this.name}static \u0275fac=function(G){return new(G||_)(M.rXU(M.C4Q))};static \u0275dir=M.FsC({type:_,selectors:[["","pTemplate",""]],inputs:{type:"type",name:[M.Mj6.None,"pTemplate","name"]}})}return _})(),D=(()=>{class _{static \u0275fac=function(G){return new(G||_)};static \u0275mod=M.$C({type:_});static \u0275inj=M.G2t({imports:[Le.MD]})}return _})(),A=(()=>class _{static STARTS_WITH="startsWith";static CONTAINS="contains";static NOT_CONTAINS="notContains";static ENDS_WITH="endsWith";static EQUALS="equals";static NOT_EQUALS="notEquals";static NO_FILTER="noFilter";static LT="lt";static LTE="lte";static GT="gt";static GTE="gte";static IS="is";static IS_NOT="isNot";static BEFORE="before";static AFTER="after";static CLEAR="clear";static APPLY="apply";static MATCH_ALL="matchAll";static MATCH_ANY="matchAny";static ADD_RULE="addRule";static REMOVE_RULE="removeRule";static ACCEPT="accept";static REJECT="reject";static CHOOSE="choose";static UPLOAD="upload";static CANCEL="cancel";static PENDING="pending";static FILE_SIZE_TYPES="fileSizeTypes";static DAY_NAMES="dayNames";static DAY_NAMES_SHORT="dayNamesShort";static DAY_NAMES_MIN="dayNamesMin";static MONTH_NAMES="monthNames";static MONTH_NAMES_SHORT="monthNamesShort";static FIRST_DAY_OF_WEEK="firstDayOfWeek";static TODAY="today";static WEEK_HEADER="weekHeader";static WEAK="weak";static MEDIUM="medium";static STRONG="strong";static PASSWORD_PROMPT="passwordPrompt";static EMPTY_MESSAGE="emptyMessage";static EMPTY_FILTER_MESSAGE="emptyFilterMessage";static SHOW_FILTER_MENU="showFilterMenu";static HIDE_FILTER_MENU="hideFilterMenu";static SELECTION_MESSAGE="selectionMessage";static ARIA="aria";static SELECT_COLOR="selectColor"})()},461:(ri,Bt,We)=>{"use strict";We.d(Bt,{h:()=>Le});var M=We(54438),e=We(54420);const V=["*"];let Le=(()=>{class q{label;spin=!1;styleClass;role;ariaLabel;ariaHidden;ngOnInit(){this.getAttributes()}getAttributes(){const re=e.BF.isEmpty(this.label);this.role=re?void 0:"img",this.ariaLabel=re?void 0:this.label,this.ariaHidden=re}getClassNames(){return`p-icon ${this.styleClass?this.styleClass+" ":""}${this.spin?"p-icon-spin":""}`}static \u0275fac=function(ve){return new(ve||q)};static \u0275cmp=M.VBU({type:q,selectors:[["ng-component"]],hostAttrs:[1,"p-element","p-icon-wrapper"],inputs:{label:"label",spin:"spin",styleClass:"styleClass"},standalone:!0,features:[M.aNF],ngContentSelectors:V,decls:1,vars:0,template:function(ve,le){1&ve&&(M.NAR(),M.SdG(0))},encapsulation:2,changeDetection:0})}return q})()},81141:(ri,Bt,We)=>{"use strict";We.d(Bt,{_f:()=>G,tm:()=>f});var M=We(60177),e=We(54438),V=We(5779),Le=We(81455),q=We(38757),ne=We(10563),re=We(54420);const w={button:"p-button",component:"p-component",iconOnly:"p-button-icon-only",disabled:"p-disabled",loading:"p-button-loading",labelOnly:"p-button-loading-label-only"};let G=(()=>{class a{el;document;iconPos="left";loadingIcon;get label(){return this._label}set label(v){this._label=v,this.initialized&&(this.updateLabel(),this.updateIcon(),this.setStyleClass())}get icon(){return this._icon}set icon(v){this._icon=v,this.initialized&&(this.updateIcon(),this.setStyleClass())}get loading(){return this._loading}set loading(v){this._loading=v,this.initialized&&(this.updateIcon(),this.setStyleClass())}_label;_icon;_loading=!1;initialized;get htmlElement(){return this.el.nativeElement}_internalClasses=Object.values(w);spinnerIcon='\n \n \n \n \n \n \n \n \n ';constructor(v,o){this.el=v,this.document=o}ngAfterViewInit(){Le.D.addMultipleClasses(this.htmlElement,this.getStyleClass().join(" ")),this.createIcon(),this.createLabel(),this.initialized=!0}getStyleClass(){const v=[w.button,w.component];return this.icon&&!this.label&&re.BF.isEmpty(this.htmlElement.textContent)&&v.push(w.iconOnly),this.loading&&(v.push(w.disabled,w.loading),!this.icon&&this.label&&v.push(w.labelOnly),this.icon&&!this.label&&!re.BF.isEmpty(this.htmlElement.textContent)&&v.push(w.iconOnly)),v}setStyleClass(){const v=this.getStyleClass();this.htmlElement.classList.remove(...this._internalClasses),this.htmlElement.classList.add(...v)}createLabel(){if(!Le.D.findSingle(this.htmlElement,".p-button-label")&&this.label){let o=this.document.createElement("span");this.icon&&!this.label&&o.setAttribute("aria-hidden","true"),o.className="p-button-label",o.appendChild(this.document.createTextNode(this.label)),this.htmlElement.appendChild(o)}}createIcon(){if(!Le.D.findSingle(this.htmlElement,".p-button-icon")&&(this.icon||this.loading)){let o=this.document.createElement("span");o.className="p-button-icon",o.setAttribute("aria-hidden","true");let n=this.label?"p-button-icon-"+this.iconPos:null;n&&Le.D.addClass(o,n);let r=this.getIconClass();r&&Le.D.addMultipleClasses(o,r),!this.loadingIcon&&this.loading&&(o.innerHTML=this.spinnerIcon),this.htmlElement.insertBefore(o,this.htmlElement.firstChild)}}updateLabel(){let v=Le.D.findSingle(this.htmlElement,".p-button-label");this.label?v?v.textContent=this.label:this.createLabel():v&&this.htmlElement.removeChild(v)}updateIcon(){let v=Le.D.findSingle(this.htmlElement,".p-button-icon"),o=Le.D.findSingle(this.htmlElement,".p-button-label");this.loading&&!this.loadingIcon&&v?v.innerHTML=this.spinnerIcon:v?.innerHTML&&(v.innerHTML=""),v?v.className=this.iconPos?"p-button-icon "+(o?"p-button-icon-"+this.iconPos:"")+" "+this.getIconClass():"p-button-icon "+this.getIconClass():this.createIcon()}getIconClass(){return this.loading?"p-button-loading-icon "+(this.loadingIcon?this.loadingIcon:"p-icon"):this.icon||"p-hidden"}ngOnDestroy(){this.initialized=!1}static \u0275fac=function(o){return new(o||a)(e.rXU(e.aKT),e.rXU(M.qQ))};static \u0275dir=e.FsC({type:a,selectors:[["","pButton",""]],hostAttrs:[1,"p-element"],inputs:{iconPos:"iconPos",loadingIcon:"loadingIcon",label:"label",icon:"icon",loading:"loading"}})}return a})(),f=(()=>{class a{static \u0275fac=function(o){return new(o||a)};static \u0275mod=e.$C({type:a});static \u0275inj=e.G2t({imports:[M.MD,ne.Z,V.Gg,q.N,V.Gg]})}return a})()},41570:(ri,Bt,We)=>{"use strict";We.d(Bt,{l:()=>Be,P:()=>oe});var M=We(49969),e=We(60177),V=We(54438),Le=We(5779),q=We(81455);let ne=(()=>{class ee{pFocusTrapDisabled=!1;host=(0,V.WQX)(V.aKT);onkeydown(xe){if(!0!==this.pFocusTrapDisabled){xe.preventDefault();const Ie=q.D.getNextFocusableElement(this.host.nativeElement,xe.shiftKey);Ie&&(Ie.focus(),Ie.select?.())}}static \u0275fac=function(Ie){return new(Ie||ee)};static \u0275dir=V.FsC({type:ee,selectors:[["","pFocusTrap",""]],hostAttrs:[1,"p-element"],hostBindings:function(Ie,we){1&Ie&&V.bIt("keydown.tab",function(Me){return we.onkeydown(Me)})("keydown.shift.tab",function(Me){return we.onkeydown(Me)})},inputs:{pFocusTrapDisabled:"pFocusTrapDisabled"}})}return ee})(),re=(()=>{class ee{static \u0275fac=function(Ie){return new(Ie||ee)};static \u0275mod=V.$C({type:ee});static \u0275inj=V.G2t({imports:[e.MD]})}return ee})();var ve=We(1512),le=We(461),pe=We(54420);let ue=(()=>{class ee extends le.h{pathId;ngOnInit(){this.pathId="url(#"+(0,pe._Y)()+")"}static \u0275fac=(()=>{let xe;return function(we){return(xe||(xe=V.xGo(ee)))(we||ee)}})();static \u0275cmp=V.VBU({type:ee,selectors:[["WindowMaximizeIcon"]],standalone:!0,features:[V.Vt3,V.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M7 14H11.8C12.3835 14 12.9431 13.7682 13.3556 13.3556C13.7682 12.9431 14 12.3835 14 11.8V2.2C14 1.61652 13.7682 1.05694 13.3556 0.644365C12.9431 0.231785 12.3835 0 11.8 0H2.2C1.61652 0 1.05694 0.231785 0.644365 0.644365C0.231785 1.05694 0 1.61652 0 2.2V7C0 7.15913 0.063214 7.31174 0.175736 7.42426C0.288258 7.53679 0.44087 7.6 0.6 7.6C0.75913 7.6 0.911742 7.53679 1.02426 7.42426C1.13679 7.31174 1.2 7.15913 1.2 7V2.2C1.2 1.93478 1.30536 1.68043 1.49289 1.49289C1.68043 1.30536 1.93478 1.2 2.2 1.2H11.8C12.0652 1.2 12.3196 1.30536 12.5071 1.49289C12.6946 1.68043 12.8 1.93478 12.8 2.2V11.8C12.8 12.0652 12.6946 12.3196 12.5071 12.5071C12.3196 12.6946 12.0652 12.8 11.8 12.8H7C6.84087 12.8 6.68826 12.8632 6.57574 12.9757C6.46321 13.0883 6.4 13.2409 6.4 13.4C6.4 13.5591 6.46321 13.7117 6.57574 13.8243C6.68826 13.9368 6.84087 14 7 14ZM9.77805 7.42192C9.89013 7.534 10.0415 7.59788 10.2 7.59995C10.3585 7.59788 10.5099 7.534 10.622 7.42192C10.7341 7.30985 10.798 7.15844 10.8 6.99995V3.94242C10.8066 3.90505 10.8096 3.86689 10.8089 3.82843C10.8079 3.77159 10.7988 3.7157 10.7824 3.6623C10.756 3.55552 10.701 3.45698 10.622 3.37798C10.5099 3.2659 10.3585 3.20202 10.2 3.19995H7.00002C6.84089 3.19995 6.68828 3.26317 6.57576 3.37569C6.46324 3.48821 6.40002 3.64082 6.40002 3.79995C6.40002 3.95908 6.46324 4.11169 6.57576 4.22422C6.68828 4.33674 6.84089 4.39995 7.00002 4.39995H8.80006L6.19997 7.00005C6.10158 7.11005 6.04718 7.25246 6.04718 7.40005C6.04718 7.54763 6.10158 7.69004 6.19997 7.80005C6.30202 7.91645 6.44561 7.98824 6.59997 8.00005C6.75432 7.98824 6.89791 7.91645 6.99997 7.80005L9.60002 5.26841V6.99995C9.6021 7.15844 9.66598 7.30985 9.77805 7.42192ZM1.4 14H3.8C4.17066 13.9979 4.52553 13.8498 4.78763 13.5877C5.04973 13.3256 5.1979 12.9707 5.2 12.6V10.2C5.1979 9.82939 5.04973 9.47452 4.78763 9.21242C4.52553 8.95032 4.17066 8.80215 3.8 8.80005H1.4C1.02934 8.80215 0.674468 8.95032 0.412371 9.21242C0.150274 9.47452 0.00210008 9.82939 0 10.2V12.6C0.00210008 12.9707 0.150274 13.3256 0.412371 13.5877C0.674468 13.8498 1.02934 13.9979 1.4 14ZM1.25858 10.0586C1.29609 10.0211 1.34696 10 1.4 10H3.8C3.85304 10 3.90391 10.0211 3.94142 10.0586C3.97893 10.0961 4 10.147 4 10.2V12.6C4 12.6531 3.97893 12.704 3.94142 12.7415C3.90391 12.779 3.85304 12.8 3.8 12.8H1.4C1.34696 12.8 1.29609 12.779 1.25858 12.7415C1.22107 12.704 1.2 12.6531 1.2 12.6V10.2C1.2 10.147 1.22107 10.0961 1.25858 10.0586Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(Ie,we){1&Ie&&(V.qSk(),V.j41(0,"svg",0)(1,"g"),V.nrm(2,"path",1),V.k0s(),V.j41(3,"defs")(4,"clipPath",2),V.nrm(5,"rect",3),V.k0s()()()),2&Ie&&(V.HbH(we.getClassNames()),V.BMQ("aria-label",we.ariaLabel)("aria-hidden",we.ariaHidden)("role",we.role),V.R7$(),V.BMQ("clip-path",we.pathId),V.R7$(3),V.Y8G("id",we.pathId))},encapsulation:2})}return ee})(),J=(()=>{class ee extends le.h{pathId;ngOnInit(){this.pathId="url(#"+(0,pe._Y)()+")"}static \u0275fac=(()=>{let xe;return function(we){return(xe||(xe=V.xGo(ee)))(we||ee)}})();static \u0275cmp=V.VBU({type:ee,selectors:[["WindowMinimizeIcon"]],standalone:!0,features:[V.Vt3,V.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M11.8 0H2.2C1.61652 0 1.05694 0.231785 0.644365 0.644365C0.231785 1.05694 0 1.61652 0 2.2V7C0 7.15913 0.063214 7.31174 0.175736 7.42426C0.288258 7.53679 0.44087 7.6 0.6 7.6C0.75913 7.6 0.911742 7.53679 1.02426 7.42426C1.13679 7.31174 1.2 7.15913 1.2 7V2.2C1.2 1.93478 1.30536 1.68043 1.49289 1.49289C1.68043 1.30536 1.93478 1.2 2.2 1.2H11.8C12.0652 1.2 12.3196 1.30536 12.5071 1.49289C12.6946 1.68043 12.8 1.93478 12.8 2.2V11.8C12.8 12.0652 12.6946 12.3196 12.5071 12.5071C12.3196 12.6946 12.0652 12.8 11.8 12.8H7C6.84087 12.8 6.68826 12.8632 6.57574 12.9757C6.46321 13.0883 6.4 13.2409 6.4 13.4C6.4 13.5591 6.46321 13.7117 6.57574 13.8243C6.68826 13.9368 6.84087 14 7 14H11.8C12.3835 14 12.9431 13.7682 13.3556 13.3556C13.7682 12.9431 14 12.3835 14 11.8V2.2C14 1.61652 13.7682 1.05694 13.3556 0.644365C12.9431 0.231785 12.3835 0 11.8 0ZM6.368 7.952C6.44137 7.98326 6.52025 7.99958 6.6 8H9.8C9.95913 8 10.1117 7.93678 10.2243 7.82426C10.3368 7.71174 10.4 7.55913 10.4 7.4C10.4 7.24087 10.3368 7.08826 10.2243 6.97574C10.1117 6.86321 9.95913 6.8 9.8 6.8H8.048L10.624 4.224C10.73 4.11026 10.7877 3.95982 10.7849 3.80438C10.7822 3.64894 10.7192 3.50063 10.6093 3.3907C10.4994 3.28077 10.3511 3.2178 10.1956 3.21506C10.0402 3.21232 9.88974 3.27002 9.776 3.376L7.2 5.952V4.2C7.2 4.04087 7.13679 3.88826 7.02426 3.77574C6.91174 3.66321 6.75913 3.6 6.6 3.6C6.44087 3.6 6.28826 3.66321 6.17574 3.77574C6.06321 3.88826 6 4.04087 6 4.2V7.4C6.00042 7.47975 6.01674 7.55862 6.048 7.632C6.07656 7.70442 6.11971 7.7702 6.17475 7.82524C6.2298 7.88029 6.29558 7.92344 6.368 7.952ZM1.4 8.80005H3.8C4.17066 8.80215 4.52553 8.95032 4.78763 9.21242C5.04973 9.47452 5.1979 9.82939 5.2 10.2V12.6C5.1979 12.9707 5.04973 13.3256 4.78763 13.5877C4.52553 13.8498 4.17066 13.9979 3.8 14H1.4C1.02934 13.9979 0.674468 13.8498 0.412371 13.5877C0.150274 13.3256 0.00210008 12.9707 0 12.6V10.2C0.00210008 9.82939 0.150274 9.47452 0.412371 9.21242C0.674468 8.95032 1.02934 8.80215 1.4 8.80005ZM3.94142 12.7415C3.97893 12.704 4 12.6531 4 12.6V10.2C4 10.147 3.97893 10.0961 3.94142 10.0586C3.90391 10.0211 3.85304 10 3.8 10H1.4C1.34696 10 1.29609 10.0211 1.25858 10.0586C1.22107 10.0961 1.2 10.147 1.2 10.2V12.6C1.2 12.6531 1.22107 12.704 1.25858 12.7415C1.29609 12.779 1.34696 12.8 1.4 12.8H3.8C3.85304 12.8 3.90391 12.779 3.94142 12.7415Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(Ie,we){1&Ie&&(V.qSk(),V.j41(0,"svg",0)(1,"g"),V.nrm(2,"path",1),V.k0s(),V.j41(3,"defs")(4,"clipPath",2),V.nrm(5,"rect",3),V.k0s()()()),2&Ie&&(V.HbH(we.getClassNames()),V.BMQ("aria-label",we.ariaLabel)("aria-hidden",we.ariaHidden)("role",we.role),V.R7$(),V.BMQ("clip-path",we.pathId),V.R7$(3),V.Y8G("id",we.pathId))},encapsulation:2})}return ee})();var te=We(10563),X=We(81141);const E=["titlebar"],j=["content"],F=["footer"],P=["*",[["p-header"]],[["p-footer"]]],D=["*","p-header","p-footer"],A=(ee,be,xe,Ie,we,Ee,Me,Xe,Je,lt)=>({"p-dialog-mask":!0,"p-component-overlay p-component-overlay-enter":ee,"p-dialog-mask-scrollblocker":be,"p-dialog-left":xe,"p-dialog-right":Ie,"p-dialog-top":we,"p-dialog-top-left":Ee,"p-dialog-top-right":Me,"p-dialog-bottom":Xe,"p-dialog-bottom-left":Je,"p-dialog-bottom-right":lt}),I=(ee,be,xe,Ie)=>({"p-dialog p-component":!0,"p-dialog-rtl":ee,"p-dialog-draggable":be,"p-dialog-resizable":xe,"p-dialog-maximized":Ie}),_=(ee,be)=>({transform:ee,transition:be}),m=ee=>({value:"visible",params:ee}),w=()=>({"p-dialog-header-icon p-dialog-header-maximize p-link":!0}),G=()=>({"p-dialog-header-icon p-dialog-header-close p-link":!0});function O(ee,be){1&ee&&V.eu8(0)}function f(ee,be){if(1&ee&&(V.qex(0),V.DNE(1,O,1,0,"ng-container",10),V.bVm()),2&ee){const xe=V.XpG(3);V.R7$(),V.Y8G("ngTemplateOutlet",xe.headlessTemplate)}}function a(ee,be){if(1&ee){const xe=V.RV6();V.j41(0,"div",15),V.bIt("mousedown",function(we){V.eBV(xe);const Ee=V.XpG(4);return V.Njj(Ee.initResize(we))}),V.k0s()}}function g(ee,be){if(1&ee&&(V.j41(0,"span",21),V.EFF(1),V.k0s()),2&ee){const xe=V.XpG(5);V.Y8G("id",xe.getAriaLabelledBy()),V.R7$(),V.JRh(xe.header)}}function v(ee,be){if(1&ee&&(V.j41(0,"span",21),V.SdG(1,1),V.k0s()),2&ee){const xe=V.XpG(5);V.Y8G("id",xe.getAriaLabelledBy())}}function o(ee,be){1&ee&&V.eu8(0)}function n(ee,be){if(1&ee&&V.nrm(0,"span",25),2&ee){const xe=V.XpG(6);V.Y8G("ngClass",xe.maximized?xe.minimizeIcon:xe.maximizeIcon)}}function r(ee,be){1&ee&&V.nrm(0,"WindowMaximizeIcon",27),2&ee&&V.Y8G("styleClass","p-dialog-header-maximize-icon")}function l(ee,be){1&ee&&V.nrm(0,"WindowMinimizeIcon",27),2&ee&&V.Y8G("styleClass","p-dialog-header-maximize-icon")}function d(ee,be){if(1&ee&&(V.qex(0),V.DNE(1,r,1,1,"WindowMaximizeIcon",26)(2,l,1,1,"WindowMinimizeIcon",26),V.bVm()),2&ee){const xe=V.XpG(6);V.R7$(),V.Y8G("ngIf",!xe.maximized&&!xe.maximizeIconTemplate),V.R7$(),V.Y8G("ngIf",xe.maximized&&!xe.minimizeIconTemplate)}}function C(ee,be){}function k(ee,be){1&ee&&V.DNE(0,C,0,0,"ng-template")}function p(ee,be){if(1&ee&&(V.qex(0),V.DNE(1,k,1,0,null,10),V.bVm()),2&ee){const xe=V.XpG(6);V.R7$(),V.Y8G("ngTemplateOutlet",xe.maximizeIconTemplate)}}function T(ee,be){}function B(ee,be){1&ee&&V.DNE(0,T,0,0,"ng-template")}function z(ee,be){if(1&ee&&(V.qex(0),V.DNE(1,B,1,0,null,10),V.bVm()),2&ee){const xe=V.XpG(6);V.R7$(),V.Y8G("ngTemplateOutlet",xe.minimizeIconTemplate)}}function K(ee,be){if(1&ee){const xe=V.RV6();V.j41(0,"button",22),V.bIt("click",function(){V.eBV(xe);const we=V.XpG(5);return V.Njj(we.maximize())})("keydown.enter",function(){V.eBV(xe);const we=V.XpG(5);return V.Njj(we.maximize())}),V.DNE(1,n,1,1,"span",23)(2,d,3,2,"ng-container",24)(3,p,2,1,"ng-container",24)(4,z,2,1,"ng-container",24),V.k0s()}if(2&ee){const xe=V.XpG(5);V.Y8G("ngClass",V.lJ4(6,w)),V.BMQ("tabindex",xe.maximizable?"0":"-1"),V.R7$(),V.Y8G("ngIf",xe.maximizeIcon&&!xe.maximizeIconTemplate&&!xe.minimizeIconTemplate),V.R7$(),V.Y8G("ngIf",!xe.maximizeIcon),V.R7$(),V.Y8G("ngIf",!xe.maximized),V.R7$(),V.Y8G("ngIf",xe.maximized)}}function U(ee,be){if(1&ee&&V.nrm(0,"span",30),2&ee){const xe=V.XpG(7);V.Y8G("ngClass",xe.closeIcon)}}function se(ee,be){1&ee&&V.nrm(0,"TimesIcon",27),2&ee&&V.Y8G("styleClass","p-dialog-header-close-icon")}function S(ee,be){if(1&ee&&(V.qex(0),V.DNE(1,U,1,1,"span",29)(2,se,1,1,"TimesIcon",26),V.bVm()),2&ee){const xe=V.XpG(6);V.R7$(),V.Y8G("ngIf",xe.closeIcon),V.R7$(),V.Y8G("ngIf",!xe.closeIcon)}}function $(ee,be){}function H(ee,be){1&ee&&V.DNE(0,$,0,0,"ng-template")}function x(ee,be){if(1&ee&&(V.j41(0,"span"),V.DNE(1,H,1,0,null,10),V.k0s()),2&ee){const xe=V.XpG(6);V.R7$(),V.Y8G("ngTemplateOutlet",xe.closeIconTemplate)}}function N(ee,be){if(1&ee){const xe=V.RV6();V.j41(0,"button",28),V.bIt("click",function(we){V.eBV(xe);const Ee=V.XpG(5);return V.Njj(Ee.close(we))})("keydown.enter",function(we){V.eBV(xe);const Ee=V.XpG(5);return V.Njj(Ee.close(we))}),V.DNE(1,S,3,2,"ng-container",24)(2,x,2,1,"span",24),V.k0s()}if(2&ee){const xe=V.XpG(5);V.Y8G("ngClass",V.lJ4(5,G)),V.BMQ("aria-label",xe.closeAriaLabel)("tabindex",xe.closeTabindex),V.R7$(),V.Y8G("ngIf",!xe.closeIconTemplate),V.R7$(),V.Y8G("ngIf",xe.closeIconTemplate)}}function R(ee,be){if(1&ee){const xe=V.RV6();V.j41(0,"div",16,3),V.bIt("mousedown",function(we){V.eBV(xe);const Ee=V.XpG(4);return V.Njj(Ee.initDrag(we))}),V.DNE(2,g,2,2,"span",17)(3,v,2,1,"span",17)(4,o,1,0,"ng-container",10),V.j41(5,"div",18),V.DNE(6,K,5,7,"button",19)(7,N,3,6,"button",20),V.k0s()()}if(2&ee){const xe=V.XpG(4);V.R7$(2),V.Y8G("ngIf",!xe.headerFacet&&!xe.headerTemplate),V.R7$(),V.Y8G("ngIf",xe.headerFacet),V.R7$(),V.Y8G("ngTemplateOutlet",xe.headerTemplate),V.R7$(2),V.Y8G("ngIf",xe.maximizable),V.R7$(),V.Y8G("ngIf",xe.closable)}}function Z(ee,be){1&ee&&V.eu8(0)}function Y(ee,be){1&ee&&V.eu8(0)}function he(ee,be){if(1&ee&&(V.j41(0,"div",31,4),V.SdG(2,2),V.DNE(3,Y,1,0,"ng-container",10),V.k0s()),2&ee){const xe=V.XpG(4);V.R7$(3),V.Y8G("ngTemplateOutlet",xe.footerTemplate)}}function ge(ee,be){if(1&ee&&(V.DNE(0,a,1,0,"div",11)(1,R,8,5,"div",12),V.j41(2,"div",13,2),V.SdG(4),V.DNE(5,Z,1,0,"ng-container",10),V.k0s(),V.DNE(6,he,4,1,"div",14)),2&ee){const xe=V.XpG(3);V.Y8G("ngIf",xe.resizable),V.R7$(),V.Y8G("ngIf",xe.showHeader),V.R7$(),V.HbH(xe.contentStyleClass),V.Y8G("ngClass","p-dialog-content")("ngStyle",xe.contentStyle),V.R7$(3),V.Y8G("ngTemplateOutlet",xe.contentTemplate),V.R7$(),V.Y8G("ngIf",xe.footerFacet||xe.footerTemplate)}}function _e(ee,be){if(1&ee){const xe=V.RV6();V.j41(0,"div",8,0),V.bIt("@animation.start",function(we){V.eBV(xe);const Ee=V.XpG(2);return V.Njj(Ee.onAnimationStart(we))})("@animation.done",function(we){V.eBV(xe);const Ee=V.XpG(2);return V.Njj(Ee.onAnimationEnd(we))}),V.DNE(2,f,2,1,"ng-container",9)(3,ge,7,8,"ng-template",null,1,V.C5r),V.k0s()}if(2&ee){const xe=V.sdS(4),Ie=V.XpG(2);V.HbH(Ie.styleClass),V.Y8G("ngClass",V.ziG(10,I,Ie.rtl,Ie.draggable,Ie.resizable,Ie.maximized))("ngStyle",Ie.style)("pFocusTrapDisabled",!1===Ie.focusTrap)("@animation",V.eq3(18,m,V.l_i(15,_,Ie.transformOptions,Ie.transitionOptions))),V.BMQ("aria-labelledby",Ie.ariaLabelledBy)("aria-modal",!0),V.R7$(2),V.Y8G("ngIf",Ie.headlessTemplate)("ngIfElse",xe)}}function Te(ee,be){if(1&ee){const xe=V.RV6();V.j41(0,"div",6),V.bIt("focus",function(we){V.eBV(xe);const Ee=V.XpG();return V.Njj(Ee.containerFocus(we))}),V.DNE(1,_e,5,20,"div",7),V.k0s()}if(2&ee){const xe=V.XpG();V.Aen(xe.maskStyle),V.HbH(xe.maskStyleClass),V.Y8G("ngClass",V.zJS(6,A,[xe.modal,xe.modal||xe.blockScroll,"left"===xe.position,"right"===xe.position,"top"===xe.position,"topleft"===xe.position||"top-left"===xe.position,"topright"===xe.position||"top-right"===xe.position,"bottom"===xe.position,"bottomleft"===xe.position||"bottom-left"===xe.position,"bottomright"===xe.position||"bottom-right"===xe.position])),V.R7$(),V.Y8G("ngIf",xe.visible)}}const Oe=(0,M.lY)([(0,M.iF)({transform:"{{transform}}",opacity:0}),(0,M.i0)("{{transition}}")]),De=(0,M.lY)([(0,M.i0)("{{transition}}",(0,M.iF)({transform:"{{transform}}",opacity:0}))]);let Be=(()=>{class ee{document;platformId;el;renderer;zone;cd;config;header;draggable=!0;resizable=!0;get positionLeft(){return 0}set positionLeft(xe){console.log("positionLeft property is deprecated.")}get positionTop(){return 0}set positionTop(xe){console.log("positionTop property is deprecated.")}contentStyle;contentStyleClass;modal=!1;closeOnEscape=!0;dismissableMask=!1;rtl=!1;closable=!0;get responsive(){return!1}set responsive(xe){console.log("Responsive property is deprecated.")}appendTo;breakpoints;styleClass;maskStyleClass;maskStyle;showHeader=!0;get breakpoint(){return 649}set breakpoint(xe){console.log("Breakpoint property is not utilized and deprecated, use breakpoints or CSS media queries instead.")}blockScroll=!1;autoZIndex=!0;baseZIndex=0;minX=0;minY=0;focusOnShow=!0;maximizable=!1;keepInViewport=!0;focusTrap=!0;transitionOptions="150ms cubic-bezier(0, 0, 0.2, 1)";closeIcon;closeAriaLabel;closeTabindex="0";minimizeIcon;maximizeIcon;get visible(){return this._visible}set visible(xe){this._visible=xe,this._visible&&!this.maskVisible&&(this.maskVisible=!0)}get style(){return this._style}set style(xe){xe&&(this._style={...xe},this.originalStyle=xe)}get position(){return this._position}set position(xe){switch(this._position=xe,xe){case"topleft":case"bottomleft":case"left":this.transformOptions="translate3d(-100%, 0px, 0px)";break;case"topright":case"bottomright":case"right":this.transformOptions="translate3d(100%, 0px, 0px)";break;case"bottom":this.transformOptions="translate3d(0px, 100%, 0px)";break;case"top":this.transformOptions="translate3d(0px, -100%, 0px)";break;default:this.transformOptions="scale(0.7)"}}onShow=new V.bkB;onHide=new V.bkB;visibleChange=new V.bkB;onResizeInit=new V.bkB;onResizeEnd=new V.bkB;onDragEnd=new V.bkB;onMaximize=new V.bkB;headerFacet;footerFacet;templates;headerViewChild;contentViewChild;footerViewChild;headerTemplate;contentTemplate;footerTemplate;maximizeIconTemplate;closeIconTemplate;minimizeIconTemplate;headlessTemplate;_visible=!1;maskVisible;container;wrapper;dragging;ariaLabelledBy;documentDragListener;documentDragEndListener;resizing;documentResizeListener;documentResizeEndListener;documentEscapeListener;maskClickListener;lastPageX;lastPageY;preventVisibleChangePropagation;maximized;preMaximizeContentHeight;preMaximizeContainerWidth;preMaximizeContainerHeight;preMaximizePageX;preMaximizePageY;id=(0,pe._Y)();_style={};_position="center";originalStyle;transformOptions="scale(0.7)";styleElement;window;constructor(xe,Ie,we,Ee,Me,Xe,Je){this.document=xe,this.platformId=Ie,this.el=we,this.renderer=Ee,this.zone=Me,this.cd=Xe,this.config=Je,this.window=this.document.defaultView}ngAfterContentInit(){this.templates?.forEach(xe=>{switch(xe.getType()){case"header":this.headerTemplate=xe.template;break;case"content":default:this.contentTemplate=xe.template;break;case"footer":this.footerTemplate=xe.template;break;case"closeicon":this.closeIconTemplate=xe.template;break;case"maximizeicon":this.maximizeIconTemplate=xe.template;break;case"minimizeicon":this.minimizeIconTemplate=xe.template;break;case"headless":this.headlessTemplate=xe.template}})}ngOnInit(){this.breakpoints&&this.createStyle()}getAriaLabelledBy(){return null!==this.header?(0,pe._Y)()+"_header":null}focus(){let xe=q.D.findSingle(this.container,"[autofocus]");xe&&this.zone.runOutsideAngular(()=>{setTimeout(()=>xe.focus(),5)})}close(xe){this.visibleChange.emit(!1),xe.preventDefault()}enableModality(){this.closable&&this.dismissableMask&&(this.maskClickListener=this.renderer.listen(this.wrapper,"mousedown",xe=>{this.wrapper&&this.wrapper.isSameNode(xe.target)&&this.close(xe)})),this.modal&&q.D.blockBodyScroll()}disableModality(){if(this.wrapper){this.dismissableMask&&this.unbindMaskClickListener();const xe=document.querySelectorAll(".p-dialog-mask-scrollblocker");this.modal&&xe&&1==xe.length&&q.D.unblockBodyScroll(),this.cd.destroyed||this.cd.detectChanges()}}maximize(){this.maximized=!this.maximized,!this.modal&&!this.blockScroll&&(this.maximized?q.D.blockBodyScroll():q.D.unblockBodyScroll()),this.onMaximize.emit({maximized:this.maximized})}unbindMaskClickListener(){this.maskClickListener&&(this.maskClickListener(),this.maskClickListener=null)}moveOnTop(){this.autoZIndex&&(pe.Q$.set("modal",this.container,this.baseZIndex+this.config.zIndex.modal),this.wrapper.style.zIndex=String(parseInt(this.container.style.zIndex,10)-1))}createStyle(){if((0,e.UE)(this.platformId)&&!this.styleElement){this.styleElement=this.renderer.createElement("style"),this.styleElement.type="text/css",this.renderer.appendChild(this.document.head,this.styleElement);let xe="";for(let Ie in this.breakpoints)xe+=`\n @media screen and (max-width: ${Ie}) {\n .p-dialog[${this.id}]:not(.p-dialog-maximized) {\n width: ${this.breakpoints[Ie]} !important;\n }\n }\n `;this.renderer.setProperty(this.styleElement,"innerHTML",xe)}}initDrag(xe){q.D.hasClass(xe.target,"p-dialog-header-icon")||q.D.hasClass(xe.target.parentElement,"p-dialog-header-icon")||this.draggable&&(this.dragging=!0,this.lastPageX=xe.pageX,this.lastPageY=xe.pageY,this.container.style.margin="0",q.D.addClass(this.document.body,"p-unselectable-text"))}onKeydown(xe){if(this.focusTrap&&9===xe.which){xe.preventDefault();let Ie=q.D.getFocusableElements(this.container);if(Ie&&Ie.length>0)if(Ie[0].ownerDocument.activeElement){let we=Ie.indexOf(Ie[0].ownerDocument.activeElement);xe.shiftKey?-1==we||0===we?Ie[Ie.length-1].focus():Ie[we-1].focus():-1==we||we===Ie.length-1?Ie[0].focus():Ie[we+1].focus()}else Ie[0].focus()}}onDrag(xe){if(this.dragging){const Ie=q.D.getOuterWidth(this.container),we=q.D.getOuterHeight(this.container),Ee=xe.pageX-this.lastPageX,Me=xe.pageY-this.lastPageY,Xe=this.container.getBoundingClientRect(),Je=getComputedStyle(this.container),lt=parseFloat(Je.marginLeft),qe=parseFloat(Je.marginTop),st=Xe.left+Ee-lt,Tt=Xe.top+Me-qe,pt=q.D.getViewport();this.container.style.position="fixed",this.keepInViewport?(st>=this.minX&&st+Ie=this.minY&&Tt+weparseInt(qe))&&Tt.left+JeparseInt(st))&&Tt.top+lt{this.documentDragListener=this.renderer.listen(this.window,"mousemove",this.onDrag.bind(this))})}unbindDocumentDragListener(){this.documentDragListener&&(this.documentDragListener(),this.documentDragListener=null)}bindDocumentDragEndListener(){this.documentDragEndListener||this.zone.runOutsideAngular(()=>{this.documentDragEndListener=this.renderer.listen(this.window,"mouseup",this.endDrag.bind(this))})}unbindDocumentDragEndListener(){this.documentDragEndListener&&(this.documentDragEndListener(),this.documentDragEndListener=null)}bindDocumentResizeListeners(){!this.documentResizeListener&&!this.documentResizeEndListener&&this.zone.runOutsideAngular(()=>{this.documentResizeListener=this.renderer.listen(this.window,"mousemove",this.onResize.bind(this)),this.documentResizeEndListener=this.renderer.listen(this.window,"mouseup",this.resizeEnd.bind(this))})}unbindDocumentResizeListeners(){this.documentResizeListener&&this.documentResizeEndListener&&(this.documentResizeListener(),this.documentResizeEndListener(),this.documentResizeListener=null,this.documentResizeEndListener=null)}bindDocumentEscapeListener(){this.documentEscapeListener=this.renderer.listen(this.el?this.el.nativeElement.ownerDocument:"document","keydown",Ie=>{27==Ie.which&&this.close(Ie)})}unbindDocumentEscapeListener(){this.documentEscapeListener&&(this.documentEscapeListener(),this.documentEscapeListener=null)}appendContainer(){this.appendTo&&("body"===this.appendTo?this.renderer.appendChild(this.document.body,this.wrapper):q.D.appendChild(this.wrapper,this.appendTo))}restoreAppend(){this.container&&this.appendTo&&this.renderer.appendChild(this.el.nativeElement,this.wrapper)}onAnimationStart(xe){switch(xe.toState){case"visible":this.container=xe.element,this.wrapper=this.container?.parentElement,this.appendContainer(),this.moveOnTop(),this.bindGlobalListeners(),this.container?.setAttribute(this.id,""),this.modal&&this.enableModality(),!this.modal&&this.blockScroll&&q.D.addClass(this.document.body,"p-overflow-hidden"),this.focusOnShow&&this.focus();break;case"void":this.wrapper&&this.modal&&q.D.addClass(this.wrapper,"p-component-overlay-leave")}}onAnimationEnd(xe){switch(xe.toState){case"void":this.onContainerDestroy(),this.onHide.emit({}),this.cd.markForCheck();break;case"visible":this.onShow.emit({})}}onContainerDestroy(){this.unbindGlobalListeners(),this.dragging=!1,this.maskVisible=!1,this.maximized&&(q.D.removeClass(this.document.body,"p-overflow-hidden"),this.document.body.style.removeProperty("--scrollbar-width"),this.maximized=!1),this.modal&&this.disableModality(),this.blockScroll&&q.D.removeClass(this.document.body,"p-overflow-hidden"),this.container&&this.autoZIndex&&pe.Q$.clear(this.container),this.container=null,this.wrapper=null,this._style=this.originalStyle?{...this.originalStyle}:{}}destroyStyle(){this.styleElement&&(this.renderer.removeChild(this.document.head,this.styleElement),this.styleElement=null)}ngOnDestroy(){this.container&&(this.restoreAppend(),this.onContainerDestroy()),this.destroyStyle()}static \u0275fac=function(Ie){return new(Ie||ee)(V.rXU(e.qQ),V.rXU(V.Agw),V.rXU(V.aKT),V.rXU(V.sFG),V.rXU(V.SKi),V.rXU(V.gRc),V.rXU(Le.r1))};static \u0275cmp=V.VBU({type:ee,selectors:[["p-dialog"]],contentQueries:function(Ie,we,Ee){if(1&Ie&&(V.wni(Ee,Le.Y9,5),V.wni(Ee,Le.wi,5),V.wni(Ee,Le.Ei,4)),2&Ie){let Me;V.mGM(Me=V.lsd())&&(we.headerFacet=Me.first),V.mGM(Me=V.lsd())&&(we.footerFacet=Me.first),V.mGM(Me=V.lsd())&&(we.templates=Me)}},viewQuery:function(Ie,we){if(1&Ie&&(V.GBs(E,5),V.GBs(j,5),V.GBs(F,5)),2&Ie){let Ee;V.mGM(Ee=V.lsd())&&(we.headerViewChild=Ee.first),V.mGM(Ee=V.lsd())&&(we.contentViewChild=Ee.first),V.mGM(Ee=V.lsd())&&(we.footerViewChild=Ee.first)}},hostAttrs:[1,"p-element"],inputs:{header:"header",draggable:"draggable",resizable:"resizable",positionLeft:"positionLeft",positionTop:"positionTop",contentStyle:"contentStyle",contentStyleClass:"contentStyleClass",modal:"modal",closeOnEscape:"closeOnEscape",dismissableMask:"dismissableMask",rtl:"rtl",closable:"closable",responsive:"responsive",appendTo:"appendTo",breakpoints:"breakpoints",styleClass:"styleClass",maskStyleClass:"maskStyleClass",maskStyle:"maskStyle",showHeader:"showHeader",breakpoint:"breakpoint",blockScroll:"blockScroll",autoZIndex:"autoZIndex",baseZIndex:"baseZIndex",minX:"minX",minY:"minY",focusOnShow:"focusOnShow",maximizable:"maximizable",keepInViewport:"keepInViewport",focusTrap:"focusTrap",transitionOptions:"transitionOptions",closeIcon:"closeIcon",closeAriaLabel:"closeAriaLabel",closeTabindex:"closeTabindex",minimizeIcon:"minimizeIcon",maximizeIcon:"maximizeIcon",visible:"visible",style:"style",position:"position"},outputs:{onShow:"onShow",onHide:"onHide",visibleChange:"visibleChange",onResizeInit:"onResizeInit",onResizeEnd:"onResizeEnd",onDragEnd:"onDragEnd",onMaximize:"onMaximize"},ngContentSelectors:D,decls:1,vars:1,consts:[["container",""],["notHeadless",""],["content",""],["titlebar",""],["footer",""],[3,"class","style","ngClass","focus",4,"ngIf"],[3,"focus","ngClass"],["pFocusTrap","","role","dialog",3,"ngClass","ngStyle","class","pFocusTrapDisabled",4,"ngIf"],["pFocusTrap","","role","dialog",3,"ngClass","ngStyle","pFocusTrapDisabled"],[4,"ngIf","ngIfElse"],[4,"ngTemplateOutlet"],["class","p-resizable-handle","style","z-index: 90;",3,"mousedown",4,"ngIf"],["class","p-dialog-header",3,"mousedown",4,"ngIf"],[3,"ngClass","ngStyle"],["class","p-dialog-footer",4,"ngIf"],[1,"p-resizable-handle",2,"z-index","90",3,"mousedown"],[1,"p-dialog-header",3,"mousedown"],["class","p-dialog-title",3,"id",4,"ngIf"],[1,"p-dialog-header-icons"],["role","button","type","button","pRipple","","pButton","",3,"ngClass","click","keydown.enter",4,"ngIf"],["type","button","pRipple","","pButton","",3,"ngClass","click","keydown.enter",4,"ngIf"],[1,"p-dialog-title",3,"id"],["role","button","type","button","pRipple","","pButton","",3,"click","keydown.enter","ngClass"],["class","p-dialog-header-maximize-icon",3,"ngClass",4,"ngIf"],[4,"ngIf"],[1,"p-dialog-header-maximize-icon",3,"ngClass"],[3,"styleClass",4,"ngIf"],[3,"styleClass"],["type","button","pRipple","","pButton","",3,"click","keydown.enter","ngClass"],["class","p-dialog-header-close-icon",3,"ngClass",4,"ngIf"],[1,"p-dialog-header-close-icon",3,"ngClass"],[1,"p-dialog-footer"]],template:function(Ie,we){1&Ie&&(V.NAR(P),V.DNE(0,Te,2,17,"div",5)),2&Ie&&V.Y8G("ngIf",we.maskVisible)},dependencies:()=>[e.YU,e.bT,e.T3,e.B3,ne,X._f,te.n,ve.A,ue,J],styles:["@layer primeng{.p-dialog-mask{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;pointer-events:none}.p-dialog-mask.p-component-overlay{pointer-events:auto}.p-dialog{display:flex;flex-direction:column;pointer-events:auto;max-height:90%;transform:scale(1);position:relative}.p-dialog-content{overflow-y:auto;flex-grow:1}.p-dialog-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.p-dialog-draggable .p-dialog-header{cursor:move}.p-dialog-footer{flex-shrink:0}.p-dialog .p-dialog-header-icons{display:flex;align-items:center}.p-dialog .p-dialog-header-icon{display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.p-fluid .p-dialog-footer .p-button{width:auto}.p-dialog-top .p-dialog,.p-dialog-bottom .p-dialog,.p-dialog-left .p-dialog,.p-dialog-right .p-dialog,.p-dialog-top-left .p-dialog,.p-dialog-top-right .p-dialog,.p-dialog-bottom-left .p-dialog,.p-dialog-bottom-right .p-dialog{margin:.75rem;transform:translateZ(0)}.p-dialog-maximized{-webkit-transition:none;transition:none;transform:none;width:100vw!important;height:100vh!important;top:0!important;left:0!important;max-height:100%;height:100%}.p-dialog-maximized .p-dialog-content{flex-grow:1}.p-dialog-left{justify-content:flex-start}.p-dialog-right{justify-content:flex-end}.p-dialog-top{align-items:flex-start}.p-dialog-top-left{justify-content:flex-start;align-items:flex-start}.p-dialog-top-right{justify-content:flex-end;align-items:flex-start}.p-dialog-bottom{align-items:flex-end}.p-dialog-bottom-left{justify-content:flex-start;align-items:flex-end}.p-dialog-bottom-right{justify-content:flex-end;align-items:flex-end}.p-dialog .p-resizable-handle{position:absolute;font-size:.1px;display:block;cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.p-confirm-dialog .p-dialog-content{display:flex;align-items:center}}\n"],encapsulation:2,data:{animation:[(0,M.hZ)("animation",[(0,M.kY)("void => visible",[(0,M.sM)(Oe)]),(0,M.kY)("visible => void",[(0,M.sM)(De)])])]},changeDetection:0})}return ee})(),oe=(()=>{class ee{static \u0275fac=function(Ie){return new(Ie||ee)};static \u0275mod=V.$C({type:ee});static \u0275inj=V.G2t({imports:[e.MD,re,X.tm,te.Z,ve.A,ue,J,Le.Gg]})}return ee})()},81455:(ri,Bt,We)=>{"use strict";We.d(Bt,{D:()=>M,b:()=>e});let M=(()=>{class V{static zindex=1e3;static calculatedScrollbarWidth=null;static calculatedScrollbarHeight=null;static browser;static addClass(q,ne){q&&ne&&(q.classList?q.classList.add(ne):q.className+=" "+ne)}static addMultipleClasses(q,ne){if(q&&ne)if(q.classList){let re=ne.trim().split(" ");for(let ve=0;vere.split(" ").forEach(ve=>this.removeClass(q,ve)))}static hasClass(q,ne){return!(!q||!ne)&&(q.classList?q.classList.contains(ne):new RegExp("(^| )"+ne+"( |$)","gi").test(q.className))}static siblings(q){return Array.prototype.filter.call(q.parentNode.children,function(ne){return ne!==q})}static find(q,ne){return Array.from(q.querySelectorAll(ne))}static findSingle(q,ne){return this.isElement(q)?q.querySelector(ne):null}static index(q){let ne=q.parentNode.childNodes,re=0;for(var ve=0;ve{if(A)return"relative"===getComputedStyle(A).getPropertyValue("position")?A:re(A.parentElement)},ve=q.offsetParent?{width:q.offsetWidth,height:q.offsetHeight}:this.getHiddenElementDimensions(q),le=ne.offsetHeight,pe=ne.getBoundingClientRect(),ue=this.getWindowScrollTop(),J=this.getWindowScrollLeft(),te=this.getViewport(),E=re(q)?.getBoundingClientRect()||{top:-1*ue,left:-1*J};let j,F;pe.top+le+ve.height>te.height?(j=pe.top-E.top-ve.height,q.style.transformOrigin="bottom",pe.top+j<0&&(j=-1*pe.top)):(j=le+pe.top-E.top,q.style.transformOrigin="top");const P=pe.left+ve.width-te.width;F=ve.width>te.width?-1*(pe.left-E.left):P>0?pe.left-E.left-P:pe.left-E.left,q.style.top=j+"px",q.style.left=F+"px"}static absolutePosition(q,ne){const re=q.offsetParent?{width:q.offsetWidth,height:q.offsetHeight}:this.getHiddenElementDimensions(q),ve=re.height,le=re.width,pe=ne.offsetHeight,ue=ne.offsetWidth,J=ne.getBoundingClientRect(),te=this.getWindowScrollTop(),X=this.getWindowScrollLeft(),E=this.getViewport();let j,F;J.top+pe+ve>E.height?(j=J.top+te-ve,q.style.transformOrigin="bottom",j<0&&(j=te)):(j=pe+J.top+te,q.style.transformOrigin="top"),F=J.left+le>E.width?Math.max(0,J.left+X+ue-le):J.left+X,q.style.top=j+"px",q.style.left=F+"px"}static getParents(q,ne=[]){return null===q.parentNode?ne:this.getParents(q.parentNode,ne.concat([q.parentNode]))}static getScrollableParents(q){let ne=[];if(q){let re=this.getParents(q);const ve=/(auto|scroll)/,le=pe=>{let ue=window.getComputedStyle(pe,null);return ve.test(ue.getPropertyValue("overflow"))||ve.test(ue.getPropertyValue("overflowX"))||ve.test(ue.getPropertyValue("overflowY"))};for(let pe of re){let ue=1===pe.nodeType&&pe.dataset.scrollselectors;if(ue){let J=ue.split(",");for(let te of J){let X=this.findSingle(pe,te);X&&le(X)&&ne.push(X)}}9!==pe.nodeType&&le(pe)&&ne.push(pe)}}return ne}static getHiddenElementOuterHeight(q){q.style.visibility="hidden",q.style.display="block";let ne=q.offsetHeight;return q.style.display="none",q.style.visibility="visible",ne}static getHiddenElementOuterWidth(q){q.style.visibility="hidden",q.style.display="block";let ne=q.offsetWidth;return q.style.display="none",q.style.visibility="visible",ne}static getHiddenElementDimensions(q){let ne={};return q.style.visibility="hidden",q.style.display="block",ne.width=q.offsetWidth,ne.height=q.offsetHeight,q.style.display="none",q.style.visibility="visible",ne}static scrollInView(q,ne){let re=getComputedStyle(q).getPropertyValue("borderTopWidth"),ve=re?parseFloat(re):0,le=getComputedStyle(q).getPropertyValue("paddingTop"),pe=le?parseFloat(le):0,ue=q.getBoundingClientRect(),te=ne.getBoundingClientRect().top+document.body.scrollTop-(ue.top+document.body.scrollTop)-ve-pe,X=q.scrollTop,E=q.clientHeight,j=this.getOuterHeight(ne);te<0?q.scrollTop=X+te:te+j>E&&(q.scrollTop=X+te-E+j)}static fadeIn(q,ne){q.style.opacity=0;let re=+new Date,ve=0,le=function(){ve=+q.style.opacity.replace(",",".")+((new Date).getTime()-re)/ne,q.style.opacity=ve,re=+new Date,+ve<1&&(window.requestAnimationFrame&&requestAnimationFrame(le)||setTimeout(le,16))};le()}static fadeOut(q,ne){var re=1,pe=50/ne;let ue=setInterval(()=>{(re-=pe)<=0&&(re=0,clearInterval(ue)),q.style.opacity=re},50)}static getWindowScrollTop(){let q=document.documentElement;return(window.pageYOffset||q.scrollTop)-(q.clientTop||0)}static getWindowScrollLeft(){let q=document.documentElement;return(window.pageXOffset||q.scrollLeft)-(q.clientLeft||0)}static matches(q,ne){var re=Element.prototype;return(re.matches||re.webkitMatchesSelector||re.mozMatchesSelector||re.msMatchesSelector||function(le){return-1!==[].indexOf.call(document.querySelectorAll(le),this)}).call(q,ne)}static getOuterWidth(q,ne){let re=q.offsetWidth;if(ne){let ve=getComputedStyle(q);re+=parseFloat(ve.marginLeft)+parseFloat(ve.marginRight)}return re}static getHorizontalPadding(q){let ne=getComputedStyle(q);return parseFloat(ne.paddingLeft)+parseFloat(ne.paddingRight)}static getHorizontalMargin(q){let ne=getComputedStyle(q);return parseFloat(ne.marginLeft)+parseFloat(ne.marginRight)}static innerWidth(q){let ne=q.offsetWidth,re=getComputedStyle(q);return ne+=parseFloat(re.paddingLeft)+parseFloat(re.paddingRight),ne}static width(q){let ne=q.offsetWidth,re=getComputedStyle(q);return ne-=parseFloat(re.paddingLeft)+parseFloat(re.paddingRight),ne}static getInnerHeight(q){let ne=q.offsetHeight,re=getComputedStyle(q);return ne+=parseFloat(re.paddingTop)+parseFloat(re.paddingBottom),ne}static getOuterHeight(q,ne){let re=q.offsetHeight;if(ne){let ve=getComputedStyle(q);re+=parseFloat(ve.marginTop)+parseFloat(ve.marginBottom)}return re}static getHeight(q){let ne=q.offsetHeight,re=getComputedStyle(q);return ne-=parseFloat(re.paddingTop)+parseFloat(re.paddingBottom)+parseFloat(re.borderTopWidth)+parseFloat(re.borderBottomWidth),ne}static getWidth(q){let ne=q.offsetWidth,re=getComputedStyle(q);return ne-=parseFloat(re.paddingLeft)+parseFloat(re.paddingRight)+parseFloat(re.borderLeftWidth)+parseFloat(re.borderRightWidth),ne}static getViewport(){let q=window,ne=document,re=ne.documentElement,ve=ne.getElementsByTagName("body")[0];return{width:q.innerWidth||re.clientWidth||ve.clientWidth,height:q.innerHeight||re.clientHeight||ve.clientHeight}}static getOffset(q){var ne=q.getBoundingClientRect();return{top:ne.top+(window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0),left:ne.left+(window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0)}}static replaceElementWith(q,ne){let re=q.parentNode;if(!re)throw"Can't replace element";return re.replaceChild(ne,q)}static getUserAgent(){if(navigator&&this.isClient())return navigator.userAgent}static isIE(){var q=window.navigator.userAgent;return q.indexOf("MSIE ")>0||(q.indexOf("Trident/")>0?(q.indexOf("rv:"),!0):q.indexOf("Edge/")>0)}static isIOS(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream}static isAndroid(){return/(android)/i.test(navigator.userAgent)}static isTouchDevice(){return"ontouchstart"in window||navigator.maxTouchPoints>0}static appendChild(q,ne){if(this.isElement(ne))ne.appendChild(q);else{if(!(ne&&ne.el&&ne.el.nativeElement))throw"Cannot append "+ne+" to "+q;ne.el.nativeElement.appendChild(q)}}static removeChild(q,ne){if(this.isElement(ne))ne.removeChild(q);else{if(!ne.el||!ne.el.nativeElement)throw"Cannot remove "+q+" from "+ne;ne.el.nativeElement.removeChild(q)}}static removeElement(q){"remove"in Element.prototype?q.remove():q.parentNode.removeChild(q)}static isElement(q){return"object"==typeof HTMLElement?q instanceof HTMLElement:q&&"object"==typeof q&&null!==q&&1===q.nodeType&&"string"==typeof q.nodeName}static calculateScrollbarWidth(q){if(q){let ne=getComputedStyle(q);return q.offsetWidth-q.clientWidth-parseFloat(ne.borderLeftWidth)-parseFloat(ne.borderRightWidth)}{if(null!==this.calculatedScrollbarWidth)return this.calculatedScrollbarWidth;let ne=document.createElement("div");ne.className="p-scrollbar-measure",document.body.appendChild(ne);let re=ne.offsetWidth-ne.clientWidth;return document.body.removeChild(ne),this.calculatedScrollbarWidth=re,re}}static calculateScrollbarHeight(){if(null!==this.calculatedScrollbarHeight)return this.calculatedScrollbarHeight;let q=document.createElement("div");q.className="p-scrollbar-measure",document.body.appendChild(q);let ne=q.offsetHeight-q.clientHeight;return document.body.removeChild(q),this.calculatedScrollbarWidth=ne,ne}static invokeElementMethod(q,ne,re){q[ne].apply(q,re)}static clearSelection(){if(window.getSelection)window.getSelection().empty?window.getSelection().empty():window.getSelection().removeAllRanges&&window.getSelection().rangeCount>0&&window.getSelection().getRangeAt(0).getClientRects().length>0&&window.getSelection().removeAllRanges();else if(document.selection&&document.selection.empty)try{document.selection.empty()}catch{}}static getBrowser(){if(!this.browser){let q=this.resolveUserAgent();this.browser={},q.browser&&(this.browser[q.browser]=!0,this.browser.version=q.version),this.browser.chrome?this.browser.webkit=!0:this.browser.webkit&&(this.browser.safari=!0)}return this.browser}static resolveUserAgent(){let q=navigator.userAgent.toLowerCase(),ne=/(chrome)[ \/]([\w.]+)/.exec(q)||/(webkit)[ \/]([\w.]+)/.exec(q)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(q)||/(msie) ([\w.]+)/.exec(q)||q.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(q)||[];return{browser:ne[1]||"",version:ne[2]||"0"}}static isInteger(q){return Number.isInteger?Number.isInteger(q):"number"==typeof q&&isFinite(q)&&Math.floor(q)===q}static isHidden(q){return!q||null===q.offsetParent}static isVisible(q){return q&&null!=q.offsetParent}static isExist(q){return null!==q&&typeof q<"u"&&q.nodeName&&q.parentNode}static focus(q,ne){q&&document.activeElement!==q&&q.focus(ne)}static getFocusableElements(q,ne=""){let re=this.find(q,`button:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ne},\n [href][clientHeight][clientWidth]:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ne},\n input:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ne},\n select:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ne},\n textarea:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ne},\n [tabIndex]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ne},\n [contenteditable]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ne}`),ve=[];for(let le of re){const pe=getComputedStyle(le);this.isVisible(le)&&"none"!=pe.display&&"hidden"!=pe.visibility&&ve.push(le)}return ve}static getFirstFocusableElement(q,ne){const re=this.getFocusableElements(q,ne);return re.length>0?re[0]:null}static getLastFocusableElement(q,ne){const re=this.getFocusableElements(q,ne);return re.length>0?re[re.length-1]:null}static getNextFocusableElement(q,ne=!1){const re=V.getFocusableElements(q);let ve=0;if(re&&re.length>0){const le=re.indexOf(re[0].ownerDocument.activeElement);ne?ve=-1==le||0===le?re.length-1:le-1:-1!=le&&le!==re.length-1&&(ve=le+1)}return re[ve]}static generateZIndex(){return this.zindex=this.zindex||999,++this.zindex}static getSelection(){return window.getSelection?window.getSelection().toString():document.getSelection?document.getSelection().toString():document.selection?document.selection.createRange().text:null}static getTargetElement(q,ne){if(!q)return null;switch(q){case"document":return document;case"window":return window;case"@next":return ne?.nextElementSibling;case"@prev":return ne?.previousElementSibling;case"@parent":return ne?.parentElement;case"@grandparent":return ne?.parentElement.parentElement;default:const re=typeof q;if("string"===re)return document.querySelector(q);if("object"===re&&q.hasOwnProperty("nativeElement"))return this.isExist(q.nativeElement)?q.nativeElement:void 0;const le=(pe=q)&&pe.constructor&&pe.call&&pe.apply?q():q;return le&&9===le.nodeType||this.isExist(le)?le:null}var pe}static isClient(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}static getAttribute(q,ne){if(q){const re=q.getAttribute(ne);return isNaN(re)?"true"===re||"false"===re?"true"===re:re:+re}}static calculateBodyScrollbarWidth(){return window.innerWidth-document.documentElement.offsetWidth}static blockBodyScroll(q="p-overflow-hidden"){document.body.style.setProperty("--scrollbar-width",this.calculateBodyScrollbarWidth()+"px"),this.addClass(document.body,q)}static unblockBodyScroll(q="p-overflow-hidden"){document.body.style.removeProperty("--scrollbar-width"),this.removeClass(document.body,q)}}return V})();class e{element;listener;scrollableParents;constructor(Le,q=(()=>{})){this.element=Le,this.listener=q}bindScrollListener(){this.scrollableParents=M.getScrollableParents(this.element);for(let Le=0;Le{"use strict";We.d(Bt,{N:()=>Le});var M=We(54438),e=We(461),V=We(54420);let Le=(()=>{class q extends e.h{pathId;ngOnInit(){this.pathId="url(#"+(0,V._Y)()+")"}static \u0275fac=(()=>{let re;return function(le){return(re||(re=M.xGo(q)))(le||q)}})();static \u0275cmp=M.VBU({type:q,selectors:[["SpinnerIcon"]],standalone:!0,features:[M.Vt3,M.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M6.99701 14C5.85441 13.999 4.72939 13.7186 3.72012 13.1832C2.71084 12.6478 1.84795 11.8737 1.20673 10.9284C0.565504 9.98305 0.165424 8.89526 0.041387 7.75989C-0.0826496 6.62453 0.073125 5.47607 0.495122 4.4147C0.917119 3.35333 1.59252 2.4113 2.46241 1.67077C3.33229 0.930247 4.37024 0.413729 5.4857 0.166275C6.60117 -0.0811796 7.76026 -0.0520535 8.86188 0.251112C9.9635 0.554278 10.9742 1.12227 11.8057 1.90555C11.915 2.01493 11.9764 2.16319 11.9764 2.31778C11.9764 2.47236 11.915 2.62062 11.8057 2.73C11.7521 2.78503 11.688 2.82877 11.6171 2.85864C11.5463 2.8885 11.4702 2.90389 11.3933 2.90389C11.3165 2.90389 11.2404 2.8885 11.1695 2.85864C11.0987 2.82877 11.0346 2.78503 10.9809 2.73C9.9998 1.81273 8.73246 1.26138 7.39226 1.16876C6.05206 1.07615 4.72086 1.44794 3.62279 2.22152C2.52471 2.99511 1.72683 4.12325 1.36345 5.41602C1.00008 6.70879 1.09342 8.08723 1.62775 9.31926C2.16209 10.5513 3.10478 11.5617 4.29713 12.1803C5.48947 12.7989 6.85865 12.988 8.17414 12.7157C9.48963 12.4435 10.6711 11.7264 11.5196 10.6854C12.3681 9.64432 12.8319 8.34282 12.8328 7C12.8328 6.84529 12.8943 6.69692 13.0038 6.58752C13.1132 6.47812 13.2616 6.41667 13.4164 6.41667C13.5712 6.41667 13.7196 6.47812 13.8291 6.58752C13.9385 6.69692 14 6.84529 14 7C14 8.85651 13.2622 10.637 11.9489 11.9497C10.6356 13.2625 8.85432 14 6.99701 14Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ve,le){1&ve&&(M.qSk(),M.j41(0,"svg",0)(1,"g"),M.nrm(2,"path",1),M.k0s(),M.j41(3,"defs")(4,"clipPath",2),M.nrm(5,"rect",3),M.k0s()()()),2&ve&&(M.HbH(le.getClassNames()),M.BMQ("aria-label",le.ariaLabel)("aria-hidden",le.ariaHidden)("role",le.role),M.R7$(),M.BMQ("clip-path",le.pathId),M.R7$(3),M.Y8G("id",le.pathId))},encapsulation:2})}return q})()},1512:(ri,Bt,We)=>{"use strict";We.d(Bt,{A:()=>V});var M=We(54438),e=We(461);let V=(()=>{class Le extends e.h{static \u0275fac=(()=>{let ne;return function(ve){return(ne||(ne=M.xGo(Le)))(ve||Le)}})();static \u0275cmp=M.VBU({type:Le,selectors:[["TimesIcon"]],standalone:!0,features:[M.Vt3,M.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M8.01186 7.00933L12.27 2.75116C12.341 2.68501 12.398 2.60524 12.4375 2.51661C12.4769 2.42798 12.4982 2.3323 12.4999 2.23529C12.5016 2.13827 12.4838 2.0419 12.4474 1.95194C12.4111 1.86197 12.357 1.78024 12.2884 1.71163C12.2198 1.64302 12.138 1.58893 12.0481 1.55259C11.9581 1.51625 11.8617 1.4984 11.7647 1.50011C11.6677 1.50182 11.572 1.52306 11.4834 1.56255C11.3948 1.60204 11.315 1.65898 11.2488 1.72997L6.99067 5.98814L2.7325 1.72997C2.59553 1.60234 2.41437 1.53286 2.22718 1.53616C2.03999 1.53946 1.8614 1.61529 1.72901 1.74767C1.59663 1.88006 1.5208 2.05865 1.5175 2.24584C1.5142 2.43303 1.58368 2.61419 1.71131 2.75116L5.96948 7.00933L1.71131 11.2675C1.576 11.403 1.5 11.5866 1.5 11.7781C1.5 11.9696 1.576 12.1532 1.71131 12.2887C1.84679 12.424 2.03043 12.5 2.2219 12.5C2.41338 12.5 2.59702 12.424 2.7325 12.2887L6.99067 8.03052L11.2488 12.2887C11.3843 12.424 11.568 12.5 11.7594 12.5C11.9509 12.5 12.1346 12.424 12.27 12.2887C12.4053 12.1532 12.4813 11.9696 12.4813 11.7781C12.4813 11.5866 12.4053 11.403 12.27 11.2675L8.01186 7.00933Z","fill","currentColor"]],template:function(re,ve){1&re&&(M.qSk(),M.j41(0,"svg",0),M.nrm(1,"path",1),M.k0s()),2&re&&(M.HbH(ve.getClassNames()),M.BMQ("aria-label",ve.ariaLabel)("aria-hidden",ve.ariaHidden)("role",ve.role))},encapsulation:2})}return Le})()},22242:(ri,Bt,We)=>{"use strict";We.d(Bt,{S:()=>Le,u:()=>q});var M=We(54438),e=We(60177),V=We(89417);let Le=(()=>{class ne{el;ngModel;cd;filled;constructor(ve,le,pe){this.el=ve,this.ngModel=le,this.cd=pe}ngAfterViewInit(){this.updateFilledState(),this.cd.detectChanges()}ngDoCheck(){this.updateFilledState()}onInput(){this.updateFilledState()}updateFilledState(){this.filled=this.el.nativeElement.value&&this.el.nativeElement.value.length||this.ngModel&&this.ngModel.model}static \u0275fac=function(le){return new(le||ne)(M.rXU(M.aKT),M.rXU(V.vS,8),M.rXU(M.gRc))};static \u0275dir=M.FsC({type:ne,selectors:[["","pInputText",""]],hostAttrs:[1,"p-inputtext","p-component","p-element"],hostVars:2,hostBindings:function(le,pe){1&le&&M.bIt("input",function(J){return pe.onInput(J)}),2&le&&M.AVh("p-filled",pe.filled)}})}return ne})(),q=(()=>{class ne{static \u0275fac=function(le){return new(le||ne)};static \u0275mod=M.$C({type:ne});static \u0275inj=M.G2t({imports:[e.MD]})}return ne})()},10563:(ri,Bt,We)=>{"use strict";We.d(Bt,{Z:()=>ne,n:()=>q});var M=We(60177),e=We(54438),V=We(81455),Le=We(5779);let q=(()=>{class re{document;platformId;renderer;el;zone;config;constructor(le,pe,ue,J,te,X){this.document=le,this.platformId=pe,this.renderer=ue,this.el=J,this.zone=te,this.config=X}animationListener;mouseDownListener;timeout;ngAfterViewInit(){(0,M.UE)(this.platformId)&&this.config&&this.config.ripple&&this.zone.runOutsideAngular(()=>{this.create(),this.mouseDownListener=this.renderer.listen(this.el.nativeElement,"mousedown",this.onMouseDown.bind(this))})}onMouseDown(le){let pe=this.getInk();if(!pe||"none"===this.document.defaultView?.getComputedStyle(pe,null).display)return;if(V.D.removeClass(pe,"p-ink-active"),!V.D.getHeight(pe)&&!V.D.getWidth(pe)){let X=Math.max(V.D.getOuterWidth(this.el.nativeElement),V.D.getOuterHeight(this.el.nativeElement));pe.style.height=X+"px",pe.style.width=X+"px"}let ue=V.D.getOffset(this.el.nativeElement),J=le.pageX-ue.left+this.document.body.scrollTop-V.D.getWidth(pe)/2,te=le.pageY-ue.top+this.document.body.scrollLeft-V.D.getHeight(pe)/2;this.renderer.setStyle(pe,"top",te+"px"),this.renderer.setStyle(pe,"left",J+"px"),V.D.addClass(pe,"p-ink-active"),this.timeout=setTimeout(()=>{let X=this.getInk();X&&V.D.removeClass(X,"p-ink-active")},401)}getInk(){const le=this.el.nativeElement.children;for(let pe=0;pe{class re{static \u0275fac=function(pe){return new(pe||re)};static \u0275mod=e.$C({type:re});static \u0275inj=e.G2t({imports:[M.MD]})}return re})()},46247:(ri,Bt,We)=>{"use strict";We.d(Bt,{c5:()=>ts,hp:()=>kn,FP:()=>Ai,yc:()=>ei,Tg:()=>Ut,XI:()=>Ne,bG:()=>Vr});var M=We(60177),e=We(54438),V=We(89417),Le=We(5779),q=We(81141),ne=We(49969),re=We(81455),ve=We(10563),le=We(54420),pe=We(461);let ue=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["ChevronLeftIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M9.61296 13C9.50997 13.0005 9.40792 12.9804 9.3128 12.9409C9.21767 12.9014 9.13139 12.8433 9.05902 12.7701L3.83313 7.54416C3.68634 7.39718 3.60388 7.19795 3.60388 6.99022C3.60388 6.78249 3.68634 6.58325 3.83313 6.43628L9.05902 1.21039C9.20762 1.07192 9.40416 0.996539 9.60724 1.00012C9.81032 1.00371 10.0041 1.08597 10.1477 1.22959C10.2913 1.37322 10.3736 1.56698 10.3772 1.77005C10.3808 1.97313 10.3054 2.16968 10.1669 2.31827L5.49496 6.99022L10.1669 11.6622C10.3137 11.8091 10.3962 12.0084 10.3962 12.2161C10.3962 12.4238 10.3137 12.6231 10.1669 12.7701C10.0945 12.8433 10.0083 12.9014 9.91313 12.9409C9.81801 12.9804 9.71596 13.0005 9.61296 13Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})(),J=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["ChevronRightIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M4.38708 13C4.28408 13.0005 4.18203 12.9804 4.08691 12.9409C3.99178 12.9014 3.9055 12.8433 3.83313 12.7701C3.68634 12.6231 3.60388 12.4238 3.60388 12.2161C3.60388 12.0084 3.68634 11.8091 3.83313 11.6622L8.50507 6.99022L3.83313 2.31827C3.69467 2.16968 3.61928 1.97313 3.62287 1.77005C3.62645 1.56698 3.70872 1.37322 3.85234 1.22959C3.99596 1.08597 4.18972 1.00371 4.3928 1.00012C4.59588 0.996539 4.79242 1.07192 4.94102 1.21039L10.1669 6.43628C10.3137 6.58325 10.3962 6.78249 10.3962 6.99022C10.3962 7.19795 10.3137 7.39718 10.1669 7.54416L4.94102 12.7701C4.86865 12.8433 4.78237 12.9014 4.68724 12.9409C4.59212 12.9804 4.49007 13.0005 4.38708 13Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})(),te=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["ChevronUpIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M12.2097 10.4113C12.1057 10.4118 12.0027 10.3915 11.9067 10.3516C11.8107 10.3118 11.7237 10.2532 11.6506 10.1792L6.93602 5.46461L2.22139 10.1476C2.07272 10.244 1.89599 10.2877 1.71953 10.2717C1.54307 10.2556 1.3771 10.1808 1.24822 10.0593C1.11933 9.93766 1.035 9.77633 1.00874 9.6011C0.982477 9.42587 1.0158 9.2469 1.10338 9.09287L6.37701 3.81923C6.52533 3.6711 6.72639 3.58789 6.93602 3.58789C7.14565 3.58789 7.3467 3.6711 7.49502 3.81923L12.7687 9.09287C12.9168 9.24119 13 9.44225 13 9.65187C13 9.8615 12.9168 10.0626 12.7687 10.2109C12.616 10.3487 12.4151 10.4207 12.2097 10.4113Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})(),X=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["ChevronDownIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M7.01744 10.398C6.91269 10.3985 6.8089 10.378 6.71215 10.3379C6.61541 10.2977 6.52766 10.2386 6.45405 10.1641L1.13907 4.84913C1.03306 4.69404 0.985221 4.5065 1.00399 4.31958C1.02276 4.13266 1.10693 3.95838 1.24166 3.82747C1.37639 3.69655 1.55301 3.61742 1.74039 3.60402C1.92777 3.59062 2.11386 3.64382 2.26584 3.75424L7.01744 8.47394L11.769 3.75424C11.9189 3.65709 12.097 3.61306 12.2748 3.62921C12.4527 3.64535 12.6199 3.72073 12.7498 3.84328C12.8797 3.96582 12.9647 4.12842 12.9912 4.30502C13.0177 4.48162 12.9841 4.662 12.8958 4.81724L7.58083 10.1322C7.50996 10.2125 7.42344 10.2775 7.32656 10.3232C7.22968 10.3689 7.12449 10.3944 7.01744 10.398Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})();var E=We(1512);let j=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["CalendarIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M10.7838 1.51351H9.83783V0.567568C9.83783 0.417039 9.77804 0.272676 9.6716 0.166237C9.56516 0.0597971 9.42079 0 9.27027 0C9.11974 0 8.97538 0.0597971 8.86894 0.166237C8.7625 0.272676 8.7027 0.417039 8.7027 0.567568V1.51351H5.29729V0.567568C5.29729 0.417039 5.2375 0.272676 5.13106 0.166237C5.02462 0.0597971 4.88025 0 4.72973 0C4.5792 0 4.43484 0.0597971 4.3284 0.166237C4.22196 0.272676 4.16216 0.417039 4.16216 0.567568V1.51351H3.21621C2.66428 1.51351 2.13494 1.73277 1.74467 2.12305C1.35439 2.51333 1.13513 3.04266 1.13513 3.59459V11.9189C1.13513 12.4709 1.35439 13.0002 1.74467 13.3905C2.13494 13.7807 2.66428 14 3.21621 14H10.7838C11.3357 14 11.865 13.7807 12.2553 13.3905C12.6456 13.0002 12.8649 12.4709 12.8649 11.9189V3.59459C12.8649 3.04266 12.6456 2.51333 12.2553 2.12305C11.865 1.73277 11.3357 1.51351 10.7838 1.51351ZM3.21621 2.64865H4.16216V3.59459C4.16216 3.74512 4.22196 3.88949 4.3284 3.99593C4.43484 4.10237 4.5792 4.16216 4.72973 4.16216C4.88025 4.16216 5.02462 4.10237 5.13106 3.99593C5.2375 3.88949 5.29729 3.74512 5.29729 3.59459V2.64865H8.7027V3.59459C8.7027 3.74512 8.7625 3.88949 8.86894 3.99593C8.97538 4.10237 9.11974 4.16216 9.27027 4.16216C9.42079 4.16216 9.56516 4.10237 9.6716 3.99593C9.77804 3.88949 9.83783 3.74512 9.83783 3.59459V2.64865H10.7838C11.0347 2.64865 11.2753 2.74831 11.4527 2.92571C11.6301 3.10311 11.7297 3.34371 11.7297 3.59459V5.67568H2.27027V3.59459C2.27027 3.34371 2.36993 3.10311 2.54733 2.92571C2.72473 2.74831 2.96533 2.64865 3.21621 2.64865ZM10.7838 12.8649H3.21621C2.96533 12.8649 2.72473 12.7652 2.54733 12.5878C2.36993 12.4104 2.27027 12.1698 2.27027 11.9189V6.81081H11.7297V11.9189C11.7297 12.1698 11.6301 12.4104 11.4527 12.5878C11.2753 12.7652 11.0347 12.8649 10.7838 12.8649Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})();const F=["container"],P=["inputfield"],D=["contentWrapper"],A=[[["p-header"]],[["p-footer"]]],I=["p-header","p-footer"],_=(ye,et,u,ie,de)=>({"p-calendar":!0,"p-input-icon-right":ye,"p-calendar-w-btn":et,"p-calendar-timeonly":u,"p-calendar-disabled":ie,"p-focus":de}),m=ye=>({clickCallBack:ye}),w=ye=>({"p-datepicker-icon":ye}),G=(ye,et,u,ie,de,Ae)=>({"p-datepicker p-component":!0,"p-datepicker-inline":ye,"p-disabled":et,"p-datepicker-timeonly":u,"p-datepicker-multiple-month":ie,"p-datepicker-monthpicker":de,"p-datepicker-touch-ui":Ae}),O=(ye,et)=>({showTransitionParams:ye,hideTransitionParams:et}),f=ye=>({value:"visibleTouchUI",params:ye}),a=ye=>({value:"visible",params:ye}),g=ye=>({$implicit:ye}),v=(ye,et)=>({"p-datepicker-other-month":ye,"p-datepicker-today":et}),o=(ye,et)=>({"p-highlight":ye,"p-disabled":et}),n=ye=>[ye];function r(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"TimesIcon",11),e.bIt("click",function(){e.eBV(u);const de=e.XpG(3);return e.Njj(de.clear())}),e.k0s()}2&ye&&e.Y8G("styleClass","p-calendar-clear-icon")}function l(ye,et){}function d(ye,et){1&ye&&e.DNE(0,l,0,0,"ng-template")}function C(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"span",12),e.bIt("click",function(){e.eBV(u);const de=e.XpG(3);return e.Njj(de.clear())}),e.DNE(1,d,1,0,null,13),e.k0s()}if(2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("ngTemplateOutlet",u.clearIconTemplate)}}function k(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,r,1,1,"TimesIcon",9)(2,C,2,1,"span",10),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.clearIconTemplate),e.R7$(),e.Y8G("ngIf",u.clearIconTemplate)}}function p(ye,et){if(1&ye&&e.nrm(0,"span",16),2&ye){const u=e.XpG(3);e.Y8G("ngClass",u.icon)}}function T(ye,et){1&ye&&e.nrm(0,"CalendarIcon")}function B(ye,et){}function z(ye,et){1&ye&&e.DNE(0,B,0,0,"ng-template")}function K(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,T,1,0,"CalendarIcon",7)(2,z,1,0,null,13),e.bVm()),2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("ngIf",!u.triggerIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.triggerIconTemplate)}}function U(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"button",14),e.bIt("click",function(de){e.eBV(u),e.XpG();const Ae=e.sdS(1),nt=e.XpG();return e.Njj(nt.onButtonClick(de,Ae))}),e.DNE(1,p,1,1,"span",15)(2,K,3,2,"ng-container",7),e.k0s()}if(2&ye){let u;const ie=e.XpG(2);e.Y8G("disabled",ie.disabled),e.BMQ("aria-label",ie.iconButtonAriaLabel)("aria-expanded",null!==(u=ie.overlayVisible)&&void 0!==u&&u)("aria-controls",ie.overlayVisible?ie.panelId:null),e.R7$(),e.Y8G("ngIf",ie.icon),e.R7$(),e.Y8G("ngIf",!ie.icon)}}function se(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"CalendarIcon",19),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onButtonClick(de))}),e.k0s()}if(2&ye){const u=e.XpG(3);e.Y8G("ngClass",e.eq3(1,w,u.showOnFocus))}}function S(ye,et){1&ye&&e.eu8(0)}function $(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,se,1,3,"CalendarIcon",17)(2,S,1,0,"ng-container",18),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.inputIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.inputIconTemplate)("ngTemplateOutletContext",e.eq3(3,m,u.onButtonClick.bind(u)))}}function H(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"input",6,1),e.bIt("focus",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onInputFocus(de))})("keydown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onInputKeydown(de))})("click",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onInputClick())})("blur",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onInputBlur(de))})("input",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onUserInput(de))}),e.k0s(),e.DNE(2,k,3,2,"ng-container",7)(3,U,3,6,"button",8)(4,$,3,5,"ng-container",7)}if(2&ye){let u;const ie=e.XpG();e.HbH(ie.inputStyleClass),e.Y8G("value",ie.inputFieldValue)("readonly",ie.readonlyInput)("ngStyle",ie.inputStyle)("placeholder",ie.placeholder||"")("disabled",ie.disabled)("ngClass","p-inputtext p-component"),e.BMQ("id",ie.inputId)("name",ie.name)("required",ie.required)("aria-required",ie.required)("aria-expanded",null!==(u=ie.overlayVisible)&&void 0!==u&&u)("aria-controls",ie.overlayVisible?ie.panelId:null)("aria-labelledby",ie.ariaLabelledBy)("aria-label",ie.ariaLabel)("tabindex",ie.tabindex)("inputmode",ie.touchUI?"off":null),e.R7$(2),e.Y8G("ngIf",ie.showClear&&!ie.disabled&&null!=ie.value),e.R7$(),e.Y8G("ngIf",ie.showIcon&&"button"===ie.iconDisplay),e.R7$(),e.Y8G("ngIf","input"===ie.iconDisplay&&ie.showIcon)}}function x(ye,et){1&ye&&e.eu8(0)}function N(ye,et){1&ye&&e.nrm(0,"ChevronLeftIcon",40),2&ye&&e.Y8G("styleClass","p-datepicker-prev-icon")}function R(ye,et){}function Z(ye,et){1&ye&&e.DNE(0,R,0,0,"ng-template")}function Y(ye,et){if(1&ye&&(e.j41(0,"span",41),e.DNE(1,Z,1,0,null,13),e.k0s()),2&ye){const u=e.XpG(5);e.R7$(),e.Y8G("ngTemplateOutlet",u.previousIconTemplate)}}function he(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"button",38),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(4);return e.Njj(Ae.onContainerButtonKeydown(de))})("click",function(de){e.eBV(u);const Ae=e.XpG(4);return e.Njj(Ae.onPrevButtonClick(de))}),e.DNE(1,N,1,1,"ChevronLeftIcon",35)(2,Y,2,1,"span",39),e.k0s()}if(2&ye){const u=e.XpG(4);e.BMQ("aria-label",u.prevIconAriaLabel),e.R7$(),e.Y8G("ngIf",!u.previousIconTemplate),e.R7$(),e.Y8G("ngIf",u.previousIconTemplate)}}function ge(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"button",42),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG(4);return e.Njj(Ae.switchToMonthView(de))})("keydown",function(de){e.eBV(u);const Ae=e.XpG(4);return e.Njj(Ae.onContainerButtonKeydown(de))}),e.EFF(1),e.k0s()}if(2&ye){const u=e.XpG().$implicit,ie=e.XpG(3);e.Y8G("disabled",ie.switchViewButtonDisabled()),e.BMQ("aria-label",ie.getTranslation("chooseMonth")),e.R7$(),e.SpI(" ",ie.getMonthName(u.month)," ")}}function _e(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"button",43),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG(4);return e.Njj(Ae.switchToYearView(de))})("keydown",function(de){e.eBV(u);const Ae=e.XpG(4);return e.Njj(Ae.onContainerButtonKeydown(de))}),e.EFF(1),e.k0s()}if(2&ye){const u=e.XpG().$implicit,ie=e.XpG(3);e.Y8G("disabled",ie.switchViewButtonDisabled()),e.BMQ("aria-label",ie.getTranslation("chooseYear")),e.R7$(),e.SpI(" ",ie.getYear(u)," ")}}function Te(ye,et){if(1&ye&&(e.qex(0),e.EFF(1),e.bVm()),2&ye){const u=e.XpG(5);e.R7$(),e.Lme("",u.yearPickerValues()[0]," - ",u.yearPickerValues()[u.yearPickerValues().length-1],"")}}function Oe(ye,et){1&ye&&e.eu8(0)}function De(ye,et){if(1&ye&&(e.j41(0,"span",44),e.DNE(1,Te,2,2,"ng-container",7)(2,Oe,1,0,"ng-container",18),e.k0s()),2&ye){const u=e.XpG(4);e.R7$(),e.Y8G("ngIf",!u.decadeTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decadeTemplate)("ngTemplateOutletContext",e.eq3(3,g,u.yearPickerValues))}}function Be(ye,et){1&ye&&e.nrm(0,"ChevronRightIcon",40),2&ye&&e.Y8G("styleClass","p-datepicker-next-icon")}function oe(ye,et){}function ee(ye,et){1&ye&&e.DNE(0,oe,0,0,"ng-template")}function be(ye,et){if(1&ye&&(e.j41(0,"span",45),e.DNE(1,ee,1,0,null,13),e.k0s()),2&ye){const u=e.XpG(4);e.R7$(),e.Y8G("ngTemplateOutlet",u.nextIconTemplate)}}function xe(ye,et){if(1&ye&&(e.j41(0,"th",51)(1,"span"),e.EFF(2),e.k0s()()),2&ye){const u=e.XpG(5);e.R7$(2),e.JRh(u.getTranslation("weekHeader"))}}function Ie(ye,et){if(1&ye&&(e.j41(0,"th",52)(1,"span"),e.EFF(2),e.k0s()()),2&ye){const u=et.$implicit;e.R7$(2),e.JRh(u)}}function we(ye,et){if(1&ye&&(e.j41(0,"td",55)(1,"span",56),e.EFF(2),e.k0s()()),2&ye){const u=e.XpG().index,ie=e.XpG(2).$implicit;e.R7$(2),e.SpI(" ",ie.weekNumbers[u]," ")}}function Ee(ye,et){if(1&ye&&(e.qex(0),e.EFF(1),e.bVm()),2&ye){const u=e.XpG(2).$implicit;e.R7$(),e.JRh(u.day)}}function Me(ye,et){1&ye&&e.eu8(0)}function Xe(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Me,1,0,"ng-container",18),e.bVm()),2&ye){const u=e.XpG(2).$implicit,ie=e.XpG(6);e.R7$(),e.Y8G("ngTemplateOutlet",ie.dateTemplate)("ngTemplateOutletContext",e.eq3(2,g,u))}}function Je(ye,et){1&ye&&e.eu8(0)}function lt(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Je,1,0,"ng-container",18),e.bVm()),2&ye){const u=e.XpG(2).$implicit,ie=e.XpG(6);e.R7$(),e.Y8G("ngTemplateOutlet",ie.disabledDateTemplate)("ngTemplateOutletContext",e.eq3(2,g,u))}}function qe(ye,et){if(1&ye&&(e.j41(0,"div",59),e.EFF(1),e.k0s()),2&ye){const u=e.XpG(2).$implicit;e.R7$(),e.SpI(" ",u.day," ")}}function st(ye,et){if(1&ye){const u=e.RV6();e.qex(0),e.j41(1,"span",57),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG().$implicit,nt=e.XpG(6);return e.Njj(nt.onDateSelect(de,Ae))})("keydown",function(de){e.eBV(u);const Ae=e.XpG().$implicit,nt=e.XpG(3).index,kt=e.XpG(3);return e.Njj(kt.onDateCellKeydown(de,Ae,nt))}),e.DNE(2,Ee,2,1,"ng-container",7)(3,Xe,2,4,"ng-container",7)(4,lt,2,4,"ng-container",7),e.k0s(),e.DNE(5,qe,2,1,"div",58),e.bVm()}if(2&ye){const u=e.XpG().$implicit,ie=e.XpG(6);e.R7$(),e.Y8G("ngClass",e.l_i(5,o,ie.isSelected(u)&&u.selectable,!u.selectable)),e.R7$(),e.Y8G("ngIf",!ie.dateTemplate&&(u.selectable||!ie.disabledDateTemplate)),e.R7$(),e.Y8G("ngIf",u.selectable||!ie.disabledDateTemplate),e.R7$(),e.Y8G("ngIf",!u.selectable),e.R7$(),e.Y8G("ngIf",ie.isSelected(u))}}function Tt(ye,et){if(1&ye&&(e.j41(0,"td",16),e.DNE(1,st,6,8,"ng-container",7),e.k0s()),2&ye){const u=et.$implicit,ie=e.XpG(6);e.Y8G("ngClass",e.l_i(3,v,u.otherMonth,u.today)),e.BMQ("aria-label",u.day),e.R7$(),e.Y8G("ngIf",!u.otherMonth||ie.showOtherMonths)}}function pt(ye,et){if(1&ye&&(e.j41(0,"tr"),e.DNE(1,we,3,1,"td",53)(2,Tt,2,6,"td",54),e.k0s()),2&ye){const u=et.$implicit,ie=e.XpG(5);e.R7$(),e.Y8G("ngIf",ie.showWeek),e.R7$(),e.Y8G("ngForOf",u)}}function ht(ye,et){if(1&ye&&(e.j41(0,"div",46)(1,"table",47)(2,"thead")(3,"tr"),e.DNE(4,xe,3,1,"th",48)(5,Ie,3,1,"th",49),e.k0s()(),e.j41(6,"tbody"),e.DNE(7,pt,3,2,"tr",50),e.k0s()()()),2&ye){const u=e.XpG().$implicit,ie=e.XpG(3);e.R7$(4),e.Y8G("ngIf",ie.showWeek),e.R7$(),e.Y8G("ngForOf",ie.weekDays),e.R7$(2),e.Y8G("ngForOf",u.dates)}}function Pt(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",27)(1,"div",28),e.DNE(2,he,3,3,"button",29),e.j41(3,"div",30),e.DNE(4,ge,2,3,"button",31)(5,_e,2,3,"button",32)(6,De,3,5,"span",33),e.k0s(),e.j41(7,"button",34),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onContainerButtonKeydown(de))})("click",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onNextButtonClick(de))}),e.DNE(8,Be,1,1,"ChevronRightIcon",35)(9,be,2,1,"span",36),e.k0s()(),e.DNE(10,ht,8,3,"div",37),e.k0s()}if(2&ye){const u=et.index,ie=e.XpG(3);e.R7$(2),e.Y8G("ngIf",0===u),e.R7$(2),e.Y8G("ngIf","date"===ie.currentView),e.R7$(),e.Y8G("ngIf","year"!==ie.currentView),e.R7$(),e.Y8G("ngIf","year"===ie.currentView),e.R7$(),e.xc7("display",1===ie.numberOfMonths||u===ie.numberOfMonths-1?"inline-flex":"none"),e.BMQ("aria-label",ie.nextIconAriaLabel),e.R7$(),e.Y8G("ngIf",!ie.nextIconTemplate),e.R7$(),e.Y8G("ngIf",ie.nextIconTemplate),e.R7$(),e.Y8G("ngIf","date"===ie.currentView)}}function Gt(ye,et){if(1&ye&&(e.j41(0,"div",59),e.EFF(1),e.k0s()),2&ye){const u=e.XpG().$implicit;e.R7$(),e.SpI(" ",u," ")}}function ti(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"span",62),e.bIt("click",function(de){const Ae=e.eBV(u).index,nt=e.XpG(4);return e.Njj(nt.onMonthSelect(de,Ae))})("keydown",function(de){const Ae=e.eBV(u).index,nt=e.XpG(4);return e.Njj(nt.onMonthCellKeydown(de,Ae))}),e.EFF(1),e.DNE(2,Gt,2,1,"div",58),e.k0s()}if(2&ye){const u=et.$implicit,ie=et.index,de=e.XpG(4);e.Y8G("ngClass",e.l_i(3,o,de.isMonthSelected(ie),de.isMonthDisabled(ie))),e.R7$(),e.SpI(" ",u," "),e.R7$(),e.Y8G("ngIf",de.isMonthSelected(ie))}}function Dt(ye,et){if(1&ye&&(e.j41(0,"div",60),e.DNE(1,ti,3,6,"span",61),e.k0s()),2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("ngForOf",u.monthPickerValues())}}function It(ye,et){if(1&ye&&(e.j41(0,"div",59),e.EFF(1),e.k0s()),2&ye){const u=e.XpG().$implicit;e.R7$(),e.SpI(" ",u," ")}}function xt(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"span",65),e.bIt("click",function(de){const Ae=e.eBV(u).$implicit,nt=e.XpG(4);return e.Njj(nt.onYearSelect(de,Ae))})("keydown",function(de){const Ae=e.eBV(u).$implicit,nt=e.XpG(4);return e.Njj(nt.onYearCellKeydown(de,Ae))}),e.EFF(1),e.DNE(2,It,2,1,"div",58),e.k0s()}if(2&ye){const u=et.$implicit,ie=e.XpG(4);e.Y8G("ngClass",e.l_i(3,o,ie.isYearSelected(u),ie.isYearDisabled(u))),e.R7$(),e.SpI(" ",u," "),e.R7$(),e.Y8G("ngIf",ie.isYearSelected(u))}}function wt(ye,et){if(1&ye&&(e.j41(0,"div",63),e.DNE(1,xt,3,6,"span",64),e.k0s()),2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("ngForOf",u.yearPickerValues())}}function Qt(ye,et){if(1&ye&&(e.qex(0),e.j41(1,"div",23),e.DNE(2,Pt,11,10,"div",24),e.k0s(),e.DNE(3,Dt,2,1,"div",25)(4,wt,2,1,"div",26),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(2),e.Y8G("ngForOf",u.months),e.R7$(),e.Y8G("ngIf","month"===u.currentView),e.R7$(),e.Y8G("ngIf","year"===u.currentView)}}function di(ye,et){1&ye&&e.nrm(0,"ChevronUpIcon")}function Ni(ye,et){}function mi(ye,et){1&ye&&e.DNE(0,Ni,0,0,"ng-template")}function vi(ye,et){1&ye&&(e.qex(0),e.EFF(1,"0"),e.bVm())}function zi(ye,et){1&ye&&e.nrm(0,"ChevronDownIcon")}function gs(ye,et){}function Fn(ye,et){1&ye&&e.DNE(0,gs,0,0,"ng-template")}function as(ye,et){1&ye&&e.nrm(0,"ChevronUpIcon")}function ms(ye,et){}function Ln(ye,et){1&ye&&e.DNE(0,ms,0,0,"ng-template")}function fn(ye,et){1&ye&&(e.qex(0),e.EFF(1,"0"),e.bVm())}function ki(ye,et){1&ye&&e.nrm(0,"ChevronDownIcon")}function Cs(ye,et){}function Kn(ye,et){1&ye&&e.DNE(0,Cs,0,0,"ng-template")}function In(ye,et){if(1&ye&&(e.j41(0,"div",69)(1,"span"),e.EFF(2),e.k0s()()),2&ye){const u=e.XpG(3);e.R7$(2),e.JRh(u.timeSeparator)}}function Bs(ye,et){1&ye&&e.nrm(0,"ChevronUpIcon")}function qn(ye,et){}function Wi(ye,et){1&ye&&e.DNE(0,qn,0,0,"ng-template")}function js(ye,et){1&ye&&(e.qex(0),e.EFF(1,"0"),e.bVm())}function On(ye,et){1&ye&&e.nrm(0,"ChevronDownIcon")}function ar(ye,et){}function To(ye,et){1&ye&&e.DNE(0,ar,0,0,"ng-template")}function Wr(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",74)(1,"button",68),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onContainerButtonKeydown(de))})("keydown.enter",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.incrementSecond(de))})("keydown.space",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.incrementSecond(de))})("mousedown",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onTimePickerElementMouseDown(de,2,1))})("mouseup",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.enter",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.space",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("mouseleave",function(){e.eBV(u);const de=e.XpG(3);return e.Njj(de.onTimePickerElementMouseLeave())}),e.DNE(2,Bs,1,0,"ChevronUpIcon",7)(3,Wi,1,0,null,13),e.k0s(),e.j41(4,"span"),e.DNE(5,js,2,0,"ng-container",7),e.EFF(6),e.k0s(),e.j41(7,"button",68),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onContainerButtonKeydown(de))})("keydown.enter",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.decrementSecond(de))})("keydown.space",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.decrementSecond(de))})("mousedown",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onTimePickerElementMouseDown(de,2,-1))})("mouseup",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.enter",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.space",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("mouseleave",function(){e.eBV(u);const de=e.XpG(3);return e.Njj(de.onTimePickerElementMouseLeave())}),e.DNE(8,On,1,0,"ChevronDownIcon",7)(9,To,1,0,null,13),e.k0s()()}if(2&ye){const u=e.XpG(3);e.R7$(),e.BMQ("aria-label",u.getTranslation("nextSecond")),e.R7$(),e.Y8G("ngIf",!u.incrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.incrementIconTemplate),e.R7$(2),e.Y8G("ngIf",u.currentSecond<10),e.R7$(),e.JRh(u.currentSecond),e.R7$(),e.BMQ("aria-label",u.getTranslation("prevSecond")),e.R7$(),e.Y8G("ngIf",!u.decrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decrementIconTemplate)}}function Cr(ye,et){1&ye&&e.nrm(0,"ChevronUpIcon")}function St(ye,et){}function Rt(ye,et){1&ye&&e.DNE(0,St,0,0,"ng-template")}function Nt(ye,et){1&ye&&e.nrm(0,"ChevronDownIcon")}function mt(ye,et){}function _t(ye,et){1&ye&&e.DNE(0,mt,0,0,"ng-template")}function $e(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",75)(1,"button",76),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onContainerButtonKeydown(de))})("click",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.toggleAMPM(de))})("keydown.enter",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.toggleAMPM(de))}),e.DNE(2,Cr,1,0,"ChevronUpIcon",7)(3,Rt,1,0,null,13),e.k0s(),e.j41(4,"span"),e.EFF(5),e.k0s(),e.j41(6,"button",76),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onContainerButtonKeydown(de))})("click",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.toggleAMPM(de))})("keydown.enter",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.toggleAMPM(de))}),e.DNE(7,Nt,1,0,"ChevronDownIcon",7)(8,_t,1,0,null,13),e.k0s()()}if(2&ye){const u=e.XpG(3);e.R7$(),e.BMQ("aria-label",u.getTranslation("am")),e.R7$(),e.Y8G("ngIf",!u.incrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.incrementIconTemplate),e.R7$(2),e.JRh(u.pm?"PM":"AM"),e.R7$(),e.BMQ("aria-label",u.getTranslation("pm")),e.R7$(),e.Y8G("ngIf",!u.decrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decrementIconTemplate)}}function yt(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",66)(1,"div",67)(2,"button",68),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onContainerButtonKeydown(de))})("keydown.enter",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.incrementHour(de))})("keydown.space",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.incrementHour(de))})("mousedown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseDown(de,0,1))})("mouseup",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.enter",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.space",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("mouseleave",function(){e.eBV(u);const de=e.XpG(2);return e.Njj(de.onTimePickerElementMouseLeave())}),e.DNE(3,di,1,0,"ChevronUpIcon",7)(4,mi,1,0,null,13),e.k0s(),e.j41(5,"span"),e.DNE(6,vi,2,0,"ng-container",7),e.EFF(7),e.k0s(),e.j41(8,"button",68),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onContainerButtonKeydown(de))})("keydown.enter",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.decrementHour(de))})("keydown.space",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.decrementHour(de))})("mousedown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseDown(de,0,-1))})("mouseup",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.enter",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.space",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("mouseleave",function(){e.eBV(u);const de=e.XpG(2);return e.Njj(de.onTimePickerElementMouseLeave())}),e.DNE(9,zi,1,0,"ChevronDownIcon",7)(10,Fn,1,0,null,13),e.k0s()(),e.j41(11,"div",69)(12,"span"),e.EFF(13),e.k0s()(),e.j41(14,"div",70)(15,"button",68),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onContainerButtonKeydown(de))})("keydown.enter",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.incrementMinute(de))})("keydown.space",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.incrementMinute(de))})("mousedown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseDown(de,1,1))})("mouseup",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.enter",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.space",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("mouseleave",function(){e.eBV(u);const de=e.XpG(2);return e.Njj(de.onTimePickerElementMouseLeave())}),e.DNE(16,as,1,0,"ChevronUpIcon",7)(17,Ln,1,0,null,13),e.k0s(),e.j41(18,"span"),e.DNE(19,fn,2,0,"ng-container",7),e.EFF(20),e.k0s(),e.j41(21,"button",68),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onContainerButtonKeydown(de))})("keydown.enter",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.decrementMinute(de))})("keydown.space",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.decrementMinute(de))})("mousedown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseDown(de,1,-1))})("mouseup",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.enter",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.space",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("mouseleave",function(){e.eBV(u);const de=e.XpG(2);return e.Njj(de.onTimePickerElementMouseLeave())}),e.DNE(22,ki,1,0,"ChevronDownIcon",7)(23,Kn,1,0,null,13),e.k0s()(),e.DNE(24,In,3,1,"div",71)(25,Wr,10,8,"div",72)(26,$e,9,7,"div",73),e.k0s()}if(2&ye){const u=e.XpG(2);e.R7$(2),e.BMQ("aria-label",u.getTranslation("nextHour")),e.R7$(),e.Y8G("ngIf",!u.incrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.incrementIconTemplate),e.R7$(2),e.Y8G("ngIf",u.currentHour<10),e.R7$(),e.JRh(u.currentHour),e.R7$(),e.BMQ("aria-label",u.getTranslation("prevHour")),e.R7$(),e.Y8G("ngIf",!u.decrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decrementIconTemplate),e.R7$(3),e.JRh(u.timeSeparator),e.R7$(2),e.BMQ("aria-label",u.getTranslation("nextMinute")),e.R7$(),e.Y8G("ngIf",!u.incrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.incrementIconTemplate),e.R7$(2),e.Y8G("ngIf",u.currentMinute<10),e.R7$(),e.JRh(u.currentMinute),e.R7$(),e.BMQ("aria-label",u.getTranslation("prevMinute")),e.R7$(),e.Y8G("ngIf",!u.decrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decrementIconTemplate),e.R7$(),e.Y8G("ngIf",u.showSeconds),e.R7$(),e.Y8G("ngIf",u.showSeconds),e.R7$(),e.Y8G("ngIf","12"==u.hourFormat)}}function At(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",77)(1,"button",78),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onContainerButtonKeydown(de))})("click",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTodayButtonClick(de))}),e.k0s(),e.j41(2,"button",78),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onContainerButtonKeydown(de))})("click",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onClearButtonClick(de))}),e.k0s()()}if(2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("label",u.getTranslation("today"))("ngClass",e.eq3(4,n,u.todayButtonStyleClass)),e.R7$(),e.Y8G("label",u.getTranslation("clear"))("ngClass",e.eq3(6,n,u.clearButtonStyleClass))}}function $t(ye,et){1&ye&&e.eu8(0)}function si(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",20,2),e.bIt("@overlayAnimation.start",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onOverlayAnimationStart(de))})("@overlayAnimation.done",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onOverlayAnimationDone(de))})("click",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onOverlayClick(de))}),e.SdG(2),e.DNE(3,x,1,0,"ng-container",13)(4,Qt,5,3,"ng-container",7)(5,yt,27,20,"div",21)(6,At,3,8,"div",22),e.SdG(7,1),e.DNE(8,$t,1,0,"ng-container",13),e.k0s()}if(2&ye){const u=e.XpG();e.HbH(u.panelStyleClass),e.Y8G("ngStyle",u.panelStyle)("ngClass",e.l4e(14,G,u.inline,u.disabled,u.timeOnly,u.numberOfMonths>1,"month"===u.view,u.touchUI))("@overlayAnimation",u.touchUI?e.eq3(24,f,e.l_i(21,O,u.showTransitionOptions,u.hideTransitionOptions)):e.eq3(29,a,e.l_i(26,O,u.showTransitionOptions,u.hideTransitionOptions)))("@.disabled",!0===u.inline),e.BMQ("aria-label",u.getTranslation("chooseDate"))("role",u.inline?null:"dialog")("aria-modal",u.inline?null:"true"),e.R7$(3),e.Y8G("ngTemplateOutlet",u.headerTemplate),e.R7$(),e.Y8G("ngIf",!u.timeOnly),e.R7$(),e.Y8G("ngIf",(u.showTime||u.timeOnly)&&"date"===u.currentView),e.R7$(),e.Y8G("ngIf",u.showButtonBar),e.R7$(2),e.Y8G("ngTemplateOutlet",u.footerTemplate)}}const Di={provide:V.kq,useExisting:(0,e.Rfq)(()=>qi),multi:!0};let qi=(()=>{class ye{document;el;renderer;cd;zone;config;overlayService;iconDisplay="button";style;styleClass;inputStyle;inputId;name;inputStyleClass;placeholder;ariaLabelledBy;ariaLabel;iconAriaLabel;disabled;dateFormat;multipleSeparator=",";rangeSeparator="-";inline=!1;showOtherMonths=!0;selectOtherMonths;showIcon;icon;appendTo;readonlyInput;shortYearCutoff="+10";monthNavigator;yearNavigator;hourFormat="24";timeOnly;stepHour=1;stepMinute=1;stepSecond=1;showSeconds=!1;required;showOnFocus=!0;showWeek=!1;showClear=!1;dataType="date";selectionMode="single";maxDateCount;showButtonBar;todayButtonStyleClass="p-button-text";clearButtonStyleClass="p-button-text";autoZIndex=!0;baseZIndex=0;panelStyleClass;panelStyle;keepInvalid=!1;hideOnDateTimeSelect=!0;touchUI;timeSeparator=":";focusTrap=!0;showTransitionOptions=".12s cubic-bezier(0, 0, 0.2, 1)";hideTransitionOptions=".1s linear";tabindex;get minDate(){return this._minDate}set minDate(u){this._minDate=u,null!=this.currentMonth&&null!=this.currentMonth&&this.currentYear&&this.createMonths(this.currentMonth,this.currentYear)}get maxDate(){return this._maxDate}set maxDate(u){this._maxDate=u,null!=this.currentMonth&&null!=this.currentMonth&&this.currentYear&&this.createMonths(this.currentMonth,this.currentYear)}get disabledDates(){return this._disabledDates}set disabledDates(u){this._disabledDates=u,null!=this.currentMonth&&null!=this.currentMonth&&this.currentYear&&this.createMonths(this.currentMonth,this.currentYear)}get disabledDays(){return this._disabledDays}set disabledDays(u){this._disabledDays=u,null!=this.currentMonth&&null!=this.currentMonth&&this.currentYear&&this.createMonths(this.currentMonth,this.currentYear)}get yearRange(){return this._yearRange}set yearRange(u){if(this._yearRange=u,u){const ie=u.split(":"),de=parseInt(ie[0]),Ae=parseInt(ie[1]);this.populateYearOptions(de,Ae)}}get showTime(){return this._showTime}set showTime(u){this._showTime=u,void 0===this.currentHour&&this.initTime(this.value||new Date),this.updateInputfield()}get responsiveOptions(){return this._responsiveOptions}set responsiveOptions(u){this._responsiveOptions=u,this.destroyResponsiveStyleElement(),this.createResponsiveStyle()}get numberOfMonths(){return this._numberOfMonths}set numberOfMonths(u){this._numberOfMonths=u,this.destroyResponsiveStyleElement(),this.createResponsiveStyle()}get firstDayOfWeek(){return this._firstDayOfWeek}set firstDayOfWeek(u){this._firstDayOfWeek=u,this.createWeekDays()}set locale(u){console.warn("Locale property has no effect, use new i18n API instead.")}get view(){return this._view}set view(u){this._view=u,this.currentView=this._view}get defaultDate(){return this._defaultDate}set defaultDate(u){if(this._defaultDate=u,this.initialized){const ie=u||new Date;this.currentMonth=ie.getMonth(),this.currentYear=ie.getFullYear(),this.initTime(ie),this.createMonths(this.currentMonth,this.currentYear)}}onFocus=new e.bkB;onBlur=new e.bkB;onClose=new e.bkB;onSelect=new e.bkB;onClear=new e.bkB;onInput=new e.bkB;onTodayClick=new e.bkB;onClearClick=new e.bkB;onMonthChange=new e.bkB;onYearChange=new e.bkB;onClickOutside=new e.bkB;onShow=new e.bkB;templates;containerViewChild;inputfieldViewChild;set content(u){this.contentViewChild=u,this.contentViewChild&&(this.isMonthNavigate?(Promise.resolve(null).then(()=>this.updateFocus()),this.isMonthNavigate=!1):!this.focus&&!this.inline&&this.initFocusableCell())}contentViewChild;value;dates;months;weekDays;currentMonth;currentYear;currentHour;currentMinute;currentSecond;pm;mask;maskClickListener;overlay;responsiveStyleElement;overlayVisible;onModelChange=()=>{};onModelTouched=()=>{};calendarElement;timePickerTimer;documentClickListener;animationEndListener;ticksTo1970;yearOptions;focus;isKeydown;filled;inputFieldValue=null;_minDate;_maxDate;_showTime;_yearRange;preventDocumentListener;dateTemplate;headerTemplate;footerTemplate;disabledDateTemplate;decadeTemplate;previousIconTemplate;nextIconTemplate;triggerIconTemplate;clearIconTemplate;decrementIconTemplate;incrementIconTemplate;inputIconTemplate;_disabledDates;_disabledDays;selectElement;todayElement;focusElement;scrollHandler;documentResizeListener;navigationState=null;isMonthNavigate;initialized;translationSubscription;_locale;_responsiveOptions;currentView;attributeSelector;panelId;_numberOfMonths=1;_firstDayOfWeek;_view="date";preventFocus;_defaultDate;window;get locale(){return this._locale}get iconButtonAriaLabel(){return this.iconAriaLabel?this.iconAriaLabel:this.getTranslation("chooseDate")}get prevIconAriaLabel(){return this.getTranslation("year"===this.currentView?"prevDecade":"month"===this.currentView?"prevYear":"prevMonth")}get nextIconAriaLabel(){return this.getTranslation("year"===this.currentView?"nextDecade":"month"===this.currentView?"nextYear":"nextMonth")}constructor(u,ie,de,Ae,nt,kt,zt){this.document=u,this.el=ie,this.renderer=de,this.cd=Ae,this.zone=nt,this.config=kt,this.overlayService=zt,this.window=this.document.defaultView}ngOnInit(){this.attributeSelector=(0,le._Y)(),this.panelId=this.attributeSelector+"_panel";const u=this.defaultDate||new Date;this.createResponsiveStyle(),this.currentMonth=u.getMonth(),this.currentYear=u.getFullYear(),this.yearOptions=[],this.currentView=this.view,"date"===this.view&&(this.createWeekDays(),this.initTime(u),this.createMonths(this.currentMonth,this.currentYear),this.ticksTo1970=24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*60*60*1e7),this.translationSubscription=this.config.translationObserver.subscribe(()=>{this.createWeekDays(),this.cd.markForCheck()}),this.initialized=!0}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"date":default:this.dateTemplate=u.template;break;case"decade":this.decadeTemplate=u.template;break;case"disabledDate":this.disabledDateTemplate=u.template;break;case"header":this.headerTemplate=u.template;break;case"inputicon":this.inputIconTemplate=u.template;break;case"previousicon":this.previousIconTemplate=u.template;break;case"nexticon":this.nextIconTemplate=u.template;break;case"triggericon":this.triggerIconTemplate=u.template;break;case"clearicon":this.clearIconTemplate=u.template;break;case"decrementicon":this.decrementIconTemplate=u.template;break;case"incrementicon":this.incrementIconTemplate=u.template;break;case"footer":this.footerTemplate=u.template}})}ngAfterViewInit(){this.inline&&(this.contentViewChild&&this.contentViewChild.nativeElement.setAttribute(this.attributeSelector,""),!this.disabled&&!this.inline&&(this.initFocusableCell(),1===this.numberOfMonths&&this.contentViewChild&&this.contentViewChild.nativeElement&&(this.contentViewChild.nativeElement.style.width=re.D.getOuterWidth(this.containerViewChild?.nativeElement)+"px")))}getTranslation(u){return this.config.getTranslation(u)}populateYearOptions(u,ie){this.yearOptions=[];for(let de=u;de<=ie;de++)this.yearOptions.push(de)}createWeekDays(){this.weekDays=[];let u=this.getFirstDateOfWeek(),ie=this.getTranslation(Le.Yj.DAY_NAMES_MIN);for(let de=0;de<7;de++)this.weekDays.push(ie[u]),u=6==u?0:++u}monthPickerValues(){let u=[];for(let ie=0;ie<=11;ie++)u.push(this.config.getTranslation("monthNamesShort")[ie]);return u}yearPickerValues(){let u=[],ie=this.currentYear-this.currentYear%10;for(let de=0;de<10;de++)u.push(ie+de);return u}createMonths(u,ie){this.months=this.months=[];for(let de=0;de11&&(Ae=Ae%11-1,nt=ie+1),this.months.push(this.createMonth(Ae,nt))}}getWeekNumber(u){let ie=new Date(u.getTime());ie.setDate(ie.getDate()+4-(ie.getDay()||7));let de=ie.getTime();return ie.setMonth(0),ie.setDate(1),Math.floor(Math.round((de-ie.getTime())/864e5)/7)+1}createMonth(u,ie){let de=[],Ae=this.getFirstDayOfMonthIndex(u,ie),nt=this.getDaysCountInMonth(u,ie),kt=this.getDaysCountInPrevMonth(u,ie),zt=1,ai=new Date,oi=[],Li=Math.ceil((nt+Ae)/7);for(let Yi=0;Yint){let _n=this.getNextMonthAndYear(u,ie);Xi.push({day:zt-nt,month:_n.month,year:_n.year,otherMonth:!0,today:this.isToday(ai,zt-nt,_n.month,_n.year),selectable:this.isSelectable(zt-nt,_n.month,_n.year,!0)})}else Xi.push({day:zt,month:u,year:ie,today:this.isToday(ai,zt,u,ie),selectable:this.isSelectable(zt,u,ie,!1)});zt++}this.showWeek&&oi.push(this.getWeekNumber(new Date(Xi[0].year,Xi[0].month,Xi[0].day))),de.push(Xi)}return{month:u,year:ie,dates:de,weekNumbers:oi}}initTime(u){this.pm=u.getHours()>11,this.showTime?(this.currentMinute=u.getMinutes(),this.currentSecond=u.getSeconds(),this.setCurrentHourPM(u.getHours())):this.timeOnly&&(this.currentMinute=0,this.currentHour=0,this.currentSecond=0)}navBackward(u){this.disabled?u.preventDefault():(this.isMonthNavigate=!0,"month"===this.currentView?(this.decrementYear(),setTimeout(()=>{this.updateFocus()},1)):"year"===this.currentView?(this.decrementDecade(),setTimeout(()=>{this.updateFocus()},1)):(0===this.currentMonth?(this.currentMonth=11,this.decrementYear()):this.currentMonth--,this.onMonthChange.emit({month:this.currentMonth+1,year:this.currentYear}),this.createMonths(this.currentMonth,this.currentYear)))}navForward(u){this.disabled?u.preventDefault():(this.isMonthNavigate=!0,"month"===this.currentView?(this.incrementYear(),setTimeout(()=>{this.updateFocus()},1)):"year"===this.currentView?(this.incrementDecade(),setTimeout(()=>{this.updateFocus()},1)):(11===this.currentMonth?(this.currentMonth=0,this.incrementYear()):this.currentMonth++,this.onMonthChange.emit({month:this.currentMonth+1,year:this.currentYear}),this.createMonths(this.currentMonth,this.currentYear)))}decrementYear(){this.currentYear--;let u=this.yearOptions;if(this.yearNavigator&&this.currentYearu[u.length-1]){let ie=u[u.length-1]-u[0];this.populateYearOptions(u[0]+ie,u[u.length-1]+ie)}}switchToMonthView(u){this.setCurrentView("month"),u.preventDefault()}switchToYearView(u){this.setCurrentView("year"),u.preventDefault()}onDateSelect(u,ie){!this.disabled&&ie.selectable?(this.isMultipleSelection()&&this.isSelected(ie)?(this.value=this.value.filter((de,Ae)=>!this.isDateEquals(de,ie)),0===this.value.length&&(this.value=null),this.updateModel(this.value)):this.shouldSelectDate(ie)&&this.selectDate(ie),(this.isSingleSelection()&&this.hideOnDateTimeSelect||this.isRangeSelection()&&this.value[1])&&setTimeout(()=>{u.preventDefault(),this.hideOverlay(),this.mask&&this.disableModality(),this.cd.markForCheck()},150),this.updateInputfield(),u.preventDefault()):u.preventDefault()}shouldSelectDate(u){return!this.isMultipleSelection()||null==this.maxDateCount||this.maxDateCount>(this.value?this.value.length:0)}onMonthSelect(u,ie){"month"===this.view?this.onDateSelect(u,{year:this.currentYear,month:ie,day:1,selectable:!0}):(this.currentMonth=ie,this.createMonths(this.currentMonth,this.currentYear),this.setCurrentView("date"),this.onMonthChange.emit({month:this.currentMonth+1,year:this.currentYear}))}onYearSelect(u,ie){"year"===this.view?this.onDateSelect(u,{year:ie,month:0,day:1,selectable:!0}):(this.currentYear=ie,this.setCurrentView("month"),this.onYearChange.emit({month:this.currentMonth+1,year:this.currentYear}))}updateInputfield(){let u="";if(this.value)if(this.isSingleSelection())u=this.formatDateTime(this.value);else if(this.isMultipleSelection())for(let ie=0;ie11,this.currentHour=u>=12?12==u?12:u-12:0==u?12:u):this.currentHour=u}setCurrentView(u){this.currentView=u,this.cd.detectChanges(),this.alignOverlay()}selectDate(u){let ie=new Date(u.year,u.month,u.day);if(this.showTime&&(ie.setHours("12"==this.hourFormat?12===this.currentHour?this.pm?12:0:this.pm?this.currentHour+12:this.currentHour:this.currentHour),ie.setMinutes(this.currentMinute),ie.setSeconds(this.currentSecond)),this.minDate&&this.minDate>ie&&(ie=this.minDate,this.setCurrentHourPM(ie.getHours()),this.currentMinute=ie.getMinutes(),this.currentSecond=ie.getSeconds()),this.maxDate&&this.maxDate=de.getTime()?Ae=ie:(de=ie,Ae=null),this.updateModel([de,Ae])}else this.updateModel([ie,null]);this.onSelect.emit(ie)}updateModel(u){if(this.value=u,"date"==this.dataType)this.onModelChange(this.value);else if("string"==this.dataType)if(this.isSingleSelection())this.onModelChange(this.formatDateTime(this.value));else{let ie=null;Array.isArray(this.value)&&(ie=this.value.map(de=>this.formatDateTime(de))),this.onModelChange(ie)}}getFirstDayOfMonthIndex(u,ie){let de=new Date;de.setDate(1),de.setMonth(u),de.setFullYear(ie);let Ae=de.getDay()+this.getSundayIndex();return Ae>=7?Ae-7:Ae}getDaysCountInMonth(u,ie){return 32-this.daylightSavingAdjust(new Date(ie,u,32)).getDate()}getDaysCountInPrevMonth(u,ie){let de=this.getPreviousMonthAndYear(u,ie);return this.getDaysCountInMonth(de.month,de.year)}getPreviousMonthAndYear(u,ie){let de,Ae;return 0===u?(de=11,Ae=ie-1):(de=u-1,Ae=ie),{month:de,year:Ae}}getNextMonthAndYear(u,ie){let de,Ae;return 11===u?(de=0,Ae=ie+1):(de=u+1,Ae=ie),{month:de,year:Ae}}getSundayIndex(){let u=this.getFirstDateOfWeek();return u>0?7-u:0}isSelected(u){if(!this.value)return!1;if(this.isSingleSelection())return this.isDateEquals(this.value,u);if(this.isMultipleSelection()){let ie=!1;for(let de of this.value)if(ie=this.isDateEquals(de,u),ie)break;return ie}return this.isRangeSelection()?this.value[1]?this.isDateEquals(this.value[0],u)||this.isDateEquals(this.value[1],u)||this.isDateBetween(this.value[0],this.value[1],u):this.isDateEquals(this.value[0],u):void 0}isComparable(){return null!=this.value&&"string"!=typeof this.value}isMonthSelected(u){if(this.isComparable()&&!this.isMultipleSelection()){const[ie,de]=this.isRangeSelection()?this.value:[this.value,this.value],Ae=new Date(this.currentYear,u,1);return Ae>=ie&&Ae<=(de??ie)}return!1}isMonthDisabled(u){for(let ie=1;ie=nt.getTime()}return!1}isSingleSelection(){return"single"===this.selectionMode}isRangeSelection(){return"range"===this.selectionMode}isMultipleSelection(){return"multiple"===this.selectionMode}isToday(u,ie,de,Ae){return u.getDate()===ie&&u.getMonth()===de&&u.getFullYear()===Ae}isSelectable(u,ie,de,Ae){let nt=!0,kt=!0,zt=!0,ai=!0;return!(Ae&&!this.selectOtherMonths)&&(this.minDate&&(this.minDate.getFullYear()>de||this.minDate.getFullYear()===de&&"year"!=this.currentView&&(this.minDate.getMonth()>ie||this.minDate.getMonth()===ie&&this.minDate.getDate()>u))&&(nt=!1),this.maxDate&&(this.maxDate.getFullYear()1||this.disabled}onPrevButtonClick(u){this.navigationState={backward:!0,button:!0},this.navBackward(u)}onNextButtonClick(u){this.navigationState={backward:!1,button:!0},this.navForward(u)}onContainerButtonKeydown(u){switch(u.which){case 9:if(this.inline||this.trapFocus(u),this.inline){const ie=re.D.findSingle(this.containerViewChild?.nativeElement,".p-datepicker-header");u.target==ie.children[ie.children.length-1]&&this.initFocusableCell()}break;case 27:this.inputfieldViewChild?.nativeElement.focus(),this.overlayVisible=!1,u.preventDefault()}}onInputKeydown(u){this.isKeydown=!0,40===u.keyCode&&this.contentViewChild?this.trapFocus(u):27===u.keyCode?this.overlayVisible&&(this.inputfieldViewChild?.nativeElement.focus(),this.overlayVisible=!1,u.preventDefault()):13===u.keyCode?this.overlayVisible&&(this.overlayVisible=!1,u.preventDefault()):9===u.keyCode&&this.contentViewChild&&(re.D.getFocusableElements(this.contentViewChild.nativeElement).forEach(ie=>ie.tabIndex="-1"),this.overlayVisible&&(this.overlayVisible=!1))}onDateCellKeydown(u,ie,de){const Ae=u.currentTarget,nt=Ae.parentElement;switch(u.which){case 40:{Ae.tabIndex="-1";let kt=re.D.index(nt),zt=nt.parentElement.nextElementSibling;zt?re.D.hasClass(zt.children[kt].children[0],"p-disabled")?(this.navigationState={backward:!1},this.navForward(u)):(zt.children[kt].children[0].tabIndex="0",zt.children[kt].children[0].focus()):(this.navigationState={backward:!1},this.navForward(u)),u.preventDefault();break}case 38:{Ae.tabIndex="-1";let kt=re.D.index(nt),zt=nt.parentElement.previousElementSibling;if(zt){let ai=zt.children[kt].children[0];re.D.hasClass(ai,"p-disabled")?(this.navigationState={backward:!0},this.navBackward(u)):(ai.tabIndex="0",ai.focus())}else this.navigationState={backward:!0},this.navBackward(u);u.preventDefault();break}case 37:{Ae.tabIndex="-1";let kt=nt.previousElementSibling;if(kt){let zt=kt.children[0];re.D.hasClass(zt,"p-disabled")||re.D.hasClass(zt.parentElement,"p-datepicker-weeknumber")?this.navigateToMonth(!0,de):(zt.tabIndex="0",zt.focus())}else this.navigateToMonth(!0,de);u.preventDefault();break}case 39:{Ae.tabIndex="-1";let kt=nt.nextElementSibling;if(kt){let zt=kt.children[0];re.D.hasClass(zt,"p-disabled")?this.navigateToMonth(!1,de):(zt.tabIndex="0",zt.focus())}else this.navigateToMonth(!1,de);u.preventDefault();break}case 13:case 32:this.onDateSelect(u,ie),u.preventDefault();break;case 27:this.inputfieldViewChild?.nativeElement.focus(),this.overlayVisible=!1,u.preventDefault();break;case 9:this.inline||this.trapFocus(u)}}onMonthCellKeydown(u,ie){const de=u.currentTarget;switch(u.which){case 38:case 40:{de.tabIndex="-1";var Ae=de.parentElement.children,nt=re.D.index(de);let kt=Ae[40===u.which?nt+3:nt-3];kt&&(kt.tabIndex="0",kt.focus()),u.preventDefault();break}case 37:{de.tabIndex="-1";let kt=de.previousElementSibling;kt?(kt.tabIndex="0",kt.focus()):(this.navigationState={backward:!0},this.navBackward(u)),u.preventDefault();break}case 39:{de.tabIndex="-1";let kt=de.nextElementSibling;kt?(kt.tabIndex="0",kt.focus()):(this.navigationState={backward:!1},this.navForward(u)),u.preventDefault();break}case 13:case 32:this.onMonthSelect(u,ie),u.preventDefault();break;case 27:this.inputfieldViewChild?.nativeElement.focus(),this.overlayVisible=!1,u.preventDefault();break;case 9:this.inline||this.trapFocus(u)}}onYearCellKeydown(u,ie){const de=u.currentTarget;switch(u.which){case 38:case 40:{de.tabIndex="-1";var Ae=de.parentElement.children,nt=re.D.index(de);let kt=Ae[40===u.which?nt+2:nt-2];kt&&(kt.tabIndex="0",kt.focus()),u.preventDefault();break}case 37:{de.tabIndex="-1";let kt=de.previousElementSibling;kt?(kt.tabIndex="0",kt.focus()):(this.navigationState={backward:!0},this.navBackward(u)),u.preventDefault();break}case 39:{de.tabIndex="-1";let kt=de.nextElementSibling;kt?(kt.tabIndex="0",kt.focus()):(this.navigationState={backward:!1},this.navForward(u)),u.preventDefault();break}case 13:case 32:this.onYearSelect(u,ie),u.preventDefault();break;case 27:this.inputfieldViewChild?.nativeElement.focus(),this.overlayVisible=!1,u.preventDefault();break;case 9:this.trapFocus(u)}}navigateToMonth(u,ie){if(u)if(1===this.numberOfMonths||0===ie)this.navigationState={backward:!0},this.navBackward(event);else{let Ae=re.D.find(this.contentViewChild.nativeElement.children[ie-1],".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)"),nt=Ae[Ae.length-1];nt.tabIndex="0",nt.focus()}else if(1===this.numberOfMonths||ie===this.numberOfMonths-1)this.navigationState={backward:!1},this.navForward(event);else{let Ae=re.D.findSingle(this.contentViewChild.nativeElement.children[ie+1],".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)");Ae.tabIndex="0",Ae.focus()}}updateFocus(){let u;if(this.navigationState){if(this.navigationState.button)this.initFocusableCell(),this.navigationState.backward?re.D.findSingle(this.contentViewChild.nativeElement,".p-datepicker-prev").focus():re.D.findSingle(this.contentViewChild.nativeElement,".p-datepicker-next").focus();else{if(this.navigationState.backward){let ie;ie=re.D.find(this.contentViewChild.nativeElement,"month"===this.currentView?".p-monthpicker .p-monthpicker-month:not(.p-disabled)":"year"===this.currentView?".p-yearpicker .p-yearpicker-year:not(.p-disabled)":".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)"),ie&&ie.length>0&&(u=ie[ie.length-1])}else u=re.D.findSingle(this.contentViewChild.nativeElement,"month"===this.currentView?".p-monthpicker .p-monthpicker-month:not(.p-disabled)":"year"===this.currentView?".p-yearpicker .p-yearpicker-year:not(.p-disabled)":".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)");u&&(u.tabIndex="0",u.focus())}this.navigationState=null}else this.initFocusableCell()}initFocusableCell(){const u=this.contentViewChild?.nativeElement;let ie;if("month"===this.currentView){let de=re.D.find(u,".p-monthpicker .p-monthpicker-month:not(.p-disabled)"),Ae=re.D.findSingle(u,".p-monthpicker .p-monthpicker-month.p-highlight");de.forEach(nt=>nt.tabIndex=-1),ie=Ae||de[0],0===de.length&&re.D.find(u,'.p-monthpicker .p-monthpicker-month.p-disabled[tabindex = "0"]').forEach(kt=>kt.tabIndex=-1)}else if("year"===this.currentView){let de=re.D.find(u,".p-yearpicker .p-yearpicker-year:not(.p-disabled)"),Ae=re.D.findSingle(u,".p-yearpicker .p-yearpicker-year.p-highlight");de.forEach(nt=>nt.tabIndex=-1),ie=Ae||de[0],0===de.length&&re.D.find(u,'.p-yearpicker .p-yearpicker-year.p-disabled[tabindex = "0"]').forEach(kt=>kt.tabIndex=-1)}else if(ie=re.D.findSingle(u,"span.p-highlight"),!ie){let de=re.D.findSingle(u,"td.p-datepicker-today span:not(.p-disabled):not(.p-ink)");ie=de||re.D.findSingle(u,".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)")}ie&&(ie.tabIndex="0",!this.preventFocus&&(!this.navigationState||!this.navigationState.button)&&setTimeout(()=>{this.disabled||ie.focus()},1),this.preventFocus=!1)}trapFocus(u){let ie=re.D.getFocusableElements(this.contentViewChild.nativeElement);if(ie&&ie.length>0)if(ie[0].ownerDocument.activeElement){let de=ie.indexOf(ie[0].ownerDocument.activeElement);if(u.shiftKey)if(-1==de||0===de)if(this.focusTrap)ie[ie.length-1].focus();else{if(-1===de)return this.hideOverlay();if(0===de)return}else ie[de-1].focus();else if(-1==de)if(this.timeOnly)ie[0].focus();else{let Ae=0;for(let nt=0;ntkt||this.minDate.getHours()===kt&&(this.minDate.getMinutes()>ie||this.minDate.getMinutes()===ie&&this.minDate.getSeconds()>de))||this.maxDate&&Li&&this.maxDate.toDateString()===Li&&(this.maxDate.getHours()=24?de-24:de:"12"==this.hourFormat&&(this.currentHour<12&&de>11&&(Ae=!this.pm),de=de>=13?de-12:de),this.validateTime(de,this.currentMinute,this.currentSecond,Ae)&&(this.currentHour=de,this.pm=Ae),u.preventDefault()}onTimePickerElementMouseDown(u,ie,de){this.disabled||(this.repeat(u,null,ie,de),u.preventDefault())}onTimePickerElementMouseUp(u){this.disabled||(this.clearTimePickerTimer(),this.updateTime())}onTimePickerElementMouseLeave(){!this.disabled&&this.timePickerTimer&&(this.clearTimePickerTimer(),this.updateTime())}repeat(u,ie,de,Ae){let nt=ie||500;switch(this.clearTimePickerTimer(),this.timePickerTimer=setTimeout(()=>{this.repeat(u,100,de,Ae),this.cd.markForCheck()},nt),de){case 0:1===Ae?this.incrementHour(u):this.decrementHour(u);break;case 1:1===Ae?this.incrementMinute(u):this.decrementMinute(u);break;case 2:1===Ae?this.incrementSecond(u):this.decrementSecond(u)}this.updateInputfield()}clearTimePickerTimer(){this.timePickerTimer&&(clearTimeout(this.timePickerTimer),this.timePickerTimer=null)}decrementHour(u){let ie=this.currentHour-this.stepHour,de=this.pm;"24"==this.hourFormat?ie=ie<0?24+ie:ie:"12"==this.hourFormat&&(12===this.currentHour&&(de=!this.pm),ie=ie<=0?12+ie:ie),this.validateTime(ie,this.currentMinute,this.currentSecond,de)&&(this.currentHour=ie,this.pm=de),u.preventDefault()}incrementMinute(u){let ie=this.currentMinute+this.stepMinute;ie=ie>59?ie-60:ie,this.validateTime(this.currentHour,ie,this.currentSecond,this.pm)&&(this.currentMinute=ie),u.preventDefault()}decrementMinute(u){let ie=this.currentMinute-this.stepMinute;ie=ie<0?60+ie:ie,this.validateTime(this.currentHour,ie,this.currentSecond,this.pm)&&(this.currentMinute=ie),u.preventDefault()}incrementSecond(u){let ie=this.currentSecond+this.stepSecond;ie=ie>59?ie-60:ie,this.validateTime(this.currentHour,this.currentMinute,ie,this.pm)&&(this.currentSecond=ie),u.preventDefault()}decrementSecond(u){let ie=this.currentSecond-this.stepSecond;ie=ie<0?60+ie:ie,this.validateTime(this.currentHour,this.currentMinute,ie,this.pm)&&(this.currentSecond=ie),u.preventDefault()}updateTime(){let u=this.value;this.isRangeSelection()&&(u=this.value[1]||this.value[0]),this.isMultipleSelection()&&(u=this.value[this.value.length-1]),u=u?new Date(u.getTime()):new Date,u.setHours("12"==this.hourFormat?12===this.currentHour?this.pm?12:0:this.pm?this.currentHour+12:this.currentHour:this.currentHour),u.setMinutes(this.currentMinute),u.setSeconds(this.currentSecond),this.isRangeSelection()&&(u=this.value[1]?[this.value[0],u]:[u,null]),this.isMultipleSelection()&&(u=[...this.value.slice(0,-1),u]),this.updateModel(u),this.onSelect.emit(u),this.updateInputfield()}toggleAMPM(u){const ie=!this.pm;this.validateTime(this.currentHour,this.currentMinute,this.currentSecond,ie)&&(this.pm=ie,this.updateTime()),u.preventDefault()}onUserInput(u){if(!this.isKeydown)return;this.isKeydown=!1;let ie=u.target.value;try{let de=this.parseValueFromString(ie);this.isValidSelection(de)?(this.updateModel(de),this.updateUI()):this.keepInvalid&&this.updateModel(de)}catch{this.updateModel(this.keepInvalid?ie:null)}this.filled=null!=ie&&ie.length,this.onInput.emit(u)}isValidSelection(u){let ie=!0;return this.isSingleSelection()?this.isSelectable(u.getDate(),u.getMonth(),u.getFullYear(),!1)||(ie=!1):u.every(de=>this.isSelectable(de.getDate(),de.getMonth(),de.getFullYear(),!1))&&this.isRangeSelection()&&(ie=u.length>1&&u[1]>u[0]),ie}parseValueFromString(u){if(!u||0===u.trim().length)return null;let ie;if(this.isSingleSelection())ie=this.parseDateTime(u);else if(this.isMultipleSelection()){let de=u.split(this.multipleSeparator);ie=[];for(let Ae of de)ie.push(this.parseDateTime(Ae.trim()))}else if(this.isRangeSelection()){let de=u.split(" "+this.rangeSeparator+" ");ie=[];for(let Ae=0;Ae{this.disableModality(),this.overlayVisible=!1}),this.renderer.appendChild(this.document.body,this.mask),re.D.blockBodyScroll())}disableModality(){this.mask&&(re.D.addClass(this.mask,"p-component-overlay-leave"),this.animationEndListener||(this.animationEndListener=this.renderer.listen(this.mask,"animationend",this.destroyMask.bind(this))))}destroyMask(){if(!this.mask)return;this.renderer.removeChild(this.document.body,this.mask);let ie,u=this.document.body.children;for(let de=0;de{const Li=de+1{let Xi=""+Li;if(Ae(oi))for(;Xi.lengthAe(oi)?Xi[Li]:Yi[Li];let zt="",ai=!1;if(u)for(de=0;de11&&12!=de&&(de-=12),ie+="12"==this.hourFormat&&0===de?12:de<10?"0"+de:de,ie+=":",ie+=Ae<10?"0"+Ae:Ae,this.showSeconds&&(ie+=":",ie+=nt<10?"0"+nt:nt),"12"==this.hourFormat&&(ie+=u.getHours()>11?" PM":" AM"),ie}parseTime(u){let ie=u.split(":");if(ie.length!==(this.showSeconds?3:2))throw"Invalid time";let Ae=parseInt(ie[0]),nt=parseInt(ie[1]),kt=this.showSeconds?parseInt(ie[2]):null;if(isNaN(Ae)||isNaN(nt)||Ae>23||nt>59||"12"==this.hourFormat&&Ae>12||this.showSeconds&&(isNaN(kt)||kt>59))throw"Invalid time";return"12"==this.hourFormat&&(12!==Ae&&this.pm?Ae+=12:!this.pm&&12===Ae&&(Ae-=12)),{hour:Ae,minute:nt,second:kt}}parseDate(u,ie){if(null==ie||null==u)throw"Invalid arguments";if(""===(u="object"==typeof u?u.toString():u+""))return null;let de,Ae,nt,Ji,kt=0,zt="string"!=typeof this.shortYearCutoff?this.shortYearCutoff:(new Date).getFullYear()%100+parseInt(this.shortYearCutoff,10),ai=-1,oi=-1,Li=-1,Yi=-1,Xi=!1,_n=Zs=>{let dr=de+1{let dr=_n(Zs),ho="@"===Zs?14:"!"===Zs?20:"y"===Zs&&dr?4:"o"===Zs?3:2,Mc=new RegExp("^\\d{"+("y"===Zs?ho:1)+","+ho+"}"),la=u.substring(kt).match(Mc);if(!la)throw"Missing number at position "+kt;return kt+=la[0].length,parseInt(la[0],10)},Jn=(Zs,dr,ho)=>{let sr=-1,Mc=_n(Zs)?ho:dr,la=[];for(let Ns=0;Ns-(Ns[1].length-Ea[1].length));for(let Ns=0;Ns{if(u.charAt(kt)!==ie.charAt(de))throw"Unexpected literal at position "+kt;kt++};for("month"===this.view&&(Li=1),de=0;de-1)for(oi=1,Li=Yi;Ae=this.getDaysCountInMonth(ai,oi-1),!(Li<=Ae);)oi++,Li-=Ae;if("year"===this.view&&(oi=-1===oi?1:oi,Li=-1===Li?1:Li),Ji=this.daylightSavingAdjust(new Date(ai,oi-1,Li)),Ji.getFullYear()!==ai||Ji.getMonth()+1!==oi||Ji.getDate()!==Li)throw"Invalid date";return Ji}daylightSavingAdjust(u){return u?(u.setHours(u.getHours()>12?u.getHours()+2:0),u):null}updateFilledState(){this.filled=this.inputFieldValue&&""!=this.inputFieldValue}onTodayButtonClick(u){const ie=new Date,de={day:ie.getDate(),month:ie.getMonth(),year:ie.getFullYear(),otherMonth:ie.getMonth()!==this.currentMonth||ie.getFullYear()!==this.currentYear,today:!0,selectable:!0};this.createMonths(ie.getMonth(),ie.getFullYear()),this.onDateSelect(u,de),this.onTodayClick.emit(u)}onClearButtonClick(u){this.updateModel(null),this.updateInputfield(),this.hideOverlay(),this.onClearClick.emit(u)}createResponsiveStyle(){if(this.numberOfMonths>1&&this.responsiveOptions){this.responsiveStyleElement||(this.responsiveStyleElement=this.renderer.createElement("style"),this.responsiveStyleElement.type="text/css",this.renderer.appendChild(this.document.body,this.responsiveStyleElement));let u="";if(this.responsiveOptions){let ie=[...this.responsiveOptions].filter(de=>!(!de.breakpoint||!de.numMonths)).sort((de,Ae)=>-1*de.breakpoint.localeCompare(Ae.breakpoint,void 0,{numeric:!0}));for(let de=0;de{this.documentClickListener=this.renderer.listen(this.el?this.el.nativeElement.ownerDocument:this.document,"mousedown",ie=>{this.isOutsideClicked(ie)&&this.overlayVisible&&this.zone.run(()=>{this.hideOverlay(),this.onClickOutside.emit(ie),this.cd.markForCheck()})})})}unbindDocumentClickListener(){this.documentClickListener&&(this.documentClickListener(),this.documentClickListener=null)}bindDocumentResizeListener(){!this.documentResizeListener&&!this.touchUI&&(this.documentResizeListener=this.renderer.listen(this.window,"resize",this.onWindowResize.bind(this)))}unbindDocumentResizeListener(){this.documentResizeListener&&(this.documentResizeListener(),this.documentResizeListener=null)}bindScrollListener(){this.scrollHandler||(this.scrollHandler=new re.b(this.containerViewChild?.nativeElement,()=>{this.overlayVisible&&this.hideOverlay()})),this.scrollHandler.bindScrollListener()}unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()}isOutsideClicked(u){return!(this.el.nativeElement.isSameNode(u.target)||this.isNavIconClicked(u)||this.el.nativeElement.contains(u.target)||this.overlay&&this.overlay.contains(u.target))}isNavIconClicked(u){return re.D.hasClass(u.target,"p-datepicker-prev")||re.D.hasClass(u.target,"p-datepicker-prev-icon")||re.D.hasClass(u.target,"p-datepicker-next")||re.D.hasClass(u.target,"p-datepicker-next-icon")}onWindowResize(){this.overlayVisible&&!re.D.isTouchDevice()&&this.hideOverlay()}onOverlayHide(){this.currentView=this.view,this.mask&&this.destroyMask(),this.unbindDocumentClickListener(),this.unbindDocumentResizeListener(),this.unbindScrollListener(),this.overlay=null}ngOnDestroy(){this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.translationSubscription&&this.translationSubscription.unsubscribe(),this.overlay&&this.autoZIndex&&le.Q$.clear(this.overlay),this.destroyResponsiveStyleElement(),this.clearTimePickerTimer(),this.restoreOverlayAppend(),this.onOverlayHide()}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(M.qQ),e.rXU(e.aKT),e.rXU(e.sFG),e.rXU(e.gRc),e.rXU(e.SKi),e.rXU(Le.r1),e.rXU(Le.si))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-calendar"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,4),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.templates=nt)}},viewQuery:function(ie,de){if(1&ie&&(e.GBs(F,5),e.GBs(P,5),e.GBs(D,5)),2&ie){let Ae;e.mGM(Ae=e.lsd())&&(de.containerViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.inputfieldViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.content=Ae.first)}},hostAttrs:[1,"p-element","p-inputwrapper"],hostVars:6,hostBindings:function(ie,de){2&ie&&e.AVh("p-inputwrapper-filled",de.filled)("p-inputwrapper-focus",de.focus)("p-calendar-clearable",de.showClear&&!de.disabled)},inputs:{iconDisplay:"iconDisplay",style:"style",styleClass:"styleClass",inputStyle:"inputStyle",inputId:"inputId",name:"name",inputStyleClass:"inputStyleClass",placeholder:"placeholder",ariaLabelledBy:"ariaLabelledBy",ariaLabel:"ariaLabel",iconAriaLabel:"iconAriaLabel",disabled:"disabled",dateFormat:"dateFormat",multipleSeparator:"multipleSeparator",rangeSeparator:"rangeSeparator",inline:"inline",showOtherMonths:"showOtherMonths",selectOtherMonths:"selectOtherMonths",showIcon:"showIcon",icon:"icon",appendTo:"appendTo",readonlyInput:"readonlyInput",shortYearCutoff:"shortYearCutoff",monthNavigator:"monthNavigator",yearNavigator:"yearNavigator",hourFormat:"hourFormat",timeOnly:"timeOnly",stepHour:"stepHour",stepMinute:"stepMinute",stepSecond:"stepSecond",showSeconds:"showSeconds",required:"required",showOnFocus:"showOnFocus",showWeek:"showWeek",showClear:"showClear",dataType:"dataType",selectionMode:"selectionMode",maxDateCount:"maxDateCount",showButtonBar:"showButtonBar",todayButtonStyleClass:"todayButtonStyleClass",clearButtonStyleClass:"clearButtonStyleClass",autoZIndex:"autoZIndex",baseZIndex:"baseZIndex",panelStyleClass:"panelStyleClass",panelStyle:"panelStyle",keepInvalid:"keepInvalid",hideOnDateTimeSelect:"hideOnDateTimeSelect",touchUI:"touchUI",timeSeparator:"timeSeparator",focusTrap:"focusTrap",showTransitionOptions:"showTransitionOptions",hideTransitionOptions:"hideTransitionOptions",tabindex:"tabindex",minDate:"minDate",maxDate:"maxDate",disabledDates:"disabledDates",disabledDays:"disabledDays",yearRange:"yearRange",showTime:"showTime",responsiveOptions:"responsiveOptions",numberOfMonths:"numberOfMonths",firstDayOfWeek:"firstDayOfWeek",locale:"locale",view:"view",defaultDate:"defaultDate"},outputs:{onFocus:"onFocus",onBlur:"onBlur",onClose:"onClose",onSelect:"onSelect",onClear:"onClear",onInput:"onInput",onTodayClick:"onTodayClick",onClearClick:"onClearClick",onMonthChange:"onMonthChange",onYearChange:"onYearChange",onClickOutside:"onClickOutside",onShow:"onShow"},features:[e.Jv_([Di])],ngContentSelectors:I,decls:4,vars:12,consts:[["container",""],["inputfield",""],["contentWrapper",""],[3,"ngClass","ngStyle"],[3,"ngIf"],[3,"class","ngStyle","ngClass","click",4,"ngIf"],["type","text","role","combobox","aria-autocomplete","none","aria-haspopup","dialog","autocomplete","off",3,"focus","keydown","click","blur","input","value","readonly","ngStyle","placeholder","disabled","ngClass"],[4,"ngIf"],["type","button","aria-haspopup","dialog","pButton","","pRipple","","class","p-datepicker-trigger p-button-icon-only","tabindex","0",3,"disabled","click",4,"ngIf"],[3,"styleClass","click",4,"ngIf"],["class","p-calendar-clear-icon",3,"click",4,"ngIf"],[3,"click","styleClass"],[1,"p-calendar-clear-icon",3,"click"],[4,"ngTemplateOutlet"],["type","button","aria-haspopup","dialog","pButton","","pRipple","","tabindex","0",1,"p-datepicker-trigger","p-button-icon-only",3,"click","disabled"],[3,"ngClass",4,"ngIf"],[3,"ngClass"],[3,"ngClass","click",4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"click","ngClass"],[3,"click","ngStyle","ngClass"],["class","p-timepicker",4,"ngIf"],["class","p-datepicker-buttonbar",4,"ngIf"],[1,"p-datepicker-group-container"],["class","p-datepicker-group",4,"ngFor","ngForOf"],["class","p-monthpicker",4,"ngIf"],["class","p-yearpicker",4,"ngIf"],[1,"p-datepicker-group"],[1,"p-datepicker-header"],["class","p-datepicker-prev p-link","type","button","pRipple","",3,"keydown","click",4,"ngIf"],[1,"p-datepicker-title"],["type","button","class","p-datepicker-month p-link",3,"disabled","click","keydown",4,"ngIf"],["type","button","class","p-datepicker-year p-link",3,"disabled","click","keydown",4,"ngIf"],["class","p-datepicker-decade",4,"ngIf"],["type","button","pRipple","",1,"p-datepicker-next","p-link",3,"keydown","click"],[3,"styleClass",4,"ngIf"],["class","p-datepicker-next-icon",4,"ngIf"],["class","p-datepicker-calendar-container",4,"ngIf"],["type","button","pRipple","",1,"p-datepicker-prev","p-link",3,"keydown","click"],["class","p-datepicker-prev-icon",4,"ngIf"],[3,"styleClass"],[1,"p-datepicker-prev-icon"],["type","button",1,"p-datepicker-month","p-link",3,"click","keydown","disabled"],["type","button",1,"p-datepicker-year","p-link",3,"click","keydown","disabled"],[1,"p-datepicker-decade"],[1,"p-datepicker-next-icon"],[1,"p-datepicker-calendar-container"],["role","grid",1,"p-datepicker-calendar"],["class","p-datepicker-weekheader p-disabled",4,"ngIf"],["scope","col",4,"ngFor","ngForOf"],[4,"ngFor","ngForOf"],[1,"p-datepicker-weekheader","p-disabled"],["scope","col"],["class","p-datepicker-weeknumber",4,"ngIf"],[3,"ngClass",4,"ngFor","ngForOf"],[1,"p-datepicker-weeknumber"],[1,"p-disabled"],["draggable","false","pRipple","",3,"click","keydown","ngClass"],["class","p-hidden-accessible","aria-live","polite",4,"ngIf"],["aria-live","polite",1,"p-hidden-accessible"],[1,"p-monthpicker"],["class","p-monthpicker-month","pRipple","",3,"ngClass","click","keydown",4,"ngFor","ngForOf"],["pRipple","",1,"p-monthpicker-month",3,"click","keydown","ngClass"],[1,"p-yearpicker"],["class","p-yearpicker-year","pRipple","",3,"ngClass","click","keydown",4,"ngFor","ngForOf"],["pRipple","",1,"p-yearpicker-year",3,"click","keydown","ngClass"],[1,"p-timepicker"],[1,"p-hour-picker"],["type","button","pRipple","",1,"p-link",3,"keydown","keydown.enter","keydown.space","mousedown","mouseup","keyup.enter","keyup.space","mouseleave"],[1,"p-separator"],[1,"p-minute-picker"],["class","p-separator",4,"ngIf"],["class","p-second-picker",4,"ngIf"],["class","p-ampm-picker",4,"ngIf"],[1,"p-second-picker"],[1,"p-ampm-picker"],["type","button","pRipple","",1,"p-link",3,"keydown","click","keydown.enter"],[1,"p-datepicker-buttonbar"],["type","button","pButton","","pRipple","",3,"keydown","click","label","ngClass"]],template:function(ie,de){1&ie&&(e.NAR(A),e.j41(0,"span",3,0),e.DNE(2,H,5,21,"ng-template",4)(3,si,9,31,"div",5),e.k0s()),2&ie&&(e.HbH(de.styleClass),e.Y8G("ngClass",e.s1E(6,_,de.showIcon&&"input"===de.iconDisplay,de.showIcon&&"button"===de.iconDisplay,de.timeOnly,de.disabled,de.focus||de.overlayVisible))("ngStyle",de.style),e.R7$(2),e.Y8G("ngIf",!de.inline),e.R7$(),e.Y8G("ngIf",de.inline||de.overlayVisible))},dependencies:()=>[M.YU,M.Sq,M.bT,M.T3,M.B3,q._f,ve.n,ue,J,te,X,E.A,j],styles:["@layer primeng{.p-calendar{position:relative;display:inline-flex;max-width:100%}.p-calendar .p-inputtext{flex:1 1 auto;width:1%}.p-calendar-w-btn .p-inputtext{border-top-right-radius:0;border-bottom-right-radius:0}.p-calendar-w-btn .p-datepicker-trigger{border-top-left-radius:0;border-bottom-left-radius:0}.p-fluid .p-calendar{display:flex}.p-fluid .p-calendar .p-inputtext{width:1%}.p-calendar .p-datepicker{min-width:100%}.p-datepicker{width:auto;position:absolute;top:0;left:0}.p-datepicker-inline{display:inline-block;position:static;overflow-x:auto}.p-datepicker-header{display:flex;align-items:center;justify-content:space-between}.p-datepicker-header .p-datepicker-title{margin:0 auto}.p-datepicker-prev,.p-datepicker-next{cursor:pointer;display:inline-flex;justify-content:center;align-items:center;overflow:hidden;position:relative}.p-datepicker-multiple-month .p-datepicker-group-container .p-datepicker-group{flex:1 1 auto}.p-datepicker-multiple-month .p-datepicker-group-container{display:flex}.p-datepicker table{width:100%;border-collapse:collapse}.p-datepicker td>span{display:flex;justify-content:center;align-items:center;cursor:pointer;margin:0 auto;overflow:hidden;position:relative}.p-monthpicker-month{width:33.3%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;position:relative}.p-datepicker-buttonbar{display:flex;justify-content:space-between;align-items:center}.p-timepicker{display:flex;justify-content:center;align-items:center}.p-timepicker button{display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;position:relative}.p-timepicker>div{display:flex;align-items:center;flex-direction:column}.p-datepicker-touch-ui,.p-calendar .p-datepicker-touch-ui{position:fixed;top:50%;left:50%;min-width:80vw;transform:translate(-50%,-50%)}.p-yearpicker-year{width:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;position:relative}.p-calendar-clear-icon{position:absolute;top:50%;margin-top:-.5rem;cursor:pointer}.p-datepicker-icon{pointer-events:none}.p-calendar-clearable{position:relative}}\n"],encapsulation:2,data:{animation:[(0,ne.hZ)("overlayAnimation",[(0,ne.wk)("visibleTouchUI",(0,ne.iF)({transform:"translate(-50%,-50%)",opacity:1})),(0,ne.kY)("void => visible",[(0,ne.iF)({opacity:0,transform:"scaleY(0.8)"}),(0,ne.i0)("{{showTransitionParams}}",(0,ne.iF)({opacity:1,transform:"*"}))]),(0,ne.kY)("visible => void",[(0,ne.i0)("{{hideTransitionParams}}",(0,ne.iF)({opacity:0}))]),(0,ne.kY)("void => visibleTouchUI",[(0,ne.iF)({opacity:0,transform:"translate3d(-50%, -40%, 0) scale(0.9)"}),(0,ne.i0)("{{showTransitionParams}}")]),(0,ne.kY)("visibleTouchUI => void",[(0,ne.i0)("{{hideTransitionParams}}",(0,ne.iF)({opacity:0,transform:"translate3d(-50%, -40%, 0) scale(0.9)"}))])])]},changeDetection:0})}return ye})(),Ki=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD,q.tm,Le.Gg,ve.Z,ue,J,te,X,E.A,j,q.tm,Le.Gg]})}return ye})(),ls=(()=>{class ye{host;constructor(u){this.host=u}autofocus;focused=!1;ngAfterContentChecked(){this.focused||this.autofocus&&setTimeout(()=>{const u=re.D.getFocusableElements(this.host.nativeElement);0===u.length&&this.host.nativeElement.focus(),u.length>0&&u[0].focus(),this.focused=!0})}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(e.aKT))};static \u0275dir=e.FsC({type:ye,selectors:[["","pAutoFocus",""]],hostAttrs:[1,"p-element"],inputs:{autofocus:"autofocus"}})}return ye})(),Hn=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD]})}return ye})();const tn=["overlay"],gn=["content"],cs=["*"],sn=(ye,et,u,ie,de,Ae,nt,kt,zt,ai,oi,Li,Yi,Xi)=>({"p-overlay p-component":!0,"p-overlay-modal p-component-overlay p-component-overlay-enter":ye,"p-overlay-center":et,"p-overlay-top":u,"p-overlay-top-start":ie,"p-overlay-top-end":de,"p-overlay-bottom":Ae,"p-overlay-bottom-start":nt,"p-overlay-bottom-end":kt,"p-overlay-left":zt,"p-overlay-left-start":ai,"p-overlay-left-end":oi,"p-overlay-right":Li,"p-overlay-right-start":Yi,"p-overlay-right-end":Xi}),Bn=(ye,et,u)=>({showTransitionParams:ye,hideTransitionParams:et,transform:u}),Er=ye=>({value:"visible",params:ye}),bs=ye=>({mode:ye}),Un=ye=>({$implicit:ye});function pr(ye,et){1&ye&&e.eu8(0)}function Ui(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",3,1),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onOverlayContentClick(de))})("@overlayContentAnimation.start",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onOverlayContentAnimationStart(de))})("@overlayContentAnimation.done",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onOverlayContentAnimationDone(de))}),e.SdG(2),e.DNE(3,pr,1,0,"ng-container",4),e.k0s()}if(2&ye){const u=e.XpG(2);e.HbH(u.contentStyleClass),e.Y8G("ngStyle",u.contentStyle)("ngClass","p-overlay-content")("@overlayContentAnimation",e.eq3(11,Er,e.sMw(7,Bn,u.showTransitionOptions,u.hideTransitionOptions,u.transformOptions[u.modal?u.overlayResponsiveDirection:"default"]))),e.R7$(3),e.Y8G("ngTemplateOutlet",u.contentTemplate)("ngTemplateOutletContext",e.eq3(15,Un,e.eq3(13,bs,u.overlayMode)))}}function ln(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",3,0),e.bIt("click",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onOverlayClick())}),e.DNE(2,Ui,4,17,"div",2),e.k0s()}if(2&ye){const u=e.XpG();e.HbH(u.styleClass),e.Y8G("ngStyle",u.style)("ngClass",e.zJS(5,sn,[u.modal,u.modal&&"center"===u.overlayResponsiveDirection,u.modal&&"top"===u.overlayResponsiveDirection,u.modal&&"top-start"===u.overlayResponsiveDirection,u.modal&&"top-end"===u.overlayResponsiveDirection,u.modal&&"bottom"===u.overlayResponsiveDirection,u.modal&&"bottom-start"===u.overlayResponsiveDirection,u.modal&&"bottom-end"===u.overlayResponsiveDirection,u.modal&&"left"===u.overlayResponsiveDirection,u.modal&&"left-start"===u.overlayResponsiveDirection,u.modal&&"left-end"===u.overlayResponsiveDirection,u.modal&&"right"===u.overlayResponsiveDirection,u.modal&&"right-start"===u.overlayResponsiveDirection,u.modal&&"right-end"===u.overlayResponsiveDirection])),e.R7$(2),e.Y8G("ngIf",u.visible)}}const Na={provide:V.kq,useExisting:(0,e.Rfq)(()=>Ba),multi:!0},lr=(0,ne.lY)([(0,ne.iF)({transform:"{{transform}}",opacity:0}),(0,ne.i0)("{{showTransitionParams}}")]),Fa=(0,ne.lY)([(0,ne.i0)("{{hideTransitionParams}}",(0,ne.iF)({transform:"{{transform}}",opacity:0}))]);let Ba=(()=>{class ye{document;platformId;el;renderer;config;overlayService;cd;zone;get visible(){return this._visible}set visible(u){this._visible=u,this._visible&&!this.modalVisible&&(this.modalVisible=!0)}get mode(){return this._mode||this.overlayOptions?.mode}set mode(u){this._mode=u}get style(){return le.BF.merge(this._style,this.modal?this.overlayResponsiveOptions?.style:this.overlayOptions?.style)}set style(u){this._style=u}get styleClass(){return le.BF.merge(this._styleClass,this.modal?this.overlayResponsiveOptions?.styleClass:this.overlayOptions?.styleClass)}set styleClass(u){this._styleClass=u}get contentStyle(){return le.BF.merge(this._contentStyle,this.modal?this.overlayResponsiveOptions?.contentStyle:this.overlayOptions?.contentStyle)}set contentStyle(u){this._contentStyle=u}get contentStyleClass(){return le.BF.merge(this._contentStyleClass,this.modal?this.overlayResponsiveOptions?.contentStyleClass:this.overlayOptions?.contentStyleClass)}set contentStyleClass(u){this._contentStyleClass=u}get target(){const u=this._target||this.overlayOptions?.target;return void 0===u?"@prev":u}set target(u){this._target=u}get appendTo(){return this._appendTo||this.overlayOptions?.appendTo}set appendTo(u){this._appendTo=u}get autoZIndex(){const u=this._autoZIndex||this.overlayOptions?.autoZIndex;return void 0===u||u}set autoZIndex(u){this._autoZIndex=u}get baseZIndex(){const u=this._baseZIndex||this.overlayOptions?.baseZIndex;return void 0===u?0:u}set baseZIndex(u){this._baseZIndex=u}get showTransitionOptions(){const u=this._showTransitionOptions||this.overlayOptions?.showTransitionOptions;return void 0===u?".12s cubic-bezier(0, 0, 0.2, 1)":u}set showTransitionOptions(u){this._showTransitionOptions=u}get hideTransitionOptions(){const u=this._hideTransitionOptions||this.overlayOptions?.hideTransitionOptions;return void 0===u?".1s linear":u}set hideTransitionOptions(u){this._hideTransitionOptions=u}get listener(){return this._listener||this.overlayOptions?.listener}set listener(u){this._listener=u}get responsive(){return this._responsive||this.overlayOptions?.responsive}set responsive(u){this._responsive=u}get options(){return this._options}set options(u){this._options=u}visibleChange=new e.bkB;onBeforeShow=new e.bkB;onShow=new e.bkB;onBeforeHide=new e.bkB;onHide=new e.bkB;onAnimationStart=new e.bkB;onAnimationDone=new e.bkB;templates;overlayViewChild;contentViewChild;contentTemplate;_visible=!1;_mode;_style;_styleClass;_contentStyle;_contentStyleClass;_target;_appendTo;_autoZIndex;_baseZIndex;_showTransitionOptions;_hideTransitionOptions;_listener;_responsive;_options;modalVisible=!1;isOverlayClicked=!1;isOverlayContentClicked=!1;scrollHandler;documentClickListener;documentResizeListener;documentKeyboardListener;window;transformOptions={default:"scaleY(0.8)",center:"scale(0.7)",top:"translate3d(0px, -100%, 0px)","top-start":"translate3d(0px, -100%, 0px)","top-end":"translate3d(0px, -100%, 0px)",bottom:"translate3d(0px, 100%, 0px)","bottom-start":"translate3d(0px, 100%, 0px)","bottom-end":"translate3d(0px, 100%, 0px)",left:"translate3d(-100%, 0px, 0px)","left-start":"translate3d(-100%, 0px, 0px)","left-end":"translate3d(-100%, 0px, 0px)",right:"translate3d(100%, 0px, 0px)","right-start":"translate3d(100%, 0px, 0px)","right-end":"translate3d(100%, 0px, 0px)"};get modal(){if((0,M.UE)(this.platformId))return"modal"===this.mode||this.overlayResponsiveOptions&&this.window?.matchMedia(this.overlayResponsiveOptions.media?.replace("@media","")||`(max-width: ${this.overlayResponsiveOptions.breakpoint})`).matches}get overlayMode(){return this.mode||(this.modal?"modal":"overlay")}get overlayOptions(){return{...this.config?.overlayOptions,...this.options}}get overlayResponsiveOptions(){return{...this.overlayOptions?.responsive,...this.responsive}}get overlayResponsiveDirection(){return this.overlayResponsiveOptions?.direction||"center"}get overlayEl(){return this.overlayViewChild?.nativeElement}get contentEl(){return this.contentViewChild?.nativeElement}get targetEl(){return re.D.getTargetElement(this.target,this.el?.nativeElement)}constructor(u,ie,de,Ae,nt,kt,zt,ai){this.document=u,this.platformId=ie,this.el=de,this.renderer=Ae,this.config=nt,this.overlayService=kt,this.cd=zt,this.zone=ai,this.window=this.document.defaultView}ngAfterContentInit(){this.templates?.forEach(u=>{u.getType(),this.contentTemplate=u.template})}show(u,ie=!1){this.onVisibleChange(!0),this.handleEvents("onShow",{overlay:u||this.overlayEl,target:this.targetEl,mode:this.overlayMode}),ie&&re.D.focus(this.targetEl),this.modal&&re.D.addClass(this.document?.body,"p-overflow-hidden")}hide(u,ie=!1){this.visible&&(this.onVisibleChange(!1),this.handleEvents("onHide",{overlay:u||this.overlayEl,target:this.targetEl,mode:this.overlayMode}),ie&&re.D.focus(this.targetEl),this.modal&&re.D.removeClass(this.document?.body,"p-overflow-hidden"))}alignOverlay(){!this.modal&&re.D.alignOverlay(this.overlayEl,this.targetEl,this.appendTo)}onVisibleChange(u){this._visible=u,this.visibleChange.emit(u)}onOverlayClick(){this.isOverlayClicked=!0}onOverlayContentClick(u){this.overlayService.add({originalEvent:u,target:this.targetEl}),this.isOverlayContentClicked=!0}onOverlayContentAnimationStart(u){switch(u.toState){case"visible":this.handleEvents("onBeforeShow",{overlay:this.overlayEl,target:this.targetEl,mode:this.overlayMode}),this.autoZIndex&&le.Q$.set(this.overlayMode,this.overlayEl,this.baseZIndex+this.config?.zIndex[this.overlayMode]),re.D.appendOverlay(this.overlayEl,"body"===this.appendTo?this.document.body:this.appendTo,this.appendTo),this.alignOverlay();break;case"void":this.handleEvents("onBeforeHide",{overlay:this.overlayEl,target:this.targetEl,mode:this.overlayMode}),this.modal&&re.D.addClass(this.overlayEl,"p-component-overlay-leave")}this.handleEvents("onAnimationStart",u)}onOverlayContentAnimationDone(u){const ie=this.overlayEl||u.element.parentElement;switch(u.toState){case"visible":this.show(ie,!0),this.bindListeners();break;case"void":this.hide(ie,!0),this.unbindListeners(),re.D.appendOverlay(this.overlayEl,this.targetEl,this.appendTo),le.Q$.clear(ie),this.modalVisible=!1,this.cd.markForCheck()}this.handleEvents("onAnimationDone",u)}handleEvents(u,ie){this[u].emit(ie),this.options&&this.options[u]&&this.options[u](ie),this.config?.overlayOptions&&(this.config?.overlayOptions)[u]&&(this.config?.overlayOptions)[u](ie)}bindListeners(){this.bindScrollListener(),this.bindDocumentClickListener(),this.bindDocumentResizeListener(),this.bindDocumentKeyboardListener()}unbindListeners(){this.unbindScrollListener(),this.unbindDocumentClickListener(),this.unbindDocumentResizeListener(),this.unbindDocumentKeyboardListener()}bindScrollListener(){this.scrollHandler||(this.scrollHandler=new re.b(this.targetEl,u=>{(!this.listener||this.listener(u,{type:"scroll",mode:this.overlayMode,valid:!0}))&&this.hide(u,!0)})),this.scrollHandler.bindScrollListener()}unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()}bindDocumentClickListener(){this.documentClickListener||(this.documentClickListener=this.renderer.listen(this.document,"click",u=>{const de=!(this.targetEl&&(this.targetEl.isSameNode(u.target)||!this.isOverlayClicked&&this.targetEl.contains(u.target))||this.isOverlayContentClicked);(this.listener?this.listener(u,{type:"outside",mode:this.overlayMode,valid:3!==u.which&&de}):de)&&this.hide(u),this.isOverlayClicked=this.isOverlayContentClicked=!1}))}unbindDocumentClickListener(){this.documentClickListener&&(this.documentClickListener(),this.documentClickListener=null)}bindDocumentResizeListener(){this.documentResizeListener||(this.documentResizeListener=this.renderer.listen(this.window,"resize",u=>{(this.listener?this.listener(u,{type:"resize",mode:this.overlayMode,valid:!re.D.isTouchDevice()}):!re.D.isTouchDevice())&&this.hide(u,!0)}))}unbindDocumentResizeListener(){this.documentResizeListener&&(this.documentResizeListener(),this.documentResizeListener=null)}bindDocumentKeyboardListener(){this.documentKeyboardListener||this.zone.runOutsideAngular(()=>{this.documentKeyboardListener=this.renderer.listen(this.window,"keydown",u=>{!1!==this.overlayOptions.hideOnEscape&&"Escape"===u.code&&(this.listener?this.listener(u,{type:"keydown",mode:this.overlayMode,valid:!re.D.isTouchDevice()}):!re.D.isTouchDevice())&&this.zone.run(()=>{this.hide(u,!0)})})})}unbindDocumentKeyboardListener(){this.documentKeyboardListener&&(this.documentKeyboardListener(),this.documentKeyboardListener=null)}ngOnDestroy(){this.hide(this.overlayEl,!0),this.overlayEl&&(re.D.appendOverlay(this.overlayEl,this.targetEl,this.appendTo),le.Q$.clear(this.overlayEl)),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.unbindListeners()}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(M.qQ),e.rXU(e.Agw),e.rXU(e.aKT),e.rXU(e.sFG),e.rXU(Le.r1),e.rXU(Le.si),e.rXU(e.gRc),e.rXU(e.SKi))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-overlay"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,4),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.templates=nt)}},viewQuery:function(ie,de){if(1&ie&&(e.GBs(tn,5),e.GBs(gn,5)),2&ie){let Ae;e.mGM(Ae=e.lsd())&&(de.overlayViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.contentViewChild=Ae.first)}},hostAttrs:[1,"p-element"],inputs:{visible:"visible",mode:"mode",style:"style",styleClass:"styleClass",contentStyle:"contentStyle",contentStyleClass:"contentStyleClass",target:"target",appendTo:"appendTo",autoZIndex:"autoZIndex",baseZIndex:"baseZIndex",showTransitionOptions:"showTransitionOptions",hideTransitionOptions:"hideTransitionOptions",listener:"listener",responsive:"responsive",options:"options"},outputs:{visibleChange:"visibleChange",onBeforeShow:"onBeforeShow",onShow:"onShow",onBeforeHide:"onBeforeHide",onHide:"onHide",onAnimationStart:"onAnimationStart",onAnimationDone:"onAnimationDone"},features:[e.Jv_([Na])],ngContentSelectors:cs,decls:1,vars:1,consts:[["overlay",""],["content",""],[3,"ngStyle","class","ngClass","click",4,"ngIf"],[3,"click","ngStyle","ngClass"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(ie,de){1&ie&&(e.NAR(),e.DNE(0,ln,3,20,"div",2)),2&ie&&e.Y8G("ngIf",de.modalVisible)},dependencies:[M.YU,M.bT,M.T3,M.B3],styles:["@layer primeng{.p-overlay{position:absolute;top:0;left:0}.p-overlay-modal{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:100%;height:100%}.p-overlay-content{transform-origin:inherit}.p-overlay-modal>.p-overlay-content{z-index:1;width:90%}.p-overlay-top{align-items:flex-start}.p-overlay-top-start{align-items:flex-start;justify-content:flex-start}.p-overlay-top-end{align-items:flex-start;justify-content:flex-end}.p-overlay-bottom{align-items:flex-end}.p-overlay-bottom-start{align-items:flex-end;justify-content:flex-start}.p-overlay-bottom-end{align-items:flex-end;justify-content:flex-end}.p-overlay-left{justify-content:flex-start}.p-overlay-left-start{justify-content:flex-start;align-items:flex-start}.p-overlay-left-end{justify-content:flex-start;align-items:flex-end}.p-overlay-right{justify-content:flex-end}.p-overlay-right-start{justify-content:flex-end;align-items:flex-start}.p-overlay-right-end{justify-content:flex-end;align-items:flex-end}}\n"],encapsulation:2,data:{animation:[(0,ne.hZ)("overlayContentAnimation",[(0,ne.kY)(":enter",[(0,ne.sM)(lr)]),(0,ne.kY)(":leave",[(0,ne.sM)(Fa)])])]},changeDetection:0})}return ye})(),ja=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD,Le.Gg,Le.Gg]})}return ye})();var go=We(38757);const wn=["element"],Va=["content"],za=["*"],$s=(ye,et,u)=>({"p-scroller":!0,"p-scroller-inline":ye,"p-both-scroll":et,"p-horizontal-scroll":u}),ha=(ye,et)=>({$implicit:ye,options:et}),Rl=ye=>({"p-scroller-loading":ye}),Nl=ye=>({"p-component-overlay":ye}),wr=ye=>({numCols:ye}),Jr=ye=>({options:ye}),Xo=()=>({styleClass:"p-scroller-loading-icon"}),Fl=(ye,et)=>({rows:ye,columns:et});function mo(ye,et){1&ye&&e.eu8(0)}function da(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,mo,1,0,"ng-container",10),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",u.contentTemplate)("ngTemplateOutletContext",e.l_i(2,ha,u.loadedItems,u.getContentOptions()))}}function Ga(ye,et){1&ye&&e.eu8(0)}function Tr(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Ga,1,0,"ng-container",10),e.bVm()),2&ye){const u=et.$implicit,ie=et.index,de=e.XpG(3);e.R7$(),e.Y8G("ngTemplateOutlet",de.itemTemplate)("ngTemplateOutletContext",e.l_i(2,ha,u,de.getOptions(ie)))}}function fr(ye,et){if(1&ye&&(e.j41(0,"div",11,3),e.DNE(2,Tr,2,5,"ng-container",12),e.k0s()),2&ye){const u=e.XpG(2);e.Y8G("ngClass",e.eq3(5,Rl,u.d_loading))("ngStyle",u.contentStyle),e.BMQ("data-pc-section","content"),e.R7$(2),e.Y8G("ngForOf",u.loadedItems)("ngForTrackBy",u._trackBy||u.index)}}function tr(ye,et){if(1&ye&&e.nrm(0,"div",13),2&ye){const u=e.XpG(2);e.Y8G("ngStyle",u.spacerStyle),e.BMQ("data-pc-section","spacer")}}function Ha(ye,et){1&ye&&e.eu8(0)}function Es(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Ha,1,0,"ng-container",10),e.bVm()),2&ye){const u=et.index,ie=e.XpG(4);e.R7$(),e.Y8G("ngTemplateOutlet",ie.loaderTemplate)("ngTemplateOutletContext",e.eq3(4,Jr,ie.getLoaderOptions(u,ie.both&&e.eq3(2,wr,ie._numItemsInViewport.cols))))}}function ir(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Es,2,6,"ng-container",15),e.bVm()),2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("ngForOf",u.loaderArr)}}function $i(ye,et){1&ye&&e.eu8(0)}function Ar(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,$i,1,0,"ng-container",10),e.bVm()),2&ye){const u=e.XpG(4);e.R7$(),e.Y8G("ngTemplateOutlet",u.loaderIconTemplate)("ngTemplateOutletContext",e.eq3(3,Jr,e.lJ4(2,Xo)))}}function So(ye,et){1&ye&&e.nrm(0,"SpinnerIcon",16),2&ye&&(e.Y8G("styleClass","p-scroller-loading-icon pi-spin"),e.BMQ("data-pc-section","loadingIcon"))}function Yo(ye,et){if(1&ye&&e.DNE(0,Ar,2,5,"ng-container",6)(1,So,1,2,"ng-template",null,5,e.C5r),2&ye){const u=e.sdS(2),ie=e.XpG(3);e.Y8G("ngIf",ie.loaderIconTemplate)("ngIfElse",u)}}function ko(ye,et){if(1&ye&&(e.j41(0,"div",14),e.DNE(1,ir,2,1,"ng-container",6)(2,Yo,3,2,"ng-template",null,4,e.C5r),e.k0s()),2&ye){const u=e.sdS(3),ie=e.XpG(2);e.Y8G("ngClass",e.eq3(4,Nl,!ie.loaderTemplate)),e.BMQ("data-pc-section","loader"),e.R7$(),e.Y8G("ngIf",ie.loaderTemplate)("ngIfElse",u)}}function ua(ye,et){if(1&ye){const u=e.RV6();e.qex(0),e.j41(1,"div",7,1),e.bIt("scroll",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onContainerScroll(de))}),e.DNE(3,da,2,5,"ng-container",6)(4,fr,3,7,"ng-template",null,2,e.C5r)(6,tr,1,2,"div",8)(7,ko,4,6,"div",9),e.k0s(),e.bVm()}if(2&ye){const u=e.sdS(5),ie=e.XpG();e.R7$(),e.HbH(ie._styleClass),e.Y8G("ngStyle",ie._style)("ngClass",e.sMw(12,$s,ie.inline,ie.both,ie.horizontal)),e.BMQ("id",ie._id)("tabindex",ie.tabindex)("data-pc-name","scroller")("data-pc-section","root"),e.R7$(2),e.Y8G("ngIf",ie.contentTemplate)("ngIfElse",u),e.R7$(3),e.Y8G("ngIf",ie._showSpacer),e.R7$(),e.Y8G("ngIf",!ie.loaderDisabled&&ie._showLoader&&ie.d_loading)}}function pa(ye,et){1&ye&&e.eu8(0)}function fa(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,pa,1,0,"ng-container",10),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",u.contentTemplate)("ngTemplateOutletContext",e.l_i(5,ha,u.items,e.l_i(2,Fl,u._items,u.loadedColumns)))}}function Qs(ye,et){if(1&ye&&(e.SdG(0),e.DNE(1,fa,2,8,"ng-container",17)),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngIf",u.contentTemplate)}}let ga=(()=>{class ye{document;platformId;renderer;cd;zone;get id(){return this._id}set id(u){this._id=u}get style(){return this._style}set style(u){this._style=u}get styleClass(){return this._styleClass}set styleClass(u){this._styleClass=u}get tabindex(){return this._tabindex}set tabindex(u){this._tabindex=u}get items(){return this._items}set items(u){this._items=u}get itemSize(){return this._itemSize}set itemSize(u){this._itemSize=u}get scrollHeight(){return this._scrollHeight}set scrollHeight(u){this._scrollHeight=u}get scrollWidth(){return this._scrollWidth}set scrollWidth(u){this._scrollWidth=u}get orientation(){return this._orientation}set orientation(u){this._orientation=u}get step(){return this._step}set step(u){this._step=u}get delay(){return this._delay}set delay(u){this._delay=u}get resizeDelay(){return this._resizeDelay}set resizeDelay(u){this._resizeDelay=u}get appendOnly(){return this._appendOnly}set appendOnly(u){this._appendOnly=u}get inline(){return this._inline}set inline(u){this._inline=u}get lazy(){return this._lazy}set lazy(u){this._lazy=u}get disabled(){return this._disabled}set disabled(u){this._disabled=u}get loaderDisabled(){return this._loaderDisabled}set loaderDisabled(u){this._loaderDisabled=u}get columns(){return this._columns}set columns(u){this._columns=u}get showSpacer(){return this._showSpacer}set showSpacer(u){this._showSpacer=u}get showLoader(){return this._showLoader}set showLoader(u){this._showLoader=u}get numToleratedItems(){return this._numToleratedItems}set numToleratedItems(u){this._numToleratedItems=u}get loading(){return this._loading}set loading(u){this._loading=u}get autoSize(){return this._autoSize}set autoSize(u){this._autoSize=u}get trackBy(){return this._trackBy}set trackBy(u){this._trackBy=u}get options(){return this._options}set options(u){this._options=u,u&&"object"==typeof u&&Object.entries(u).forEach(([ie,de])=>this[`_${ie}`]!==de&&(this[`_${ie}`]=de))}onLazyLoad=new e.bkB;onScroll=new e.bkB;onScrollIndexChange=new e.bkB;elementViewChild;contentViewChild;templates;_id;_style;_styleClass;_tabindex=0;_items;_itemSize=0;_scrollHeight;_scrollWidth;_orientation="vertical";_step=0;_delay=0;_resizeDelay=10;_appendOnly=!1;_inline=!1;_lazy=!1;_disabled=!1;_loaderDisabled=!1;_columns;_showSpacer=!0;_showLoader=!1;_numToleratedItems;_loading;_autoSize=!1;_trackBy;_options;d_loading=!1;d_numToleratedItems;contentEl;contentTemplate;itemTemplate;loaderTemplate;loaderIconTemplate;first=0;last=0;page=0;isRangeChanged=!1;numItemsInViewport=0;lastScrollPos=0;lazyLoadState={};loaderArr=[];spacerStyle={};contentStyle={};scrollTimeout;resizeTimeout;initialized=!1;windowResizeListener;defaultWidth;defaultHeight;defaultContentWidth;defaultContentHeight;get vertical(){return"vertical"===this._orientation}get horizontal(){return"horizontal"===this._orientation}get both(){return"both"===this._orientation}get loadedItems(){return this._items&&!this.d_loading?this.both?this._items.slice(this._appendOnly?0:this.first.rows,this.last.rows).map(u=>this._columns?u:u.slice(this._appendOnly?0:this.first.cols,this.last.cols)):this.horizontal&&this._columns?this._items:this._items.slice(this._appendOnly?0:this.first,this.last):[]}get loadedRows(){return this.d_loading?this._loaderDisabled?this.loaderArr:[]:this.loadedItems}get loadedColumns(){return this._columns&&(this.both||this.horizontal)?this.d_loading&&this._loaderDisabled?this.both?this.loaderArr[0]:this.loaderArr:this._columns.slice(this.both?this.first.cols:this.first,this.both?this.last.cols:this.last):this._columns}constructor(u,ie,de,Ae,nt){this.document=u,this.platformId=ie,this.renderer=de,this.cd=Ae,this.zone=nt}ngOnInit(){this.setInitialState()}ngOnChanges(u){let ie=!1;if(u.loading){const{previousValue:de,currentValue:Ae}=u.loading;this.lazy&&de!==Ae&&Ae!==this.d_loading&&(this.d_loading=Ae,ie=!0)}if(u.orientation&&(this.lastScrollPos=this.both?{top:0,left:0}:0),u.numToleratedItems){const{previousValue:de,currentValue:Ae}=u.numToleratedItems;de!==Ae&&Ae!==this.d_numToleratedItems&&(this.d_numToleratedItems=Ae)}if(u.options){const{previousValue:de,currentValue:Ae}=u.options;this.lazy&&de?.loading!==Ae?.loading&&Ae?.loading!==this.d_loading&&(this.d_loading=Ae.loading,ie=!0),de?.numToleratedItems!==Ae?.numToleratedItems&&Ae?.numToleratedItems!==this.d_numToleratedItems&&(this.d_numToleratedItems=Ae.numToleratedItems)}this.initialized&&!ie&&(u.items?.previousValue?.length!==u.items?.currentValue?.length||u.itemSize||u.scrollHeight||u.scrollWidth)&&(this.init(),this.calculateAutoSize())}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"content":this.contentTemplate=u.template;break;case"item":default:this.itemTemplate=u.template;break;case"loader":this.loaderTemplate=u.template;break;case"loadericon":this.loaderIconTemplate=u.template}})}ngAfterViewInit(){Promise.resolve().then(()=>{this.viewInit()})}ngAfterViewChecked(){this.initialized||this.viewInit()}ngOnDestroy(){this.unbindResizeListener(),this.contentEl=null,this.initialized=!1}viewInit(){(0,M.UE)(this.platformId)&&re.D.isVisible(this.elementViewChild?.nativeElement)&&(this.setInitialState(),this.setContentEl(this.contentEl),this.init(),this.defaultWidth=re.D.getWidth(this.elementViewChild?.nativeElement),this.defaultHeight=re.D.getHeight(this.elementViewChild?.nativeElement),this.defaultContentWidth=re.D.getWidth(this.contentEl),this.defaultContentHeight=re.D.getHeight(this.contentEl),this.initialized=!0)}init(){this._disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize(),this.bindResizeListener(),this.cd.detectChanges())}setContentEl(u){this.contentEl=u||this.contentViewChild?.nativeElement||re.D.findSingle(this.elementViewChild?.nativeElement,".p-scroller-content")}setInitialState(){this.first=this.both?{rows:0,cols:0}:0,this.last=this.both?{rows:0,cols:0}:0,this.numItemsInViewport=this.both?{rows:0,cols:0}:0,this.lastScrollPos=this.both?{top:0,left:0}:0,this.d_loading=this._loading||!1,this.d_numToleratedItems=this._numToleratedItems,this.loaderArr=[],this.spacerStyle={},this.contentStyle={}}getElementRef(){return this.elementViewChild}getPageByFirst(u){return Math.floor(((u??this.first)+4*this.d_numToleratedItems)/(this._step||1))}isPageChanged(u){return!this._step||this.page!==this.getPageByFirst(u??this.first)}scrollTo(u){this.elementViewChild?.nativeElement?.scrollTo(u)}scrollToIndex(u,ie="auto"){if(this.both?u.every(Ae=>Ae>-1):u>-1){const Ae=this.first,{scrollTop:nt=0,scrollLeft:kt=0}=this.elementViewChild?.nativeElement,{numToleratedItems:zt}=this.calculateNumItems(),ai=this.getContentPosition(),oi=this.itemSize,Li=(Jn=0,Ms)=>Jn<=Ms?0:Jn,Yi=(Jn,Ms,Zs)=>Jn*Ms+Zs,Xi=(Jn=0,Ms=0)=>this.scrollTo({left:Jn,top:Ms,behavior:ie});let Ji=this.both?{rows:0,cols:0}:0,_n=!1,en=!1;this.both?(Ji={rows:Li(u[0],zt[0]),cols:Li(u[1],zt[1])},Xi(Yi(Ji.cols,oi[1],ai.left),Yi(Ji.rows,oi[0],ai.top)),en=this.lastScrollPos.top!==nt||this.lastScrollPos.left!==kt,_n=Ji.rows!==Ae.rows||Ji.cols!==Ae.cols):(Ji=Li(u,zt),this.horizontal?Xi(Yi(Ji,oi,ai.left),nt):Xi(kt,Yi(Ji,oi,ai.top)),en=this.lastScrollPos!==(this.horizontal?kt:nt),_n=Ji!==Ae),this.isRangeChanged=_n,en&&(this.first=Ji)}}scrollInView(u,ie,de="auto"){if(ie){const{first:Ae,viewport:nt}=this.getRenderedRange(),kt=(oi=0,Li=0)=>this.scrollTo({left:oi,top:Li,behavior:de}),ai="to-end"===ie;if("to-start"===ie){if(this.both)nt.first.rows-Ae.rows>u[0]?kt(nt.first.cols*this._itemSize[1],(nt.first.rows-1)*this._itemSize[0]):nt.first.cols-Ae.cols>u[1]&&kt((nt.first.cols-1)*this._itemSize[1],nt.first.rows*this._itemSize[0]);else if(nt.first-Ae>u){const oi=(nt.first-1)*this._itemSize;this.horizontal?kt(oi,0):kt(0,oi)}}else if(ai)if(this.both)nt.last.rows-Ae.rows<=u[0]+1?kt(nt.first.cols*this._itemSize[1],(nt.first.rows+1)*this._itemSize[0]):nt.last.cols-Ae.cols<=u[1]+1&&kt((nt.first.cols+1)*this._itemSize[1],nt.first.rows*this._itemSize[0]);else if(nt.last-Ae<=u+1){const oi=(nt.first+1)*this._itemSize;this.horizontal?kt(oi,0):kt(0,oi)}}else this.scrollToIndex(u,de)}getRenderedRange(){const u=(Ae,nt)=>Math.floor(Ae/(nt||Ae));let ie=this.first,de=0;if(this.elementViewChild?.nativeElement){const{scrollTop:Ae,scrollLeft:nt}=this.elementViewChild.nativeElement;this.both?(ie={rows:u(Ae,this._itemSize[0]),cols:u(nt,this._itemSize[1])},de={rows:ie.rows+this.numItemsInViewport.rows,cols:ie.cols+this.numItemsInViewport.cols}):(ie=u(this.horizontal?nt:Ae,this._itemSize),de=ie+this.numItemsInViewport)}return{first:this.first,last:this.last,viewport:{first:ie,last:de}}}calculateNumItems(){const u=this.getContentPosition(),ie=(this.elementViewChild?.nativeElement?this.elementViewChild.nativeElement.offsetWidth-u.left:0)||0,de=(this.elementViewChild?.nativeElement?this.elementViewChild.nativeElement.offsetHeight-u.top:0)||0,Ae=(ai,oi)=>Math.ceil(ai/(oi||ai)),nt=ai=>Math.ceil(ai/2),kt=this.both?{rows:Ae(de,this._itemSize[0]),cols:Ae(ie,this._itemSize[1])}:Ae(this.horizontal?ie:de,this._itemSize);return{numItemsInViewport:kt,numToleratedItems:this.d_numToleratedItems||(this.both?[nt(kt.rows),nt(kt.cols)]:nt(kt))}}calculateOptions(){const{numItemsInViewport:u,numToleratedItems:ie}=this.calculateNumItems(),de=(kt,zt,ai,oi=!1)=>this.getLast(kt+zt+(ktArray.from({length:u.cols})):Array.from({length:u})),this._lazy&&Promise.resolve().then(()=>{this.lazyLoadState={first:this._step?this.both?{rows:0,cols:Ae.cols}:0:Ae,last:Math.min(this._step?this._step:this.last,this.items.length)},this.handleEvents("onLazyLoad",this.lazyLoadState)})}calculateAutoSize(){this._autoSize&&!this.d_loading&&Promise.resolve().then(()=>{if(this.contentEl){this.contentEl.style.minHeight=this.contentEl.style.minWidth="auto",this.contentEl.style.position="relative",this.elementViewChild.nativeElement.style.contain="none";const[u,ie]=[re.D.getWidth(this.contentEl),re.D.getHeight(this.contentEl)];u!==this.defaultContentWidth&&(this.elementViewChild.nativeElement.style.width=""),ie!==this.defaultContentHeight&&(this.elementViewChild.nativeElement.style.height="");const[de,Ae]=[re.D.getWidth(this.elementViewChild.nativeElement),re.D.getHeight(this.elementViewChild.nativeElement)];(this.both||this.horizontal)&&(this.elementViewChild.nativeElement.style.width=dethis.elementViewChild.nativeElement.style[nt]=kt;this.both||this.horizontal?(Ae("height",de),Ae("width",ie)):Ae("height",de)}}setSpacerSize(){if(this._items){const u=this.getContentPosition(),ie=(de,Ae,nt,kt=0)=>this.spacerStyle={...this.spacerStyle,[`${de}`]:(Ae||[]).length*nt+kt+"px"};this.both?(ie("height",this._items,this._itemSize[0],u.y),ie("width",this._columns||this._items[1],this._itemSize[1],u.x)):this.horizontal?ie("width",this._columns||this._items,this._itemSize,u.x):ie("height",this._items,this._itemSize,u.y)}}setContentPosition(u){if(this.contentEl&&!this._appendOnly){const ie=u?u.first:this.first,de=(nt,kt)=>nt*kt,Ae=(nt=0,kt=0)=>this.contentStyle={...this.contentStyle,transform:`translate3d(${nt}px, ${kt}px, 0)`};if(this.both)Ae(de(ie.cols,this._itemSize[1]),de(ie.rows,this._itemSize[0]));else{const nt=de(ie,this._itemSize);this.horizontal?Ae(nt,0):Ae(0,nt)}}}onScrollPositionChange(u){const ie=u.target,de=this.getContentPosition(),Ae=(en,Jn)=>en?en>Jn?en-Jn:en:0,nt=(en,Jn)=>Math.floor(en/(Jn||en)),kt=(en,Jn,Ms,Zs,dr,ho)=>en<=dr?dr:ho?Ms-Zs-dr:Jn+dr-1,zt=(en,Jn,Ms,Zs,dr,ho,sr)=>en<=ho?0:Math.max(0,sr?enJn?Ms:en-2*ho),ai=(en,Jn,Ms,Zs,dr,ho=!1)=>{let sr=Jn+Zs+2*dr;return en>=dr&&(sr+=dr+1),this.getLast(sr,ho)},oi=Ae(ie.scrollTop,de.top),Li=Ae(ie.scrollLeft,de.left);let Yi=this.both?{rows:0,cols:0}:0,Xi=this.last,Ji=!1,_n=this.lastScrollPos;if(this.both){const en=this.lastScrollPos.top<=oi,Jn=this.lastScrollPos.left<=Li;if(!this._appendOnly||this._appendOnly&&(en||Jn)){const Ms={rows:nt(oi,this._itemSize[0]),cols:nt(Li,this._itemSize[1])},Zs={rows:kt(Ms.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],en),cols:kt(Ms.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],Jn)};Yi={rows:zt(Ms.rows,Zs.rows,this.first.rows,0,0,this.d_numToleratedItems[0],en),cols:zt(Ms.cols,Zs.cols,this.first.cols,0,0,this.d_numToleratedItems[1],Jn)},Xi={rows:ai(Ms.rows,Yi.rows,0,this.numItemsInViewport.rows,this.d_numToleratedItems[0]),cols:ai(Ms.cols,Yi.cols,0,this.numItemsInViewport.cols,this.d_numToleratedItems[1],!0)},Ji=Yi.rows!==this.first.rows||Xi.rows!==this.last.rows||Yi.cols!==this.first.cols||Xi.cols!==this.last.cols||this.isRangeChanged,_n={top:oi,left:Li}}}else{const en=this.horizontal?Li:oi,Jn=this.lastScrollPos<=en;if(!this._appendOnly||this._appendOnly&&Jn){const Ms=nt(en,this._itemSize);Yi=zt(Ms,kt(Ms,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,Jn),this.first,0,0,this.d_numToleratedItems,Jn),Xi=ai(Ms,Yi,0,this.numItemsInViewport,this.d_numToleratedItems),Ji=Yi!==this.first||Xi!==this.last||this.isRangeChanged,_n=en}}return{first:Yi,last:Xi,isRangeChanged:Ji,scrollPos:_n}}onScrollChange(u){const{first:ie,last:de,isRangeChanged:Ae,scrollPos:nt}=this.onScrollPositionChange(u);if(Ae){const kt={first:ie,last:de};if(this.setContentPosition(kt),this.first=ie,this.last=de,this.lastScrollPos=nt,this.handleEvents("onScrollIndexChange",kt),this._lazy&&this.isPageChanged(ie)){const zt={first:this._step?Math.min(this.getPageByFirst(ie)*this._step,this.items.length-this._step):ie,last:Math.min(this._step?(this.getPageByFirst(ie)+1)*this._step:de,this.items.length)};(this.lazyLoadState.first!==zt.first||this.lazyLoadState.last!==zt.last)&&this.handleEvents("onLazyLoad",zt),this.lazyLoadState=zt}}}onContainerScroll(u){if(this.handleEvents("onScroll",{originalEvent:u}),this._delay&&this.isPageChanged()){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),!this.d_loading&&this.showLoader){const{isRangeChanged:ie}=this.onScrollPositionChange(u);(ie||this._step&&this.isPageChanged())&&(this.d_loading=!0,this.cd.detectChanges())}this.scrollTimeout=setTimeout(()=>{this.onScrollChange(u),this.d_loading&&this.showLoader&&(!this._lazy||void 0===this._loading)&&(this.d_loading=!1,this.page=this.getPageByFirst(),this.cd.detectChanges())},this._delay)}else!this.d_loading&&this.onScrollChange(u)}bindResizeListener(){(0,M.UE)(this.platformId)&&(this.windowResizeListener||this.zone.runOutsideAngular(()=>{const u=this.document.defaultView,ie=re.D.isTouchDevice()?"orientationchange":"resize";this.windowResizeListener=this.renderer.listen(u,ie,this.onWindowResize.bind(this))}))}unbindResizeListener(){this.windowResizeListener&&(this.windowResizeListener(),this.windowResizeListener=null)}onWindowResize(){this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{if(re.D.isVisible(this.elementViewChild?.nativeElement)){const[u,ie]=[re.D.getWidth(this.elementViewChild?.nativeElement),re.D.getHeight(this.elementViewChild?.nativeElement)],[de,Ae]=[u!==this.defaultWidth,ie!==this.defaultHeight];(this.both?de||Ae:this.horizontal?de:this.vertical&&Ae)&&this.zone.run(()=>{this.d_numToleratedItems=this._numToleratedItems,this.defaultWidth=u,this.defaultHeight=ie,this.defaultContentWidth=re.D.getWidth(this.contentEl),this.defaultContentHeight=re.D.getHeight(this.contentEl),this.init()})}},this._resizeDelay)}handleEvents(u,ie){return this.options&&this.options[u]?this.options[u](ie):this[u].emit(ie)}getContentOptions(){return{contentStyleClass:"p-scroller-content "+(this.d_loading?"p-scroller-loading":""),items:this.loadedItems,getItemOptions:u=>this.getOptions(u),loading:this.d_loading,getLoaderOptions:(u,ie)=>this.getLoaderOptions(u,ie),itemSize:this._itemSize,rows:this.loadedRows,columns:this.loadedColumns,spacerStyle:this.spacerStyle,contentStyle:this.contentStyle,vertical:this.vertical,horizontal:this.horizontal,both:this.both}}getOptions(u){const ie=(this._items||[]).length,de=this.both?this.first.rows+u:this.first+u;return{index:de,count:ie,first:0===de,last:de===ie-1,even:de%2==0,odd:de%2!=0}}getLoaderOptions(u,ie){const de=this.loaderArr.length;return{index:u,count:de,first:0===u,last:u===de-1,even:u%2==0,odd:u%2!=0,...ie}}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(M.qQ),e.rXU(e.Agw),e.rXU(e.sFG),e.rXU(e.gRc),e.rXU(e.SKi))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-scroller"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,4),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.templates=nt)}},viewQuery:function(ie,de){if(1&ie&&(e.GBs(wn,5),e.GBs(Va,5)),2&ie){let Ae;e.mGM(Ae=e.lsd())&&(de.elementViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.contentViewChild=Ae.first)}},hostAttrs:[1,"p-scroller-viewport","p-element"],inputs:{id:"id",style:"style",styleClass:"styleClass",tabindex:"tabindex",items:"items",itemSize:"itemSize",scrollHeight:"scrollHeight",scrollWidth:"scrollWidth",orientation:"orientation",step:"step",delay:"delay",resizeDelay:"resizeDelay",appendOnly:"appendOnly",inline:"inline",lazy:"lazy",disabled:"disabled",loaderDisabled:"loaderDisabled",columns:"columns",showSpacer:"showSpacer",showLoader:"showLoader",numToleratedItems:"numToleratedItems",loading:"loading",autoSize:"autoSize",trackBy:"trackBy",options:"options"},outputs:{onLazyLoad:"onLazyLoad",onScroll:"onScroll",onScrollIndexChange:"onScrollIndexChange"},features:[e.OA$],ngContentSelectors:za,decls:3,vars:2,consts:[["disabledContainer",""],["element",""],["buildInContent",""],["content",""],["buildInLoader",""],["buildInLoaderIcon",""],[4,"ngIf","ngIfElse"],[3,"scroll","ngStyle","ngClass"],["class","p-scroller-spacer",3,"ngStyle",4,"ngIf"],["class","p-scroller-loader",3,"ngClass",4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"p-scroller-content",3,"ngClass","ngStyle"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"p-scroller-spacer",3,"ngStyle"],[1,"p-scroller-loader",3,"ngClass"],[4,"ngFor","ngForOf"],[3,"styleClass"],[4,"ngIf"]],template:function(ie,de){if(1&ie&&(e.NAR(),e.DNE(0,ua,8,16,"ng-container",6)(1,Qs,2,1,"ng-template",null,0,e.C5r)),2&ie){const Ae=e.sdS(2);e.Y8G("ngIf",!de._disabled)("ngIfElse",Ae)}},dependencies:()=>[M.YU,M.Sq,M.bT,M.T3,M.B3,go.N],styles:["@layer primeng{p-scroller{flex:1;outline:0 none}.p-scroller{position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;outline:0 none}.p-scroller-content{position:absolute;top:0;left:0;min-height:100%;min-width:100%;will-change:transform}.p-scroller-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0;pointer-events:none}.p-scroller-loader{position:sticky;top:0;left:0;width:100%;height:100%}.p-scroller-loader.p-component-overlay{display:flex;align-items:center;justify-content:center}.p-scroller-loading-icon{scale:2}.p-scroller-inline .p-scroller-content{position:static}}\n"],encapsulation:2})}return ye})(),eo=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD,Le.Gg,go.N,Le.Gg]})}return ye})(),ma=(()=>{class ye{platformId;el;zone;config;renderer;viewContainer;tooltipPosition;tooltipEvent="hover";appendTo;positionStyle;tooltipStyleClass;tooltipZIndex;escape=!0;showDelay;hideDelay;life;positionTop;positionLeft;autoHide=!0;fitContent=!0;hideOnEscape=!0;content;get disabled(){return this._disabled}set disabled(u){this._disabled=u,this.deactivate()}tooltipOptions;_tooltipOptions={tooltipLabel:null,tooltipPosition:"right",tooltipEvent:"hover",appendTo:"body",positionStyle:null,tooltipStyleClass:null,tooltipZIndex:"auto",escape:!0,disabled:null,showDelay:null,hideDelay:null,positionTop:null,positionLeft:null,life:null,autoHide:!0,hideOnEscape:!0,id:(0,le._Y)()+"_tooltip"};_disabled;container;styleClass;tooltipText;showTimeout;hideTimeout;active;mouseEnterListener;mouseLeaveListener;containerMouseleaveListener;clickListener;focusListener;blurListener;scrollHandler;resizeListener;constructor(u,ie,de,Ae,nt,kt){this.platformId=u,this.el=ie,this.zone=de,this.config=Ae,this.renderer=nt,this.viewContainer=kt}ngAfterViewInit(){(0,M.UE)(this.platformId)&&this.zone.runOutsideAngular(()=>{if("hover"===this.getOption("tooltipEvent"))this.mouseEnterListener=this.onMouseEnter.bind(this),this.mouseLeaveListener=this.onMouseLeave.bind(this),this.clickListener=this.onInputClick.bind(this),this.el.nativeElement.addEventListener("mouseenter",this.mouseEnterListener),this.el.nativeElement.addEventListener("click",this.clickListener),this.el.nativeElement.addEventListener("mouseleave",this.mouseLeaveListener);else if("focus"===this.getOption("tooltipEvent")){this.focusListener=this.onFocus.bind(this),this.blurListener=this.onBlur.bind(this);let u=this.getTarget(this.el.nativeElement);u.addEventListener("focus",this.focusListener),u.addEventListener("blur",this.blurListener)}})}ngOnChanges(u){u.tooltipPosition&&this.setOption({tooltipPosition:u.tooltipPosition.currentValue}),u.tooltipEvent&&this.setOption({tooltipEvent:u.tooltipEvent.currentValue}),u.appendTo&&this.setOption({appendTo:u.appendTo.currentValue}),u.positionStyle&&this.setOption({positionStyle:u.positionStyle.currentValue}),u.tooltipStyleClass&&this.setOption({tooltipStyleClass:u.tooltipStyleClass.currentValue}),u.tooltipZIndex&&this.setOption({tooltipZIndex:u.tooltipZIndex.currentValue}),u.escape&&this.setOption({escape:u.escape.currentValue}),u.showDelay&&this.setOption({showDelay:u.showDelay.currentValue}),u.hideDelay&&this.setOption({hideDelay:u.hideDelay.currentValue}),u.life&&this.setOption({life:u.life.currentValue}),u.positionTop&&this.setOption({positionTop:u.positionTop.currentValue}),u.positionLeft&&this.setOption({positionLeft:u.positionLeft.currentValue}),u.disabled&&this.setOption({disabled:u.disabled.currentValue}),u.content&&(this.setOption({tooltipLabel:u.content.currentValue}),this.active&&(u.content.currentValue?this.container&&this.container.offsetParent?(this.updateText(),this.align()):this.show():this.hide())),u.autoHide&&this.setOption({autoHide:u.autoHide.currentValue}),u.id&&this.setOption({id:u.id.currentValue}),u.tooltipOptions&&(this._tooltipOptions={...this._tooltipOptions,...u.tooltipOptions.currentValue},this.deactivate(),this.active&&(this.getOption("tooltipLabel")?this.container&&this.container.offsetParent?(this.updateText(),this.align()):this.show():this.hide()))}isAutoHide(){return this.getOption("autoHide")}onMouseEnter(u){!this.container&&!this.showTimeout&&this.activate()}onMouseLeave(u){(this.isAutoHide()||!(re.D.hasClass(u.relatedTarget,"p-tooltip")||re.D.hasClass(u.relatedTarget,"p-tooltip-text")||re.D.hasClass(u.relatedTarget,"p-tooltip-arrow")))&&this.deactivate()}onFocus(u){this.activate()}onBlur(u){this.deactivate()}onInputClick(u){this.deactivate()}onPressEscape(){this.hideOnEscape&&this.deactivate()}activate(){if(this.active=!0,this.clearHideTimeout(),this.getOption("showDelay")?this.showTimeout=setTimeout(()=>{this.show()},this.getOption("showDelay")):this.show(),this.getOption("life")){let u=this.getOption("showDelay")?this.getOption("life")+this.getOption("showDelay"):this.getOption("life");this.hideTimeout=setTimeout(()=>{this.hide()},u)}}deactivate(){this.active=!1,this.clearShowTimeout(),this.getOption("hideDelay")?(this.clearHideTimeout(),this.hideTimeout=setTimeout(()=>{this.hide()},this.getOption("hideDelay"))):this.hide()}create(){this.container&&(this.clearHideTimeout(),this.remove()),this.container=document.createElement("div"),this.container.setAttribute("id",this.getOption("id")),this.container.setAttribute("role","tooltip");let u=document.createElement("div");u.className="p-tooltip-arrow",this.container.appendChild(u),this.tooltipText=document.createElement("div"),this.tooltipText.className="p-tooltip-text",this.updateText(),this.getOption("positionStyle")&&(this.container.style.position=this.getOption("positionStyle")),this.container.appendChild(this.tooltipText),"body"===this.getOption("appendTo")?document.body.appendChild(this.container):"target"===this.getOption("appendTo")?re.D.appendChild(this.container,this.el.nativeElement):re.D.appendChild(this.container,this.getOption("appendTo")),this.container.style.display="inline-block",this.fitContent&&(this.container.style.width="fit-content"),this.isAutoHide()?this.container.style.pointerEvents="none":(this.container.style.pointerEvents="unset",this.bindContainerMouseleaveListener())}bindContainerMouseleaveListener(){this.containerMouseleaveListener||(this.containerMouseleaveListener=this.renderer.listen(this.container??this.container.nativeElement,"mouseleave",ie=>{this.deactivate()}))}unbindContainerMouseleaveListener(){this.containerMouseleaveListener&&(this.bindContainerMouseleaveListener(),this.containerMouseleaveListener=null)}show(){!this.getOption("tooltipLabel")||this.getOption("disabled")||(this.create(),this.align(),re.D.fadeIn(this.container,250),"auto"===this.getOption("tooltipZIndex")?le.Q$.set("tooltip",this.container,this.config.zIndex.tooltip):this.container.style.zIndex=this.getOption("tooltipZIndex"),this.bindDocumentResizeListener(),this.bindScrollListener())}hide(){"auto"===this.getOption("tooltipZIndex")&&le.Q$.clear(this.container),this.remove()}updateText(){const u=this.getOption("tooltipLabel");if(u instanceof e.C4Q){const ie=this.viewContainer.createEmbeddedView(u);ie.detectChanges(),ie.rootNodes.forEach(de=>this.tooltipText.appendChild(de))}else this.getOption("escape")?(this.tooltipText.innerHTML="",this.tooltipText.appendChild(document.createTextNode(u))):this.tooltipText.innerHTML=u}align(){switch(this.getOption("tooltipPosition")){case"top":this.alignTop(),this.isOutOfBounds()&&(this.alignBottom(),this.isOutOfBounds()&&(this.alignRight(),this.isOutOfBounds()&&this.alignLeft()));break;case"bottom":this.alignBottom(),this.isOutOfBounds()&&(this.alignTop(),this.isOutOfBounds()&&(this.alignRight(),this.isOutOfBounds()&&this.alignLeft()));break;case"left":this.alignLeft(),this.isOutOfBounds()&&(this.alignRight(),this.isOutOfBounds()&&(this.alignTop(),this.isOutOfBounds()&&this.alignBottom()));break;case"right":this.alignRight(),this.isOutOfBounds()&&(this.alignLeft(),this.isOutOfBounds()&&(this.alignTop(),this.isOutOfBounds()&&this.alignBottom()))}}getHostOffset(){if("body"===this.getOption("appendTo")||"target"===this.getOption("appendTo")){let u=this.el.nativeElement.getBoundingClientRect();return{left:u.left+re.D.getWindowScrollLeft(),top:u.top+re.D.getWindowScrollTop()}}return{left:0,top:0}}alignRight(){this.preAlign("right");let u=this.getHostOffset(),ie=u.left+re.D.getOuterWidth(this.el.nativeElement),de=u.top+(re.D.getOuterHeight(this.el.nativeElement)-re.D.getOuterHeight(this.container))/2;this.container.style.left=ie+this.getOption("positionLeft")+"px",this.container.style.top=de+this.getOption("positionTop")+"px"}alignLeft(){this.preAlign("left");let u=this.getHostOffset(),ie=u.left-re.D.getOuterWidth(this.container),de=u.top+(re.D.getOuterHeight(this.el.nativeElement)-re.D.getOuterHeight(this.container))/2;this.container.style.left=ie+this.getOption("positionLeft")+"px",this.container.style.top=de+this.getOption("positionTop")+"px"}alignTop(){this.preAlign("top");let u=this.getHostOffset(),ie=u.left+(re.D.getOuterWidth(this.el.nativeElement)-re.D.getOuterWidth(this.container))/2,de=u.top-re.D.getOuterHeight(this.container);this.container.style.left=ie+this.getOption("positionLeft")+"px",this.container.style.top=de+this.getOption("positionTop")+"px"}alignBottom(){this.preAlign("bottom");let u=this.getHostOffset(),ie=u.left+(re.D.getOuterWidth(this.el.nativeElement)-re.D.getOuterWidth(this.container))/2,de=u.top+re.D.getOuterHeight(this.el.nativeElement);this.container.style.left=ie+this.getOption("positionLeft")+"px",this.container.style.top=de+this.getOption("positionTop")+"px"}setOption(u){this._tooltipOptions={...this._tooltipOptions,...u}}getOption(u){return this._tooltipOptions[u]}getTarget(u){return re.D.hasClass(u,"p-inputwrapper")?re.D.findSingle(u,"input"):u}preAlign(u){this.container.style.left="-999px",this.container.style.top="-999px";let ie="p-tooltip p-component p-tooltip-"+u;this.container.className=this.getOption("tooltipStyleClass")?ie+" "+this.getOption("tooltipStyleClass"):ie}isOutOfBounds(){let u=this.container.getBoundingClientRect(),ie=u.top,de=u.left,Ae=re.D.getOuterWidth(this.container),nt=re.D.getOuterHeight(this.container),kt=re.D.getViewport();return de+Ae>kt.width||de<0||ie<0||ie+nt>kt.height}onWindowResize(u){this.hide()}bindDocumentResizeListener(){this.zone.runOutsideAngular(()=>{this.resizeListener=this.onWindowResize.bind(this),window.addEventListener("resize",this.resizeListener)})}unbindDocumentResizeListener(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)}bindScrollListener(){this.scrollHandler||(this.scrollHandler=new re.b(this.el.nativeElement,()=>{this.container&&this.hide()})),this.scrollHandler.bindScrollListener()}unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()}unbindEvents(){if("hover"===this.getOption("tooltipEvent"))this.el.nativeElement.removeEventListener("mouseenter",this.mouseEnterListener),this.el.nativeElement.removeEventListener("mouseleave",this.mouseLeaveListener),this.el.nativeElement.removeEventListener("click",this.clickListener);else if("focus"===this.getOption("tooltipEvent")){let u=this.getTarget(this.el.nativeElement);u.removeEventListener("focus",this.focusListener),u.removeEventListener("blur",this.blurListener)}this.unbindDocumentResizeListener()}remove(){this.container&&this.container.parentElement&&("body"===this.getOption("appendTo")?document.body.removeChild(this.container):"target"===this.getOption("appendTo")?this.el.nativeElement.removeChild(this.container):re.D.removeChild(this.container,this.getOption("appendTo"))),this.unbindDocumentResizeListener(),this.unbindScrollListener(),this.unbindContainerMouseleaveListener(),this.clearTimeouts(),this.container=null,this.scrollHandler=null}clearShowTimeout(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=null)}clearHideTimeout(){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=null)}clearTimeouts(){this.clearShowTimeout(),this.clearHideTimeout()}ngOnDestroy(){this.unbindEvents(),this.container&&le.Q$.clear(this.container),this.remove(),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null)}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(e.Agw),e.rXU(e.aKT),e.rXU(e.SKi),e.rXU(Le.r1),e.rXU(e.sFG),e.rXU(e.c1b))};static \u0275dir=e.FsC({type:ye,selectors:[["","pTooltip",""]],hostAttrs:[1,"p-element"],hostBindings:function(ie,de){1&ie&&e.bIt("keydown.escape",function(nt){return de.onPressEscape(nt)},!1,e.EBC)},inputs:{tooltipPosition:"tooltipPosition",tooltipEvent:"tooltipEvent",appendTo:"appendTo",positionStyle:"positionStyle",tooltipStyleClass:"tooltipStyleClass",tooltipZIndex:"tooltipZIndex",escape:"escape",showDelay:"showDelay",hideDelay:"hideDelay",life:"life",positionTop:"positionTop",positionLeft:"positionLeft",autoHide:"autoHide",fitContent:"fitContent",hideOnEscape:"hideOnEscape",content:[e.Mj6.None,"pTooltip","content"],disabled:[e.Mj6.None,"tooltipDisabled","disabled"],tooltipOptions:"tooltipOptions"},features:[e.OA$]})}return ye})(),Ir=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD]})}return ye})(),cr=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["SearchIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M2.67602 11.0265C3.6661 11.688 4.83011 12.0411 6.02086 12.0411C6.81149 12.0411 7.59438 11.8854 8.32483 11.5828C8.87005 11.357 9.37808 11.0526 9.83317 10.6803L12.9769 13.8241C13.0323 13.8801 13.0983 13.9245 13.171 13.9548C13.2438 13.985 13.3219 14.0003 13.4007 14C13.4795 14.0003 13.5575 13.985 13.6303 13.9548C13.7031 13.9245 13.7691 13.8801 13.8244 13.8241C13.9367 13.7116 13.9998 13.5592 13.9998 13.4003C13.9998 13.2414 13.9367 13.089 13.8244 12.9765L10.6807 9.8328C11.053 9.37773 11.3573 8.86972 11.5831 8.32452C11.8857 7.59408 12.0414 6.81119 12.0414 6.02056C12.0414 4.8298 11.6883 3.66579 11.0268 2.67572C10.3652 1.68564 9.42494 0.913972 8.32483 0.45829C7.22472 0.00260857 6.01418 -0.116618 4.84631 0.115686C3.67844 0.34799 2.60568 0.921393 1.76369 1.76338C0.921698 2.60537 0.348296 3.67813 0.115991 4.84601C-0.116313 6.01388 0.00291375 7.22441 0.458595 8.32452C0.914277 9.42464 1.68595 10.3649 2.67602 11.0265ZM3.35565 2.0158C4.14456 1.48867 5.07206 1.20731 6.02086 1.20731C7.29317 1.20731 8.51338 1.71274 9.41304 2.6124C10.3127 3.51206 10.8181 4.73226 10.8181 6.00457C10.8181 6.95337 10.5368 7.88088 10.0096 8.66978C9.48251 9.45868 8.73328 10.0736 7.85669 10.4367C6.98011 10.7997 6.01554 10.8947 5.08496 10.7096C4.15439 10.5245 3.2996 10.0676 2.62869 9.39674C1.95778 8.72583 1.50089 7.87104 1.31579 6.94046C1.13068 6.00989 1.22568 5.04532 1.58878 4.16874C1.95187 3.29215 2.56675 2.54292 3.35565 2.0158Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(3),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})();const es=ye=>({height:ye}),$r=(ye,et,u)=>({"p-dropdown-item":!0,"p-highlight":ye,"p-disabled":et,"p-focus":u}),Ko=ye=>({$implicit:ye});function Do(ye,et){if(1&ye&&(e.j41(0,"span"),e.EFF(1),e.k0s()),2&ye){let u;const ie=e.XpG();e.R7$(),e.JRh(null!==(u=ie.label)&&void 0!==u?u:"empty")}}function Zo(ye,et){1&ye&&e.eu8(0)}const to=["container"],ba=["filter"],va=["focusInput"],Mo=["editableInput"],Js=["items"],bo=["scroller"],Eo=["overlay"],wh=["firstHiddenFocusableEl"],Lc=["lastHiddenFocusableEl"],Sr=ye=>({options:ye}),Dn=(ye,et)=>({$implicit:ye,options:et}),Ao=()=>({});function ya(ye,et){if(1&ye&&(e.qex(0),e.EFF(1),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.JRh("p-emptylabel"===u.label()?"\xa0":u.label())}}function Io(ye,et){if(1&ye&&e.eu8(0,25),2&ye){const u=e.XpG(2);e.Y8G("ngTemplateOutlet",u.selectedItemTemplate)("ngTemplateOutletContext",e.eq3(2,Ko,u.selectedOption))}}function hr(ye,et){if(1&ye&&(e.j41(0,"span"),e.EFF(1),e.k0s()),2&ye){const u=e.XpG(3);e.R7$(),e.JRh("p-emptylabel"===u.label()?"\xa0":u.placeholder())}}function ol(ye,et){if(1&ye&&e.DNE(0,hr,2,1,"span",17),2&ye){const u=e.XpG(2);e.Y8G("ngIf",u.displayPlaceholder())}}function Or(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"span",22,2),e.bIt("focus",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onInputFocus(de))})("blur",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onInputBlur(de))})("keydown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onKeyDown(de))}),e.DNE(2,ya,2,1,"ng-container",23)(3,Io,1,4,"ng-container",24)(4,ol,1,1,"ng-template",null,3,e.C5r),e.k0s()}if(2&ye){let u;const ie=e.sdS(5),de=e.XpG();e.Y8G("ngClass",de.inputClass)("pTooltip",de.tooltip)("tooltipPosition",de.tooltipPosition)("positionStyle",de.tooltipPositionStyle)("tooltipStyleClass",de.tooltipStyleClass)("autofocus",de.autofocus),e.BMQ("aria-disabled",de.disabled)("id",de.inputId)("aria-label",de.ariaLabel||("p-emptylabel"===de.label()?void 0:de.label()))("aria-labelledby",de.ariaLabelledBy)("aria-haspopup","listbox")("aria-expanded",null!==(u=de.overlayVisible)&&void 0!==u&&u)("aria-controls",de.overlayVisible?de.id+"_list":null)("tabindex",de.disabled?-1:de.tabindex)("aria-activedescendant",de.focused?de.focusedOptionId:void 0)("aria-required",de.required)("required",de.required),e.R7$(2),e.Y8G("ngIf",!de.selectedItemTemplate)("ngIfElse",ie),e.R7$(),e.Y8G("ngIf",de.selectedItemTemplate&&de.selectedOption)}}function cn(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"input",26,4),e.bIt("input",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onEditableInput(de))})("keydown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onKeyDown(de))})("focus",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onInputFocus(de))})("blur",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onInputBlur(de))}),e.k0s()}if(2&ye){const u=e.XpG();e.Y8G("ngClass",u.inputClass)("disabled",u.disabled),e.BMQ("maxlength",u.maxlength)("placeholder",void 0===u.modelValue()||null===u.modelValue()?u.placeholder():void 0)}}function Bl(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"TimesIcon",29),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.clear(de))}),e.k0s()}2&ye&&(e.Y8G("styleClass","p-dropdown-clear-icon"),e.BMQ("data-pc-section","clearicon"))}function Ua(ye,et){}function ot(ye,et){1&ye&&e.DNE(0,Ua,0,0,"ng-template")}function ct(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"span",30),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.clear(de))}),e.DNE(1,ot,1,0,null,31),e.k0s()}if(2&ye){const u=e.XpG(2);e.BMQ("data-pc-section","clearicon"),e.R7$(),e.Y8G("ngTemplateOutlet",u.clearIconTemplate)}}function Ye(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Bl,1,2,"TimesIcon",27)(2,ct,2,2,"span",28),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngIf",!u.clearIconTemplate),e.R7$(),e.Y8G("ngIf",u.clearIconTemplate)}}function vt(ye,et){if(1&ye&&e.nrm(0,"span",34),2&ye){const u=e.XpG(2);e.Y8G("ngClass",u.dropdownIcon)}}function Ft(ye,et){1&ye&&e.nrm(0,"ChevronDownIcon",35),2&ye&&e.Y8G("styleClass","p-dropdown-trigger-icon")}function Fi(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,vt,1,1,"span",32)(2,Ft,1,1,"ChevronDownIcon",33),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngIf",u.dropdownIcon),e.R7$(),e.Y8G("ngIf",!u.dropdownIcon)}}function mn(ye,et){}function io(ye,et){1&ye&&e.DNE(0,mn,0,0,"ng-template")}function nr(ye,et){if(1&ye&&(e.j41(0,"span",36),e.DNE(1,io,1,0,null,31),e.k0s()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.dropdownIconTemplate)}}function Vs(ye,et){1&ye&&e.eu8(0)}function qo(ye,et){1&ye&&e.eu8(0)}function gr(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,qo,1,0,"ng-container",43),e.bVm()),2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("ngTemplateOutlet",u.filterTemplate)("ngTemplateOutletContext",e.eq3(2,Sr,u.filterOptions))}}function ac(ye,et){1&ye&&e.nrm(0,"SearchIcon",35),2&ye&&e.Y8G("styleClass","p-dropdown-filter-icon")}function Mn(ye,et){}function jl(ye,et){1&ye&&e.DNE(0,Mn,0,0,"ng-template")}function lc(ye,et){if(1&ye&&(e.j41(0,"span",47),e.DNE(1,jl,1,0,null,31),e.k0s()),2&ye){const u=e.XpG(4);e.R7$(),e.Y8G("ngTemplateOutlet",u.filterIconTemplate)}}function cc(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",44)(1,"input",45,9),e.bIt("input",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onFilterInputChange(de))})("keydown",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onFilterKeyDown(de))})("blur",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onFilterBlur(de))}),e.k0s(),e.DNE(3,ac,1,1,"SearchIcon",33)(4,lc,2,1,"span",46),e.k0s()}if(2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("value",u._filterValue()||""),e.BMQ("placeholder",u.filterPlaceholder)("aria-owns",u.id+"_list")("aria-label",u.ariaFilterLabel)("aria-activedescendant",u.focusedOptionId),e.R7$(2),e.Y8G("ngIf",!u.filterIconTemplate),e.R7$(),e.Y8G("ngIf",u.filterIconTemplate)}}function al(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",42),e.bIt("click",function(de){return e.eBV(u),e.Njj(de.stopPropagation())}),e.DNE(1,gr,2,4,"ng-container",23)(2,cc,5,7,"ng-template",null,8,e.C5r),e.k0s()}if(2&ye){const u=e.sdS(3),ie=e.XpG(2);e.R7$(),e.Y8G("ngIf",ie.filterTemplate)("ngIfElse",u)}}function ll(ye,et){1&ye&&e.eu8(0)}function ad(ye,et){if(1&ye&&e.DNE(0,ll,1,0,"ng-container",43),2&ye){const u=et.$implicit,ie=et.options;e.XpG(2);const de=e.sdS(9);e.Y8G("ngTemplateOutlet",de)("ngTemplateOutletContext",e.l_i(2,Dn,u,ie))}}function Vl(ye,et){1&ye&&e.eu8(0)}function hc(ye,et){if(1&ye&&e.DNE(0,Vl,1,0,"ng-container",43),2&ye){const u=et.options,ie=e.XpG(4);e.Y8G("ngTemplateOutlet",ie.loaderTemplate)("ngTemplateOutletContext",e.eq3(2,Sr,u))}}function zl(ye,et){1&ye&&(e.qex(0),e.DNE(1,hc,1,4,"ng-template",49),e.bVm())}function Oo(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"p-scroller",48,10),e.bIt("onLazyLoad",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onLazyLoad.emit(de))}),e.DNE(2,ad,1,5,"ng-template",21)(3,zl,2,0,"ng-container",17),e.k0s()}if(2&ye){const u=e.XpG(2);e.Aen(e.eq3(8,es,u.scrollHeight)),e.Y8G("items",u.visibleOptions())("itemSize",u.virtualScrollItemSize||u._itemSize)("autoSize",!0)("lazy",u.lazy)("options",u.virtualScrollOptions),e.R7$(3),e.Y8G("ngIf",u.loaderTemplate)}}function Gl(ye,et){1&ye&&e.eu8(0)}function vo(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Gl,1,0,"ng-container",43),e.bVm()),2&ye){e.XpG();const u=e.sdS(9),ie=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u)("ngTemplateOutletContext",e.l_i(3,Dn,ie.visibleOptions(),e.lJ4(2,Ao)))}}function Wa(ye,et){if(1&ye&&(e.j41(0,"span"),e.EFF(1),e.k0s()),2&ye){const u=e.XpG(2).$implicit,ie=e.XpG(3);e.R7$(),e.JRh(ie.getOptionGroupLabel(u.optionGroup))}}function pn(ye,et){1&ye&&e.eu8(0)}function vs(ye,et){if(1&ye&&(e.qex(0),e.j41(1,"li",53),e.DNE(2,Wa,2,1,"span",17)(3,pn,1,0,"ng-container",43),e.k0s(),e.bVm()),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG().options,nt=e.XpG(2);e.R7$(),e.Y8G("ngStyle",e.eq3(5,es,Ae.itemSize+"px")),e.BMQ("id",nt.id+"_"+nt.getOptionIndex(de,Ae)),e.R7$(),e.Y8G("ngIf",!nt.groupTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",nt.groupTemplate)("ngTemplateOutletContext",e.eq3(7,Ko,ie.optionGroup))}}function fs(ye,et){if(1&ye){const u=e.RV6();e.qex(0),e.j41(1,"p-dropdownItem",54),e.bIt("onClick",function(de){e.eBV(u);const Ae=e.XpG().$implicit,nt=e.XpG(3);return e.Njj(nt.onOptionSelect(de,Ae))})("onMouseEnter",function(de){e.eBV(u);const Ae=e.XpG().index,nt=e.XpG().options,kt=e.XpG(2);return e.Njj(kt.onOptionMouseEnter(de,kt.getOptionIndex(Ae,nt)))}),e.k0s(),e.bVm()}if(2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG().options,nt=e.XpG(2);e.R7$(),e.Y8G("id",nt.id+"_"+nt.getOptionIndex(de,Ae))("option",ie)("selected",nt.isSelected(ie))("label",nt.getOptionLabel(ie))("disabled",nt.isOptionDisabled(ie))("template",nt.itemTemplate)("focused",nt.focusedOptionIndex()===nt.getOptionIndex(de,Ae))("ariaPosInset",nt.getAriaPosInset(nt.getOptionIndex(de,Ae)))("ariaSetSize",nt.ariaSetSize)}}function kr(ye,et){if(1&ye&&e.DNE(0,vs,4,9,"ng-container",17)(1,fs,2,9,"ng-container",17),2&ye){const u=et.$implicit,ie=e.XpG(3);e.Y8G("ngIf",ie.isOptionGroup(u)),e.R7$(),e.Y8G("ngIf",!ie.isOptionGroup(u))}}function er(ye,et){if(1&ye&&(e.qex(0),e.EFF(1),e.bVm()),2&ye){const u=e.XpG(4);e.R7$(),e.SpI(" ",u.emptyFilterMessageLabel," ")}}function Qo(ye,et){1&ye&&e.eu8(0,null,12)}function dc(ye,et){if(1&ye&&(e.j41(0,"li",55),e.DNE(1,er,2,1,"ng-container",23)(2,Qo,2,0,"ng-container",31),e.k0s()),2&ye){const u=e.XpG().options,ie=e.XpG(2);e.Y8G("ngStyle",e.eq3(4,es,u.itemSize+"px")),e.R7$(),e.Y8G("ngIf",!ie.emptyFilterTemplate&&!ie.emptyTemplate)("ngIfElse",ie.emptyFilter),e.R7$(),e.Y8G("ngTemplateOutlet",ie.emptyFilterTemplate||ie.emptyTemplate)}}function uc(ye,et){if(1&ye&&(e.qex(0),e.EFF(1),e.bVm()),2&ye){const u=e.XpG(4);e.R7$(),e.SpI(" ",u.emptyMessageLabel," ")}}function Th(ye,et){1&ye&&e.eu8(0,null,13)}function Sh(ye,et){if(1&ye&&(e.j41(0,"li",55),e.DNE(1,uc,2,1,"ng-container",23)(2,Th,2,0,"ng-container",31),e.k0s()),2&ye){const u=e.XpG().options,ie=e.XpG(2);e.Y8G("ngStyle",e.eq3(4,es,u.itemSize+"px")),e.R7$(),e.Y8G("ngIf",!ie.emptyTemplate)("ngIfElse",ie.empty),e.R7$(),e.Y8G("ngTemplateOutlet",ie.emptyTemplate)}}function Jo(ye,et){if(1&ye&&(e.j41(0,"ul",50,11),e.DNE(2,kr,2,2,"ng-template",51)(3,dc,3,6,"li",52)(4,Sh,3,6,"li",52),e.k0s()),2&ye){const u=et.$implicit,ie=et.options,de=e.XpG(2);e.Aen(ie.contentStyle),e.Y8G("ngClass",ie.contentStyleClass),e.BMQ("id",de.id+"_list")("aria-label",de.listLabel),e.R7$(2),e.Y8G("ngForOf",u),e.R7$(),e.Y8G("ngIf",de.filterValue&&de.isEmpty()),e.R7$(),e.Y8G("ngIf",!de.filterValue&&de.isEmpty())}}function pc(ye,et){1&ye&&e.eu8(0)}function cl(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",37)(1,"span",38,5),e.bIt("focus",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onFirstHiddenFocus(de))}),e.k0s(),e.DNE(3,Vs,1,0,"ng-container",31)(4,al,4,2,"div",39),e.j41(5,"div",40),e.DNE(6,Oo,4,10,"p-scroller",41)(7,vo,2,6,"ng-container",17)(8,Jo,5,8,"ng-template",null,6,e.C5r),e.k0s(),e.DNE(10,pc,1,0,"ng-container",31),e.j41(11,"span",38,7),e.bIt("focus",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onLastHiddenFocus(de))}),e.k0s()()}if(2&ye){const u=e.XpG();e.HbH(u.panelStyleClass),e.Y8G("ngClass","p-dropdown-panel p-component")("ngStyle",u.panelStyle),e.R7$(),e.BMQ("aria-hidden",!0)("tabindex",0)("data-p-hidden-accessible",!0)("data-p-hidden-focusable",!0),e.R7$(2),e.Y8G("ngTemplateOutlet",u.headerTemplate),e.R7$(),e.Y8G("ngIf",u.filter),e.R7$(),e.xc7("max-height",u.virtualScroll?"auto":u.scrollHeight||"auto"),e.R7$(),e.Y8G("ngIf",u.virtualScroll),e.R7$(),e.Y8G("ngIf",!u.virtualScroll),e.R7$(3),e.Y8G("ngTemplateOutlet",u.footerTemplate),e.R7$(),e.BMQ("aria-hidden",!0)("tabindex",0)("data-p-hidden-accessible",!0)("data-p-hidden-focusable",!0)}}const Pc={provide:V.kq,useExisting:(0,e.Rfq)(()=>Rc),multi:!0};let Hl=(()=>{class ye{id;option;selected;focused;label;disabled;visible;itemSize;ariaPosInset;ariaSetSize;template;onClick=new e.bkB;onMouseEnter=new e.bkB;ngOnInit(){}onOptionClick(u){this.onClick.emit(u)}onOptionMouseEnter(u){this.onMouseEnter.emit(u)}static \u0275fac=function(ie){return new(ie||ye)};static \u0275cmp=e.VBU({type:ye,selectors:[["p-dropdownItem"]],hostAttrs:[1,"p-element"],inputs:{id:"id",option:"option",selected:"selected",focused:"focused",label:"label",disabled:"disabled",visible:"visible",itemSize:"itemSize",ariaPosInset:"ariaPosInset",ariaSetSize:"ariaSetSize",template:"template"},outputs:{onClick:"onClick",onMouseEnter:"onMouseEnter"},decls:3,vars:21,consts:[["role","option","pRipple","",3,"click","mouseenter","id","ngStyle","ngClass"],[4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(ie,de){1&ie&&(e.j41(0,"li",0),e.bIt("click",function(nt){return de.onOptionClick(nt)})("mouseenter",function(nt){return de.onOptionMouseEnter(nt)}),e.DNE(1,Do,2,1,"span",1)(2,Zo,1,0,"ng-container",2),e.k0s()),2&ie&&(e.Y8G("id",de.id)("ngStyle",e.eq3(13,es,de.itemSize+"px"))("ngClass",e.sMw(15,$r,de.selected,de.disabled,de.focused)),e.BMQ("aria-label",de.label)("aria-setsize",de.ariaSetSize)("aria-posinset",de.ariaPosInset)("aria-selected",de.selected)("data-p-focused",de.focused)("data-p-highlight",de.selected)("data-p-disabled",de.disabled),e.R7$(),e.Y8G("ngIf",!de.template),e.R7$(),e.Y8G("ngTemplateOutlet",de.template)("ngTemplateOutletContext",e.eq3(19,Ko,de.option)))},dependencies:[M.YU,M.bT,M.T3,M.B3,ve.n],encapsulation:2})}return ye})(),Rc=(()=>{class ye{el;renderer;cd;zone;filterService;config;id;scrollHeight="200px";filter;name;style;panelStyle;styleClass;panelStyleClass;readonly;required;editable;appendTo;tabindex=0;set placeholder(u){this._placeholder.set(u)}get placeholder(){return this._placeholder.asReadonly()}filterPlaceholder;filterLocale;inputId;dataKey;filterBy;filterFields;autofocus;resetFilterOnHide=!1;dropdownIcon;optionLabel;optionValue;optionDisabled;optionGroupLabel="label";optionGroupChildren="items";autoDisplayFirst=!0;group;showClear;emptyFilterMessage="";emptyMessage="";lazy=!1;virtualScroll;virtualScrollItemSize;virtualScrollOptions;overlayOptions;ariaFilterLabel;ariaLabel;ariaLabelledBy;filterMatchMode="contains";maxlength;tooltip="";tooltipPosition="right";tooltipPositionStyle="absolute";tooltipStyleClass;focusOnHover=!1;selectOnFocus=!1;autoOptionFocus=!0;autofocusFilter=!0;get disabled(){return this._disabled}set disabled(u){u&&(this.focused=!1,this.overlayVisible&&this.hide()),this._disabled=u,this.cd.destroyed||this.cd.detectChanges()}get itemSize(){return this._itemSize}set itemSize(u){this._itemSize=u,console.warn("The itemSize property is deprecated, use virtualScrollItemSize property instead.")}_itemSize;get autoZIndex(){return this._autoZIndex}set autoZIndex(u){this._autoZIndex=u,console.warn("The autoZIndex property is deprecated since v14.2.0, use overlayOptions property instead.")}_autoZIndex;get baseZIndex(){return this._baseZIndex}set baseZIndex(u){this._baseZIndex=u,console.warn("The baseZIndex property is deprecated since v14.2.0, use overlayOptions property instead.")}_baseZIndex;get showTransitionOptions(){return this._showTransitionOptions}set showTransitionOptions(u){this._showTransitionOptions=u,console.warn("The showTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.")}_showTransitionOptions;get hideTransitionOptions(){return this._hideTransitionOptions}set hideTransitionOptions(u){this._hideTransitionOptions=u,console.warn("The hideTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.")}_hideTransitionOptions;get filterValue(){return this._filterValue()}set filterValue(u){setTimeout(()=>{this._filterValue.set(u)})}get options(){return this._options()}set options(u){le.BF.deepEquals(u,this._options())||this._options.set(u)}onChange=new e.bkB;onFilter=new e.bkB;onFocus=new e.bkB;onBlur=new e.bkB;onClick=new e.bkB;onShow=new e.bkB;onHide=new e.bkB;onClear=new e.bkB;onLazyLoad=new e.bkB;containerViewChild;filterViewChild;focusInputViewChild;editableInputViewChild;itemsViewChild;scroller;overlayViewChild;firstHiddenFocusableElementOnOverlay;lastHiddenFocusableElementOnOverlay;templates;_disabled;itemsWrapper;itemTemplate;groupTemplate;loaderTemplate;selectedItemTemplate;headerTemplate;filterTemplate;footerTemplate;emptyFilterTemplate;emptyTemplate;dropdownIconTemplate;clearIconTemplate;filterIconTemplate;filterOptions;_options=(0,e.vPA)(null);_placeholder=(0,e.vPA)(void 0);modelValue=(0,e.vPA)(null);value;onModelChange=()=>{};onModelTouched=()=>{};hover;focused;overlayVisible;optionsChanged;panel;dimensionsUpdated;hoveredItem;selectedOptionUpdated;_filterValue=(0,e.vPA)(null);searchValue;searchIndex;searchTimeout;previousSearchChar;currentSearchChar;preventModelTouched;focusedOptionIndex=(0,e.vPA)(-1);labelId;listId;clicked=(0,e.vPA)(!1);get emptyMessageLabel(){return this.emptyMessage||this.config.getTranslation(Le.Yj.EMPTY_MESSAGE)}get emptyFilterMessageLabel(){return this.emptyFilterMessage||this.config.getTranslation(Le.Yj.EMPTY_FILTER_MESSAGE)}get isVisibleClearIcon(){return null!=this.modelValue()&&this.hasSelectedOption()&&this.showClear&&!this.disabled}get listLabel(){return this.config.getTranslation(Le.Yj.ARIA).listLabel}get containerClass(){return{"p-dropdown p-component p-inputwrapper":!0,"p-disabled":this.disabled,"p-dropdown-clearable":this.showClear&&!this.disabled,"p-focus":this.focused,"p-inputwrapper-filled":void 0!==this.modelValue()&&null!==this.modelValue()&&!this.modelValue().length,"p-inputwrapper-focus":this.focused||this.overlayVisible}}get inputClass(){const u=this.label();return{"p-dropdown-label p-inputtext":!0,"p-placeholder":this.placeholder()&&u===this.placeholder(),"p-dropdown-label-empty":!(this.editable||this.selectedItemTemplate||null!=u&&"p-emptylabel"!==u&&0!==u.length)}}get panelClass(){return{"p-dropdown-panel p-component":!0,"p-input-filled":"filled"===this.config.inputStyle,"p-ripple-disabled":!1===this.config.ripple}}get focusedOptionId(){return-1!==this.focusedOptionIndex()?`${this.id}_${this.focusedOptionIndex()}`:null}visibleOptions=(0,e.EWP)(()=>{const u=this.getAllVisibleAndNonVisibleOptions();if(this._filterValue()){const de=this.filterBy||this.optionLabel||this.filterFields||this.optionValue?this.filterService.filter(u,this.searchFields(),this._filterValue().trim(),this.filterMatchMode,this.filterLocale):this.options.filter(Ae=>Ae.label?-1!==Ae.label.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()):-1!==Ae.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()));if(this.group){const nt=[];return(this.options||[]).forEach(kt=>{const ai=this.getOptionGroupChildren(kt).filter(oi=>de.includes(oi));ai.length>0&&nt.push({...kt,["string"==typeof this.optionGroupChildren?this.optionGroupChildren:"items"]:[...ai]})}),this.flatOptions(nt)}return de}return u});label=(0,e.EWP)(()=>{const u=this.getAllVisibleAndNonVisibleOptions(),ie=u.findIndex(de=>this.isOptionValueEqualsModelValue(de));return-1!==ie?this.getOptionLabel(u[ie]):this.placeholder()||"p-emptylabel"});filled=(0,e.EWP)(()=>"string"==typeof this.modelValue()?!!this.modelValue():"p-emptylabel"!==this.label()&&void 0!==this.modelValue()&&null!==this.modelValue());selectedOption;editableInputValue=(0,e.EWP)(()=>this.getOptionLabel(this.selectedOption)||this.modelValue()||"");constructor(u,ie,de,Ae,nt,kt){this.el=u,this.renderer=ie,this.cd=de,this.zone=Ae,this.filterService=nt,this.config=kt,(0,e.QZP)(()=>{const zt=this.modelValue(),ai=this.visibleOptions();if(ai&&le.BF.isNotEmpty(ai)){const oi=this.findSelectedOptionIndex();(-1!==oi||void 0===zt||"string"==typeof zt&&0===zt.length||this.isModelValueNotSet()||this.editable)&&(this.selectedOption=ai[oi])}le.BF.isEmpty(ai)&&(void 0===zt||this.isModelValueNotSet())&&le.BF.isNotEmpty(this.selectedOption)&&(this.selectedOption=null),void 0!==zt&&this.editable&&this.updateEditableLabel(),this.cd.markForCheck()})}isModelValueNotSet(){return null===this.modelValue()&&!this.isOptionValueEqualsModelValue(this.selectedOption)}displayPlaceholder(){return le.BF.isEmpty(this.selectedOption)&&this.label()===this.placeholder()}getAllVisibleAndNonVisibleOptions(){return this.group?this.flatOptions(this.options):this.options||[]}ngOnInit(){this.id=this.id||(0,le._Y)(),this.autoUpdateModel(),this.filterBy&&(this.filterOptions={filter:u=>this.onFilterInputChange(u),reset:()=>this.resetFilter()})}ngAfterViewChecked(){if(this.optionsChanged&&this.overlayVisible&&(this.optionsChanged=!1,this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.overlayViewChild&&this.overlayViewChild.alignOverlay()},1)})),this.selectedOptionUpdated&&this.itemsWrapper){let u=re.D.findSingle(this.overlayViewChild?.overlayViewChild?.nativeElement,"li.p-highlight");u&&re.D.scrollInView(this.itemsWrapper,u),this.selectedOptionUpdated=!1}}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"item":default:this.itemTemplate=u.template;break;case"selectedItem":this.selectedItemTemplate=u.template;break;case"header":this.headerTemplate=u.template;break;case"filter":this.filterTemplate=u.template;break;case"footer":this.footerTemplate=u.template;break;case"emptyfilter":this.emptyFilterTemplate=u.template;break;case"empty":this.emptyTemplate=u.template;break;case"group":this.groupTemplate=u.template;break;case"loader":this.loaderTemplate=u.template;break;case"dropdownicon":this.dropdownIconTemplate=u.template;break;case"clearicon":this.clearIconTemplate=u.template;break;case"filtericon":this.filterIconTemplate=u.template}})}flatOptions(u){return(u||[]).reduce((ie,de,Ae)=>{ie.push({optionGroup:de,group:!0,index:Ae});const nt=this.getOptionGroupChildren(de);return nt&&nt.forEach(kt=>ie.push(kt)),ie},[])}autoUpdateModel(){if(this.selectOnFocus&&this.autoOptionFocus&&!this.hasSelectedOption()&&(this.focusedOptionIndex.set(this.findFirstFocusedOptionIndex()),this.onOptionSelect(null,this.visibleOptions()[this.focusedOptionIndex()],!1)),this.autoDisplayFirst&&(null===this.modelValue()||void 0===this.modelValue())&&!this.placeholder()){const u=this.findFirstOptionIndex();this.onOptionSelect(null,this.visibleOptions()[u],!1,!0)}}onOptionSelect(u,ie,de=!0,Ae=!1){if(!this.isSelected(ie)){const nt=this.getOptionValue(ie);this.updateModel(nt,u),this.focusedOptionIndex.set(this.findSelectedOptionIndex()),!1===Ae&&this.onChange.emit({originalEvent:u,value:nt})}de&&this.hide(!0)}onOptionMouseEnter(u,ie){this.focusOnHover&&this.changeFocusedOptionIndex(u,ie)}updateModel(u,ie){this.value=u,this.onModelChange(u),this.modelValue.set(u),this.selectedOptionUpdated=!0}writeValue(u){this.filter&&this.resetFilter(),this.value=u,this.allowModelChange()&&this.onModelChange(u),this.modelValue.set(this.value),this.updateEditableLabel(),this.cd.markForCheck()}allowModelChange(){return this.autoDisplayFirst&&!this.placeholder()&&(void 0===this.modelValue()||null===this.modelValue())&&!this.editable&&this.options&&this.options.length}isSelected(u){return this.isValidOption(u)&&this.isOptionValueEqualsModelValue(u)}isOptionValueEqualsModelValue(u){return le.BF.equals(this.modelValue(),this.getOptionValue(u),this.equalityKey())}ngAfterViewInit(){this.editable&&this.updateEditableLabel()}updateEditableLabel(){this.editableInputViewChild&&(this.editableInputViewChild.nativeElement.value=this.getOptionLabel(this.selectedOption)||this.modelValue()||"")}clearEditableLabel(){this.editableInputViewChild&&(this.editableInputViewChild.nativeElement.value="")}getOptionIndex(u,ie){return this.virtualScrollerDisabled?u:ie&&ie.getItemOptions(u).index}getOptionLabel(u){return null!=this.optionLabel?le.BF.resolveFieldData(u,this.optionLabel):u&&void 0!==u.label?u.label:u}getOptionValue(u){return this.optionValue&&null!==this.optionValue?le.BF.resolveFieldData(u,this.optionValue):!this.optionLabel&&u&&void 0!==u.value?u.value:u}isOptionDisabled(u){return!(this.getOptionValue(this.modelValue())===this.getOptionValue(u)||this.getOptionLabel(this.modelValue()===this.getOptionLabel(u))&&!1===u.disabled)&&(this.optionDisabled?le.BF.resolveFieldData(u,this.optionDisabled):!(!u||void 0===u.disabled)&&u.disabled)}getOptionGroupLabel(u){return null!=this.optionGroupLabel?le.BF.resolveFieldData(u,this.optionGroupLabel):u&&void 0!==u.label?u.label:u}getOptionGroupChildren(u){return null!=this.optionGroupChildren?le.BF.resolveFieldData(u,this.optionGroupChildren):u.items}getAriaPosInset(u){return(this.optionGroupLabel?u-this.visibleOptions().slice(0,u).filter(ie=>this.isOptionGroup(ie)).length:u)+1}get ariaSetSize(){return this.visibleOptions().filter(u=>!this.isOptionGroup(u)).length}resetFilter(){this._filterValue.set(null),this.filterViewChild&&this.filterViewChild.nativeElement&&(this.filterViewChild.nativeElement.value="")}registerOnChange(u){this.onModelChange=u}registerOnTouched(u){this.onModelTouched=u}setDisabledState(u){this.disabled=u,this.cd.markForCheck()}onContainerClick(u){this.disabled||this.readonly||(this.focusInputViewChild?.nativeElement.focus({preventScroll:!0}),"INPUT"!==u.target.tagName&&"clearicon"!==u.target.getAttribute("data-pc-section")&&!u.target.closest('[data-pc-section="clearicon"]')&&((!this.overlayViewChild||!this.overlayViewChild.el.nativeElement.contains(u.target))&&(this.overlayVisible?this.hide(!0):this.show(!0)),this.onClick.emit(u),this.clicked.set(!0),this.cd.detectChanges()))}isEmpty(){return!this._options()||this.visibleOptions()&&0===this.visibleOptions().length}onEditableInput(u){const ie=u.target.value;this.searchValue="",!this.searchOptions(u,ie)&&this.focusedOptionIndex.set(-1),this.onModelChange(ie),this.updateModel(ie,u),setTimeout(()=>{this.onChange.emit({originalEvent:u,value:ie})},1),!this.overlayVisible&&le.BF.isNotEmpty(ie)&&this.show()}show(u){this.overlayVisible=!0;const ie=-1!==this.focusedOptionIndex()?this.focusedOptionIndex():this.autoOptionFocus?this.findFirstFocusedOptionIndex():this.editable?-1:this.findSelectedOptionIndex();this.focusedOptionIndex.set(ie),u&&re.D.focus(this.focusInputViewChild?.nativeElement),this.cd.markForCheck()}onOverlayAnimationStart(u){if("visible"===u.toState){if(this.itemsWrapper=re.D.findSingle(this.overlayViewChild?.overlayViewChild?.nativeElement,this.virtualScroll?".p-scroller":".p-dropdown-items-wrapper"),this.virtualScroll&&this.scroller?.setContentEl(this.itemsViewChild?.nativeElement),this.options&&this.options.length)if(this.virtualScroll){const ie=this.modelValue()?this.focusedOptionIndex():-1;-1!==ie&&this.scroller?.scrollToIndex(ie)}else{let ie=re.D.findSingle(this.itemsWrapper,".p-dropdown-item.p-highlight");ie&&ie.scrollIntoView({block:"nearest",inline:"nearest"})}this.filterViewChild&&this.filterViewChild.nativeElement&&(this.preventModelTouched=!0,this.autofocusFilter&&!this.editable&&this.filterViewChild.nativeElement.focus()),this.onShow.emit(u)}"void"===u.toState&&(this.itemsWrapper=null,this.onModelTouched(),this.onHide.emit(u))}hide(u){this.overlayVisible=!1,this.focusedOptionIndex.set(-1),this.clicked.set(!1),this.searchValue="",this.filter&&this.resetFilterOnHide&&this.resetFilter(),u&&(this.focusInputViewChild&&re.D.focus(this.focusInputViewChild?.nativeElement),this.editable&&this.editableInputViewChild&&re.D.focus(this.editableInputViewChild?.nativeElement)),this.cd.markForCheck()}onInputFocus(u){if(this.disabled)return;this.focused=!0;const ie=-1!==this.focusedOptionIndex()?this.focusedOptionIndex():this.overlayVisible&&this.autoOptionFocus?this.findFirstFocusedOptionIndex():-1;this.focusedOptionIndex.set(ie),this.overlayVisible&&this.scrollInView(this.focusedOptionIndex()),this.onFocus.emit(u)}onInputBlur(u){this.focused=!1,!1===this.overlayVisible&&this.onBlur.emit(u),this.preventModelTouched||this.onModelTouched(),this.preventModelTouched=!1}onKeyDown(u,ie){if(!this.disabled&&!this.readonly){switch(u.code){case"ArrowDown":this.onArrowDownKey(u);break;case"ArrowUp":this.onArrowUpKey(u,this.editable);break;case"ArrowLeft":case"ArrowRight":this.onArrowLeftKey(u,this.editable);break;case"Delete":this.onDeleteKey(u);break;case"Home":this.onHomeKey(u,this.editable);break;case"End":this.onEndKey(u,this.editable);break;case"PageDown":this.onPageDownKey(u);break;case"PageUp":this.onPageUpKey(u);break;case"Space":this.onSpaceKey(u,ie);break;case"Enter":case"NumpadEnter":this.onEnterKey(u);break;case"Escape":this.onEscapeKey(u);break;case"Tab":this.onTabKey(u);break;case"Backspace":this.onBackspaceKey(u,this.editable);break;case"ShiftLeft":case"ShiftRight":break;default:!u.metaKey&&le.BF.isPrintableCharacter(u.key)&&(!this.overlayVisible&&this.show(),!this.editable&&this.searchOptions(u,u.key))}this.clicked.set(!1)}}onFilterKeyDown(u){switch(u.code){case"ArrowDown":this.onArrowDownKey(u);break;case"ArrowUp":this.onArrowUpKey(u,!0);break;case"ArrowLeft":case"ArrowRight":this.onArrowLeftKey(u,!0);break;case"Home":this.onHomeKey(u,!0);break;case"End":this.onEndKey(u,!0);break;case"Enter":this.onEnterKey(u,!0);break;case"Escape":this.onEscapeKey(u);break;case"Tab":this.onTabKey(u,!0)}}onFilterBlur(u){this.focusedOptionIndex.set(-1)}onArrowDownKey(u){if(this.overlayVisible){const ie=-1!==this.focusedOptionIndex()?this.findNextOptionIndex(this.focusedOptionIndex()):this.clicked()?this.findFirstOptionIndex():this.findFirstFocusedOptionIndex();this.changeFocusedOptionIndex(u,ie)}else this.show(),this.editable&&this.changeFocusedOptionIndex(u,this.findSelectedOptionIndex());u.preventDefault()}changeFocusedOptionIndex(u,ie){if(this.focusedOptionIndex()!==ie&&(this.focusedOptionIndex.set(ie),this.scrollInView(),this.selectOnFocus)){const de=this.visibleOptions()[ie];this.onOptionSelect(u,de,!1)}}get virtualScrollerDisabled(){return!this.virtualScroll}scrollInView(u=-1){if(this.itemsViewChild&&this.itemsViewChild.nativeElement){const de=re.D.findSingle(this.itemsViewChild.nativeElement,`li[id="${-1!==u?`${this.id}_${u}`:this.focusedOptionId}"]`);de?de.scrollIntoView&&de.scrollIntoView({block:"nearest",inline:"nearest"}):this.virtualScrollerDisabled||setTimeout(()=>{this.virtualScroll&&this.scroller?.scrollToIndex(-1!==u?u:this.focusedOptionIndex())},0)}}hasSelectedOption(){return void 0!==this.modelValue()}isValidSelectedOption(u){return this.isValidOption(u)&&this.isSelected(u)}equalityKey(){return this.optionValue?null:this.dataKey}findFirstFocusedOptionIndex(){const u=this.findSelectedOptionIndex();return u<0?this.findFirstOptionIndex():u}findFirstOptionIndex(){return this.visibleOptions().findIndex(u=>this.isValidOption(u))}findSelectedOptionIndex(){return this.hasSelectedOption()?this.visibleOptions().findIndex(u=>this.isValidSelectedOption(u)):-1}findNextOptionIndex(u){const ie=uthis.isValidOption(de)):-1;return ie>-1?ie+u+1:u}findPrevOptionIndex(u){const ie=u>0?le.BF.findLastIndex(this.visibleOptions().slice(0,u),de=>this.isValidOption(de)):-1;return ie>-1?ie:u}findLastOptionIndex(){return le.BF.findLastIndex(this.visibleOptions(),u=>this.isValidOption(u))}findLastFocusedOptionIndex(){const u=this.findSelectedOptionIndex();return u<0?this.findLastOptionIndex():u}isValidOption(u){return null!=u&&!(this.isOptionDisabled(u)||this.isOptionGroup(u))}isOptionGroup(u){return null!=this.optionGroupLabel&&null!=u.optionGroup&&u.group}onArrowUpKey(u,ie=!1){if(u.altKey&&!ie){if(-1!==this.focusedOptionIndex()){const de=this.visibleOptions()[this.focusedOptionIndex()];this.onOptionSelect(u,de)}this.overlayVisible&&this.hide(),u.preventDefault()}else{const de=-1!==this.focusedOptionIndex()?this.findPrevOptionIndex(this.focusedOptionIndex()):this.clicked()?this.findLastOptionIndex():this.findLastFocusedOptionIndex();this.changeFocusedOptionIndex(u,de),!this.overlayVisible&&this.show(),u.preventDefault()}}onArrowLeftKey(u,ie=!1){ie&&this.focusedOptionIndex.set(-1)}onDeleteKey(u){this.showClear&&(this.clear(u),u.preventDefault())}onHomeKey(u,ie=!1){if(ie){const de=u.currentTarget;u.shiftKey?de.setSelectionRange(0,de.value.length):(de.setSelectionRange(0,0),this.focusedOptionIndex.set(-1))}else this.changeFocusedOptionIndex(u,this.findFirstOptionIndex()),!this.overlayVisible&&this.show();u.preventDefault()}onEndKey(u,ie=!1){if(ie){const de=u.currentTarget;if(u.shiftKey)de.setSelectionRange(0,de.value.length);else{const Ae=de.value.length;de.setSelectionRange(Ae,Ae),this.focusedOptionIndex.set(-1)}}else this.changeFocusedOptionIndex(u,this.findLastOptionIndex()),!this.overlayVisible&&this.show();u.preventDefault()}onPageDownKey(u){this.scrollInView(this.visibleOptions().length-1),u.preventDefault()}onPageUpKey(u){this.scrollInView(0),u.preventDefault()}onSpaceKey(u,ie=!1){!this.editable&&!ie&&this.onEnterKey(u)}onEnterKey(u,ie=!1){if(this.overlayVisible){if(-1!==this.focusedOptionIndex()){const de=this.visibleOptions()[this.focusedOptionIndex()];this.onOptionSelect(u,de)}!ie&&this.hide()}else this.focusedOptionIndex.set(-1),this.onArrowDownKey(u);u.preventDefault()}onEscapeKey(u){this.overlayVisible&&this.hide(!0),u.preventDefault()}onTabKey(u,ie=!1){if(!ie)if(this.overlayVisible&&this.hasFocusableElements())re.D.focus(u.shiftKey?this.lastHiddenFocusableElementOnOverlay.nativeElement:this.firstHiddenFocusableElementOnOverlay.nativeElement),u.preventDefault();else{if(-1!==this.focusedOptionIndex()&&this.overlayVisible){const de=this.visibleOptions()[this.focusedOptionIndex()];this.onOptionSelect(u,de)}this.overlayVisible&&this.hide(this.filter)}}onFirstHiddenFocus(u){const ie=u.relatedTarget===this.focusInputViewChild?.nativeElement?re.D.getFirstFocusableElement(this.overlayViewChild.el?.nativeElement,":not(.p-hidden-focusable)"):this.focusInputViewChild?.nativeElement;re.D.focus(ie)}onLastHiddenFocus(u){const ie=u.relatedTarget===this.focusInputViewChild?.nativeElement?re.D.getLastFocusableElement(this.overlayViewChild?.overlayViewChild?.nativeElement,':not([data-p-hidden-focusable="true"])'):this.focusInputViewChild?.nativeElement;re.D.focus(ie)}hasFocusableElements(){return re.D.getFocusableElements(this.overlayViewChild.overlayViewChild.nativeElement,':not([data-p-hidden-focusable="true"])').length>0}onBackspaceKey(u,ie=!1){ie&&!this.overlayVisible&&this.show()}searchFields(){return this.filterBy?.split(",")||this.filterFields||[this.optionLabel]}searchOptions(u,ie){this.searchValue=(this.searchValue||"")+ie;let de=-1,Ae=!1;return-1!==this.focusedOptionIndex()?(de=this.visibleOptions().slice(this.focusedOptionIndex()).findIndex(nt=>this.isOptionMatched(nt)),de=-1===de?this.visibleOptions().slice(0,this.focusedOptionIndex()).findIndex(nt=>this.isOptionMatched(nt)):de+this.focusedOptionIndex()):de=this.visibleOptions().findIndex(nt=>this.isOptionMatched(nt)),-1!==de&&(Ae=!0),-1===de&&-1===this.focusedOptionIndex()&&(de=this.findFirstFocusedOptionIndex()),-1!==de&&this.changeFocusedOptionIndex(u,de),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout(()=>{this.searchValue="",this.searchTimeout=null},500),Ae}isOptionMatched(u){return this.isValidOption(u)&&this.getOptionLabel(u).toString().toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale))}onFilterInputChange(u){this._filterValue.set(u.target.value),this.focusedOptionIndex.set(-1),this.onFilter.emit({originalEvent:u,filter:this._filterValue()}),!this.virtualScrollerDisabled&&this.scroller.scrollToIndex(0),setTimeout(()=>{this.overlayViewChild.alignOverlay()}),this.cd.markForCheck()}applyFocus(){this.editable?re.D.findSingle(this.el.nativeElement,".p-dropdown-label.p-inputtext").focus():re.D.focus(this.focusInputViewChild?.nativeElement)}focus(){this.applyFocus()}clear(u){this.updateModel(null,u),this.clearEditableLabel(),this.onModelTouched(),this.onChange.emit({originalEvent:u,value:this.value}),this.onClear.emit(u),this.resetFilter()}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(e.aKT),e.rXU(e.sFG),e.rXU(e.gRc),e.rXU(e.SKi),e.rXU(Le.E),e.rXU(Le.r1))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-dropdown"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,4),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.templates=nt)}},viewQuery:function(ie,de){if(1&ie&&(e.GBs(to,5),e.GBs(ba,5),e.GBs(va,5),e.GBs(Mo,5),e.GBs(Js,5),e.GBs(bo,5),e.GBs(Eo,5),e.GBs(wh,5),e.GBs(Lc,5)),2&ie){let Ae;e.mGM(Ae=e.lsd())&&(de.containerViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.filterViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.focusInputViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.editableInputViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.itemsViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.scroller=Ae.first),e.mGM(Ae=e.lsd())&&(de.overlayViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.firstHiddenFocusableElementOnOverlay=Ae.first),e.mGM(Ae=e.lsd())&&(de.lastHiddenFocusableElementOnOverlay=Ae.first)}},hostAttrs:[1,"p-element","p-inputwrapper"],hostVars:4,hostBindings:function(ie,de){2&ie&&e.AVh("p-inputwrapper-filled",de.filled())("p-inputwrapper-focus",de.focused||de.overlayVisible)},inputs:{id:"id",scrollHeight:"scrollHeight",filter:"filter",name:"name",style:"style",panelStyle:"panelStyle",styleClass:"styleClass",panelStyleClass:"panelStyleClass",readonly:"readonly",required:"required",editable:"editable",appendTo:"appendTo",tabindex:"tabindex",placeholder:"placeholder",filterPlaceholder:"filterPlaceholder",filterLocale:"filterLocale",inputId:"inputId",dataKey:"dataKey",filterBy:"filterBy",filterFields:"filterFields",autofocus:"autofocus",resetFilterOnHide:"resetFilterOnHide",dropdownIcon:"dropdownIcon",optionLabel:"optionLabel",optionValue:"optionValue",optionDisabled:"optionDisabled",optionGroupLabel:"optionGroupLabel",optionGroupChildren:"optionGroupChildren",autoDisplayFirst:"autoDisplayFirst",group:"group",showClear:"showClear",emptyFilterMessage:"emptyFilterMessage",emptyMessage:"emptyMessage",lazy:"lazy",virtualScroll:"virtualScroll",virtualScrollItemSize:"virtualScrollItemSize",virtualScrollOptions:"virtualScrollOptions",overlayOptions:"overlayOptions",ariaFilterLabel:"ariaFilterLabel",ariaLabel:"ariaLabel",ariaLabelledBy:"ariaLabelledBy",filterMatchMode:"filterMatchMode",maxlength:"maxlength",tooltip:"tooltip",tooltipPosition:"tooltipPosition",tooltipPositionStyle:"tooltipPositionStyle",tooltipStyleClass:"tooltipStyleClass",focusOnHover:"focusOnHover",selectOnFocus:"selectOnFocus",autoOptionFocus:"autoOptionFocus",autofocusFilter:"autofocusFilter",disabled:"disabled",itemSize:"itemSize",autoZIndex:"autoZIndex",baseZIndex:"baseZIndex",showTransitionOptions:"showTransitionOptions",hideTransitionOptions:"hideTransitionOptions",filterValue:"filterValue",options:"options"},outputs:{onChange:"onChange",onFilter:"onFilter",onFocus:"onFocus",onBlur:"onBlur",onClick:"onClick",onShow:"onShow",onHide:"onHide",onClear:"onClear",onLazyLoad:"onLazyLoad"},features:[e.Jv_([Pc])],decls:11,vars:20,consts:[["container",""],["overlay",""],["focusInput",""],["defaultPlaceholder",""],["editableInput",""],["firstHiddenFocusableEl",""],["buildInItems",""],["lastHiddenFocusableEl",""],["builtInFilterElement",""],["filter",""],["scroller",""],["items",""],["emptyFilter",""],["empty",""],[3,"click","ngClass","ngStyle"],["role","combobox","pAutoFocus","",3,"ngClass","pTooltip","tooltipPosition","positionStyle","tooltipStyleClass","autofocus","focus","blur","keydown",4,"ngIf"],["type","text","aria-haspopup","listbox",3,"ngClass","disabled","input","keydown","focus","blur",4,"ngIf"],[4,"ngIf"],["role","button","aria-label","dropdown trigger","aria-haspopup","listbox",1,"p-dropdown-trigger"],["class","p-dropdown-trigger-icon",4,"ngIf"],[3,"visibleChange","onAnimationStart","onHide","visible","options","target","appendTo","autoZIndex","baseZIndex","showTransitionOptions","hideTransitionOptions"],["pTemplate","content"],["role","combobox","pAutoFocus","",3,"focus","blur","keydown","ngClass","pTooltip","tooltipPosition","positionStyle","tooltipStyleClass","autofocus"],[4,"ngIf","ngIfElse"],[3,"ngTemplateOutlet","ngTemplateOutletContext",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["type","text","aria-haspopup","listbox",3,"input","keydown","focus","blur","ngClass","disabled"],[3,"styleClass","click",4,"ngIf"],["class","p-dropdown-clear-icon",3,"click",4,"ngIf"],[3,"click","styleClass"],[1,"p-dropdown-clear-icon",3,"click"],[4,"ngTemplateOutlet"],["class","p-dropdown-trigger-icon",3,"ngClass",4,"ngIf"],[3,"styleClass",4,"ngIf"],[1,"p-dropdown-trigger-icon",3,"ngClass"],[3,"styleClass"],[1,"p-dropdown-trigger-icon"],[3,"ngClass","ngStyle"],["role","presentation",1,"p-hidden-accessible","p-hidden-focusable",3,"focus"],["class","p-dropdown-header",3,"click",4,"ngIf"],[1,"p-dropdown-items-wrapper"],[3,"items","style","itemSize","autoSize","lazy","options","onLazyLoad",4,"ngIf"],[1,"p-dropdown-header",3,"click"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"p-dropdown-filter-container"],["type","text","autocomplete","off",1,"p-dropdown-filter","p-inputtext","p-component",3,"input","keydown","blur","value"],["class","p-dropdown-filter-icon",4,"ngIf"],[1,"p-dropdown-filter-icon"],[3,"onLazyLoad","items","itemSize","autoSize","lazy","options"],["pTemplate","loader"],["role","listbox",1,"p-dropdown-items",3,"ngClass"],["ngFor","",3,"ngForOf"],["class","p-dropdown-empty-message",3,"ngStyle",4,"ngIf"],["role","option",1,"p-dropdown-item-group",3,"ngStyle"],[3,"onClick","onMouseEnter","id","option","selected","label","disabled","template","focused","ariaPosInset","ariaSetSize"],[1,"p-dropdown-empty-message",3,"ngStyle"]],template:function(ie,de){if(1&ie){const Ae=e.RV6();e.j41(0,"div",14,0),e.bIt("click",function(kt){return e.eBV(Ae),e.Njj(de.onContainerClick(kt))}),e.DNE(2,Or,6,20,"span",15)(3,cn,2,4,"input",16)(4,Ye,3,2,"ng-container",17),e.j41(5,"div",18),e.DNE(6,Fi,3,2,"ng-container",17)(7,nr,2,1,"span",19),e.k0s(),e.j41(8,"p-overlay",20,1),e.mxI("visibleChange",function(kt){return e.eBV(Ae),e.DH7(de.overlayVisible,kt)||(de.overlayVisible=kt),e.Njj(kt)}),e.bIt("onAnimationStart",function(kt){return e.eBV(Ae),e.Njj(de.onOverlayAnimationStart(kt))})("onHide",function(){return e.eBV(Ae),e.Njj(de.hide())}),e.DNE(10,cl,13,19,"ng-template",21),e.k0s()()}if(2&ie){let Ae;e.HbH(de.styleClass),e.Y8G("ngClass",de.containerClass)("ngStyle",de.style),e.BMQ("id",de.id),e.R7$(2),e.Y8G("ngIf",!de.editable),e.R7$(),e.Y8G("ngIf",de.editable),e.R7$(),e.Y8G("ngIf",de.isVisibleClearIcon),e.R7$(),e.BMQ("aria-expanded",null!==(Ae=de.overlayVisible)&&void 0!==Ae&&Ae)("data-pc-section","trigger"),e.R7$(),e.Y8G("ngIf",!de.dropdownIconTemplate),e.R7$(),e.Y8G("ngIf",de.dropdownIconTemplate),e.R7$(),e.R50("visible",de.overlayVisible),e.Y8G("options",de.overlayOptions)("target","@parent")("appendTo",de.appendTo)("autoZIndex",de.autoZIndex)("baseZIndex",de.baseZIndex)("showTransitionOptions",de.showTransitionOptions)("hideTransitionOptions",de.hideTransitionOptions)}},dependencies:()=>[M.YU,M.Sq,M.bT,M.T3,M.B3,Ba,Le.Ei,ma,ga,ls,E.A,X,cr,Hl],styles:["@layer primeng{.p-dropdown{display:inline-flex;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.p-dropdown-clear-icon{position:absolute;top:50%;margin-top:-.5rem}.p-dropdown-trigger{display:flex;align-items:center;justify-content:center;flex-shrink:0}.p-dropdown-label{display:block;white-space:nowrap;overflow:hidden;flex:1 1 auto;width:1%;text-overflow:ellipsis;cursor:pointer}.p-dropdown-label-empty{overflow:hidden;opacity:0}input.p-dropdown-label{cursor:default}.p-dropdown .p-dropdown-panel{min-width:100%}.p-dropdown-items-wrapper{overflow:auto}.p-dropdown-item{cursor:pointer;font-weight:400;white-space:nowrap;position:relative;overflow:hidden}.p-dropdown-item-group{cursor:auto}.p-dropdown-items{margin:0;padding:0;list-style-type:none}.p-dropdown-filter{width:100%}.p-dropdown-filter-container{position:relative}.p-dropdown-filter-icon{position:absolute;top:50%;margin-top:-.5rem}.p-fluid .p-dropdown{display:flex}.p-fluid .p-dropdown .p-dropdown-label{width:1%}}\n"],encapsulation:2,changeDetection:0})}return ye})(),Lo=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD,ja,Le.Gg,Ir,ve.Z,eo,Hn,E.A,X,cr,ja,Le.Gg,eo]})}return ye})(),Nc=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["ArrowDownIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M6.99994 14C6.91097 14.0004 6.82281 13.983 6.74064 13.9489C6.65843 13.9148 6.58387 13.8646 6.52133 13.8013L1.10198 8.38193C0.982318 8.25351 0.917175 8.08367 0.920272 7.90817C0.923368 7.73267 0.994462 7.56523 1.11858 7.44111C1.24269 7.317 1.41014 7.2459 1.58563 7.2428C1.76113 7.23971 1.93098 7.30485 2.0594 7.42451L6.32263 11.6877V0.677419C6.32263 0.497756 6.394 0.325452 6.52104 0.198411C6.64808 0.0713706 6.82039 0 7.00005 0C7.17971 0 7.35202 0.0713706 7.47906 0.198411C7.6061 0.325452 7.67747 0.497756 7.67747 0.677419V11.6877L11.9407 7.42451C12.0691 7.30485 12.2389 7.23971 12.4144 7.2428C12.5899 7.2459 12.7574 7.317 12.8815 7.44111C13.0056 7.56523 13.0767 7.73267 13.0798 7.90817C13.0829 8.08367 13.0178 8.25351 12.8981 8.38193L7.47875 13.8013C7.41621 13.8646 7.34164 13.9148 7.25944 13.9489C7.17727 13.983 7.08912 14.0004 7.00015 14C7.00012 14 7.00009 14 7.00005 14C7.00001 14 6.99998 14 6.99994 14Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(3),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})(),Ul=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["ArrowUpIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M6.51551 13.799C6.64205 13.9255 6.813 13.9977 6.99193 14C7.17087 13.9977 7.34182 13.9255 7.46835 13.799C7.59489 13.6725 7.66701 13.5015 7.66935 13.3226V2.31233L11.9326 6.57554C11.9951 6.63887 12.0697 6.68907 12.1519 6.72319C12.2341 6.75731 12.3223 6.77467 12.4113 6.77425C12.5003 6.77467 12.5885 6.75731 12.6707 6.72319C12.7529 6.68907 12.8274 6.63887 12.89 6.57554C13.0168 6.44853 13.0881 6.27635 13.0881 6.09683C13.0881 5.91732 13.0168 5.74514 12.89 5.61812L7.48846 0.216594C7.48274 0.210436 7.4769 0.204374 7.47094 0.198411C7.3439 0.0713707 7.1716 0 6.99193 0C6.81227 0 6.63997 0.0713707 6.51293 0.198411C6.50704 0.204296 6.50128 0.210278 6.49563 0.216354L1.09386 5.61812C0.974201 5.74654 0.909057 5.91639 0.912154 6.09189C0.91525 6.26738 0.986345 6.43483 1.11046 6.55894C1.23457 6.68306 1.40202 6.75415 1.57752 6.75725C1.75302 6.76035 1.92286 6.6952 2.05128 6.57554L6.31451 2.31231V13.3226C6.31685 13.5015 6.38898 13.6725 6.51551 13.799Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(3),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})(),As=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["CheckIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M4.86199 11.5948C4.78717 11.5923 4.71366 11.5745 4.64596 11.5426C4.57826 11.5107 4.51779 11.4652 4.46827 11.4091L0.753985 7.69483C0.683167 7.64891 0.623706 7.58751 0.580092 7.51525C0.536478 7.44299 0.509851 7.36177 0.502221 7.27771C0.49459 7.19366 0.506156 7.10897 0.536046 7.03004C0.565935 6.95111 0.613367 6.88 0.674759 6.82208C0.736151 6.76416 0.8099 6.72095 0.890436 6.69571C0.970973 6.67046 1.05619 6.66385 1.13966 6.67635C1.22313 6.68886 1.30266 6.72017 1.37226 6.76792C1.44186 6.81567 1.4997 6.8786 1.54141 6.95197L4.86199 10.2503L12.6397 2.49483C12.7444 2.42694 12.8689 2.39617 12.9932 2.40745C13.1174 2.41873 13.2343 2.47141 13.3251 2.55705C13.4159 2.64268 13.4753 2.75632 13.4938 2.87973C13.5123 3.00315 13.4888 3.1292 13.4271 3.23768L5.2557 11.4091C5.20618 11.4652 5.14571 11.5107 5.07801 11.5426C5.01031 11.5745 4.9368 11.5923 4.86199 11.5948Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})(),Fc=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["FilterIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M8.64708 14H5.35296C5.18981 13.9979 5.03395 13.9321 4.91858 13.8167C4.8032 13.7014 4.73745 13.5455 4.73531 13.3824V7L0.329431 0.98C0.259794 0.889466 0.217389 0.780968 0.20718 0.667208C0.19697 0.553448 0.219379 0.439133 0.271783 0.337647C0.324282 0.236453 0.403423 0.151519 0.500663 0.0920138C0.597903 0.0325088 0.709548 0.000692754 0.823548 0H13.1765C13.2905 0.000692754 13.4021 0.0325088 13.4994 0.0920138C13.5966 0.151519 13.6758 0.236453 13.7283 0.337647C13.7807 0.439133 13.8031 0.553448 13.7929 0.667208C13.7826 0.780968 13.7402 0.889466 13.6706 0.98L9.26472 7V13.3824C9.26259 13.5455 9.19683 13.7014 9.08146 13.8167C8.96609 13.9321 8.81022 13.9979 8.64708 14ZM5.97061 12.7647H8.02943V6.79412C8.02878 6.66289 8.07229 6.53527 8.15296 6.43177L11.9412 1.23529H2.05884L5.86355 6.43177C5.94422 6.53527 5.98773 6.66289 5.98708 6.79412L5.97061 12.7647Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(3),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})(),Po=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["FilterSlashIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M13.4994 0.0920138C13.5967 0.151519 13.6758 0.236453 13.7283 0.337647C13.7807 0.439133 13.8031 0.553448 13.7929 0.667208C13.7827 0.780968 13.7403 0.889466 13.6707 0.98L11.406 4.06823C11.3099 4.19928 11.1656 4.28679 11.005 4.3115C10.8444 4.33621 10.6805 4.2961 10.5495 4.2C10.4184 4.1039 10.3309 3.95967 10.3062 3.79905C10.2815 3.63843 10.3216 3.47458 10.4177 3.34353L11.9412 1.23529H7.41184C7.24803 1.23529 7.09093 1.17022 6.97509 1.05439C6.85926 0.938558 6.79419 0.781457 6.79419 0.617647C6.79419 0.453837 6.85926 0.296736 6.97509 0.180905C7.09093 0.0650733 7.24803 0 7.41184 0H13.1765C13.2905 0.000692754 13.4022 0.0325088 13.4994 0.0920138ZM4.20008 0.181168H4.24126L13.2013 9.03411C13.3169 9.14992 13.3819 9.3069 13.3819 9.47058C13.3819 9.63426 13.3169 9.79124 13.2013 9.90705C13.1445 9.96517 13.0766 10.0112 13.0016 10.0423C12.9266 10.0735 12.846 10.0891 12.7648 10.0882C12.6836 10.0886 12.6032 10.0728 12.5283 10.0417C12.4533 10.0106 12.3853 9.96479 12.3283 9.90705L9.3142 6.92587L9.26479 6.99999V13.3823C9.26265 13.5455 9.19689 13.7014 9.08152 13.8167C8.96615 13.9321 8.81029 13.9979 8.64714 14H5.35302C5.18987 13.9979 5.03401 13.9321 4.91864 13.8167C4.80327 13.7014 4.73751 13.5455 4.73537 13.3823V6.99999L0.329492 1.02117C0.259855 0.930634 0.21745 0.822137 0.207241 0.708376C0.197031 0.594616 0.21944 0.480301 0.271844 0.378815C0.324343 0.277621 0.403484 0.192687 0.500724 0.133182C0.597964 0.073677 0.709609 0.041861 0.823609 0.0411682H3.86243C3.92448 0.0461551 3.9855 0.060022 4.04361 0.0823446C4.10037 0.10735 4.15311 0.140655 4.20008 0.181168ZM8.02949 6.79411C8.02884 6.66289 8.07235 6.53526 8.15302 6.43176L8.42478 6.05293L3.55773 1.23529H2.0589L5.84714 6.43176C5.92781 6.53526 5.97132 6.66289 5.97067 6.79411V12.7647H8.02949V6.79411Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(3),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})(),ea=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["PlusIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M7.67742 6.32258V0.677419C7.67742 0.497757 7.60605 0.325452 7.47901 0.198411C7.35197 0.0713707 7.17966 0 7 0C6.82034 0 6.64803 0.0713707 6.52099 0.198411C6.39395 0.325452 6.32258 0.497757 6.32258 0.677419V6.32258H0.677419C0.497757 6.32258 0.325452 6.39395 0.198411 6.52099C0.0713707 6.64803 0 6.82034 0 7C0 7.17966 0.0713707 7.35197 0.198411 7.47901C0.325452 7.60605 0.497757 7.67742 0.677419 7.67742H6.32258V13.3226C6.32492 13.5015 6.39704 13.6725 6.52358 13.799C6.65012 13.9255 6.82106 13.9977 7 14C7.17966 14 7.35197 13.9286 7.47901 13.8016C7.60605 13.6745 7.67742 13.5022 7.67742 13.3226V7.67742H13.3226C13.5022 7.67742 13.6745 7.60605 13.8016 7.47901C13.9286 7.35197 14 7.17966 14 7C13.9977 6.82106 13.9255 6.65012 13.799 6.52358C13.6725 6.39704 13.5015 6.32492 13.3226 6.32258H7.67742Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(3),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})(),Hs=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["SortAltIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:9,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M5.64515 3.61291C5.47353 3.61291 5.30192 3.54968 5.16644 3.4142L3.38708 1.63484L1.60773 3.4142C1.34579 3.67613 0.912244 3.67613 0.650309 3.4142C0.388374 3.15226 0.388374 2.71871 0.650309 2.45678L2.90837 0.198712C3.17031 -0.0632236 3.60386 -0.0632236 3.86579 0.198712L6.12386 2.45678C6.38579 2.71871 6.38579 3.15226 6.12386 3.4142C5.98837 3.54968 5.81676 3.61291 5.64515 3.61291Z","fill","currentColor"],["d","M3.38714 14C3.01681 14 2.70972 13.6929 2.70972 13.3226V0.677419C2.70972 0.307097 3.01681 0 3.38714 0C3.75746 0 4.06456 0.307097 4.06456 0.677419V13.3226C4.06456 13.6929 3.75746 14 3.38714 14Z","fill","currentColor"],["d","M10.6129 14C10.4413 14 10.2697 13.9368 10.1342 13.8013L7.87611 11.5432C7.61418 11.2813 7.61418 10.8477 7.87611 10.5858C8.13805 10.3239 8.5716 10.3239 8.83353 10.5858L10.6129 12.3652L12.3922 10.5858C12.6542 10.3239 13.0877 10.3239 13.3497 10.5858C13.6116 10.8477 13.6116 11.2813 13.3497 11.5432L11.0916 13.8013C10.9561 13.9368 10.7845 14 10.6129 14Z","fill","currentColor"],["d","M10.6129 14C10.2426 14 9.93552 13.6929 9.93552 13.3226V0.677419C9.93552 0.307097 10.2426 0 10.6129 0C10.9833 0 11.2904 0.307097 11.2904 0.677419V13.3226C11.2904 13.6929 10.9832 14 10.6129 14Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1)(3,"path",2)(4,"path",3)(5,"path",4),e.k0s(),e.j41(6,"defs")(7,"clipPath",5),e.nrm(8,"rect",6),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(6),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})(),Xs=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["SortAmountDownIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M4.93953 10.5858L3.83759 11.6877V0.677419C3.83759 0.307097 3.53049 0 3.16017 0C2.78985 0 2.48275 0.307097 2.48275 0.677419V11.6877L1.38082 10.5858C1.11888 10.3239 0.685331 10.3239 0.423396 10.5858C0.16146 10.8477 0.16146 11.2813 0.423396 11.5432L2.68146 13.8013C2.74469 13.8645 2.81694 13.9097 2.89823 13.9458C2.97952 13.9819 3.06985 14 3.16017 14C3.25049 14 3.33178 13.9819 3.42211 13.9458C3.5034 13.9097 3.57565 13.8645 3.63888 13.8013L5.89694 11.5432C6.15888 11.2813 6.15888 10.8477 5.89694 10.5858C5.63501 10.3239 5.20146 10.3239 4.93953 10.5858ZM13.0957 0H7.22468C6.85436 0 6.54726 0.307097 6.54726 0.677419C6.54726 1.04774 6.85436 1.35484 7.22468 1.35484H13.0957C13.466 1.35484 13.7731 1.04774 13.7731 0.677419C13.7731 0.307097 13.466 0 13.0957 0ZM7.22468 5.41935H9.48275C9.85307 5.41935 10.1602 5.72645 10.1602 6.09677C10.1602 6.4671 9.85307 6.77419 9.48275 6.77419H7.22468C6.85436 6.77419 6.54726 6.4671 6.54726 6.09677C6.54726 5.72645 6.85436 5.41935 7.22468 5.41935ZM7.6763 8.12903H7.22468C6.85436 8.12903 6.54726 8.43613 6.54726 8.80645C6.54726 9.17677 6.85436 9.48387 7.22468 9.48387H7.6763C8.04662 9.48387 8.35372 9.17677 8.35372 8.80645C8.35372 8.43613 8.04662 8.12903 7.6763 8.12903ZM7.22468 2.70968H11.2892C11.6595 2.70968 11.9666 3.01677 11.9666 3.3871C11.9666 3.75742 11.6595 4.06452 11.2892 4.06452H7.22468C6.85436 4.06452 6.54726 3.75742 6.54726 3.3871C6.54726 3.01677 6.85436 2.70968 7.22468 2.70968Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(3),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})(),ta=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["SortAmountUpAltIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M3.63435 0.19871C3.57113 0.135484 3.49887 0.0903226 3.41758 0.0541935C3.255 -0.0180645 3.06532 -0.0180645 2.90274 0.0541935C2.82145 0.0903226 2.74919 0.135484 2.68597 0.19871L0.427901 2.45677C0.165965 2.71871 0.165965 3.15226 0.427901 3.41419C0.689836 3.67613 1.12338 3.67613 1.38532 3.41419L2.48726 2.31226V13.3226C2.48726 13.6929 2.79435 14 3.16467 14C3.535 14 3.84209 13.6929 3.84209 13.3226V2.31226L4.94403 3.41419C5.07951 3.54968 5.25113 3.6129 5.42274 3.6129C5.59435 3.6129 5.76597 3.54968 5.90145 3.41419C6.16338 3.15226 6.16338 2.71871 5.90145 2.45677L3.64338 0.19871H3.63435ZM13.7685 13.3226C13.7685 12.9523 13.4615 12.6452 13.0911 12.6452H7.22016C6.84984 12.6452 6.54274 12.9523 6.54274 13.3226C6.54274 13.6929 6.84984 14 7.22016 14H13.0911C13.4615 14 13.7685 13.6929 13.7685 13.3226ZM7.22016 8.58064C6.84984 8.58064 6.54274 8.27355 6.54274 7.90323C6.54274 7.5329 6.84984 7.22581 7.22016 7.22581H9.47823C9.84855 7.22581 10.1556 7.5329 10.1556 7.90323C10.1556 8.27355 9.84855 8.58064 9.47823 8.58064H7.22016ZM7.22016 5.87097H7.67177C8.0421 5.87097 8.34919 5.56387 8.34919 5.19355C8.34919 4.82323 8.0421 4.51613 7.67177 4.51613H7.22016C6.84984 4.51613 6.54274 4.82323 6.54274 5.19355C6.54274 5.56387 6.84984 5.87097 7.22016 5.87097ZM11.2847 11.2903H7.22016C6.84984 11.2903 6.54274 10.9832 6.54274 10.6129C6.54274 10.2426 6.84984 9.93548 7.22016 9.93548H11.2847C11.655 9.93548 11.9621 10.2426 11.9621 10.6129C11.9621 10.9832 11.655 11.2903 11.2847 11.2903Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(3),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})(),hl=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["TrashIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M3.44802 13.9955H10.552C10.8056 14.0129 11.06 13.9797 11.3006 13.898C11.5412 13.8163 11.7632 13.6877 11.9537 13.5196C12.1442 13.3515 12.2995 13.1473 12.4104 12.9188C12.5213 12.6903 12.5858 12.442 12.6 12.1884V4.36041H13.4C13.5591 4.36041 13.7117 4.29722 13.8243 4.18476C13.9368 4.07229 14 3.91976 14 3.76071C14 3.60166 13.9368 3.44912 13.8243 3.33666C13.7117 3.22419 13.5591 3.16101 13.4 3.16101H12.0537C12.0203 3.1557 11.9863 3.15299 11.952 3.15299C11.9178 3.15299 11.8838 3.1557 11.8503 3.16101H11.2285C11.2421 3.10893 11.2487 3.05513 11.248 3.00106V1.80966C11.2171 1.30262 10.9871 0.828306 10.608 0.48989C10.229 0.151475 9.73159 -0.0236625 9.22402 0.00257442H4.77602C4.27251 -0.0171866 3.78126 0.160868 3.40746 0.498617C3.03365 0.836366 2.807 1.30697 2.77602 1.80966V3.00106C2.77602 3.0556 2.78346 3.10936 2.79776 3.16101H0.6C0.521207 3.16101 0.443185 3.17652 0.37039 3.20666C0.297595 3.2368 0.231451 3.28097 0.175736 3.33666C0.120021 3.39235 0.0758251 3.45846 0.0456722 3.53121C0.0155194 3.60397 0 3.68196 0 3.76071C0 3.83946 0.0155194 3.91744 0.0456722 3.9902C0.0758251 4.06296 0.120021 4.12907 0.175736 4.18476C0.231451 4.24045 0.297595 4.28462 0.37039 4.31476C0.443185 4.3449 0.521207 4.36041 0.6 4.36041H1.40002V12.1884C1.41426 12.442 1.47871 12.6903 1.58965 12.9188C1.7006 13.1473 1.85582 13.3515 2.04633 13.5196C2.23683 13.6877 2.45882 13.8163 2.69944 13.898C2.94005 13.9797 3.1945 14.0129 3.44802 13.9955ZM2.60002 4.36041H11.304V12.1884C11.304 12.5163 10.952 12.7961 10.504 12.7961H3.40002C2.97602 12.7961 2.60002 12.5163 2.60002 12.1884V4.36041ZM3.95429 3.16101C3.96859 3.10936 3.97602 3.0556 3.97602 3.00106V1.80966C3.97602 1.48183 4.33602 1.20197 4.77602 1.20197H9.24802C9.66403 1.20197 10.048 1.48183 10.048 1.80966V3.00106C10.0473 3.05515 10.054 3.10896 10.0678 3.16101H3.95429ZM5.57571 10.997C5.41731 10.995 5.26597 10.9311 5.15395 10.8191C5.04193 10.7071 4.97808 10.5558 4.97601 10.3973V6.77517C4.97601 6.61612 5.0392 6.46359 5.15166 6.35112C5.26413 6.23866 5.41666 6.17548 5.57571 6.17548C5.73476 6.17548 5.8873 6.23866 5.99976 6.35112C6.11223 6.46359 6.17541 6.61612 6.17541 6.77517V10.3894C6.17647 10.4688 6.16174 10.5476 6.13208 10.6213C6.10241 10.695 6.05841 10.762 6.00261 10.8186C5.94682 10.8751 5.88035 10.92 5.80707 10.9506C5.73378 10.9813 5.65514 10.9971 5.57571 10.997ZM7.99968 10.8214C8.11215 10.9339 8.26468 10.997 8.42373 10.997C8.58351 10.9949 8.73604 10.93 8.84828 10.8163C8.96052 10.7025 9.02345 10.5491 9.02343 10.3894V6.77517C9.02343 6.61612 8.96025 6.46359 8.84778 6.35112C8.73532 6.23866 8.58278 6.17548 8.42373 6.17548C8.26468 6.17548 8.11215 6.23866 7.99968 6.35112C7.88722 6.46359 7.82404 6.61612 7.82404 6.77517V10.3973C7.82404 10.5564 7.88722 10.7089 7.99968 10.8214Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(3),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})(),xa=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["AngleDownIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M3.58659 4.5007C3.68513 4.50023 3.78277 4.51945 3.87379 4.55723C3.9648 4.59501 4.04735 4.65058 4.11659 4.7207L7.11659 7.7207L10.1166 4.7207C10.2619 4.65055 10.4259 4.62911 10.5843 4.65956C10.7427 4.69002 10.8871 4.77074 10.996 4.88976C11.1049 5.00877 11.1726 5.15973 11.1889 5.32022C11.2052 5.48072 11.1693 5.6422 11.0866 5.7807L7.58659 9.2807C7.44597 9.42115 7.25534 9.50004 7.05659 9.50004C6.85784 9.50004 6.66722 9.42115 6.52659 9.2807L3.02659 5.7807C2.88614 5.64007 2.80725 5.44945 2.80725 5.2507C2.80725 5.05195 2.88614 4.86132 3.02659 4.7207C3.09932 4.64685 3.18675 4.58911 3.28322 4.55121C3.37969 4.51331 3.48305 4.4961 3.58659 4.5007Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})(),Xr=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["AngleUpIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M10.4134 9.49931C10.3148 9.49977 10.2172 9.48055 10.1262 9.44278C10.0352 9.405 9.95263 9.34942 9.88338 9.27931L6.88338 6.27931L3.88338 9.27931C3.73811 9.34946 3.57409 9.3709 3.41567 9.34044C3.25724 9.30999 3.11286 9.22926 3.00395 9.11025C2.89504 8.99124 2.82741 8.84028 2.8111 8.67978C2.79478 8.51928 2.83065 8.35781 2.91338 8.21931L6.41338 4.71931C6.55401 4.57886 6.74463 4.49997 6.94338 4.49997C7.14213 4.49997 7.33276 4.57886 7.47338 4.71931L10.9734 8.21931C11.1138 8.35994 11.1927 8.55056 11.1927 8.74931C11.1927 8.94806 11.1138 9.13868 10.9734 9.27931C10.9007 9.35315 10.8132 9.41089 10.7168 9.44879C10.6203 9.48669 10.5169 9.5039 10.4134 9.49931Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})();var _a=We(22242);const ia=["input"],kh=(ye,et,u)=>({"p-inputnumber p-component":!0,"p-inputnumber-buttons-stacked":ye,"p-inputnumber-buttons-horizontal":et,"p-inputnumber-buttons-vertical":u}),Dh=()=>({"p-inputnumber-button p-inputnumber-button-up":!0}),Wl=()=>({"p-inputnumber-button p-inputnumber-button-down":!0});function Ca(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"TimesIcon",8),e.bIt("click",function(){e.eBV(u);const de=e.XpG(2);return e.Njj(de.clear())}),e.k0s()}2&ye&&(e.Y8G("ngClass","p-inputnumber-clear-icon"),e.BMQ("data-pc-section","clearIcon"))}function Mh(ye,et){}function dl(ye,et){1&ye&&e.DNE(0,Mh,0,0,"ng-template")}function Yr(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"span",9),e.bIt("click",function(){e.eBV(u);const de=e.XpG(2);return e.Njj(de.clear())}),e.DNE(1,dl,1,0,null,10),e.k0s()}if(2&ye){const u=e.XpG(2);e.BMQ("data-pc-section","clearIcon"),e.R7$(),e.Y8G("ngTemplateOutlet",u.clearIconTemplate)}}function na(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Ca,1,2,"TimesIcon",6)(2,Yr,2,2,"span",7),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngIf",!u.clearIconTemplate),e.R7$(),e.Y8G("ngIf",u.clearIconTemplate)}}function $l(ye,et){if(1&ye&&e.nrm(0,"span",14),2&ye){const u=e.XpG(2);e.Y8G("ngClass",u.incrementButtonIcon),e.BMQ("data-pc-section","incrementbuttonicon")}}function fc(ye,et){1&ye&&e.nrm(0,"AngleUpIcon"),2&ye&&e.BMQ("data-pc-section","incrementbuttonicon")}function Ge(ye,et){}function ut(ye,et){1&ye&&e.DNE(0,Ge,0,0,"ng-template")}function Ke(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,fc,1,1,"AngleUpIcon",3)(2,ut,1,0,null,10),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.incrementButtonIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.incrementButtonIconTemplate)}}function at(ye,et){if(1&ye&&e.nrm(0,"span",14),2&ye){const u=e.XpG(2);e.Y8G("ngClass",u.decrementButtonIcon),e.BMQ("data-pc-section","decrementbuttonicon")}}function Et(ye,et){1&ye&&e.nrm(0,"AngleDownIcon"),2&ye&&e.BMQ("data-pc-section","decrementbuttonicon")}function Jt(ye,et){}function ci(ye,et){1&ye&&e.DNE(0,Jt,0,0,"ng-template")}function Oi(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Et,1,1,"AngleDownIcon",3)(2,ci,1,0,null,10),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.decrementButtonIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decrementButtonIconTemplate)}}function Wn(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"span",11)(1,"button",12),e.bIt("mousedown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onUpButtonMouseDown(de))})("mouseup",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onUpButtonMouseUp())})("mouseleave",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onUpButtonMouseLeave())})("keydown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onUpButtonKeyDown(de))})("keyup",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onUpButtonKeyUp())}),e.DNE(2,$l,1,2,"span",13)(3,Ke,3,2,"ng-container",3),e.k0s(),e.j41(4,"button",12),e.bIt("mousedown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onDownButtonMouseDown(de))})("mouseup",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onDownButtonMouseUp())})("mouseleave",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onDownButtonMouseLeave())})("keydown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onDownButtonKeyDown(de))})("keyup",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onDownButtonKeyUp())}),e.DNE(5,at,1,2,"span",13)(6,Oi,3,2,"ng-container",3),e.k0s()()}if(2&ye){const u=e.XpG();e.BMQ("data-pc-section","buttonGroup"),e.R7$(),e.HbH(u.incrementButtonClass),e.Y8G("ngClass",e.lJ4(17,Dh))("disabled",u.disabled),e.BMQ("aria-hidden",!0)("data-pc-section","incrementbutton"),e.R7$(),e.Y8G("ngIf",u.incrementButtonIcon),e.R7$(),e.Y8G("ngIf",!u.incrementButtonIcon),e.R7$(),e.HbH(u.decrementButtonClass),e.Y8G("ngClass",e.lJ4(18,Wl))("disabled",u.disabled),e.BMQ("aria-hidden",!0)("data-pc-section",u.decrementbutton),e.R7$(),e.Y8G("ngIf",u.decrementButtonIcon),e.R7$(),e.Y8G("ngIf",!u.decrementButtonIcon)}}function Qn(ye,et){if(1&ye&&e.nrm(0,"span",14),2&ye){const u=e.XpG(2);e.Y8G("ngClass",u.incrementButtonIcon),e.BMQ("data-pc-section","incrementbuttonicon")}}function os(ye,et){1&ye&&e.nrm(0,"AngleUpIcon"),2&ye&&e.BMQ("data-pc-section","incrementbuttonicon")}function xn(ye,et){}function ys(ye,et){1&ye&&e.DNE(0,xn,0,0,"ng-template")}function hs(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,os,1,1,"AngleUpIcon",3)(2,ys,1,0,null,10),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.incrementButtonIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.incrementButtonIconTemplate)}}function zs(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"button",12),e.bIt("mousedown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onUpButtonMouseDown(de))})("mouseup",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onUpButtonMouseUp())})("mouseleave",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onUpButtonMouseLeave())})("keydown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onUpButtonKeyDown(de))})("keyup",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onUpButtonKeyUp())}),e.DNE(1,Qn,1,2,"span",13)(2,hs,3,2,"ng-container",3),e.k0s()}if(2&ye){const u=e.XpG();e.HbH(u.incrementButtonClass),e.Y8G("ngClass",e.lJ4(8,Dh))("disabled",u.disabled),e.BMQ("aria-hidden",!0)("data-pc-section","incrementbutton"),e.R7$(),e.Y8G("ngIf",u.incrementButtonIcon),e.R7$(),e.Y8G("ngIf",!u.incrementButtonIcon)}}function Lr(ye,et){if(1&ye&&e.nrm(0,"span",14),2&ye){const u=e.XpG(2);e.Y8G("ngClass",u.decrementButtonIcon),e.BMQ("data-pc-section","decrementbuttonicon")}}function Zn(ye,et){1&ye&&e.nrm(0,"AngleDownIcon"),2&ye&&e.BMQ("data-pc-section","decrementbuttonicon")}function gi(ye,et){}function Bi(ye,et){1&ye&&e.DNE(0,gi,0,0,"ng-template")}function En(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Zn,1,1,"AngleDownIcon",3)(2,Bi,1,0,null,10),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.decrementButtonIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decrementButtonIconTemplate)}}function ks(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"button",12),e.bIt("mousedown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onDownButtonMouseDown(de))})("mouseup",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onDownButtonMouseUp())})("mouseleave",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onDownButtonMouseLeave())})("keydown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onDownButtonKeyDown(de))})("keyup",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onDownButtonKeyUp())}),e.DNE(1,Lr,1,2,"span",13)(2,En,3,2,"ng-container",3),e.k0s()}if(2&ye){const u=e.XpG();e.HbH(u.decrementButtonClass),e.Y8G("ngClass",e.lJ4(8,Wl))("disabled",u.disabled),e.BMQ("aria-hidden",!0)("data-pc-section","decrementbutton"),e.R7$(),e.Y8G("ngIf",u.decrementButtonIcon),e.R7$(),e.Y8G("ngIf",!u.decrementButtonIcon)}}const Us={provide:V.kq,useExisting:(0,e.Rfq)(()=>mr),multi:!0};let mr=(()=>{class ye{document;el;cd;injector;showButtons=!1;format=!0;buttonLayout="stacked";inputId;styleClass;style;placeholder;size;maxlength;tabindex;title;ariaLabelledBy;ariaLabel;ariaRequired;name;required;autocomplete;min;max;incrementButtonClass;decrementButtonClass;incrementButtonIcon;decrementButtonIcon;readonly=!1;step=1;allowEmpty=!0;locale;localeMatcher;mode="decimal";currency;currencyDisplay;useGrouping=!0;minFractionDigits;maxFractionDigits;prefix;suffix;inputStyle;inputStyleClass;showClear=!1;get disabled(){return this._disabled}set disabled(u){u&&(this.focused=!1),this._disabled=u,this.timer&&this.clearTimer()}onInput=new e.bkB;onFocus=new e.bkB;onBlur=new e.bkB;onKeyDown=new e.bkB;onClear=new e.bkB;input;templates;clearIconTemplate;incrementButtonIconTemplate;decrementButtonIconTemplate;value;onModelChange=()=>{};onModelTouched=()=>{};focused;initialized;groupChar="";prefixChar="";suffixChar="";isSpecialChar;timer;lastValue;_numeral;numberFormat;_decimal;_decimalChar;_group;_minusSign;_currency;_prefix;_suffix;_index;_disabled;ngControl=null;constructor(u,ie,de,Ae){this.document=u,this.el=ie,this.cd=de,this.injector=Ae}ngOnChanges(u){["locale","localeMatcher","mode","currency","currencyDisplay","useGrouping","minFractionDigits","maxFractionDigits","prefix","suffix"].some(de=>!!u[de])&&this.updateConstructParser()}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"clearicon":this.clearIconTemplate=u.template;break;case"incrementbuttonicon":this.incrementButtonIconTemplate=u.template;break;case"decrementbuttonicon":this.decrementButtonIconTemplate=u.template}})}ngOnInit(){this.ngControl=this.injector.get(V.vO,null,{optional:!0}),this.constructParser(),this.initialized=!0}getOptions(){return{localeMatcher:this.localeMatcher,style:this.mode,currency:this.currency,currencyDisplay:this.currencyDisplay,useGrouping:this.useGrouping,minimumFractionDigits:this.minFractionDigits,maximumFractionDigits:this.maxFractionDigits}}constructParser(){this.numberFormat=new Intl.NumberFormat(this.locale,this.getOptions());const u=[...new Intl.NumberFormat(this.locale,{useGrouping:!1}).format(9876543210)].reverse(),ie=new Map(u.map((de,Ae)=>[de,Ae]));this._numeral=new RegExp(`[${u.join("")}]`,"g"),this._group=this.getGroupingExpression(),this._minusSign=this.getMinusSignExpression(),this._currency=this.getCurrencyExpression(),this._decimal=this.getDecimalExpression(),this._decimalChar=this.getDecimalChar(),this._suffix=this.getSuffixExpression(),this._prefix=this.getPrefixExpression(),this._index=de=>ie.get(de)}updateConstructParser(){this.initialized&&this.constructParser()}escapeRegExp(u){return u.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}getDecimalExpression(){const u=this.getDecimalChar();return new RegExp(`[${u}]`,"g")}getDecimalChar(){return new Intl.NumberFormat(this.locale,{...this.getOptions(),useGrouping:!1}).format(1.1).replace(this._currency,"").trim().replace(this._numeral,"")}getGroupingExpression(){const u=new Intl.NumberFormat(this.locale,{useGrouping:!0});return this.groupChar=u.format(1e6).trim().replace(this._numeral,"").charAt(0),new RegExp(`[${this.groupChar}]`,"g")}getMinusSignExpression(){const u=new Intl.NumberFormat(this.locale,{useGrouping:!1});return new RegExp(`[${u.format(-1).trim().replace(this._numeral,"")}]`,"g")}getCurrencyExpression(){if(this.currency){const u=new Intl.NumberFormat(this.locale,{style:"currency",currency:this.currency,currencyDisplay:this.currencyDisplay,minimumFractionDigits:0,maximumFractionDigits:0});return new RegExp(`[${u.format(1).replace(/\s/g,"").replace(this._numeral,"").replace(this._group,"")}]`,"g")}return new RegExp("[]","g")}getPrefixExpression(){if(this.prefix)this.prefixChar=this.prefix;else{const u=new Intl.NumberFormat(this.locale,{style:this.mode,currency:this.currency,currencyDisplay:this.currencyDisplay});this.prefixChar=u.format(1).split("1")[0]}return new RegExp(`${this.escapeRegExp(this.prefixChar||"")}`,"g")}getSuffixExpression(){if(this.suffix)this.suffixChar=this.suffix;else{const u=new Intl.NumberFormat(this.locale,{style:this.mode,currency:this.currency,currencyDisplay:this.currencyDisplay,minimumFractionDigits:0,maximumFractionDigits:0});this.suffixChar=u.format(1).split("1")[1]}return new RegExp(`${this.escapeRegExp(this.suffixChar||"")}`,"g")}formatValue(u){if(null!=u){if("-"===u)return u;if(this.format){let de=new Intl.NumberFormat(this.locale,this.getOptions()).format(u);return this.prefix&&(de=this.prefix+de),this.suffix&&(de+=this.suffix),de}return u.toString()}return""}parseValue(u){let ie=u.replace(this._suffix,"").replace(this._prefix,"").trim().replace(/\s/g,"").replace(this._currency,"").replace(this._group,"").replace(this._minusSign,"-").replace(this._decimal,".").replace(this._numeral,this._index);if(ie){if("-"===ie)return ie;let de=+ie;return isNaN(de)?null:de}return null}repeat(u,ie,de){if(this.readonly)return;let Ae=ie||500;this.clearTimer(),this.timer=setTimeout(()=>{this.repeat(u,40,de)},Ae),this.spin(u,de)}spin(u,ie){let de=this.step*ie,Ae=this.parseValue(this.input?.nativeElement.value)||0,nt=this.validateValue(Ae+de);this.maxlength&&this.maxlength=0;kt--)if(this.isNumeralChar(Ae.charAt(kt))){this.input.nativeElement.setSelectionRange(kt,kt);break}break;case"Tab":case"Enter":nt=this.validateValue(this.parseValue(this.input.nativeElement.value)),this.input.nativeElement.value=this.formatValue(nt),this.input.nativeElement.setAttribute("aria-valuenow",nt),this.updateModel(u,nt);break;case"Backspace":if(u.preventDefault(),ie===de){const kt=Ae.charAt(ie-1),{decimalCharIndex:zt,decimalCharIndexWithoutPrefix:ai}=this.getDecimalCharIndexes(Ae);if(this.isNumeralChar(kt)){const oi=this.getDecimalLength(Ae);if(this._group.test(kt))this._group.lastIndex=0,nt=Ae.slice(0,ie-2)+Ae.slice(ie-1);else if(this._decimal.test(kt))this._decimal.lastIndex=0,oi?this.input?.nativeElement.setSelectionRange(ie-1,ie-1):nt=Ae.slice(0,ie-1)+Ae.slice(ie);else if(zt>0&&ie>zt){const Li=this.isDecimalMode()&&(this.minFractionDigits||0)0?nt:""):nt=Ae.slice(0,ie-1)+Ae.slice(ie)}else"currency"===this.mode&&-1!=kt.search(this._currency)&&(nt=Ae.slice(1));this.updateValue(u,nt,null,"delete-single")}else nt=this.deleteRange(Ae,ie,de),this.updateValue(u,nt,null,"delete-range");break;case"Delete":if(u.preventDefault(),ie===de){const kt=Ae.charAt(ie),{decimalCharIndex:zt,decimalCharIndexWithoutPrefix:ai}=this.getDecimalCharIndexes(Ae);if(this.isNumeralChar(kt)){const oi=this.getDecimalLength(Ae);if(this._group.test(kt))this._group.lastIndex=0,nt=Ae.slice(0,ie)+Ae.slice(ie+2);else if(this._decimal.test(kt))this._decimal.lastIndex=0,oi?this.input?.nativeElement.setSelectionRange(ie+1,ie+1):nt=Ae.slice(0,ie)+Ae.slice(ie+1);else if(zt>0&&ie>zt){const Li=this.isDecimalMode()&&(this.minFractionDigits||0)0?nt:""):nt=Ae.slice(0,ie)+Ae.slice(ie+1)}this.updateValue(u,nt,null,"delete-back-single")}else nt=this.deleteRange(Ae,ie,de),this.updateValue(u,nt,null,"delete-range");break;case"Home":this.min&&(this.updateModel(u,this.min),u.preventDefault());break;case"End":this.max&&(this.updateModel(u,this.max),u.preventDefault())}this.onKeyDown.emit(u)}onInputKeyPress(u){if(this.readonly)return;let ie=u.which||u.keyCode,de=String.fromCharCode(ie),Ae=this.isDecimalSign(de);const nt=this.isMinusSign(de);13!=ie&&u.preventDefault(),!Ae&&"NumpadDecimal"===u.code&&(Ae=!0,de=this._decimalChar,ie=de.charCodeAt(0));const kt=this.parseValue(this.input.nativeElement.value+de),zt=null!=kt?kt.toString():"";this.maxlength&&zt.length>this.maxlength||(48<=ie&&ie<=57||nt||Ae)&&this.insert(u,de,{isDecimalSign:Ae,isMinusSign:nt})}onPaste(u){if(!this.disabled&&!this.readonly){u.preventDefault();let ie=(u.clipboardData||this.document.defaultView.clipboardData).getData("Text");if(ie){this.maxlength&&(ie=ie.toString().substring(0,this.maxlength));let de=this.parseValue(ie);null!=de&&this.insert(u,de.toString())}}}allowMinusSign(){return null==this.min||this.min<0}isMinusSign(u){return!(!this._minusSign.test(u)&&"-"!==u||(this._minusSign.lastIndex=0,0))}isDecimalSign(u){return!!this._decimal.test(u)&&(this._decimal.lastIndex=0,!0)}isDecimalMode(){return"decimal"===this.mode}getDecimalCharIndexes(u){let ie=u.search(this._decimal);this._decimal.lastIndex=0;const Ae=u.replace(this._prefix,"").trim().replace(/\s/g,"").replace(this._currency,"").search(this._decimal);return this._decimal.lastIndex=0,{decimalCharIndex:ie,decimalCharIndexWithoutPrefix:Ae}}getCharIndexes(u){const ie=u.search(this._decimal);this._decimal.lastIndex=0;const de=u.search(this._minusSign);this._minusSign.lastIndex=0;const Ae=u.search(this._suffix);this._suffix.lastIndex=0;const nt=u.search(this._currency);return this._currency.lastIndex=0,{decimalCharIndex:ie,minusCharIndex:de,suffixCharIndex:Ae,currencyCharIndex:nt}}insert(u,ie,de={isDecimalSign:!1,isMinusSign:!1}){const Ae=ie.search(this._minusSign);if(this._minusSign.lastIndex=0,!this.allowMinusSign()&&-1!==Ae)return;let nt=this.input?.nativeElement.selectionStart,kt=this.input?.nativeElement.selectionEnd,zt=this.input?.nativeElement.value.trim();const{decimalCharIndex:ai,minusCharIndex:oi,suffixCharIndex:Li,currencyCharIndex:Yi}=this.getCharIndexes(zt);let Xi;if(de.isMinusSign)0===nt&&(Xi=zt,(-1===oi||0!==kt)&&(Xi=this.insertText(zt,ie,0,kt)),this.updateValue(u,Xi,ie,"insert"));else if(de.isDecimalSign)ai>0&&nt===ai?this.updateValue(u,zt,ie,"insert"):(ai>nt&&ai0&&nt>ai){if(nt+ie.length-(ai+1)<=Ji){const en=Yi>=nt?Yi-1:Li>=nt?Li:zt.length;Xi=zt.slice(0,nt)+ie+zt.slice(nt+ie.length,en)+zt.slice(en),this.updateValue(u,Xi,ie,_n)}}else Xi=this.insertText(zt,ie,nt,kt),this.updateValue(u,Xi,ie,_n)}}insertText(u,ie,de,Ae){if(2===("."===ie?ie:ie.split(".")).length){const kt=u.slice(de,Ae).search(this._decimal);return this._decimal.lastIndex=0,kt>0?u.slice(0,de)+this.formatValue(ie)+u.slice(Ae):u||this.formatValue(ie)}return Ae-de===u.length?this.formatValue(ie):0===de?ie+u.slice(Ae):Ae===u.length?u.slice(0,de)+ie:u.slice(0,de)+ie+u.slice(Ae)}deleteRange(u,ie,de){let Ae;return Ae=de-ie===u.length?"":0===ie?u.slice(de):de===u.length?u.slice(0,ie):u.slice(0,ie)+u.slice(de),Ae}initCursor(){let u=this.input?.nativeElement.selectionStart,ie=this.input?.nativeElement.value,de=ie.length,Ae=null,nt=(this.prefixChar||"").length;ie=ie.replace(this._prefix,""),u-=nt;let kt=ie.charAt(u);if(this.isNumeralChar(kt))return u+nt;let zt=u-1;for(;zt>=0;){if(kt=ie.charAt(zt),this.isNumeralChar(kt)){Ae=zt+nt;break}zt--}if(null!==Ae)this.input?.nativeElement.setSelectionRange(Ae+1,Ae+1);else{for(zt=u;ztthis.max?this.max:u}updateInput(u,ie,de,Ae){ie=ie||"";let nt=this.input?.nativeElement.value,kt=this.formatValue(u),zt=nt.length;if(kt!==Ae&&(kt=this.concatValues(kt,Ae)),0===zt){this.input.nativeElement.value=kt,this.input.nativeElement.setSelectionRange(0,0);const oi=this.initCursor()+ie.length;this.input.nativeElement.setSelectionRange(oi,oi)}else{let ai=this.input.nativeElement.selectionStart,oi=this.input.nativeElement.selectionEnd;if(this.maxlength&&kt.length>this.maxlength&&(kt=kt.slice(0,this.maxlength),ai=Math.min(ai,this.maxlength),oi=Math.min(oi,this.maxlength)),this.maxlength&&this.maxlength0}clearTimer(){this.timer&&clearInterval(this.timer)}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(M.qQ),e.rXU(e.aKT),e.rXU(e.gRc),e.rXU(e.zZn))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-inputNumber"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,4),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.templates=nt)}},viewQuery:function(ie,de){if(1&ie&&e.GBs(ia,5),2&ie){let Ae;e.mGM(Ae=e.lsd())&&(de.input=Ae.first)}},hostAttrs:[1,"p-element","p-inputwrapper"],hostVars:6,hostBindings:function(ie,de){2&ie&&e.AVh("p-inputwrapper-filled",de.filled)("p-inputwrapper-focus",de.focused)("p-inputnumber-clearable",de.showClear&&"vertical"!=de.buttonLayout)},inputs:{showButtons:"showButtons",format:"format",buttonLayout:"buttonLayout",inputId:"inputId",styleClass:"styleClass",style:"style",placeholder:"placeholder",size:"size",maxlength:"maxlength",tabindex:"tabindex",title:"title",ariaLabelledBy:"ariaLabelledBy",ariaLabel:"ariaLabel",ariaRequired:"ariaRequired",name:"name",required:"required",autocomplete:"autocomplete",min:"min",max:"max",incrementButtonClass:"incrementButtonClass",decrementButtonClass:"decrementButtonClass",incrementButtonIcon:"incrementButtonIcon",decrementButtonIcon:"decrementButtonIcon",readonly:"readonly",step:"step",allowEmpty:"allowEmpty",locale:"locale",localeMatcher:"localeMatcher",mode:"mode",currency:"currency",currencyDisplay:"currencyDisplay",useGrouping:"useGrouping",minFractionDigits:"minFractionDigits",maxFractionDigits:"maxFractionDigits",prefix:"prefix",suffix:"suffix",inputStyle:"inputStyle",inputStyleClass:"inputStyleClass",showClear:"showClear",disabled:"disabled"},outputs:{onInput:"onInput",onFocus:"onFocus",onBlur:"onBlur",onKeyDown:"onKeyDown",onClear:"onClear"},features:[e.Jv_([Us]),e.OA$],decls:7,vars:39,consts:[["input",""],[3,"ngClass","ngStyle"],["pInputText","","role","spinbutton","inputmode","decimal",3,"input","keydown","keypress","paste","click","focus","blur","ngClass","ngStyle","value","disabled","readonly"],[4,"ngIf"],["class","p-inputnumber-button-group",4,"ngIf"],["type","button","pButton","","class","p-button-icon-only","tabindex","-1",3,"ngClass","class","disabled","mousedown","mouseup","mouseleave","keydown","keyup",4,"ngIf"],[3,"ngClass","click",4,"ngIf"],["class","p-inputnumber-clear-icon",3,"click",4,"ngIf"],[3,"click","ngClass"],[1,"p-inputnumber-clear-icon",3,"click"],[4,"ngTemplateOutlet"],[1,"p-inputnumber-button-group"],["type","button","pButton","","tabindex","-1",1,"p-button-icon-only",3,"mousedown","mouseup","mouseleave","keydown","keyup","ngClass","disabled"],[3,"ngClass",4,"ngIf"],[3,"ngClass"]],template:function(ie,de){if(1&ie){const Ae=e.RV6();e.j41(0,"span",1)(1,"input",2,0),e.bIt("input",function(kt){return e.eBV(Ae),e.Njj(de.onUserInput(kt))})("keydown",function(kt){return e.eBV(Ae),e.Njj(de.onInputKeyDown(kt))})("keypress",function(kt){return e.eBV(Ae),e.Njj(de.onInputKeyPress(kt))})("paste",function(kt){return e.eBV(Ae),e.Njj(de.onPaste(kt))})("click",function(){return e.eBV(Ae),e.Njj(de.onInputClick())})("focus",function(kt){return e.eBV(Ae),e.Njj(de.onInputFocus(kt))})("blur",function(kt){return e.eBV(Ae),e.Njj(de.onInputBlur(kt))}),e.k0s(),e.DNE(3,na,3,2,"ng-container",3)(4,Wn,7,19,"span",4)(5,zs,3,9,"button",5)(6,ks,3,9,"button",5),e.k0s()}2&ie&&(e.HbH(de.styleClass),e.Y8G("ngClass",e.sMw(35,kh,de.showButtons&&"stacked"===de.buttonLayout,de.showButtons&&"horizontal"===de.buttonLayout,de.showButtons&&"vertical"===de.buttonLayout))("ngStyle",de.style),e.BMQ("data-pc-name","inputnumber")("data-pc-section","root"),e.R7$(),e.HbH(de.inputStyleClass),e.Y8G("ngClass","p-inputnumber-input")("ngStyle",de.inputStyle)("value",de.formattedValue())("disabled",de.disabled)("readonly",de.readonly),e.BMQ("id",de.inputId)("aria-valuemin",de.min)("aria-valuemax",de.max)("aria-valuenow",de.value)("placeholder",de.placeholder)("aria-label",de.ariaLabel)("aria-labelledby",de.ariaLabelledBy)("title",de.title)("size",de.size)("name",de.name)("autocomplete",de.autocomplete)("maxlength",de.maxlength)("tabindex",de.tabindex)("aria-required",de.ariaRequired)("required",de.required)("min",de.min)("max",de.max)("data-pc-section","input"),e.R7$(2),e.Y8G("ngIf","vertical"!=de.buttonLayout&&de.showClear&&de.value),e.R7$(),e.Y8G("ngIf",de.showButtons&&"stacked"===de.buttonLayout),e.R7$(),e.Y8G("ngIf",de.showButtons&&"stacked"!==de.buttonLayout),e.R7$(),e.Y8G("ngIf",de.showButtons&&"stacked"!==de.buttonLayout))},dependencies:()=>[M.YU,M.bT,M.T3,M.B3,_a.S,q._f,E.A,Xr,xa],styles:["@layer primeng{p-inputnumber,.p-inputnumber{display:inline-flex}.p-inputnumber-button{display:flex;align-items:center;justify-content:center;flex:0 0 auto}.p-inputnumber-buttons-stacked .p-button.p-inputnumber-button .p-button-label,.p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button .p-button-label{display:none}.p-inputnumber-buttons-stacked .p-button.p-inputnumber-button-up{border-top-left-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0;padding:0}.p-inputnumber-buttons-stacked .p-inputnumber-input{border-top-right-radius:0;border-bottom-right-radius:0}.p-inputnumber-buttons-stacked .p-button.p-inputnumber-button-down{border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:0;padding:0}.p-inputnumber-buttons-stacked .p-inputnumber-button-group{display:flex;flex-direction:column}.p-inputnumber-buttons-stacked .p-inputnumber-button-group .p-button.p-inputnumber-button{flex:1 1 auto}.p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button-up{order:3;border-top-left-radius:0;border-bottom-left-radius:0}.p-inputnumber-buttons-horizontal .p-inputnumber-input{order:2;border-radius:0}.p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button-down{order:1;border-top-right-radius:0;border-bottom-right-radius:0}.p-inputnumber-buttons-vertical{flex-direction:column}.p-inputnumber-buttons-vertical .p-button.p-inputnumber-button-up{order:1;border-bottom-left-radius:0;border-bottom-right-radius:0;width:100%}.p-inputnumber-buttons-vertical .p-inputnumber-input{order:2;border-radius:0;text-align:center}.p-inputnumber-buttons-vertical .p-button.p-inputnumber-button-down{order:3;border-top-left-radius:0;border-top-right-radius:0;width:100%}.p-inputnumber-input{flex:1 1 auto}.p-fluid p-inputnumber,.p-fluid .p-inputnumber{width:100%}.p-fluid .p-inputnumber .p-inputnumber-input{width:1%}.p-fluid .p-inputnumber-buttons-vertical .p-inputnumber-input{width:100%}.p-inputnumber-clear-icon{position:absolute;top:50%;margin-top:-.5rem;cursor:pointer}.p-inputnumber-clearable{position:relative}}\n"],encapsulation:2,changeDetection:0})}return ye})(),ul=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD,_a.u,q.tm,E.A,Xr,xa,Le.Gg]})}return ye})(),jn=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["AngleDoubleLeftIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M5.71602 11.164C5.80782 11.2021 5.9063 11.2215 6.00569 11.221C6.20216 11.2301 6.39427 11.1612 6.54025 11.0294C6.68191 10.8875 6.76148 10.6953 6.76148 10.4948C6.76148 10.2943 6.68191 10.1021 6.54025 9.96024L3.51441 6.9344L6.54025 3.90855C6.624 3.76126 6.65587 3.59011 6.63076 3.42254C6.60564 3.25498 6.525 3.10069 6.40175 2.98442C6.2785 2.86815 6.11978 2.79662 5.95104 2.7813C5.78229 2.76598 5.61329 2.80776 5.47112 2.89994L1.97123 6.39983C1.82957 6.54167 1.75 6.73393 1.75 6.9344C1.75 7.13486 1.82957 7.32712 1.97123 7.46896L5.47112 10.9991C5.54096 11.0698 5.62422 11.1259 5.71602 11.164ZM11.0488 10.9689C11.1775 11.1156 11.3585 11.2061 11.5531 11.221C11.7477 11.2061 11.9288 11.1156 12.0574 10.9689C12.1815 10.8302 12.25 10.6506 12.25 10.4645C12.25 10.2785 12.1815 10.0989 12.0574 9.96024L9.03158 6.93439L12.0574 3.90855C12.1248 3.76739 12.1468 3.60881 12.1204 3.45463C12.0939 3.30045 12.0203 3.15826 11.9097 3.04765C11.7991 2.93703 11.6569 2.86343 11.5027 2.83698C11.3486 2.81053 11.19 2.83252 11.0488 2.89994L7.51865 6.36957C7.37699 6.51141 7.29742 6.70367 7.29742 6.90414C7.29742 7.1046 7.37699 7.29686 7.51865 7.4387L11.0488 10.9689Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})(),br=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["AngleDoubleRightIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M7.68757 11.1451C7.7791 11.1831 7.8773 11.2024 7.9764 11.2019C8.07769 11.1985 8.17721 11.1745 8.26886 11.1312C8.36052 11.088 8.44238 11.0265 8.50943 10.9505L12.0294 7.49085C12.1707 7.34942 12.25 7.15771 12.25 6.95782C12.25 6.75794 12.1707 6.56622 12.0294 6.42479L8.50943 2.90479C8.37014 2.82159 8.20774 2.78551 8.04633 2.80192C7.88491 2.81833 7.73309 2.88635 7.6134 2.99588C7.4937 3.10541 7.41252 3.25061 7.38189 3.40994C7.35126 3.56927 7.37282 3.73423 7.44337 3.88033L10.4605 6.89748L7.44337 9.91463C7.30212 10.0561 7.22278 10.2478 7.22278 10.4477C7.22278 10.6475 7.30212 10.8393 7.44337 10.9807C7.51301 11.0512 7.59603 11.1071 7.68757 11.1451ZM1.94207 10.9505C2.07037 11.0968 2.25089 11.1871 2.44493 11.2019C2.63898 11.1871 2.81949 11.0968 2.94779 10.9505L6.46779 7.49085C6.60905 7.34942 6.68839 7.15771 6.68839 6.95782C6.68839 6.75793 6.60905 6.56622 6.46779 6.42479L2.94779 2.90479C2.80704 2.83757 2.6489 2.81563 2.49517 2.84201C2.34143 2.86839 2.19965 2.94178 2.08936 3.05207C1.97906 3.16237 1.90567 3.30415 1.8793 3.45788C1.85292 3.61162 1.87485 3.76975 1.94207 3.9105L4.95922 6.92765L1.94207 9.9448C1.81838 10.0831 1.75 10.2621 1.75 10.4477C1.75 10.6332 1.81838 10.8122 1.94207 10.9505Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})(),Ro=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["AngleLeftIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M8.75 11.185C8.65146 11.1854 8.55381 11.1662 8.4628 11.1284C8.37179 11.0906 8.28924 11.0351 8.22 10.965L4.72 7.46496C4.57955 7.32433 4.50066 7.13371 4.50066 6.93496C4.50066 6.73621 4.57955 6.54558 4.72 6.40496L8.22 2.93496C8.36095 2.84357 8.52851 2.80215 8.69582 2.81733C8.86312 2.83252 9.02048 2.90344 9.14268 3.01872C9.26487 3.134 9.34483 3.28696 9.36973 3.4531C9.39463 3.61924 9.36303 3.78892 9.28 3.93496L6.28 6.93496L9.28 9.93496C9.42045 10.0756 9.49934 10.2662 9.49934 10.465C9.49934 10.6637 9.42045 10.8543 9.28 10.995C9.13526 11.1257 8.9448 11.1939 8.75 11.185Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})(),Qi=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["AngleRightIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M5.25 11.1728C5.14929 11.1694 5.05033 11.1455 4.9592 11.1025C4.86806 11.0595 4.78666 10.9984 4.72 10.9228C4.57955 10.7822 4.50066 10.5916 4.50066 10.3928C4.50066 10.1941 4.57955 10.0035 4.72 9.86283L7.72 6.86283L4.72 3.86283C4.66067 3.71882 4.64765 3.55991 4.68275 3.40816C4.71785 3.25642 4.79932 3.11936 4.91585 3.01602C5.03238 2.91268 5.17819 2.84819 5.33305 2.83149C5.4879 2.81479 5.64411 2.84671 5.78 2.92283L9.28 6.42283C9.42045 6.56346 9.49934 6.75408 9.49934 6.95283C9.49934 7.15158 9.42045 7.34221 9.28 7.48283L5.78 10.9228C5.71333 10.9984 5.63193 11.0595 5.5408 11.1025C5.44966 11.1455 5.35071 11.1694 5.25 11.1728Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})();const No=ye=>({"p-disabled":ye}),Xl=ye=>({$implicit:ye}),ws=ye=>({"p-highlight":ye});function Is(ye,et){1&ye&&e.eu8(0)}function pl(ye,et){if(1&ye&&(e.j41(0,"div",15),e.DNE(1,Is,1,0,"ng-container",16),e.k0s()),2&ye){const u=e.XpG(2);e.BMQ("data-pc-section","start"),e.R7$(),e.Y8G("ngTemplateOutlet",u.templateLeft)("ngTemplateOutletContext",e.eq3(3,Xl,u.paginatorState))}}function Yl(ye,et){if(1&ye&&(e.j41(0,"span",17),e.EFF(1),e.k0s()),2&ye){const u=e.XpG(2);e.R7$(),e.JRh(u.currentPageReport)}}function Kr(ye,et){1&ye&&e.nrm(0,"AngleDoubleLeftIcon",19),2&ye&&e.Y8G("styleClass","p-paginator-icon")}function Kl(ye,et){}function wa(ye,et){1&ye&&e.DNE(0,Kl,0,0,"ng-template")}function yo(ye,et){if(1&ye&&(e.j41(0,"span",20),e.DNE(1,wa,1,0,null,21),e.k0s()),2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("ngTemplateOutlet",u.firstPageLinkIconTemplate)}}function Zr(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"button",18),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.changePageToFirst(de))}),e.DNE(1,Kr,1,1,"AngleDoubleLeftIcon",6)(2,yo,2,1,"span",7),e.k0s()}if(2&ye){const u=e.XpG(2);e.Y8G("disabled",u.isFirstPage()||u.empty())("ngClass",e.eq3(5,No,u.isFirstPage()||u.empty())),e.BMQ("aria-label",u.getAriaLabel("firstPageLabel")),e.R7$(),e.Y8G("ngIf",!u.firstPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.firstPageLinkIconTemplate)}}function $a(ye,et){1&ye&&e.nrm(0,"AngleLeftIcon",19),2&ye&&e.Y8G("styleClass","p-paginator-icon")}function rn(ye,et){}function Bc(ye,et){1&ye&&e.DNE(0,rn,0,0,"ng-template")}function gc(ye,et){if(1&ye&&(e.j41(0,"span",20),e.DNE(1,Bc,1,0,null,21),e.k0s()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",u.previousPageLinkIconTemplate)}}function Fo(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"button",24),e.bIt("click",function(de){const Ae=e.eBV(u).$implicit,nt=e.XpG(3);return e.Njj(nt.onPageLinkClick(de,Ae-1))}),e.EFF(1),e.k0s()}if(2&ye){const u=et.$implicit,ie=e.XpG(3);e.Y8G("ngClass",e.eq3(4,ws,u-1==ie.getPage())),e.BMQ("aria-label",ie.getPageAriaLabel(u))("aria-current",u-1==ie.getPage()?"page":void 0),e.R7$(),e.SpI(" ",ie.getLocalization(u)," ")}}function mc(ye,et){if(1&ye&&(e.j41(0,"span",22),e.DNE(1,Fo,2,6,"button",23),e.k0s()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngForOf",u.pageLinks)}}function Xa(ye,et){if(1&ye&&e.EFF(0),2&ye){const u=e.XpG(3);e.JRh(u.currentPageReport)}}function Ys(ye,et){1&ye&&e.eu8(0)}function Eh(ye,et){if(1&ye&&e.DNE(0,Ys,1,0,"ng-container",21),2&ye){const u=e.XpG(4);e.Y8G("ngTemplateOutlet",u.dropdownIconTemplate)}}function Pr(ye,et){1&ye&&e.DNE(0,Eh,1,1,"ng-template",28)}function Gs(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"p-dropdown",25),e.bIt("onChange",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onPageDropdownChange(de))}),e.DNE(1,Xa,1,1,"ng-template",26)(2,Pr,1,0,null,27),e.k0s()}if(2&ye){const u=e.XpG(2);e.Y8G("options",u.pageItems)("ngModel",u.getPage())("disabled",u.empty())("appendTo",u.dropdownAppendTo)("scrollHeight",u.dropdownScrollHeight),e.BMQ("aria-label",u.getAriaLabel("jumpToPageDropdownLabel")),e.R7$(2),e.Y8G("ngIf",u.dropdownIconTemplate)}}function jc(ye,et){1&ye&&e.nrm(0,"AngleRightIcon",19),2&ye&&e.Y8G("styleClass","p-paginator-icon")}function Bo(ye,et){}function fl(ye,et){1&ye&&e.DNE(0,Bo,0,0,"ng-template")}function no(ye,et){if(1&ye&&(e.j41(0,"span",20),e.DNE(1,fl,1,0,null,21),e.k0s()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",u.nextPageLinkIconTemplate)}}function Vc(ye,et){1&ye&&e.nrm(0,"AngleDoubleRightIcon",19),2&ye&&e.Y8G("styleClass","p-paginator-icon")}function bc(ye,et){}function Xd(ye,et){1&ye&&e.DNE(0,bc,0,0,"ng-template")}function ss(ye,et){if(1&ye&&(e.j41(0,"span",20),e.DNE(1,Xd,1,0,null,21),e.k0s()),2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("ngTemplateOutlet",u.lastPageLinkIconTemplate)}}function zc(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"button",29),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.changePageToLast(de))}),e.DNE(1,Vc,1,1,"AngleDoubleRightIcon",6)(2,ss,2,1,"span",7),e.k0s()}if(2&ye){const u=e.XpG(2);e.Y8G("disabled",u.isLastPage()||u.empty())("ngClass",e.eq3(5,No,u.isLastPage()||u.empty())),e.BMQ("aria-label",u.getAriaLabel("lastPageLabel")),e.R7$(),e.Y8G("ngIf",!u.lastPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.lastPageLinkIconTemplate)}}function Ah(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"p-inputNumber",30),e.bIt("ngModelChange",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.changePage(de-1))}),e.k0s()}if(2&ye){const u=e.XpG(2);e.Y8G("ngModel",u.currentPage())("disabled",u.empty())}}function Gc(ye,et){1&ye&&e.eu8(0)}function Yd(ye,et){if(1&ye&&e.DNE(0,Gc,1,0,"ng-container",16),2&ye){const u=et.$implicit,ie=e.XpG(4);e.Y8G("ngTemplateOutlet",ie.dropdownItemTemplate)("ngTemplateOutletContext",e.eq3(2,Xl,u))}}function ld(ye,et){1&ye&&(e.qex(0),e.DNE(1,Yd,1,4,"ng-template",32),e.bVm())}function cd(ye,et){1&ye&&e.eu8(0)}function Ih(ye,et){if(1&ye&&e.DNE(0,cd,1,0,"ng-container",21),2&ye){const u=e.XpG(4);e.Y8G("ngTemplateOutlet",u.dropdownIconTemplate)}}function vc(ye,et){1&ye&&e.DNE(0,Ih,1,1,"ng-template",28)}function hd(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"p-dropdown",31),e.mxI("ngModelChange",function(de){e.eBV(u);const Ae=e.XpG(2);return e.DH7(Ae.rows,de)||(Ae.rows=de),e.Njj(de)}),e.bIt("onChange",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onRppChange(de))}),e.DNE(1,ld,2,0,"ng-container",27)(2,vc,1,0,null,27),e.k0s()}if(2&ye){const u=e.XpG(2);e.Y8G("options",u.rowsPerPageItems),e.R50("ngModel",u.rows),e.Y8G("disabled",u.empty())("appendTo",u.dropdownAppendTo)("scrollHeight",u.dropdownScrollHeight)("ariaLabel",u.getAriaLabel("rowsPerPageLabel")),e.R7$(),e.Y8G("ngIf",u.dropdownItemTemplate),e.R7$(),e.Y8G("ngIf",u.dropdownIconTemplate)}}function $u(ye,et){1&ye&&e.eu8(0)}function Xu(ye,et){if(1&ye&&(e.j41(0,"div",33),e.DNE(1,$u,1,0,"ng-container",16),e.k0s()),2&ye){const u=e.XpG(2);e.BMQ("data-pc-section","end"),e.R7$(),e.Y8G("ngTemplateOutlet",u.templateRight)("ngTemplateOutletContext",e.eq3(3,Xl,u.paginatorState))}}function Oh(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",1),e.DNE(1,pl,2,5,"div",2)(2,Yl,2,1,"span",3)(3,Zr,3,7,"button",4),e.j41(4,"button",5),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.changePageToPrev(de))}),e.DNE(5,$a,1,1,"AngleLeftIcon",6)(6,gc,2,1,"span",7),e.k0s(),e.DNE(7,mc,2,1,"span",8)(8,Gs,3,7,"p-dropdown",9),e.j41(9,"button",10),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.changePageToNext(de))}),e.DNE(10,jc,1,1,"AngleRightIcon",6)(11,no,2,1,"span",7),e.k0s(),e.DNE(12,zc,3,7,"button",11)(13,Ah,1,2,"p-inputNumber",12)(14,hd,3,8,"p-dropdown",13)(15,Xu,2,5,"div",14),e.k0s()}if(2&ye){const u=e.XpG();e.HbH(u.styleClass),e.Y8G("ngStyle",u.style)("ngClass","p-paginator p-component"),e.BMQ("data-pc-section","paginator")("data-pc-section","root"),e.R7$(),e.Y8G("ngIf",u.templateLeft),e.R7$(),e.Y8G("ngIf",u.showCurrentPageReport),e.R7$(),e.Y8G("ngIf",u.showFirstLastIcon),e.R7$(),e.Y8G("disabled",u.isFirstPage()||u.empty())("ngClass",e.eq3(25,No,u.isFirstPage()||u.empty())),e.BMQ("aria-label",u.getAriaLabel("prevPageLabel")),e.R7$(),e.Y8G("ngIf",!u.previousPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.previousPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.showPageLinks),e.R7$(),e.Y8G("ngIf",u.showJumpToPageDropdown),e.R7$(),e.Y8G("disabled",u.isLastPage()||u.empty())("ngClass",e.eq3(27,No,u.isLastPage()||u.empty())),e.BMQ("aria-label",u.getAriaLabel("nextPageLabel")),e.R7$(),e.Y8G("ngIf",!u.nextPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.nextPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.showFirstLastIcon),e.R7$(),e.Y8G("ngIf",u.showJumpToPageInput),e.R7$(),e.Y8G("ngIf",u.rowsPerPageOptions),e.R7$(),e.Y8G("ngIf",u.templateRight)}}let Kd=(()=>{class ye{cd;config;pageLinkSize=5;style;styleClass;alwaysShow=!0;dropdownAppendTo;templateLeft;templateRight;appendTo;dropdownScrollHeight="200px";currentPageReportTemplate="{currentPage} of {totalPages}";showCurrentPageReport;showFirstLastIcon=!0;totalRecords=0;rows=0;rowsPerPageOptions;showJumpToPageDropdown;showJumpToPageInput;showPageLinks=!0;locale;dropdownItemTemplate;get first(){return this._first}set first(u){this._first=u}onPageChange=new e.bkB;templates;dropdownIconTemplate;firstPageLinkIconTemplate;previousPageLinkIconTemplate;lastPageLinkIconTemplate;nextPageLinkIconTemplate;pageLinks;pageItems;rowsPerPageItems;paginatorState;_first=0;_page=0;constructor(u,ie){this.cd=u,this.config=ie}ngOnInit(){this.updatePaginatorState()}getAriaLabel(u){return this.config.translation.aria?this.config.translation.aria[u]:void 0}getPageAriaLabel(u){return this.config.translation.aria?this.config.translation.aria.pageLabel.replace(/{page}/g,`Page ${u}`):void 0}getLocalization(u){const ie=[...new Intl.NumberFormat(this.locale,{useGrouping:!1}).format(9876543210)].reverse(),de=new Map(ie.map((Ae,nt)=>[nt,Ae]));return u>9?String(u).split("").map(nt=>de.get(Number(nt))).join(""):de.get(u)}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"dropdownicon":this.dropdownIconTemplate=u.template;break;case"firstpagelinkicon":this.firstPageLinkIconTemplate=u.template;break;case"previouspagelinkicon":this.previousPageLinkIconTemplate=u.template;break;case"lastpagelinkicon":this.lastPageLinkIconTemplate=u.template;break;case"nextpagelinkicon":this.nextPageLinkIconTemplate=u.template}})}ngOnChanges(u){u.totalRecords&&(this.updatePageLinks(),this.updatePaginatorState(),this.updateFirst(),this.updateRowsPerPageOptions()),u.first&&(this._first=u.first.currentValue,this.updatePageLinks(),this.updatePaginatorState()),u.rows&&(this.updatePageLinks(),this.updatePaginatorState()),u.rowsPerPageOptions&&this.updateRowsPerPageOptions()}updateRowsPerPageOptions(){if(this.rowsPerPageOptions){this.rowsPerPageItems=[];for(let u of this.rowsPerPageOptions)"object"==typeof u&&u.showAll?this.rowsPerPageItems.unshift({label:u.showAll,value:this.totalRecords}):this.rowsPerPageItems.push({label:String(this.getLocalization(u)),value:u})}}isFirstPage(){return 0===this.getPage()}isLastPage(){return this.getPage()===this.getPageCount()-1}getPageCount(){return Math.ceil(this.totalRecords/this.rows)}calculatePageLinkBoundaries(){let u=this.getPageCount(),ie=Math.min(this.pageLinkSize,u),de=Math.max(0,Math.ceil(this.getPage()-ie/2)),Ae=Math.min(u-1,de+ie-1);return de=Math.max(0,de-(this.pageLinkSize-(Ae-de+1))),[de,Ae]}updatePageLinks(){this.pageLinks=[];let u=this.calculatePageLinkBoundaries(),de=u[1];for(let Ae=u[0];Ae<=de;Ae++)this.pageLinks.push(Ae+1);if(this.showJumpToPageDropdown){this.pageItems=[];for(let Ae=0;Ae=0&&u0&&this.totalRecords&&this.first>=this.totalRecords&&Promise.resolve(null).then(()=>this.changePage(u-1))}getPage(){return Math.floor(this.first/this.rows)}changePageToFirst(u){this.isFirstPage()||this.changePage(0),u.preventDefault()}changePageToPrev(u){this.changePage(this.getPage()-1),u.preventDefault()}changePageToNext(u){this.changePage(this.getPage()+1),u.preventDefault()}changePageToLast(u){this.isLastPage()||this.changePage(this.getPageCount()-1),u.preventDefault()}onPageLinkClick(u,ie){this.changePage(ie),u.preventDefault()}onRppChange(u){this.changePage(this.getPage())}onPageDropdownChange(u){this.changePage(u.value)}updatePaginatorState(){this.paginatorState={page:this.getPage(),pageCount:this.getPageCount(),rows:this.rows,first:this.first,totalRecords:this.totalRecords}}empty(){return 0===this.getPageCount()}currentPage(){return this.getPageCount()>0?this.getPage()+1:0}get currentPageReport(){return this.currentPageReportTemplate.replace("{currentPage}",String(this.currentPage())).replace("{totalPages}",String(this.getPageCount())).replace("{first}",String(this.totalRecords>0?this._first+1:0)).replace("{last}",String(Math.min(this._first+this.rows,this.totalRecords))).replace("{rows}",String(this.rows)).replace("{totalRecords}",String(this.totalRecords))}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(e.gRc),e.rXU(Le.r1))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-paginator"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,4),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.templates=nt)}},hostAttrs:[1,"p-element"],inputs:{pageLinkSize:"pageLinkSize",style:"style",styleClass:"styleClass",alwaysShow:"alwaysShow",dropdownAppendTo:"dropdownAppendTo",templateLeft:"templateLeft",templateRight:"templateRight",appendTo:"appendTo",dropdownScrollHeight:"dropdownScrollHeight",currentPageReportTemplate:"currentPageReportTemplate",showCurrentPageReport:"showCurrentPageReport",showFirstLastIcon:"showFirstLastIcon",totalRecords:"totalRecords",rows:"rows",rowsPerPageOptions:"rowsPerPageOptions",showJumpToPageDropdown:"showJumpToPageDropdown",showJumpToPageInput:"showJumpToPageInput",showPageLinks:"showPageLinks",locale:"locale",dropdownItemTemplate:"dropdownItemTemplate",first:"first"},outputs:{onPageChange:"onPageChange"},features:[e.OA$],decls:1,vars:1,consts:[[3,"class","ngStyle","ngClass",4,"ngIf"],[3,"ngStyle","ngClass"],["class","p-paginator-left-content",4,"ngIf"],["class","p-paginator-current",4,"ngIf"],["type","button","pRipple","","class","p-paginator-first p-paginator-element p-link",3,"disabled","ngClass","click",4,"ngIf"],["type","button","pRipple","",1,"p-paginator-prev","p-paginator-element","p-link",3,"click","disabled","ngClass"],[3,"styleClass",4,"ngIf"],["class","p-paginator-icon",4,"ngIf"],["class","p-paginator-pages",4,"ngIf"],["styleClass","p-paginator-page-options",3,"options","ngModel","disabled","appendTo","scrollHeight","onChange",4,"ngIf"],["type","button","pRipple","",1,"p-paginator-next","p-paginator-element","p-link",3,"click","disabled","ngClass"],["type","button","pRipple","","class","p-paginator-last p-paginator-element p-link",3,"disabled","ngClass","click",4,"ngIf"],["class","p-paginator-page-input",3,"ngModel","disabled","ngModelChange",4,"ngIf"],["styleClass","p-paginator-rpp-options",3,"options","ngModel","disabled","appendTo","scrollHeight","ariaLabel","ngModelChange","onChange",4,"ngIf"],["class","p-paginator-right-content",4,"ngIf"],[1,"p-paginator-left-content"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"p-paginator-current"],["type","button","pRipple","",1,"p-paginator-first","p-paginator-element","p-link",3,"click","disabled","ngClass"],[3,"styleClass"],[1,"p-paginator-icon"],[4,"ngTemplateOutlet"],[1,"p-paginator-pages"],["type","button","class","p-paginator-page p-paginator-element p-link","pRipple","",3,"ngClass","click",4,"ngFor","ngForOf"],["type","button","pRipple","",1,"p-paginator-page","p-paginator-element","p-link",3,"click","ngClass"],["styleClass","p-paginator-page-options",3,"onChange","options","ngModel","disabled","appendTo","scrollHeight"],["pTemplate","selectedItem"],[4,"ngIf"],["pTemplate","dropdownicon"],["type","button","pRipple","",1,"p-paginator-last","p-paginator-element","p-link",3,"click","disabled","ngClass"],[1,"p-paginator-page-input",3,"ngModelChange","ngModel","disabled"],["styleClass","p-paginator-rpp-options",3,"ngModelChange","onChange","options","ngModel","disabled","appendTo","scrollHeight","ariaLabel"],["pTemplate","item"],[1,"p-paginator-right-content"]],template:function(ie,de){1&ie&&e.DNE(0,Oh,16,29,"div",0),2&ie&&e.Y8G("ngIf",!!de.alwaysShow||de.pageLinks&&de.pageLinks.length>1)},dependencies:()=>[M.YU,M.Sq,M.bT,M.T3,M.B3,Rc,Le.Ei,mr,V.BC,V.vS,ve.n,jn,br,Ro,Qi],styles:["@layer primeng{.p-paginator{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}.p-paginator-left-content{margin-right:auto}.p-paginator-right-content{margin-left:auto}.p-paginator-page,.p-paginator-next,.p-paginator-last,.p-paginator-first,.p-paginator-prev,.p-paginator-current{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1;-webkit-user-select:none;user-select:none;overflow:hidden;position:relative}.p-paginator-element:focus{z-index:1;position:relative}}\n"],encapsulation:2,changeDetection:0})}return ye})(),Hc=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD,Lo,ul,V.YN,Le.Gg,ve.Z,jn,br,Ro,Qi,Lo,ul,V.YN,Le.Gg]})}return ye})();const Zd=["container"],Re=(ye,et,u)=>({"p-highlight":ye,"p-disabled":et,"p-button-icon-only":u}),He=(ye,et)=>({$implicit:ye,index:et});function Fe(ye,et){if(1&ye&&e.nrm(0,"span",8),2&ye){const u=e.XpG(2).$implicit;e.HbH(u.icon),e.Y8G("ngClass","p-button-icon p-button-icon-left"),e.BMQ("data-pc-section","icon")}}function Ue(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Fe,1,4,"span",6),e.j41(2,"span",7),e.EFF(3),e.k0s(),e.bVm()),2&ye){const u=e.XpG().$implicit,ie=e.XpG();e.R7$(),e.Y8G("ngIf",u.icon),e.R7$(),e.BMQ("data-pc-section","label"),e.R7$(),e.JRh(ie.getOptionLabel(u))}}function rt(ye,et){1&ye&&e.eu8(0)}function gt(ye,et){if(1&ye&&e.DNE(0,rt,1,0,"ng-container",9),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG();e.Y8G("ngTemplateOutlet",Ae.selectButtonTemplate)("ngTemplateOutletContext",e.l_i(2,He,ie,de))}}function Ot(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",4),e.bIt("click",function(de){const Ae=e.eBV(u),nt=Ae.$implicit,kt=Ae.index,zt=e.XpG();return e.Njj(zt.onOptionSelect(de,nt,kt))})("keydown",function(de){const Ae=e.eBV(u),nt=Ae.$implicit,kt=Ae.index,zt=e.XpG();return e.Njj(zt.onKeyDown(de,nt,kt))})("focus",function(de){const Ae=e.eBV(u).index,nt=e.XpG();return e.Njj(nt.onFocus(de,Ae))})("blur",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onBlur())}),e.DNE(1,Ue,4,3,"ng-container",5)(2,gt,1,5,"ng-template",null,1,e.C5r),e.k0s()}if(2&ye){const u=et.$implicit,ie=et.index,de=e.sdS(3),Ae=e.XpG();e.HbH(u.styleClass),e.Y8G("role",Ae.multiple?"checkbox":"radio")("ngClass",e.sMw(14,Re,Ae.isSelected(u),Ae.disabled||Ae.isOptionDisabled(u),u.icon&&!Ae.getOptionLabel(u))),e.BMQ("tabindex",ie===Ae.focusedIndex?"0":"-1")("aria-label",u.label)("aria-checked",Ae.isSelected(u))("aria-disabled",Ae.optionDisabled)("aria-pressed",Ae.isSelected(u))("title",u.title)("aria-labelledby",Ae.getOptionLabel(u))("data-pc-section","button"),e.R7$(),e.Y8G("ngIf",!Ae.itemTemplate)("ngIfElse",de)}}const qt={provide:V.kq,useExisting:(0,e.Rfq)(()=>Xt),multi:!0};let Xt=(()=>{class ye{cd;options;optionLabel;optionValue;optionDisabled;unselectable=!1;tabindex=0;multiple;allowEmpty=!0;style;styleClass;ariaLabelledBy;disabled;dataKey;onOptionClick=new e.bkB;onChange=new e.bkB;container;itemTemplate;get selectButtonTemplate(){return this.itemTemplate?.template}get equalityKey(){return this.optionValue?null:this.dataKey}value;onModelChange=()=>{};onModelTouched=()=>{};focusedIndex=0;constructor(u){this.cd=u}getOptionLabel(u){return this.optionLabel?le.BF.resolveFieldData(u,this.optionLabel):null!=u.label?u.label:u}getOptionValue(u){return this.optionValue?le.BF.resolveFieldData(u,this.optionValue):this.optionLabel||void 0===u.value?u:u.value}isOptionDisabled(u){return this.optionDisabled?le.BF.resolveFieldData(u,this.optionDisabled):void 0!==u.disabled&&u.disabled}writeValue(u){this.value=u,this.cd.markForCheck()}registerOnChange(u){this.onModelChange=u}registerOnTouched(u){this.onModelTouched=u}setDisabledState(u){this.disabled=u,this.cd.markForCheck()}onOptionSelect(u,ie,de){if(this.disabled||this.isOptionDisabled(ie))return;let Ae=this.isSelected(ie);if(Ae&&this.unselectable)return;let kt,nt=this.getOptionValue(ie);if(this.multiple)kt=Ae?this.value.filter(zt=>!le.BF.equals(zt,nt,this.equalityKey)):this.value?[...this.value,nt]:[nt];else{if(Ae&&!this.allowEmpty)return;kt=Ae?null:nt}this.focusedIndex=de,this.value=kt,this.onModelChange(this.value),this.onChange.emit({originalEvent:u,value:this.value}),this.onOptionClick.emit({originalEvent:u,option:ie,index:de})}onKeyDown(u,ie,de){switch(u.code){case"Space":this.onOptionSelect(u,ie,de),u.preventDefault();break;case"ArrowDown":case"ArrowRight":this.changeTabIndexes(u,"next"),u.preventDefault();break;case"ArrowUp":case"ArrowLeft":this.changeTabIndexes(u,"prev"),u.preventDefault()}}changeTabIndexes(u,ie){let de,Ae;for(let nt=0;nt<=this.container.nativeElement.children.length-1;nt++)"0"===this.container.nativeElement.children[nt].getAttribute("tabindex")&&(de={elem:this.container.nativeElement.children[nt],index:nt});Ae="prev"===ie?0===de.index?this.container.nativeElement.children.length-1:de.index-1:de.index===this.container.nativeElement.children.length-1?0:de.index+1,this.focusedIndex=Ae,this.container.nativeElement.children[Ae].focus()}onFocus(u,ie){this.focusedIndex=ie}onBlur(){this.onModelTouched()}removeOption(u){this.value=this.value.filter(ie=>!le.BF.equals(ie,this.getOptionValue(u),this.dataKey))}isSelected(u){let ie=!1;const de=this.getOptionValue(u);if(this.multiple){if(this.value&&Array.isArray(this.value))for(let Ae of this.value)if(le.BF.equals(Ae,de,this.dataKey)){ie=!0;break}}else ie=le.BF.equals(this.getOptionValue(u),this.value,this.equalityKey);return ie}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(e.gRc))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-selectButton"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,5),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.itemTemplate=nt.first)}},viewQuery:function(ie,de){if(1&ie&&e.GBs(Zd,5),2&ie){let Ae;e.mGM(Ae=e.lsd())&&(de.container=Ae.first)}},hostAttrs:[1,"p-element"],inputs:{options:"options",optionLabel:"optionLabel",optionValue:"optionValue",optionDisabled:"optionDisabled",unselectable:"unselectable",tabindex:"tabindex",multiple:"multiple",allowEmpty:"allowEmpty",style:"style",styleClass:"styleClass",ariaLabelledBy:"ariaLabelledBy",disabled:"disabled",dataKey:"dataKey"},outputs:{onOptionClick:"onOptionClick",onChange:"onChange"},features:[e.Jv_([qt])],decls:3,vars:8,consts:[["container",""],["customcontent",""],["role","group",3,"ngClass","ngStyle"],["pRipple","","class","p-button p-component",3,"role","class","ngClass","click","keydown","focus","blur",4,"ngFor","ngForOf"],["pRipple","",1,"p-button","p-component",3,"click","keydown","focus","blur","role","ngClass"],[4,"ngIf","ngIfElse"],[3,"ngClass","class",4,"ngIf"],[1,"p-button-label"],[3,"ngClass"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(ie,de){1&ie&&(e.j41(0,"div",2,0),e.DNE(2,Ot,4,18,"div",3),e.k0s()),2&ie&&(e.HbH(de.styleClass),e.Y8G("ngClass","p-selectbutton p-buttonset p-component")("ngStyle",de.style),e.BMQ("aria-labelledby",de.ariaLabelledBy)("data-pc-name","selectbutton")("data-pc-section","root"),e.R7$(2),e.Y8G("ngForOf",de.options))},dependencies:[M.YU,M.Sq,M.bT,M.T3,M.B3,ve.n],styles:['@layer primeng{.p-button{margin:0;display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;vertical-align:bottom;text-align:center;overflow:hidden;position:relative}.p-button-label{flex:1 1 auto}.p-button-icon-right{order:1}.p-button:disabled{cursor:default;pointer-events:none}.p-button-icon-only{justify-content:center}.p-button-icon-only:after{content:"p";visibility:hidden;clip:rect(0 0 0 0);width:0}.p-button-vertical{flex-direction:column}.p-button-icon-bottom{order:2}.p-button-group .p-button{margin:0}.p-button-group .p-button:focus,.p-button-group p-button:focus .p-button,.p-buttonset .p-button:focus,.p-buttonset p-button:focus .p-button{position:relative;z-index:1}.p-button-group .p-button:not(:last-child),.p-button-group .p-button:not(:last-child):hover,.p-button-group p-button:not(:last-child) .p-button,.p-button-group p-button:not(:last-child) .p-button:hover,.p-buttonset .p-button:not(:last-child),.p-buttonset .p-button:not(:last-child):hover,.p-buttonset p-button:not(:last-child) .p-button,.p-buttonset p-button:not(:last-child) .p-button:hover{border-right:0 none}.p-button-group .p-button:not(:first-of-type):not(:last-of-type),.p-button-group p-button:not(:first-of-type):not(:last-of-type) .p-button,.p-buttonset .p-button:not(:first-of-type):not(:last-of-type),.p-buttonset p-button:not(:first-of-type):not(:last-of-type) .p-button{border-radius:0}.p-button-group .p-button:first-of-type:not(:only-of-type),.p-button-group p-button:first-of-type:not(:only-of-type) .p-button,.p-buttonset .p-button:first-of-type:not(:only-of-type),.p-buttonset p-button:first-of-type:not(:only-of-type) .p-button{border-top-right-radius:0;border-bottom-right-radius:0}.p-button-group .p-button:last-of-type:not(:only-of-type),.p-button-group p-button:last-of-type:not(:only-of-type) .p-button,.p-buttonset .p-button:last-of-type:not(:only-of-type),.p-buttonset p-button:last-of-type:not(:only-of-type) .p-button{border-top-left-radius:0;border-bottom-left-radius:0}p-button[iconpos=right] spinnericon{order:1}}\n'],encapsulation:2,changeDetection:0})}return ye})(),Ei=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD,ve.Z,Le.Gg,Le.Gg]})}return ye})();const on=(ye,et)=>({"p-checkbox p-component":!0,"p-checkbox-disabled":ye,"p-checkbox-focused":et}),bn=(ye,et,u)=>({"p-highlight":ye,"p-disabled":et,"p-focus":u}),Os=(ye,et,u)=>({"p-checkbox-label-active":ye,"p-disabled":et,"p-checkbox-label-focus":u});function gl(ye,et){if(1&ye&&e.nrm(0,"span",8),2&ye){const u=e.XpG(2);e.Y8G("ngClass",u.checkboxTrueIcon),e.BMQ("data-pc-section","checkIcon")}}function ml(ye,et){1&ye&&e.nrm(0,"CheckIcon",11),2&ye&&(e.Y8G("styleClass","p-checkbox-icon"),e.BMQ("data-pc-section","checkIcon"))}function Ya(ye,et){}function yc(ye,et){1&ye&&e.DNE(0,Ya,0,0,"ng-template")}function Ks(ye,et){if(1&ye&&(e.j41(0,"span",12),e.DNE(1,yc,1,0,null,13),e.k0s()),2&ye){const u=e.XpG(3);e.BMQ("data-pc-section","checkIcon"),e.R7$(),e.Y8G("ngTemplateOutlet",u.checkIconTemplate)}}function dd(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,ml,1,2,"CheckIcon",9)(2,Ks,2,2,"span",10),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.checkIconTemplate),e.R7$(),e.Y8G("ngIf",u.checkIconTemplate)}}function Lh(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,gl,1,2,"span",7)(2,dd,3,2,"ng-container",5),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngIf",u.checkboxTrueIcon),e.R7$(),e.Y8G("ngIf",!u.checkboxTrueIcon)}}function Yu(ye,et){if(1&ye&&e.nrm(0,"span",8),2&ye){const u=e.XpG(2);e.Y8G("ngClass",u.checkboxFalseIcon),e.BMQ("data-pc-section","uncheckIcon")}}function Ef(ye,et){1&ye&&e.nrm(0,"TimesIcon",11),2&ye&&(e.Y8G("styleClass","p-checkbox-icon"),e.BMQ("data-pc-section","uncheckIcon"))}function Xg(ye,et){}function Ts(ye,et){1&ye&&e.DNE(0,Xg,0,0,"ng-template")}function qd(ye,et){if(1&ye&&(e.j41(0,"span",12),e.DNE(1,Ts,1,0,null,13),e.k0s()),2&ye){const u=e.XpG(3);e.BMQ("data-pc-section","uncheckIcon"),e.R7$(),e.Y8G("ngTemplateOutlet",u.uncheckIconTemplate)}}function Ph(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Ef,1,2,"TimesIcon",9)(2,qd,2,2,"span",10),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.uncheckIconTemplate),e.R7$(),e.Y8G("ngIf",u.uncheckIconTemplate)}}function so(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Yu,1,2,"span",7)(2,Ph,3,2,"ng-container",5),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngIf",u.checkboxFalseIcon),e.R7$(),e.Y8G("ngIf",!u.checkboxFalseIcon)}}function Ku(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"label",14),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG(),nt=e.sdS(3);return e.Njj(Ae.onClick(de,nt))}),e.EFF(1),e.k0s()}if(2&ye){const u=e.XpG();e.Y8G("ngClass",e.sMw(3,Os,null!=u.value,u.disabled,u.focused)),e.BMQ("for",u.inputId),e.R7$(),e.JRh(u.label)}}const Rh={provide:V.kq,useExisting:(0,e.Rfq)(()=>Uc),multi:!0};let Uc=(()=>{class ye{cd;constructor(u){this.cd=u}disabled;name;ariaLabel;ariaLabelledBy;tabindex;inputId;style;styleClass;label;readonly;checkboxTrueIcon;checkboxFalseIcon;onChange=new e.bkB;templates;checkIconTemplate;uncheckIconTemplate;focused;value;onModelChange=()=>{};onModelTouched=()=>{};onClick(u,ie){!this.disabled&&!this.readonly&&(this.toggle(u),this.focused=!0,ie.focus())}onKeyDown(u){"Enter"===u.key&&(this.toggle(u),u.preventDefault())}toggle(u){null==this.value||null==this.value?this.value=!0:1==this.value?this.value=!1:0==this.value&&(this.value=null),this.onModelChange(this.value),this.onChange.emit({originalEvent:u,value:this.value})}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"checkicon":this.checkIconTemplate=u.template;break;case"uncheckicon":this.uncheckIconTemplate=u.template}})}onFocus(){this.focused=!0}onBlur(){this.focused=!1,this.onModelTouched()}registerOnChange(u){this.onModelChange=u}registerOnTouched(u){this.onModelTouched=u}writeValue(u){this.value=u,this.cd.markForCheck()}setDisabledState(u){this.disabled=u,this.cd.markForCheck()}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(e.gRc))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-triStateCheckbox"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,4),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.templates=nt)}},hostAttrs:[1,"p-element"],inputs:{disabled:"disabled",name:"name",ariaLabel:"ariaLabel",ariaLabelledBy:"ariaLabelledBy",tabindex:"tabindex",inputId:"inputId",style:"style",styleClass:"styleClass",label:"label",readonly:"readonly",checkboxTrueIcon:"checkboxTrueIcon",checkboxFalseIcon:"checkboxFalseIcon"},outputs:{onChange:"onChange"},features:[e.Jv_([Rh])],decls:8,vars:26,consts:[["input",""],[3,"click","ngStyle","ngClass"],[1,"p-hidden-accessible"],["type","checkbox","inputmode","none",3,"keydown","focus","blur","name","readonly","disabled"],["role","checkbox",1,"p-checkbox-box",3,"ngClass"],[4,"ngIf"],["class","p-checkbox-label",3,"ngClass","click",4,"ngIf"],["class","p-checkbox-icon",3,"ngClass",4,"ngIf"],[1,"p-checkbox-icon",3,"ngClass"],[3,"styleClass",4,"ngIf"],["class","p-checkbox-icon",4,"ngIf"],[3,"styleClass"],[1,"p-checkbox-icon"],[4,"ngTemplateOutlet"],[1,"p-checkbox-label",3,"click","ngClass"]],template:function(ie,de){if(1&ie){const Ae=e.RV6();e.j41(0,"div",1),e.bIt("click",function(kt){e.eBV(Ae);const zt=e.sdS(3);return e.Njj(de.onClick(kt,zt))}),e.j41(1,"div",2)(2,"input",3,0),e.bIt("keydown",function(kt){return e.eBV(Ae),e.Njj(de.onKeyDown(kt))})("focus",function(){return e.eBV(Ae),e.Njj(de.onFocus())})("blur",function(){return e.eBV(Ae),e.Njj(de.onBlur())}),e.k0s()(),e.j41(4,"div",4),e.DNE(5,Lh,3,2,"ng-container",5)(6,so,3,2,"ng-container",5),e.k0s()(),e.DNE(7,Ku,2,7,"label",6)}2&ie&&(e.HbH(de.styleClass),e.Y8G("ngStyle",de.style)("ngClass",e.l_i(19,on,de.disabled,de.focused)),e.BMQ("data-pc-name","tristatecheckbox")("data-pc-section","root"),e.R7$(2),e.Y8G("name",de.name)("readonly",de.readonly)("disabled",de.disabled),e.BMQ("id",de.inputId)("tabindex",de.tabindex)("aria-labelledby",de.ariaLabelledBy)("aria-label",de.ariaLabel)("data-pc-section","hiddenInput"),e.R7$(2),e.Y8G("ngClass",e.sMw(22,bn,null!=de.value,de.disabled,de.focused)),e.BMQ("aria-checked",!0===de.value),e.R7$(),e.Y8G("ngIf",!0===de.value),e.R7$(),e.Y8G("ngIf",!1===de.value),e.R7$(),e.Y8G("ngIf",de.label))},dependencies:()=>[M.YU,M.bT,M.T3,M.B3,As,E.A],encapsulation:2,changeDetection:0})}return ye})(),jo=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD,Le.Gg,As,E.A,Le.Gg]})}return ye})();var Wc=We(21413);const bl=["container"],Af=["resizeHelper"],Ka=["reorderIndicatorUp"],Zu=["reorderIndicatorDown"],If=["wrapper"],Qd=["table"],Nh=["thead"],$c=["tfoot"],Xc=["scroller"],qr=(ye,et,u)=>({"p-datatable p-component":!0,"p-datatable-hoverable-rows":ye,"p-datatable-scrollable":et,"p-datatable-flex-scrollable":u}),Ds=ye=>({maxHeight:ye}),Za=ye=>({height:ye}),nn=(ye,et)=>({$implicit:ye,options:et}),Fh=ye=>({columns:ye}),Of=(ye,et,u)=>({"p-datatable-table":!0,"p-datatable-scrollable-table":ye,"p-datatable-resizable-table":et,"p-datatable-resizable-table-fit":u}),vl=ye=>({$implicit:ye});function ud(ye,et){if(1&ye&&e.nrm(0,"i"),2&ye){const u=e.XpG(2);e.HbH("p-datatable-loading-icon "+u.loadingIcon)}}function Lf(ye,et){1&ye&&e.nrm(0,"SpinnerIcon",25),2&ye&&e.Y8G("spin",!0)("styleClass","p-datatable-loading-icon")}function xc(ye,et){}function qa(ye,et){1&ye&&e.DNE(0,xc,0,0,"ng-template")}function Jd(ye,et){if(1&ye&&(e.j41(0,"span",26),e.DNE(1,qa,1,0,null,27),e.k0s()),2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("ngTemplateOutlet",u.loadingIconTemplate)}}function qu(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Lf,1,2,"SpinnerIcon",23)(2,Jd,2,1,"span",24),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.loadingIconTemplate),e.R7$(),e.Y8G("ngIf",u.loadingIconTemplate)}}function Qu(ye,et){if(1&ye&&(e.j41(0,"div",21),e.DNE(1,ud,1,2,"i",22)(2,qu,3,2,"ng-container",16),e.k0s()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngIf",u.loadingIcon),e.R7$(),e.Y8G("ngIf",!u.loadingIcon)}}function Ju(ye,et){1&ye&&e.eu8(0)}function ep(ye,et){if(1&ye&&(e.j41(0,"div",28),e.DNE(1,Ju,1,0,"ng-container",27),e.k0s()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.captionTemplate)}}function ni(ye,et){1&ye&&e.eu8(0)}function Tn(ye,et){if(1&ye&&e.DNE(0,ni,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorDropdownIconTemplate)}}function _c(ye,et){1&ye&&e.DNE(0,Tn,1,1,"ng-template",30)}function Cc(ye,et){1&ye&&e.eu8(0)}function ds(ye,et){if(1&ye&&e.DNE(0,Cc,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorFirstPageLinkIconTemplate)}}function Yc(ye,et){1&ye&&e.DNE(0,ds,1,1,"ng-template",31)}function sa(ye,et){1&ye&&e.eu8(0)}function ra(ye,et){if(1&ye&&e.DNE(0,sa,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorPreviousPageLinkIconTemplate)}}function eu(ye,et){1&ye&&e.DNE(0,ra,1,1,"ng-template",32)}function tu(ye,et){1&ye&&e.eu8(0)}function Pf(ye,et){if(1&ye&&e.DNE(0,tu,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorLastPageLinkIconTemplate)}}function Yg(ye,et){1&ye&&e.DNE(0,Pf,1,1,"ng-template",33)}function tp(ye,et){1&ye&&e.eu8(0)}function ro(ye,et){if(1&ye&&e.DNE(0,tp,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorNextPageLinkIconTemplate)}}function yl(ye,et){1&ye&&e.DNE(0,ro,1,1,"ng-template",34)}function ip(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"p-paginator",29),e.bIt("onPageChange",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onPageChange(de))}),e.DNE(1,_c,1,0,null,16)(2,Yc,1,0,null,16)(3,eu,1,0,null,16)(4,Yg,1,0,null,16)(5,yl,1,0,null,16),e.k0s()}if(2&ye){const u=e.XpG();e.Y8G("rows",u.rows)("first",u.first)("totalRecords",u.totalRecords)("pageLinkSize",u.pageLinks)("alwaysShow",u.alwaysShowPaginator)("rowsPerPageOptions",u.rowsPerPageOptions)("templateLeft",u.paginatorLeftTemplate)("templateRight",u.paginatorRightTemplate)("dropdownAppendTo",u.paginatorDropdownAppendTo)("dropdownScrollHeight",u.paginatorDropdownScrollHeight)("currentPageReportTemplate",u.currentPageReportTemplate)("showFirstLastIcon",u.showFirstLastIcon)("dropdownItemTemplate",u.paginatorDropdownItemTemplate)("showCurrentPageReport",u.showCurrentPageReport)("showJumpToPageDropdown",u.showJumpToPageDropdown)("showJumpToPageInput",u.showJumpToPageInput)("showPageLinks",u.showPageLinks)("styleClass",u.getPaginatorStyleClasses("p-paginator-top"))("locale",u.paginatorLocale),e.R7$(),e.Y8G("ngIf",u.paginatorDropdownIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorFirstPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorPreviousPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorLastPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorNextPageLinkIconTemplate)}}function Ta(ye,et){1&ye&&e.eu8(0)}function xl(ye,et){if(1&ye&&e.DNE(0,Ta,1,0,"ng-container",37),2&ye){const u=et.$implicit,ie=et.options;e.XpG(2);const de=e.sdS(10);e.Y8G("ngTemplateOutlet",de)("ngTemplateOutletContext",e.l_i(2,nn,u,ie))}}function np(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"p-scroller",35,3),e.bIt("onLazyLoad",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onLazyItemLoad(de))}),e.DNE(2,xl,1,5,"ng-template",36),e.k0s()}if(2&ye){const u=e.XpG();e.Aen(e.eq3(15,Za,"flex"!==u.scrollHeight?u.scrollHeight:void 0)),e.Y8G("items",u.processedData)("columns",u.columns)("scrollHeight","flex"!==u.scrollHeight?void 0:"100%")("itemSize",u.virtualScrollItemSize||u._virtualRowHeight)("step",u.rows)("delay",u.lazy?u.virtualScrollDelay:0)("inline",!0)("lazy",u.lazy)("loaderDisabled",!0)("showSpacer",!1)("showLoader",u.loadingBodyTemplate)("options",u.virtualScrollOptions)("autoSize",!0)}}function sp(ye,et){1&ye&&e.eu8(0)}function Rf(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,sp,1,0,"ng-container",37),e.bVm()),2&ye){const u=e.XpG(),ie=e.sdS(10);e.R7$(),e.Y8G("ngTemplateOutlet",ie)("ngTemplateOutletContext",e.l_i(4,nn,u.processedData,e.eq3(2,Fh,u.columns)))}}function iu(ye,et){1&ye&&e.eu8(0)}function pd(ye,et){1&ye&&e.eu8(0)}function Bh(ye,et){if(1&ye&&e.nrm(0,"tbody",44),2&ye){const u=e.XpG().options,ie=e.XpG();e.Y8G("value",ie.frozenValue)("frozenRows",!0)("pTableBody",u.columns)("pTableBodyTemplate",ie.frozenBodyTemplate)("frozen",!0)}}function oo(ye,et){if(1&ye&&e.nrm(0,"tbody",45),2&ye){const u=e.XpG().options;e.Aen("height: calc("+u.spacerStyle.height+" - "+u.rows.length*u.itemSize+"px);")}}function wc(ye,et){1&ye&&e.eu8(0)}function Nf(ye,et){if(1&ye&&(e.j41(0,"tfoot",46,6),e.DNE(2,wc,1,0,"ng-container",37),e.k0s()),2&ye){const u=e.XpG().options,ie=e.XpG();e.R7$(2),e.Y8G("ngTemplateOutlet",ie.footerGroupedTemplate||ie.footerTemplate)("ngTemplateOutletContext",e.eq3(2,vl,u.columns))}}function _l(ye,et){if(1&ye&&(e.j41(0,"table",38,4),e.DNE(2,iu,1,0,"ng-container",37),e.j41(3,"thead",39,5),e.DNE(5,pd,1,0,"ng-container",37),e.k0s(),e.DNE(6,Bh,1,5,"tbody",40),e.nrm(7,"tbody",41),e.DNE(8,oo,1,2,"tbody",42)(9,Nf,3,4,"tfoot",43),e.k0s()),2&ye){const u=et.options,ie=e.XpG();e.Aen(ie.tableStyle),e.HbH(ie.tableStyleClass),e.Y8G("ngClass",e.sMw(20,Of,ie.scrollable,ie.resizableColumns,ie.resizableColumns&&"fit"===ie.columnResizeMode)),e.BMQ("id",ie.id+"-table"),e.R7$(2),e.Y8G("ngTemplateOutlet",ie.colGroupTemplate)("ngTemplateOutletContext",e.eq3(24,vl,u.columns)),e.R7$(3),e.Y8G("ngTemplateOutlet",ie.headerGroupedTemplate||ie.headerTemplate)("ngTemplateOutletContext",e.eq3(26,vl,u.columns)),e.R7$(),e.Y8G("ngIf",ie.frozenValue||ie.frozenBodyTemplate),e.R7$(),e.Aen(u.contentStyle),e.Y8G("ngClass",u.contentStyleClass)("value",ie.dataToRender(u.rows))("pTableBody",u.columns)("pTableBodyTemplate",ie.bodyTemplate)("scrollerOptions",u),e.R7$(),e.Y8G("ngIf",u.spacerStyle),e.R7$(),e.Y8G("ngIf",ie.footerGroupedTemplate||ie.footerTemplate)}}function ao(ye,et){1&ye&&e.eu8(0)}function rp(ye,et){if(1&ye&&e.DNE(0,ao,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorDropdownIconTemplate)}}function jh(ye,et){1&ye&&e.DNE(0,rp,1,1,"ng-template",30)}function Kc(ye,et){1&ye&&e.eu8(0)}function nu(ye,et){if(1&ye&&e.DNE(0,Kc,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorFirstPageLinkIconTemplate)}}function fd(ye,et){1&ye&&e.DNE(0,nu,1,1,"ng-template",31)}function op(ye,et){1&ye&&e.eu8(0)}function Rr(ye,et){if(1&ye&&e.DNE(0,op,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorPreviousPageLinkIconTemplate)}}function Zc(ye,et){1&ye&&e.DNE(0,Rr,1,1,"ng-template",32)}function Ss(ye,et){1&ye&&e.eu8(0)}function Ff(ye,et){if(1&ye&&e.DNE(0,Ss,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorLastPageLinkIconTemplate)}}function su(ye,et){1&ye&&e.DNE(0,Ff,1,1,"ng-template",33)}function ap(ye,et){1&ye&&e.eu8(0)}function ru(ye,et){if(1&ye&&e.DNE(0,ap,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorNextPageLinkIconTemplate)}}function Vh(ye,et){1&ye&&e.DNE(0,ru,1,1,"ng-template",34)}function qc(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"p-paginator",29),e.bIt("onPageChange",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onPageChange(de))}),e.DNE(1,jh,1,0,null,16)(2,fd,1,0,null,16)(3,Zc,1,0,null,16)(4,su,1,0,null,16)(5,Vh,1,0,null,16),e.k0s()}if(2&ye){const u=e.XpG();e.Y8G("rows",u.rows)("first",u.first)("totalRecords",u.totalRecords)("pageLinkSize",u.pageLinks)("alwaysShow",u.alwaysShowPaginator)("rowsPerPageOptions",u.rowsPerPageOptions)("templateLeft",u.paginatorLeftTemplate)("templateRight",u.paginatorRightTemplate)("dropdownAppendTo",u.paginatorDropdownAppendTo)("dropdownScrollHeight",u.paginatorDropdownScrollHeight)("currentPageReportTemplate",u.currentPageReportTemplate)("showFirstLastIcon",u.showFirstLastIcon)("dropdownItemTemplate",u.paginatorDropdownItemTemplate)("showCurrentPageReport",u.showCurrentPageReport)("showJumpToPageDropdown",u.showJumpToPageDropdown)("showJumpToPageInput",u.showJumpToPageInput)("showPageLinks",u.showPageLinks)("styleClass",u.getPaginatorStyleClasses("p-paginator-bottom"))("locale",u.paginatorLocale),e.R7$(),e.Y8G("ngIf",u.paginatorDropdownIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorFirstPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorPreviousPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorLastPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorNextPageLinkIconTemplate)}}function Qa(ye,et){1&ye&&e.eu8(0)}function Nr(ye,et){if(1&ye&&(e.j41(0,"div",47),e.DNE(1,Qa,1,0,"ng-container",27),e.k0s()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.summaryTemplate)}}function Zl(ye,et){1&ye&&e.nrm(0,"div",48,7)}function Sa(ye,et){1&ye&&e.nrm(0,"ArrowDownIcon")}function oa(ye,et){}function Vo(ye,et){1&ye&&e.DNE(0,oa,0,0,"ng-template")}function zh(ye,et){if(1&ye&&(e.j41(0,"span",49,8),e.DNE(2,Sa,1,0,"ArrowDownIcon",16)(3,Vo,1,0,null,27),e.k0s()),2&ye){const u=e.XpG();e.R7$(2),e.Y8G("ngIf",!u.reorderIndicatorUpIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.reorderIndicatorUpIconTemplate)}}function ou(ye,et){1&ye&&e.nrm(0,"ArrowUpIcon")}function Cl(ye,et){}function lp(ye,et){1&ye&&e.DNE(0,Cl,0,0,"ng-template")}function Tc(ye,et){if(1&ye&&(e.j41(0,"span",50,9),e.DNE(2,ou,1,0,"ArrowUpIcon",16)(3,lp,1,0,null,27),e.k0s()),2&ye){const u=e.XpG();e.R7$(2),e.Y8G("ngIf",!u.reorderIndicatorDownIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.reorderIndicatorDownIconTemplate)}}const Qc=["pTableBody",""],Gh=(ye,et,u,ie,de)=>({$implicit:ye,rowIndex:et,columns:u,editing:ie,frozen:de}),Hh=(ye,et,u,ie,de,Ae,nt)=>({$implicit:ye,rowIndex:et,columns:u,editing:ie,frozen:de,rowgroup:Ae,rowspan:nt}),Jc=(ye,et,u,ie,de,Ae)=>({$implicit:ye,rowIndex:et,columns:u,expanded:ie,editing:de,frozen:Ae}),au=(ye,et,u,ie)=>({$implicit:ye,rowIndex:et,columns:u,frozen:ie}),Uh=(ye,et)=>({$implicit:ye,frozen:et});function cp(ye,et){1&ye&&e.eu8(0)}function Sc(ye,et){if(1&ye&&(e.qex(0,3),e.DNE(1,cp,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ae.dt.groupHeaderTemplate)("ngTemplateOutletContext",e.s1E(2,Gh,ie,Ae.getRowIndex(de),Ae.columns,"row"===Ae.dt.editMode&&Ae.dt.isRowEditing(ie),Ae.frozen))}}function eh(ye,et){1&ye&&e.eu8(0)}function Ja(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,eh,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",ie?Ae.template:Ae.dt.loadingBodyTemplate)("ngTemplateOutletContext",e.s1E(2,Gh,ie,Ae.getRowIndex(de),Ae.columns,"row"===Ae.dt.editMode&&Ae.dt.isRowEditing(ie),Ae.frozen))}}function hp(ye,et){1&ye&&e.eu8(0)}function el(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,hp,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",ie?Ae.template:Ae.dt.loadingBodyTemplate)("ngTemplateOutletContext",e.sGs(2,Hh,ie,Ae.getRowIndex(de),Ae.columns,"row"===Ae.dt.editMode&&Ae.dt.isRowEditing(ie),Ae.frozen,Ae.shouldRenderRowspan(Ae.value,ie,de),Ae.calculateRowGroupSize(Ae.value,ie,de)))}}function Fr(ye,et){1&ye&&e.eu8(0)}function kc(ye,et){if(1&ye&&(e.qex(0,3),e.DNE(1,Fr,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ae.dt.groupFooterTemplate)("ngTemplateOutletContext",e.s1E(2,Gh,ie,Ae.getRowIndex(de),Ae.columns,"row"===Ae.dt.editMode&&Ae.dt.isRowEditing(ie),Ae.frozen))}}function Bf(ye,et){if(1&ye&&e.DNE(0,Sc,2,8,"ng-container",2)(1,Ja,2,8,"ng-container",0)(2,el,2,10,"ng-container",0)(3,kc,2,8,"ng-container",2),2&ye){const u=et.$implicit,ie=et.index,de=e.XpG(2);e.Y8G("ngIf",de.dt.groupHeaderTemplate&&!de.dt.virtualScroll&&"subheader"===de.dt.rowGroupMode&&de.shouldRenderRowGroupHeader(de.value,u,ie)),e.R7$(),e.Y8G("ngIf","rowspan"!==de.dt.rowGroupMode),e.R7$(),e.Y8G("ngIf","rowspan"===de.dt.rowGroupMode),e.R7$(),e.Y8G("ngIf",de.dt.groupFooterTemplate&&!de.dt.virtualScroll&&"subheader"===de.dt.rowGroupMode&&de.shouldRenderRowGroupFooter(de.value,u,ie))}}function th(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Bf,4,4,"ng-template",1),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngForOf",u.value)("ngForTrackBy",u.dt.rowTrackBy)}}function wl(ye,et){1&ye&&e.eu8(0)}function ka(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,wl,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ae.template)("ngTemplateOutletContext",e.l4e(2,Jc,ie,Ae.getRowIndex(de),Ae.columns,Ae.dt.isRowExpanded(ie),"row"===Ae.dt.editMode&&Ae.dt.isRowEditing(ie),Ae.frozen))}}function Br(ye,et){1&ye&&e.eu8(0)}function lu(ye,et){if(1&ye&&(e.qex(0,3),e.DNE(1,Br,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ae.dt.groupHeaderTemplate)("ngTemplateOutletContext",e.l4e(2,Jc,ie,Ae.getRowIndex(de),Ae.columns,Ae.dt.isRowExpanded(ie),"row"===Ae.dt.editMode&&Ae.dt.isRowEditing(ie),Ae.frozen))}}function ih(ye,et){1&ye&&e.eu8(0)}function gd(ye,et){1&ye&&e.eu8(0)}function lo(ye,et){if(1&ye&&(e.qex(0,3),e.DNE(1,gd,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG(2),ie=u.$implicit,de=u.index,Ae=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ae.dt.groupFooterTemplate)("ngTemplateOutletContext",e.l4e(2,Jc,ie,Ae.getRowIndex(de),Ae.columns,Ae.dt.isRowExpanded(ie),"row"===Ae.dt.editMode&&Ae.dt.isRowEditing(ie),Ae.frozen))}}function Wh(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,ih,1,0,"ng-container",4)(2,lo,2,9,"ng-container",2),e.bVm()),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ae.dt.expandedRowTemplate)("ngTemplateOutletContext",e.ziG(3,au,ie,Ae.getRowIndex(de),Ae.columns,Ae.frozen)),e.R7$(),e.Y8G("ngIf",Ae.dt.groupFooterTemplate&&"subheader"===Ae.dt.rowGroupMode&&Ae.shouldRenderRowGroupFooter(Ae.value,ie,Ae.getRowIndex(de)))}}function nh(ye,et){if(1&ye&&e.DNE(0,ka,2,9,"ng-container",0)(1,lu,2,9,"ng-container",2)(2,Wh,3,8,"ng-container",0),2&ye){const u=et.$implicit,ie=et.index,de=e.XpG(2);e.Y8G("ngIf",!de.dt.groupHeaderTemplate),e.R7$(),e.Y8G("ngIf",de.dt.groupHeaderTemplate&&"subheader"===de.dt.rowGroupMode&&de.shouldRenderRowGroupHeader(de.value,u,de.getRowIndex(ie))),e.R7$(),e.Y8G("ngIf",de.dt.isRowExpanded(u))}}function $h(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,nh,3,3,"ng-template",1),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngForOf",u.value)("ngForTrackBy",u.dt.rowTrackBy)}}function md(ye,et){1&ye&&e.eu8(0)}function bd(ye,et){1&ye&&e.eu8(0)}function vd(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,bd,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ae.dt.frozenExpandedRowTemplate)("ngTemplateOutletContext",e.ziG(2,au,ie,Ae.getRowIndex(de),Ae.columns,Ae.frozen))}}function sh(ye,et){if(1&ye&&e.DNE(0,md,1,0,"ng-container",4)(1,vd,2,7,"ng-container",0),2&ye){const u=et.$implicit,ie=et.index,de=e.XpG(2);e.Y8G("ngTemplateOutlet",de.template)("ngTemplateOutletContext",e.l4e(3,Jc,u,de.getRowIndex(ie),de.columns,de.dt.isRowExpanded(u),"row"===de.dt.editMode&&de.dt.isRowEditing(u),de.frozen)),e.R7$(),e.Y8G("ngIf",de.dt.isRowExpanded(u))}}function yd(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,sh,2,10,"ng-template",1),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngForOf",u.value)("ngForTrackBy",u.dt.rowTrackBy)}}function rh(ye,et){1&ye&&e.eu8(0)}function ql(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,rh,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.dt.loadingBodyTemplate)("ngTemplateOutletContext",e.l_i(2,Uh,u.columns,u.frozen))}}function cu(ye,et){1&ye&&e.eu8(0)}function hu(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,cu,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.dt.emptyMessageTemplate)("ngTemplateOutletContext",e.l_i(2,Uh,u.columns,u.frozen))}}function Xh(ye,et){1&ye&&e.nrm(0,"SortAltIcon",4),2&ye&&e.Y8G("styleClass","p-sortable-column-icon")}function Tl(ye,et){1&ye&&e.nrm(0,"SortAmountUpAltIcon",4),2&ye&&e.Y8G("styleClass","p-sortable-column-icon")}function oh(ye,et){1&ye&&e.nrm(0,"SortAmountDownIcon",4),2&ye&&e.Y8G("styleClass","p-sortable-column-icon")}function vr(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Xh,1,1,"SortAltIcon",3)(2,Tl,1,1,"SortAmountUpAltIcon",3)(3,oh,1,1,"SortAmountDownIcon",3),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngIf",0===u.sortOrder),e.R7$(),e.Y8G("ngIf",1===u.sortOrder),e.R7$(),e.Y8G("ngIf",-1===u.sortOrder)}}function jf(ye,et){}function xd(ye,et){1&ye&&e.DNE(0,jf,0,0,"ng-template")}function _d(ye,et){if(1&ye&&(e.j41(0,"span",5),e.DNE(1,xd,1,0,null,6),e.k0s()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.dt.sortIconTemplate)("ngTemplateOutletContext",e.eq3(2,vl,u.sortOrder))}}function aa(ye,et){if(1&ye&&(e.j41(0,"span",7),e.EFF(1),e.k0s()),2&ye){const u=e.XpG();e.R7$(),e.JRh(u.getBadgeValue())}}function du(ye,et){1&ye&&e.eu8(0)}function Ql(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,du,1,0,"ng-container",1),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.inputTemplate)}}function uu(ye,et){1&ye&&e.eu8(0)}function dp(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,uu,1,0,"ng-container",1),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.outputTemplate)}}let Ce=(()=>{class ye{sortSource=new Wc.B;selectionSource=new Wc.B;contextMenuSource=new Wc.B;valueSource=new Wc.B;totalRecordsSource=new Wc.B;columnsSource=new Wc.B;sortSource$=this.sortSource.asObservable();selectionSource$=this.selectionSource.asObservable();contextMenuSource$=this.contextMenuSource.asObservable();valueSource$=this.valueSource.asObservable();totalRecordsSource$=this.totalRecordsSource.asObservable();columnsSource$=this.columnsSource.asObservable();onSort(u){this.sortSource.next(u)}onSelectionChange(){this.selectionSource.next(null)}onContextMenu(u){this.contextMenuSource.next(u)}onValueChange(u){this.valueSource.next(u)}onTotalRecordsChange(u){this.totalRecordsSource.next(u)}onColumnsChange(u){this.columnsSource.next(u)}static \u0275fac=function(ie){return new(ie||ye)};static \u0275prov=e.jDH({token:ye,factory:ye.\u0275fac})}return ye})(),Ne=(()=>{class ye{document;platformId;renderer;el;zone;tableService;cd;filterService;overlayService;config;frozenColumns;frozenValue;style;styleClass;tableStyle;tableStyleClass;paginator;pageLinks=5;rowsPerPageOptions;alwaysShowPaginator=!0;paginatorPosition="bottom";paginatorStyleClass;paginatorDropdownAppendTo;paginatorDropdownScrollHeight="200px";currentPageReportTemplate="{currentPage} of {totalPages}";showCurrentPageReport;showJumpToPageDropdown;showJumpToPageInput;showFirstLastIcon=!0;showPageLinks=!0;defaultSortOrder=1;sortMode="single";resetPageOnSort=!0;selectionMode;selectionPageOnly;contextMenuSelection;contextMenuSelectionChange=new e.bkB;contextMenuSelectionMode="separate";dataKey;metaKeySelection=!1;rowSelectable;rowTrackBy=(u,ie)=>ie;lazy=!1;lazyLoadOnInit=!0;compareSelectionBy="deepEquals";csvSeparator=",";exportFilename="download";filters={};globalFilterFields;filterDelay=300;filterLocale;expandedRowKeys={};editingRowKeys={};rowExpandMode="multiple";scrollable;scrollDirection="vertical";rowGroupMode;scrollHeight;virtualScroll;virtualScrollItemSize;virtualScrollOptions;virtualScrollDelay=250;frozenWidth;get responsive(){return this._responsive}set responsive(u){this._responsive=u,console.warn("responsive property is deprecated as table is always responsive with scrollable behavior.")}_responsive;contextMenu;resizableColumns;columnResizeMode="fit";reorderableColumns;loading;loadingIcon;showLoader=!0;rowHover;customSort;showInitialSortBadge=!0;autoLayout;exportFunction;exportHeader;stateKey;stateStorage="session";editMode="cell";groupRowsBy;groupRowsByOrder=1;responsiveLayout="scroll";breakpoint="640px";paginatorLocale;get value(){return this._value}set value(u){this._value=u}get columns(){return this._columns}set columns(u){this._columns=u}get first(){return this._first}set first(u){this._first=u}get rows(){return this._rows}set rows(u){this._rows=u}get totalRecords(){return this._totalRecords}set totalRecords(u){this._totalRecords=u,this.tableService.onTotalRecordsChange(this._totalRecords)}get sortField(){return this._sortField}set sortField(u){this._sortField=u}get sortOrder(){return this._sortOrder}set sortOrder(u){this._sortOrder=u}get multiSortMeta(){return this._multiSortMeta}set multiSortMeta(u){this._multiSortMeta=u}get selection(){return this._selection}set selection(u){this._selection=u}get selectAll(){return this._selection}set selectAll(u){this._selection=u}selectAllChange=new e.bkB;selectionChange=new e.bkB;onRowSelect=new e.bkB;onRowUnselect=new e.bkB;onPage=new e.bkB;onSort=new e.bkB;onFilter=new e.bkB;onLazyLoad=new e.bkB;onRowExpand=new e.bkB;onRowCollapse=new e.bkB;onContextMenuSelect=new e.bkB;onColResize=new e.bkB;onColReorder=new e.bkB;onRowReorder=new e.bkB;onEditInit=new e.bkB;onEditComplete=new e.bkB;onEditCancel=new e.bkB;onHeaderCheckboxToggle=new e.bkB;sortFunction=new e.bkB;firstChange=new e.bkB;rowsChange=new e.bkB;onStateSave=new e.bkB;onStateRestore=new e.bkB;containerViewChild;resizeHelperViewChild;reorderIndicatorUpViewChild;reorderIndicatorDownViewChild;wrapperViewChild;tableViewChild;tableHeaderViewChild;tableFooterViewChild;scroller;templates;get virtualRowHeight(){return this._virtualRowHeight}set virtualRowHeight(u){this._virtualRowHeight=u,console.warn("The virtualRowHeight property is deprecated.")}_virtualRowHeight=28;_value=[];_columns;_totalRecords=0;_first=0;_rows;filteredValue;headerTemplate;headerGroupedTemplate;bodyTemplate;loadingBodyTemplate;captionTemplate;footerTemplate;footerGroupedTemplate;summaryTemplate;colGroupTemplate;expandedRowTemplate;groupHeaderTemplate;groupFooterTemplate;frozenExpandedRowTemplate;frozenHeaderTemplate;frozenBodyTemplate;frozenFooterTemplate;frozenColGroupTemplate;emptyMessageTemplate;paginatorLeftTemplate;paginatorRightTemplate;paginatorDropdownItemTemplate;loadingIconTemplate;reorderIndicatorUpIconTemplate;reorderIndicatorDownIconTemplate;sortIconTemplate;checkboxIconTemplate;headerCheckboxIconTemplate;paginatorDropdownIconTemplate;paginatorFirstPageLinkIconTemplate;paginatorLastPageLinkIconTemplate;paginatorPreviousPageLinkIconTemplate;paginatorNextPageLinkIconTemplate;selectionKeys={};lastResizerHelperX;reorderIconWidth;reorderIconHeight;draggedColumn;draggedRowIndex;droppedRowIndex;rowDragging;dropPosition;editingCell;editingCellData;editingCellField;editingCellRowIndex;selfClick;documentEditListener;_multiSortMeta;_sortField;_sortOrder=1;preventSelectionSetterPropagation;_selection;_selectAll=null;anchorRowIndex;rangeRowIndex;filterTimeout;initialized;rowTouched;restoringSort;restoringFilter;stateRestored;columnOrderStateRestored;columnWidthsState;tableWidthState;overlaySubscription;resizeColumnElement;columnResizing=!1;rowGroupHeaderStyleObject={};id=(0,le._Y)();styleElement;responsiveStyleElement;window;constructor(u,ie,de,Ae,nt,kt,zt,ai,oi,Li){this.document=u,this.platformId=ie,this.renderer=de,this.el=Ae,this.zone=nt,this.tableService=kt,this.cd=zt,this.filterService=ai,this.overlayService=oi,this.config=Li,this.window=this.document.defaultView}ngOnInit(){this.lazy&&this.lazyLoadOnInit&&(this.virtualScroll||this.onLazyLoad.emit(this.createLazyLoadMetadata()),this.restoringFilter&&(this.restoringFilter=!1)),"stack"===this.responsiveLayout&&this.createResponsiveStyle(),this.initialized=!0}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"caption":this.captionTemplate=u.template;break;case"header":this.headerTemplate=u.template;break;case"headergrouped":this.headerGroupedTemplate=u.template;break;case"body":this.bodyTemplate=u.template;break;case"loadingbody":this.loadingBodyTemplate=u.template;break;case"footer":this.footerTemplate=u.template;break;case"footergrouped":this.footerGroupedTemplate=u.template;break;case"summary":this.summaryTemplate=u.template;break;case"colgroup":this.colGroupTemplate=u.template;break;case"rowexpansion":this.expandedRowTemplate=u.template;break;case"groupheader":this.groupHeaderTemplate=u.template;break;case"groupfooter":this.groupFooterTemplate=u.template;break;case"frozenheader":this.frozenHeaderTemplate=u.template;break;case"frozenbody":this.frozenBodyTemplate=u.template;break;case"frozenfooter":this.frozenFooterTemplate=u.template;break;case"frozencolgroup":this.frozenColGroupTemplate=u.template;break;case"frozenrowexpansion":this.frozenExpandedRowTemplate=u.template;break;case"emptymessage":this.emptyMessageTemplate=u.template;break;case"paginatorleft":this.paginatorLeftTemplate=u.template;break;case"paginatorright":this.paginatorRightTemplate=u.template;break;case"paginatordropdownicon":this.paginatorDropdownIconTemplate=u.template;break;case"paginatordropdownitem":this.paginatorDropdownItemTemplate=u.template;break;case"paginatorfirstpagelinkicon":this.paginatorFirstPageLinkIconTemplate=u.template;break;case"paginatorlastpagelinkicon":this.paginatorLastPageLinkIconTemplate=u.template;break;case"paginatorpreviouspagelinkicon":this.paginatorPreviousPageLinkIconTemplate=u.template;break;case"paginatornextpagelinkicon":this.paginatorNextPageLinkIconTemplate=u.template;break;case"loadingicon":this.loadingIconTemplate=u.template;break;case"reorderindicatorupicon":this.reorderIndicatorUpIconTemplate=u.template;break;case"reorderindicatordownicon":this.reorderIndicatorDownIconTemplate=u.template;break;case"sorticon":this.sortIconTemplate=u.template;break;case"checkboxicon":this.checkboxIconTemplate=u.template;break;case"headercheckboxicon":this.headerCheckboxIconTemplate=u.template}})}ngAfterViewInit(){(0,M.UE)(this.platformId)&&this.isStateful()&&this.resizableColumns&&this.restoreColumnWidths()}ngOnChanges(u){u.value&&(this.isStateful()&&!this.stateRestored&&(0,M.UE)(this.platformId)&&this.restoreState(),this._value=u.value.currentValue,this.lazy||(this.totalRecords=this._value?this._value.length:0,"single"==this.sortMode&&(this.sortField||this.groupRowsBy)?this.sortSingle():"multiple"==this.sortMode&&(this.multiSortMeta||this.groupRowsBy)?this.sortMultiple():this.hasFilter()&&this._filter()),this.tableService.onValueChange(u.value.currentValue)),u.columns&&(this.isStateful()||(this._columns=u.columns.currentValue,this.tableService.onColumnsChange(u.columns.currentValue)),this._columns&&this.isStateful()&&this.reorderableColumns&&!this.columnOrderStateRestored&&(this.restoreColumnOrder(),this.tableService.onColumnsChange(this._columns))),u.sortField&&(this._sortField=u.sortField.currentValue,(!this.lazy||this.initialized)&&"single"===this.sortMode&&this.sortSingle()),u.groupRowsBy&&(!this.lazy||this.initialized)&&"single"===this.sortMode&&this.sortSingle(),u.sortOrder&&(this._sortOrder=u.sortOrder.currentValue,(!this.lazy||this.initialized)&&"single"===this.sortMode&&this.sortSingle()),u.groupRowsByOrder&&(!this.lazy||this.initialized)&&"single"===this.sortMode&&this.sortSingle(),u.multiSortMeta&&(this._multiSortMeta=u.multiSortMeta.currentValue,"multiple"===this.sortMode&&(this.initialized||!this.lazy&&!this.virtualScroll)&&this.sortMultiple()),u.selection&&(this._selection=u.selection.currentValue,this.preventSelectionSetterPropagation||(this.updateSelectionKeys(),this.tableService.onSelectionChange()),this.preventSelectionSetterPropagation=!1),u.selectAll&&(this._selectAll=u.selectAll.currentValue,this.preventSelectionSetterPropagation||(this.updateSelectionKeys(),this.tableService.onSelectionChange(),this.isStateful()&&this.saveState()),this.preventSelectionSetterPropagation=!1)}get processedData(){return this.filteredValue||this.value||[]}_initialColWidths;dataToRender(u){const ie=u||this.processedData;if(ie&&this.paginator){const de=this.lazy?0:this.first;return ie.slice(de,de+this.rows)}return ie}updateSelectionKeys(){if(this.dataKey&&this._selection)if(this.selectionKeys={},Array.isArray(this._selection))for(let u of this._selection)this.selectionKeys[String(le.BF.resolveFieldData(u,this.dataKey))]=1;else this.selectionKeys[String(le.BF.resolveFieldData(this._selection,this.dataKey))]=1}onPageChange(u){this.first=u.first,this.rows=u.rows,this.onPage.emit({first:this.first,rows:this.rows}),this.lazy&&this.onLazyLoad.emit(this.createLazyLoadMetadata()),this.firstChange.emit(this.first),this.rowsChange.emit(this.rows),this.tableService.onValueChange(this.value),this.isStateful()&&this.saveState(),this.anchorRowIndex=null,this.scrollable&&this.resetScrollTop()}sort(u){let ie=u.originalEvent;if("single"===this.sortMode&&(this._sortOrder=this.sortField===u.field?-1*this.sortOrder:this.defaultSortOrder,this._sortField=u.field,this.resetPageOnSort&&(this._first=0,this.firstChange.emit(this._first),this.scrollable&&this.resetScrollTop()),this.sortSingle()),"multiple"===this.sortMode){let de=ie.metaKey||ie.ctrlKey,Ae=this.getSortMeta(u.field);Ae?de?Ae.order=-1*Ae.order:(this._multiSortMeta=[{field:u.field,order:-1*Ae.order}],this.resetPageOnSort&&(this._first=0,this.firstChange.emit(this._first),this.scrollable&&this.resetScrollTop())):((!de||!this.multiSortMeta)&&(this._multiSortMeta=[],this.resetPageOnSort&&(this._first=0,this.firstChange.emit(this._first))),this._multiSortMeta.push({field:u.field,order:this.defaultSortOrder})),this.sortMultiple()}this.isStateful()&&this.saveState(),this.anchorRowIndex=null}sortSingle(){let u=this.sortField||this.groupRowsBy,ie=this.sortField?this.sortOrder:this.groupRowsByOrder;if(this.groupRowsBy&&this.sortField&&this.groupRowsBy!==this.sortField)return this._multiSortMeta=[this.getGroupRowsMeta(),{field:this.sortField,order:this.sortOrder}],void this.sortMultiple();if(u&&ie){this.restoringSort&&(this.restoringSort=!1),this.lazy?this.onLazyLoad.emit(this.createLazyLoadMetadata()):this.value&&(this.customSort?this.sortFunction.emit({data:this.value,mode:this.sortMode,field:u,order:ie}):(this.value.sort((Ae,nt)=>{let kt=le.BF.resolveFieldData(Ae,u),zt=le.BF.resolveFieldData(nt,u),ai=null;return ai=null==kt&&null!=zt?-1:null!=kt&&null==zt?1:null==kt&&null==zt?0:"string"==typeof kt&&"string"==typeof zt?kt.localeCompare(zt):ktzt?1:0,ie*ai}),this._value=[...this.value]),this.hasFilter()&&this._filter());let de={field:u,order:ie};this.onSort.emit(de),this.tableService.onSort(de)}}sortMultiple(){this.groupRowsBy&&(this._multiSortMeta?this.multiSortMeta[0].field!==this.groupRowsBy&&(this._multiSortMeta=[this.getGroupRowsMeta(),...this._multiSortMeta]):this._multiSortMeta=[this.getGroupRowsMeta()]),this.multiSortMeta&&(this.lazy?this.onLazyLoad.emit(this.createLazyLoadMetadata()):this.value&&(this.customSort?this.sortFunction.emit({data:this.value,mode:this.sortMode,multiSortMeta:this.multiSortMeta}):(this.value.sort((u,ie)=>this.multisortField(u,ie,this.multiSortMeta,0)),this._value=[...this.value]),this.hasFilter()&&this._filter()),this.onSort.emit({multisortmeta:this.multiSortMeta}),this.tableService.onSort(this.multiSortMeta))}multisortField(u,ie,de,Ae){const nt=le.BF.resolveFieldData(u,de[Ae].field),kt=le.BF.resolveFieldData(ie,de[Ae].field);return 0===le.BF.compare(nt,kt,this.filterLocale)?de.length-1>Ae?this.multisortField(u,ie,de,Ae+1):0:this.compareValuesOnSort(nt,kt,de[Ae].order)}compareValuesOnSort(u,ie,de){return le.BF.sort(u,ie,de,this.filterLocale,this.sortOrder)}getSortMeta(u){if(this.multiSortMeta&&this.multiSortMeta.length)for(let ie=0;ieJi!=Yi),this.selectionChange.emit(this.selection),oi&&delete this.selectionKeys[oi]}this.onRowUnselect.emit({originalEvent:u.originalEvent,data:nt,type:"row"})}else this.isSingleSelectionMode()?(this._selection=nt,this.selectionChange.emit(nt),oi&&(this.selectionKeys={},this.selectionKeys[oi]=1)):this.isMultipleSelectionMode()&&(Li?this._selection=this.selection||[]:(this._selection=[],this.selectionKeys={}),this._selection=[...this.selection,nt],this.selectionChange.emit(this.selection),oi&&(this.selectionKeys[oi]=1)),this.onRowSelect.emit({originalEvent:u.originalEvent,data:nt,type:"row",index:kt})}else if("single"===this.selectionMode)zt?(this._selection=null,this.selectionKeys={},this.selectionChange.emit(this.selection),this.onRowUnselect.emit({originalEvent:u.originalEvent,data:nt,type:"row",index:kt})):(this._selection=nt,this.selectionChange.emit(this.selection),this.onRowSelect.emit({originalEvent:u.originalEvent,data:nt,type:"row",index:kt}),oi&&(this.selectionKeys={},this.selectionKeys[oi]=1));else if("multiple"===this.selectionMode)if(zt){let Li=this.findIndexInSelection(nt);this._selection=this.selection.filter((Yi,Xi)=>Xi!=Li),this.selectionChange.emit(this.selection),this.onRowUnselect.emit({originalEvent:u.originalEvent,data:nt,type:"row",index:kt}),oi&&delete this.selectionKeys[oi]}else this._selection=this.selection?[...this.selection,nt]:[nt],this.selectionChange.emit(this.selection),this.onRowSelect.emit({originalEvent:u.originalEvent,data:nt,type:"row",index:kt}),oi&&(this.selectionKeys[oi]=1)}this.tableService.onSelectionChange(),this.isStateful()&&this.saveState()}this.rowTouched=!1}}handleRowTouchEnd(u){this.rowTouched=!0}handleRowRightClick(u){if(this.contextMenu){const ie=u.rowData,de=u.rowIndex;if("separate"===this.contextMenuSelectionMode)this.contextMenuSelection=ie,this.contextMenuSelectionChange.emit(ie),this.onContextMenuSelect.emit({originalEvent:u.originalEvent,data:ie,index:u.rowIndex}),this.contextMenu.show(u.originalEvent),this.tableService.onContextMenu(ie);else if("joint"===this.contextMenuSelectionMode){this.preventSelectionSetterPropagation=!0;let Ae=this.isSelected(ie),nt=this.dataKey?String(le.BF.resolveFieldData(ie,this.dataKey)):null;if(!Ae){if(!this.isRowSelectable(ie,de))return;this.isSingleSelectionMode()?(this.selection=ie,this.selectionChange.emit(ie),nt&&(this.selectionKeys={},this.selectionKeys[nt]=1)):this.isMultipleSelectionMode()&&(this._selection=this.selection?[...this.selection,ie]:[ie],this.selectionChange.emit(this.selection),nt&&(this.selectionKeys[nt]=1))}this.tableService.onSelectionChange(),this.contextMenu.show(u.originalEvent),this.onContextMenuSelect.emit({originalEvent:u,data:ie,index:u.rowIndex})}}}selectRange(u,ie){let de,Ae;this.anchorRowIndex>ie?(de=ie,Ae=this.anchorRowIndex):this.anchorRowIndexnt?(ie=this.anchorRowIndex,de=this.rangeRowIndex):AeYi!=ai);let oi=this.dataKey?String(le.BF.resolveFieldData(zt,this.dataKey)):null;oi&&delete this.selectionKeys[oi],this.onRowUnselect.emit({originalEvent:u,data:zt,type:"row"})}}isSelected(u){return!(!u||!this.selection)&&(this.dataKey?void 0!==this.selectionKeys[le.BF.resolveFieldData(u,this.dataKey)]:Array.isArray(this.selection)?this.findIndexInSelection(u)>-1:this.equals(u,this.selection))}findIndexInSelection(u){let ie=-1;if(this.selection&&this.selection.length)for(let de=0;dezt!=nt),this.selectionChange.emit(this.selection),this.onRowUnselect.emit({originalEvent:u.originalEvent,index:u.rowIndex,data:ie,type:"checkbox"}),Ae&&delete this.selectionKeys[Ae]}else{if(!this.isRowSelectable(ie,u.rowIndex))return;this._selection=this.selection?[...this.selection,ie]:[ie],this.selectionChange.emit(this.selection),this.onRowSelect.emit({originalEvent:u.originalEvent,index:u.rowIndex,data:ie,type:"checkbox"}),Ae&&(this.selectionKeys[Ae]=1)}this.tableService.onSelectionChange(),this.isStateful()&&this.saveState()}toggleRowsWithCheckbox(u,ie){if(null!==this._selectAll)this.selectAllChange.emit({originalEvent:u,checked:ie});else{const de=this.selectionPageOnly?this.dataToRender(this.processedData):this.processedData;let Ae=this.selectionPageOnly&&this._selection?this._selection.filter(nt=>!de.some(kt=>this.equals(nt,kt))):[];ie&&(Ae=this.frozenValue?[...Ae,...this.frozenValue,...de]:[...Ae,...de],Ae=this.rowSelectable?Ae.filter((nt,kt)=>this.rowSelectable({data:nt,index:kt})):Ae),this._selection=Ae,this.preventSelectionSetterPropagation=!0,this.updateSelectionKeys(),this.selectionChange.emit(this._selection),this.tableService.onSelectionChange(),this.onHeaderCheckboxToggle.emit({originalEvent:u,checked:ie}),this.isStateful()&&this.saveState()}}equals(u,ie){return"equals"===this.compareSelectionBy?u===ie:le.BF.equals(u,ie,this.dataKey)}filter(u,ie,de){this.filterTimeout&&clearTimeout(this.filterTimeout),this.isFilterBlank(u)?this.filters[ie]&&delete this.filters[ie]:this.filters[ie]={value:u,matchMode:de},this.filterTimeout=setTimeout(()=>{this._filter(),this.filterTimeout=null},this.filterDelay),this.anchorRowIndex=null}filterGlobal(u,ie){this.filter(u,"global",ie)}isFilterBlank(u){return null==u||!!("string"==typeof u&&0==u.trim().length||Array.isArray(u)&&0==u.length)}_filter(){if(this.restoringFilter||(this.first=0,this.firstChange.emit(this.first)),this.lazy)this.onLazyLoad.emit(this.createLazyLoadMetadata());else{if(!this.value)return;if(this.hasFilter()){let u;if(this.filters.global){if(!this.columns&&!this.globalFilterFields)throw new Error("Global filtering requires dynamic columns or globalFilterFields to be defined.");u=this.globalFilterFields||this.columns}this.filteredValue=[];for(let ie=0;iethis.cd.detectChanges()}}clear(){this._sortField=null,this._sortOrder=this.defaultSortOrder,this._multiSortMeta=null,this.tableService.onSort(null),this.clearFilterValues(),this.filteredValue=null,this.first=0,this.firstChange.emit(this.first),this.lazy?this.onLazyLoad.emit(this.createLazyLoadMetadata()):this.totalRecords=this._value?this._value.length:0}clearFilterValues(){for(const[,u]of Object.entries(this.filters))if(Array.isArray(u))for(let ie of u)ie.value=null;else u&&(u.value=null)}reset(){this.clear()}getExportHeader(u){return u[this.exportHeader]||u.header||u.field}exportCSV(u){let ie,de="",Ae=this.columns;u&&u.selectionOnly?ie=this.selection||[]:u&&u.allValues?ie=this.value||[]:(ie=this.filteredValue||this.value,this.frozenValue&&(ie=ie?[...this.frozenValue,...ie]:this.frozenValue));const nt=Ae.filter(oi=>!1!==oi.exportable&&oi.field);de+=nt.map(oi=>'"'+this.getExportHeader(oi)+'"').join(this.csvSeparator);const kt=ie.map(oi=>nt.map(Li=>{let Yi=le.BF.resolveFieldData(oi,Li.field);return Yi=null!=Yi?this.exportFunction?this.exportFunction({data:Yi,field:Li.field}):String(Yi).replace(/"/g,'""'):"",'"'+Yi+'"'}).join(this.csvSeparator)).join("\n");kt.length&&(de+="\n"+kt);let zt=new Blob([new Uint8Array([239,187,191]),de],{type:"text/csv;charset=utf-8;"}),ai=this.renderer.createElement("a");ai.style.display="none",this.renderer.appendChild(this.document.body,ai),void 0!==ai.download?(ai.setAttribute("href",URL.createObjectURL(zt)),ai.setAttribute("download",this.exportFilename+".csv"),ai.click()):(de="data:text/csv;charset=utf-8,"+de,this.window.open(encodeURI(de))),this.renderer.removeChild(this.document.body,ai)}onLazyItemLoad(u){this.onLazyLoad.emit({...this.createLazyLoadMetadata(),...u,rows:u.last-u.first})}resetScrollTop(){this.virtualScroll?this.scrollToVirtualIndex(0):this.scrollTo({top:0})}scrollToVirtualIndex(u){this.scroller&&this.scroller.scrollToIndex(u)}scrollTo(u){this.virtualScroll?this.scroller?.scrollTo(u):this.wrapperViewChild&&this.wrapperViewChild.nativeElement&&(this.wrapperViewChild.nativeElement.scrollTo?this.wrapperViewChild.nativeElement.scrollTo(u):(this.wrapperViewChild.nativeElement.scrollLeft=u.left,this.wrapperViewChild.nativeElement.scrollTop=u.top))}updateEditingCell(u,ie,de,Ae){this.editingCell=u,this.editingCellData=ie,this.editingCellField=de,this.editingCellRowIndex=Ae,this.bindDocumentEditListener()}isEditingCellValid(){return this.editingCell&&0===re.D.find(this.editingCell,".ng-invalid.ng-dirty").length}bindDocumentEditListener(){this.documentEditListener||(this.documentEditListener=this.renderer.listen(this.document,"click",u=>{this.editingCell&&!this.selfClick&&this.isEditingCellValid()&&(re.D.removeClass(this.editingCell,"p-cell-editing"),this.editingCell=null,this.onEditComplete.emit({field:this.editingCellField,data:this.editingCellData,originalEvent:u,index:this.editingCellRowIndex}),this.editingCellField=null,this.editingCellData=null,this.editingCellRowIndex=null,this.unbindDocumentEditListener(),this.cd.markForCheck(),this.overlaySubscription&&this.overlaySubscription.unsubscribe()),this.selfClick=!1}))}unbindDocumentEditListener(){this.documentEditListener&&(this.documentEditListener(),this.documentEditListener=null)}initRowEdit(u){let ie=String(le.BF.resolveFieldData(u,this.dataKey));this.editingRowKeys[ie]=!0}saveRowEdit(u,ie){if(0===re.D.find(ie,".ng-invalid.ng-dirty").length){let de=String(le.BF.resolveFieldData(u,this.dataKey));delete this.editingRowKeys[de]}}cancelRowEdit(u){let ie=String(le.BF.resolveFieldData(u,this.dataKey));delete this.editingRowKeys[ie]}toggleRow(u,ie){if(!this.dataKey)throw new Error("dataKey must be defined to use row expansion");let de=String(le.BF.resolveFieldData(u,this.dataKey));null!=this.expandedRowKeys[de]?(delete this.expandedRowKeys[de],this.onRowCollapse.emit({originalEvent:ie,data:u})):("single"===this.rowExpandMode&&(this.expandedRowKeys={}),this.expandedRowKeys[de]=!0,this.onRowExpand.emit({originalEvent:ie,data:u})),ie&&ie.preventDefault(),this.isStateful()&&this.saveState()}isRowExpanded(u){return!0===this.expandedRowKeys[String(le.BF.resolveFieldData(u,this.dataKey))]}isRowEditing(u){return!0===this.editingRowKeys[String(le.BF.resolveFieldData(u,this.dataKey))]}isSingleSelectionMode(){return"single"===this.selectionMode}isMultipleSelectionMode(){return"multiple"===this.selectionMode}onColumnResizeBegin(u){let ie=re.D.getOffset(this.containerViewChild?.nativeElement).left;this.resizeColumnElement=u.target.parentElement,this.columnResizing=!0,this.lastResizerHelperX=u.pageX-ie+this.containerViewChild?.nativeElement.scrollLeft,this.onColumnResize(u),u.preventDefault()}onColumnResize(u){let ie=re.D.getOffset(this.containerViewChild?.nativeElement).left;re.D.addClass(this.containerViewChild?.nativeElement,"p-unselectable-text"),this.resizeHelperViewChild.nativeElement.style.height=this.containerViewChild?.nativeElement.offsetHeight+"px",this.resizeHelperViewChild.nativeElement.style.top="0px",this.resizeHelperViewChild.nativeElement.style.left=u.pageX-ie+this.containerViewChild?.nativeElement.scrollLeft+"px",this.resizeHelperViewChild.nativeElement.style.display="block"}onColumnResizeEnd(){let u=this.resizeHelperViewChild?.nativeElement.offsetLeft-this.lastResizerHelperX,de=this.resizeColumnElement.offsetWidth+u;if(de>=(this.resizeColumnElement.style.minWidth.replace(/[^\d.]/g,"")||15)){if("fit"===this.columnResizeMode){let kt=this.resizeColumnElement.nextElementSibling.offsetWidth-u;de>15&&kt>15&&this.resizeTableCells(de,kt)}else"expand"===this.columnResizeMode&&(this._initialColWidths=this._totalTableWidth(),this.setResizeTableWidth(this.tableViewChild?.nativeElement.offsetWidth+u+"px"),this.resizeTableCells(de,null));this.onColResize.emit({element:this.resizeColumnElement,delta:u}),this.isStateful()&&this.saveState()}this.resizeHelperViewChild.nativeElement.style.display="none",re.D.removeClass(this.containerViewChild?.nativeElement,"p-unselectable-text")}_totalTableWidth(){let u=[];const ie=re.D.findSingle(this.containerViewChild.nativeElement,".p-datatable-thead");return re.D.find(ie,"tr > th").forEach(Ae=>u.push(re.D.getOuterWidth(Ae))),u}onColumnDragStart(u,ie){this.reorderIconWidth=re.D.getHiddenElementOuterWidth(this.reorderIndicatorUpViewChild?.nativeElement),this.reorderIconHeight=re.D.getHiddenElementOuterHeight(this.reorderIndicatorDownViewChild?.nativeElement),this.draggedColumn=ie,u.dataTransfer.setData("text","b")}onColumnDragEnter(u,ie){if(this.reorderableColumns&&this.draggedColumn&&ie){u.preventDefault();let de=re.D.getOffset(this.containerViewChild?.nativeElement),Ae=re.D.getOffset(ie);if(this.draggedColumn!=ie){re.D.indexWithinGroup(this.draggedColumn,"preorderablecolumn"),re.D.indexWithinGroup(ie,"preorderablecolumn");let zt=Ae.left-de.left,oi=Ae.left+ie.offsetWidth/2;this.reorderIndicatorUpViewChild.nativeElement.style.top=Ae.top-de.top-(this.reorderIconHeight-1)+"px",this.reorderIndicatorDownViewChild.nativeElement.style.top=Ae.top-de.top+ie.offsetHeight+"px",u.pageX>oi?(this.reorderIndicatorUpViewChild.nativeElement.style.left=zt+ie.offsetWidth-Math.ceil(this.reorderIconWidth/2)+"px",this.reorderIndicatorDownViewChild.nativeElement.style.left=zt+ie.offsetWidth-Math.ceil(this.reorderIconWidth/2)+"px",this.dropPosition=1):(this.reorderIndicatorUpViewChild.nativeElement.style.left=zt-Math.ceil(this.reorderIconWidth/2)+"px",this.reorderIndicatorDownViewChild.nativeElement.style.left=zt-Math.ceil(this.reorderIconWidth/2)+"px",this.dropPosition=-1),this.reorderIndicatorUpViewChild.nativeElement.style.display="block",this.reorderIndicatorDownViewChild.nativeElement.style.display="block"}else u.dataTransfer.dropEffect="none"}}onColumnDragLeave(u){this.reorderableColumns&&this.draggedColumn&&u.preventDefault()}onColumnDrop(u,ie){if(u.preventDefault(),this.draggedColumn){let de=re.D.indexWithinGroup(this.draggedColumn,"preorderablecolumn"),Ae=re.D.indexWithinGroup(ie,"preorderablecolumn"),nt=de!=Ae;if(nt&&(Ae-de==1&&-1===this.dropPosition||de-Ae==1&&1===this.dropPosition)&&(nt=!1),nt&&Aede&&-1===this.dropPosition&&(Ae-=1),nt&&(le.BF.reorderArray(this.columns,de,Ae),this.onColReorder.emit({dragIndex:de,dropIndex:Ae,columns:this.columns}),this.isStateful()&&this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.saveState()})})),this.resizableColumns&&this.resizeColumnElement){let kt="expand"===this.columnResizeMode?this._initialColWidths:this._totalTableWidth();le.BF.reorderArray(kt,de+1,Ae+1),this.updateStyleElement(kt,de,null,null)}this.reorderIndicatorUpViewChild.nativeElement.style.display="none",this.reorderIndicatorDownViewChild.nativeElement.style.display="none",this.draggedColumn.draggable=!1,this.draggedColumn=null,this.dropPosition=null}}resizeTableCells(u,ie){let de=re.D.index(this.resizeColumnElement),Ae="expand"===this.columnResizeMode?this._initialColWidths:this._totalTableWidth();this.updateStyleElement(Ae,de,u,ie)}updateStyleElement(u,ie,de,Ae){this.destroyStyleElement(),this.createStyleElement();let nt="";u.forEach((kt,zt)=>{let ai=zt===ie?de:Ae&&zt===ie+1?Ae:kt;nt+=`\n #${this.id}-table > .p-datatable-thead > tr > th:nth-child(${zt+1}),\n #${this.id}-table > .p-datatable-tbody > tr > td:nth-child(${zt+1}),\n #${this.id}-table > .p-datatable-tfoot > tr > td:nth-child(${zt+1}) {\n width: ${ai}px !important; max-width: ${ai}px !important;\n }\n `}),this.renderer.setProperty(this.styleElement,"innerHTML",nt)}onRowDragStart(u,ie){this.rowDragging=!0,this.draggedRowIndex=ie,u.dataTransfer.setData("text","b")}onRowDragOver(u,ie,de){if(this.rowDragging&&this.draggedRowIndex!==ie){let Ae=re.D.getOffset(de).top,nt=u.pageY,kt=Ae+re.D.getOuterHeight(de)/2,zt=de.previousElementSibling;ntthis.droppedRowIndex?this.droppedRowIndex:0===this.droppedRowIndex?0:this.droppedRowIndex-1;le.BF.reorderArray(this.value,this.draggedRowIndex,de),this.virtualScroll&&(this._value=[...this._value]),this.onRowReorder.emit({dragIndex:this.draggedRowIndex,dropIndex:de})}this.onRowDragLeave(u,ie),this.onRowDragEnd(u)}isEmpty(){let u=this.filteredValue||this.value;return null==u||0==u.length}getBlockableElement(){return this.el.nativeElement.children[0]}getStorage(){if(!(0,M.UE)(this.platformId))throw new Error("Browser storage is not available in the server side.");switch(this.stateStorage){case"local":return window.localStorage;case"session":return window.sessionStorage;default:throw new Error(this.stateStorage+' is not a valid value for the state storage, supported values are "local" and "session".')}}isStateful(){return null!=this.stateKey}saveState(){const u=this.getStorage();let ie={};this.paginator&&(ie.first=this.first,ie.rows=this.rows),this.sortField&&(ie.sortField=this.sortField,ie.sortOrder=this.sortOrder),this.multiSortMeta&&(ie.multiSortMeta=this.multiSortMeta),this.hasFilter()&&(ie.filters=this.filters),this.resizableColumns&&this.saveColumnWidths(ie),this.reorderableColumns&&this.saveColumnOrder(ie),this.selection&&(ie.selection=this.selection),Object.keys(this.expandedRowKeys).length&&(ie.expandedRowKeys=this.expandedRowKeys),u.setItem(this.stateKey,JSON.stringify(ie)),this.onStateSave.emit(ie)}clearState(){const u=this.getStorage();this.stateKey&&u.removeItem(this.stateKey)}restoreState(){const ie=this.getStorage().getItem(this.stateKey),de=/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/;if(ie){let nt=JSON.parse(ie,function(nt,kt){return"string"==typeof kt&&de.test(kt)?new Date(kt):kt});this.paginator&&(void 0!==this.first&&(this.first=nt.first,this.firstChange.emit(this.first)),void 0!==this.rows&&(this.rows=nt.rows,this.rowsChange.emit(this.rows))),nt.sortField&&(this.restoringSort=!0,this._sortField=nt.sortField,this._sortOrder=nt.sortOrder),nt.multiSortMeta&&(this.restoringSort=!0,this._multiSortMeta=nt.multiSortMeta),nt.filters&&(this.restoringFilter=!0,this.filters=nt.filters),this.resizableColumns&&(this.columnWidthsState=nt.columnWidths,this.tableWidthState=nt.tableWidth),this.reorderableColumns&&this.restoreColumnOrder(),nt.expandedRowKeys&&(this.expandedRowKeys=nt.expandedRowKeys),nt.selection&&Promise.resolve(null).then(()=>this.selectionChange.emit(nt.selection)),this.stateRestored=!0,this.onStateRestore.emit(nt)}}saveColumnWidths(u){let ie=[];re.D.find(this.containerViewChild?.nativeElement,".p-datatable-thead > tr > th").forEach(Ae=>ie.push(re.D.getOuterWidth(Ae))),u.columnWidths=ie.join(","),"expand"===this.columnResizeMode&&(u.tableWidth=re.D.getOuterWidth(this.tableViewChild?.nativeElement))}setResizeTableWidth(u){this.tableViewChild.nativeElement.style.width=u,this.tableViewChild.nativeElement.style.minWidth=u}restoreColumnWidths(){if(this.columnWidthsState){let u=this.columnWidthsState.split(",");if("expand"===this.columnResizeMode&&this.tableWidthState&&this.setResizeTableWidth(this.tableWidthState+"px"),le.BF.isNotEmpty(u)){this.createStyleElement();let ie="";u.forEach((de,Ae)=>{ie+=`\n #${this.id}-table > .p-datatable-thead > tr > th:nth-child(${Ae+1}),\n #${this.id}-table > .p-datatable-tbody > tr > td:nth-child(${Ae+1}),\n #${this.id}-table > .p-datatable-tfoot > tr > td:nth-child(${Ae+1}) {\n width: ${de}px !important; max-width: ${de}px !important\n }\n `}),this.styleElement.innerHTML=ie}}}saveColumnOrder(u){if(this.columns){let ie=[];this.columns.map(de=>{ie.push(de.field||de.key)}),u.columnOrder=ie}}restoreColumnOrder(){const ie=this.getStorage().getItem(this.stateKey);if(ie){let Ae=JSON.parse(ie).columnOrder;if(Ae){let nt=[];Ae.map(kt=>{let zt=this.findColumnByKey(kt);zt&&nt.push(zt)}),this.columnOrderStateRestored=!0,this.columns=nt}}}findColumnByKey(u){if(!this.columns)return null;for(let ie of this.columns)if(ie.key===u||ie.field===u)return ie}createStyleElement(){this.styleElement=this.renderer.createElement("style"),this.styleElement.type="text/css",this.renderer.appendChild(this.document.head,this.styleElement)}getGroupRowsMeta(){return{field:this.groupRowsBy,order:this.groupRowsByOrder}}createResponsiveStyle(){(0,M.UE)(this.platformId)&&!this.responsiveStyleElement&&(this.responsiveStyleElement=this.renderer.createElement("style"),this.responsiveStyleElement.type="text/css",this.renderer.appendChild(this.document.head,this.responsiveStyleElement),this.renderer.setProperty(this.responsiveStyleElement,"innerHTML",`\n @media screen and (max-width: ${this.breakpoint}) {\n #${this.id}-table > .p-datatable-thead > tr > th,\n #${this.id}-table > .p-datatable-tfoot > tr > td {\n display: none !important;\n }\n\n #${this.id}-table > .p-datatable-tbody > tr > td {\n display: flex;\n width: 100% !important;\n align-items: center;\n justify-content: space-between;\n }\n\n #${this.id}-table > .p-datatable-tbody > tr > td:not(:last-child) {\n border: 0 none;\n }\n\n #${this.id}.p-datatable-gridlines > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tbody > tr > td:last-child {\n border-top: 0;\n border-right: 0;\n border-left: 0;\n }\n\n #${this.id}-table > .p-datatable-tbody > tr > td > .p-column-title {\n display: block;\n }\n }\n `))}destroyResponsiveStyle(){this.responsiveStyleElement&&(this.renderer.removeChild(this.document.head,this.responsiveStyleElement),this.responsiveStyleElement=null)}destroyStyleElement(){this.styleElement&&(this.renderer.removeChild(this.document.head,this.styleElement),this.styleElement=null)}ngOnDestroy(){this.unbindDocumentEditListener(),this.editingCell=null,this.initialized=null,this.destroyStyleElement(),this.destroyResponsiveStyle()}getPaginatorStyleClasses(u){return[this.paginatorStyleClass,u].filter(ie=>!!ie).join(" ").trim()}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(M.qQ),e.rXU(e.Agw),e.rXU(e.sFG),e.rXU(e.aKT),e.rXU(e.SKi),e.rXU(Ce),e.rXU(e.gRc),e.rXU(Le.E),e.rXU(Le.si),e.rXU(Le.r1))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-table"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,4),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.templates=nt)}},viewQuery:function(ie,de){if(1&ie&&(e.GBs(bl,5),e.GBs(Af,5),e.GBs(Ka,5),e.GBs(Zu,5),e.GBs(If,5),e.GBs(Qd,5),e.GBs(Nh,5),e.GBs($c,5),e.GBs(Xc,5)),2&ie){let Ae;e.mGM(Ae=e.lsd())&&(de.containerViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.resizeHelperViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.reorderIndicatorUpViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.reorderIndicatorDownViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.wrapperViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.tableViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.tableHeaderViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.tableFooterViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.scroller=Ae.first)}},hostAttrs:[1,"p-element"],inputs:{frozenColumns:"frozenColumns",frozenValue:"frozenValue",style:"style",styleClass:"styleClass",tableStyle:"tableStyle",tableStyleClass:"tableStyleClass",paginator:"paginator",pageLinks:"pageLinks",rowsPerPageOptions:"rowsPerPageOptions",alwaysShowPaginator:"alwaysShowPaginator",paginatorPosition:"paginatorPosition",paginatorStyleClass:"paginatorStyleClass",paginatorDropdownAppendTo:"paginatorDropdownAppendTo",paginatorDropdownScrollHeight:"paginatorDropdownScrollHeight",currentPageReportTemplate:"currentPageReportTemplate",showCurrentPageReport:"showCurrentPageReport",showJumpToPageDropdown:"showJumpToPageDropdown",showJumpToPageInput:"showJumpToPageInput",showFirstLastIcon:"showFirstLastIcon",showPageLinks:"showPageLinks",defaultSortOrder:"defaultSortOrder",sortMode:"sortMode",resetPageOnSort:"resetPageOnSort",selectionMode:"selectionMode",selectionPageOnly:"selectionPageOnly",contextMenuSelection:"contextMenuSelection",contextMenuSelectionMode:"contextMenuSelectionMode",dataKey:"dataKey",metaKeySelection:"metaKeySelection",rowSelectable:"rowSelectable",rowTrackBy:"rowTrackBy",lazy:"lazy",lazyLoadOnInit:"lazyLoadOnInit",compareSelectionBy:"compareSelectionBy",csvSeparator:"csvSeparator",exportFilename:"exportFilename",filters:"filters",globalFilterFields:"globalFilterFields",filterDelay:"filterDelay",filterLocale:"filterLocale",expandedRowKeys:"expandedRowKeys",editingRowKeys:"editingRowKeys",rowExpandMode:"rowExpandMode",scrollable:"scrollable",scrollDirection:"scrollDirection",rowGroupMode:"rowGroupMode",scrollHeight:"scrollHeight",virtualScroll:"virtualScroll",virtualScrollItemSize:"virtualScrollItemSize",virtualScrollOptions:"virtualScrollOptions",virtualScrollDelay:"virtualScrollDelay",frozenWidth:"frozenWidth",responsive:"responsive",contextMenu:"contextMenu",resizableColumns:"resizableColumns",columnResizeMode:"columnResizeMode",reorderableColumns:"reorderableColumns",loading:"loading",loadingIcon:"loadingIcon",showLoader:"showLoader",rowHover:"rowHover",customSort:"customSort",showInitialSortBadge:"showInitialSortBadge",autoLayout:"autoLayout",exportFunction:"exportFunction",exportHeader:"exportHeader",stateKey:"stateKey",stateStorage:"stateStorage",editMode:"editMode",groupRowsBy:"groupRowsBy",groupRowsByOrder:"groupRowsByOrder",responsiveLayout:"responsiveLayout",breakpoint:"breakpoint",paginatorLocale:"paginatorLocale",value:"value",columns:"columns",first:"first",rows:"rows",totalRecords:"totalRecords",sortField:"sortField",sortOrder:"sortOrder",multiSortMeta:"multiSortMeta",selection:"selection",selectAll:"selectAll",virtualRowHeight:"virtualRowHeight"},outputs:{contextMenuSelectionChange:"contextMenuSelectionChange",selectAllChange:"selectAllChange",selectionChange:"selectionChange",onRowSelect:"onRowSelect",onRowUnselect:"onRowUnselect",onPage:"onPage",onSort:"onSort",onFilter:"onFilter",onLazyLoad:"onLazyLoad",onRowExpand:"onRowExpand",onRowCollapse:"onRowCollapse",onContextMenuSelect:"onContextMenuSelect",onColResize:"onColResize",onColReorder:"onColReorder",onRowReorder:"onRowReorder",onEditInit:"onEditInit",onEditComplete:"onEditComplete",onEditCancel:"onEditCancel",onHeaderCheckboxToggle:"onHeaderCheckboxToggle",sortFunction:"sortFunction",firstChange:"firstChange",rowsChange:"rowsChange",onStateSave:"onStateSave",onStateRestore:"onStateRestore"},features:[e.Jv_([Ce]),e.OA$],decls:16,vars:22,consts:[["container",""],["wrapper",""],["buildInTable",""],["scroller",""],["table",""],["thead",""],["tfoot",""],["resizeHelper",""],["reorderIndicatorUp",""],["reorderIndicatorDown",""],[3,"ngStyle","ngClass"],["class","p-datatable-loading-overlay p-component-overlay",4,"ngIf"],["class","p-datatable-header",4,"ngIf"],[3,"rows","first","totalRecords","pageLinkSize","alwaysShow","rowsPerPageOptions","templateLeft","templateRight","dropdownAppendTo","dropdownScrollHeight","currentPageReportTemplate","showFirstLastIcon","dropdownItemTemplate","showCurrentPageReport","showJumpToPageDropdown","showJumpToPageInput","showPageLinks","styleClass","locale","onPageChange",4,"ngIf"],[1,"p-datatable-wrapper",3,"ngStyle"],[3,"items","columns","style","scrollHeight","itemSize","step","delay","inline","lazy","loaderDisabled","showSpacer","showLoader","options","autoSize","onLazyLoad",4,"ngIf"],[4,"ngIf"],["class","p-datatable-footer",4,"ngIf"],["class","p-column-resizer-helper","style","display:none",4,"ngIf"],["class","p-datatable-reorder-indicator-up","style","display: none;",4,"ngIf"],["class","p-datatable-reorder-indicator-down","style","display: none;",4,"ngIf"],[1,"p-datatable-loading-overlay","p-component-overlay"],[3,"class",4,"ngIf"],[3,"spin","styleClass",4,"ngIf"],["class","p-datatable-loading-icon",4,"ngIf"],[3,"spin","styleClass"],[1,"p-datatable-loading-icon"],[4,"ngTemplateOutlet"],[1,"p-datatable-header"],[3,"onPageChange","rows","first","totalRecords","pageLinkSize","alwaysShow","rowsPerPageOptions","templateLeft","templateRight","dropdownAppendTo","dropdownScrollHeight","currentPageReportTemplate","showFirstLastIcon","dropdownItemTemplate","showCurrentPageReport","showJumpToPageDropdown","showJumpToPageInput","showPageLinks","styleClass","locale"],["pTemplate","dropdownicon"],["pTemplate","firstpagelinkicon"],["pTemplate","previouspagelinkicon"],["pTemplate","lastpagelinkicon"],["pTemplate","nextpagelinkicon"],[3,"onLazyLoad","items","columns","scrollHeight","itemSize","step","delay","inline","lazy","loaderDisabled","showSpacer","showLoader","options","autoSize"],["pTemplate","content"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["role","table",3,"ngClass"],["role","rowgroup",1,"p-datatable-thead"],["role","rowgroup","class","p-datatable-tbody p-datatable-frozen-tbody",3,"value","frozenRows","pTableBody","pTableBodyTemplate","frozen",4,"ngIf"],["role","rowgroup",1,"p-datatable-tbody",3,"ngClass","value","pTableBody","pTableBodyTemplate","scrollerOptions"],["role","rowgroup","class","p-datatable-scroller-spacer",3,"style",4,"ngIf"],["role","rowgroup","class","p-datatable-tfoot",4,"ngIf"],["role","rowgroup",1,"p-datatable-tbody","p-datatable-frozen-tbody",3,"value","frozenRows","pTableBody","pTableBodyTemplate","frozen"],["role","rowgroup",1,"p-datatable-scroller-spacer"],["role","rowgroup",1,"p-datatable-tfoot"],[1,"p-datatable-footer"],[1,"p-column-resizer-helper",2,"display","none"],[1,"p-datatable-reorder-indicator-up",2,"display","none"],[1,"p-datatable-reorder-indicator-down",2,"display","none"]],template:function(ie,de){1&ie&&(e.j41(0,"div",10,0),e.DNE(2,Qu,3,2,"div",11)(3,ep,2,1,"div",12)(4,ip,6,24,"p-paginator",13),e.j41(5,"div",14,1),e.DNE(7,np,3,17,"p-scroller",15)(8,Rf,2,7,"ng-container",16)(9,_l,10,28,"ng-template",null,2,e.C5r),e.k0s(),e.DNE(11,qc,6,24,"p-paginator",13)(12,Nr,2,1,"div",17)(13,Zl,2,0,"div",18)(14,zh,4,2,"span",19)(15,Tc,4,2,"span",20),e.k0s()),2&ie&&(e.HbH(de.styleClass),e.Y8G("ngStyle",de.style)("ngClass",e.sMw(16,qr,de.rowHover||de.selectionMode,de.scrollable,de.scrollable&&"flex"===de.scrollHeight)),e.BMQ("id",de.id),e.R7$(2),e.Y8G("ngIf",de.loading&&de.showLoader),e.R7$(),e.Y8G("ngIf",de.captionTemplate),e.R7$(),e.Y8G("ngIf",de.paginator&&("top"===de.paginatorPosition||"both"==de.paginatorPosition)),e.R7$(),e.Y8G("ngStyle",e.eq3(20,Ds,de.virtualScroll?"":de.scrollHeight)),e.R7$(2),e.Y8G("ngIf",de.virtualScroll),e.R7$(),e.Y8G("ngIf",!de.virtualScroll),e.R7$(3),e.Y8G("ngIf",de.paginator&&("bottom"===de.paginatorPosition||"both"==de.paginatorPosition)),e.R7$(),e.Y8G("ngIf",de.summaryTemplate),e.R7$(),e.Y8G("ngIf",de.resizableColumns),e.R7$(),e.Y8G("ngIf",de.reorderableColumns),e.R7$(),e.Y8G("ngIf",de.reorderableColumns))},dependencies:()=>[M.YU,M.bT,M.T3,M.B3,Kd,Le.Ei,ga,Nc,Ul,go.N,it],styles:["@layer primeng{.p-datatable{position:relative}.p-datatable>.p-datatable-wrapper{overflow:auto}.p-datatable-table{border-spacing:0px;width:100%}.p-datatable .p-sortable-column{cursor:pointer;-webkit-user-select:none;user-select:none}.p-datatable .p-sortable-column .p-column-title,.p-datatable .p-sortable-column .p-sortable-column-icon,.p-datatable .p-sortable-column .p-sortable-column-badge{vertical-align:middle}.p-datatable .p-sortable-column .p-icon-wrapper{display:inline}.p-datatable .p-sortable-column .p-sortable-column-badge{display:inline-flex;align-items:center;justify-content:center}.p-datatable-hoverable-rows .p-selectable-row{cursor:pointer}.p-datatable-scrollable>.p-datatable-wrapper{position:relative}.p-datatable-scrollable-table>.p-datatable-thead{position:sticky;top:0;z-index:2}.p-datatable-scrollable-table>.p-datatable-frozen-tbody{position:sticky;z-index:1}.p-datatable-scrollable-table>.p-datatable-tfoot{position:sticky;bottom:0;z-index:1}.p-datatable-scrollable .p-frozen-column{position:sticky;background:inherit;z-index:1}.p-datatable-scrollable th.p-frozen-column{z-index:1}.p-datatable-flex-scrollable{display:flex;flex-direction:column;height:100%}.p-datatable-flex-scrollable>.p-datatable-wrapper{display:flex;flex-direction:column;flex:1;height:100%}.p-datatable-scrollable-table>.p-datatable-tbody>.p-rowgroup-header{position:sticky;z-index:2}.p-datatable-resizable-table>.p-datatable-thead>tr>th,.p-datatable-resizable-table>.p-datatable-tfoot>tr>td,.p-datatable-resizable-table>.p-datatable-tbody>tr>td{overflow:hidden;white-space:nowrap}.p-datatable-resizable-table>.p-datatable-thead>tr>th.p-resizable-column:not(.p-frozen-column){background-clip:padding-box;position:relative}.p-datatable-resizable-table-fit>.p-datatable-thead>tr>th.p-resizable-column:last-child .p-column-resizer{display:none}.p-datatable .p-column-resizer{display:block;position:absolute!important;top:0;right:0;margin:0;width:.5rem;height:100%;padding:0;cursor:col-resize;border:1px solid transparent}.p-datatable .p-column-resizer-helper{width:1px;position:absolute;z-index:10;display:none}.p-datatable .p-row-editor-init,.p-datatable .p-row-editor-save,.p-datatable .p-row-editor-cancel,.p-datatable .p-row-toggler{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.p-datatable-reorder-indicator-up,.p-datatable-reorder-indicator-down{position:absolute}.p-datatable-reorderablerow-handle,[pReorderableColumn]{cursor:move}.p-datatable .p-datatable-loading-overlay{position:absolute;display:flex;align-items:center;justify-content:center;z-index:3}.p-column-filter-row{display:flex;align-items:center;width:100%}.p-column-filter-menu{display:inline-flex}.p-column-filter-row p-columnfilterformelement{flex:1 1 auto;width:1%}.p-column-filter-menu-button,.p-column-filter-clear-button{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;text-decoration:none;overflow:hidden;position:relative}.p-column-filter-overlay{position:absolute;top:0;left:0}.p-column-filter-row-items{margin:0;padding:0;list-style:none}.p-column-filter-row-item{cursor:pointer}.p-column-filter-add-button,.p-column-filter-remove-button{justify-content:center}.p-column-filter-add-button .p-button-label,.p-column-filter-remove-button .p-button-label{flex-grow:0}.p-column-filter-buttonbar{display:flex;align-items:center;justify-content:space-between}.p-column-filter-buttonbar .p-button{width:auto}.p-datatable-tbody>tr>td>.p-column-title{display:none}.p-datatable-scroller-spacer{display:flex}.p-datatable .p-scroller .p-scroller-loading{transform:none!important;min-height:0;position:sticky;top:0;left:0}}\n"],encapsulation:2})}return ye})(),it=(()=>{class ye{dt;tableService;cd;el;columns;template;get value(){return this._value}set value(u){this._value=u,this.frozenRows&&this.updateFrozenRowStickyPosition(),this.dt.scrollable&&"subheader"===this.dt.rowGroupMode&&this.updateFrozenRowGroupHeaderStickyPosition()}frozen;frozenRows;scrollerOptions;subscription;_value;ngAfterViewInit(){this.frozenRows&&this.updateFrozenRowStickyPosition(),this.dt.scrollable&&"subheader"===this.dt.rowGroupMode&&this.updateFrozenRowGroupHeaderStickyPosition()}constructor(u,ie,de,Ae){this.dt=u,this.tableService=ie,this.cd=de,this.el=Ae,this.subscription=this.dt.tableService.valueSource$.subscribe(()=>{this.dt.virtualScroll&&this.cd.detectChanges()})}shouldRenderRowGroupHeader(u,ie,de){let Ae=le.BF.resolveFieldData(ie,this.dt.groupRowsBy),nt=u[de-1];return!nt||Ae!==le.BF.resolveFieldData(nt,this.dt.groupRowsBy)}shouldRenderRowGroupFooter(u,ie,de){let Ae=le.BF.resolveFieldData(ie,this.dt.groupRowsBy),nt=u[de+1];return!nt||Ae!==le.BF.resolveFieldData(nt,this.dt.groupRowsBy)}shouldRenderRowspan(u,ie,de){let Ae=le.BF.resolveFieldData(ie,this.dt.groupRowsBy),nt=u[de-1];return!nt||Ae!==le.BF.resolveFieldData(nt,this.dt.groupRowsBy)}calculateRowGroupSize(u,ie,de){let Ae=le.BF.resolveFieldData(ie,this.dt.groupRowsBy),nt=Ae,kt=0;for(;Ae===nt;){kt++;let zt=u[++de];if(!zt)break;nt=le.BF.resolveFieldData(zt,this.dt.groupRowsBy)}return 1===kt?null:kt}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}updateFrozenRowStickyPosition(){this.el.nativeElement.style.top=re.D.getOuterHeight(this.el.nativeElement.previousElementSibling)+"px"}updateFrozenRowGroupHeaderStickyPosition(){if(this.el.nativeElement.previousElementSibling){let u=re.D.getOuterHeight(this.el.nativeElement.previousElementSibling);this.dt.rowGroupHeaderStyleObject.top=u+"px"}}getScrollerOption(u,ie){return this.dt.virtualScroll&&(ie=ie||this.scrollerOptions)?ie[u]:null}getRowIndex(u){const ie=this.dt.paginator?this.dt.first+u:u,de=this.getScrollerOption("getItemOptions");return de?de(ie).index:ie}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(Ne),e.rXU(Ce),e.rXU(e.gRc),e.rXU(e.aKT))};static \u0275cmp=e.VBU({type:ye,selectors:[["","pTableBody",""]],hostAttrs:[1,"p-element"],inputs:{columns:[e.Mj6.None,"pTableBody","columns"],template:[e.Mj6.None,"pTableBodyTemplate","template"],value:"value",frozen:"frozen",frozenRows:"frozenRows",scrollerOptions:"scrollerOptions"},attrs:Qc,decls:5,vars:5,consts:[[4,"ngIf"],["ngFor","",3,"ngForOf","ngForTrackBy"],["role","row",4,"ngIf"],["role","row"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(ie,de){1&ie&&e.DNE(0,th,2,2,"ng-container",0)(1,$h,2,2,"ng-container",0)(2,yd,2,2,"ng-container",0)(3,ql,2,5,"ng-container",0)(4,hu,2,5,"ng-container",0),2&ie&&(e.Y8G("ngIf",!de.dt.expandedRowTemplate),e.R7$(),e.Y8G("ngIf",de.dt.expandedRowTemplate&&!(de.frozen&&de.dt.frozenExpandedRowTemplate)),e.R7$(),e.Y8G("ngIf",de.dt.frozenExpandedRowTemplate&&de.frozen),e.R7$(),e.Y8G("ngIf",de.dt.loading),e.R7$(),e.Y8G("ngIf",de.dt.isEmpty()&&!de.dt.loading))},dependencies:[M.Sq,M.bT,M.T3],encapsulation:2})}return ye})(),Ut=(()=>{class ye{dt;field;pSortableColumnDisabled;sorted;sortOrder;subscription;constructor(u){this.dt=u,this.isEnabled()&&(this.subscription=this.dt.tableService.sortSource$.subscribe(ie=>{this.updateSortState()}))}ngOnInit(){this.isEnabled()&&this.updateSortState()}updateSortState(){this.sorted=this.dt.isSorted(this.field),this.sortOrder=this.sorted?1===this.dt.sortOrder?"ascending":"descending":"none"}onClick(u){this.isEnabled()&&!this.isFilterElement(u.target)&&(this.updateSortState(),this.dt.sort({originalEvent:u,field:this.field}),re.D.clearSelection())}onEnterKey(u){this.onClick(u),u.preventDefault()}isEnabled(){return!0!==this.pSortableColumnDisabled}isFilterElement(u){return this.isFilterElementIconOrButton(u)||this.isFilterElementIconOrButton(u?.parentElement?.parentElement)}isFilterElementIconOrButton(u){return re.D.hasClass(u,"pi-filter-icon")||re.D.hasClass(u,"p-column-filter-menu-button")}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(Ne))};static \u0275dir=e.FsC({type:ye,selectors:[["","pSortableColumn",""]],hostAttrs:[1,"p-element"],hostVars:7,hostBindings:function(ie,de){1&ie&&e.bIt("click",function(nt){return de.onClick(nt)})("keydown.space",function(nt){return de.onEnterKey(nt)})("keydown.enter",function(nt){return de.onEnterKey(nt)}),2&ie&&(e.BMQ("tabindex",de.isEnabled()?"0":null)("role","columnheader")("aria-sort",de.sortOrder),e.AVh("p-sortable-column",de.isEnabled())("p-highlight",de.sorted))},inputs:{field:[e.Mj6.None,"pSortableColumn","field"],pSortableColumnDisabled:"pSortableColumnDisabled"}})}return ye})(),ei=(()=>{class ye{dt;cd;field;subscription;sortOrder;constructor(u,ie){this.dt=u,this.cd=ie,this.subscription=this.dt.tableService.sortSource$.subscribe(de=>{this.updateSortState()})}ngOnInit(){this.updateSortState()}onClick(u){u.preventDefault()}updateSortState(){if("single"===this.dt.sortMode)this.sortOrder=this.dt.isSorted(this.field)?this.dt.sortOrder:0;else if("multiple"===this.dt.sortMode){let u=this.dt.getSortMeta(this.field);this.sortOrder=u?u.order:0}this.cd.markForCheck()}getMultiSortMetaIndex(){let u=this.dt._multiSortMeta,ie=-1;if(u&&"multiple"===this.dt.sortMode&&this.dt.showInitialSortBadge&&u.length>1)for(let de=0;de-1?u:u+1}isMultiSorted(){return"multiple"===this.dt.sortMode&&this.getMultiSortMetaIndex()>-1}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(Ne),e.rXU(e.gRc))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-sortIcon"]],hostAttrs:[1,"p-element"],inputs:{field:"field"},decls:3,vars:3,consts:[[4,"ngIf"],["class","p-sortable-column-icon",4,"ngIf"],["class","p-sortable-column-badge",4,"ngIf"],[3,"styleClass",4,"ngIf"],[3,"styleClass"],[1,"p-sortable-column-icon"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"p-sortable-column-badge"]],template:function(ie,de){1&ie&&e.DNE(0,vr,4,3,"ng-container",0)(1,_d,2,4,"span",1)(2,aa,2,1,"span",2),2&ie&&(e.Y8G("ngIf",!de.dt.sortIconTemplate),e.R7$(),e.Y8G("ngIf",de.dt.sortIconTemplate),e.R7$(),e.Y8G("ngIf",de.isMultiSorted()))},dependencies:()=>[M.bT,M.T3,Hs,ta,Xs],encapsulation:2,changeDetection:0})}return ye})(),Ai=(()=>{class ye{dt;data;pRowTogglerDisabled;constructor(u){this.dt=u}onClick(u){this.isEnabled()&&(this.dt.toggleRow(this.data,u),u.preventDefault())}isEnabled(){return!0!==this.pRowTogglerDisabled}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(Ne))};static \u0275dir=e.FsC({type:ye,selectors:[["","pRowToggler",""]],hostAttrs:[1,"p-element"],hostBindings:function(ie,de){1&ie&&e.bIt("click",function(nt){return de.onClick(nt)})},inputs:{data:[e.Mj6.None,"pRowToggler","data"],pRowTogglerDisabled:"pRowTogglerDisabled"}})}return ye})(),kn=(()=>{class ye{dt;el;zone;data;field;rowIndex;pEditableColumnDisabled;pFocusCellSelector;overlayEventListener;constructor(u,ie,de){this.dt=u,this.el=ie,this.zone=de}ngOnChanges(u){this.el.nativeElement&&!u.data?.firstChange&&this.dt.updateEditingCell(this.el.nativeElement,this.data,this.field,this.rowIndex)}ngAfterViewInit(){this.isEnabled()&&re.D.addClass(this.el.nativeElement,"p-editable-column")}onClick(u){if(this.isEnabled())if(this.dt.selfClick=!0,this.dt.editingCell){if(this.dt.editingCell!==this.el.nativeElement){if(!this.dt.isEditingCellValid())return;this.closeEditingCell(!0,u),this.openCell()}}else this.openCell()}openCell(){this.dt.updateEditingCell(this.el.nativeElement,this.data,this.field,this.rowIndex),re.D.addClass(this.el.nativeElement,"p-cell-editing"),this.dt.onEditInit.emit({field:this.field,data:this.data,index:this.rowIndex}),this.zone.runOutsideAngular(()=>{setTimeout(()=>{let ie=re.D.findSingle(this.el.nativeElement,this.pFocusCellSelector||"input, textarea, select");ie&&ie.focus()},50)}),this.overlayEventListener=u=>{this.el&&this.el.nativeElement.contains(u.target)&&(this.dt.selfClick=!0)},this.dt.overlaySubscription=this.dt.overlayService.clickObservable.subscribe(this.overlayEventListener)}closeEditingCell(u,ie){const de={field:this.dt.editingCellField,data:this.dt.editingCellData,originalEvent:ie,index:this.dt.editingCellRowIndex};u?this.dt.onEditComplete.emit(de):(this.dt.onEditCancel.emit(de),this.dt.value.forEach(Ae=>{Ae[this.dt.editingCellField]===this.data&&(Ae[this.dt.editingCellField]=this.dt.editingCellData)})),re.D.removeClass(this.dt.editingCell,"p-cell-editing"),this.dt.editingCell=null,this.dt.editingCellData=null,this.dt.editingCellField=null,this.dt.unbindDocumentEditListener(),this.dt.overlaySubscription&&this.dt.overlaySubscription.unsubscribe()}onEnterKeyDown(u){this.isEnabled()&&!u.shiftKey&&(this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u),u.preventDefault())}onTabKeyDown(u){this.isEnabled()&&(this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u),u.preventDefault())}onEscapeKeyDown(u){this.isEnabled()&&(this.dt.isEditingCellValid()&&this.closeEditingCell(!1,u),u.preventDefault())}onShiftKeyDown(u){this.isEnabled()&&(u.shiftKey?this.moveToPreviousCell(u):this.moveToNextCell(u))}onArrowDown(u){if(this.isEnabled()){let ie=this.findCell(u.target);if(ie){let de=re.D.index(ie),Ae=this.findNextEditableColumnByIndex(ie,de);Ae&&(this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u),re.D.invokeElementMethod(u.target,"blur"),re.D.invokeElementMethod(Ae,"click")),u.preventDefault()}}}onArrowUp(u){if(this.isEnabled()){let ie=this.findCell(u.target);if(ie){let de=re.D.index(ie),Ae=this.findPrevEditableColumnByIndex(ie,de);Ae&&(this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u),re.D.invokeElementMethod(u.target,"blur"),re.D.invokeElementMethod(Ae,"click")),u.preventDefault()}}}onArrowLeft(u){this.isEnabled()&&this.moveToPreviousCell(u)}onArrowRight(u){this.isEnabled()&&this.moveToNextCell(u)}findCell(u){if(u){let ie=u;for(;ie&&!re.D.hasClass(ie,"p-cell-editing");)ie=ie.parentElement;return ie}return null}moveToPreviousCell(u){let ie=this.findCell(u.target);if(ie){let de=this.findPreviousEditableColumn(ie);de&&(this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u),re.D.invokeElementMethod(u.target,"blur"),re.D.invokeElementMethod(de,"click"),u.preventDefault())}}moveToNextCell(u){let ie=this.findCell(u.target);if(ie){let de=this.findNextEditableColumn(ie);de?(this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u),re.D.invokeElementMethod(u.target,"blur"),re.D.invokeElementMethod(de,"click"),u.preventDefault()):this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u)}}findPreviousEditableColumn(u){let ie=u.previousElementSibling;if(!ie){let de=u.parentElement?.previousElementSibling;de&&(ie=de.lastElementChild)}return ie?re.D.hasClass(ie,"p-editable-column")?ie:this.findPreviousEditableColumn(ie):null}findNextEditableColumn(u){let ie=u.nextElementSibling;if(!ie){let de=u.parentElement?.nextElementSibling;de&&(ie=de.firstElementChild)}return ie?re.D.hasClass(ie,"p-editable-column")?ie:this.findNextEditableColumn(ie):null}findNextEditableColumnByIndex(u,ie){let de=u.parentElement?.nextElementSibling;if(de){let Ae=de.children[ie];return Ae&&re.D.hasClass(Ae,"p-editable-column")?Ae:null}return null}findPrevEditableColumnByIndex(u,ie){let de=u.parentElement?.previousElementSibling;if(de){let Ae=de.children[ie];return Ae&&re.D.hasClass(Ae,"p-editable-column")?Ae:null}return null}isEnabled(){return!0!==this.pEditableColumnDisabled}ngOnDestroy(){this.dt.overlaySubscription&&this.dt.overlaySubscription.unsubscribe()}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(Ne),e.rXU(e.aKT),e.rXU(e.SKi))};static \u0275dir=e.FsC({type:ye,selectors:[["","pEditableColumn",""]],hostAttrs:[1,"p-element"],hostBindings:function(ie,de){1&ie&&e.bIt("click",function(nt){return de.onClick(nt)})("keydown.enter",function(nt){return de.onEnterKeyDown(nt)})("keydown.tab",function(nt){return de.onShiftKeyDown(nt)})("keydown.escape",function(nt){return de.onEscapeKeyDown(nt)})("keydown.shift.tab",function(nt){return de.onShiftKeyDown(nt)})("keydown.meta.tab",function(nt){return de.onShiftKeyDown(nt)})("keydown.arrowdown",function(nt){return de.onArrowDown(nt)})("keydown.arrowup",function(nt){return de.onArrowUp(nt)})("keydown.arrowleft",function(nt){return de.onArrowLeft(nt)})("keydown.arrowright",function(nt){return de.onArrowRight(nt)})},inputs:{data:[e.Mj6.None,"pEditableColumn","data"],field:[e.Mj6.None,"pEditableColumnField","field"],rowIndex:[e.Mj6.None,"pEditableColumnRowIndex","rowIndex"],pEditableColumnDisabled:"pEditableColumnDisabled",pFocusCellSelector:"pFocusCellSelector"},features:[e.OA$]})}return ye})(),Vn=(()=>{class ye{el;data;pEditableRowDisabled;constructor(u){this.el=u}isEnabled(){return!0!==this.pEditableRowDisabled}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(e.aKT))};static \u0275dir=e.FsC({type:ye,selectors:[["","pEditableRow",""]],hostAttrs:[1,"p-element"],inputs:{data:[e.Mj6.None,"pEditableRow","data"],pEditableRowDisabled:"pEditableRowDisabled"}})}return ye})(),ts=(()=>{class ye{dt;editableColumn;editableRow;templates;inputTemplate;outputTemplate;constructor(u,ie,de){this.dt=u,this.editableColumn=ie,this.editableRow=de}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"input":this.inputTemplate=u.template;break;case"output":this.outputTemplate=u.template}})}get editing(){return this.dt.editingCell&&this.editableColumn&&this.dt.editingCell===this.editableColumn.el.nativeElement||this.editableRow&&"row"===this.dt.editMode&&this.dt.isRowEditing(this.editableRow.data)}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(Ne),e.rXU(kn,8),e.rXU(Vn,8))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-cellEditor"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,4),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.templates=nt)}},hostAttrs:[1,"p-element"],decls:2,vars:2,consts:[[4,"ngIf"],[4,"ngTemplateOutlet"]],template:function(ie,de){1&ie&&e.DNE(0,Ql,2,1,"ng-container",0)(1,dp,2,1,"ng-container",0),2&ie&&(e.Y8G("ngIf",de.editing),e.R7$(),e.Y8G("ngIf",!de.editing))},dependencies:[M.bT,M.T3],encapsulation:2})}return ye})(),Vr=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD,Hc,_a.u,Lo,V.YN,q.tm,Ei,Ki,ul,jo,eo,Nc,Ul,go.N,Hs,ta,Xs,As,Fc,Po,ea,hl,Le.Gg,eo]})}return ye})()},54420:(ri,Bt,We)=>{"use strict";We.d(Bt,{BF:()=>M,Q$:()=>q,_Y:()=>V});class M{static isArray(re,ve=!0){return Array.isArray(re)&&(ve||0!==re.length)}static isObject(re,ve=!0){return"object"==typeof re&&!Array.isArray(re)&&null!=re&&(ve||0!==Object.keys(re).length)}static equals(re,ve,le){return le?this.resolveFieldData(re,le)===this.resolveFieldData(ve,le):this.equalsByValue(re,ve)}static equalsByValue(re,ve){if(re===ve)return!0;if(re&&ve&&"object"==typeof re&&"object"==typeof ve){var ue,J,te,le=Array.isArray(re),pe=Array.isArray(ve);if(le&&pe){if((J=re.length)!=ve.length)return!1;for(ue=J;0!=ue--;)if(!this.equalsByValue(re[ue],ve[ue]))return!1;return!0}if(le!=pe)return!1;var X=this.isDate(re),E=this.isDate(ve);if(X!=E)return!1;if(X&&E)return re.getTime()==ve.getTime();var j=re instanceof RegExp,F=ve instanceof RegExp;if(j!=F)return!1;if(j&&F)return re.toString()==ve.toString();var P=Object.keys(re);if((J=P.length)!==Object.keys(ve).length)return!1;for(ue=J;0!=ue--;)if(!Object.prototype.hasOwnProperty.call(ve,P[ue]))return!1;for(ue=J;0!=ue--;)if(!this.equalsByValue(re[te=P[ue]],ve[te]))return!1;return!0}return re!=re&&ve!=ve}static resolveFieldData(re,ve){if(re&&ve){if(this.isFunction(ve))return ve(re);if(-1==ve.indexOf("."))return re[ve];{let le=ve.split("."),pe=re;for(let ue=0,J=le.length;ue=re.length&&(le%=re.length,ve%=re.length),re.splice(le,0,re.splice(ve,1)[0]))}static insertIntoOrderedArray(re,ve,le,pe){if(le.length>0){let ue=!1;for(let J=0;Jve){le.splice(J,0,re),ue=!0;break}ue||le.push(re)}else le.push(re)}static findIndexInList(re,ve){let le=-1;if(ve)for(let pe=0;peve?1:0,ue}static sort(re,ve,le=1,pe,ue=1){const J=M.compare(re,ve,pe,le);let te=le;return(M.isEmpty(re)||M.isEmpty(ve))&&(te=1===ue?le:ue),te*J}static merge(re,ve){if(null!=re||null!=ve)return null!=re&&"object"!=typeof re||null!=ve&&"object"!=typeof ve?null!=re&&"string"!=typeof re||null!=ve&&"string"!=typeof ve?ve||re:[re||"",ve||""].join(" "):{...re||{},...ve||{}}}static isPrintableCharacter(re=""){return this.isNotEmpty(re)&&1===re.length&&re.match(/\S| /)}static getItemValue(re,...ve){return this.isFunction(re)?re(...ve):re}static findLastIndex(re,ve){let le=-1;if(this.isNotEmpty(re))try{le=re.findLastIndex(ve)}catch{le=re.lastIndexOf([...re].reverse().find(ve))}return le}static findLast(re,ve){let le;if(this.isNotEmpty(re))try{le=re.findLast(ve)}catch{le=[...re].reverse().find(ve)}return le}static deepEquals(re,ve){if(re===ve)return!0;if(re&&ve&&"object"==typeof re&&"object"==typeof ve){var ue,J,te,le=Array.isArray(re),pe=Array.isArray(ve);if(le&&pe){if((J=re.length)!=ve.length)return!1;for(ue=J;0!=ue--;)if(!this.deepEquals(re[ue],ve[ue]))return!1;return!0}if(le!=pe)return!1;var X=re instanceof Date,E=ve instanceof Date;if(X!=E)return!1;if(X&&E)return re.getTime()==ve.getTime();var j=re instanceof RegExp,F=ve instanceof RegExp;if(j!=F)return!1;if(j&&F)return re.toString()==ve.toString();var P=Object.keys(re);if((J=P.length)!==Object.keys(ve).length)return!1;for(ue=J;0!=ue--;)if(!Object.prototype.hasOwnProperty.call(ve,P[ue]))return!1;for(ue=J;0!=ue--;)if(!this.deepEquals(re[te=P[ue]],ve[te]))return!1;return!0}return re!=re&&ve!=ve}}var e=0;function V(ne="pn_id_"){return`${ne}${++e}`}var q=function Le(){let ne=[];const pe=ue=>ue&&parseInt(ue.style.zIndex,10)||0;return{get:pe,set:(ue,J,te)=>{J&&(J.style.zIndex=String(((ue,J)=>{let te=ne.length>0?ne[ne.length-1]:{key:ue,value:J},X=te.value+(te.key===ue?0:J)+2;return ne.push({key:ue,value:X}),X})(ue,te)))},clear:ue=>{ue&&((ue=>{ne=ne.filter(J=>J.value!==ue)})(pe(ue)),ue.style.zIndex="")},getCurrent:()=>ne.length>0?ne[ne.length-1].value:0}}()},10467:(ri,Bt,We)=>{"use strict";function M(V,Le,q,ne,re,ve,le){try{var pe=V[ve](le),ue=pe.value}catch(J){return void q(J)}pe.done?Le(ue):Promise.resolve(ue).then(ne,re)}function e(V){return function(){var Le=this,q=arguments;return new Promise(function(ne,re){var ve=V.apply(Le,q);function le(ue){M(ve,ne,re,le,pe,"next",ue)}function pe(ue){M(ve,ne,re,le,pe,"throw",ue)}le(void 0)})}}We.d(Bt,{A:()=>e})},31635:(ri,Bt,We)=>{"use strict";function q(C,k,p,T){var K,B=arguments.length,z=B<3?k:null===T?T=Object.getOwnPropertyDescriptor(k,p):T;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)z=Reflect.decorate(C,k,p,T);else for(var U=C.length-1;U>=0;U--)(K=C[U])&&(z=(B<3?K(z):B>3?K(k,p,z):K(k,p))||z);return B>3&&z&&Object.defineProperty(k,p,z),z}function J(C,k,p,T){return new(p||(p=Promise))(function(z,K){function U($){try{S(T.next($))}catch(H){K(H)}}function se($){try{S(T.throw($))}catch(H){K(H)}}function S($){$.done?z($.value):function B(z){return z instanceof p?z:new p(function(K){K(z)})}($.value).then(U,se)}S((T=T.apply(C,k||[])).next())})}function I(C){return this instanceof I?(this.v=C,this):new I(C)}function _(C,k,p){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var B,T=p.apply(C,k||[]),z=[];return B={},K("next"),K("throw"),K("return"),B[Symbol.asyncIterator]=function(){return this},B;function K(x){T[x]&&(B[x]=function(N){return new Promise(function(R,Z){z.push([x,N,R,Z])>1||U(x,N)})})}function U(x,N){try{!function se(x){x.value instanceof I?Promise.resolve(x.value.v).then(S,$):H(z[0][2],x)}(T[x](N))}catch(R){H(z[0][3],R)}}function S(x){U("next",x)}function $(x){U("throw",x)}function H(x,N){x(N),z.shift(),z.length&&U(z[0][0],z[0][1])}}function w(C){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var p,k=C[Symbol.asyncIterator];return k?k.call(C):(C=function j(C){var k="function"==typeof Symbol&&Symbol.iterator,p=k&&C[k],T=0;if(p)return p.call(C);if(C&&"number"==typeof C.length)return{next:function(){return C&&T>=C.length&&(C=void 0),{value:C&&C[T++],done:!C}}};throw new TypeError(k?"Object is not iterable.":"Symbol.iterator is not defined.")}(C),p={},T("next"),T("throw"),T("return"),p[Symbol.asyncIterator]=function(){return this},p);function T(z){p[z]=C[z]&&function(K){return new Promise(function(U,se){!function B(z,K,U,se){Promise.resolve(se).then(function(S){z({value:S,done:U})},K)}(U,se,(K=C[z](K)).done,K.value)})}}}We.d(Bt,{AQ:()=>_,Cg:()=>q,N3:()=>I,sH:()=>J,xN:()=>w}),"function"==typeof SuppressedError&&SuppressedError}},ri=>{ri(ri.s=96575)}]); \ No newline at end of file diff --git a/www/z4d/main.dc6bb7d4a99f0738.js b/www/z4d/main.dc6bb7d4a99f0738.js deleted file mode 100644 index e415c4334..000000000 --- a/www/z4d/main.dc6bb7d4a99f0738.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkz4d_plugin=self.webpackChunkz4d_plugin||[]).push([[792],{38117:(ri,Ft,He)=>{"use strict";He.d(Ft,{Ui:()=>y,W4:()=>a,Vy:()=>fe,o6:()=>f,s0:()=>l});var M=He(60177),e=He(21626),V=He(93331),Pe=He(19664),Z=He(20546),ie=He(54438);let re=(()=>{class d{intercept(k,p){if(!/^(http|https):/i.test(k.url)){let S=null;S=Z.c.api_url+k.url,k=k.clone({url:S})}return p.handle(k)}static \u0275fac=function(p){return new(p||d)};static \u0275prov=ie.jDH({token:d,factory:d.\u0275fac})}return d})();var ve=He(71985),le=function(d){return d[d.Off=0]="Off",d[d.Error=1]="Error",d[d.Warning=2]="Warning",d[d.Info=3]="Info",d[d.Debug=4]="Debug",d}(le||{});class fe{source;static level=le.Debug;static outputs=[];static enableProductionMode(){fe.level=le.Warning}constructor(C){this.source=C}debug(...C){this.log(console.log,le.Debug,C)}info(...C){this.log(console.info,le.Info,C)}warn(...C){this.log(console.warn,le.Warning,C)}error(...C){this.log(console.error,le.Error,C)}log(C,k,p){if(k<=fe.level){const S=this.source?["["+this.source+"]"].concat(p):p;C.apply(console,S),fe.outputs.forEach(j=>j.apply(j,[this.source,k,...p]))}}}const pe=new fe("HttpCacheService"),J="httpCache";let te=(()=>{class d{cachedData={};storage=null;constructor(){this.loadCacheData()}setCacheData(k,p,S){this.cachedData[k]={lastUpdated:S||new Date,data:p},pe.debug(`Cache set for key: "${k}"`),this.saveCacheData()}getCacheData(k){const p=this.cachedData[k];return p?(pe.debug(`Cache hit for key: "${k}"`),p.data):null}getHttpCacheEntry(k){return this.cachedData[k]||null}clearCache(k){delete this.cachedData[k],pe.debug(`Cache cleared for key: "${k}"`),this.saveCacheData()}cleanCache(k){k?Object.entries(this.cachedData).forEach(([p,S])=>{k>=S.lastUpdated&&delete this.cachedData[p]}):this.cachedData={},this.saveCacheData()}setPersistence(k){this.cleanCache(),this.storage="local"===k||"session"===k?window[k+"Storage"]:null,this.loadCacheData()}saveCacheData(){this.storage&&this.storage.setItem(J,JSON.stringify(this.cachedData))}loadCacheData(){const k=this.storage?this.storage.getItem(J):null;this.cachedData=k?JSON.parse(k):{}}static \u0275fac=function(p){return new(p||d)};static \u0275prov=ie.jDH({token:d,factory:d.\u0275fac})}return d})(),$=(()=>{class d{httpCacheService;forceUpdate=!1;constructor(k){this.httpCacheService=k}configure(k){const p=new d(this.httpCacheService);return k&&k.update&&(p.forceUpdate=!0),p}intercept(k,p){return"GET"!==k.method?p.handle(k):new ve.c(S=>{const j=this.forceUpdate?null:this.httpCacheService.getCacheData(k.urlWithParams);null!==j?(S.next(new e.cS(j)),S.complete()):p.handle(k).subscribe(H=>{H instanceof e.cS&&this.httpCacheService.setCacheData(k.urlWithParams,H),S.next(H)},H=>S.error(H),()=>S.complete())})}static \u0275fac=function(p){return new(p||d)(ie.KVO(te))};static \u0275prov=ie.jDH({token:d,factory:d.\u0275fac})}return d})();var A=He(99437);const B=new fe("ErrorHandlerInterceptor");let F=(()=>{class d{intercept(k,p){return p.handle(k).pipe((0,A.W)(S=>this.errorHandler(S)))}errorHandler(k){throw Z.c.production||B.error("Request error",k),k}static \u0275fac=function(p){return new(p||d)};static \u0275prov=ie.jDH({token:d,factory:d.\u0275fac})}return d})();class L{next;interceptor;constructor(C,k){this.next=C,this.interceptor=k}handle(C){return this.interceptor.intercept(C,this.next)}}const D=new ie.nKC("HTTP_DYNAMIC_INTERCEPTORS");let I=(()=>{class d extends e.Qq{httpHandler;injector;interceptors;constructor(k,p,S=[]){super(k),this.httpHandler=k,this.injector=p,this.interceptors=S,this.interceptors||(this.interceptors=[this.injector.get(re),this.injector.get(F)])}cache(k){const p=this.injector.get($).configure({update:k});return this.addInterceptor(p)}skipErrorHandler(){return this.removeInterceptor(F)}disableApiPrefix(){return this.removeInterceptor(re)}request(k,p,S){const j=this.interceptors.reduceRight((H,Y)=>new L(H,Y),this.httpHandler);return new e.Qq(j).request(k,p,S)}removeInterceptor(k){return new d(this.httpHandler,this.injector,this.interceptors.filter(p=>!(p instanceof k)))}addInterceptor(k){return new d(this.httpHandler,this.injector,this.interceptors.concat([k]))}static \u0275fac=function(p){return new(p||d)(ie.KVO(e.hR),ie.KVO(ie.zZn),ie.KVO(D,8))};static \u0275prov=ie.jDH({token:d,factory:d.\u0275fac})}return d})();const E=JSON.parse('{"APP_NAME":"ZigBeeforDomoticZ plugin Admin Interface","About":"About","Version":"Version","NODATA":"No data to display","TOTAL":"Total {totalRecords}","SELECTED":"selected","dashboard":"Dashboard","dashboard.button.refresh":"Refresh","dashboard.trafic.title":"Plugin Status","dashboard.health.title":"Plugin devices","dashboard.devices.state.label":"Known devices of the plugin","dashboard.devices.live":"live","dashboard.devices.disabled":"disabled","dashboard.devices.notseen":"no news","dashboard.devices.notReachable":"lost","dashboard.devices.others":"unknow","dashboard.health.comment":"Live = devices alive
Lost = devices away from the network
No news = devices which haven\'t reported on the last 6 hours
Unknown = devices with status unknown","dashboard.traffic.title":"Send & Receive","dashboard.trafic.label":"Send / Receive messages","dashboard.trafic.send":"Tx","dashboard.trafic.receive":"Rx","dashboard.traffic.comment":"Tx = number of incoming messages since the start of the plugin
Rx = number of outgoing messages since the start of the plugin","dashboard.trend.title":"Statistics","dashboard.txps":"Tx/s","dashboard.rxps":"Rx/s","dashboard.txph":"Tx/h","dashboard.rxph":"Rx/h","dashboard.load":"Load","dashboard.trend.comment":"Tx/s = number of sent messages per second
Rx/s = number of received messages per second
Load = number of messages in queue","dashboard.trafic.maxload.label":"Load","dashboard.trafic.maxload":"peak","dashboard.trafic.currentload":"current","dashboard.trend.chart.yaxis":"message/s","dashboard.devices.title":"Status of non-disabled objects","dashboard.device.title":"Type of devices","dashboard.devices.label":"Devices","dashboard.devices.routers":"routers","dashboard.devices.enddevice":"end devices","dashboard.devices.comment":"Routers = main powered device which participates in the mesh network.
End device = device which is not capable of routing messages, and which is not listening while idle (most of the time, it is a battery based device)","dashboard.battery.title":"Battery","dashboard.devices.battery.label":"Battery","dashboard.devices.battery.inf.15":"< 15%","dashboard.devices.battery.inf.35":"< 35%","dashboard.devices.battery.inf.75":"< 75%","dashboard.devices.battery.sup.75":"> 75%","dashboard.battery.comment":"For devices equipped with a battery, the battery status is reported here.","dashboard.optimized.title":"Optimized devices","dashboard.optimized.comment":"Optimized = devices for which a configuration has been provided to the plugin in order to work as expected.
Non optimized = devices which could not be fully working and/or could generate unexpected load or traffic.
More information in the wiki","dashboard.devices.optimized":"optimized ","dashboard.devices.not.optimized":"non-optimized","dashboard.devices.optimized.label":"Devices","dashboard.popup.device.header":"Object list","dashboard.popup.device.subtitle":"This list is filtered by the item clicked in the dashboard.","dashboard.popup.device.button.close":"Close","dashboard.health.starttime":"Started at ","dashboard.rxpm":"Rx/m","dashboard.txpm":"Tx/m","dashboard.maxload":"MaxLoad","dashboard.plugin.version":"Plugin: ","dashboard.plugin.update.available":"There is an update available for the plugin .
Plugin upgrade","dashboard.plugin.update.available.title":"Plugin update","dashboard.firmware.version":"Firmware: ","dashboard.firmware.update.available":"A new firmware is available for the ZiGate More infos .","dashboard.firmware.update.available.title":"Firmware update","dashboard.device.button":"DomoticZ Devices(json)","dashboard.plugin.header":"Plugin info","dashboard.plugin.subtitle":"Provides plugin information","dashboard.stats.header":"Plugin statistics","dashboard.stats.subtitle":"Provides coordinator statistics in terms of message transmission and reception","dashboard.zdevice.button":"Plugin Devices (json)","dashboard.zgroup.button":"Plugin Groups (json)","dashboard.coordinator.header":"Coordinator Information","dashboard.coordinator.subtitle":"Provides Coordinator information","dashboard.health.OTA":"OTA: ","dashboard.health.group":"Group: ","dashboard.devices.indb":"In Db","consent.banner.header":"Consent","consent.banner.description":"To improve our development and focus on where it is needed. We use cookies for technical purposes and, with your consent, we will collect mainly Plugin version, Coordinator, Firmware version and Size of the network (number of router and number of end devices).
You can consent by using the \'Accept\' button, and not concent by using the \'Reject\' button. If you want to change your mind later, you can update this setting in the Settings menu.
More info on the wiki.","consent.banner.accept":"Accept","consent.banner.decline":"Reject","management":"Management","device":"Device Management","device.byname.subtitle":"List all Hardware devices paired with the plugin, and allows you to enter a friendly name for each device
It shows the friendly device name in the network section instead of a four digit code.
The objects marked in orange are not optimized with the plugin. Please follow the procedure on the wiki.","device.byname.capabilities.column":"Capabilities","device.byname.devicename.column":"Friendly Name","device.byname.header":"Device management","device.byname.trash.column":"Del.","device.byname.optimized.column":"Optimized","device.byname.health.column":"Health","device.byname.battery.column":"Battery","device.byname.ieee.column":"IEEE","device.byname.model.column":"Model","device.byname.devicename.param":"Parameters","device.byname.devicename.enabled":"Device enabled","device.byname.placeholder":"type filter here ....","device.byname.shortid.column":"Short id","device.byname.status.column":"Status","device.byname.lqi.column":"LQI","device.byname.rssi.column":"RSSI","device.byname.validate.button":"Validate","device.byname.widget.column":"Domoticz Widget","device.byname.alert.title":"Delete device?","device.byname.alert.subject":"Are you sure?","device.byname.alert.delete":"Delete","device.byname.alert.cancel":"Cancel","device.byname.error.notify":"Please use the Enabled switch","device.byname.parameter.alert.save":"Validate","device.byname.parameter.alert.cancel":"Cancel","device.byname.parameter.alert.title":"Parameters","device.byname.parameter.alert.subject":"Set specific parameters ","device.byname.parameter.popover.title":"Device Parameters","device.byname.parameter.popover.text":"Specify local device configuration parameters. Green means in sync with the device, when Orange the parameters are not yet pushed to the device","device.byname.delete.colum":"Delete","device.byname.optimized.popover.title.ok":"The object is optimized with the plugin","device.byname.optimized.popover.text.ok":"Click on the icon to copy the object info","device.byname.optimized.popover.title.ko":"The object is not optimized with the plugin","device.byname.optimized.popover.text.ko":"Click on the icon to copy the object info","group":"Group Management","group.create.devices.column":"Devices selected in the group","group.create.groupname.column":"Group name","group.create.header":"Group management","group.create.placeholder":"type filter here ....","group.create.shortid.column":"Group id","group.create.subtitle":"Allow edit, create and remove groups
Before modifications, make a full group analisys on the page Admin > Groups.
Before validation, make sure that all routers are connected to the ZigBee network.
After validation, make a special analisys on the router(s) in order to check that the changes have been taken.
Do not do all changes at once, but prefer to do it step by step with small changes.","group.create.validate.button":"Validate","group.create.add.button":"Add a new Group","group.create.delete.button":"Delete","group.create.coordinator.column":"Coordinator (in the group)","group.reloadplugin.alert.title":"Plugin Reload","group.reloadplugin.alert.subject":"Groups have been updated, plugin need to be restarted","group.reloadplugin.alert.cancel":"Close","header.popover.title":"Restart needed","header.popover.text":"Some changes are pending a plugin restart is needed","network":"Network","network.topo":"Topology","network.topo.header":"Topology reports","network.topo.subtitle":"List of the saved reports ","network.topo.visu.header":"Topology diagram","network.topo.visu.subtitle":"The Topology diagram shows all links between 2 nodes. If you leave the cursor on a link you\'ll see the link direction as well as the link quality (from 0 to 255 = best).","network.topo.visu.network.header":"Network graph","network.topo.visu.network.subtitle":"Will draw a network graph of your ZigBee environment.
Click on an object to have its child objects displayed in a table below.","network.topo.visu.network.filter":"Name of node to filter","network.topo.device.visu.network.chart.title":"Network graph","network.topo.visu.delete.button":"Delete","network.topo.device.batterylevel.column":"Battery","network.topo.device.deviceid.column":"Device id","network.topo.device.id.column":"Id","network.topo.device.nvalue.column":"nValue","network.topo.device.signalelevel.column":"Signal","network.topo.device.svalue.column":"sValue","network.topo.device.switchtype.column":"Switch","network.topo.device.timedout.column":"Timeout","network.topo.device.type.column":"Type","network.topo.device.name.column":"Name","network.topo.device.visu.header":"Devices List","network.topo.device.visu.subtitle":"Provides the list of devices managed by coordinator. You\'ll get also a reference to the Widget names and some other information from Domoticz","network.topo.device.visu.chart.title":"Mesh Diagram","network.topology.req.header":"Topology scan","network.topology.req.subtitle":"This will trigger a Topology scan (run in background)","network.topology.req.button":"Scan","network.topo.visu.network.relation.header":"List of linked objects of {{deviceSelected}}","network.topo.visu.network.relation.subtitle":"The array displays the LQI value between the selected object and all of its child objects.","network.topo.visu.network.relation.to":"Children","network.topo.visu.network.relation.weight":"LQI","network.topo.visu.network.relation.nochild":"The selected object doesn\'t have any children.","network.topo.visu.network.relation.model":"Model","network.topo.visu.network.relation.status":"Status","network.topo.visu.network.relation.health":"Health","network.topo.visu.network.relation.battery":"Battery","network.energy":"Interference level","network.stats.header":"Interference level reports","network.stats.subtitle":"List of saved reports ","network.stats.visu.delete.button":"Delete","network.inter.req.header":"Short Interference scan","network.inter.req.subtitle":"An Interference scan report will be provided. It will report Interference level between routers and coordinator. The higher the value, the worst it is.","network.inter.req.button":"scan","network.full.req.header":"Full Interference scan","network.full.req.subtitle":"As for the short Interference scan, the report will provide Interference level between all routers and the coordinator, handling all cross-communications.
This report might take a while when the number of routers is high, n((n-1)/2), for 5 routers it is 10 combinations, for 10 routers 45","network.full.req.button":"scan full","network.stats.detail.visu.header":"Interference level","network.stats.detail.visu.subtitle":"The higher the number, the more interference there is (0 to 255)","network.stats.detail.visu.totaltx":"Tx : ","network.stats.detail.visu.totalfail":"Fail : ","network.stats.detail.visu.chart.title":"Interference level","network.stats.detail.visu.chart.y-axis":"Interference level","network.stats.detail.visu.chart.x-axis":"Channel","admin":"Admin","admin.pairing":"Provisionning","admin.permittojoin.label":"Accept new hardware","admin.permittojoin.on.notify":"Accept new hardware On","admin.permittojoin.off.notify":"Accept new hardware Off","admin.assistprovisionning.title":"Pairing a new device with the assitant","admin.assistprovisionning.subtitle":"Click on Pairing and follow the instructions ","admin.assistprovisionning.go.button":"Pairing","admin.assistprovisionning.alert.title":"Pairing assistant - Waiting for new device","admin.assistprovisionning.alert.subject":"Make a Reset on your device to launch the pairing process. Refer to the device documentation if needed.","admin.assistprovisionning.alert.state":"Status: ","admin.assistprovisionning.alert.description":"Description: ","admin.assistprovisionning.alert.nwkid":"Short NwkId: ","admin.assistprovisionning.alert.ieee":"IEEE : ","admin.assistprovisionning.alert.widgets":"Widget List: ","admin.assistprovisionning.alert.cancel":"Exit","admin.assistprovisionning.alert.ep":"EndPoint: ","admin.assistprovisionning.alert.cluster":"ClusterId : ","admin.assistprovisionning.alert.profile":"Profile : ","admin.assistprovisionning.alert.device":"Device : ","admin.assistprovisionning.alert.model":"Model : ","admin.assistprovisionning.alert.plugincertified":"Plugin Certification: ","admin.assistprovisionning.alert.Failed":"Failed (Something went wrong, check the log for more details)","admin.assistprovisionning.alert.inDB":"Successful (check if widgets have been created)","admin.assistprovisionning.alert.Unexpected":"Unexpected (Contact support)","admin.permittojoin.title":"Pairing a new device for a period of time","admin.permittojoin.subtitle":"Click on the button to choose the period of time ","admin.permittojoin.validate.button":"Validate","admin.permittojoin.permanent.button":"Permanent","admin.permittojoin.permanent.notify":"Permanent Pairing mode","admin.permittojoin.stop.button":"Stop","admin.permittojoin.stop.notify":"Pairing mode Off","admin.permittojoin.4min.button":"4 minutes","admin.permittojoin.4min.notify":"Pairing mode On for 4 minutes","admin.permittojoin.notify":"Pairing mode changed","admin.permittojoinrouter.title":"Pairing a new device on a router","admin.permittojoinrouter.subtitle":"Permit to pair a device on a specific router ","admin.permittojoinrouter.devices.placeholder":"List of routers","admin.fullreset.title":"Preparing device for full reset","admin.fullreset.subtitle":"If you want to do a hard reset of an existing provisioned device in Domoticz, it is advised to indicate the plugin of such event happening. Then the plugin will make sure to redo a full device discovery and set whatever as been set during the first pairing","admin.fullreset.device.placeholder":"Select a device","admin.fullreset.button":"Reset mode","admin.fullreset.notify":"Reset mode activated","admin.recreate.title":"Recreate widget(s) of existing device","admin.recreate.subtitle":"Will crete or recreate all widgets of a given device. It will use the latest configuration if applicable. You might get duplication widgets in Domoticz, so make sure to remove those.","admin.recreate.device.placeholder":"Select a device","admin.recreate.button":"Recreate widget","admin.recreate.notify":"Recreate widget started","admin.group":"Group","admin.rescan.group.title":"Complete analysis of the groups","admin.rescan.group.subtitle":"Ask each router to know if it belongs to one or more groups
The result wil be in the Group management.

Make sure ALL the routers are connected to the ZigBee network before launching the analysis.","admin.rescan.group.button":"Full scan","admin.scan.group.device.title":"Selective analysis of the groups","admin.scan.group.device.subtitle":"Ask one or more router(s) to know if it (they) belong(s) to one or more groups
The result wil be in the Group management.

Make sure ALL the routers are connected to the ZigBee network before launching the analysis.","admin.scan.group.device.button":"Scan","admin.scan.group.device.placeholder":"Select router(s) to scan","admin.coordinator":"Coordinator","admin.coordinator.swreset.title":"Coordinator Soft reset","admin.coordinator.swreset.subtitle":"Will restart the coordinator (no loss of paired devices) ","admin.coordinator.swreset.button":"Soft reset","admin.coordinator.swreset.notify":"Coordinator restart started","admin.coordinator.switchchannel.title":"Coordinator change channel","admin.coordinator.switchchannel.subtitle":"Will change the coordinator channel to the selected one, and will broadcast the change.
ATTENTION, while routers usally switch to the new channel, none Zigbee 3.0 End Device won\'t and you will have to reset them to get them rejoining the new channel.","admin.coordinator.switchchannel.placeholder":"Coordinator channel (0 default)","admin.coordinator.switchchannel.button":"Change channel","admin.coordinator.switchchannel.notify":"Channel changing started","admin.erasepdm.title":"Erase ZiGate","admin.erasepdm.subtitle":"Will erase the permanent data memory of ZiGate (You will lose all paired devices)
You must enable the eraseZigatePDM parameter in Advanced Setting before","admin.erasepdm.button":"erase","admin.erasepdm.notify":"ErasePdm ZiGate started","admin.erasepdm.alert.title":"Erase ZiGate, Are you sure?","admin.erasepdm.alert.subject":"ATTENTION, last chance !!!!!","admin.erasepdm.alert.cancel":"Cancel","admin.erasepdm.alert.erase":"Erase","admin.plugin":"Plugin","admin.plugin.reload.title":"Restart plugin","admin.plugin.reload.subtitle":"Will restart the plugin ","admin.plugin.reload.button":"Restart","admin.plugin.reload.notify":"Plugin restarting","admin.plugin.reload.port":"Port","admin.plugin.reload.username":"Username","admin.plugin.reload.password":"Password","admin.plugin.reload.host":"Hostname","admin.plugin.reload.protocol":"Protocol","admin.plugin.reload.alert.title":"Restart plugin, Are you sure?","admin.plugin.reload.alert.subject":"ATTENTION, last chance !!!!!","admin.plugin.reload.alert.cancel":"Cancel","admin.plugin.reload.alert.erase":"Restart","admin.plugin.update.title":"Plugin Upgrade","admin.plugin.update.subtitle":"Upgrade the plugin to the most up to date version in the branch you are.
If the upgrade goes well, you will be asked to restart the plugin, otherwise you\'ll have to do the upgrade manually.","admin.plugin.update.button":"Start upgrade (can take several minutes)","admin.plugin.update.success":"You can restart the plugin now","admin.plugin.update.error":"Please check the log file, and eventually correct manually","admin.firmware":"Firmware","admin.firmware.title":"Devices firmware","admin.firmware.subtitle":"Update device firmware ","admin.firmware.button.update":"Update","admin.firmware.notify":"Updating firmware","admin.firmware.list":"list of available firmware","admin.firmware.manufacturer.list":"list of manufacturer","admin.firmware.devices.list":"list of devices","admin.firmware.force":"force update","admin.firmware.alert.title":"title alert","admin.firmware.alert.subject":"subject alert","admin.firmware.alert.ok":"update","admin.firmware.alert.cancel":"cancel","admin.firmware.alert.list.devices":"list of devices","admin.firmware.alert.filename":"file name","admin.firmware.alert.device":"Device ","admin.firmware.alert.brand":"Brand ","settings":"Settings","setting.header":"Settings","setting.subtitle":"Allows you to visualize and edit the various plugin settings
Some require a restart of the plugin.","setting.validate.button":"Validate","setting.reinit.button":"Settings (default)","setting.advanced.button":"Advanced settings","setting.normal.button":"Normal settings","setting.help.link":"More information on the settings can be found on the Wiki","setting.help.legend":"These are all the plugin settings that can be updated.","setting.header.Services":"Available services","setting.subtitle.Services":"Enable the services you want to be active","useDomoticzLog":"Use Domoticz Log","enablegroupmanagement":"Enable Groups","zigatePartOfGroup0000":"Create Group 0000","allowRemoveZigateDevice":"Removal on Coordinator","resetPermit2Join":"Reset permit to join at startup","forcePollingAfterAction":"Get device status after action","enableReadAttributes":"Enable Polling","blueLedOnOff":"Enable Coordinator Blue Led","setting.reloadplugin.alert.title":"Plugin Reload","setting.reloadplugin.alert.subject":"Settings have been updated, plugin need to be restarted","setting.reloadplugin.alert.cancel":"Close","setting.resetplugin.alert.title":"Coordinator Reset","setting.resetplugin.alert.subject":"Settings have been updated, Coordinator needs to be reset (most likely, all devices will require re-pairing).","setting.resetplugin.alert.cancel":"Close","setting.eraseplugin.alert.title":"Erase PDM","setting.eraseplugin.alert.subject":"Settings have been updated, PDM needs to be erased (all devices will require re-pairing)","setting.eraseplugin.alert.cancel":"Close","Ping":"Enable Ping","setting.header.DomoticzEnvironment":"Domoticz URL","setting.subtitle.DomoticzEnvironment":"Settings on how to access Domoticz API","setting.header.WebInterface":"Web Interface settings","setting.subtitle.WebInterface":"Allows to enable/disable Web UI","enableWebServer":"Enable web User Interface","setting.header.DeviceManagement":"Device Management settings","setting.subtitle.DeviceManagement":"Here are all settings related to Devices and how the coordinator interact with them","setting.header.CoordinatorConfiguration":"Coordinator settings","setting.subtitle.CoordinatorConfiguration":"Here are all settings related to the coordinator hardware.","setting.header.OverTheAirUpgrade":"Over The Air Upgrade settings","setting.subtitle.OverTheAirUpgrade":"These are all settings related to the Over The Air upgrade functionnality.","allowOTA":"Enable OTA","setting.header.Legrand":"Legrand Netatmo settings","setting.subtitle.Legrand":"Allow to set a number of Legrand specifics options","setting.header.Schneider_Wiser":"Schneider Wiser settings","setting.subtitle.Schneider_Wiser":"Allow to enable some specific mecanishm, and some other options","internetAccess":"Allow Internet access","batteryOTA":"allow battery powered devices OTA","waitingOTA":"delay when starting the OTA process","setting.header.GroupManagement":"Group management settings","setting.subtitle.GroupManagement":"Here are all setting to enable and configure the Group management feature.","OnIfOneOn":"Group is On if one device is On (otherwise needs all devices On)","setting.header.PluginConfiguration":"Plugin environment settings","setting.subtitle.PluginConfiguration":"Here are all Plugin environements settings","numDeviceListVersion":"Number of DeviceList history","setting.header.Others":"Miscaleneous settings","setting.header.Provisioning":"Pairing settings","setting.subtitle.Provisioning":"Special settings for special devices or special conditions","setting.header.DevicePolling":"Devices polling","setting.subtitle.DevicePolling":"Allows you to specify the polling frequency per type of information. Be aware that a high frequency will overload the coordinator and might cause some performance issues","setting.subtitle.Others":"","logLQI":"Delay before starting a Topology scan (sec)","networkScan":"Interferences report frequency (sec)","setting.header.CommandTransition":"Command transitions for Lights in Groups","setting.subtitle.CommandTransition":"For Groups only. You can specify the transition time in 10th of seconds with which the transition from current to target stage. For example how many 10th of second it will take to move from the current Color to the Color I requested via Domoticz. Color temp is used for White Color","moveToHueSatu":"Transition for Hue","moveToColourTemp":"Transition for Color Temp","moveToColourRGB":"Transition for RGB color","moveToLevel":"Transition for Move to Level","setting.header.Experimental":"Experimental parameters","setting.subtitle.Experimental":"Use it only if you have been asked to","api.global.error.notify":"Backend error","api.global.succes.scanlaunched.notify":"Analysis started","api.global.succes.commandsent.notify":"Command sent","api.global.succes.saved.notify":"Saved","setting.header.OTA":"Device firmware update Over-The-Air","setting.subtitle.OTA":"Parameters which allow to configure how the plugin Over-The-Air upgrade would behave.","IkeaTradfri_Repository":"IKEA-TRADFRI Official repository","ZigbeeOTA_Repository":"Zigbee OTA firmware (build by Internet community)","autoServeOTA":"Allow automatic update when firmware found","checkFirmwareAgainstZigbeeOTARepository":"Check if there is a firmware available in one of the repository","DomoticzCustomMenu":"Enable Plugin WebUI from Domoticz Custom menu","NightShift":"Push background activity from 11PM to 6AM","ConfigureReportingChunk":"Max number of attributes when Configure Reporting","ReadAttributeChunk":"Max number of attributes when Read Attributes","resetConfigureReporting":"Reset all existing Configure Reporting","resetReadAttributes":"Reset all read attributes","TopologyV2":"Network Topology based on routing and neighbourghs tables","autoBackup":"Automatic backup of coordinator","BackupFullDevices":"backup device information","BellowsNoMoreEndDeviceChildren":"Disable direct pairing on Coordinator","BellowsSourceRouting":"Enable Zigbee Source routing mecanishm","pingDevices":"Ping main-powered devices regularly to v\xe9rify their health","GroupOnBattery":"Enable group creation to a battery devices","deviceOffWhenTimeOut":"Switch device to Off when network Timeout","checkConfigurationReporting":"Check the device Report configuration regularly","TXpower_set":"Coordinator transmission power level","pingDevicesFeq":"Frequency of regular ping main-powered devices","GrpfadingOff":"Fadding mode","GrpmoveToColourRGB":"Transition time for RGB move color","GrpmoveToColourTemp":"Transition time for TEMP move color","GrpmoveToLevel":"Transition time for one dim position to an other one","enableSchneiderWiser":"Enable if you have Legacy Wiser devices","LegrandCompatibilityMode":"Enable to simulate a Legrand Netamo Hub","AqaraOppleBulbMode":"Enable to have Aqara Opple remote commanding directly devices","forceClosingAllNodes":"Enable to close Pairing mode in each router","extendedPANID":"Zigbee Extended PAN Identifier","allowReBindingClusters":"Enable re-binding clusters during configure reporting operations","doUnbindBind":"Unbind and then bind, when doing a binding operation","PluginAnalytics":"Enable the plugin uses cookies to collect information about the Coordinator and the device models used.","autoRestore":"Automaticaly apply the most recent coordinator backup when a clean coordinator is found","forceSwitchSelectorPushButton":"Workaround Domoticz issue #4143","resetSwitchSelectorPushButton":"Number of sec after the Selector is reset to Off","setting.header.ManufSpecifiqDevicePolling":"Specifc Polling","setting.subtitle.ManufSpecifiqDevicePolling":"0 stands for disable otherwise it indicates the polling frequency in seconds, For Manufacturer Specific it will allow to retreive device states whcih are not provided automatically by the device","setting.header.Zigpy":"Zigpy CIE specific configuration","setting.subtitle.Zigpy":"Specific to some CIE as ConBeeII and RasBeeII it might required to enable some CIE specific item for some brand","resetMotiondelay":"Delay in sec to reset motion detection","Certification":"Certification ( FCC or CE )","channel":"Coordinator chanel (default 0)","alarmDuration":"Duration in sec for Alarm device","vibrationAqarasensitivity":"Aqara Vibration sensitivity","TradfriKelvinStep":"Kelvin step for Tradfri remote","numTopologyReports":"Number of Topology reports saved","numEnergyReports":"Number of Interference reports saved","PowerOn_OnOff":"Return state after device power outage","logDeviceUpdate":"Enable UpdateDevice message in Log","capturePairingInfos":"Capture Pairing information and save in Reports folder","error_required":"Required","ForceAPSAck":"Force APS Ack to ZCL and ZDP commands","zigpySourceRouting":"Enable Zigbee Source routing (plugin)","reenforcementWiser":"Enable reenforcement messages (legacy Wiser only)","forcePassiveWidget":"Allow Domoticz actions on Widgets from remote devices","tools":"Tools","tools.tools":"Tools","tools.tools.export":"Export","tools.tools.zdevice-raw.button":"Plugin Raw Devices","tools.tools.non-optimized.button":"Non-optimized devices","tools.tools.zgroup.button":"Plugin Groups","tools.tools.zdevice.button":"Plugin Devices","tools.tools.device.button":"Domoticz Widgets","tools.tools.log.button":"Plugin Logs","tools.tools.infos.plugin.button":"Plugin info","tools.tools.coordinator.infos.button":"Coordinator info","tools.tools.plugin-health.button":"Plugin health","tools.tools.zdevice-name.button":"zDevice-name","tools.tools.domoticz-env.button":"domoticz-env","tools.tools.battery-state.button":"Battery State","tools.tools.zgroup-list-available-device.button":"zGroup-lst-devices","tools.tools.settings.button":"Settings","tools.tools.plugin-stat.button":"Traffic","tools.command":"Command","tools.debugcommand.title":"Direct commands","tools.debugcommand.subtitle":"Allow to interact directly with a device, with a set of commands based on the device capabilities
(1) Select the device,
(2) Select the action you want to perform,
(3) Select a potential device type which can influence the way to interact with the device,
(4) Optionaly you might have to enter a Value or select a Color.","tools.debugcommand.device":"Select device","tools.debugcommand.button.cancel":"Cancel","tools.debugcommand.action":"Select action","tools.debugcommand.type":"Select type","tools.debugcommand.value":"Value","tools.debugcommand.level.error":"between 0 and 100","tools.debugcommand.effect.error":"between 0x00 to 0xff","tools.debugcommand.button.send":"Send","tools.rawcommand-zigate.title":"ZiGate command (raw)","tools.rawcommand-zigate.subtitle":"Allow to send a ZiGate command directly tothe coordinator in raw mode.
You must follow the ZiGate protocol .","tools.rawcommand-zigate.command":"Message RAW type","tools.rawcommand-zigate.error":"Input required","tools.rawcommand-zigate.payload":"Data","tools.rawcommand-zigate.button.send":"Submit","tools.rawcommand-zigpy.title":"ZigBee command","tools.rawcommand-zigpy.subtitle":"Allow to send a ZiGate command directly tothe coordinator in raw mode.","tools.rawcommand-zigpy.placeholder":"Select a device","tools.rawcommand-zigpy.groupaddressflag":"GroupAddressFlag","tools.rawcommand-zigpy.ackmode":"AckMode","tools.rawcommand-zigpy.profileid":"ProfileId","tools.rawcommand-zigpy.clusterid":"ClusterId","tools.rawcommand-zigpy.sourceep":"SourceEp","tools.rawcommand-zigpy.targetep":"TargetEp","tools.rawcommand-zigpy.sqn":"Sqn","tools.rawcommand-zigpy.payload":"Data","tools.rawcommand-zigpy.button.send":"Submit","tools.reporting.configure":"Reporting","tools.reporting.configure.title":"Configure the reporting mechanism","tools.reporting.configure.subtitle":"Configure a device to automatically report the values of one or more of its attributes, or to receive such reports.
The minimum reporting interval field is 16 bits in length and SHALL contain the minimum interval, in seconds, between issuing reports of the specified attribute.
The maximum reporting interval field is 16 bits in length and SHALL contain the maximum interval, in seconds, between issuing reports of the specified attribute.
The reportable change field SHALL contain the minimum change to the attribute that will result in a report being issued. This field is of variable length.
For attributes with \'analog\' data type (see 2.6.2), the field has the same data type as the attribute. The sign (if any) of the reportable change field is ignored.","tools.reporting.configure.trigger.button":"Trigger","tools.reporting.configure.reset.button":"Reset","tools.reporting.configure.validate.button":"Validate","tools.reporting.configure.device":"Select a device","tools.reporting.configure.clusterId.column":"Cluster id","tools.reporting.configure.attributeId.column":"Attribute id","tools.reporting.configure.dataType.column":"Datatype","tools.reporting.configure.timeout.column":"Timeout","tools.reporting.configure.minInterval.column":"min interval (secondes)","tools.reporting.configure.maxInterval.column":"max interval (secondes)","tools.reporting.configure.change.column":"Change","tools.reporting.configure.hexa.error":"not an hexadecimal value","tools.reporting.configure.length.error":"not an expected value","tools.binding":"Binding","tools.binding.title":"Device Binds","tools.binding.subtitle":"Allow to bind a cluster between source and target devices
e.g. If you want to bind a Temperature sensor with an Actuator, the SourceIEEE/Ep will be the Temperature sensor, the DestIEEE/Ep will be the actuator and the Cluster will be 0402 (Temperature Measurement)","tools.binding.sourceIeee":"source IEEE","tools.binding.error":"Input required","tools.binding.sourceEp":"Select source device","tools.binding.destIeee":"Target IEEE","tools.binding.destEp":"Select target device","tools.binding.cluster":"Cluster","tools.binding.button.put":"Binding","tools.unbinding.button.put":"Unbinding","tools.debug":"Debug","setting.header.VerboseLogging":"Verbose and Logging","setting.subtitle.VerboseLogging":"Will allow you to enable/disable some Logging features ","tools.debugsetting.help.legend":"These are all plugin settings which can be updated.","tools.debugsetting.advanced.button":"Advanced settings","tools.debugsetting.normal.button":"Standards settings","tools.debugsetting.validate.button":"Validate","tools.debugsetting.reinit.button":"Settings (default)","tools.debugsetting.reloadplugin.alert.title":"Plugin Reload","tools.debugsetting.reloadplugin.alert.subject":"Settings have been updated, plugin need to be restarted","tools.debugsetting.reloadplugin.alert.cancel":"Close","tools.error":"Error(s)","tools.error.log-history.button":"Log Error History (json)","tools.error.log-history.clear":"Clear Error History","error.popover.title":"Error(s) detected","error.popover.text":"Clic to see the log","manufacturer":"Manufacturer","manufacturer.casaia":"CASA.ia","manufacturer.casaia.header":"CASA.ia manufacturer specific configuration","manufacturer.casaia.subtitle":"Configuration of the IR Code of the ZigBee infrared temperature control thermostat IR split AC controller ","manufacturer.casaia.placeholder":"type filter here ....","manufacturer.casaia.nwkid":"Short id","manufacturer.casaia.name":"Friendly Name","manufacturer.casaia.ieee":"IEEE","manufacturer.casaia.model":"Model","manufacturer.casaia.ircode":"Infrared Code","manufacturer.casaia.validate.button":"Validate","manufacturer.zlinky.header":"Le Zlinky","manufacturer.zlinky.subtitle":"Liste les donn\xe9es r\xe9cup\xe9r\xe9es par le Zlinky s\xe9lectionn\xe9,","manufacturer.zlinky.placeholder":"Select Zlinky device","manufacturer.zlinky.key":"Designation","manufacturer.zlinky.value":"Value","manufacturer.zlinky.DateCode":"Code date","manufacturer.zlinky.SWBuildID":"SWBuildID","manufacturer.zlinky.ADC0":"Serial Number","manufacturer.zlinky.BASE":"Index Base","manufacturer.zlinky.OPTARIF":"Option tarifaire","manufacturer.zlinky.ISOUSC":"Intensit\xe9 souscrite","manufacturer.zlinky.HCHC":"Index HCHC","manufacturer.zlinky.HCHP":"Index HCHP","manufacturer.zlinky.EJPHN":"Index EJPHN","manufacturer.zlinky.EJPHPM":"Index EJPHPM","manufacturer.zlinky.BBRHCJB":"Index BBRHCJB","manufacturer.zlinky.BBRHPJB":"Index BBRHPJB","manufacturer.zlinky.BBRHCJW":"Index BBRHCJW","manufacturer.zlinky.BBRHPJW":"Index BBRHPJW","manufacturer.zlinky.BBRHCJR":"Index BBRHCJR","manufacturer.zlinky.BBRHPJR":"Index BBRHPJR","manufacturer.zlinky.IINST":"Courant efficace","manufacturer.zlinky.IINST1":"Courant efficace phase 1","manufacturer.zlinky.IINST2":"Courant efficace phase 2","manufacturer.zlinky.IINST3":"Courant efficace phase 3","manufacturer.zlinky.IMAX":"Intensit\xe9 maximale","manufacturer.zlinky.IMAX1":"Intensit\xe9 maximale phase 1","manufacturer.zlinky.IMAX2":"Intensit\xe9 maximale phase 2","manufacturer.zlinky.IMAX3":"Intensit\xe9 maximale phase 3","manufacturer.zlinky.PMAX":"Puissance maximale triphas\xe9e atteinte","manufacturer.zlinky.PAPP":"Puissance apparente","manufacturer.zlinky.PTEC":"P\xe9riode tarifaire en cours","manufacturer.zlinky.DEMAIN":"Couleur du lendemain","manufacturer.zlinky.HHPHC":"Horaire Heure Pleines Heures Creuses","manufacturer.zlinky.PPOT":"Pr\xe9sence des potentiels","manufacturer.zlinky.PEJP":"Pr\xe9avis d\xe9but EJP (30min)","manufacturer.zlinky.ADPS":"Avertissement du d\xe9passement de la puissance souscrite","manufacturer.zlinky.ADIR1":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 1","manufacturer.zlinky.ADIR2":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 2","manufacturer.zlinky.ADIR3":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 3","manufacturer.zlinky.ADSC":"Adresse Secondaire du Compteur","manufacturer.zlinky.NGTF":"Nom du calendrier tarifaire fournisseur","manufacturer.zlinky.LTARF":"Libell\xe9 tarif fournisseur en cours","manufacturer.zlinky.NTARF":"Num\xe9ro de l\u2019index tarifaire en cours","manufacturer.zlinky.VTIC":"Version de la TIC","manufacturer.zlinky.DATE":"Date et heure courant","manufacturer.zlinky.EAST":"\xc9nergie active soutir\xe9e totale","manufacturer.zlinky.EASF01":"\xc9nergie active soutir\xe9e Fournisseur, index 01","manufacturer.zlinky.EASF02":"\xc9nergie active soutir\xe9e Fournisseur, index 02","manufacturer.zlinky.EASF03":"\xc9nergie active soutir\xe9e Fournisseur, index 03","manufacturer.zlinky.EASF04":"\xc9nergie active soutir\xe9e Fournisseur, index 04","manufacturer.zlinky.EASF05":"\xc9nergie active soutir\xe9e Fournisseur, index 05","manufacturer.zlinky.EASF06":"\xc9nergie active soutir\xe9e Fournisseur, index 06","manufacturer.zlinky.EASF07":"\xc9nergie active soutir\xe9e Fournisseur, index 07","manufacturer.zlinky.EASF08":"\xc9nergie active soutir\xe9e Fournisseur, index 08","manufacturer.zlinky.EASF09":"\xc9nergie active soutir\xe9e Fournisseur, index 09","manufacturer.zlinky.EASF10":"\xc9nergie active soutir\xe9e Fournisseur, index 10","manufacturer.zlinky.EASD01":"\xc9nergie active soutir\xe9e Distributeur, index 01","manufacturer.zlinky.EASD02":"\xc9nergie active soutir\xe9e Distributeur, index 02","manufacturer.zlinky.EASD03":"\xc9nergie active soutir\xe9e Distributeur, index 03","manufacturer.zlinky.EASD04":"\xc9nergie active soutir\xe9e Distributeur, index 04","manufacturer.zlinky.EAIT":"\xc9nergie active inject\xe9e totale","manufacturer.zlinky.ERQ1":"\xc9nergie r\xe9active Q1 total","manufacturer.zlinky.ERQ2":"\xc9nergie r\xe9active Q2 total","manufacturer.zlinky.ERQ3":"\xc9nergie r\xe9active Q3 total","manufacturer.zlinky.ERQ4":"\xc9nergie r\xe9active Q4 total","manufacturer.zlinky.IRMS1":"Courant efficace, phase 1","manufacturer.zlinky.IRMS2":"Courant efficace, phase 2","manufacturer.zlinky.IRMS3":"Courant efficace, phase 3","manufacturer.zlinky.URMS1":"Tension efficace, phase 1","manufacturer.zlinky.URMS2":"Tension efficace, phase 2","manufacturer.zlinky.URMS3":"Tension efficace, phase 3","manufacturer.zlinky.PREF":"Puissance apparente de r\xe9f\xe9rence (PREF)","manufacturer.zlinky.STGE":"Registre de Statuts","manufacturer.zlinky.PCOUP":"Puissance apparente de coupure (PCOUP)","manufacturer.zlinky.SINSTI":"Puissance apparente Instantan\xe9e inject\xe9e","manufacturer.zlinky.SMAXIN":"Puissance apparente max. inject\xe9e n","manufacturer.zlinky.SMAXIN-1":"Puissance apparente max. inject\xe9e n-1","manufacturer.zlinky.CCASN":"Point n de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCASN-1":"Point n-1 de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCAIN":"Point n de la courbe de charge active inject\xe9e","manufacturer.zlinky.CCAIN-1":"Point n-1 de la courbe de charge active inject\xe9e","manufacturer.zlinky.UMOY1":"Tension moyenne phase 1","manufacturer.zlinky.UMOY2":"Tension moyenne phase 2","manufacturer.zlinky.UMOY3":"Tension moyenne phase 3","manufacturer.zlinky.SINSTS":"Puissance apparente Instantan\xe9e soutir\xe9e","manufacturer.zlinky.SINSTS1":"Puissance apparente Instantan\xe9e soutir\xe9e phase 1","manufacturer.zlinky.SINSTS2":"Puissance apparente Instantan\xe9e soutir\xe9e phase 2","manufacturer.zlinky.SINSTS3":"Puissance apparente Instantan\xe9e soutir\xe9e phase 3","manufacturer.zlinky.SMAXN":"Puissance apparente max. soutir\xe9e n","manufacturer.zlinky.SMAXN1":"Puissance apparente max. soutir\xe9e n phase 1","manufacturer.zlinky.SMAXN2":"Puissance apparente max. soutir\xe9e n phase 2","manufacturer.zlinky.SMAXN3":"Puissance apparente max. soutir\xe9e n phase 3","manufacturer.zlinky.SMAXN-1":"Puissance apparente max. soutir\xe9e n-1","manufacturer.zlinky.SMAXN1-1":"Puissance apparente max. soutir\xe9e n-1 phase 1","manufacturer.zlinky.SMAXN2-1":"Puissance apparente max. soutir\xe9e n-1 phase 2","manufacturer.zlinky.SMAXN3-1":"Puissance apparente max. soutir\xe9e n-1 phase 3","manufacturer.zlinky.MSG1":"Message court","manufacturer.zlinky.MSG2":"Message ultra court","manufacturer.zlinky.PRM":"PRM","manufacturer.zlinky.DPM1":"D\xe9but Pointe Mobile 1","manufacturer.zlinky.FPM1":"Fin Pointe Mobile 1","manufacturer.zlinky.DPM2":"D\xe9but Pointe Mobile 2","manufacturer.zlinky.FPM2":"Fin Pointe Mobile 2","manufacturer.zlinky.DPM3":"D\xe9but Pointe Mobile 3","manufacturer.zlinky.FPM3":"Fin Pointe Mobile 3","manufacturer.zlinky.RELAIS":"Relais","manufacturer.zlinky.NJOURF":"Num\xe9ro du jour en cours calendrier fournisseur","manufacturer.zlinky.NJOURF+1":"Num\xe9ro du prochain jour calendrier fournisseur","manufacturer.zlinky.PJOURF+1":"Profil du prochain jour calendrier fournisseur","manufacturer.zlinky.PPOINTE1":"Profil du prochain jour de pointe","manufacturer.zlinky.PROTOCOL_LINKY_0":"Mode historique monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_1":"Mode standard monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_2":"Mode historique triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_3":"Mode standard triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_5":"Mode standard monophas\xe9 producteur","manufacturer.zlinky.PROTOCOL_LINKY_7":"Mode standard triphas\xe9 producteur","ZigpyTopologyReport":"Enable the use of zigpy Topology Scanner","ZigpyTopologyReportAutoBackup":"Automaticaly backup auto-triggered Topology scan"}'),_=JSON.parse('{"APP_NAME":"Interface d\'administration du plugin ZigBeeforDomoticZ","About":"A Propos","Version":"Version","NODATA":"Pas de donn\xe9es \xe0 afficher","TOTAL":"Total {totalRecords}","SELECTED":"s\xe9lectionn\xe9","dashboard":"Tableau de bord","dashboard.button.refresh":"Rafra\xeechir","dashboard.trafic.title":"\xc9tat du Plugin","dashboard.health.title":"Objets du plugin","dashboard.devices.state.label":"Objets connus du plugin","dashboard.devices.live":"vivant","dashboard.devices.disabled":"d\xe9sactiv\xe9","dashboard.devices.notseen":"pas vu","dashboard.devices.notReachable":"perdu","dashboard.devices.others":"ind\xe9fini","dashboard.health.comment":"Vivant = objets pour lesquels un message a \xe9t\xe9 re\xe7u r\xe9cemment
D\xe9sactiv\xe9 = objets qui sont d\xe9sactiv\xe9s
Perdu = objets qui ne sont plus sur le r\xe9seau
Pas vu = objets qui n\'ont pas donn\xe9 d\'information sur les derni\xe8res 6 heures
Ind\xe9fini = objets qui sont dans un \xe9tat ind\xe9termin\xe9","dashboard.traffic.title":"Envoi & r\xe9ception","dashboard.trafic.label":"Messages envoy\xe9s et re\xe7us","dashboard.trafic.send":"Tx","dashboard.trafic.receive":"Rx","dashboard.traffic.comment":"Tx = nombre de messages envoy\xe9s depuis le lancement du plugin
Rx = nombre de messages re\xe7us depuis le lancement du plugin","dashboard.trend.title":"Statistiques","dashboard.txps":"Tx/s","dashboard.rxps":"Rx/s","dashboard.txph":"Tx/h","dashboard.rxph":"Rx/h","dashboard.load":"Charge","dashboard.trend.comment":"Tx/s = nombre de messages envoy\xe9s par seconde
Rx/s = nombre de messages re\xe7us par seconde
Charge = nombre de messages actuellement en attente","dashboard.trafic.maxload.label":"Charge","dashboard.trafic.maxload":"max","dashboard.trafic.currentload":"courant","dashboard.trend.chart.yaxis":"message/s","dashboard.devices.title":"\xc9tat des objets non d\xe9sactiv\xe9s","dashboard.device.title":"Type d\'objets","dashboard.devices.label":"Objets","dashboard.devices.routers":"routeurs","dashboard.devices.enddevice":"objets terminaux","dashboard.devices.comment":"Routeurs = objets aliment\xe9s sur secteur qui participent au maillage du r\xe9seau.
Objets terminaux = objets n\'\xe9tant pas capable de participer au maillage (tr\xe8s souvent sur batterie, mais dans quelques cas ils peuvent \xeatre aliment\xe9 par une source \xe9lectrique de faible puissance).","dashboard.battery.title":"Batterie","dashboard.devices.battery.label":"Objets sur batterie","dashboard.devices.battery.inf.15":"< 15%","dashboard.devices.battery.inf.35":"< 35%","dashboard.devices.battery.inf.75":"< 75%","dashboard.devices.battery.sup.75":"> 75%","dashboard.battery.comment":"\xc9tat de charge de la batterie des objets ayant une batterie.","dashboard.optimized.title":"Objets optimis\xe9s","dashboard.optimized.comment":"Optimis\xe9s = objets pour lesquels une configuration a \xe9t\xe9 faite dans le plugin.
Non-optimis\xe9s = objets qui peuvent ne pas fonctionner compl\xe8tement et/ou g\xe9n\xe9rer de la charge ou du traffic anormal.
Plus d\'infos sur le wiki","dashboard.devices.optimized":"optimis\xe9s","dashboard.devices.not.optimized":"non-optimis\xe9s","dashboard.devices.optimized.label":"Objets","dashboard.popup.device.header":"Liste des objets","dashboard.popup.device.subtitle":"Cette liste est filtr\xe9e selon l\'\xe9l\xe9ment cliqu\xe9 dans le tableau de bord.","dashboard.popup.device.button.close":"Fermer","dashboard.health.starttime":"Lanc\xe9 \xe0 ","dashboard.rxpm":"Rx/m","dashboard.txpm":"Tx/m","dashboard.maxload":"MaxLoad","dashboard.plugin.version":"Plugin: ","dashboard.plugin.update.available":"Une nouvelle version du plugin est disponible .
Mettre \xe0 jour","dashboard.plugin.update.available.title":"Mise \xe0 jour du plugin","dashboard.firmware.version":"Firmware: ","dashboard.firmware.update.available":"Une nouvelle version du firmware pour la ZiGate est disponible Plus d\'infos .","dashboard.firmware.update.available.title":"Mise \xe0 jour firmware","dashboard.device.button":"Dispositifs DomoticZ (json)","dashboard.plugin.header":"Plugin infos","dashboard.plugin.subtitle":"Les informations du plugin :","dashboard.stats.header":"Statistiques du Plugin","dashboard.stats.subtitle":"Statistiques de transmission/r\xe9ception donn\xe9es","dashboard.zdevice.button":"Plugin Devices (json)","dashboard.zgroup.button":"Groupes du Plugin (json)","dashboard.coordinator.header":"Infos du coordinateur","dashboard.coordinator.subtitle":"Les informations du coordinateur","dashboard.health.OTA":"OTA: ","dashboard.health.group":"Groupe: ","dashboard.devices.indb":"En Base","consent.banner.header":"Consentement","consent.banner.description":"Dans l\'optique de mieux vous conna\xeetre, nous utilisons une technique de cookies et, avec votre consentement, nous collecterons principalement la version du plugin, le mod\xe8le de coordinateur, la version du firmware et la taille du r\xe9seau (nombre de routers et d\u2019objets terminaux).
Donnez votre accord en s\xe9lectionnant \'Autoriser\' ou sinon \'Interdire\'. Si vous souhaitez changer votre choix, vous pouvez le faire via le menu R\xe9glages.
Plus d\'infos dans le wiki.","consent.banner.accept":"Autoriser","consent.banner.decline":"Interdire","management":"Gestion","device":"Gestion des objets","device.byname.subtitle":"Liste tous les objets appair\xe9s avec le plugin
Vous pourrez attribuer des surnoms et g\xe9rer les param\xe8tres sp\xe9cifiques aux objets.
Les objets marqu\xe9s en orange ne sont pas optimis\xe9s avec le plugin. Merci de suivre la proc\xe9dure sur le wiki.","device.byname.capabilities.column":"Fonctions","device.byname.devicename.column":"Surnom","device.byname.header":"Gestion des objets","device.byname.trash.column":"Suppr.","device.byname.optimized.column":"Optimis\xe9","device.byname.health.column":"Sant\xe9","device.byname.battery.column":"Batterie","device.byname.ieee.column":"IEEE","device.byname.model.column":"Mod\xe8le","device.byname.devicename.param":"Param\xe8tres","device.byname.devicename.enabled":"Objet actif","device.byname.placeholder":"Rechercher ...","device.byname.shortid.column":"Short ID","device.byname.status.column":"Statut","device.byname.lqi.column":"LQI","device.byname.rssi.column":"RSSI","device.byname.validate.button":"Valider","device.byname.widget.column":"Dispositifs DomoticZ","device.byname.alert.title":"Supprimer l\'appareil ?","device.byname.alert.subject":"Es-tu s\xfbr ?","device.byname.alert.delete":"Supprimer","device.byname.alert.cancel":"Annuler","device.byname.error.notify":"Utiliser le bouton Activer svp !!","device.byname.parameter.alert.save":"Valider","device.byname.parameter.alert.cancel":"Annuler","device.byname.parameter.alert.title":"Param\xe8tres","device.byname.parameter.alert.subject":"Assigner des param\xe8tres sp\xe9cifiques \xe0 l\'objet au format Json ","device.byname.parameter.popover.title":"Param\xe8tres de l\'objet","device.byname.parameter.popover.text":"Assigner des param\xe8tres sp\xe9cifiques \xe0 l\'objet. Vert indique que les param\xe8tres ont \xe9t\xe9 pris envoy\xe9 \xe0 l\'objet, Orange indique que les param\xe8tres n\'ont pas encore \xe9t\xe9 envoy\xe9","device.byname.delete.colum":"Supprimer","device.byname.optimized.popover.title.ok":"L\u2019objet est optimis\xe9 pour le plugin","device.byname.optimized.popover.text.ok":"Cliquer sur l\'ic\xf4ne pour copier les infos de l\'objet","device.byname.optimized.popover.title.ko":"L\u2019objet n\u2019est pas optimis\xe9 pour le plugin","device.byname.optimized.popover.text.ko":"Cliquer sur l\'ic\xf4ne pour copier les infos de l\'objet","group":"Gestion des groupes","group.create.devices.column":"Objets appartenant au groupe","group.create.groupname.column":"Nom du Groupe","group.create.header":"Gestion des groupes","group.create.placeholder":"Rechercher","group.create.shortid.column":"ID du Groupe","group.create.subtitle":"Permet l\'\xe9dition, la cr\xe9ation et la suppression des groupes
Avant toute modification, faire une analyse compl\xe8te des groupes sur la page Admin > Groupes.
Avant validation, s\'assurer que tous les routeurs soient connect\xe9s au r\xe9seau ZigBee.
Apr\xe8s validation, faire une analyse sp\xe9cifique sur le(s) routeur(s) pour v\xe9rifier la prise en compte des modifications.
Ne pas faire pas trop de modifications d\'un seul coup, les faire pas \xe0 pas.","group.create.validate.button":"Valider","group.create.add.button":"Ajouter un Groupe","group.create.delete.button":"Effacer","group.create.coordinator.column":"Coordinateur (dans le groupe)","group.reloadplugin.alert.title":"Plugin recharg\xe9","group.reloadplugin.alert.subject":"Groupes mis \xe0 jour, le plugin \xe0 besoin de red\xe9marrer","group.reloadplugin.alert.cancel":"Fermer","header.popover.title":"Red\xe9marrage n\xe9cessaire","header.popover.text":"Les changements ont besoin d\'un red\xe9marrage du plugin","network":"R\xe9seau","network.topo":"Topologie","network.topo.header":"Les rapports d\'analyse du maillage","network.topo.subtitle":"Liste des rapports enregistr\xe9s ","network.topo.visu.header":"Illustration du maillage","network.topo.visu.subtitle":"L\'illustration de votre maillage montre tous les liens entre 2 objets.
Si vous d\xe9placez le curseur sur un lien, vous verrez la liaison avec la valeur LQI indiquant la qualit\xe9 de la liaison (de 0 \xe0 255 = la meilleure possible).","network.topo.visu.network.header":"Illustration du r\xe9seau","network.topo.visu.network.subtitle":"L\'illustration du r\xe9seau ZigBee montre les communications possibles entre les objets.
Par d\xe9faut, les liens entre les objets fr\xe8res ne sont pas affich\xe9s. Activer si besoin l\'option displaySibling
Cliquer sur un objet pour faire afficher ses objets enfants dans un tableau en dessous.","network.topo.visu.network.filter":"Filtrer par routeur","network.topo.device.visu.network.chart.title":"Illustration du r\xe9seau","network.topo.visu.delete.button":"Effacer","network.topo.device.batterylevel.column":"Batterie","network.topo.device.deviceid.column":"Module id","network.topo.device.id.column":"Id","network.topo.device.nvalue.column":"nValue","network.topo.device.signalelevel.column":"Signal","network.topo.device.svalue.column":"sValue","network.topo.device.switchtype.column":"Interrupteur","network.topo.device.timedout.column":"Timeout","network.topo.device.type.column":"Type","network.topo.device.name.column":"Nom","network.topo.device.visu.header":"Liste des objets","network.topo.device.visu.subtitle":"Donne la liste des objets appair\xe9s avec le coordinateur avec le nom de l\'objet et autres informations li\xe9es \xe0 DomoticZ.","network.topo.device.visu.chart.title":"Illustration du maillage","network.topology.req.header":"Lancer une analyse du maillage","network.topology.req.subtitle":"Cr\xe9er une illustration de votre r\xe9seau ZigBee (travail en arri\xe8re plan)","network.topology.req.button":"Analyser","network.topo.visu.network.relation.header":"Liste des liens de {{deviceSelected}}","network.topo.visu.network.relation.subtitle":"Le tableau affiche les entre l\'objet s\xe9lectionn\xe9 et tous ses objets li\xe9s.","network.topo.visu.network.relation.to":"Enfants","network.topo.visu.network.relation.weight":"LQI","network.topo.visu.network.relation.nochild":"L\'objet s\xe9lectionn\xe9 n\'a pas d\'enfants.","network.topo.visu.network.relation.model":"Mod\xe8le","network.topo.visu.network.relation.status":"Statut","network.topo.visu.network.relation.health":"Sant\xe9","network.topo.visu.network.relation.battery":"Batterie","network.energy":"Niveau d\'interf\xe9rences","network.stats.header":"Les rapports de niveau d\'interf\xe9rence","network.stats.subtitle":"Liste des rapports enregistr\xe9s ","network.stats.visu.delete.button":"Effacer","network.inter.req.header":"Lancer une analyse du niveau d\'interf\xe9rences entre les objets et le coordinateur","network.inter.req.subtitle":"Cr\xe9er une analyse du taux d\'\xe9nergie re\xe7ue par le coordinateur en provenance de chaque objet de type routeur.","network.inter.req.button":"Analyser","network.full.req.header":"Lancer une analyse compl\xe8te du niveau d\'interf\xe9rences entre tous les objets","network.full.req.subtitle":"Cr\xe9er une analyse du taux d\'\xe9nergie re\xe7ue entre tous les objets de type routeur.
Attention cela peut prendre un certain temps dans la mesure ou le nombre de combinaison est \xe9gal \xe0 n((n-1)/2) soit 10 pour 5 routeurs, 45 pour 10 routeurs...","network.full.req.button":"Analyser","network.stats.detail.visu.header":"Illustration des niveaux d\u2019interf\xe9rences.","network.stats.detail.visu.subtitle":"Plus le chiffre est \xe9lev\xe9, plus il y a d\'interf\xe9rence (de 0 \xe0 255).","network.stats.detail.visu.totaltx":"Tx : ","network.stats.detail.visu.totalfail":"Failed : ","network.stats.detail.visu.chart.title":"Illustration des niveaux d\'interf\xe9rences","network.stats.detail.visu.chart.y-axis":"Niveau d\'interf\xe9rences","network.stats.detail.visu.chart.x-axis":"Canaux","admin":"Admin","admin.pairing":"Appairage","admin.permittojoin.label":"Mode appairage","admin.permittojoin.on.notify":"Mode appairage activ\xe9","admin.permittojoin.off.notify":"Mode appairage d\xe9sactiv\xe9","admin.assistprovisionning.title":"Appairer un nouvel objet avec l\'assistant","admin.assistprovisionning.subtitle":"Cliquer sur Appairer et suivre les indications ","admin.assistprovisionning.go.button":"Appairer","admin.assistprovisionning.alert.title":"Assistant d\'appairage - Attente d\'un nouvel objet","admin.assistprovisionning.alert.subject":"Faire un Reset sur votre objet pour lancer une proc\xe9dure d\'appairage. Se r\xe9f\xe9rer \xe0 la documentation de l\'objet si n\xe9cessaire.","admin.assistprovisionning.alert.state":"Etat : ","admin.assistprovisionning.alert.description":"Description : ","admin.assistprovisionning.alert.nwkid":"NwkId : ","admin.assistprovisionning.alert.ieee":"IEEE : ","admin.assistprovisionning.alert.widgets":"Liste des dispositifs : ","admin.assistprovisionning.alert.cancel":"Terminer","admin.assistprovisionning.alert.ep":"Endpoint : ","admin.assistprovisionning.alert.cluster":"ClusterId : ","admin.assistprovisionning.alert.profile":"Profile : ","admin.assistprovisionning.alert.device":"Objet : ","admin.assistprovisionning.alert.model":"Mod\xe8le : ","admin.assistprovisionning.alert.plugincertified":"Certification avec le plugin : ","admin.assistprovisionning.alert.Failed":"Appairage \xe9chou\xe9 (regarder les logs pour plus de d\xe9tails)","admin.assistprovisionning.alert.inDB":"Appairage effectu\xe9 (v\xe9rifier si les dispositifs sont bien cr\xe9\xe9es dans DomoticZ)","admin.assistprovisionning.alert.Unexpected":"Erreur inattendue (recommencer et si le probl\xe8me persiste, contacter le support)","admin.permittojoin.title":"Appairer de nouveaux objets sur une dur\xe9e","admin.permittojoin.subtitle":"Cliquer sur un bouton pour choisir la dur\xe9e du mode appairage ","admin.permittojoin.validate.button":"Valider","admin.permittojoin.permanent.button":"Permanent","admin.permittojoin.permanent.notify":"Appairage permanent activ\xe9","admin.permittojoin.stop.button":"Stop","admin.permittojoin.stop.notify":"Appairage d\xe9sactiv\xe9","admin.permittojoin.4min.button":"4 minutes","admin.permittojoin.4min.notify":"Appairage activ\xe9 pendant 4 minutes","admin.permittojoin.notify":"Mode appairage modifi\xe9","admin.permittojoinrouter.title":"Appairer de nouveaux objets sur un routeur sp\xe9cifique","admin.permittojoinrouter.subtitle":"Permet de r\xe9aliser un appairage sur un routeur sp\xe9cifique ","admin.permittojoinrouter.devices.placeholder":"Liste des routeurs","admin.fullreset.title":"Reset d\'un objet","admin.fullreset.subtitle":"Permet d\'activer le mode Reset sur un objet
Au prochain appairage, l\'objet sera r\xe9initialis\xe9 \xe0 l\'exception des dispositifs qui seront conserv\xe9s.
Activer le mode Reset et r\xe9-appairer l\'objet.","admin.fullreset.device.placeholder":"S\xe9lectionner l\'objet","admin.fullreset.button":"Activer le mode Reset","admin.fullreset.notify":"Mode Reset activ\xe9","admin.recreate.title":"Re-cr\xe9ation des dispositifs d\'un objet","admin.recreate.subtitle":"Permet de (re)cr\xe9er tous les dispositifs d\'un objet dans DomoticZ
Cette fonction va g\xe9n\xe9rer des dispositifs en doublon. C\'est \xe0 vous de supprimer ces doublons dans DomoticZ et conserver uniquement le(s) dispositif(s) que vous souhaitez.
Ne pas oublier la limitation \xe0 255 dispositifs par plugin.","admin.recreate.device.placeholder":"S\xe9lectionner un objet","admin.recreate.button":"Recr\xe9ation des dispositifs","admin.recreate.notify":"Recr\xe9ation des dispositifs lanc\xe9e","admin.group":"Groupes","admin.rescan.group.title":"Analyse compl\xe8te des groupes","admin.rescan.group.subtitle":"Interroge chaque routeur pour conna\xeetre son appartenance \xe0 un ou plusieurs groupes
Le r\xe9sultat sera disponible dans la Gestion des groupes.

S\'assurer que TOUS les routeurs sont bien pr\xe9sent sur le r\xe9seau ZigBee avant de lancer l\'analyse.","admin.rescan.group.button":"Analyser","admin.scan.group.device.title":"Analyse s\xe9lective des groupes","admin.scan.group.device.subtitle":"Interroge un ou plusieurs routeurs pour conna\xeetre leur(s) appartenance(s) \xe0 un ou plusieurs groupes
Le r\xe9sultat sera disponible dans la Gestion des groupes.

S\'assurer que les routeurs sont bien pr\xe9sent sur le r\xe9seau ZigBee avant de lancer l\'analyse.","admin.scan.group.device.button":"Analyser","admin.scan.group.device.placeholder":"S\xe9lectionner le(s) routeur(s) \xe0 analyser","admin.coordinator":"Coordinateur","admin.coordinator.swreset.title":"R\xe9initialisation logicielle du coordinateur","admin.coordinator.swreset.subtitle":"Lancer le red\xe9marrage du coordinateur sans perte d\'objets appair\xe9s ","admin.coordinator.swreset.button":"Red\xe9marrer le coordinateur","admin.coordinator.swreset.notify":"Red\xe9marrage du coordinateur lanc\xe9","admin.coordinator.switchchannel.title":"Changement du canal de communication du coordinateur","admin.coordinator.switchchannel.subtitle":"Permet de basculer le coordinateur et son r\xe9seau sur un canal de communication particulier.
La demande va \xeatre envoy\xe9e \xe0 tous les objets\xa0: les routeurs basculent normalement sans probl\xe8me, par contre, les objets sur piles qui ne sont pas ZigBee 3.0 n\xe9cessiteront probablement un reset pour rejoindre le nouveau canal.","admin.coordinator.switchchannel.placeholder":"Canal du coordinateur","admin.coordinator.switchchannel.button":"Changer le canal","admin.coordinator.switchchannel.notify":"Changement de canal lanc\xe9","admin.erasepdm.title":"Efface la ZiGate","admin.erasepdm.subtitle":"Effacer la m\xe9moire de la ZiGate (perte de tous les objets appair\xe9s pr\xe9c\xe9demment)
Assurez vous d\'avoir activer le param\xe8tre eraseZigatePDM avant dans les Param\xe8tres avanc\xe9s","admin.erasepdm.button":"Effacer la ZiGate","admin.erasepdm.notify":"ErasePdm ZiGate lanc\xe9","admin.erasepdm.alert.title":"R\xe9initialisation de la ZiGate","admin.erasepdm.alert.subject":"Cette action va effacer compl\xe8tement le ZiGate avec la perte de tous les objets associ\xe9s. \xcates-vous vraiment s\xfbr ???","admin.erasepdm.alert.cancel":"Annuler","admin.erasepdm.alert.erase":"Effacer","admin.plugin":"Plugin","admin.plugin.reload.title":"R\xe9initialisation du plugin","admin.plugin.reload.subtitle":"Lancer le red\xe9marrage du plugin ","admin.plugin.reload.button":"Red\xe9marrer","admin.plugin.reload.notify":"Red\xe9marrage du plugin lanc\xe9","admin.plugin.reload.port":"Port","admin.plugin.reload.username":"Utilisateur","admin.plugin.reload.password":"Mot de Passe","admin.plugin.reload.host":"Nom d\'h\xf4te","admin.plugin.reload.protocol":"Protocole","admin.plugin.reload.alert.title":"Red\xe9marrage du plugin","admin.plugin.reload.alert.subject":"Cette action va red\xe9marrer le plugin. Ceci n\u2019entra\xeenera pas de perte de donn\xe9es.","admin.plugin.reload.alert.cancel":"Annuler","admin.plugin.reload.alert.erase":"Red\xe9marrer","admin.plugin.update.title":"Mise \xe0 jour du plugin","admin.plugin.update.subtitle":"Lance la mise \xe0 jour du plugin.
Si cette mise \xe0 jour se passe sans probl\xe8me, un red\xe9marrage du plugin sera n\xe9cessaire pour la prise en compte, sinon il faudra faire la mise \xe0 jour de fa\xe7on manuelle.","admin.plugin.update.button":"Mettre \xe0 jour (plusieurs minutes)","admin.plugin.update.success":"Red\xe9marrer le plugin pour prendre en compte la mise \xe0 jour","admin.plugin.update.error":"Il y a eu des erreurs durant la mise \xe0 jour, v\xe9rifier les logs et prendre les actions correctives","admin.firmware":"Firmware","admin.firmware.title":"Les firmware des objets","admin.firmware.subtitle":"Mettre \xe0 jour le firmware des routeurs ","admin.firmware.button.update":"Mettre \xe0 jour","admin.firmware.notify":"Mise \xe0 jour lanc\xe9e","admin.firmware.list":"S\xe9lectionner le firmware","admin.firmware.manufacturer.list":"S\xe9lectionner un fabricant","admin.firmware.devices.list":"S\xe9lectionner le(s) routeur(s)","admin.firmware.force":"Forcer la mise \xe0 jour","admin.firmware.alert.title":"Firmware","admin.firmware.alert.subject":"Information","admin.firmware.alert.ok":"Mettre \xe0 jour","admin.firmware.alert.cancel":"Annuler","admin.firmware.alert.list.devices":"Liste des objets","admin.firmware.alert.filename":"Nom du fichier","admin.firmware.alert.device":"Objet ","admin.firmware.alert.brand":"Fabricant ","settings":"R\xe9glages","setting.header":"R\xe9glages","setting.subtitle":"Vous permet de visualiser et de modifier les diff\xe9rents r\xe9glages du plugin
Certains r\xe9glages peuvent n\xe9cessiter un red\xe9marrage du plugin pour \xeatre pris en compte.","setting.validate.button":"Valider","setting.reinit.button":"Param\xe8tres (d\xe9faut)","setting.advanced.button":"Param\xe8tres avanc\xe9s","setting.normal.button":"param\xe8tres standards","setting.help.link":"Plus d\'informations sur les r\xe9glages dans le Wiki","setting.help.legend":"Les r\xe9glages du Plugin ZigBeeForDomoticZ","setting.header.Services":"Liste des services","setting.subtitle.Services":"Activer les services d\xe9sir\xe9s","useDomoticzLog":"Usage des Logs DomoticZ","enablegroupmanagement":"Activer les Groupes","zigatePartOfGroup0000":"Cr\xe9ation du Group 0000","allowRemoveZigateDevice":"Suppression dans le coordinateur","resetPermit2Join":"Reset du mode appairage au d\xe9marrage du plugin","forcePollingAfterAction":"Interrogation du statut de l\'objet apr\xe8s un ordre","enableReadAttributes":"Activer l\'interrogation des objets (pooling)","blueLedOnOff":"Active ou d\xe9sactive la Led Bleu","setting.reloadplugin.alert.title":"Red\xe9marrage du plugin","setting.reloadplugin.alert.subject":"Les r\xe9glages on \xe9t\xe9 mis \xe0 jour, le plugin doit \xeatre red\xe9marr\xe9.","setting.reloadplugin.alert.cancel":"Fermer","setting.resetplugin.alert.title":"Reset du coordinateur","setting.resetplugin.alert.subject":"Un param\xe8tre a \xe9t\xe9 modifi\xe9 et n\xe9cessite un red\xe9marrage du coordinateur. Attention cela peut entra\xeener un r\xe9-appairage de tous les objets.","setting.resetplugin.alert.cancel":"Close","setting.eraseplugin.alert.title":"Erase PDM","setting.eraseplugin.alert.subject":"Un param\xe8tre a \xe9t\xe9 modifi\xe9 et n\xe9cessite un Erase PDM (n\xe9cessite un r\xe9-appairage de tous les objets)","setting.eraseplugin.alert.cancel":"Close","Ping":"Activer le Ping","setting.header.DomoticzEnvironment":"Communication avec DomoticZ","setting.subtitle.DomoticzEnvironment":"Les r\xe9glages pour l\'acc\xe8s \xe0 l\'API de DomoticZ","setting.header.WebInterface":"R\xe9glages de l\'interface Web","setting.subtitle.WebInterface":"Les r\xe9glages pour l\'interface d\'administration du plugin :","enableWebServer":"Active l\'interface Web","setting.header.DeviceManagement":"R\xe9glages de la gestion des objets","setting.subtitle.DeviceManagement":"Les r\xe9glages pour la gestion des objets et leur interaction avec le coordinateur :","setting.header.CoordinatorConfiguration":"R\xe9glages du coordinateur","setting.subtitle.CoordinatorConfiguration":"Les r\xe9glages pour le coordinateur :","setting.header.OverTheAirUpgrade":"R\xe9glages mise \xe0 jour sans fils (OTA)","setting.subtitle.OverTheAirUpgrade":"Les r\xe9glages pour les mises \xe0 jours sans fils (OTA).","allowOTA":"Activer OTA","setting.header.Legrand":"R\xe9glages Legrand Netatmo","setting.subtitle.Legrand":"Les r\xe9glages sp\xe9cifiques aux objets Legrand Netatmo","setting.header.Schneider_Wiser":"R\xe9glages Schneider Wiser","setting.subtitle.Schneider_Wiser":"Les r\xe9glages sp\xe9cifiques aux objets Schneider Wiser","internetAccess":"Autoriser acc\xe8s Internet pour v\xe9rification des versions","batteryOTA":"Autorise les OTA pour les objets sur batterie","waitingOTA":"D\xe9lai avant le d\xe9marrage des OTA","setting.header.GroupManagement":"R\xe9glages des Groupes","setting.subtitle.GroupManagement":"Les r\xe9glages pour la gestion des groupes.","OnIfOneOn":"Groupe est allum\xe9 d\xe8s que le premier objet est allum\xe9 (sinon, groupe est allum\xe9 lorsque tous les objets sont allum\xe9s)","setting.header.PluginConfiguration":"R\xe9glage de l\'environnement du Plugin","setting.subtitle.PluginConfiguration":"Les r\xe9glages pour l\'environnement du Plugin","numDeviceListVersion":"Nombre d\'historique du fichier DeviceList","setting.header.Others":"Autres r\xe9glages","setting.header.Provisioning":"R\xe9glages d\'appairage","setting.subtitle.Provisioning":"R\xe9glages sp\xe9cifiques pour certains mat\xe9riels ou certaines conditions","setting.header.DevicePolling":"Interrogation des objets","setting.subtitle.DevicePolling":"Interrogation directe et r\xe9guli\xe8re des objets. R\xe9glage des fr\xe9quences d\'interrogation. Attention plus la fr\xe9quence est \xe9lev\xe9e, plus la charge sera importante.","setting.subtitle.Others":"","logLQI":"D\xe9lai (sec) avant de lancer un rapport de Maillage","networkScan":"Fr\xe9quence de rapport d\'Interf\xe9rences (sec)","setting.header.CommandTransition":"Transitions des groupes de lumi\xe8res","setting.subtitle.CommandTransition":"Applicable pour les groupes uniquement. Indiquer le temps de transition en dixi\xe8me de seconde entre l\'\xe9tat actuel et celui d\xe9sir\xe9.","moveToHueSatu":"Transition pour Hue","moveToColourTemp":"Transition pour Temp\xe9rature","moveToColourRGB":"Transition pour Couleur RVB","moveToLevel":"Transition pour variateur","setting.header.Experimental":"Param\xe8tres exp\xe9rimentaux","setting.subtitle.Experimental":"Utilisez seulement si on vous a indiqu\xe9 de le faire","api.global.error.notify":"Erreur de l\'interface","api.global.succes.scanlaunched.notify":"Analyse lanc\xe9e","api.global.succes.commandsent.notify":"Commande envoy\xe9e","api.global.succes.saved.notify":"Enregistr\xe9","setting.header.OTA":"Mise \xe0 jour du firmware de l\u2019objet via l\u2019OTA","setting.subtitle.OTA":"Comportement du plugin avec les mises \xe0 jour OTA","IkeaTradfri_Repository":"D\xe9p\xf4t firmwares officiel IKEA-TRADFRI ","ZigbeeOTA_Repository":"D\xe9p\xf4t firmwares ZigBee OTA (maintenue par la communaut\xe9)","autoServeOTA":"Mise \xe0 jour automatique quand un firmware est trouv\xe9","checkFirmwareAgainstZigbeeOTARepository":"V\xe9rifier si un firmware est disponible dans l\u2019un des d\xe9p\xf4ts","DomoticzCustomMenu":"Ajouter un lien vers le WebUI dans le Custom Menu de DomoticZ","NightShift":"D\xe9place les actions d\u2019arri\xe8re plan de 23h \xe0 06h","ConfigureReportingChunk":"Nombre maxi d\u2019attributs lors d\u2019un Configure Reporting","ReadAttributeChunk":"Nombre maxi d\u2019attributs lors d\u2019un Read attributes","resetConfigureReporting":"Reset de tous les Configure Reporting","resetReadAttributes":"Reset de tous les Read attributes","TopologyV2":"Analyse du maillage bas\xe9 sur les tables de routage et de voisinage","autoBackup":"Sauvegarde automatique du coordinateur","BackupFullDevices":"Sauvegarde des informations de l\u2019objet","BellowsNoMoreEndDeviceChildren":"D\xe9sactiver l\u2019appairage direct sur le coordinateur","BellowsSourceRouting":"Activer le m\xe9canisme de routage source","pingDevices":"Faire un ping des objets aliment\xe9s sur secteur pour v\xe9rifier leur \xe9tat","GroupOnBattery":"Activer la cr\xe9ation de groupe pour les objets sur batterie","deviceOffWhenTimeOut":"Basculer un objet sur Off apr\xe8s un timeout du r\xe9seau","checkConfigurationReporting":"V\xe9rifier le Report configuration d\u2019un objet r\xe9guli\xe8rement","TXpower_set":"Niveau de puissance de la transmission du coordinateur","pingDevicesFeq":"Fr\xe9quence de ping des objets aliment\xe9s sur secteur","GrpfadingOff":"Mode de Fadding","GrpmoveToColourRGB":"Temps de transition pour changer la valeur d\u2019une couleur","GrpmoveToColourTemp":"Temps de transition pour changer la temp\xe9rature d\u2019une couleur","GrpmoveToLevel":"Temps de transition pour passer d\u2019un niveau de puissance \xe0 un autre","enableSchneiderWiser":"Activer si vous avez des objets Legacy Wiser","LegrandCompatibilityMode":"Activer pour simuler un hub Legrand Netamo","AqaraOppleBulbMode":"Activer pour que la t\xe9l\xe9commande Aqara Opple commande les objets directement","forceClosingAllNodes":"Activer pour fermer le mode appairage dans chaque routeur","extendedPANID":"Identifiant Zigbee Extended PAN","allowReBindingClusters":"Activer le re-binding des clusters pendant les op\xe9rations de configure reporting","doUnbindBind":"Unbind and then bind, when doing a binding operation","PluginAnalytics":"Autoriser le plugin \xe0 placer un cookie afin de collecter des informations sur le coordinateur et les mod\xe8les d\u2019objets utilis\xe9s.","autoRestore":"Appliquer automatiquement le backup le plus r\xe9cent du coordinateur quand un coordinateur vierge est trouv\xe9","forceSwitchSelectorPushButton":"Workaround DomoticZ issue #4143","resetSwitchSelectorPushButton":"Nombre de sec avant de basculer le S\xe9lecteur Off","setting.header.ManufSpecifiqDevicePolling":"Interrogation des objets sp\xe9ciaux","setting.subtitle.ManufSpecifiqDevicePolling":"0 pour d\xe9sactiv\xe9, correspond \xe0 la p\xe9riode en secondes avec laquelle on va interroger les objets pour r\xe9cup\xe9rer des informations qui ne sont pas envoy\xe9es automatiquement par celui-ci.","setting.header.Zigpy":"Configuration sp\xe9cifique aux CIE ZigPy","setting.subtitle.Zigpy":"Pour certains CIE (comme les clefs ConBeeII et RasbeeII), il est n\xe9cessaire d\'activer des \xe9l\xe9ments sp\xe9cifiques pour certaines marques","resetMotiondelay":"D\xe9lai en seconde entre deux d\xe9tections","Certification":"Certification ( FCC ou CE )","channel":"Canal du coordinateur (0 par d\xe9faut)","alarmDuration":"Dur\xe9e en secondes pour les objets alarme","vibrationAqarasensitivity":"Sensibilit\xe9 vibration Aqara","TradfriKelvinStep":"Kelvin step for Tradfri remote","numTopologyReports":"Nombre de rapport de topologie r\xe9seau conserv\xe9s","numEnergyReports":"nombre de rapports d\'interf\xe9rence enregistr\xe9s","PowerOn_OnOff":"\xc9tat de retour apr\xe8s une coupure \xe9lectrique","logDeviceUpdate":"Activer UpdateDevice message dans les logs","capturePairingInfos":"Capture des infos d\u2019appairage et enregistrement dans le dossier Reports","error_required":"Obligatoire","ForceAPSAck":"Force APS Ack to ZCL and ZDP commands","zigpySourceRouting":"Enable Zigbee Source routing (plugin)","reenforcementWiser":"Enable reenforcement messages (legacy Wiser only)","forcePassiveWidget":"Allow Domoticz actions on Widgets from remote devices","tools":"Outils","tools.tools":"Outils","tools.tools.export":"Exporter","tools.tools.zdevice-raw.button":"Liste des objets raw","tools.tools.non-optimized.button":"Liste des objets non-optimis\xe9s","tools.tools.zgroup.button":"Liste des groupes","tools.tools.zdevice.button":"Liste des objets (old)","tools.tools.device.button":"Liste des dispositifs dans DomoticZ","tools.tools.log.button":"Logs du plugin","tools.tools.infos.plugin.button":"Infos du plugin","tools.tools.coordinator.infos.button":"Infos du coordinateur","tools.tools.plugin-health.button":"Sant\xe9 du plugin","tools.tools.zdevice-name.button":"Zdevice-name","tools.tools.domoticz-env.button":"Param\xe8tres DomoticZ","tools.tools.battery-state.button":"\xc9tats des batterie","tools.tools.zgroup-list-available-device.button":"Zgroup-lst-devices","tools.tools.settings.button":"Param\xe8tres","tools.tools.plugin-stat.button":"Trafic","tools.command":"Commande","tools.debugcommand.title":"Commandes directes","tools.debugcommand.subtitle":"Permet de transmettre directement des commandes/ordres \xe0 un routeur via le coordinateur. Les objets terminaux ne peuvent pas recevoir de commande
(1) Choisir le routeur,
(2) Choisir l\'action \xe0 effectuer,
(3) Choisir une fonction,
(4) \xc9ventuellement une valeur suppl\xe9mentaire.","tools.debugcommand.device":"Routeur ...","tools.debugcommand.button.cancel":"Annuler","tools.debugcommand.action":"Action ...","tools.debugcommand.type":"Fonction ...","tools.debugcommand.value":"Valeur ...","tools.debugcommand.level.error":"entre 0 et 100","tools.debugcommand.effect.error":"entre 0x00 \xe0 0xff","tools.debugcommand.button.send":"Envoyer","tools.rawcommand-zigate.title":"Commande brut","tools.rawcommand-zigate.subtitle":"Permet d\'envoyer une commande directe au coordinateur en mode Raw.
Suivre absolument le protocole ZiGate ","tools.rawcommand-zigate.command":"Message RAW","tools.rawcommand-zigate.error":"Entr\xe9e requise","tools.rawcommand-zigate.payload":"Payload","tools.rawcommand-zigate.button.send":"Envoyer","tools.rawcommand-zigpy.title":"Commande ZigBee","tools.rawcommand-zigpy.subtitle":"Permet d\'envoyer une commande directe au coordinateur en mode Raw.","tools.rawcommand-zigpy.placeholder":"S\xe9lectionner l\'objet","tools.rawcommand-zigpy.groupaddressflag":"GroupAddressFlag","tools.rawcommand-zigpy.ackmode":"AckMode","tools.rawcommand-zigpy.profileid":"ProfileId","tools.rawcommand-zigpy.clusterid":"ClusterId","tools.rawcommand-zigpy.sourceep":"SourceEp","tools.rawcommand-zigpy.targetep":"TargetEp","tools.rawcommand-zigpy.sqn":"Sqn","tools.rawcommand-zigpy.payload":"Payload","tools.rawcommand-zigpy.button.send":"Envoyer","tools.reporting.configure":"Remont\xe9e d\'infos","tools.reporting.configure.title":"Configuration de la remont\xe9e d\'infos des objets","tools.reporting.configure.subtitle":"Configurer un objet pour qu\'il envoi automatiquement les valeurs d\'un (ou plusieurs) de ses attributs ou qu\'il re\xe7oive les infos.
Les champs Intervalle mini et Intervalle maxi indique la plage de temps en secondes pendant laquelle l\'objet enverra la valeur de l\'attribut correspondant. Les intervalles doivent \xeatre inf\xe9rieur \xe0 65534s (codage 16bits).
Le champ Delta indique la variation de valeur qui entra\xeenera l\'envoi de la donn\xe9e. Pas de limitation sur la longueur du champ. Le signe sera ignor\xe9.
Pour les attributs avec un data type analog (voir 2.6.2), le champ a le m\xeame data type que l\'attribut.","tools.reporting.configure.trigger.button":"Trigger","tools.reporting.configure.reset.button":"Reset","tools.reporting.configure.validate.button":"Valider","tools.reporting.configure.device":"S\xe9lectionner l\'objet","tools.reporting.configure.clusterId.column":"Cluster id","tools.reporting.configure.attributeId.column":"Attribute id","tools.reporting.configure.dataType.column":"Datatype","tools.reporting.configure.timeout.column":"Timeout","tools.reporting.configure.minInterval.column":"Intervalle mini (en secondes)","tools.reporting.configure.maxInterval.column":"Intervalle maxi (en secondes)","tools.reporting.configure.change.column":"Delta","tools.reporting.configure.hexa.error":"Valeur hexad\xe9cimal attendue","tools.reporting.configure.length.error":"Valeur trop longue","tools.binding":"Couplage (Bindings)","tools.binding.title":"Couplage d\'objets","tools.binding.subtitle":"Permet le couplage d\'une fonction entre objet source et un objet cible ","tools.binding.sourceIeee":"IEEE de l\'objet source","tools.binding.error":"Entr\xe9e requise","tools.binding.sourceEp":"S\xe9lectionner l\'objet source","tools.binding.destIeee":"IEEE de l\'objet cible","tools.binding.destEp":"S\xe9lectionner l\'objet cible","tools.binding.cluster":"Fonction","tools.binding.button.put":"Couplage","tools.unbinding.button.put":"D\xe9-couplage","tools.debug":"D\xe9bogage","setting.header.VerboseLogging":"R\xe9glages des Logs","setting.subtitle.VerboseLogging":"Les r\xe9glages pour les Logs. Utilisez l\'option avanc\xe9e pour avoir acc\xe8s aux param\xe8tres sp\xe9cifiques ","tools.debugsetting.help.legend":"Param\xe8tres de d\xe9bogage et journalisation","tools.debugsetting.advanced.button":"Param\xe8tres avanc\xe9s","tools.debugsetting.normal.button":"param\xe8tres standards","tools.debugsetting.validate.button":"Valider","tools.debugsetting.reinit.button":"Param\xe8tres (d\xe9faut)","tools.debugsetting.reloadplugin.alert.title":"Red\xe9marrage du plugin","tools.debugsetting.reloadplugin.alert.subject":"Les r\xe9glages ont \xe9t\xe9 mis \xe0 jour, le plugin doit \xeatre red\xe9marr\xe9.","tools.debugsetting.reloadplugin.alert.cancel":"Fermer","tools.error":"Erreur(s)","tools.error.log-history.button":"Historique des erreurs (json)","tools.error.log-history.clear":"Effacer les erreurs","error.popover.title":"Erreur(s) d\xe9tect\xe9e(s)","error.popover.text":"Cliquer pour voir l\'historique","manufacturer":"Manufacturer","manufacturer.casaia":"Casa.ia","manufacturer.casaia.header":"CASA.ia - Configurations sp\xe9cifiques","manufacturer.casaia.subtitle":"Configuration des codes Infrarouges pour le pilotage des controlleurs de climatisation CAC221 ...","manufacturer.casaia.placeholder":"Rechercher ...","manufacturer.casaia.nwkid":"Short ID","manufacturer.casaia.name":"Surnom","manufacturer.casaia.ieee":"IEEE","manufacturer.casaia.model":"Mod\xe8le","manufacturer.casaia.ircode":"Code Infrarouge","manufacturer.casaia.validate.button":"Valider","manufacturer.zlinky.header":"Le Zlinky","manufacturer.zlinky.subtitle":"Liste les donn\xe9es r\xe9cup\xe9r\xe9es par le Zlinky s\xe9lectionn\xe9,","manufacturer.zlinky.placeholder":"S\xe9lectionner un Zlinky","manufacturer.zlinky.key":"D\xe9signation","manufacturer.zlinky.value":"Valeur ","manufacturer.zlinky.DateCode":"Code date","manufacturer.zlinky.SWBuildID":"SWBuildID","manufacturer.zlinky.ADC0":"Num\xe9ro de s\xe9rie","manufacturer.zlinky.BASE":"Index Base","manufacturer.zlinky.OPTARIF":"Option tarifaire","manufacturer.zlinky.ISOUSC":"Intensit\xe9 souscrite","manufacturer.zlinky.HCHC":"Index HCHC","manufacturer.zlinky.HCHP":"Index HCHP","manufacturer.zlinky.EJPHN":"Index EJPHN","manufacturer.zlinky.EJPHPM":"Index EJPHPM","manufacturer.zlinky.BBRHCJB":"Index BBRHCJB","manufacturer.zlinky.BBRHPJB":"Index BBRHPJB","manufacturer.zlinky.BBRHCJW":"Index BBRHCJW","manufacturer.zlinky.BBRHPJW":"Index BBRHPJW","manufacturer.zlinky.BBRHCJR":"Index BBRHCJR","manufacturer.zlinky.BBRHPJR":"Index BBRHPJR","manufacturer.zlinky.IINST":"Courant efficace","manufacturer.zlinky.IINST1":"Courant efficace phase 1","manufacturer.zlinky.IINST2":"Courant efficace phase 2","manufacturer.zlinky.IINST3":"Courant efficace phase 3","manufacturer.zlinky.IMAX":"Intensit\xe9 maximale","manufacturer.zlinky.IMAX1":"Intensit\xe9 maximale phase 1","manufacturer.zlinky.IMAX2":"Intensit\xe9 maximale phase 2","manufacturer.zlinky.IMAX3":"Intensit\xe9 maximale phase 3","manufacturer.zlinky.PMAX":"Puissance maximale triphas\xe9e atteinte","manufacturer.zlinky.PAPP":"Puissance apparente","manufacturer.zlinky.PTEC":"P\xe9riode tarifaire en cours","manufacturer.zlinky.DEMAIN":"Couleur du lendemain","manufacturer.zlinky.HHPHC":"Horaire Heure Pleines Heures Creuses","manufacturer.zlinky.PPOT":"Pr\xe9sence des potentiels","manufacturer.zlinky.PEJP":"Pr\xe9avis d\xe9but EJP (30min)","manufacturer.zlinky.ADPS":"Avertissement du d\xe9passement de la puissance souscrite","manufacturer.zlinky.ADIR1":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 1","manufacturer.zlinky.ADIR2":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 2","manufacturer.zlinky.ADIR3":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 3","manufacturer.zlinky.ADSC":"Adresse Secondaire du Compteur","manufacturer.zlinky.NGTF":"Nom du calendrier tarifaire fournisseur","manufacturer.zlinky.LTARF":"Libell\xe9 tarif fournisseur en cours","manufacturer.zlinky.NTARF":"Num\xe9ro de l\u2019index tarifaire en cours","manufacturer.zlinky.VTIC":"Version de la TIC","manufacturer.zlinky.DATE":"Date et heure courant","manufacturer.zlinky.EAST":"\xc9nergie active soutir\xe9e totale","manufacturer.zlinky.EASF01":"\xc9nergie active soutir\xe9e Fournisseur, index 01","manufacturer.zlinky.EASF02":"\xc9nergie active soutir\xe9e Fournisseur, index 02","manufacturer.zlinky.EASF03":"\xc9nergie active soutir\xe9e Fournisseur, index 03","manufacturer.zlinky.EASF04":"\xc9nergie active soutir\xe9e Fournisseur, index 04","manufacturer.zlinky.EASF05":"\xc9nergie active soutir\xe9e Fournisseur, index 05","manufacturer.zlinky.EASF06":"\xc9nergie active soutir\xe9e Fournisseur, index 06","manufacturer.zlinky.EASF07":"\xc9nergie active soutir\xe9e Fournisseur, index 07","manufacturer.zlinky.EASF08":"\xc9nergie active soutir\xe9e Fournisseur, index 08","manufacturer.zlinky.EASF09":"\xc9nergie active soutir\xe9e Fournisseur, index 09","manufacturer.zlinky.EASF10":"\xc9nergie active soutir\xe9e Fournisseur, index 10","manufacturer.zlinky.EASD01":"\xc9nergie active soutir\xe9e Distributeur, index 01","manufacturer.zlinky.EASD02":"\xc9nergie active soutir\xe9e Distributeur, index 02","manufacturer.zlinky.EASD03":"\xc9nergie active soutir\xe9e Distributeur, index 03","manufacturer.zlinky.EASD04":"\xc9nergie active soutir\xe9e Distributeur, index 04","manufacturer.zlinky.EAIT":"\xc9nergie active inject\xe9e totale","manufacturer.zlinky.ERQ1":"\xc9nergie r\xe9active Q1 total","manufacturer.zlinky.ERQ2":"\xc9nergie r\xe9active Q2 total","manufacturer.zlinky.ERQ3":"\xc9nergie r\xe9active Q3 total","manufacturer.zlinky.ERQ4":"\xc9nergie r\xe9active Q4 total","manufacturer.zlinky.IRMS1":"Courant efficace, phase 1","manufacturer.zlinky.IRMS2":"Courant efficace, phase 2","manufacturer.zlinky.IRMS3":"Courant efficace, phase 3","manufacturer.zlinky.URMS1":"Tension efficace, phase 1","manufacturer.zlinky.URMS2":"Tension efficace, phase 2","manufacturer.zlinky.URMS3":"Tension efficace, phase 3","manufacturer.zlinky.PREF":"Puissance apparente de r\xe9f\xe9rence (PREF)","manufacturer.zlinky.STGE":"Registre de Statuts","manufacturer.zlinky.PCOUP":"Puissance apparente de coupure (PCOUP)","manufacturer.zlinky.SINSTI":"Puissance apparente Instantan\xe9e inject\xe9e","manufacturer.zlinky.SMAXIN":"Puissance apparente max. inject\xe9e n","manufacturer.zlinky.SMAXIN-1":"Puissance apparente max. inject\xe9e n-1","manufacturer.zlinky.CCASN":"Point n de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCASN-1":"Point n-1 de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCAIN":"Point n de la courbe de charge active inject\xe9e","manufacturer.zlinky.CCAIN-1":"Point n-1 de la courbe de charge active inject\xe9e","manufacturer.zlinky.UMOY1":"Tension moyenne phase 1","manufacturer.zlinky.UMOY2":"Tension moyenne phase 2","manufacturer.zlinky.UMOY3":"Tension moyenne phase 3","manufacturer.zlinky.SINSTS":"Puissance apparente Instantan\xe9e soutir\xe9e","manufacturer.zlinky.SINSTS1":"Puissance apparente Instantan\xe9e soutir\xe9e phase 1","manufacturer.zlinky.SINSTS2":"Puissance apparente Instantan\xe9e soutir\xe9e phase 2","manufacturer.zlinky.SINSTS3":"Puissance apparente Instantan\xe9e soutir\xe9e phase 3","manufacturer.zlinky.SMAXN":"Puissance apparente max. soutir\xe9e n","manufacturer.zlinky.SMAXN1":"Puissance apparente max. soutir\xe9e n phase 1","manufacturer.zlinky.SMAXN2":"Puissance apparente max. soutir\xe9e n phase 2","manufacturer.zlinky.SMAXN3":"Puissance apparente max. soutir\xe9e n phase 3","manufacturer.zlinky.SMAXN-1":"Puissance apparente max. soutir\xe9e n-1","manufacturer.zlinky.SMAXN1-1":"Puissance apparente max. soutir\xe9e n-1 phase 1","manufacturer.zlinky.SMAXN2-1":"Puissance apparente max. soutir\xe9e n-1 phase 2","manufacturer.zlinky.SMAXN3-1":"Puissance apparente max. soutir\xe9e n-1 phase 3","manufacturer.zlinky.MSG1":"Message court","manufacturer.zlinky.MSG2":"Message ultra court","manufacturer.zlinky.PRM":"PRM","manufacturer.zlinky.DPM1":"D\xe9but Pointe Mobile 1","manufacturer.zlinky.FPM1":"Fin Pointe Mobile 1","manufacturer.zlinky.DPM2":"D\xe9but Pointe Mobile 2","manufacturer.zlinky.FPM2":"Fin Pointe Mobile 2","manufacturer.zlinky.DPM3":"D\xe9but Pointe Mobile 3","manufacturer.zlinky.FPM3":"Fin Pointe Mobile 3","manufacturer.zlinky.RELAIS":"Relais","manufacturer.zlinky.NJOURF":"Num\xe9ro du jour en cours calendrier fournisseur","manufacturer.zlinky.NJOURF+1":"Num\xe9ro du prochain jour calendrier fournisseur","manufacturer.zlinky.PJOURF+1":"Profil du prochain jour calendrier fournisseur","manufacturer.zlinky.PPOINTE1":"Profil du prochain jour de pointe","manufacturer.zlinky.PROTOCOL_LINKY_0":"Mode historique monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_1":"Mode standard monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_2":"Mode historique triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_3":"Mode standard triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_5":"Mode standard monophas\xe9 producteur","manufacturer.zlinky.PROTOCOL_LINKY_7":"Mode standard triphas\xe9 producteur","ZigpyTopologyReport":"Active l\'utilisation du scan de topologie zigpy","ZigpyTopologyReportAutoBackup":"Sauvegarde les scan topologie interne zigpy"}'),b=JSON.parse('{"APP_NAME":"ZigBeeforDomoticZ plug-in Admin Interface","About":"Over","Version":"Versie","NODATA":"Geen data weer te geven","TOTAL":"Totaal {totalRecords}","SELECTED":"Geselecteerd","dashboard":"Dashboard","dashboard.button.refresh":"Ververs","dashboard.trafic.title":"Plugin status ( Verzenden en Ontvangen, Types en Belasting)","dashboard.health.title":"Plugin apparaten","dashboard.devices.state.label":"Aantal bekende apparaten van de plugin","dashboard.devices.live":"live","dashboard.devices.disabled":"invalide","dashboard.devices.notseen":"geen nieuws","dashboard.devices.notReachable":"offline","dashboard.devices.others":"onbekend","dashboard.health.comment":"Live = apparaten online
Offline = apparaten zijn niet bereikbaar
Geen nieuws = apparaten waren meer dan 6 uur niet bereikbaar
Onbekend = status apparaten onbekend","dashboard.traffic.title":"Verzonden & Ontvangen","dashboard.trafic.label":"Verzonden/Ontvangen berichten","dashboard.trafic.send":"Tx","dashboard.trafic.receive":"Rx","dashboard.traffic.comment":"Tx = aantal inkomende berichten sinds het begin van de plug-in
Rx = aantal uitgaande berichten sinds het begin van de plug-in","dashboard.trend.title":"Statistieken","dashboard.txps":"Tx/s","dashboard.rxps":"Rx/s","dashboard.txph":"Tx/h","dashboard.rxph":"Rx/h","dashboard.load":"Belasting","dashboard.trend.comment":"Tx/s = aantal verzonden berichten per seconde
Rx/s = aantal ontvangen berichten per seconde
Load = aantal berichten in de wachtrij","dashboard.trafic.maxload.label":"Belasting","dashboard.trafic.maxload":"Piek","dashboard.trafic.currentload":"huidige wachtrij","dashboard.trend.chart.yaxis":"Berichten/s","dashboard.devices.title":"Apparaat status van niet uitgeschakelde apparaten (Type, Gezondheid en Batterij niveau)","dashboard.device.title":"Soort van apparaten","dashboard.devices.label":"Apparaten","dashboard.devices.routers":"routers","dashboard.devices.enddevice":"eindapparaat","dashboard.devices.comment":"Router is een hoofdapparaat dat deelneemt aan het mesh-netwerk.
Eindapparaat is een apparaat op batterijen dat geen berichten kan sturen, en geen niet bereikbaar is wanneer inactief.","dashboard.battery.title":"Batterij","dashboard.devices.battery.label":"Batterij","dashboard.devices.battery.inf.15":"< 15%","dashboard.devices.battery.inf.35":"< 35%","dashboard.devices.battery.inf.75":"< 75%","dashboard.devices.battery.sup.75":"> 75%","dashboard.battery.comment":"Voor apparaten met een batterij wordt de batterijstatus gerapporteerd.","dashboard.optimized.title":"Geoptimaliseerde apparaten","dashboard.optimized.comment":"Geoptimaiseerde apparaten zijn apparaten waarvoor een configuratie is uitgevoerd om de plug-in te laten werken zoals verwacht.
Niet-geoptimaliseerde apparaten kunnen niet volledig werken en/of kunnen onverwachte belasting of verkeer genereren.
Meer info in de wiki ","dashboard.devices.optimized":"Geoptimaliseerde apparaten","dashboard.devices.not.optimized":"Niet geoptimaliseerde apparaten","dashboard.devices.optimized.label":"Geoptimaliseerde apparaten","dashboard.popup.device.header":"Object lijst","dashboard.popup.device.subtitle":"Deze lijst is gefilterd, door het geselecteerde in het dashbaord","dashboard.popup.device.button.close":"Sluiten","dashboard.health.starttime":"Opgestart op:","dashboard.rxpm":"Rx/m","dashboard.txpm":"Tx/m","dashboard.maxload":"Max Belasting","dashboard.plugin.version":"Plugin: ","dashboard.plugin.update.available":"Er is een update voor de plug-in beschikbaar Meer informatie.
Plugin upgrade","dashboard.plugin.update.available.title":"Plugin update","dashboard.firmware.version":"Firmware: ","dashboard.firmware.update.available":"Er is nieuwe firmware beschikbaar voor de ZiGate Meer info","dashboard.firmware.update.available.title":"Firmware update","dashboard.device.button":"Domoticz apparaten (json)","dashboard.plugin.header":"Plugin informatie","dashboard.plugin.subtitle":"Geeft plugin informatie","dashboard.stats.header":"Plugin statistieken","dashboard.stats.subtitle":"Geeft co\xf6rdinator statistieken over het verzenden en ontvangen van informatie","dashboard.zdevice.button":"Plugin apparten (json)","dashboard.zgroup.button":"Plugin Groepen (json)","dashboard.coordinator.header":"Co\xf6rdinator informatie","dashboard.coordinator.subtitle":"Geeft co\xf6rdinator informatie","dashboard.health.OTA":"OTA: ","dashboard.health.group":"Group: ","dashboard.devices.indb":"In db","consent.banner.header":"Toestemming","consent.banner.description":"Voor het ontwikkelen, gebruiken we cookies voor technisch gebruik, en met je toestemming, we verzamelen alleen de plug-in versie.
Mehr Infos im Wiki.","consent.banner.accept":"Accepteer","consent.banner.decline":"Afwijzen","management":"Beheer","device":"Apparaat Management","device.byname.subtitle":"Een lijst van alle gekoppelde apparaten. Hier kun je een vriendelijke naam voor ieder apparaat invoeren.
Dit geeft een vriendelijk naam, in plaats van een code.
De oranje gemarkeerde objecten zijn niet geoptimaliseerd met de plug-in. Volg de procedure op de wiki. ","device.byname.capabilities.column":"Functies","device.byname.devicename.column":"Eenvoudige naam","device.byname.header":"Apparaten management","device.byname.trash.column":"Verwijder","device.byname.optimized.column":"Verwijderen","device.byname.health.column":"Gezondheid","device.byname.battery.column":"Batterij","device.byname.ieee.column":"IEEE","device.byname.model.column":"Model","device.byname.devicename.param":"Extra parameters","device.byname.devicename.enabled":"Apparaat ingeschakeld","device.byname.placeholder":"typ filter hier ....","device.byname.shortid.column":"Korte id","device.byname.status.column":"Status","device.byname.lqi.column":"LQI","device.byname.rssi.column":"RSSI","device.byname.validate.button":"Valideer","device.byname.widget.column":"Domoticz Widget","device.byname.alert.title":"Verwijder apparaat ?","device.byname.alert.subject":"Weet je het zeker ?","device.byname.alert.delete":"Verwijder","device.byname.alert.cancel":"Annuleer","device.byname.error.notify":"Gebruik de ingeschakelde schakelaar","device.byname.parameter.alert.save":"Valideer","device.byname.parameter.alert.cancel":"Annuleer","device.byname.parameter.alert.title":"Parameters","device.byname.parameter.alert.subject":"Stel specifieke parameters in ","device.byname.parameter.popover.title":"Device Parameters","device.byname.parameter.popover.text":"Specify local device configuration parameters. Green means in sync with the device, when Orange the parameters are not yet pushed to the device","device.byname.delete.colum":"Verwijder","device.byname.optimized.popover.title.ok":"Het object is geoptimaliseerd met de plugin","device.byname.optimized.popover.text.ok":"Klik op het icoon om de informatie van het object","device.byname.optimized.popover.title.ko":"Dit object is niet geoptimaliseerd met de plugin","device.byname.optimized.popover.text.ko":"Klik op het icoon om de informatie van het object","group":"Groep Management","group.create.devices.column":"Apparaten in de Groep","group.create.groupname.column":"Groepsnaam","group.create.header":"Groep Management","group.create.placeholder":"typ filter hier ....","group.create.shortid.column":"Groep id","group.create.subtitle":"Maak, bewerk en verwijder groepen
","group.create.validate.button":"Valideer","group.create.add.button":"Maak een nieuwe groep","group.create.delete.button":"Verwijder","group.create.coordinator.column":"Co\xf6rdinator (toegevoegd aan groep)","group.reloadplugin.alert.title":"Plugin herstart","group.reloadplugin.alert.subject":"Groepen zijn ge-update, de plugin moet opnieuw worden gestart via Admin tab","group.reloadplugin.alert.cancel":"Sluiten","header.popover.title":"Herstart noodzakelijk","header.popover.text":"Sommige wijzigingen zijn in afwachting van een herstart van de plug-in","network":"Netwerk","network.topo":"Topologie","network.topo.header":"Netwerk Topologie","network.topo.subtitle":"Lijst van de Netwerk Topology. Selecteer de datum om het meshdiagram te genereren ","network.topo.visu.header":"Topologie diagram","network.topo.visu.subtitle":"Het Topologiediagram toont alle koppelingen tussen 2 knooppunten. Als u de cursor op een link plaatst, ziet u de richting van de link en de kwaliteit van de link","network.topo.visu.network.header":"Netwerk diagram","network.topo.visu.network.subtitle":"Maakt een netwerkdiagram van u Zigbee omgeving.","network.topo.visu.network.filter":"apparaat","network.topo.device.visu.network.chart.title":"Netwerk diagram","network.topo.visu.delete.button":"Verwijder","network.topo.device.batterylevel.column":"Batterij","network.topo.device.deviceid.column":"Apparaat id","network.topo.device.id.column":"Id","network.topo.device.nvalue.column":"nWaarde","network.topo.device.signalelevel.column":"Signaal","network.topo.device.svalue.column":"sWaarde","network.topo.device.switchtype.column":"Schakelaar","network.topo.device.timedout.column":"Timeout","network.topo.device.type.column":"Type","network.topo.device.name.column":"Naam","network.topo.device.visu.header":"Lijst van apparaten","network.topo.device.visu.subtitle":"Genereert de lijst met apparaten die worden beheerd door co\xf6rdinator. Je krijgt ook een verwijzing naar de Widget-namen en aanvullende informatie van Domoticz","network.topo.device.visu.chart.title":"Mesh Diagram","network.topology.req.header":"Topologie scan","network.topology.req.subtitle":"Dit zal een Topologiescan op de achtergrond starten","network.topology.req.button":"Scan","network.topo.visu.network.relation.header":"Lijst met gekoppelde onderdelen van {{deviceSelected}}","network.topo.visu.network.relation.subtitle":"Deze lijst geeft de LQI-waarde weer, tussen het geselecteerde object en al zijn koppelingen.","network.topo.visu.network.relation.to":"koppelingen","network.topo.visu.network.relation.weight":"LQI","network.topo.visu.network.relation.nochild":"Het geselecteerde object heeft geen koppelingen.","network.topo.visu.network.relation.model":"Model","network.topo.visu.network.relation.status":"Status","network.topo.visu.network.relation.health":"Gezondheid","network.topo.visu.network.relation.battery":"Batterij","network.energy":"Energieniveau","network.stats.header":"Netwerk","network.stats.subtitle":"Energieniveau rapport ","network.stats.visu.delete.button":"Verwijder","network.inter.req.header":"Korte Energie scan","network.inter.req.subtitle":"De korte energiescan, het rapport geeft het energieniveau tussen alle routers en co\xf6rdinator, en verwerkt alle cross-communicatie. Dit rapport kan even duren als het aantal routers hoog is, n ((n-1) / 2), voor 5 routers zijn het 10 combinaties, voor 10 routers 45","network.inter.req.button":"Scan","network.full.req.header":"Volledige Energie scan","network.full.req.subtitle":"Er wordt een energierapport verstrekt. Dit rapport geeft het energieniveau tussen routers en ZiGate weer. Met andere woorden, hoeveel stroom ontvangt de co\xf6rdinator. Hoe hoger het getal, des te beter het ontvangst","network.full.req.button":"Volledige scan","network.stats.detail.visu.header":"Energieniveau","network.stats.detail.visu.subtitle":"Hoe hoger het nummer is, des te meer storing (0 tot 255)","network.stats.detail.visu.totaltx":"Tx : ","network.stats.detail.visu.totalfail":"Mislukt : ","network.stats.detail.visu.chart.title":"Energieniveau","network.stats.detail.visu.chart.y-axis":"Energieniveau","network.stats.detail.visu.chart.x-axis":"Kanaal","admin":"Admin","admin.pairing":"Koppelen","admin.permittojoin.label":"Accepteer nieuwe hardware","admin.permittojoin.on.notify":"Accepteer nieuwe hardware Aan","admin.permittojoin.off.notify":"Accepteer nieuwe hardware Uit","admin.assistprovisionning.title":"Apparaat koppelen","admin.assistprovisionning.subtitle":"Start het koppelproces voor nieuwe apparaten ","admin.assistprovisionning.go.button":"Start","admin.assistprovisionning.alert.title":"Apparaat koppelen.","admin.assistprovisionning.alert.subject":"Wacht tot een nieuw apparaat zich aanmeld.","admin.assistprovisionning.alert.state":"Status : ","admin.assistprovisionning.alert.description":"Beschrijving : ","admin.assistprovisionning.alert.nwkid":"korte NwkId : ","admin.assistprovisionning.alert.ieee":"IEEE : ","admin.assistprovisionning.alert.widgets":"Widget Lijst : ","admin.assistprovisionning.alert.cancel":"Annuleer","admin.assistprovisionning.alert.ep":"Eindpunt:","admin.assistprovisionning.alert.cluster":"ClusterId","admin.assistprovisionning.alert.profile":"Profiel :","admin.assistprovisionning.alert.device":"Apparaat :","admin.assistprovisionning.alert.model":"Model :","admin.assistprovisionning.alert.plugincertified":"Plugin Certificaat","admin.assistprovisionning.alert.Failed":"Mislukt (Er ging wat mis, controleer het logoboek)","admin.assistprovisionning.alert.inDB":"Gelukt (controleer of de apparaten zijn gemaakt)","admin.assistprovisionning.alert.Unexpected":"Onverwacht probleem (Neem contact op met de support)","admin.permittojoin.title":"Accepteer nieuwe Hardware voor een bepaalde tijd","admin.permittojoin.subtitle":"In/uitschakelen van het co\xf6rdinator koppelproces voor gewenste een periode ","admin.permittojoin.validate.button":"Valideer","admin.permittojoin.permanent.button":"Permanent","admin.permittojoin.permanent.notify":"Permanente Pairing mode","admin.permittojoin.stop.button":"Stop","admin.permittojoin.stop.notify":"Pairing modem Uit","admin.permittojoin.4min.button":"4 minuten","admin.permittojoin.4min.notify":"Pairing mode aan voor 4 minuten","admin.permittojoin.notify":"Pairing mode gewijzigd","admin.permittojoinrouter.title":"Koppel nieuwe apparaten op een router","admin.permittojoinrouter.subtitle":"Start/stop het koppelproces met co\xf6rdinator voor een bepaalde periode ","admin.permittojoinrouter.devices.placeholder":"Lijst van routers","admin.fullreset.title":"Bereid een apparaat voor op een hard reset","admin.fullreset.subtitle":"Als je een reset geeft op een object dat de plug-in kent, de plug-in gebruikt zijn vorige informatie. Met een volledige reset, als je een reset op een object doet, de plug-in cre\xebert alle informatie opnieuw.","admin.fullreset.device.placeholder":"Selecteer een apparaat","admin.fullreset.button":"Reset methode","admin.fullreset.notify":"Reset methode geactiveerd","admin.recreate.title":"Cre\xeber een widget(s) opnieuw","admin.recreate.subtitle":"Cre\xeber de widget opnieuw","admin.recreate.device.placeholder":"Selecteer een apparaat","admin.recreate.button":"Cre\xeber widget(s) opnieuw","admin.recreate.notify":"Opnieuw cre\xebren van widget(s) gestart","admin.group":"Groep","admin.rescan.group.title":"Scan alle apparaten op groepslidmaatschappen","admin.rescan.group.subtitle":"Start een scan van alle apparaten op groepslidmaatschappen
Het resultaat wordt zichtbaar in het group management menu.","admin.rescan.group.button":"Volledige scan","admin.scan.group.device.title":"Scan een selectie van apparaten voor groepslidmaatschappen","admin.scan.group.device.subtitle":"Start een scan van groepslidmaatschappen voor de geselecteerde apparaten
Je kan \xe9\xe9n of meerdere apparaten selecteren en het resultaat wordt zichtbaar in het groep management menu.","admin.scan.group.device.button":"Scan","admin.scan.group.device.placeholder":"Selecteer te scannen apparaten","admin.coordinator":"Co\xf6rdinator","admin.coordinator.swreset.title":"Co\xf6rdinator reset","admin.coordinator.swreset.subtitle":"Co\xf6rdinator wordt ge herstart (Er gaan geen gekoppelde apparaten verloren) ","admin.coordinator.swreset.button":"Zachte reset","admin.coordinator.swreset.notify":"Co\xf6rdinator herstart begonnen","admin.coordinator.switchchannel.title":"Co\xf6rdinator wijzig kanaal","admin.coordinator.switchchannel.subtitle":"Zal het kanaal wijzigen in de geselecteerde, en zal het kanaal verzenden naar het apparaat. Attentie, normaal veranderen routers naar het nieuwe kanaal, none Zigbee 3.0 apparaten doen dat niet en hebben een reset nodig.","admin.coordinator.switchchannel.placeholder":"Co\xf6rdinator kanaal (0 default)","admin.coordinator.switchchannel.button":"Wijzig kanaal","admin.coordinator.switchchannel.notify":"Kanaal wijziging gestart","admin.erasepdm.title":"Wis ZiGate","admin.erasepdm.subtitle":"Zal alle permanente data verwijderen uit het geheugen van ZiGate (Alle gekoppelde apparaten worden gewist). Zorg ervoor dat je wis ZiGatePDM hebt ingeschakeld in geavanceerde instellingen voor dat je deze bewerking uitvoert.","admin.erasepdm.button":"Verwijderen","admin.erasepdm.notify":"ErasePdm ZiGate gestart","admin.erasepdm.alert.title":"Wis ZiGate, weet je het zeker?","admin.erasepdm.alert.subject":"ATTENTIE, laatste kans !!!!!","admin.erasepdm.alert.cancel":"Annuleer","admin.erasepdm.alert.erase":"Verwijderen","admin.plugin":"Plug-in","admin.plugin.reload.title":"Herstart plug-in","admin.plugin.reload.subtitle":"Zal de plug-in herstarten ","admin.plugin.reload.button":"Herstart","admin.plugin.reload.notify":"Plug-in herstarten","admin.plugin.reload.port":"Poort","admin.plugin.reload.username":"Gebruikersnaam","admin.plugin.reload.password":"Wachtwoord","admin.plugin.reload.host":"Hostnaam","admin.plugin.reload.protocol":"Protocol","admin.plugin.reload.alert.title":"Plug-in herstarten, Weet je het zeker ?","admin.plugin.reload.alert.subject":"ATTENTIE, laatste kans !!!!!","admin.plugin.reload.alert.cancel":"Annuleer","admin.plugin.reload.alert.erase":"Herstart","admin.plugin.update.title":"Plugin update","admin.plugin.update.subtitle":"Update de plugin naar de meeste recente versie. Als de update gelukt is, word er gevraagd de plugin te herstarten, anders moet je handmatig updaten.","admin.plugin.update.button":"upgrade plugin (dit kan enkele minuten duren)","admin.plugin.update.success":"Je kunt de plugin nu herstarten","admin.plugin.update.error":"Controleer de log file, en pas eventueel handmatig aan","admin.firmware":"Firmware","admin.firmware.title":"Apparaten firmware","admin.firmware.subtitle":"Update apparaat firmware ","admin.firmware.button.update":"Update","admin.firmware.notify":"Updating firmware","admin.firmware.list":"lijst beschikbare firmware","admin.firmware.manufacturer.list":"lijst van leveranciers","admin.firmware.devices.list":"Lijst van apparaten","admin.firmware.force":"Forceer update","admin.firmware.alert.title":"Titel waarschuwing","admin.firmware.alert.subject":"Onderwerp waarschuwing","admin.firmware.alert.ok":"update","admin.firmware.alert.cancel":"Annuleer","admin.firmware.alert.list.devices":"Lijst van apparaten","admin.firmware.alert.filename":"bestandsnaam","admin.firmware.alert.device":"Apparaat","admin.firmware.alert.brand":"Merk","settings":"Instellingen","setting.header":"Instellingen","setting.subtitle":"Hier kunt u verschillende plug-in instellingen wijzigen
Sommige wijzigingen vereisen mogelijk een herstart van de plug-in.","setting.validate.button":"Valideer","setting.reinit.button":"Instellingen (standaard)","setting.advanced.button":"Geavanceerde instellingen","setting.normal.button":"Normale instellingen","setting.help.link":" Informatie over de instellingen vind je in de WIKI","setting.help.legend":"Dit zijn alle instellingen van de plugin die je kan wijzigen.","setting.header.Services":"Beschikbare services","setting.subtitle.Services":"Activeer hier de beschikbare services","useDomoticzLog":"Gebruik Domoticz Log","enablegroupmanagement":"Aanzetten Groepen","zigatePartOfGroup0000":"Cre\xeber Groep 0000","allowRemoveZigateDevice":"Verwijderen van co\xf6rdinator","resetPermit2Join":"Reset na een herstart toestaan","forcePollingAfterAction":"Krijg apparaten status na actie","enableReadAttributes":"Polling Aanzetten","blueLedOnOff":"Schakel co\xf6rdinator Blue Led aan","setting.reloadplugin.alert.title":"Plug-in herstart","setting.reloadplugin.alert.subject":"De instellingen zijn bijgewerkt, de plug-in moet opnieuw worden opgestart","setting.reloadplugin.alert.cancel":"Sluiten","setting.resetplugin.alert.title":"Coordinator Reset","setting.resetplugin.alert.subject":"Instellingen zijn geupdate, coordinator heeft een reset nodig. (meestal hebben alle apparaten een rapair nodig)","setting.resetplugin.alert.cancel":"Sluiten","setting.eraseplugin.alert.title":"Wis PDM","setting.eraseplugin.alert.subject":"Instellingen zijn geupadate, PDM heeft een reset nodig. (alle apparaten moeten opnieuwe gepaird worden)","setting.eraseplugin.alert.cancel":"Afsluiten","Ping":"Activeer Ping","setting.header.DomoticzEnvironment":"Domoticz URL","setting.subtitle.DomoticzEnvironment":"Instelling voor toegang tot Domoticz API","setting.header.WebInterface":"Web Interface instellingen","setting.subtitle.WebInterface":"Maakt het mogelijk om de Web UI aan / uit te schakelen","enableWebServer":"Schakel web User Interface in","setting.header.DeviceManagement":"Instellingen voor apparaat beheer","setting.subtitle.DeviceManagement":"Hier zijn alle instellingen met betrekking tot Apparaten en hoe co\xf6rdinator ermee omgaat","setting.header.CoordinatorConfiguration":"Coordinator Instellingen","setting.subtitle.CoordinatorConfiguration":"Instellingen met betrekking tot de Coordinator-hardware.","setting.header.OverTheAirUpgrade":"Over The Air Upgrade-instellingen","setting.subtitle.OverTheAirUpgrade":"Alle instellingen met betrekking tot de Over The Air upgrade-functionaliteit.","allowOTA":"Aanzetten OTA","setting.header.Legrand":"Legrand Netatmo instellingen","setting.subtitle.Legrand":"Allow to set a number of Legrand specifics options","setting.header.Schneider_Wiser":"Schneider Wiser instellingen","setting.subtitle.Schneider_Wiser":"Allow to enable some specific mecanishm, and some other options","internetAccess":"Internettoegang toestaan","batteryOTA":"OTA toestaan voor apparaten op batterijen","waitingOTA":"Vertraag het starten van het OTA-proces","setting.header.GroupManagement":"Groepsmanagement instellingen","setting.subtitle.GroupManagement":"Instellingen om de Groepsbeheerfunctie in te schakelen en te configureren.","OnIfOneOn":"Groep is aan wanneer \xe9\xe9n apparaat aan is (Anders moeten alle apparaten aan zijn)","setting.header.PluginConfiguration":"Plugin omgevingsinstellingen","setting.subtitle.PluginConfiguration":"Alle instellingen voor Plugin-omgeving","numDeviceListVersion":"Hoeveel regels Apparaatlijst-geschiedenis behouden","setting.header.Others":"Overige instellingen","setting.header.Provisioning":"Paring instellingen","setting.subtitle.Provisioning":"Speciale instellingen voor specialing apparaten en condities","setting.header.DevicePolling":"Backend error","setting.subtitle.DevicePolling":"Hiermee kunt u de polling-frequentie opgeven per type informatie. Houd er rekening dat wanneer de co\xf6rdinator een hoge overvraagt wordt er mogelijk knelpunten ontstaan","setting.subtitle.Others":"","logLQI":"Vertraging voordat een Topologiescan wordt gestart (sec)","networkScan":"Frequentie van storingsrapport (sec)","setting.header.CommandTransition":"Experimentele parameters","setting.subtitle.CommandTransition":"Group Overgangstijden voor apparaat commando\'s","moveToHueSatu":"Transition for Hue","moveToColourTemp":"Transition for Color Temp","moveToColourRGB":"Transition for RGB color","moveToLevel":"Transition for Move to Level","setting.header.Experimental":"Experimentele parameters","setting.subtitle.Experimental":"Alleen gebruiken wanneer hier naar wordt gevraagd","api.global.error.notify":"foutmelding","api.global.succes.scanlaunched.notify":"analyseren gestart","api.global.succes.commandsent.notify":"Commando verzonden","api.global.succes.saved.notify":"Opgeslagen","setting.header.OTA":"Apparaat firmware update Over-The-Air","setting.subtitle.OTA":"Parameters hoe je de Over-The-Air update configuratie wilt laten verlopen.","IkeaTradfri_Repository":"IKEA-TRADFRI Oficiele repository","ZigbeeOTA_Repository":"Zigbee OTA firmware (opgebouwd door de internet communitie)","autoServeOTA":"Sta automatische update toe, wanneer er nieuwe firmeware is gevonden.","checkFirmwareAgainstZigbeeOTARepository":"Controleer of er firmware beschikbaar is in de repository","DomoticzCustomMenu":"Aanzetten Plugin WebUI vanuit het Domoticz Custom menu","NightShift":"Push achtergrond activiteit van 23:00 tot 6:00 uur","ConfigureReportingChunk":"Maximale nummers van attributen, wanneer configuratie rapport","ReadAttributeChunk":"Maximale nummers van attributen wanneer attributen gelezen ","resetConfigureReporting":"Reset alle bestaande configuraties van het rapport","resetReadAttributes":"Reset alle attributen die gelezen zijn","TopologyV2":"Network Topology gebasserd op routing en neighbourghs tables","autoBackup":"Automatische backup van de coordinator","BackupFullDevices":"backup apparaten informatie","BellowsNoMoreEndDeviceChildren":"Schakel direct pairen uit van Coordinator","BellowsSourceRouting":"Zet aan Zigbee Source routing mechanisme","pingDevices":"Ping main-powered apparaten regelmatig om te verifi\xebren of ze gezond zijn.","GroupOnBattery":"Zet aan groep creeren voor batterij apparaten","deviceOffWhenTimeOut":"Schakel schakelaar uit wanneer buiten netwerk","checkConfigurationReporting":"Controleer het apparaat report configuratie regelmatig","TXpower_set":"Coordinator transmissie power level","pingDevicesFeq":"Frequentie van regelmatig ping main-powered apparaten","GrpfadingOff":"Dimmer-modus","GrpmoveToColourRGB":"Overangstijd voor RGB kleur","GrpmoveToColourTemp":"Overangstijd voor TEMP kleur","GrpmoveToLevel":"Overangstijd voor dim positie naar een andere","enableSchneiderWiser":"Inschakelen wanneer je veroudere Wiser apparaten hebt.","LegrandCompatibilityMode":"Inschakelen om een Legrand Netamo Hub te simuleren","AqaraOppleBulbMode":"Inschakelen om een Aqara Opple remote, commandos direct naar het apparaat te sturen.","forceClosingAllNodes":"Inschakelen om pairing mode af te sluiten in elke router","extendedPANID":"Zigbee Extended PAN Identifier","allowReBindingClusters":"Enable re-binding clusters during configure reporting operations","doUnbindBind":"Unbind and then bind, when doing a binding operation","PluginAnalytics":"Schakel de plugin in, en om cookies te gebruiken, om informatie te verzamelen, over de coordinator, en de apparten die gebruikt worden.","autoRestore":"Automatisch gebruik de meest recente coordinator backup, als een lege is gevonden.","forceSwitchSelectorPushButton":"Zet de selector switch eerst op \'off\' wanneer dezelfde status wordt geselecteerd. (Workaround voor Domoticz issue #4143)","resetSwitchSelectorPushButton":"Aantal seconden totdat de schakalaar uit gaat","setting.header.ManufSpecifiqDevicePolling":"Specifieke Polling","setting.subtitle.ManufSpecifiqDevicePolling":"0 stands for disable otherwise it indicates the polling frequency in seconds, For Manufacturer Specific it will allow to retreive device states whcih are not provided automatically by the device","setting.header.Zigpy":"Zigpy CIE specifieke configuratie","setting.subtitle.Zigpy":"Specific to some CIE as ConBeeII and RasBeeII it might required to enable some CIE specific item for some brand","resetMotiondelay":"Vertaging in seconden om motion te detecteren","Certification":"Certification ( FCC or CE )","channel":"Co\xf6rdinator kanaal (standaard 0)","alarmDuration":"tijd in seconden voor duur van alarm","vibrationAqarasensitivity":"Aqara Vibratie gevoeligheid","TradfriKelvinStep":"stappen voor kelvin Tradfri afstandsbediening","numTopologyReports":"Aantal topologie rapporten opgeslagen","numEnergyReports":"Aantal opgeslagen storingsrapporten","PowerOn_OnOff":"Na stroomuitval herstel status apparaat","logDeviceUpdate":"Schakel updaten apparaat bericht in log","capturePairingInfos":"Sla pairing informatie op in reports folder","error_required":"Benodigd","ForceAPSAck":"Force APS Ack to ZCL and ZDP commands","zigpySourceRouting":"Enable Zigbee Source routing (plugin)","reenforcementWiser":"Enable reenforcement messages (legacy Wiser only)","forcePassiveWidget":"Allow Domoticz actions on Widgets from remote devices","tools":"Gereedschappen","tools.tools":"Gereedschappen","tools.tools.export":"Exporteer","tools.tools.zdevice-raw.button":"Plugin onbewerkte apparaten","tools.tools.non-optimized.button":"Niet geoptimaliseerde apparaten","tools.tools.zgroup.button":"Plugin Groepen","tools.tools.zdevice.button":"Plugin apparaten","tools.tools.device.button":"Domoticz Widgets","tools.tools.log.button":"Plug-in informatie","tools.tools.infos.plugin.button":"Plug-in informatie","tools.tools.coordinator.infos.button":"Co\xf6rdinator informatie","tools.tools.plugin-health.button":"Plugin gezondheid","tools.tools.zdevice-name.button":"zApparaat-naam","tools.tools.domoticz-env.button":"domoticz-env","tools.tools.battery-state.button":"Battery State","tools.tools.zgroup-list-available-device.button":"zGroep-lst-apparaten","tools.tools.settings.button":"Instellingen","tools.tools.plugin-stat.button":"Verkeer","tools.command":"Commando","tools.debugcommand.title":"Verstuur commando","tools.debugcommand.subtitle":"Verstuur een commando naar een apparaat
(1) Selecteer het apparaat,
(2) Selecteer het commando,
(3) Selecteer het apparaat type. Dit beinvloed de manier hoe er met het apparaat wordt gecommuniceerd,
(4) Geef een waarde in of selecteer een kleur (optioneel)","tools.debugcommand.device":"Kies apparaat","tools.debugcommand.button.cancel":"Annuleer","tools.debugcommand.action":"Kies Actie","tools.debugcommand.type":"Kies type","tools.debugcommand.value":"Waarde","tools.debugcommand.level.error":"tussen 0 en 100","tools.debugcommand.effect.error":"tussen 0x00 tot 0xff","tools.debugcommand.button.send":"Verzenden","tools.rawcommand-zigate.title":"ZiGate commando (raw)","tools.rawcommand-zigate.subtitle":"Sta Zigate toe om een commando direct naar the co\xf6rdinator te sturen.
Je moeten deze link volgen the ZiGate protocol .","tools.rawcommand-zigate.command":"Berichten RAW type","tools.rawcommand-zigate.error":"Invoer verplicht","tools.rawcommand-zigate.payload":"Data","tools.rawcommand-zigate.button.send":"Bevestig","tools.rawcommand-zigpy.title":"ZigBee commando","tools.rawcommand-zigpy.subtitle":"Sta Zigate toe om een commando direct naar the co\xf6rdinator te sturen.","tools.rawcommand-zigpy.placeholder":"Selecteer een apparaat","tools.rawcommand-zigpy.groupaddressflag":"GroupAddressFlag","tools.rawcommand-zigpy.ackmode":"AckMode","tools.rawcommand-zigpy.profileid":"ProfileId","tools.rawcommand-zigpy.clusterid":"ClusterId","tools.rawcommand-zigpy.sourceep":"SourceEp","tools.rawcommand-zigpy.targetep":"TargetEp","tools.rawcommand-zigpy.sqn":"Sqn","tools.rawcommand-zigpy.payload":"Data","tools.rawcommand-zigpy.button.send":"Bevestig","tools.reporting.configure":"Configureer overzicht","tools.reporting.configure.title":"Configureer overzicht instellingen","tools.reporting.configure.subtitle":"Configure a device to automatically report the values of one or more of its attributes, or to receive such reports.
The minimum reporting interval field is 16 bits in length and SHALL contain the minimum interval, in seconds, between issuing reports of the specified attribute.
The maximum reporting interval field is 16 bits in length and SHALL contain the maximum interval, in seconds, between issuing reports of the specified attribute.
The reportable change field SHALL contain the minimum change to the attribute that will result in a report being issued. This field is of variable length.
For attributes with \'analog\' data type (see 2.6.2), the field has the same data type as the attribute. The sign (if any) of the reportable change field is ignored.","tools.reporting.configure.trigger.button":"Trigger","tools.reporting.configure.reset.button":"Reset","tools.reporting.configure.validate.button":"Valideer","tools.reporting.configure.device":"Selecteer een apparaat","tools.reporting.configure.clusterId.column":"Cluster id","tools.reporting.configure.attributeId.column":"Attribuut id","tools.reporting.configure.dataType.column":"Datatype","tools.reporting.configure.timeout.column":"Timeout","tools.reporting.configure.minInterval.column":"min interval (secondes)","tools.reporting.configure.maxInterval.column":"max interval (secondes)","tools.reporting.configure.change.column":"wijzig","tools.reporting.configure.hexa.error":"niet een hexadecimaal getal","tools.reporting.configure.length.error":"niet een verwacht getal","tools.binding":"Verbinding","tools.binding.title":"Verbindingstitel","tools.binding.subtitle":"Sta toe om een \u200b\u200bgroep te binden tussen bron- en doelapparaat
e.g. If you want to bind a Temperature sensor with an Actuator, the SourceIEEE/Ep will be the Temperature sensor, the DestIEEE/Ep will be the actuator and the Cluster will be 0402 (Temperature Measurement)","tools.binding.sourceIeee":"bron IEEE","tools.binding.error":"Invoer verplicht","tools.binding.sourceEp":"Selecteer bron apparaat","tools.binding.destIeee":"Dest IEEE","tools.binding.destEp":"Selecteer doel apparaat","tools.binding.cluster":"Cluster","tools.binding.button.put":"Binding verzenden","tools.unbinding.button.put":"Unbinding","tools.debug":"Debug","setting.header.VerboseLogging":"Verbose en Loggen","setting.subtitle.VerboseLogging":"Hiermee kunt u sommige Logging-functies in- of uitschakelen ","tools.debugsetting.help.legend":"Logging and debuging, use advanced to get access to the Debug parameters","tools.debugsetting.advanced.button":"Geavanceerde instellingen","tools.debugsetting.normal.button":"Normale instellingen","tools.debugsetting.validate.button":"Plug-in herstart","tools.debugsetting.reinit.button":"Instellingen (standaard)","tools.debugsetting.reloadplugin.alert.title":"Plugin herladen","tools.debugsetting.reloadplugin.alert.subject":"De instellingen zijn bijgewerkt, de plugin moet opnieuw worden opgestart","tools.debugsetting.reloadplugin.alert.cancel":"Sluiten","tools.error":"foutmelding(en)","tools.error.log-history.button":"Log foutengeschiedenis (json)","tools.error.log-history.clear":"Log verwijderen","error.popover.title":"foutmeldingen gedetecteerd","error.popover.text":"Klik om het log te zien","manufacturer":"Fabrikant","manufacturer.casaia":"Casa.ia","manufacturer.casaia.header":"titel","manufacturer.casaia.subtitle":"ondertitel","manufacturer.casaia.placeholder":"tijdelijke aanduiding","manufacturer.casaia.nwkid":"nwkid","manufacturer.casaia.name":"naam","manufacturer.casaia.ieee":"ieee","manufacturer.casaia.model":"model","manufacturer.casaia.ircode":"ircode","manufacturer.casaia.validate.button":"valideer","manufacturer.zlinky.header":"Le Zlinky","manufacturer.zlinky.subtitle":"Liste les donn\xe9es r\xe9cup\xe9r\xe9es par le Zlinky s\xe9lectionn\xe9,","manufacturer.zlinky.placeholder":"Select Zlinky device","manufacturer.zlinky.key":"Designation","manufacturer.zlinky.value":"Value","manufacturer.zlinky.DateCode":"Code date","manufacturer.zlinky.SWBuildID":"SWBuildID","manufacturer.zlinky.ADC0":"Serial Number","manufacturer.zlinky.BASE":"Index Base","manufacturer.zlinky.OPTARIF":"Option tarifaire","manufacturer.zlinky.ISOUSC":"Intensit\xe9 souscrite","manufacturer.zlinky.HCHC":"Index HCHC","manufacturer.zlinky.HCHP":"Index HCHP","manufacturer.zlinky.EJPHN":"Index EJPHN","manufacturer.zlinky.EJPHPM":"Index EJPHPM","manufacturer.zlinky.BBRHCJB":"Index BBRHCJB","manufacturer.zlinky.BBRHPJB":"Index BBRHPJB","manufacturer.zlinky.BBRHCJW":"Index BBRHCJW","manufacturer.zlinky.BBRHPJW":"Index BBRHPJW","manufacturer.zlinky.BBRHCJR":"Index BBRHCJR","manufacturer.zlinky.BBRHPJR":"Index BBRHPJR","manufacturer.zlinky.IINST":"Courant efficace","manufacturer.zlinky.IINST1":"Courant efficace phase 1","manufacturer.zlinky.IINST2":"Courant efficace phase 2","manufacturer.zlinky.IINST3":"Courant efficace phase 3","manufacturer.zlinky.IMAX":"Intensit\xe9 maximale","manufacturer.zlinky.IMAX1":"Intensit\xe9 maximale phase 1","manufacturer.zlinky.IMAX2":"Intensit\xe9 maximale phase 2","manufacturer.zlinky.IMAX3":"Intensit\xe9 maximale phase 3","manufacturer.zlinky.PMAX":"Puissance maximale triphas\xe9e atteinte","manufacturer.zlinky.PAPP":"Puissance apparente","manufacturer.zlinky.PTEC":"P\xe9riode tarifaire en cours","manufacturer.zlinky.DEMAIN":"Couleur du lendemain","manufacturer.zlinky.HHPHC":"Horaire Heure Pleines Heures Creuses","manufacturer.zlinky.PPOT":"Pr\xe9sence des potentiels","manufacturer.zlinky.PEJP":"Pr\xe9avis d\xe9but EJP (30min)","manufacturer.zlinky.ADPS":"Avertissement du d\xe9passement de la puissance souscrite","manufacturer.zlinky.ADIR1":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 1","manufacturer.zlinky.ADIR2":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 2","manufacturer.zlinky.ADIR3":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 3","manufacturer.zlinky.ADSC":"Adresse Secondaire du Compteur","manufacturer.zlinky.NGTF":"Nom du calendrier tarifaire fournisseur","manufacturer.zlinky.LTARF":"Libell\xe9 tarif fournisseur en cours","manufacturer.zlinky.NTARF":"Num\xe9ro de l\u2019index tarifaire en cours","manufacturer.zlinky.VTIC":"Version de la TIC","manufacturer.zlinky.DATE":"Date et heure courant","manufacturer.zlinky.EAST":"\xc9nergie active soutir\xe9e totale","manufacturer.zlinky.EASF01":"\xc9nergie active soutir\xe9e Fournisseur, index 01","manufacturer.zlinky.EASF02":"\xc9nergie active soutir\xe9e Fournisseur, index 02","manufacturer.zlinky.EASF03":"\xc9nergie active soutir\xe9e Fournisseur, index 03","manufacturer.zlinky.EASF04":"\xc9nergie active soutir\xe9e Fournisseur, index 04","manufacturer.zlinky.EASF05":"\xc9nergie active soutir\xe9e Fournisseur, index 05","manufacturer.zlinky.EASF06":"\xc9nergie active soutir\xe9e Fournisseur, index 06","manufacturer.zlinky.EASF07":"\xc9nergie active soutir\xe9e Fournisseur, index 07","manufacturer.zlinky.EASF08":"\xc9nergie active soutir\xe9e Fournisseur, index 08","manufacturer.zlinky.EASF09":"\xc9nergie active soutir\xe9e Fournisseur, index 09","manufacturer.zlinky.EASF10":"\xc9nergie active soutir\xe9e Fournisseur, index 10","manufacturer.zlinky.EASD01":"\xc9nergie active soutir\xe9e Distributeur, index 01","manufacturer.zlinky.EASD02":"\xc9nergie active soutir\xe9e Distributeur, index 02","manufacturer.zlinky.EASD03":"\xc9nergie active soutir\xe9e Distributeur, index 03","manufacturer.zlinky.EASD04":"\xc9nergie active soutir\xe9e Distributeur, index 04","manufacturer.zlinky.EAIT":"\xc9nergie active inject\xe9e totale","manufacturer.zlinky.ERQ1":"\xc9nergie r\xe9active Q1 total","manufacturer.zlinky.ERQ2":"\xc9nergie r\xe9active Q2 total","manufacturer.zlinky.ERQ3":"\xc9nergie r\xe9active Q3 total","manufacturer.zlinky.ERQ4":"\xc9nergie r\xe9active Q4 total","manufacturer.zlinky.IRMS1":"Courant efficace, phase 1","manufacturer.zlinky.IRMS2":"Courant efficace, phase 2","manufacturer.zlinky.IRMS3":"Courant efficace, phase 3","manufacturer.zlinky.URMS1":"Tension efficace, phase 1","manufacturer.zlinky.URMS2":"Tension efficace, phase 2","manufacturer.zlinky.URMS3":"Tension efficace, phase 3","manufacturer.zlinky.PREF":"Puissance apparente de r\xe9f\xe9rence (PREF)","manufacturer.zlinky.STGE":"Registre de Statuts","manufacturer.zlinky.PCOUP":"Puissance apparente de coupure (PCOUP)","manufacturer.zlinky.SINSTI":"Puissance apparente Instantan\xe9e inject\xe9e","manufacturer.zlinky.SMAXIN":"Puissance apparente max. inject\xe9e n","manufacturer.zlinky.SMAXIN-1":"Puissance apparente max. inject\xe9e n-1","manufacturer.zlinky.CCASN":"Point n de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCASN-1":"Point n-1 de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCAIN":"Point n de la courbe de charge active inject\xe9e","manufacturer.zlinky.CCAIN-1":"Point n-1 de la courbe de charge active inject\xe9e","manufacturer.zlinky.UMOY1":"Tension moyenne phase 1","manufacturer.zlinky.UMOY2":"Tension moyenne phase 2","manufacturer.zlinky.UMOY3":"Tension moyenne phase 3","manufacturer.zlinky.SINSTS":"Puissance apparente Instantan\xe9e soutir\xe9e","manufacturer.zlinky.SINSTS1":"Puissance apparente Instantan\xe9e soutir\xe9e phase 1","manufacturer.zlinky.SINSTS2":"Puissance apparente Instantan\xe9e soutir\xe9e phase 2","manufacturer.zlinky.SINSTS3":"Puissance apparente Instantan\xe9e soutir\xe9e phase 3","manufacturer.zlinky.SMAXN":"Puissance apparente max. soutir\xe9e n","manufacturer.zlinky.SMAXN1":"Puissance apparente max. soutir\xe9e n phase 1","manufacturer.zlinky.SMAXN2":"Puissance apparente max. soutir\xe9e n phase 2","manufacturer.zlinky.SMAXN3":"Puissance apparente max. soutir\xe9e n phase 3","manufacturer.zlinky.SMAXN-1":"Puissance apparente max. soutir\xe9e n-1","manufacturer.zlinky.SMAXN1-1":"Puissance apparente max. soutir\xe9e n-1 phase 1","manufacturer.zlinky.SMAXN2-1":"Puissance apparente max. soutir\xe9e n-1 phase 2","manufacturer.zlinky.SMAXN3-1":"Puissance apparente max. soutir\xe9e n-1 phase 3","manufacturer.zlinky.MSG1":"Message court","manufacturer.zlinky.MSG2":"Message ultra court","manufacturer.zlinky.PRM":"PRM","manufacturer.zlinky.DPM1":"D\xe9but Pointe Mobile 1","manufacturer.zlinky.FPM1":"Fin Pointe Mobile 1","manufacturer.zlinky.DPM2":"D\xe9but Pointe Mobile 2","manufacturer.zlinky.FPM2":"Fin Pointe Mobile 2","manufacturer.zlinky.DPM3":"D\xe9but Pointe Mobile 3","manufacturer.zlinky.FPM3":"Fin Pointe Mobile 3","manufacturer.zlinky.RELAIS":"Relais","manufacturer.zlinky.NJOURF":"Num\xe9ro du jour en cours calendrier fournisseur","manufacturer.zlinky.NJOURF+1":"Num\xe9ro du prochain jour calendrier fournisseur","manufacturer.zlinky.PJOURF+1":"Profil du prochain jour calendrier fournisseur","manufacturer.zlinky.PPOINTE1":"Profil du prochain jour de pointe","manufacturer.zlinky.PROTOCOL_LINKY_0":"Mode historique monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_1":"Mode standard monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_2":"Mode historique triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_3":"Mode standard triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_5":"Mode standard monophas\xe9 producteur","manufacturer.zlinky.PROTOCOL_LINKY_7":"Mode standard triphas\xe9 producteur","ZigpyTopologyReport":"Enable the use of zigpy Topology Scanner","ZigpyTopologyReportAutoBackup":"Automaticaly backup auto-triggered Topology scan"}'),T=JSON.parse('{"APP_NAME":"Interfaz de Gesti\xf3n de ZigBeeforDomoticZ","About":"Sobre","Version":"Versi\xf3n","NODATA":"no hay informaci\xf3n para mostrar","TOTAL":"Total {totalRecords}","SELECTED":"seleccionado","dashboard":"Tablero","dashboard.button.refresh":"Actualizar","dashboard.trafic.title":"Estado del plugin","dashboard.health.title":"Dispositivos del plugin","dashboard.devices.state.label":"Dispositivos conocidos por el plugin","dashboard.devices.live":"Vivo","dashboard.devices.disabled":"deshabilitado","dashboard.devices.notseen":"Sin noticias","dashboard.devices.notReachable":"Perdido","dashboard.devices.others":"Desconocido","dashboard.health.comment":"Vivo = cantidad de dispositivos activos
Perdido = cantidad de dispositivos fuera de la red
Sin noticias: cantidad de dispositivos que no han informado en las \xfaltimas 6 horas
Desconocido = cantidad de dispositivos con estado desconocido","dashboard.traffic.title":"Enviar y Recibir","dashboard.trafic.label":"Enviar / Recibir mensajes","dashboard.trafic.send":"Tx","dashboard.trafic.receive":"Rx","dashboard.traffic.comment":"Tx = n\xfamero de mensajes entrantes desde el inicio del plugin
Rx = n\xfamero de mensajes salientes desde el inicio del plugin","dashboard.trend.title":"Estad\xedsticas","dashboard.txps":"Tx/s","dashboard.rxps":"Rx/s","dashboard.txph":"Tx/h","dashboard.rxph":"Rx/h","dashboard.load":"Load","dashboard.trend.comment":"Tx/s = cantidad de mensajes enviados por segundo
Rx/s = cantidad de mensajes recibidos por segundo
Load = cantidad de mensajes en la cola","dashboard.trafic.maxload.label":"Carga","dashboard.trafic.maxload":"Pico","dashboard.trafic.currentload":"Actual","dashboard.trend.chart.yaxis":"mensaje(s)","dashboard.devices.title":"Estado de los dispositivosno desactivados","dashboard.device.title":"tipo de dispositivos","dashboard.devices.label":"Dispositivos","dashboard.devices.routers":"Enrutadores","dashboard.devices.enddevice":"Dispositivos finales","dashboard.devices.comment":"Enrutadores = Dispositivos alimentados por la red que participan en el mallado de la red.
Objetos terminales = Dispositivos que no pueden participar en el mallado (frecuentemente los con bater\xeda, pero en algunos casos pueden ser alimentados por una fuente de baja potencia o sin neutral).","dashboard.battery.title":"Bater\xeda","dashboard.devices.battery.label":"Bater\xeda","dashboard.devices.battery.inf.15":"< 15%","dashboard.devices.battery.inf.35":"< 35%","dashboard.devices.battery.inf.75":"< 75%","dashboard.devices.battery.sup.75":"> 75%","dashboard.battery.comment":"Para dispositivos equipados con bater\xeda, a continuaci\xf3n se informa el estado de la bater\xeda.","dashboard.optimized.title":"Dispositivos optimizados","dashboard.optimized.comment":"Optimizado = Dispositivos para los que se ha realizado una configuraci\xf3n en el complemento.
No optimizado = Dispositivos que pueden no funcionar completamente y/o generar una carga o tr\xe1fico anormales.
M\xe1s informaci\xf3n en el wiki","dashboard.devices.optimized":"Dispositivos optimizados","dashboard.devices.not.optimized":"Dispositivos no optimizados","dashboard.devices.optimized.label":"Dispositivos","dashboard.popup.device.header":"lista de dispositivos","dashboard.popup.device.subtitle":"Esta lista esta filtrada por elemento en el que se hizo clic en el tablero.","dashboard.popup.device.button.close":"Cerrar","dashboard.health.starttime":"Empieza en ","dashboard.rxpm":"Rx/m","dashboard.txpm":"Tx/m","dashboard.maxload":"MaxLoad","dashboard.plugin.version":"Plugin: ","dashboard.plugin.update.available":"Hay una actualizaci\xf3n disponible para el plugin M\xe1s informaci\xf3n.
Plugin upgrade","dashboard.plugin.update.available.title":"Actualizaci\xf3n del plugin","dashboard.firmware.version":"Firmware: ","dashboard.firmware.update.available":"Hay una actualizaci\xf3n disponible para el firware M\xe1s informaci\xf3n","dashboard.firmware.update.available.title":"Actualizaci\xf3n del firware","dashboard.device.button":"DomoticZ Devices(json)","dashboard.plugin.header":"Informaci\xf3n sobre plugin","dashboard.plugin.subtitle":"Proporciona informaci\xf3n sobre el plugin","dashboard.stats.header":"Estad\xedsticas del plugins","dashboard.stats.subtitle":"Proporciona estad\xedsticas de coordinador en t\xe9rminos de transmisi\xf3n y recepci\xf3n de mensajes","dashboard.zdevice.button":"Dispositivos del plugin (json)","dashboard.zgroup.button":"Groupos del Plugin (json)","dashboard.coordinator.header":"Informaci\xf3n de Coordinador","dashboard.coordinator.subtitle":"Proporciona informaci\xf3n de Coordinador","dashboard.health.OTA":"OTA: ","dashboard.health.group":"Groupo: ","dashboard.devices.indb":"En Db","consent.banner.header":"Consentimiento","consent.banner.description":"Para mejorar nuestro desarrollo y centrarnos en los puntos que se necesita, utilizamos una t\xe9cnica de cookies y, con su consentimiento, recopilaremos principalmente la versi\xf3n del plugin, el modelo y marca del coordinador, la versi\xf3n del firmware y los datos de la red (como cantidad de enrutadores y dispositivos terminales).
D\xe9 su consentimiento seleccionando \'Permitir\' o \'No permitir\'. Si desea cambiar su elecci\xf3n, puede hacerlo a trav\xe9s del men\xfa Configuraci\xf3n.
M\xe1s informaci\xf3n en la wiki.","consent.banner.accept":"Aceptar","consent.banner.decline":"Rechazar","management":"Gesti\xf3n","device":"Gesti\xf3n de dispositivos","device.byname.subtitle":"Enumere todos los dispositivos HW emparejados con el plugin, y le permite ingresar un nombre descriptivo para cada dispositivo.
Muestra el nombre amigable del dispositivo en la secci\xf3n de red en lugar de un c\xf3digo de cuatro d\xedgitos.
Los objetos marcados en naranja no son optimizado con el plugin. Por favor sigue el procedimiento en el wiki,","device.byname.capabilities.column":"Capacidades","device.byname.devicename.column":"Nombre amigable","device.byname.header":"Administraci\xf3n de objetos","device.byname.trash.column":"Eliminar","device.byname.optimized.column":"Optimizado","device.byname.health.column":"Salud","device.byname.battery.column":"Bater\xeda","device.byname.ieee.column":"IEEE","device.byname.model.column":"Modelo","device.byname.devicename.param":"Par\xe1metros","device.byname.devicename.enabled":"Dispositivo activo","device.byname.placeholder":"Escriba filtro aqu\xed ....","device.byname.shortid.column":"Id corta","device.byname.status.column":"Estado","device.byname.lqi.column":"LQI","device.byname.rssi.column":"RSSI","device.byname.validate.button":"Validar","device.byname.widget.column":"Domoticz Widget","device.byname.alert.title":"Eliminar dispositivo ?","device.byname.alert.subject":"Estas seguro ?","device.byname.alert.delete":"Eliminar","device.byname.alert.cancel":"Anular","device.byname.error.notify":"Por favor, utilice el interruptor \'Activar\'","device.byname.parameter.alert.save":"Validar","device.byname.parameter.alert.cancel":"Anular","device.byname.parameter.alert.title":"Par\xe1metros","device.byname.parameter.alert.subject":"Configurar par\xe1metros espec\xedficos ","device.byname.parameter.popover.title":"Device Parameters","device.byname.parameter.popover.text":"Specify local device configuration parameters. Green means in sync with the device, when Orange the parameters are not yet pushed to the device","device.byname.delete.colum":"Eliminar","device.byname.optimized.popover.title.ok":"El dispositivo est\xe1 optimizado con el plugin","device.byname.optimized.popover.text.ok":"Haga clic en el icono para copiar la informaci\xf3n del dispositivo","device.byname.optimized.popover.title.ko":"El dispositivo no est\xe1 optimizado con el plugin","device.byname.optimized.popover.text.ko":"Haga clic en el icono para copiar la informaci\xf3n del dispositivo","group":"Gesti\xf3n de grupos","group.create.devices.column":"Dispositivos seleccionados en el grupo","group.create.groupname.column":"Nombre del grupo","group.create.header":"Gesti\xf3n de grupos","group.create.placeholder":"Escriba filtro aqu\xed ....","group.create.shortid.column":"Id del grupo","group.create.subtitle":"Permitir editar, crear y eliminar grupos
Aplique los cambios y luego actualice la p\xe1gina para confirmar que los cambios se han realizado. No hagas todos los cambios a la vez, prefieres hacerlo paso a paso con peque\xf1os cambios","group.create.validate.button":"Validar","group.create.add.button":"Agregar un grupo nuevo","group.create.delete.button":"Eliminar","group.create.coordinator.column":"Coordinador (en el grupo)","group.reloadplugin.alert.title":"Recarga del plugin","group.reloadplugin.alert.subject":"Los grupos se han actualizado, el plugin debe ser reiniciado","group.reloadplugin.alert.cancel":"Cerrar","header.popover.title":"Reinicio necesario","header.popover.text":"Algunos cambios est\xe1n pendientes, es necesario reiniciar el plugin","network":"Red","network.topo":"Topolog\xeda","network.topo.header":"Topolog\xeda de la red","network.topo.subtitle":"Lista de topolog\xeda de red. Seleccione uno para obtener el diagrama de malla ","network.topo.visu.header":"Diagrama de topolog\xeda","network.topo.visu.subtitle":"El diagrama de topolog\xeda muestra todos los enlaces entre 2 nodos. Si deja el cursor en un enlace, ver\xe1 la direcci\xf3n del enlace, as\xed como la calidad del enlace.","network.topo.visu.network.header":"Gr\xe1fico de red","network.topo.visu.network.subtitle":"Dibujar\xe1 un gr\xe1fico de red de su entorno Zigbee.","network.topo.visu.network.filter":"Nombre del nodo para filtrar","network.topo.device.visu.network.chart.title":"Gr\xe1fico de red","network.topo.visu.delete.button":"Eliminar","network.topo.device.batterylevel.column":"Bater\xeda","network.topo.device.deviceid.column":"Id del dispositivo","network.topo.device.id.column":"Id","network.topo.device.nvalue.column":"nValue","network.topo.device.signalelevel.column":"Signal","network.topo.device.svalue.column":"sValue","network.topo.device.switchtype.column":"Switch","network.topo.device.timedout.column":"Timeout","network.topo.device.type.column":"Tipo","network.topo.device.name.column":"Nombre","network.topo.device.visu.header":"Lista de dispositivos","network.topo.device.visu.subtitle":"Proporciona la lista de dispositivos gestionados por coordinador. Tambi\xe9n obtendr\xe1 una referencia a los nombres de los widgets y otra informaci\xf3n de Domoticz","network.topo.device.visu.chart.title":"Diagrama de malla","network.topology.req.header":"Escaneo de topolog\xeda","network.topology.req.subtitle":"Esto activar\xe1 un escaneo de topolog\xeda, que se ejecutar\xe1 en segundo plano.","network.topology.req.button":"Escanear","network.topo.visu.network.relation.header":"Lista de objetos vinculados de {{deviceSelected}}","network.topo.visu.network.relation.subtitle":"La matriz muestra el valor LQI entre el objeto seleccionado y todos sus objetos vinculados.","network.topo.visu.network.relation.to":"Hijos","network.topo.visu.network.relation.weight":"LQI","network.topo.visu.network.relation.nochild":"El objeto seleccionado no tiene hijos.","network.topo.visu.network.relation.model":"Modelo","network.topo.visu.network.relation.status":"Estado","network.topo.visu.network.relation.health":"Salud","network.topo.visu.network.relation.battery":"Bater\xeda","network.energy":"Nivel de interferencia","network.stats.header":"Red","network.stats.subtitle":"Informes de nivel de interferencia ","network.stats.visu.delete.button":"Eliminar","network.inter.req.header":"Escaneo de interferencia corto","network.inter.req.subtitle":"Se proporcionar\xe1 un informe de escaneo de interferencias. Informar\xe1 el nivel de interferencia entre los routers y coordinador. Cuanto mayor sea el valor, peor ser\xe1.","network.inter.req.button":"Escanear","network.full.req.header":"Escaneo completo de interferencias","network.full.req.subtitle":"Como por el escaneo de interferencia corto, el informe proporcionar\xe1 el nivel de interferencia entre todos los routers y coordinador, manejando todas las comunicaciones cruzadas. Este informe puede tardar un poco cuando la cantidad de routers es alta, n ((n-1) / 2), para 5 routers son 10 combinaciones, para 10 routers 45","network.full.req.button":"Escanear completo","network.stats.detail.visu.header":"Nivel de interferencia","network.stats.detail.visu.subtitle":"Cuanto mayor sea el n\xfamero, m\xe1s interferencia hay (de 0 a 255).","network.stats.detail.visu.totaltx":"Tx : ","network.stats.detail.visu.totalfail":"Fall. : ","network.stats.detail.visu.chart.title":"Nivel de interferencia","network.stats.detail.visu.chart.y-axis":"Nivel de interferencia","network.stats.detail.visu.chart.x-axis":"Canal","admin":"Admin","admin.pairing":"Aprovisionamiento","admin.permittojoin.label":"Aceptar dispositivo nuevo","admin.permittojoin.on.notify":"Aceptar dispositivo nuevo On","admin.permittojoin.off.notify":"Aceptar dispositivo nuevo Off","admin.assistprovisionning.title":"Emparejar un nuevo dispositivo con el asistente","admin.assistprovisionning.subtitle":"Pondr\xe1 coordinador en modo de emparejamiento si es necesario, y luego se comunicar\xe1n los resultados de aprovisionamiento. Presiona GO y comienza a poner tu dispositivo en modo de emparejamiento ","admin.assistprovisionning.go.button":"Par","admin.assistprovisionning.alert.title":"Asistente - Esperando la inclusi\xf3n de dispositivo","admin.assistprovisionning.alert.subject":"Realice un restablecimiento en su dispositivo para iniciar un procedimiento de emparejamiento. Consulte la documentaci\xf3n del dispositivo si es necesario.","admin.assistprovisionning.alert.state":"Estado: ","admin.assistprovisionning.alert.description":"Descripci\xf3n: ","admin.assistprovisionning.alert.nwkid":"Corto NwkId: ","admin.assistprovisionning.alert.ieee":"IEEE : ","admin.assistprovisionning.alert.widgets":"Lista de widgets: ","admin.assistprovisionning.alert.cancel":"Salida","admin.assistprovisionning.alert.ep":"EndPoint: ","admin.assistprovisionning.alert.cluster":"ClusterId : ","admin.assistprovisionning.alert.profile":"Profile : ","admin.assistprovisionning.alert.device":"Dispositivo : ","admin.assistprovisionning.alert.model":"Modelo : ","admin.assistprovisionning.alert.plugincertified":"Certificaci\xf3n de plugin: ","admin.assistprovisionning.alert.Failed":"Fall\xf3 (algo sali\xf3 mal, consulte el LOG para obtener m\xe1s detalles)","admin.assistprovisionning.alert.inDB":"Exito (verifique si se han creado los widgets en Domoticz)","admin.assistprovisionning.alert.Unexpected":"Inesperado (p\xf3ngase en contacto con el SAT)","admin.permittojoin.title":"Aceptar dispositivo nuevo","admin.permittojoin.subtitle":"Habilitar/deshabilitar el proceso de emparejamiento con el coordinador por un per\xedodo de tiempo ","admin.permittojoin.validate.button":"Validar","admin.permittojoin.permanent.button":"Permanente","admin.permittojoin.permanent.notify":"Emparejamiento permanente activado","admin.permittojoin.stop.button":"Stop","admin.permittojoin.stop.notify":"Emparejamiento desactivado","admin.permittojoin.4min.button":"4 minutos","admin.permittojoin.4min.notify":"Emparejamiento activado para 4 minutos","admin.permittojoin.notify":"Modo de emparejamiento modificado","admin.permittojoinrouter.title":"Aceptar el nuevo dispositivo en el router","admin.permittojoinrouter.subtitle":"Activar/desactivar el proceso de emparejamiento con el coordinador por un per\xedodo de tiempo ","admin.permittojoinrouter.devices.placeholder":"Lista de los enrutadores","admin.fullreset.title":"Preparando el dispositivo para un reinicio completo","admin.fullreset.subtitle":"Si desea realizar un restablecimiento completo de un dispositivo aprovisionado existente en Domoticz, se recomienda indicar el complemento de dicho evento. Luego, el plugin se asegurar\xe1 de rehacer un descubrimiento completo del dispositivo y configurar\xe1 lo que se haya configurado durante el primer emparejamiento.","admin.fullreset.device.placeholder":"Seleccione un dispositivo","admin.fullreset.button":"Modo de reinicio","admin.fullreset.notify":"Modo de reinicio activado","admin.recreate.title":"Recrear widget","admin.recreate.subtitle":"Recrear widget","admin.recreate.device.placeholder":"Seleccione un dispositivo","admin.recreate.button":"Recrear widget","admin.recreate.notify":"Recrear widget iniciado","admin.group":"Groupo","admin.rescan.group.title":"Escanee todos los dispositivos para membros de grupos","admin.rescan.group.subtitle":"Escanee todos los dispositivos para membros de grupos
y el resultado estar\xe1 disponible en la gesti\xf3n del grupo","admin.rescan.group.button":"Escaneo completo","admin.scan.group.device.title":"Inicie un escaneo para cada dispositivo seleccionado para sus membros de grupos","admin.scan.group.device.subtitle":"Inicie un escaneo para cada dispositivo seleccionado para sus membros de grupos
Puede seleccionar de uno a varios y el resultado estar\xe1 disponible en la gesti\xf3n de grupos.","admin.scan.group.device.button":"Escanear","admin.scan.group.device.placeholder":"Seleccione el o los dispositivos a escanear","admin.coordinator":"Coordinador","admin.coordinator.swreset.title":"Reinicio del software de coordinador","admin.coordinator.swreset.subtitle":"Reiniciar\xe1 el coordinador (sin p\xe9rdida de dispositivos emparejados) ","admin.coordinator.swreset.button":"Reinicio del software","admin.coordinator.swreset.notify":"Reinicio del coordinador iniciado","admin.coordinator.switchchannel.title":"Cambiar el canal de comunicaci\xf3n del coordinador","admin.coordinator.switchchannel.subtitle":"Este permite cambiar el coordinador y su red a un canal de comunicaci\xf3n particular.
La solicitud se enviar\xe1 a todos los dispositivos: los enrutadores cambian normalmente sin problemas, pero los dispositivos con bater\xeda o que no son Zigbee 3.0 probablemente requerir\xe1n un reinicio para unirse al nuevo canal.","admin.coordinator.switchchannel.placeholder":"Canal del coordinador (0 predeterminado)","admin.coordinator.switchchannel.button":"Cambia el canal","admin.coordinator.switchchannel.notify":"Comenz\xf3 el cambio de canal","admin.erasepdm.title":"Borrar la ZiGate","admin.erasepdm.subtitle":"Borrar\xe1 la memoria de datos permanente de la ZiGate (Perder\xe1s todos los dispositivos emparejados) Debe habilitar el par\xe1metro eraseZigatePDM en Configuraci\xf3n avanzada antes","admin.erasepdm.button":"Borrar","admin.erasepdm.notify":"ErasePdm ZiGate started","admin.erasepdm.alert.title":"Borrar la ZiGate, estas seguro ?","admin.erasepdm.alert.subject":"ATENCI\xd3N, \xfaltima oportunidad !!!!!","admin.erasepdm.alert.cancel":"Anular","admin.erasepdm.alert.erase":"Borrar","admin.plugin":"Plugin","admin.plugin.reload.title":"Reiniciar el plugin","admin.plugin.reload.subtitle":"Reiniciar\xe1 el plugin ","admin.plugin.reload.button":"Reiniciar","admin.plugin.reload.notify":"Plugin reiniciando ","admin.plugin.reload.port":"Puerto","admin.plugin.reload.username":"Nombre de usuario","admin.plugin.reload.password":"Contrase\xf1a","admin.plugin.reload.host":"Nombre del host","admin.plugin.reload.protocol":"Protocolo","admin.plugin.reload.alert.title":"Reiniciar el plugin, est\xe1s seguro ?","admin.plugin.reload.alert.subject":"ATENCI\xd3N, \xfaltima oportunidad !!!!!","admin.plugin.reload.alert.cancel":"Anular","admin.plugin.reload.alert.erase":"Reiniciar","admin.plugin.update.title":"Actualizaci\xf3n del Plugin","admin.plugin.update.subtitle":"Iniciar la actualizaci\xf3n del Plugin.
Si la actualizaci\xf3n se realiza sin problemas, ser\xe1 necesario reiniciar el Plugin para que se tenga en cuenta; de lo contrario, la actualizaci\xf3n deber\xe1 realizarse manualmente.","admin.plugin.update.button":"Actualizar el Plugin (varios minutos)","admin.plugin.update.success":"Reiniciar el Plugin para tener en cuenta la actualizaci\xf3n.","admin.plugin.update.error":"Hubo errores durante la actualizaci\xf3n, mire a los registros y tome acciones correctivas","admin.firmware":"Firmware","admin.firmware.title":"Firmware de dispositivo","admin.firmware.subtitle":"subt\xedtulo del firmware ","admin.firmware.button.update":"bot\xf3n de actualizaci\xf3n","admin.firmware.notify":"Lanzamiento de la actualizaci\xf3n","admin.firmware.list":"lista de firmware","admin.firmware.manufacturer.list":"lista de fabricantes","admin.firmware.devices.list":"lista de dispositivos","admin.firmware.force":"forzar actualizaci\xf3n","admin.firmware.alert.title":"alerta de t\xedtulo","admin.firmware.alert.subject":"alerta de sujeto","admin.firmware.alert.ok":"actualizar","admin.firmware.alert.cancel":"cancelar","admin.firmware.alert.list.devices":"lista de dispositivos","admin.firmware.alert.filename":"nombre del archivo","admin.firmware.alert.device":"Dispositivo ","admin.firmware.alert.brand":"Marca","settings":"Configuraciones","setting.header":"Configuraciones","setting.subtitle":"Le permite visualizar y editar las distintas configuraciones del plugin
Algunos requieren reiniciar el plugin.","setting.validate.button":"Validar","setting.reinit.button":"Configuraci\xf3n (predeterminada)","setting.advanced.button":"Ajustes avanzados","setting.normal.button":"Ajustes normales","setting.help.link":" Puede encontrar m\xe1s informaci\xf3n sobre la configuraci\xf3n en el Wiki","setting.help.legend":"Todas estas son configuraciones del plugin que se pueden actualizar.","setting.header.Services":"Servicios disponibles","setting.subtitle.Services":"Activa los servicios que quieres estar activo","useDomoticzLog":"Usar registro (LOG) de Domoticz","enablegroupmanagement":"Activar Groupos","zigatePartOfGroup0000":"Crear grupo 0000","allowRemoveZigateDevice":"Eliminaci\xf3n en la coordinador","resetPermit2Join":"Restablecer el permiso para unirse al inicio","forcePollingAfterAction":"Obtener el estado del dispositivo despu\xe9s de la acci\xf3n","enableReadAttributes":"Activar el sondeo","blueLedOnOff":"Activar la Led azul de la coordinador","setting.reloadplugin.alert.title":"Recarga del plugin","setting.reloadplugin.alert.subject":"La configuraci\xf3n se ha actualizado, el plugin debe ser reiniciado","setting.reloadplugin.alert.cancel":"Cerrar","setting.resetplugin.alert.title":"Restablecimiento del coordinador","setting.resetplugin.alert.subject":"La configuraci\xf3n se ha actualizado, el coordinador debe restablecerse (lo m\xe1s probable es que todos los dispositivos deban volver a emparejarse).","setting.resetplugin.alert.cancel":"Cerrar","setting.eraseplugin.alert.title":"Erase PDM","setting.eraseplugin.alert.subject":"Se han actualizado los ajustes, es necesario borrar el PDM (se deber\xe1 volver a emparejar todos los dispositivos)","setting.eraseplugin.alert.cancel":"Cerrar","Ping":"Habilitar ping","setting.header.DomoticzEnvironment":"URL de Domoticz","setting.subtitle.DomoticzEnvironment":"Configuraci\xf3n de c\xf3mo acceder a la API de Domoticz","setting.header.WebInterface":"Configuraci\xf3n de la interfaz web","setting.subtitle.WebInterface":"Permite activar/desactivar la interfaz de usuario web","enableWebServer":"Activar la interfaz de usuario web","setting.header.DeviceManagement":"Configuraci\xf3n de gesti\xf3n de dispositivos","setting.subtitle.DeviceManagement":"Aqu\xed est\xe1n todas las configuraciones relacionadas con los dispositivos y c\xf3mo el coordinador interact\xfaa con ellos","setting.header.CoordinatorConfiguration":"Configuraci\xf3n de la coordinador","setting.subtitle.CoordinatorConfiguration":"Aqu\xed est\xe1n todas las configuraciones relacionadas con el hardware coordinador.","setting.header.OverTheAirUpgrade":"Configuraci\xf3n de actualizaci\xf3n por aire (OTA)","setting.subtitle.OverTheAirUpgrade":"Estas son todas las configuraciones relacionadas con la funcionalidad de actualizaci\xf3n por aire (OTA/Over The Air).","allowOTA":"Permitir OTA","setting.header.Legrand":"Configuraci\xf3n de Legrand Netatmo","setting.subtitle.Legrand":"Permitir establecer una serie de opciones espec\xedficas de Legrand","setting.header.Schneider_Wiser":"Configuraci\xf3n de Schneider Wiser","setting.subtitle.Schneider_Wiser":"Permitir activar algunos mecanismos espec\xedficos y algunas otras opciones","internetAccess":"Permitir el acceso a Internet","batteryOTA":"Permitir OTA para dispositivos alimentados por bater\xeda","waitingOTA":"retraso al iniciar el proceso OTA","setting.header.GroupManagement":"Configuraci\xf3n de gesti\xf3n de grupos","setting.subtitle.GroupManagement":"Aqu\xed est\xe1n todos los ajustes para activar y configurar la funci\xf3n de gesti\xf3n de Grupo.","OnIfOneOn":"El grupo est\xe1 encendido si un dispositivo est\xe1 encendido (de lo contrario, necesita todos los dispositivos encendidos)","setting.header.PluginConfiguration":"Configuraci\xf3n del entorno del plugin","setting.subtitle.PluginConfiguration":"Aqu\xed est\xe1n todas las configuraciones de entornos del plugin","numDeviceListVersion":"Cantidad de historial de la lista de dispositivos","setting.header.Others":"Otras configuraciones","setting.header.Provisioning":"Ajustes de emparejamiento","setting.subtitle.Provisioning":"Configuraciones especiales para dispositivos especiales o condiciones especiales","setting.header.DevicePolling":"Sondeo de dispositivos","setting.subtitle.DevicePolling":"Le permite especificar la frecuencia de sondeo por tipo de informaci\xf3n. Tenga en cuenta que una alta frecuencia sobrecargar\xe1 el coordinador y podr\xeda causar algunos problemas de rendimiento.","setting.subtitle.Others":"","logLQI":"Retraso antes de iniciar un escaneo de topolog\xeda (seg)","networkScan":"Frecuencia del informe de interferencias (seg)","setting.header.CommandTransition":"Transiciones de comando para group luces","setting.subtitle.CommandTransition":"Puede especificar el tiempo de transici\xf3n en d\xe9cimas de segundos con el que la transici\xf3n de la etapa actual a la objetivo. Por ejemplo, cu\xe1ntas d\xe9cimas de segundo se necesitar\xe1n para pasar del color actual al color que solicit\xe9 a trav\xe9s de Domoticz. La temperatura de color se utiliza para el color blanco","moveToHueSatu":"Transici\xf3n para Hue","moveToColourTemp":"Transici\xf3n para temperatura de color","moveToColourRGB":"Transici\xf3n para color RGB","moveToLevel":"Transici\xf3n para pasar de nivel","setting.header.Experimental":"Par\xe1metros experimentales","setting.subtitle.Experimental":"\xdaselo solo si se le ha pedido","api.global.error.notify":"Backend error","api.global.succes.scanlaunched.notify":"An\xe1lisis iniciado","api.global.succes.commandsent.notify":"Actualizaci\xf3n exitosa","api.global.succes.saved.notify":"Salvado","setting.header.OTA":"Actualizaci\xf3n del firmware del dispositivo v\xeda OTA","setting.subtitle.OTA":"Comportamiento del plugin con actualizaciones OTA","IkeaTradfri_Repository":"Repositorio de firmware oficial de IKEA-TRADFRI","ZigbeeOTA_Repository":"Repositorio de firmware ZigBee OTA (mantenido por la comunidad)","autoServeOTA":"Actualizaci\xf3n autom\xe1tica cuando se encuentra un nuevo firmware","checkFirmwareAgainstZigbeeOTARepository":"Compruebe si hay un firmware disponible en uno de los repositorios","DomoticzCustomMenu":"Habilitar el WebUI del plugin desde el men\xfa personalizado de Domoticz","NightShift":"Mueva las acciones en segundo plano de las 11 a las 6.","ConfigureReportingChunk":"Cantidad maxima de atributos durante Configure Reporting","ReadAttributeChunk":"Cantidad maxima de atributos durante Read Attributes","resetConfigureReporting":"Reinicio de todo los Configure Reporting","resetReadAttributes":"Reinicio de todo los read attributes","TopologyV2":"An\xe1lisis de malla basado en tablas de enrutamiento y vecindad","autoBackup":"Guardado autom\xe1tico del coordinador","BackupFullDevices":"Guardar informaci\xf3n del objeto","BellowsNoMoreEndDeviceChildren":"Desactivar emparejamiento directo en el coordinador","BellowsSourceRouting":"Habilitar el mecanismo de enrutamiento de origen","pingDevices":"Haga un ping a dispositivos alimentados por la red para comprobar su estado","GroupOnBattery":"Habilitar la creaci\xf3n de grupos para disositivos con bater\xeda","deviceOffWhenTimeOut":"Cambiar un dispositivo a Apagado despu\xe9s de un timeout de la red","checkConfigurationReporting":"Verifique la configuraci\xf3n del informe de un dispositivo regularmente","TXpower_set":"Nivel de potencia de transmisi\xf3n del coordinador","pingDevicesFeq":"Periodo de ping a objetos alimentados por la red","GrpfadingOff":"Modo de Fadding","GrpmoveToColourRGB":"Tiempo de transici\xf3n para cambiar el valor de un color","GrpmoveToColourTemp":"Tiempo de transici\xf3n para cambiar la temperatura de un color","GrpmoveToLevel":"Tiempo de transici\xf3n para pasar de un nivel de potencia a otro","enableSchneiderWiser":"Habilitar si tiene elementos Legacy Wiser","LegrandCompatibilityMode":"Habilitar para simular un concentrador Legrand Netamo","AqaraOppleBulbMode":"Habilite el control remoto Aqara Opple para controlar objetos directamente","forceClosingAllNodes":"Habilite para cerrar el modo de emparejamiento en cada enrutador","extendedPANID":"Zigbee Extended PAN Identifier","allowReBindingClusters":"Habilitar el reenlace del cl\xfaster durante las operaciones de creaci\xf3n de configure reporting","doUnbindBind":"Desvincular y luego vincular, cuando se realiza una operaci\xf3n de vinculaci\xf3n","PluginAnalytics":"Autorizar el plugin para colocar una cookie a fin de recopilar informaci\xf3n sobre la coordinaci\xf3n y los modelos de objetos utilizados.","autoRestore":"Aplique autom\xe1ticamente la copia de seguridad del coordinador m\xe1s reciente cuando se encuentre un nuevo coordinador en blanco","forceSwitchSelectorPushButton":"Workaround Domoticz issue #4143","resetSwitchSelectorPushButton":"Cantidad de segundos despu\xe9s de que el selector se restablece a apagado","setting.header.ManufSpecifiqDevicePolling":"Sondeo espec\xedfico","setting.subtitle.ManufSpecifiqDevicePolling":"0 significa deshabilitar; de lo contrario, indica la frecuencia de sondeo en segundos. Para el fabricante espec\xedfico, permitir\xe1 recuperar estados del dispositivo que no proporciona autom\xe1ticamente el dispositivo.","setting.header.Zigpy":"Configuraci\xf3n espec\xedfica para CIE zigpy","setting.subtitle.Zigpy":"Para algunos CIE (como las ConBeeII y RasbeeII), es necesario activar elementos espec\xedficos para algunas marcas","resetMotiondelay":"Retraso en segundos para restablecer la detecci\xf3n de movimiento","Certification":"Certificaci\xf3n ( FCC or CE )","channel":"Canal del coordinador (predeterminado 0)","alarmDuration":"Duraci\xf3n en segundos para dispositivo de alarma","vibrationAqarasensitivity":"Sensibilidad a la vibraci\xf3n de Aqara","TradfriKelvinStep":"Paso Kelvin para control remoto Tradfri","numTopologyReports":"Cantidad de informes de topolog\xeda guardados","numEnergyReports":"Cantidad de informes de interferencias guardados","PowerOn_OnOff":"Estado de retorno despu\xe9s de un corte de energ\xeda del dispositivo","logDeviceUpdate":"Habilitar el mensaje UpdateDevice en el LOG","capturePairingInfos":"Capture informaci\xf3n de emparejamiento y gu\xe1rdela en la carpeta de informes","error_required":"Necesario","ForceAPSAck":"Force APS Ack to ZCL and ZDP commands","zigpySourceRouting":"Enable Zigbee Source routing (plugin)","reenforcementWiser":"Enable reenforcement messages (legacy Wiser only)","forcePassiveWidget":"Allow Domoticz actions on Widgets from remote devices","tools":"Utiles","tools.tools":"Utiles","tools.tools.export":"Exportar","tools.tools.zdevice-raw.button":"Dispositivos primas del plugin","tools.tools.non-optimized.button":"Dispositivos no optimizados","tools.tools.zgroup.button":"Grupos del plugin(json)","tools.tools.zdevice.button":"Dispositivos del plugin","tools.tools.device.button":"Widgets de Domoticz","tools.tools.log.button":"Infos del plugin","tools.tools.infos.plugin.button":"Infos del plugin","tools.tools.coordinator.infos.button":"Infos de coordinador","tools.tools.plugin-health.button":"Salud del plugin","tools.tools.zdevice-name.button":"zDevice-name","tools.tools.domoticz-env.button":"domoticz-env","tools.tools.battery-state.button":"Estado de las bater\xedas","tools.tools.zgroup-list-available-device.button":"zGroup-lst-devices","tools.tools.settings.button":"Configuraciones","tools.tools.plugin-stat.button":"Tr\xe1fico","tools.command":"Comando","tools.debugcommand.title":"Comandos directos","tools.debugcommand.subtitle":"Permitir interactuar directamente con un dispositivo, con un conjunto de comandos basados en las capacidades del dispositivo
(1) Seleccione el dispositivo,
(2) Seleccione la acci\xf3n que desea realizar,
(3) Seleccione un tipo de dispositivo potencial que pueda influir en la forma de interactuar con el dispositivo,
(4) Opcionalmente, es posible que deba entrar un valor o seleccionar un color.","tools.debugcommand.device":"Seleccione el dispositivo","tools.debugcommand.button.cancel":"Anular","tools.debugcommand.action":"Seleccione la acci\xf3n","tools.debugcommand.type":"Seleccione tipo","tools.debugcommand.value":"Valor","tools.debugcommand.level.error":"entre 0 y 100","tools.debugcommand.effect.error":"entre 0x00 y 0xff","tools.debugcommand.button.send":"Enviar","tools.rawcommand-zigate.title":"Comandos de ZiGate(en bruto)","tools.rawcommand-zigate.subtitle":"Permitir enviar un comando el coordinador directamente a la zigate en modo bruto.
Debe seguir el protocolo ZiGate .","tools.rawcommand-zigate.command":"Tipo de mensaje","tools.rawcommand-zigate.error":"Entrada requerida","tools.rawcommand-zigate.payload":"Datos","tools.rawcommand-zigate.button.send":"Enviar","tools.rawcommand-zigpy.title":"ZigBee comando","tools.rawcommand-zigpy.subtitle":"Permitir enviar un comando el coordinador directamente a la zigate en modo bruto.","tools.rawcommand-zigpy.placeholder":"Seleccione un dispositivo","tools.rawcommand-zigpy.groupaddressflag":"GroupAddressFlag","tools.rawcommand-zigpy.ackmode":"AckMode","tools.rawcommand-zigpy.profileid":"ProfileId","tools.rawcommand-zigpy.clusterid":"ClusterId","tools.rawcommand-zigpy.sourceep":"SourceEp","tools.rawcommand-zigpy.targetep":"TargetEp","tools.rawcommand-zigpy.sqn":"Sqn","tools.rawcommand-zigpy.payload":"Datos","tools.rawcommand-zigpy.button.send":"Enviar","tools.reporting.configure":"Informes","tools.reporting.configure.title":"Configuraci\xf3n de informes","tools.reporting.configure.subtitle":"Configura un objeto para que env\xede autom\xe1ticamente los valores de uno (o m\xe1s) de sus atributos o que reciba informaci\xf3n.
Los campos Intervalo m\xednimo e Intervalo m\xe1ximo indican el rango de tiempo en segundos durante el cual el object enviar\xe1 el valor del atributo correspondiente. Los intervalos deben ser inferiores a 65534s (codificaci\xf3n de 16 bits).
El campo Delta indica la variaci\xf3n de valor que har\xe1 que se env\xeden los datos. Sin limitaci\xf3n en la longitud del campo. El signo ser\xe1 ignorado.
Para los atributos con un tipo de datos anal\xf3gico (ver 2.6.2), el campo tiene el mismo tipo de datos que el atributo.","tools.reporting.configure.trigger.button":"Trigger","tools.reporting.configure.reset.button":"Reset","tools.reporting.configure.validate.button":"Validar","tools.reporting.configure.device":"Seleccione un dispositivo","tools.reporting.configure.clusterId.column":"Cluster id","tools.reporting.configure.attributeId.column":"Attribute id","tools.reporting.configure.dataType.column":"Datatype","tools.reporting.configure.timeout.column":"Timeout","tools.reporting.configure.minInterval.column":"intervalo m\xednimo (segundos)","tools.reporting.configure.maxInterval.column":"intervalo m\xe1ximo (segundos)","tools.reporting.configure.change.column":"Diferencia","tools.reporting.configure.hexa.error":"Valor hexadecimal esperado","tools.reporting.configure.length.error":"Valor demasiado largo","tools.binding":"Uni\xf3n","tools.binding.title":"Uni\xf3n de dispositivo","tools.binding.subtitle":"Permitir la uni\xf3n en un cluster entre los dispositivos de origen y de destino
p.ej. Si desea vincular un sensor de temperatura con un actuador, La SourceIEEE/Ep ser\xe1 el sensor de temperatura, el DestIEEE/Ep ser\xe1 el actuador y el Cluster ser\xe1 0402 (Medida de temperatura)","tools.binding.sourceIeee":"IEEE de origen","tools.binding.error":"Entrada requerida","tools.binding.sourceEp":"Seleccionar dispositivo de origen","tools.binding.destIeee":"IEEE de destino","tools.binding.destEp":"Seleccionar dispositivo de destino","tools.binding.cluster":"Cluster","tools.binding.button.put":"Vincular","tools.unbinding.button.put":"Desvincular","tools.debug":"Debug","setting.header.VerboseLogging":"Detallado y registro","setting.subtitle.VerboseLogging":"Le permitir\xe1 activar/desactivar algunas funciones de registro (LOG) ","tools.debugsetting.help.legend":"Todas estas son configuraciones del plugin que se pueden actualizar.","tools.debugsetting.advanced.button":"Par\xe1metros avanzados","tools.debugsetting.normal.button":"Par\xe1metros est\xe1ndar","tools.debugsetting.validate.button":"Validar","tools.debugsetting.reinit.button":"Par\xe1metros (predeterminado)","tools.debugsetting.reloadplugin.alert.title":"Reinicio del plugin","tools.debugsetting.reloadplugin.alert.subject":"La configuraci\xf3n se ha actualizado, el plugin debe ser reiniciado","tools.debugsetting.reloadplugin.alert.cancel":"Cerrar","tools.error":"Error(es)","tools.error.log-history.button":"Historial de errores (json)","tools.error.log-history.clear":"Borrar historial de errores","error.popover.title":"Error(es) detectado(s)","error.popover.text":"Clic para ver el LOG","manufacturer":"Fabricantes","manufacturer.casaia":"Casa.ia","manufacturer.casaia.header":"t\xedtulo","manufacturer.casaia.subtitle":"subtitulo","manufacturer.casaia.placeholder":"marcador de posici\xf3n","manufacturer.casaia.nwkid":"nwkid","manufacturer.casaia.name":"nombre","manufacturer.casaia.ieee":"ieee","manufacturer.casaia.model":"modelo","manufacturer.casaia.ircode":"ircode","manufacturer.casaia.validate.button":"validar","manufacturer.zlinky.header":"Le Zlinky","manufacturer.zlinky.subtitle":"Liste les donn\xe9es r\xe9cup\xe9r\xe9es par le Zlinky s\xe9lectionn\xe9,","manufacturer.zlinky.placeholder":"Select Zlinky device","manufacturer.zlinky.key":"Designation","manufacturer.zlinky.value":"Value","manufacturer.zlinky.DateCode":"Code date","manufacturer.zlinky.SWBuildID":"SWBuildID","manufacturer.zlinky.ADC0":"Serial Number","manufacturer.zlinky.BASE":"Index Base","manufacturer.zlinky.OPTARIF":"Option tarifaire","manufacturer.zlinky.ISOUSC":"Intensit\xe9 souscrite","manufacturer.zlinky.HCHC":"Index HCHC","manufacturer.zlinky.HCHP":"Index HCHP","manufacturer.zlinky.EJPHN":"Index EJPHN","manufacturer.zlinky.EJPHPM":"Index EJPHPM","manufacturer.zlinky.BBRHCJB":"Index BBRHCJB","manufacturer.zlinky.BBRHPJB":"Index BBRHPJB","manufacturer.zlinky.BBRHCJW":"Index BBRHCJW","manufacturer.zlinky.BBRHPJW":"Index BBRHPJW","manufacturer.zlinky.BBRHCJR":"Index BBRHCJR","manufacturer.zlinky.BBRHPJR":"Index BBRHPJR","manufacturer.zlinky.IINST":"Courant efficace","manufacturer.zlinky.IINST1":"Courant efficace phase 1","manufacturer.zlinky.IINST2":"Courant efficace phase 2","manufacturer.zlinky.IINST3":"Courant efficace phase 3","manufacturer.zlinky.IMAX":"Intensit\xe9 maximale","manufacturer.zlinky.IMAX1":"Intensit\xe9 maximale phase 1","manufacturer.zlinky.IMAX2":"Intensit\xe9 maximale phase 2","manufacturer.zlinky.IMAX3":"Intensit\xe9 maximale phase 3","manufacturer.zlinky.PMAX":"Puissance maximale triphas\xe9e atteinte","manufacturer.zlinky.PAPP":"Puissance apparente","manufacturer.zlinky.PTEC":"Periode tarifaire en cours","manufacturer.zlinky.DEMAIN":"Couleur du lendemain","manufacturer.zlinky.HHPHC":"Horaire Heure Pleines Heures Creuses","manufacturer.zlinky.PPOT":"Pr\xe9sence des potentiels","manufacturer.zlinky.PEJP":"Pr\xe9avis d\xe9but EJP(30min)","manufacturer.zlinky.ADPS":"Avertissement de D\xe9passement De Puissance Souscrite","manufacturer.zlinky.ADIR1":"Avertissement de D\xe9passement D\'intensit\xe9 phase 1","manufacturer.zlinky.ADIR2":"Avertissement de D\xe9passement D\'intensit\xe9 phase 2","manufacturer.zlinky.ADIR3":"Avertissement de D\xe9passement D\'intensit\xe9 phase 3","manufacturer.zlinky.ADSC":"Adresse Secondaire du Compteur","manufacturer.zlinky.NGTF":"Nom du calendrier tarifaire fournisseur","manufacturer.zlinky.LTARF":"Libell\xe9 tarif fournisseur en cours","manufacturer.zlinky.NTARF":"Num\xe9ro de l\u2019index tarifaire en cours","manufacturer.zlinky.VTIC":"Version de la TIC","manufacturer.zlinky.DATE":"Date et heure courant","manufacturer.zlinky.EAST":"\xc9nergie active soutir\xe9e totale","manufacturer.zlinky.EASF01":"\xc9nergie active soutir\xe9e Fournisseur, index 01","manufacturer.zlinky.EASF02":"\xc9nergie active soutir\xe9e Fournisseur, index 02","manufacturer.zlinky.EASF03":"\xc9nergie active soutir\xe9e Fournisseur, index 03","manufacturer.zlinky.EASF04":"\xc9nergie active soutir\xe9e Fournisseur, index 04","manufacturer.zlinky.EASF05":"\xc9nergie active soutir\xe9e Fournisseur, index 05","manufacturer.zlinky.EASF06":"\xc9nergie active soutir\xe9e Fournisseur, index 06","manufacturer.zlinky.EASF07":"\xc9nergie active soutir\xe9e Fournisseur, index 07","manufacturer.zlinky.EASF08":"\xc9nergie active soutir\xe9e Fournisseur, index 08","manufacturer.zlinky.EASF09":"\xc9nergie active soutir\xe9e Fournisseur, index 09","manufacturer.zlinky.EASF10":"\xc9nergie active soutir\xe9e Fournisseur, index10","manufacturer.zlinky.EASD01":"\xc9nergie active soutir\xe9e Distributeur, index 01","manufacturer.zlinky.EASD02":"\xc9nergie active soutir\xe9e Distributeur, index 02","manufacturer.zlinky.EASD03":"\xc9nergie active soutir\xe9e Distributeur, index 03","manufacturer.zlinky.EASD04":"\xc9nergie active soutir\xe9e Distributeur, index 04","manufacturer.zlinky.EAIT":"\xc9nergie active inject\xe9e totale","manufacturer.zlinky.ERQ1":"\xc9nergie r\xe9active Q1 total","manufacturer.zlinky.ERQ2":"\xc9nergie r\xe9active Q2 total","manufacturer.zlinky.ERQ3":"\xc9nergie r\xe9active Q3 total","manufacturer.zlinky.ERQ4":"\xc9nergie r\xe9active Q4 total","manufacturer.zlinky.IRMS1":"Courant efficace, phase 1","manufacturer.zlinky.IRMS2":"Courant efficace, phase 21","manufacturer.zlinky.IRMS3":"Courant efficace, phase 3","manufacturer.zlinky.URMS1":"Tension efficace, phase 1","manufacturer.zlinky.URMS2":"Tension efficace, phase 2","manufacturer.zlinky.URMS3":"Tension efficace, phase 3","manufacturer.zlinky.PREF":"Puissance app. de r\xe9f\xe9rence (PREF)","manufacturer.zlinky.STGE":"Registre de Statuts","manufacturer.zlinky.PCOUP":"Puissance app. de coupure (PCOUP)","manufacturer.zlinky.SINSTI":"Puissance app. Instantan\xe9e inject\xe9e","manufacturer.zlinky.SMAXIN":"Puissance app max. inject\xe9e n","manufacturer.zlinky.SMAXIN-1":"Puissance app max. inject\xe9e n-1","manufacturer.zlinky.CCASN":"Point n de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCASN-1":"Point n-1 de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCAIN":"Point n de la courbe de charge active inject\xe9e","manufacturer.zlinky.CCAIN-1":"Point n-1 de la courbe de charge active inject\xe9e","manufacturer.zlinky.UMOY1":"Tension moy. ph. 1","manufacturer.zlinky.UMOY2":"Tension moy. ph. 2","manufacturer.zlinky.UMOY3":"Tension moy. ph. 3","manufacturer.zlinky.SINSTS":"Puissance app. Instantan\xe9e soutir\xe9e","manufacturer.zlinky.SINSTS1":"Puissance app. Instantan\xe9e soutir\xe9e ph.1","manufacturer.zlinky.SINSTS2":"Puissance app. Instantan\xe9e soutir\xe9e ph. 2","manufacturer.zlinky.SINSTS3":"Puissance app. Instantan\xe9e soutir\xe9e ph. 3","manufacturer.zlinky.SMAXN":"Puissance app. max. soutir\xe9e n","manufacturer.zlinky.SMAXN1":"Puissance app. max. soutir\xe9e n ph.1","manufacturer.zlinky.SMAXN2":"Puissance app. max. soutir\xe9e n ph. 2","manufacturer.zlinky.SMAXN3":"Puissance app. max. soutir\xe9e n ph. 3","manufacturer.zlinky.SMAXN-1":"Puissance app. max. soutir\xe9e n-1","manufacturer.zlinky.SMAXN1-1":"Puissance app. max. soutir\xe9e n-1 ph.1","manufacturer.zlinky.SMAXN2-1":"Puissance app. max. soutir\xe9e n-1 ph. 2","manufacturer.zlinky.SMAXN3-1":"Puissance app. max. soutir\xe9e n-1 ph. 3","manufacturer.zlinky.MSG1":"Message court","manufacturer.zlinky.MSG2":"Message ultra court","manufacturer.zlinky.PRM":"PRM","manufacturer.zlinky.DPM1":"D\xe9but Pointe Mobile 1","manufacturer.zlinky.FPM1":"Fin Pointe Mobile 1","manufacturer.zlinky.DPM2":"D\xe9but Pointe Mobile 2","manufacturer.zlinky.FPM2":"Fin Pointe Mobile 2","manufacturer.zlinky.DPM3":"D\xe9but Pointe Mobile 3","manufacturer.zlinky.FPM3":"Fin Pointe Mobile 3","manufacturer.zlinky.RELAIS":"RELAIS","manufacturer.zlinky.NJOURF":"Num\xe9ro du jour en cours calendrier fournisseur","manufacturer.zlinky.NJOURF+1":"Num\xe9ro du prochain jour calendrier fournisseur","manufacturer.zlinky.PJOURF+1":"Profil du prochain jour calendrier fournisseur","manufacturer.zlinky.PPOINTE1":"Profil du prochain jour de pointe","manufacturer.zlinky.PROTOCOL_LINKY_0":"Mode historique monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_1":"Mode standard monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_2":"Mode historique triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_3":"Mode standard triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_5":"Mode standard monophas\xe9 producteur","manufacturer.zlinky.PROTOCOL_LINKY_7":"Mode standard triphas\xe9 producteur","ZigpyTopologyReport":"Enable the use of zigpy Topology Scanner","ZigpyTopologyReportAutoBackup":"Automaticaly backup auto-triggered Topology scan"}'),z=new fe("I18nService"),O="language";function f(d){return d}let a=(()=>{class d{translateService;defaultLanguage;supportedLanguages;langChangeSubscription;constructor(k){this.translateService=k,k.setTranslation("en-US",E),k.setTranslation("fr-FR",_),k.setTranslation("nl-NL",b),k.setTranslation("es-ES",T)}init(k,p){this.defaultLanguage=k,this.supportedLanguages=p,this.language="",this.langChangeSubscription=this.translateService.onLangChange.subscribe(S=>{localStorage.setItem(O,S.lang)})}destroy(){this.langChangeSubscription.unsubscribe()}set language(k){k=k||localStorage.getItem(O)||this.translateService.getBrowserCultureLang()||"";let p=this.supportedLanguages.some(S=>S.code===k);k&&!p&&(k=k.split("-")[0],p=!!(k=this.supportedLanguages.find(j=>j.code.startsWith(k))?.code||"")),p||(k=this.defaultLanguage),z.debug(`Language set to ${k}`),this.translateService.use(k)}get language(){return this.translateService.currentLang}static \u0275fac=function(p){return new(p||d)(ie.KVO(Pe.c$))};static \u0275prov=ie.jDH({token:d,factory:d.\u0275fac})}return d})(),g=(()=>{class d extends V.b{shouldDetach(k){return!1}store(k,p){}shouldAttach(k){return!1}retrieve(k){return null}shouldReuseRoute(k,p){return k.routeConfig===p.routeConfig||k.data.reuse}static \u0275fac=(()=>{let k;return function(S){return(k||(k=ie.xGo(d)))(S||d)}})();static \u0275prov=ie.jDH({token:d,factory:d.\u0275fac})}return d})(),y=(()=>{class d{constructor(k){if(k)throw new Error(`${k} has already been loaded. Import Core module in the AppModule only.`)}static \u0275fac=function(p){return new(p||d)(ie.KVO(d,12))};static \u0275mod=ie.$C({type:d});static \u0275inj=ie.G2t({providers:[a,te,re,F,$,{provide:e.Qq,useClass:I},{provide:V.b,useClass:g}],imports:[M.MD,e.q1,Pe.h,V.iI]})}return d})();var o=He(21413),n=He(56977);const r=Symbol("untilDestroyed");function l(d,C="ngOnDestroy"){return k=>{const p=d[C],S="function"==typeof p;if(!S)throw new Error(`${d.constructor.name} is using untilDestroyed but doesn't implement ${C}`);return d[r]||(d[r]=new o.B,d[C]=function(){S&&p.apply(this,arguments),d[r].next(),d[r].complete()}),k.pipe((0,n.Q)(d[r]))}}},3366:(ri,Ft,He)=>{"use strict";He.d(Ft,{G:()=>J});var M=He(21626),e=He(38117),V=He(34402),Pe=He(18810),Z=He(96354),ie=He(99437),re=He(54438),ve=He(45794),le=He(19664);const fe={devices:"/device",zDevices:"/zdevice",zdeviceRaw:"/zdevice-raw",zGroups:"/zgroup",settings:"/setting",settingsDebug:"/setting-debug",plugin:"/plugin",pluginStat:"/plugin-stat",nwkStat:"/nwk-stat",topologie:"/topologie",permitToJoin:"/permit-to-join",zdeviceName:"/zdevice-name",zgroupDevicesAvalaible:"/zgroup-list-available-device",reqTopology:"/req-topologie",reqInter:"/req-nwk-inter",swReset:"/sw-reset-coordinator",erasePDM:"/coordinator-erase-PDM",coordinator:"/coordinator",restartNeeded:"/restart-needed",domoticzEnv:"/domoticz-env",pluginHealth:"/plugin-health",rescanGroup:"/rescan-groups",reqNwkfull:"/req-nwk-full",pluginRestart:"/plugin-restart",devCommand:"/dev-command",devCap:"/dev-cap",newHardware:"/new-hrdwr/",receiveNewHardware:"/rcv-nw-hrdwr",binding:"/binding",unbinding:"/unbinding",rawCommand:"/raw-command",rawCommandZigpy:"/raw-zigbee",bindLSTcluster:"/bind-lst-cluster",bindLSTdevice:"/bind-lst-device",scanDeviceForGrp:"/scan-device-for-grp",logErrorHistory:"/log-error-history",clearErrorHistory:"/clear-error-history",otaFirmwareList:"/ota-firmware-list",otaFirmwareDeviceList:"/ota-firmware-device-list/",otaFirmwareUpdate:"/ota-firmware-update",casiaListDevices:"/casaia-list-devices",casiaIrcode:"/casaia-update-ircode",changeChannel:"/change-channel",pairingFullReset:"/full-reprovisionning",recreateWidgets:"/recreate-widgets",batteryState:"/battery-state",pluginUpgrade:"/plugin-upgrade",configureReporting:"/cfgrpt-ondemand-config",demandConfigureReporting:"/cfgrpt-ondemand",zlinky:"/zlinky",pluginLog:"/plugin-log",deviceNonOptimized:"/non-optmize-device-configuration"},pe=new e.Vy("ApiService");let J=(()=>{class te{httpClient;toastr;translate;constructor(A,B,F){this.httpClient=A,this.toastr=B,this.translate=F}downloadLog(A){return this.httpClient.disableApiPrefix().get(A,{observe:"response",responseType:"blob"}).pipe((0,Z.T)(B=>B),(0,ie.W)(B=>this.handleError(B)))}getPluginhealth(){return this.httpClient.get(fe.pluginHealth).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}getDevices(){return this.httpClient.get(fe.devices).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}getZDevices(A=!1){return this.httpClient.get(fe.zDevices).pipe((0,Z.T)(B=>B.filter(F=>!(!A||"Coordinator"!==F.LogicalType)||"Coordinator"!==F.LogicalType||void 0)),(0,ie.W)(B=>this.handleError(B)))}getRawZDevices(A=!1){return this.httpClient.get(fe.zdeviceRaw).pipe((0,Z.T)(B=>B.filter(F=>!A||!1===F.CertifiedDevice)),(0,ie.W)(B=>this.handleError(B)))}getRawZDevice(A){return this.httpClient.get(fe.zdeviceRaw+"/"+A).pipe((0,Z.T)(B=>B),(0,ie.W)(B=>this.handleError(B)))}getZGroups(){return this.httpClient.get(fe.zGroups).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}getSettings(){return this.httpClient.get(fe.settings).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}putSettings(A){return this.httpClient.put(fe.settings,A).pipe((0,Z.T)(B=>B),(0,ie.W)(B=>this.handleError(B)))}getSettingsDebug(){return this.httpClient.get(fe.settingsDebug).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}putSettingsDebug(A){return this.httpClient.put(fe.settingsDebug,A).pipe((0,Z.T)(B=>B),(0,ie.W)(B=>this.handleError(B)))}getPlugin(){return this.httpClient.get(fe.plugin).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}getPluginStats(){return this.httpClient.get(fe.pluginStat).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}getLogErrorHistory(){return this.httpClient.get(fe.logErrorHistory).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}clearLogErrorHistory(){return this.httpClient.get(fe.clearErrorHistory).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}getNwkStats(){return this.httpClient.get(fe.nwkStat).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}getTopologie(){return this.httpClient.get(fe.topologie).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}getReqTopologie(){return this.httpClient.get(fe.reqTopology).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}getReqInter(){return this.httpClient.get(fe.reqInter).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}getNwkFull(){return this.httpClient.get(fe.reqNwkfull).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}getTopologieByTimeStamp(A){return this.httpClient.get(fe.topologie+"/"+A).pipe((0,Z.T)(B=>B),(0,ie.W)(B=>this.handleError(B)))}getNwkStatsByTimeStamp(A){return this.httpClient.get(fe.nwkStat+"/"+A).pipe((0,Z.T)(B=>B),(0,ie.W)(B=>this.handleError(B)))}deleteTopologieByTimeStamp(A){return this.httpClient.delete(fe.topologie+"/"+A).pipe((0,Z.T)(B=>B),(0,ie.W)(B=>this.handleError(B)))}deleteNwkStatsByTimeStamp(A){return this.httpClient.delete(fe.nwkStat+"/"+A).pipe((0,Z.T)(B=>B),(0,ie.W)(B=>this.handleError(B)))}getPermitToJoin(){return this.httpClient.get(fe.permitToJoin).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}putPermitToJoin(A){return this.httpClient.put(fe.permitToJoin,A).pipe((0,Z.T)(B=>B),(0,ie.W)(B=>this.handleError(B)))}getZDeviceName(){return this.httpClient.get(fe.zdeviceName).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}putZDeviceName(A){return this.httpClient.put(fe.zdeviceName,A).pipe((0,Z.T)(B=>B),(0,ie.W)(B=>this.handleError(B)))}deleteZDeviceName(A){return this.httpClient.delete(fe.zdeviceName+"/"+A).pipe((0,Z.T)(B=>B),(0,ie.W)(B=>this.handleError(B)))}getZGroupDevicesAvalaible(){return this.httpClient.get(fe.zgroupDevicesAvalaible).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}putZGroups(A){return this.httpClient.put(fe.zGroups,A).pipe((0,Z.T)(B=>B),(0,ie.W)(B=>this.handleError(B)))}getCoordinator(){return this.httpClient.get(fe.coordinator).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}getSwReset(){return this.httpClient.get(fe.swReset).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}getRescanGroup(){return this.httpClient.get(fe.rescanGroup).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}getErasePDM(){return this.httpClient.get(fe.erasePDM).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}getReloadPlugin(){return this.httpClient.get(fe.pluginRestart).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}getUpgradePlugin(){return this.httpClient.get(fe.pluginUpgrade).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}getReloadPluginOld(A,B){const F=B.proto+"://"+B.WebUserName+":"+B.WebPassword+"@"+B.host+":"+B.port+"/json.htm?type=command¶m=updatehardware&htype=94&idx="+A.HardwareID+"&name="+A.Name+"&username="+B.WebUserName+"&password="+B.WebPassword+"&address="+A.Address+"&port="+A.Port+"&serialport="+A.SerialPort+"&Mode1="+A.Mode1+"&Mode2="+A.Mode2+"&Mode3="+A.Mode3+"&Mode4="+A.Mode4+"&Mode5="+A.Mode5+"&Mode6="+A.Mode6+"&extra="+A.Key+"&enabled=true&datatimeout=0",L={headers:new M.Lr({"Access-Control-Allow-Origin":"*","Content-Type":"text/plain"})};return this.httpClient.disableApiPrefix().get(F,L).pipe((0,Z.T)(D=>D),(0,ie.W)(D=>this.handleError(D)))}getRestartNeeded(){return this.httpClient.get(fe.restartNeeded).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}getDomoticzEnv(){return this.httpClient.get(fe.domoticzEnv).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}getDevCap(A){return this.httpClient.get(fe.devCap+"/"+A).pipe((0,Z.T)(F=>F),(0,ie.W)(F=>this.handleError(F)))}putDevCommand(A){return this.httpClient.put(fe.devCommand,A).pipe((0,Z.T)(B=>B),(0,ie.W)(B=>this.handleError(B)))}getNewHardware(A){return this.httpClient.get(fe.newHardware+(A?"enable":"disable")).pipe((0,Z.T)(L=>L),(0,ie.W)(L=>this.handleError(L)))}getReceiveNewHardware(){return this.httpClient.get(fe.receiveNewHardware).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}putBinding(A){return this.httpClient.put(fe.binding,A).pipe((0,Z.T)(B=>B),(0,ie.W)(B=>this.handleError(B)))}putCommandRaw(A){return this.httpClient.put(fe.rawCommand,A).pipe((0,Z.T)(B=>B),(0,ie.W)(B=>this.handleError(B)))}putCommandRawZigpy(A){return this.httpClient.put(fe.rawCommandZigpy,A).pipe((0,Z.T)(B=>B),(0,ie.W)(B=>this.handleError(B)))}getBindLSTcluster(){return this.httpClient.get(fe.bindLSTcluster).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}getBindLSTdevice(A){return this.httpClient.get(fe.bindLSTdevice+"/"+A).pipe((0,Z.T)(F=>F),(0,ie.W)(F=>this.handleError(F)))}putUnBinding(A){return this.httpClient.put(fe.unbinding,A).pipe((0,Z.T)(B=>B),(0,ie.W)(B=>this.handleError(B)))}putScanDeviceForGrp(A){return this.httpClient.put(fe.scanDeviceForGrp,A).pipe((0,Z.T)(B=>B),(0,ie.W)(B=>this.handleError(B)))}getOtaFirmware(){return this.httpClient.get(fe.otaFirmwareList).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}getDeviceByOtaFirmware(A){return this.httpClient.get(fe.otaFirmwareDeviceList.concat(A)).pipe((0,Z.T)(B=>B),(0,ie.W)(B=>this.handleError(B)))}putOtaFirmware(A){return this.httpClient.put(fe.otaFirmwareUpdate,A).pipe((0,Z.T)(B=>B),(0,ie.W)(B=>this.handleError(B)))}getCasiaDevices(){return this.httpClient.get(fe.casiaListDevices).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}putCasiaIrcode(A){return this.httpClient.put(fe.casiaIrcode,A).pipe((0,Z.T)(B=>B),(0,ie.W)(B=>this.handleError(B)))}putChangeChannel(A){return this.httpClient.put(fe.changeChannel,{Channel:A}).pipe((0,Z.T)(F=>F),(0,ie.W)(F=>this.handleError(F)))}putPairingFullReset(A){return this.httpClient.put(fe.pairingFullReset,{NWKID:A}).pipe((0,Z.T)(F=>F),(0,ie.W)(F=>this.handleError(F)))}putRecreateWidgets(A){return this.httpClient.put(fe.recreateWidgets,{NWKID:A}).pipe((0,Z.T)(F=>F),(0,ie.W)(F=>this.handleError(F)))}getBatteryState(){return this.httpClient.get(fe.batteryState).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}getTriggerConfigureReporting(A){return this.httpClient.get(fe.demandConfigureReporting+"/"+A).pipe((0,Z.T)(B=>B),(0,ie.W)(B=>this.handleError(B)))}getConfigureReporting(A){return this.httpClient.get(fe.configureReporting+"/"+A).pipe((0,Z.T)(B=>B),(0,ie.W)(B=>this.handleError(B)))}putConfigureReporting(A,B){const F=new V.ff;return F.Nwkid=A,F.Clusters=B,this.httpClient.put(fe.configureReporting,F).pipe((0,Z.T)(L=>L),(0,ie.W)(L=>this.handleError(L)))}deleteConfigureReporting(A){return this.httpClient.delete(fe.configureReporting+"/"+A).pipe((0,Z.T)(B=>B),(0,ie.W)(B=>this.handleError(B)))}getZlinky(){return this.httpClient.get(fe.zlinky).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}getLog(){return this.httpClient.get(fe.pluginLog).pipe((0,Z.T)(A=>A),(0,ie.W)(A=>this.handleError(A)))}getNonOptimizedDevice(A){return this.httpClient.get(fe.deviceNonOptimized+"/"+A).pipe((0,Z.T)(B=>B),(0,ie.W)(B=>this.handleError(B)))}handleError(A){return pe.error(A),this.toastr.error(A.status+" "+A.statusText,this.translate.instant("api.global.error.notify")),(0,Pe.$)(A)}static \u0275fac=function(B){return new(B||te)(re.KVO(M.Qq),re.KVO(ve.tw),re.KVO(le.c$))};static \u0275prov=re.jDH({token:te,factory:te.\u0275fac,providedIn:"root"})}return te})()},38852:(ri,Ft,He)=>{"use strict";He.d(Ft,{d:()=>V});var M=He(84412),e=He(54438);let V=(()=>{class Pe{restart=new M.t(!1);showManufacturerCasaia=new M.t(!1);showManufacturerZlinky=new M.t(!1);logError=new M.t(!1);polling=new M.t(!1);constructor(){}setRestart(ie){this.restart.next(ie)}setShowManufacturerCasaia(ie){this.showManufacturerCasaia.next(ie)}setShowManufacturerZlinky(ie){this.showManufacturerZlinky.next(ie)}setError(ie){this.logError.next(ie)}setPolling(ie){this.polling.next(ie)}static \u0275fac=function(re){return new(re||Pe)};static \u0275prov=e.jDH({token:Pe,factory:Pe.\u0275fac,providedIn:"root"})}return Pe})()},28990:(ri,Ft,He)=>{"use strict";He.d(Ft,{U:()=>Pe});var e=function(){function Z(){this._subs=[]}return Z.prototype.add=function(){for(var ie=[],re=0;re{class Z{subs=new e;ngOnDestroy(){this.subs.unsubscribe()}static \u0275fac=function(ve){return new(ve||Z)};static \u0275dir=V.FsC({type:Z})}return Z})()},34402:(ri,Ft,He)=>{"use strict";He.d(Ft,{E0:()=>Z,ff:()=>Pe});class Pe{Nwkid;Clusters}class Z{clusterId;attributeId;dataType;timeOut;minInterval;maxInterval;change}},93887:(ri,Ft,He)=>{"use strict";He.d(Ft,{G:()=>J});var M=He(60177),e=He(89417),V=He(88652),Pe=He(97013),Z=He(19664),ie=He(36554),re=He(46247),ve=He(81141),le=He(22242),fe=He(41570),pe=He(54438);let J=(()=>{class te{static \u0275fac=function(B){return new(B||te)};static \u0275mod=pe.$C({type:te});static \u0275inj=pe.G2t({providers:[M.vh],imports:[M.MD,Pe.MQ,Z.h,M.MD,e.X1,e.YN,V.UN,Pe.MQ,Z.h,re.bG,fe.P,le.u,ve.tm,ie.PO]})}return te})()},20546:(ri,Ft,He)=>{"use strict";He.d(Ft,{c:()=>e});const e={production:!0,version:"1.0.0",defaultLanguage:"en-US",supportedLanguages:[{code:"en-US",flag:"flag_uk.png"},{code:"fr-FR",flag:"flag_france.png"},{code:"nl-NL",flag:"flag_netherlands.png"},{code:"es-ES",flag:"flag_spain.png"}],api_url:"/rest-z4d/1",keysBoundActive:["alt.z","z>i>g"],refresh:7e3,linkToConsent:"https://github.com/zigbeefordomoticz/wiki",trackerUrl:"https://z4d.pipiche.net/",siteId:"3"}},40476:(ri,Ft,He)=>{"use strict";var M=He(345),e=He(54438),V=He(83801),Pe=He(21626),Z=He(49969);function re(c){return new e.wOt(3e3,!1)}function se(c){switch(c.length){case 0:return new Z.sf;case 1:return c[0];default:return new Z.ui(c)}}function w(c,v,i=new Map,m=new Map){const W=[],ce=[];let De=-1,Ve=null;if(v.forEach(qe=>{const et=qe.get("offset"),gt=et==De,Mt=gt&&Ve||new Map;qe.forEach((Pt,Wt)=>{let Zt=Wt,hi=Pt;if("offset"!==Wt)switch(Zt=c.normalizePropertyName(Zt,W),hi){case Z.FX:hi=i.get(Wt);break;case Z.kp:hi=m.get(Wt);break;default:hi=c.normalizeStyleValue(Wt,Zt,hi,W)}Mt.set(Zt,hi)}),gt||ce.push(Mt),Ve=Mt,De=et}),W.length)throw function o(c){return new e.wOt(3502,!1)}();return ce}function X(c,v,i,m){switch(v){case"start":c.onStart(()=>m(i&&G(i,"start",c)));break;case"done":c.onDone(()=>m(i&&G(i,"done",c)));break;case"destroy":c.onDestroy(()=>m(i&&G(i,"destroy",c)))}}function G(c,v,i){const ce=x(c.element,c.triggerName,c.fromState,c.toState,v||c.phaseName,i.totalTime??c.totalTime,!!i.disabled),De=c._data;return null!=De&&(ce._data=De),ce}function x(c,v,i,m,W="",ce=0,De){return{element:c,triggerName:v,fromState:i,toState:m,phaseName:W,totalTime:ce,disabled:!!De}}function N(c,v,i){let m=c.get(v);return m||c.set(v,m=i),m}function R(c){const v=c.indexOf(":");return[c.substring(1,v),c.slice(v+1)]}const K=typeof document>"u"?null:document.documentElement;function q(c){const v=c.parentNode||c.host||null;return v===K?null:v}let me=null,Ce=!1;function Fe(c,v){for(;v;){if(v===c)return!0;v=q(v)}return!1}function oe(c,v,i){if(i)return Array.from(c.querySelectorAll(v));const m=c.querySelector(v);return m?[m]:[]}let de=(()=>{class c{validateStyleProperty(i){return function Se(c){me||(me=function Ae(){return typeof document<"u"?document.body:null}()||{},Ce=!!me.style&&"WebkitAppearance"in me.style);let v=!0;return me.style&&!function he(c){return"ebkit"==c.substring(1,6)}(c)&&(v=c in me.style,!v&&Ce&&(v="Webkit"+c.charAt(0).toUpperCase()+c.slice(1)in me.style)),v}(i)}matchesElement(i,m){return!1}containsElement(i,m){return Fe(i,m)}getParentElement(i){return q(i)}query(i,m,W){return oe(i,m,W)}computeStyle(i,m,W){return W||""}animate(i,m,W,ce,De,Ve=[],qe){return new Z.sf(W,ce)}static#e=this.\u0275fac=function(m){return new(m||c)};static#t=this.\u0275prov=e.jDH({token:c,factory:c.\u0275fac})}return c})();class ye{static#e=this.NOOP=new de}class Te{}const Me=1e3,Ze="ng-enter",lt="ng-leave",Qe="ng-trigger",st=".ng-trigger",kt="ng-animating",pt=".ng-animating";function ht(c){if("number"==typeof c)return c;const v=c.match(/^(-?[\.\d]+)(m?s)/);return!v||v.length<2?0:Lt(parseFloat(v[1]),v[2])}function Lt(c,v){return"s"===v?c*Me:c}function Gt(c,v,i){return c.hasOwnProperty("duration")?c:function ti(c,v,i){let W,ce=0,De="";if("string"==typeof c){const Ve=c.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===Ve)return v.push(re()),{duration:0,delay:0,easing:""};W=Lt(parseFloat(Ve[1]),Ve[2]);const qe=Ve[3];null!=qe&&(ce=Lt(parseFloat(qe),Ve[4]));const et=Ve[5];et&&(De=et)}else W=c;if(!i){let Ve=!1,qe=v.length;W<0&&(v.push(function ve(){return new e.wOt(3100,!1)}()),Ve=!0),ce<0&&(v.push(function le(){return new e.wOt(3101,!1)}()),Ve=!0),Ve&&v.splice(qe,0,re())}return{duration:W,delay:ce,easing:De}}(c,v,i)}function _t(c,v,i){v.forEach((m,W)=>{const ce=xs(W);i&&!i.has(W)&&i.set(W,c.style[ce]),c.style[ce]=m})}function wt(c,v){v.forEach((i,m)=>{const W=xs(m);c.style[W]=""})}function Qt(c){return Array.isArray(c)?1==c.length?c[0]:(0,Z.K2)(c):c}const Fi=new RegExp("{{\\s*(.+?)\\s*}}","g");function mi(c){let v=[];if("string"==typeof c){let i;for(;i=Fi.exec(c);)v.push(i[1]);Fi.lastIndex=0}return v}function vi(c,v,i){const m=`${c}`,W=m.replace(Fi,(ce,De)=>{let Ve=v[De];return null==Ve&&(i.push(function pe(c){return new e.wOt(3003,!1)}()),Ve=""),Ve.toString()});return W==m?c:W}const Gi=/-+([a-z0-9])/g;function xs(c){return c.replace(Gi,(...v)=>v[1].toUpperCase())}function Gn(c,v,i){switch(v.type){case Z.If.Trigger:return c.visitTrigger(v,i);case Z.If.State:return c.visitState(v,i);case Z.If.Transition:return c.visitTransition(v,i);case Z.If.Sequence:return c.visitSequence(v,i);case Z.If.Group:return c.visitGroup(v,i);case Z.If.Animate:return c.visitAnimate(v,i);case Z.If.Keyframes:return c.visitKeyframes(v,i);case Z.If.Style:return c.visitStyle(v,i);case Z.If.Reference:return c.visitReference(v,i);case Z.If.AnimateChild:return c.visitAnimateChild(v,i);case Z.If.AnimateRef:return c.visitAnimateRef(v,i);case Z.If.Query:return c.visitQuery(v,i);case Z.If.Stagger:return c.visitStagger(v,i);default:throw function J(c){return new e.wOt(3004,!1)}()}}function dn(c,v){return window.getComputedStyle(c)[v]}const Mi=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]);class _s extends Te{normalizePropertyName(v,i){return xs(v)}normalizeStyleValue(v,i,m,W){let ce="";const De=m.toString().trim();if(Mi.has(i)&&0!==m&&"0"!==m)if("number"==typeof m)ce="px";else{const Ve=m.match(/^[+-]?[\d\.]+([a-z]*)$/);Ve&&0==Ve[1].length&&W.push(function te(c,v){return new e.wOt(3005,!1)}())}return De+ce}}const Mn="*";const nr=new Set(["true","1"]),St=new Set(["false","0"]);function Rt(c,v){const i=nr.has(c)||St.has(c),m=nr.has(v)||St.has(v);return(W,ce)=>{let De=c==Mn||c==W,Ve=v==Mn||v==ce;return!De&&i&&"boolean"==typeof W&&(De=W?nr.has(c):St.has(c)),!Ve&&m&&"boolean"==typeof ce&&(Ve=ce?nr.has(v):St.has(v)),De&&Ve}}const bt=new RegExp("s*:selfs*,?","g");function xt(c,v,i,m){return new yt(c).build(v,i,m)}class yt{constructor(v){this._driver=v}build(v,i,m){const W=new si(i);return this._resetContextStyleTimingState(W),Gn(this,Qt(v),W)}_resetContextStyleTimingState(v){v.currentQuerySelector="",v.collectedStyles=new Map,v.collectedStyles.set("",new Map),v.currentTime=0}visitTrigger(v,i){let m=i.queryCount=0,W=i.depCount=0;const ce=[],De=[];return"@"==v.name.charAt(0)&&i.errors.push(function $(){return new e.wOt(3006,!1)}()),v.definitions.forEach(Ve=>{if(this._resetContextStyleTimingState(i),Ve.type==Z.If.State){const qe=Ve,et=qe.name;et.toString().split(/\s*,\s*/).forEach(gt=>{qe.name=gt,ce.push(this.visitState(qe,i))}),qe.name=et}else if(Ve.type==Z.If.Transition){const qe=this.visitTransition(Ve,i);m+=qe.queryCount,W+=qe.depCount,De.push(qe)}else i.errors.push(function A(){return new e.wOt(3007,!1)}())}),{type:Z.If.Trigger,name:v.name,states:ce,transitions:De,queryCount:m,depCount:W,options:null}}visitState(v,i){const m=this.visitStyle(v.styles,i),W=v.options&&v.options.params||null;if(m.containsDynamicStyles){const ce=new Set,De=W||{};m.styles.forEach(Ve=>{Ve instanceof Map&&Ve.forEach(qe=>{mi(qe).forEach(et=>{De.hasOwnProperty(et)||ce.add(et)})})}),ce.size&&i.errors.push(function B(c,v){return new e.wOt(3008,!1)}(0,ce.values()))}return{type:Z.If.State,name:v.name,style:m,options:W?{params:W}:null}}visitTransition(v,i){i.queryCount=0,i.depCount=0;const m=Gn(this,Qt(v.animation),i),W=function Br(c,v){const i=[];return"string"==typeof c?c.split(/\s*,\s*/).forEach(m=>function mo(c,v,i){if(":"==c[0]){const qe=function Kr(c,v){switch(c){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(i,m)=>parseFloat(m)>parseFloat(i);case":decrement":return(i,m)=>parseFloat(m) *"}}(c,i);if("function"==typeof qe)return void v.push(qe);c=qe}const m=c.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==m||m.length<4)return i.push(function O(c){return new e.wOt(3015,!1)}()),v;const W=m[1],ce=m[2],De=m[3];v.push(Rt(W,De)),"<"==ce[0]&&(W!=Mn||De!=Mn)&&v.push(Rt(De,W))}(m,i,v)):i.push(c),i}(v.expr,i.errors);return{type:Z.If.Transition,matchers:W,animation:m,queryCount:i.queryCount,depCount:i.depCount,options:Hi(v.options)}}visitSequence(v,i){return{type:Z.If.Sequence,steps:v.steps.map(m=>Gn(this,m,i)),options:Hi(v.options)}}visitGroup(v,i){const m=i.currentTime;let W=0;const ce=v.steps.map(De=>{i.currentTime=m;const Ve=Gn(this,De,i);return W=Math.max(W,i.currentTime),Ve});return i.currentTime=W,{type:Z.If.Group,steps:ce,options:Hi(v.options)}}visitAnimate(v,i){const m=function Si(c,v){if(c.hasOwnProperty("duration"))return c;if("number"==typeof c)return ss(Gt(c,v).duration,0,"");const i=c;if(i.split(/\s+/).some(ce=>"{"==ce.charAt(0)&&"{"==ce.charAt(1))){const ce=ss(0,0,"");return ce.dynamic=!0,ce.strValue=i,ce}const W=Gt(i,v);return ss(W.duration,W.delay,W.easing)}(v.timings,i.errors);i.currentAnimateTimings=m;let W,ce=v.styles?v.styles:(0,Z.iF)({});if(ce.type==Z.If.Keyframes)W=this.visitKeyframes(ce,i);else{let De=v.styles,Ve=!1;if(!De){Ve=!0;const et={};m.easing&&(et.easing=m.easing),De=(0,Z.iF)(et)}i.currentTime+=m.duration+m.delay;const qe=this.visitStyle(De,i);qe.isEmptyStep=Ve,W=qe}return i.currentAnimateTimings=null,{type:Z.If.Animate,timings:m,style:W,options:null}}visitStyle(v,i){const m=this._makeStyleAst(v,i);return this._validateStyleAst(m,i),m}_makeStyleAst(v,i){const m=[],W=Array.isArray(v.styles)?v.styles:[v.styles];for(let Ve of W)"string"==typeof Ve?Ve===Z.kp?m.push(Ve):i.errors.push(new e.wOt(3002,!1)):m.push(new Map(Object.entries(Ve)));let ce=!1,De=null;return m.forEach(Ve=>{if(Ve instanceof Map&&(Ve.has("easing")&&(De=Ve.get("easing"),Ve.delete("easing")),!ce))for(let qe of Ve.values())if(qe.toString().indexOf("{{")>=0){ce=!0;break}}),{type:Z.If.Style,styles:m,easing:De,offset:v.offset,containsDynamicStyles:ce,options:null}}_validateStyleAst(v,i){const m=i.currentAnimateTimings;let W=i.currentTime,ce=i.currentTime;m&&ce>0&&(ce-=m.duration+m.delay),v.styles.forEach(De=>{"string"!=typeof De&&De.forEach((Ve,qe)=>{const et=i.collectedStyles.get(i.currentQuerySelector),gt=et.get(qe);let Mt=!0;gt&&(ce!=W&&ce>=gt.startTime&&W<=gt.endTime&&(i.errors.push(function D(c,v,i,m,W){return new e.wOt(3010,!1)}()),Mt=!1),ce=gt.startTime),Mt&&et.set(qe,{startTime:ce,endTime:W}),i.options&&function di(c,v,i){const m=v.params||{},W=mi(c);W.length&&W.forEach(ce=>{m.hasOwnProperty(ce)||i.push(function fe(c){return new e.wOt(3001,!1)}())})}(Ve,i.options,i.errors)})})}visitKeyframes(v,i){const m={type:Z.If.Keyframes,styles:[],options:null};if(!i.currentAnimateTimings)return i.errors.push(function I(){return new e.wOt(3011,!1)}()),m;let ce=0;const De=[];let Ve=!1,qe=!1,et=0;const gt=v.steps.map(pi=>{const Ci=this._makeStyleAst(pi,i);let gi=null!=Ci.offset?Ci.offset:function Ti(c){if("string"==typeof c)return null;let v=null;if(Array.isArray(c))c.forEach(i=>{if(i instanceof Map&&i.has("offset")){const m=i;v=parseFloat(m.get("offset")),m.delete("offset")}});else if(c instanceof Map&&c.has("offset")){const i=c;v=parseFloat(i.get("offset")),i.delete("offset")}return v}(Ci.styles),ki=0;return null!=gi&&(ce++,ki=Ci.offset=gi),qe=qe||ki<0||ki>1,Ve=Ve||ki0&&ce{const gi=Pt>0?Ci==Wt?1:Pt*Ci:De[Ci],ki=gi*Xt;i.currentTime=Zt+hi.delay+ki,hi.duration=ki,this._validateStyleAst(pi,i),pi.offset=gi,m.styles.push(pi)}),m}visitReference(v,i){return{type:Z.If.Reference,animation:Gn(this,Qt(v.animation),i),options:Hi(v.options)}}visitAnimateChild(v,i){return i.depCount++,{type:Z.If.AnimateChild,options:Hi(v.options)}}visitAnimateRef(v,i){return{type:Z.If.AnimateRef,animation:this.visitReference(v.animation,i),options:Hi(v.options)}}visitQuery(v,i){const m=i.currentQuerySelector,W=v.options||{};i.queryCount++,i.currentQuery=v;const[ce,De]=function It(c){const v=!!c.split(/\s*,\s*/).find(i=>":self"==i);return v&&(c=c.replace(bt,"")),c=c.replace(/@\*/g,st).replace(/@\w+/g,i=>st+"-"+i.slice(1)).replace(/:animating/g,pt),[c,v]}(v.selector);i.currentQuerySelector=m.length?m+" "+ce:ce,N(i.collectedStyles,i.currentQuerySelector,new Map);const Ve=Gn(this,Qt(v.animation),i);return i.currentQuery=null,i.currentQuerySelector=m,{type:Z.If.Query,selector:ce,limit:W.limit||0,optional:!!W.optional,includeSelf:De,animation:Ve,originalSelector:v.selector,options:Hi(v.options)}}visitStagger(v,i){i.currentQuery||i.errors.push(function T(){return new e.wOt(3013,!1)}());const m="full"===v.timings?{duration:0,delay:0,easing:"full"}:Gt(v.timings,i.errors,!0);return{type:Z.If.Stagger,animation:Gn(this,Qt(v.animation),i),timings:m,options:null}}}class si{constructor(v){this.errors=v,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set}}function Hi(c){return c?(c={...c}).params&&(c.params=function $t(c){return c?{...c}:null}(c.params)):c={},c}function ss(c,v,i){return{duration:c,delay:v,easing:i}}function un(c,v,i,m,W,ce,De=null,Ve=!1){return{type:1,element:c,keyframes:v,preStyleProps:i,postStyleProps:m,duration:W,delay:ce,totalTime:W+ce,easing:De,subTimeline:Ve}}class Xi{constructor(){this._map=new Map}get(v){return this._map.get(v)||[]}append(v,i){let m=this._map.get(v);m||this._map.set(v,m=[]),m.push(...i)}has(v){return this._map.has(v)}clear(){this._map.clear()}}const er=new RegExp(":enter","g"),Zr=new RegExp(":leave","g");function sr(c,v,i,m,W,ce=new Map,De=new Map,Ve,qe,et=[]){return(new Ls).buildKeyframes(c,v,i,m,W,ce,De,Ve,qe,et)}class Ls{buildKeyframes(v,i,m,W,ce,De,Ve,qe,et,gt=[]){et=et||new Xi;const Mt=new Ki(v,i,et,W,ce,gt,[]);Mt.options=qe;const Pt=qe.delay?ht(qe.delay):0;Mt.currentTimeline.delayNextStep(Pt),Mt.currentTimeline.setStyles([De],null,Mt.errors,qe),Gn(this,m,Mt);const Wt=Mt.timelines.filter(Zt=>Zt.containsAnimation());if(Wt.length&&Ve.size){let Zt;for(let hi=Wt.length-1;hi>=0;hi--){const Xt=Wt[hi];if(Xt.element===i){Zt=Xt;break}}Zt&&!Zt.allowOnlyTimelineStyles()&&Zt.setStyles([Ve],null,Mt.errors,qe)}return Wt.length?Wt.map(Zt=>Zt.buildKeyframes()):[un(i,[],[],[],0,Pt,"",!1)]}visitTrigger(v,i){}visitState(v,i){}visitTransition(v,i){}visitAnimateChild(v,i){const m=i.subInstructions.get(i.element);if(m){const W=i.createSubContext(v.options),ce=i.currentTimeline.currentTime,De=this._visitSubInstructions(m,W,W.options);ce!=De&&i.transformIntoNewTimeline(De)}i.previousNode=v}visitAnimateRef(v,i){const m=i.createSubContext(v.options);m.transformIntoNewTimeline(),this._applyAnimationRefDelays([v.options,v.animation.options],i,m),this.visitReference(v.animation,m),i.transformIntoNewTimeline(m.currentTimeline.currentTime),i.previousNode=v}_applyAnimationRefDelays(v,i,m){for(const W of v){const ce=W?.delay;if(ce){const De="number"==typeof ce?ce:ht(vi(ce,W?.params??{},i.errors));m.delayNextStep(De)}}}_visitSubInstructions(v,i,m){let ce=i.currentTimeline.currentTime;const De=null!=m.duration?ht(m.duration):null,Ve=null!=m.delay?ht(m.delay):null;return 0!==De&&v.forEach(qe=>{const et=i.appendInstructionToTimeline(qe,De,Ve);ce=Math.max(ce,et.duration+et.delay)}),ce}visitReference(v,i){i.updateOptions(v.options,!0),Gn(this,v.animation,i),i.previousNode=v}visitSequence(v,i){const m=i.subContextCount;let W=i;const ce=v.options;if(ce&&(ce.params||ce.delay)&&(W=i.createSubContext(ce),W.transformIntoNewTimeline(),null!=ce.delay)){W.previousNode.type==Z.If.Style&&(W.currentTimeline.snapshotCurrentStyles(),W.previousNode=jr);const De=ht(ce.delay);W.delayNextStep(De)}v.steps.length&&(v.steps.forEach(De=>Gn(this,De,W)),W.currentTimeline.applyStylesToKeyframe(),W.subContextCount>m&&W.transformIntoNewTimeline()),i.previousNode=v}visitGroup(v,i){const m=[];let W=i.currentTimeline.currentTime;const ce=v.options&&v.options.delay?ht(v.options.delay):0;v.steps.forEach(De=>{const Ve=i.createSubContext(v.options);ce&&Ve.delayNextStep(ce),Gn(this,De,Ve),W=Math.max(W,Ve.currentTimeline.currentTime),m.push(Ve.currentTimeline)}),m.forEach(De=>i.currentTimeline.mergeTimelineCollectedStyles(De)),i.transformIntoNewTimeline(W),i.previousNode=v}_visitTiming(v,i){if(v.dynamic){const m=v.strValue;return Gt(i.params?vi(m,i.params,i.errors):m,i.errors)}return{duration:v.duration,delay:v.delay,easing:v.easing}}visitAnimate(v,i){const m=i.currentAnimateTimings=this._visitTiming(v.timings,i),W=i.currentTimeline;m.delay&&(i.incrementTime(m.delay),W.snapshotCurrentStyles());const ce=v.style;ce.type==Z.If.Keyframes?this.visitKeyframes(ce,i):(i.incrementTime(m.duration),this.visitStyle(ce,i),W.applyStylesToKeyframe()),i.currentAnimateTimings=null,i.previousNode=v}visitStyle(v,i){const m=i.currentTimeline,W=i.currentAnimateTimings;!W&&m.hasCurrentStyleProperties()&&m.forwardFrame();const ce=W&&W.easing||v.easing;v.isEmptyStep?m.applyEmptyStep(ce):m.setStyles(v.styles,ce,i.errors,i.options),i.previousNode=v}visitKeyframes(v,i){const m=i.currentAnimateTimings,W=i.currentTimeline.duration,ce=m.duration,Ve=i.createSubContext().currentTimeline;Ve.easing=m.easing,v.styles.forEach(qe=>{Ve.forwardTime((qe.offset||0)*ce),Ve.setStyles(qe.styles,qe.easing,i.errors,i.options),Ve.applyStylesToKeyframe()}),i.currentTimeline.mergeTimelineCollectedStyles(Ve),i.transformIntoNewTimeline(W+ce),i.previousNode=v}visitQuery(v,i){const m=i.currentTimeline.currentTime,W=v.options||{},ce=W.delay?ht(W.delay):0;ce&&(i.previousNode.type===Z.If.Style||0==m&&i.currentTimeline.hasCurrentStyleProperties())&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=jr);let De=m;const Ve=i.invokeQuery(v.selector,v.originalSelector,v.limit,v.includeSelf,!!W.optional,i.errors);i.currentQueryTotal=Ve.length;let qe=null;Ve.forEach((et,gt)=>{i.currentQueryIndex=gt;const Mt=i.createSubContext(v.options,et);ce&&Mt.delayNextStep(ce),et===i.element&&(qe=Mt.currentTimeline),Gn(this,v.animation,Mt),Mt.currentTimeline.applyStylesToKeyframe(),De=Math.max(De,Mt.currentTimeline.currentTime)}),i.currentQueryIndex=0,i.currentQueryTotal=0,i.transformIntoNewTimeline(De),qe&&(i.currentTimeline.mergeTimelineCollectedStyles(qe),i.currentTimeline.snapshotCurrentStyles()),i.previousNode=v}visitStagger(v,i){const m=i.parentContext,W=i.currentTimeline,ce=v.timings,De=Math.abs(ce.duration),Ve=De*(i.currentQueryTotal-1);let qe=De*i.currentQueryIndex;switch(ce.duration<0?"reverse":ce.easing){case"reverse":qe=Ve-qe;break;case"full":qe=m.currentStaggerTime}const gt=i.currentTimeline;qe&>.delayNextStep(qe);const Mt=gt.currentTime;Gn(this,v.animation,i),i.previousNode=v,m.currentStaggerTime=W.currentTime-Mt+(W.startTime-m.currentTimeline.startTime)}}const jr={};class Ki{constructor(v,i,m,W,ce,De,Ve,qe){this._driver=v,this.element=i,this.subInstructions=m,this._enterClassName=W,this._leaveClassName=ce,this.errors=De,this.timelines=Ve,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=jr,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=qe||new Tn(this._driver,i,0),Ve.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(v,i){if(!v)return;const m=v;let W=this.options;null!=m.duration&&(W.duration=ht(m.duration)),null!=m.delay&&(W.delay=ht(m.delay));const ce=m.params;if(ce){let De=W.params;De||(De=this.options.params={}),Object.keys(ce).forEach(Ve=>{(!i||!De.hasOwnProperty(Ve))&&(De[Ve]=vi(ce[Ve],De,this.errors))})}}_copyOptions(){const v={};if(this.options){const i=this.options.params;if(i){const m=v.params={};Object.keys(i).forEach(W=>{m[W]=i[W]})}}return v}createSubContext(v=null,i,m){const W=i||this.element,ce=new Ki(this._driver,W,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(W,m||0));return ce.previousNode=this.previousNode,ce.currentAnimateTimings=this.currentAnimateTimings,ce.options=this._copyOptions(),ce.updateOptions(v),ce.currentQueryIndex=this.currentQueryIndex,ce.currentQueryTotal=this.currentQueryTotal,ce.parentContext=this,this.subContextCount++,ce}transformIntoNewTimeline(v){return this.previousNode=jr,this.currentTimeline=this.currentTimeline.fork(this.element,v),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(v,i,m){const W={duration:i??v.duration,delay:this.currentTimeline.currentTime+(m??0)+v.delay,easing:""},ce=new sc(this._driver,v.element,v.keyframes,v.preStyleProps,v.postStyleProps,W,v.stretchStartingKeyframe);return this.timelines.push(ce),W}incrementTime(v){this.currentTimeline.forwardTime(this.currentTimeline.duration+v)}delayNextStep(v){v>0&&this.currentTimeline.delayNextStep(v)}invokeQuery(v,i,m,W,ce,De){let Ve=[];if(W&&Ve.push(this.element),v.length>0){v=(v=v.replace(er,"."+this._enterClassName)).replace(Zr,"."+this._leaveClassName);let et=this._driver.query(this.element,v,1!=m);0!==m&&(et=m<0?et.slice(et.length+m,et.length):et.slice(0,m)),Ve.push(...et)}return!ce&&0==Ve.length&&De.push(function z(c){return new e.wOt(3014,!1)}()),Ve}}class Tn{constructor(v,i,m,W){this._driver=v,this.element=i,this.startTime=m,this._elementTimelineStylesLookup=W,this.duration=0,this.easing=null,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(i),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(i,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(v){const i=1===this._keyframes.size&&this._pendingStyles.size;this.duration||i?(this.forwardTime(this.currentTime+v),i&&this.snapshotCurrentStyles()):this.startTime+=v}fork(v,i){return this.applyStylesToKeyframe(),new Tn(this._driver,v,i||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(v){this.applyStylesToKeyframe(),this.duration=v,this._loadKeyframe()}_updateStyle(v,i){this._localTimelineStyles.set(v,i),this._globalTimelineStyles.set(v,i),this._styleSummary.set(v,{time:this.currentTime,value:i})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(v){v&&this._previousKeyframe.set("easing",v);for(let[i,m]of this._globalTimelineStyles)this._backFill.set(i,m||Z.kp),this._currentKeyframe.set(i,Z.kp);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(v,i,m,W){i&&this._previousKeyframe.set("easing",i);const ce=W&&W.params||{},De=function Oa(c,v){const i=new Map;let m;return c.forEach(W=>{if("*"===W){m??=v.keys();for(let ce of m)i.set(ce,Z.kp)}else for(let[ce,De]of W)i.set(ce,De)}),i}(v,this._globalTimelineStyles);for(let[Ve,qe]of De){const et=vi(qe,ce,m);this._pendingStyles.set(Ve,et),this._localTimelineStyles.has(Ve)||this._backFill.set(Ve,this._globalTimelineStyles.get(Ve)??Z.kp),this._updateStyle(Ve,et)}}applyStylesToKeyframe(){0!=this._pendingStyles.size&&(this._pendingStyles.forEach((v,i)=>{this._currentKeyframe.set(i,v)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((v,i)=>{this._currentKeyframe.has(i)||this._currentKeyframe.set(i,v)}))}snapshotCurrentStyles(){for(let[v,i]of this._localTimelineStyles)this._pendingStyles.set(v,i),this._updateStyle(v,i)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const v=[];for(let i in this._currentKeyframe)v.push(i);return v}mergeTimelineCollectedStyles(v){v._styleSummary.forEach((i,m)=>{const W=this._styleSummary.get(m);(!W||i.time>W.time)&&this._updateStyle(m,i.value)})}buildKeyframes(){this.applyStylesToKeyframe();const v=new Set,i=new Set,m=1===this._keyframes.size&&0===this.duration;let W=[];this._keyframes.forEach((Ve,qe)=>{const et=new Map([...this._backFill,...Ve]);et.forEach((gt,Mt)=>{gt===Z.FX?v.add(Mt):gt===Z.kp&&i.add(Mt)}),m||et.set("offset",qe/this.duration),W.push(et)});const ce=[...v.values()],De=[...i.values()];if(m){const Ve=W[0],qe=new Map(Ve);Ve.set("offset",0),qe.set("offset",1),W=[Ve,qe]}return un(this.element,W,ce,De,this.duration,this.startTime,this.easing,!1)}}class sc extends Tn{constructor(v,i,m,W,ce,De,Ve=!1){super(v,i,De.delay),this.keyframes=m,this.preStyleProps=W,this.postStyleProps=ce,this._stretchStartingKeyframe=Ve,this.timings={duration:De.duration,delay:De.delay,easing:De.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let v=this.keyframes,{delay:i,duration:m,easing:W}=this.timings;if(this._stretchStartingKeyframe&&i){const ce=[],De=m+i,Ve=i/De,qe=new Map(v[0]);qe.set("offset",0),ce.push(qe);const et=new Map(v[0]);et.set("offset",ur(Ve)),ce.push(et);const gt=v.length-1;for(let Mt=1;Mt<=gt;Mt++){let Pt=new Map(v[Mt]);const Wt=Pt.get("offset");Pt.set("offset",ur((i+Wt*m)/De)),ce.push(Pt)}m=De,i=0,W="",v=ce}return un(this.element,v,this.preStyleProps,this.postStyleProps,m,i,W,!0)}}function ur(c,v=3){const i=Math.pow(10,v-1);return Math.round(c*i)/i}function Pa(c,v,i,m,W,ce,De,Ve,qe,et,gt,Mt,Pt){return{type:0,element:c,triggerName:v,isRemovalTransition:W,fromState:i,fromStyles:ce,toState:m,toStyles:De,timelines:Ve,queriedElements:qe,preStyleProps:et,postStyleProps:gt,totalTime:Mt,errors:Pt}}const La={};class qr{constructor(v,i,m){this._triggerName=v,this.ast=i,this._stateStyles=m}match(v,i,m,W){return function Zo(c,v,i,m,W){return c.some(ce=>ce(v,i,m,W))}(this.ast.matchers,v,i,m,W)}buildStyles(v,i,m){let W=this._stateStyles.get("*");return void 0!==v&&(W=this._stateStyles.get(v?.toString())||W),W?W.buildStyles(i,m):new Map}build(v,i,m,W,ce,De,Ve,qe,et,gt){const Mt=[],Pt=this.ast.options&&this.ast.options.params||La,Zt=this.buildStyles(m,Ve&&Ve.params||La,Mt),hi=qe&&qe.params||La,Xt=this.buildStyles(W,hi,Mt),pi=new Set,Ci=new Map,gi=new Map,ki="void"===W,Bi={params:rl(hi,Pt),delay:this.ast.options?.delay},Di=gt?[]:sr(v,i,this.ast.animation,ce,De,Zt,Xt,Bi,et,Mt);let on=0;return Di.forEach(ln=>{on=Math.max(ln.duration+ln.delay,on)}),Mt.length?Pa(i,this._triggerName,m,W,ki,Zt,Xt,[],[],Ci,gi,on,Mt):(Di.forEach(ln=>{const ps=ln.element,Nn=N(Ci,ps,new Set);ln.preStyleProps.forEach(Un=>Nn.add(Un));const Ui=N(gi,ps,new Set);ln.postStyleProps.forEach(Un=>Ui.add(Un)),ps!==i&&pi.add(ps)}),Pa(i,this._triggerName,m,W,ki,Zt,Xt,Di,[...pi.values()],Ci,gi,on))}}function rl(c,v){const i={...v};return Object.entries(c).forEach(([m,W])=>{null!=W&&(i[m]=W)}),i}class Gs{constructor(v,i,m){this.styles=v,this.defaultParams=i,this.normalizer=m}buildStyles(v,i){const m=new Map,W=rl(v,this.defaultParams);return this.styles.styles.forEach(ce=>{"string"!=typeof ce&&ce.forEach((De,Ve)=>{De&&(De=vi(De,W,i));const qe=this.normalizer.normalizePropertyName(Ve,i);De=this.normalizer.normalizeStyleValue(Ve,qe,De,i),m.set(Ve,De)})}),m}}class ol{constructor(v,i,m){this.name=v,this.ast=i,this._normalizer=m,this.transitionFactories=[],this.states=new Map,i.states.forEach(W=>{this.states.set(W.name,new Gs(W.style,W.options&&W.options.params||{},m))}),vr(this.states,"true","1"),vr(this.states,"false","0"),i.transitions.forEach(W=>{this.transitionFactories.push(new qr(v,W,this.states))}),this.fallbackTransition=function al(c,v,i){return new qr(c,{type:Z.If.Transition,animation:{type:Z.If.Sequence,steps:[],options:null},matchers:[(De,Ve)=>!0],options:null,queryCount:0,depCount:0},v)}(v,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(v,i,m,W){return this.transitionFactories.find(De=>De.match(v,i,m,W))||null}matchStyles(v,i,m){return this.fallbackTransition.buildStyles(v,i,m)}}function vr(c,v,i){c.has(v)?c.has(i)||c.set(i,c.get(v)):c.has(i)&&c.set(v,c.get(i))}const Hs=new Xi;class yr{constructor(v,i,m){this.bodyNode=v,this._driver=i,this._normalizer=m,this._animations=new Map,this._playersById=new Map,this.players=[]}register(v,i){const m=[],ce=xt(this._driver,i,m,[]);if(m.length)throw function n(c){return new e.wOt(3503,!1)}();this._animations.set(v,ce)}_buildPlayer(v,i,m){const W=v.element,ce=w(this._normalizer,v.keyframes,i,m);return this._driver.animate(W,ce,v.duration,v.delay,v.easing,[],!0)}create(v,i,m={}){const W=[],ce=this._animations.get(v);let De;const Ve=new Map;if(ce?(De=sr(this._driver,i,ce,Ze,lt,new Map,new Map,m,Hs,W),De.forEach(gt=>{const Mt=N(Ve,gt.element,new Map);gt.postStyleProps.forEach(Pt=>Mt.set(Pt,null))})):(W.push(function r(){return new e.wOt(3300,!1)}()),De=[]),W.length)throw function l(c){return new e.wOt(3504,!1)}();Ve.forEach((gt,Mt)=>{gt.forEach((Pt,Wt)=>{gt.set(Wt,this._driver.computeStyle(Mt,Wt,Z.kp))})});const et=se(De.map(gt=>{const Mt=Ve.get(gt.element);return this._buildPlayer(gt,new Map,Mt)}));return this._playersById.set(v,et),et.onDestroy(()=>this.destroy(v)),this.players.push(et),et}destroy(v){const i=this._getPlayer(v);i.destroy(),this._playersById.delete(v);const m=this.players.indexOf(i);m>=0&&this.players.splice(m,1)}_getPlayer(v){const i=this._playersById.get(v);if(!i)throw function d(c){return new e.wOt(3301,!1)}();return i}listen(v,i,m,W){const ce=x(i,"","","");return X(this._getPlayer(v),m,ce,W),()=>{}}command(v,i,m,W){if("register"==m)return void this.register(v,W[0]);if("create"==m)return void this.create(v,i,W[0]||{});const ce=this._getPlayer(v);switch(m){case"play":ce.play();break;case"pause":ce.pause();break;case"reset":ce.reset();break;case"restart":ce.restart();break;case"finish":ce.finish();break;case"init":ce.init();break;case"setPosition":ce.setPosition(parseFloat(W[0]));break;case"destroy":this.destroy(v)}}}const ll="ng-animate-queued",Ra="ng-animate-disabled",kr=[],ga={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Is={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Us="__ng_removed";class qi{get params(){return this.options.params}constructor(v,i=""){this.namespaceId=i;const m=v&&v.hasOwnProperty("value");if(this.value=function Oo(c){return c??null}(m?v.value:v),m){const{value:ce,...De}=v;this.options=De}else this.options={};this.options.params||(this.options.params={})}absorbOptions(v){const i=v.params;if(i){const m=this.options.params;Object.keys(i).forEach(W=>{null==m[W]&&(m[W]=i[W])})}}}const Vr="void",Io=new qi(Vr);class ma{constructor(v,i,m){this.id=v,this.hostElement=i,this._engine=m,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+v,rr(i,this._hostClassName)}listen(v,i,m,W){if(!this._triggers.has(i))throw function C(c,v){return new e.wOt(3302,!1)}();if(null==m||0==m.length)throw function k(c){return new e.wOt(3303,!1)}();if(!function hl(c){return"start"==c||"done"==c}(m))throw function p(c,v){return new e.wOt(3400,!1)}();const ce=N(this._elementListeners,v,[]),De={name:i,phase:m,callback:W};ce.push(De);const Ve=N(this._engine.statesByElement,v,new Map);return Ve.has(i)||(rr(v,Qe),rr(v,Qe+"-"+i),Ve.set(i,Io)),()=>{this._engine.afterFlush(()=>{const qe=ce.indexOf(De);qe>=0&&ce.splice(qe,1),this._triggers.has(i)||Ve.delete(i)})}}register(v,i){return!this._triggers.has(v)&&(this._triggers.set(v,i),!0)}_getTrigger(v){const i=this._triggers.get(v);if(!i)throw function S(c){return new e.wOt(3401,!1)}();return i}trigger(v,i,m,W=!0){const ce=this._getTrigger(i),De=new ba(this.id,i,v);let Ve=this._engine.statesByElement.get(v);Ve||(rr(v,Qe),rr(v,Qe+"-"+i),this._engine.statesByElement.set(v,Ve=new Map));let qe=Ve.get(i);const et=new qi(m,this.id);if(!(m&&m.hasOwnProperty("value"))&&qe&&et.absorbOptions(qe.options),Ve.set(i,et),qe||(qe=Io),et.value!==Vr&&qe.value===et.value){if(!function Na(c,v){const i=Object.keys(c),m=Object.keys(v);if(i.length!=m.length)return!1;for(let W=0;W{wt(v,Xt),_t(v,pi)})}return}const Pt=N(this._engine.playersByElement,v,[]);Pt.forEach(hi=>{hi.namespaceId==this.id&&hi.triggerName==i&&hi.queued&&hi.destroy()});let Wt=ce.matchTransition(qe.value,et.value,v,et.params),Zt=!1;if(!Wt){if(!W)return;Wt=ce.fallbackTransition,Zt=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:v,triggerName:i,transition:Wt,fromState:qe,toState:et,player:De,isFallbackTransition:Zt}),Zt||(rr(v,ll),De.onStart(()=>{cs(v,ll)})),De.onDone(()=>{let hi=this.players.indexOf(De);hi>=0&&this.players.splice(hi,1);const Xt=this._engine.playersByElement.get(v);if(Xt){let pi=Xt.indexOf(De);pi>=0&&Xt.splice(pi,1)}}),this.players.push(De),Pt.push(De),De}deregister(v){this._triggers.delete(v),this._engine.statesByElement.forEach(i=>i.delete(v)),this._elementListeners.forEach((i,m)=>{this._elementListeners.set(m,i.filter(W=>W.name!=v))})}clearElementCache(v){this._engine.statesByElement.delete(v),this._elementListeners.delete(v);const i=this._engine.playersByElement.get(v);i&&(i.forEach(m=>m.destroy()),this._engine.playersByElement.delete(v))}_signalRemovalForInnerTriggers(v,i){const m=this._engine.driver.query(v,st,!0);m.forEach(W=>{if(W[Us])return;const ce=this._engine.fetchNamespacesByElement(W);ce.size?ce.forEach(De=>De.triggerLeaveAnimation(W,i,!1,!0)):this.clearElementCache(W)}),this._engine.afterFlushAnimationsDone(()=>m.forEach(W=>this.clearElementCache(W)))}triggerLeaveAnimation(v,i,m,W){const ce=this._engine.statesByElement.get(v),De=new Map;if(ce){const Ve=[];if(ce.forEach((qe,et)=>{if(De.set(et,qe.value),this._triggers.has(et)){const gt=this.trigger(v,et,Vr,W);gt&&Ve.push(gt)}}),Ve.length)return this._engine.markElementAsRemoved(this.id,v,!0,i,De),m&&se(Ve).onDone(()=>this._engine.processLeaveNode(v)),!0}return!1}prepareLeaveAnimationListeners(v){const i=this._elementListeners.get(v),m=this._engine.statesByElement.get(v);if(i&&m){const W=new Set;i.forEach(ce=>{const De=ce.name;if(W.has(De))return;W.add(De);const qe=this._triggers.get(De).fallbackTransition,et=m.get(De)||Io,gt=new qi(Vr),Mt=new ba(this.id,De,v);this._engine.totalQueuedPlayers++,this._queue.push({element:v,triggerName:De,transition:qe,fromState:et,toState:gt,player:Mt,isFallbackTransition:!0})})}}removeNode(v,i){const m=this._engine;if(v.childElementCount&&this._signalRemovalForInnerTriggers(v,i),this.triggerLeaveAnimation(v,i,!0))return;let W=!1;if(m.totalAnimations){const ce=m.players.length?m.playersByQueriedElement.get(v):[];if(ce&&ce.length)W=!0;else{let De=v;for(;De=De.parentNode;)if(m.statesByElement.get(De)){W=!0;break}}}if(this.prepareLeaveAnimationListeners(v),W)m.markElementAsRemoved(this.id,v,!1,i);else{const ce=v[Us];(!ce||ce===ga)&&(m.afterFlush(()=>this.clearElementCache(v)),m.destroyInnerAnimations(v),m._onRemovalComplete(v,i))}}insertNode(v,i){rr(v,this._hostClassName)}drainQueuedTransitions(v){const i=[];return this._queue.forEach(m=>{const W=m.player;if(W.destroyed)return;const ce=m.element,De=this._elementListeners.get(ce);De&&De.forEach(Ve=>{if(Ve.name==m.triggerName){const qe=x(ce,m.triggerName,m.fromState.value,m.toState.value);qe._data=v,X(m.player,Ve.phase,qe,Ve.callback)}}),W.markedForDestroy?this._engine.afterFlush(()=>{W.destroy()}):i.push(m)}),this._queue=[],i.sort((m,W)=>{const ce=m.transition.ast.depCount,De=W.transition.ast.depCount;return 0==ce||0==De?ce-De:this._engine.driver.containsElement(m.element,W.element)?1:-1})}destroy(v){this.players.forEach(i=>i.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,v)}}class vo{_onRemovalComplete(v,i){this.onRemovalComplete(v,i)}constructor(v,i,m,W){this.bodyNode=v,this.driver=i,this._normalizer=m,this.scheduler=W,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(ce,De)=>{}}get queuedPlayers(){const v=[];return this._namespaceList.forEach(i=>{i.players.forEach(m=>{m.queued&&v.push(m)})}),v}createNamespace(v,i){const m=new ma(v,i,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,i)?this._balanceNamespaceList(m,i):(this.newHostElements.set(i,m),this.collectEnterElement(i)),this._namespaceLookup[v]=m}_balanceNamespaceList(v,i){const m=this._namespaceList,W=this.namespacesByHostElement;if(m.length-1>=0){let De=!1,Ve=this.driver.getParentElement(i);for(;Ve;){const qe=W.get(Ve);if(qe){const et=m.indexOf(qe);m.splice(et+1,0,v),De=!0;break}Ve=this.driver.getParentElement(Ve)}De||m.unshift(v)}else m.push(v);return W.set(i,v),v}register(v,i){let m=this._namespaceLookup[v];return m||(m=this.createNamespace(v,i)),m}registerTrigger(v,i,m){let W=this._namespaceLookup[v];W&&W.register(i,m)&&this.totalAnimations++}destroy(v,i){v&&(this.afterFlush(()=>{}),this.afterFlushAnimationsDone(()=>{const m=this._fetchNamespace(v);this.namespacesByHostElement.delete(m.hostElement);const W=this._namespaceList.indexOf(m);W>=0&&this._namespaceList.splice(W,1),m.destroy(i),delete this._namespaceLookup[v]}))}_fetchNamespace(v){return this._namespaceLookup[v]}fetchNamespacesByElement(v){const i=new Set,m=this.statesByElement.get(v);if(m)for(let W of m.values())if(W.namespaceId){const ce=this._fetchNamespace(W.namespaceId);ce&&i.add(ce)}return i}trigger(v,i,m,W){if(tr(i)){const ce=this._fetchNamespace(v);if(ce)return ce.trigger(i,m,W),!0}return!1}insertNode(v,i,m,W){if(!tr(i))return;const ce=i[Us];if(ce&&ce.setForRemoval){ce.setForRemoval=!1,ce.setForMove=!0;const De=this.collectedLeaveElements.indexOf(i);De>=0&&this.collectedLeaveElements.splice(De,1)}if(v){const De=this._fetchNamespace(v);De&&De.insertNode(i,m)}W&&this.collectEnterElement(i)}collectEnterElement(v){this.collectedEnterElements.push(v)}markElementAsDisabled(v,i){i?this.disabledNodes.has(v)||(this.disabledNodes.add(v),rr(v,Ra)):this.disabledNodes.has(v)&&(this.disabledNodes.delete(v),cs(v,Ra))}removeNode(v,i,m){if(tr(i)){this.scheduler?.notify();const W=v?this._fetchNamespace(v):null;W?W.removeNode(i,m):this.markElementAsRemoved(v,i,!1,m);const ce=this.namespacesByHostElement.get(i);ce&&ce.id!==v&&ce.removeNode(i,m)}else this._onRemovalComplete(i,m)}markElementAsRemoved(v,i,m,W,ce){this.collectedLeaveElements.push(i),i[Us]={namespaceId:v,setForRemoval:W,hasAnimation:m,removedBeforeQueried:!1,previousTriggersValues:ce}}listen(v,i,m,W,ce){return tr(i)?this._fetchNamespace(v).listen(i,m,W,ce):()=>{}}_buildInstruction(v,i,m,W,ce){return v.transition.build(this.driver,v.element,v.fromState.value,v.toState.value,m,W,v.fromState.options,v.toState.options,i,ce)}destroyInnerAnimations(v){let i=this.driver.query(v,st,!0);i.forEach(m=>this.destroyActiveAnimationsForElement(m)),0!=this.playersByQueriedElement.size&&(i=this.driver.query(v,pt,!0),i.forEach(m=>this.finishActiveQueriedAnimationOnElement(m)))}destroyActiveAnimationsForElement(v){const i=this.playersByElement.get(v);i&&i.forEach(m=>{m.queued?m.markedForDestroy=!0:m.destroy()})}finishActiveQueriedAnimationOnElement(v){const i=this.playersByQueriedElement.get(v);i&&i.forEach(m=>m.finish())}whenRenderingDone(){return new Promise(v=>{if(this.players.length)return se(this.players).onDone(()=>v());v()})}processLeaveNode(v){const i=v[Us];if(i&&i.setForRemoval){if(v[Us]=ga,i.namespaceId){this.destroyInnerAnimations(v);const m=this._fetchNamespace(i.namespaceId);m&&m.clearElementCache(v)}this._onRemovalComplete(v,i.setForRemoval)}v.classList?.contains(Ra)&&this.markElementAsDisabled(v,!1),this.driver.query(v,".ng-animate-disabled",!0).forEach(m=>{this.markElementAsDisabled(m,!1)})}flush(v=-1){let i=[];if(this.newHostElements.size&&(this.newHostElements.forEach((m,W)=>this._balanceNamespaceList(m,W)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let m=0;mm()),this._flushFns=[],this._whenQuietFns.length){const m=this._whenQuietFns;this._whenQuietFns=[],i.length?se(i).onDone(()=>{m.forEach(W=>W())}):m.forEach(W=>W())}}reportError(v){throw function j(c){return new e.wOt(3402,!1)}()}_flushAnimations(v,i){const m=new Xi,W=[],ce=new Map,De=[],Ve=new Map,qe=new Map,et=new Map,gt=new Set;this.disabledNodes.forEach(yi=>{gt.add(yi);const Ei=this.driver.query(yi,".ng-animate-queued",!0);for(let ji=0;ji{const ji=Ze+hi++;Zt.set(Ei,ji),yi.forEach(Wi=>rr(Wi,ji))});const Xt=[],pi=new Set,Ci=new Set;for(let yi=0;yipi.add(Wi)):Ci.add(Ei))}const gi=new Map,ki=Mr(Pt,Array.from(pi));ki.forEach((yi,Ei)=>{const ji=lt+hi++;gi.set(Ei,ji),yi.forEach(Wi=>rr(Wi,ji))}),v.push(()=>{Wt.forEach((yi,Ei)=>{const ji=Zt.get(Ei);yi.forEach(Wi=>cs(Wi,ji))}),ki.forEach((yi,Ei)=>{const ji=gi.get(Ei);yi.forEach(Wi=>cs(Wi,ji))}),Xt.forEach(yi=>{this.processLeaveNode(yi)})});const Bi=[],Di=[];for(let yi=this._namespaceList.length-1;yi>=0;yi--)this._namespaceList[yi].drainQueuedTransitions(i).forEach(ji=>{const Wi=ji.player,Bn=ji.element;if(Bi.push(Wi),this.collectedEnterElements.length){const ts=Bn[Us];if(ts&&ts.setForMove){if(ts.previousTriggersValues&&ts.previousTriggersValues.has(ji.triggerName)){const Yr=ts.previousTriggersValues.get(ji.triggerName),Oi=this.statesByElement.get(ji.element);if(Oi&&Oi.has(ji.triggerName)){const fn=Oi.get(ji.triggerName);fn.value=Yr,Oi.set(ji.triggerName,fn)}}return void Wi.destroy()}}const es=!Mt||!this.driver.containsElement(Mt,Bn),Wn=gi.get(Bn),go=Zt.get(Bn),as=this._buildInstruction(ji,m,go,Wn,es);if(as.errors&&as.errors.length)return void Di.push(as);if(es)return Wi.onStart(()=>wt(Bn,as.fromStyles)),Wi.onDestroy(()=>_t(Bn,as.toStyles)),void W.push(Wi);if(ji.isFallbackTransition)return Wi.onStart(()=>wt(Bn,as.fromStyles)),Wi.onDestroy(()=>_t(Bn,as.toStyles)),void W.push(Wi);const Xr=[];as.timelines.forEach(ts=>{ts.stretchStartingKeyframe=!0,this.disabledNodes.has(ts.element)||Xr.push(ts)}),as.timelines=Xr,m.append(Bn,as.timelines),De.push({instruction:as,player:Wi,element:Bn}),as.queriedElements.forEach(ts=>N(Ve,ts,[]).push(Wi)),as.preStyleProps.forEach((ts,Yr)=>{if(ts.size){let Oi=qe.get(Yr);Oi||qe.set(Yr,Oi=new Set),ts.forEach((fn,zn)=>Oi.add(zn))}}),as.postStyleProps.forEach((ts,Yr)=>{let Oi=et.get(Yr);Oi||et.set(Yr,Oi=new Set),ts.forEach((fn,zn)=>Oi.add(zn))})});if(Di.length){const yi=[];Di.forEach(Ei=>{yi.push(function Y(c,v){return new e.wOt(3505,!1)}())}),Bi.forEach(Ei=>Ei.destroy()),this.reportError(yi)}const on=new Map,ln=new Map;De.forEach(yi=>{const Ei=yi.element;m.has(Ei)&&(ln.set(Ei,Ei),this._beforeAnimationBuild(yi.player.namespaceId,yi.instruction,on))}),W.forEach(yi=>{const Ei=yi.element;this._getPreviousPlayers(Ei,!1,yi.namespaceId,yi.triggerName,null).forEach(Wi=>{N(on,Ei,[]).push(Wi),Wi.destroy()})});const ps=Xt.filter(yi=>Po(yi,qe,et)),Nn=new Map;dl(Nn,this.driver,Ci,et,Z.kp).forEach(yi=>{Po(yi,qe,et)&&ps.push(yi)});const Un=new Map;Wt.forEach((yi,Ei)=>{dl(Un,this.driver,new Set(yi),qe,Z.FX)}),ps.forEach(yi=>{const Ei=Nn.get(yi),ji=Un.get(yi);Nn.set(yi,new Map([...Ei?.entries()??[],...ji?.entries()??[]]))});const Ri=[],Ji=[],Js={};De.forEach(yi=>{const{element:Ei,player:ji,instruction:Wi}=yi;if(m.has(Ei)){if(gt.has(Ei))return ji.onDestroy(()=>_t(Ei,Wi.toStyles)),ji.disabled=!0,ji.overrideTotalTime(Wi.totalTime),void W.push(ji);let Bn=Js;if(ln.size>1){let Wn=Ei;const go=[];for(;Wn=Wn.parentNode;){const as=ln.get(Wn);if(as){Bn=as;break}go.push(Wn)}go.forEach(as=>ln.set(as,Bn))}const es=this._buildAnimation(ji.namespaceId,Wi,on,ce,Un,Nn);if(ji.setRealPlayer(es),Bn===Js)Ri.push(ji);else{const Wn=this.playersByElement.get(Bn);Wn&&Wn.length&&(ji.parentPlayer=se(Wn)),W.push(ji)}}else wt(Ei,Wi.fromStyles),ji.onDestroy(()=>_t(Ei,Wi.toStyles)),Ji.push(ji),gt.has(Ei)&&W.push(ji)}),Ji.forEach(yi=>{const Ei=ce.get(yi.element);if(Ei&&Ei.length){const ji=se(Ei);yi.setRealPlayer(ji)}}),W.forEach(yi=>{yi.parentPlayer?yi.syncPlayerEvents(yi.parentPlayer):yi.destroy()});for(let yi=0;yi!es.destroyed);Bn.length?Dr(this,Ei,Bn):this.processLeaveNode(Ei)}return Xt.length=0,Ri.forEach(yi=>{this.players.push(yi),yi.onDone(()=>{yi.destroy();const Ei=this.players.indexOf(yi);this.players.splice(Ei,1)}),yi.play()}),Ri}afterFlush(v){this._flushFns.push(v)}afterFlushAnimationsDone(v){this._whenQuietFns.push(v)}_getPreviousPlayers(v,i,m,W,ce){let De=[];if(i){const Ve=this.playersByQueriedElement.get(v);Ve&&(De=Ve)}else{const Ve=this.playersByElement.get(v);if(Ve){const qe=!ce||ce==Vr;Ve.forEach(et=>{et.queued||!qe&&et.triggerName!=W||De.push(et)})}}return(m||W)&&(De=De.filter(Ve=>!(m&&m!=Ve.namespaceId||W&&W!=Ve.triggerName))),De}_beforeAnimationBuild(v,i,m){const ce=i.element,De=i.isRemovalTransition?void 0:v,Ve=i.isRemovalTransition?void 0:i.triggerName;for(const qe of i.timelines){const et=qe.element,gt=et!==ce,Mt=N(m,et,[]);this._getPreviousPlayers(et,gt,De,Ve,i.toState).forEach(Wt=>{const Zt=Wt.getRealPlayer();Zt.beforeDestroy&&Zt.beforeDestroy(),Wt.destroy(),Mt.push(Wt)})}wt(ce,i.fromStyles)}_buildAnimation(v,i,m,W,ce,De){const Ve=i.triggerName,qe=i.element,et=[],gt=new Set,Mt=new Set,Pt=i.timelines.map(Zt=>{const hi=Zt.element;gt.add(hi);const Xt=hi[Us];if(Xt&&Xt.removedBeforeQueried)return new Z.sf(Zt.duration,Zt.delay);const pi=hi!==qe,Ci=function qo(c){const v=[];return va(c,v),v}((m.get(hi)||kr).map(on=>on.getRealPlayer())).filter(on=>!!on.element&&on.element===hi),gi=ce.get(hi),ki=De.get(hi),Bi=w(this._normalizer,Zt.keyframes,gi,ki),Di=this._buildPlayer(Zt,Bi,Ci);if(Zt.subTimeline&&W&&Mt.add(hi),pi){const on=new ba(v,Ve,hi);on.setRealPlayer(Di),et.push(on)}return Di});et.forEach(Zt=>{N(this.playersByQueriedElement,Zt.element,[]).push(Zt),Zt.onDone(()=>function cl(c,v,i){let m=c.get(v);if(m){if(m.length){const W=m.indexOf(i);m.splice(W,1)}0==m.length&&c.delete(v)}return m}(this.playersByQueriedElement,Zt.element,Zt))}),gt.forEach(Zt=>rr(Zt,kt));const Wt=se(Pt);return Wt.onDestroy(()=>{gt.forEach(Zt=>cs(Zt,kt)),_t(qe,i.toStyles)}),Mt.forEach(Zt=>{N(W,Zt,[]).push(Wt)}),Wt}_buildPlayer(v,i,m){return i.length>0?this.driver.animate(v.element,i,v.duration,v.delay,v.easing,m):new Z.sf(v.duration,v.delay)}}class ba{constructor(v,i,m){this.namespaceId=v,this.triggerName=i,this.element=m,this._player=new Z.sf,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.parentPlayer=null,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(v){this._containsRealPlayer||(this._player=v,this._queuedCallbacks.forEach((i,m)=>{i.forEach(W=>X(v,m,void 0,W))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(v.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(v){this.totalTime=v}syncPlayerEvents(v){const i=this._player;i.triggerCallback&&v.onStart(()=>i.triggerCallback("start")),v.onDone(()=>this.finish()),v.onDestroy(()=>this.destroy())}_queueEvent(v,i){N(this._queuedCallbacks,v,[]).push(i)}onDone(v){this.queued&&this._queueEvent("done",v),this._player.onDone(v)}onStart(v){this.queued&&this._queueEvent("start",v),this._player.onStart(v)}onDestroy(v){this.queued&&this._queueEvent("destroy",v),this._player.onDestroy(v)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(v){this.queued||this._player.setPosition(v)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(v){const i=this._player;i.triggerCallback&&i.triggerCallback(v)}}function tr(c){return c&&1===c.nodeType}function zr(c,v){const i=c.style.display;return c.style.display=v??"none",i}function dl(c,v,i,m,W){const ce=[];i.forEach(qe=>ce.push(zr(qe)));const De=[];m.forEach((qe,et)=>{const gt=new Map;qe.forEach(Mt=>{const Pt=v.computeStyle(et,Mt,W);gt.set(Mt,Pt),(!Pt||0==Pt.length)&&(et[Us]=Is,De.push(et))}),c.set(et,gt)});let Ve=0;return i.forEach(qe=>zr(qe,ce[Ve++])),De}function Mr(c,v){const i=new Map;if(c.forEach(Ve=>i.set(Ve,[])),0==v.length)return i;const W=new Set(v),ce=new Map;function De(Ve){if(!Ve)return 1;let qe=ce.get(Ve);if(qe)return qe;const et=Ve.parentNode;return qe=i.has(et)?et:W.has(et)?1:De(et),ce.set(Ve,qe),qe}return v.forEach(Ve=>{const qe=De(Ve);1!==qe&&i.get(qe).push(Ve)}),i}function rr(c,v){c.classList?.add(v)}function cs(c,v){c.classList?.remove(v)}function Dr(c,v,i){se(i).onDone(()=>c.processLeaveNode(v))}function va(c,v){for(let i=0;iW.add(ce)):v.set(c,m),i.delete(c),!0}class Fa{constructor(v,i,m,W){this._driver=i,this._normalizer=m,this._triggerCache={},this.onRemovalComplete=(ce,De)=>{},this._transitionEngine=new vo(v.body,i,m,W),this._timelineEngine=new yr(v.body,i,m),this._transitionEngine.onRemovalComplete=(ce,De)=>this.onRemovalComplete(ce,De)}registerTrigger(v,i,m,W,ce){const De=v+"-"+W;let Ve=this._triggerCache[De];if(!Ve){const qe=[],gt=xt(this._driver,ce,qe,[]);if(qe.length)throw function y(c,v){return new e.wOt(3404,!1)}();Ve=function Qr(c,v,i){return new ol(c,v,i)}(W,gt,this._normalizer),this._triggerCache[De]=Ve}this._transitionEngine.registerTrigger(i,W,Ve)}register(v,i){this._transitionEngine.register(v,i)}destroy(v,i){this._transitionEngine.destroy(v,i)}onInsert(v,i,m,W){this._transitionEngine.insertNode(v,i,m,W)}onRemove(v,i,m){this._transitionEngine.removeNode(v,i,m)}disableAnimations(v,i){this._transitionEngine.markElementAsDisabled(v,i)}process(v,i,m,W){if("@"==m.charAt(0)){const[ce,De]=R(m);this._timelineEngine.command(ce,i,De,W)}else this._transitionEngine.trigger(v,i,m,W)}listen(v,i,m,W,ce){if("@"==m.charAt(0)){const[De,Ve]=R(m);return this._timelineEngine.listen(De,i,Ve,ce)}return this._transitionEngine.listen(v,i,m,W,ce)}flush(v=-1){this._transitionEngine.flush(v)}get players(){return[...this._transitionEngine.players,...this._timelineEngine.players]}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}afterFlushAnimationsDone(v){this._transitionEngine.afterFlushAnimationsDone(v)}}class ya{static#e=this.initialStylesByElement=new WeakMap;constructor(v,i,m){this._element=v,this._startStyles=i,this._endStyles=m,this._state=0;let W=ya.initialStylesByElement.get(v);W||ya.initialStylesByElement.set(v,W=new Map),this._initialStyles=W}start(){this._state<1&&(this._startStyles&&_t(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(_t(this._element,this._initialStyles),this._endStyles&&(_t(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(ya.initialStylesByElement.delete(this._element),this._startStyles&&(wt(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(wt(this._element,this._endStyles),this._endStyles=null),_t(this._element,this._initialStyles),this._state=3)}}function Ys(c){let v=null;return c.forEach((i,m)=>{(function Jr(c){return"display"===c||"position"===c})(m)&&(v=v||new Map,v.set(m,i))}),v}class Gr{constructor(v,i,m,W){this.element=v,this.keyframes=i,this.options=m,this._specialStyles=W,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this._originalOnDoneFns=[],this._originalOnStartFns=[],this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,this._duration=m.duration,this._delay=m.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(v=>v()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const v=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,v,this.options),this._finalKeyframe=v.length?v[v.length-1]:new Map;const i=()=>this._onFinish();this.domPlayer.addEventListener("finish",i),this.onDestroy(()=>{this.domPlayer.removeEventListener("finish",i)})}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(v){const i=[];return v.forEach(m=>{i.push(Object.fromEntries(m))}),i}_triggerWebAnimation(v,i,m){return v.animate(this._convertKeyframesToObject(i),m)}onStart(v){this._originalOnStartFns.push(v),this._onStartFns.push(v)}onDone(v){this._originalOnDoneFns.push(v),this._onDoneFns.push(v)}onDestroy(v){this._onDestroyFns.push(v)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(v=>v()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(v=>v()),this._onDestroyFns=[])}setPosition(v){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=v*this.time}getPosition(){return+(this.domPlayer.currentTime??0)/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const v=new Map;this.hasStarted()&&this._finalKeyframe.forEach((m,W)=>{"offset"!==W&&v.set(W,this._finished?m:dn(this.element,W))}),this.currentSnapshot=v}triggerCallback(v){const i="start"===v?this._onStartFns:this._onDoneFns;i.forEach(m=>m()),i.length=0}}class eo{validateStyleProperty(v){return!0}validateAnimatableStyleProperty(v){return!0}matchesElement(v,i){return!1}containsElement(v,i){return Fe(v,i)}getParentElement(v){return q(v)}query(v,i,m){return oe(v,i,m)}computeStyle(v,i,m){return dn(v,i)}animate(v,i,m,W,ce,De=[]){const qe={duration:m,delay:W,fill:0==W?"both":"forwards"};ce&&(qe.easing=ce);const et=new Map,gt=De.filter(Wt=>Wt instanceof Gr);(function ls(c,v){return 0===c||0===v})(m,W)&>.forEach(Wt=>{Wt.currentSnapshot.forEach((Zt,hi)=>et.set(hi,Zt))});let Mt=function Dt(c){return c.length?c[0]instanceof Map?c:c.map(v=>new Map(Object.entries(v))):[]}(i).map(Wt=>new Map(Wt));Mt=function fs(c,v,i){if(i.size&&v.length){let m=v[0],W=[];if(i.forEach((ce,De)=>{m.has(De)||W.push(De),m.set(De,ce)}),W.length)for(let ce=1;ceDe.set(Ve,dn(c,Ve)))}}return v}(v,Mt,et);const Pt=function Ba(c,v){let i=null,m=null;return Array.isArray(v)&&v.length?(i=Ys(v[0]),v.length>1&&(m=Ys(v[v.length-1]))):v instanceof Map&&(i=Ys(v)),i||m?new ya(c,i,m):null}(v,Mt);return new Gr(v,Mt,qe,Pt)}}const Lo="@.disabled";class xa{constructor(v,i,m,W){this.namespaceId=v,this.delegate=i,this.engine=m,this._onDestroy=W,this.\u0275type=0}get data(){return this.delegate.data}destroyNode(v){this.delegate.destroyNode?.(v)}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.engine.afterFlushAnimationsDone(()=>{queueMicrotask(()=>{this.delegate.destroy()})}),this._onDestroy?.()}createElement(v,i){return this.delegate.createElement(v,i)}createComment(v){return this.delegate.createComment(v)}createText(v){return this.delegate.createText(v)}appendChild(v,i){this.delegate.appendChild(v,i),this.engine.onInsert(this.namespaceId,i,v,!1)}insertBefore(v,i,m,W=!0){this.delegate.insertBefore(v,i,m),this.engine.onInsert(this.namespaceId,i,v,W)}removeChild(v,i,m){this.engine.onRemove(this.namespaceId,i,this.delegate)}selectRootElement(v,i){return this.delegate.selectRootElement(v,i)}parentNode(v){return this.delegate.parentNode(v)}nextSibling(v){return this.delegate.nextSibling(v)}setAttribute(v,i,m,W){this.delegate.setAttribute(v,i,m,W)}removeAttribute(v,i,m){this.delegate.removeAttribute(v,i,m)}addClass(v,i){this.delegate.addClass(v,i)}removeClass(v,i){this.delegate.removeClass(v,i)}setStyle(v,i,m,W){this.delegate.setStyle(v,i,m,W)}removeStyle(v,i,m){this.delegate.removeStyle(v,i,m)}setProperty(v,i,m){"@"==i.charAt(0)&&i==Lo?this.disableAnimations(v,!!m):this.delegate.setProperty(v,i,m)}setValue(v,i){this.delegate.setValue(v,i)}listen(v,i,m){return this.delegate.listen(v,i,m)}disableAnimations(v,i){this.engine.disableAnimations(v,i)}}class Qo extends xa{constructor(v,i,m,W,ce){super(i,m,W,ce),this.factory=v,this.namespaceId=i}setProperty(v,i,m){"@"==i.charAt(0)?"."==i.charAt(1)&&i==Lo?this.disableAnimations(v,m=void 0===m||!!m):this.engine.process(this.namespaceId,v,i.slice(1),m):this.delegate.setProperty(v,i,m)}listen(v,i,m){if("@"==i.charAt(0)){const W=function yo(c){switch(c){case"body":return document.body;case"document":return document;case"window":return window;default:return c}}(v);let ce=i.slice(1),De="";return"@"!=ce.charAt(0)&&([ce,De]=function ul(c){const v=c.indexOf(".");return[c.substring(0,v),c.slice(v+1)]}(ce)),this.engine.listen(this.namespaceId,W,ce,De,Ve=>{this.factory.scheduleListenerCallback(Ve._data||-1,m,Ve)})}return this.delegate.listen(v,i,m)}}class Ro{constructor(v,i,m){this.delegate=v,this.engine=i,this._zone=m,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,i.onRemovalComplete=(W,ce)=>{const De=ce?.parentNode(W);De&&ce.removeChild(De,W)}}createRenderer(v,i){const W=this.delegate.createRenderer(v,i);if(!v||!i?.data?.animation){const et=this._rendererCache;let gt=et.get(W);return gt||(gt=new xa("",W,this.engine,()=>et.delete(W)),et.set(W,gt)),gt}const ce=i.id,De=i.id+"-"+this._currentId;this._currentId++,this.engine.register(De,v);const Ve=et=>{Array.isArray(et)?et.forEach(Ve):this.engine.registerTrigger(ce,De,v,et.name,et)};return i.data.animation.forEach(Ve),new Qo(this,De,W,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){queueMicrotask(()=>{this._microtaskId++})}scheduleListenerCallback(v,i,m){if(v>=0&&vi(m));const W=this._animationCallbacksBuffer;0==W.length&&queueMicrotask(()=>{this._zone.run(()=>{W.forEach(ce=>{const[De,Ve]=ce;De(Ve)}),this._animationCallbacksBuffer=[]})}),W.push([i,m])}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}var Qi=He(60177);const ct=[{provide:Te,useFactory:function ja(){return new _s}},{provide:Fa,useClass:(()=>{class c extends Fa{constructor(i,m,W){super(i,m,W,(0,e.WQX)(e.An2,{optional:!0}))}ngOnDestroy(){this.flush()}static#e=this.\u0275fac=function(m){return new(m||c)(e.KVO(Qi.qQ),e.KVO(ye),e.KVO(Te))};static#t=this.\u0275prov=e.jDH({token:c,factory:c.\u0275fac})}return c})()},{provide:e._9s,useFactory:function ot(c,v,i){return new Ro(c,v,i)},deps:[M.B7,Fa,e.SKi]}],Ye=[{provide:ye,useFactory:()=>new eo},{provide:e.bc$,useValue:"BrowserAnimations"},...ct],vt=[{provide:ye,useClass:de},{provide:e.bc$,useValue:"NoopAnimations"},...ct];let Bt=(()=>{class c{static withConfig(i){return{ngModule:c,providers:i.disableAnimations?vt:Ye}}static#e=this.\u0275fac=function(m){return new(m||c)};static#t=this.\u0275mod=e.$C({type:c});static#i=this.\u0275inj=e.G2t({providers:Ye,imports:[M.Bb]})}return c})();var Er=He(38117),Zs=He(93887),Ar=He(20546),or=He(88652),Ir=He(19664),Vn=He(37542),pr=He(93331),ea=He(7673),oc=He(33669),Rl=He(27468),Yh=He(86648),Kh=He(84572),Dc=He(91986),io=He(5964),Zh=He(23294),Va=He(25558),Or=He(96354),Ec=He(70274),hn=He(88141),Rs=He(96697),Ss=He(39901),xo=He(73703);const qs=new e.nKC("MATOMO_ROUTER_CONFIGURATION"),pl={prependBaseHref:!0,trackPageTitle:!0,delay:0,exclude:[]},fl=new e.nKC("INTERNAL_ROUTER_CONFIGURATION",{factory:()=>{const{disabled:c,enableLinkTracking:v}=(0,e.WQX)(Vn.PI),i=(0,e.WQX)(qs,{optional:!0})||{};return{...pl,...i,enableLinkTracking:v,disabled:c}}}),gl=new e.nKC("MATOMO_ROUTER_INTERCEPTORS");function Ac(c){return{provide:gl,multi:!0,useClass:c}}function ac(c){return c?c.map(Ac):[]}new e.nKC("MATOMO_ROUTE_DATA_KEY",{providedIn:"root",factory:()=>"matomo"});const Bl=new e.nKC("MATOMO_PAGE_TITLE_PROVIDER",{factory:()=>new ir((0,e.WQX)(M.hE))});class ir{constructor(v){this.title=v}getCurrentPageTitle(v){return(0,ea.of)(this.title.getTitle())}}const Lc=new e.nKC("MATOMO_PAGE_URL_PROVIDER",{factory:()=>new _a((0,e.WQX)(fl),(0,e.WQX)(Qi.kB,{optional:!0}),(0,e.WQX)(Qi.hb))});class _a{constructor(v,i,m){this.config=v,this.baseHref=i,this.locationStrategy=m}getCurrentPageUrl(v){const i=this.config.prependBaseHref?this.getBaseHrefWithoutTrailingSlash()+v.urlAfterRedirects:v.urlAfterRedirects;return(0,ea.of)(i)}getBaseHrefWithoutTrailingSlash(){return function Fo(c){return c.endsWith("/")?c.slice(0,-1):c}(this.baseHref??this.locationStrategy.getBaseHref()??"")}}function Fs(c){return c instanceof pr.wF}function Bs(c){return"string"==typeof c?new RegExp(c):c}let _o=(()=>{class c{constructor(i,m,W,ce,De,Ve){if(this.router=i,this.config=m,this.pageTitleProvider=W,this.pageUrlProvider=ce,this.tracker=De,this.interceptors=Ve,this.initialize=(0,Vn.MH)(()=>{if(this.config.disabled)return;const qe=-1===this.config.delay?oc.D:(0,Dc.c)(this.config.delay);this.router.events.pipe((0,io.p)(Fs),(0,io.p)(function bl(c){const v=function ta(c){return c?Array.isArray(c)?c.map(Bs):[Bs(c)]:[]}(c);return i=>!v.some(m=>i.urlAfterRedirects.match(m))}(this.config.exclude)),function Nl(c,v){return(0,Zh.F)((i,m)=>v?v(i[c],m[c]):i[c]===m[c])}("urlAfterRedirects"),qe,(0,Va.n)(et=>this.presetPageTitleAndUrl(et).pipe((0,Or.T)(({pageUrl:gt})=>({pageUrl:gt,event:et})))),(0,Ec.H)(({event:et,pageUrl:gt})=>this.callInterceptors(et).pipe((0,hn.M)(()=>this.trackPageView(gt))))).subscribe()},"MatomoRouter has already been initialized"),Ve&&!Array.isArray(Ve))throw function Pc(){return new Error('An invalid MATOMO_ROUTER_INTERCEPTORS provider was configured. Did you forget to set "multi: true" ?')}()}init(){this.initialize()}callInterceptors(i){return this.interceptors?(0,Rl.p)(this.interceptors.map(m=>{const W=m.beforePageTrack(i);return(null==W?(0,ea.of)(void 0):(0,Yh.H)(W)).pipe((0,Rs.s)(1),(0,Ss.U)(void 0))})).pipe((0,xo.u)(void 0),(0,Ss.U)(void 0)):(0,ea.of)(void 0)}presetPageTitleAndUrl(i){const m=this.config.trackPageTitle?this.pageTitleProvider.getCurrentPageTitle(i).pipe((0,hn.M)(ce=>this.tracker.setDocumentTitle(ce))):(0,ea.of)(void 0),W=this.pageUrlProvider.getCurrentPageUrl(i).pipe((0,hn.M)(ce=>this.tracker.setCustomUrl(ce)));return(0,Kh.z)([m,W]).pipe((0,Or.T)(([ce,De])=>({pageUrl:De})))}trackPageView(i){this.tracker.trackPageView(),this.config.enableLinkTracking&&this.tracker.enableLinkTracking("enable-pseudo"===this.config.enableLinkTracking),this.tracker.setReferrerUrl(i)}static#e=this.\u0275fac=function(m){return new(m||c)(e.KVO(pr.Ix),e.KVO(fl),e.KVO(Bl),e.KVO(Lc),e.KVO(Vn.kA),e.KVO(gl,8))};static#t=this.\u0275prov=e.jDH({token:c,factory:c.\u0275fac,providedIn:"root"})}return c})(),jl=(()=>{class c{constructor(i,m,W){this.router=i,!m&&!W&&this.router.initialize()}static forRoot(i={}){return{ngModule:c,providers:[{provide:qs,useValue:i},ac(i.interceptors)]}}static#e=this.\u0275fac=function(m){return new(m||c)(e.KVO(_o),e.KVO(c,12),e.KVO((0,e.Rfq)(()=>Rc),12))};static#t=this.\u0275mod=e.$C({type:c});static#i=this.\u0275inj=e.G2t({providers:[{provide:Vn.HU,useValue:!0}]})}return c})(),Rc=(()=>{class c{constructor(i,m,W){this.router=i,!m&&!W&&this.router.initialize()}static forRoot(i={}){return{ngModule:c,providers:[{provide:qs,useValue:i},ac(i.interceptors)]}}static#e=this.\u0275fac=function(m){return new(m||c)(e.KVO(_o),e.KVO(jl,12),e.KVO((0,e.Rfq)(()=>c),12))};static#t=this.\u0275mod=e.$C({type:c});static#i=this.\u0275inj=e.G2t({providers:[{provide:Vn.HU,useValue:!0}]})}return c})();var vl=He(45794),_r=He(41584),Ga=He(39974),ia=He(54360),Hr=He(58750);function na(c=1/0){let v;v=c&&"object"==typeof c?c:{count:c};const{count:i=1/0,delay:m,resetOnSuccess:W=!1}=v;return i<=0?oc.D:(0,Ga.N)((ce,De)=>{let qe,Ve=0;const et=()=>{let gt=!1;qe=ce.subscribe((0,ia._)(De,Mt=>{W&&(Ve=0),De.next(Mt)},void 0,Mt=>{if(Ve++{qe?(qe.unsubscribe(),qe=null,et()):gt=!0};if(null!=m){const Wt="number"==typeof m?(0,_r.O)(m):(0,Hr.Tg)(m(Mt,Ve)),Zt=(0,ia._)(De,()=>{Zt.unsubscribe(),Pt()},()=>{De.complete()});Wt.subscribe(Zt)}else Pt()}else De.error(Mt)})),gt&&(qe.unsubscribe(),qe=null,et())};et()})}var Ha=He(97647),sa=He(56977),Ge=He(28990),ut=He(38852),Ke=He(3366),at=He(89417);const Et=()=>["/admin"],qt=()=>({action:"plugin"}),ci=()=>({action:"pairing"}),Pi=()=>({action:"group"}),Xn=()=>({action:"coordinator"}),Qn=()=>["/admin/firmware"],os=()=>["/tools/error"];function Sn(c,v){if(1&c){const i=e.RV6();e.j41(0,"li",84),e.bIt("click",function(){e.eBV(i);const W=e.XpG();return e.Njj(W.toggleMenu())}),e.EFF(1,"\n "),e.nrm(2,"i",85),e.EFF(3," "),e.nrm(4,"span",86),e.EFF(5,"\n "),e.k0s()}}function us(c,v){if(1&c){const i=e.RV6();e.j41(0,"li",91),e.bIt("click",function(){e.eBV(i);const W=e.XpG(2);return e.Njj(W.toggleMenu())}),e.EFF(1,"\n "),e.nrm(2,"img",92),e.EFF(3,"\n "),e.k0s()}}function ns(c,v){if(1&c){const i=e.RV6();e.j41(0,"li",93),e.bIt("click",function(){e.eBV(i);const W=e.XpG(2);return e.Njj(W.toggleMenu())}),e.EFF(1,"\n "),e.nrm(2,"img",94),e.EFF(3,"\n "),e.k0s()}}function js(c,v){if(1&c&&(e.j41(0,"li",87),e.EFF(1,"\n "),e.nrm(2,"a",88),e.EFF(3,"\n "),e.j41(4,"ul",21),e.EFF(5,"\n "),e.DNE(6,us,4,0,"li",89),e.EFF(7,"\n "),e.DNE(8,ns,4,0,"li",90),e.EFF(9,"\n "),e.k0s(),e.EFF(10,"\n "),e.k0s()),2&c){const i=e.XpG();e.R7$(6),e.Y8G("ngIf",i.showManufacturerCasaia),e.R7$(2),e.Y8G("ngIf",i.showManufacturerZlinky)}}function Pr(c,v){1&c&&(e.j41(0,"div",95),e.EFF(1,"\n "),e.j41(2,"div",96),e.EFF(3,"\n "),e.j41(4,"div",97),e.EFF(5,"\n "),e.j41(6,"a",98),e.EFF(7,"\n "),e.nrm(8,"i",99),e.nI1(9,"translate"),e.nI1(10,"translate"),e.EFF(11,"\n "),e.k0s(),e.EFF(12,"\n "),e.k0s(),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n "),e.k0s()),2&c&&(e.R7$(6),e.Y8G("routerLink",e.lJ4(8,Et))("queryParams",e.lJ4(9,qt)),e.R7$(2),e.FS9("ngbPopover",e.bMT(9,4,"header.popover.text")),e.FS9("popoverTitle",e.bMT(10,6,"header.popover.title")))}function Hn(c,v){1&c&&(e.j41(0,"div",95),e.EFF(1,"\n "),e.j41(2,"div",96),e.EFF(3,"\n "),e.j41(4,"div",97),e.EFF(5,"\n "),e.j41(6,"a",100),e.EFF(7,"\n "),e.nrm(8,"i",101),e.nI1(9,"translate"),e.nI1(10,"translate"),e.EFF(11,"\n "),e.k0s(),e.EFF(12,"\n "),e.k0s(),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n "),e.k0s()),2&c&&(e.R7$(6),e.Y8G("routerLink",e.lJ4(7,os)),e.R7$(2),e.FS9("ngbPopover",e.bMT(9,3,"error.popover.text")),e.FS9("popoverTitle",e.bMT(10,5,"error.popover.title")))}function ui(c,v){if(1&c){const i=e.RV6();e.j41(0,"button",102),e.bIt("click",function(){const W=e.eBV(i).$implicit,ce=e.XpG();return e.Njj(ce.setLanguage(W))}),e.EFF(1,"\n "),e.nrm(2,"img",74),e.EFF(3,"\n "),e.k0s()}if(2&c){const i=v.$implicit;e.R7$(2),e.Mz_("src","assets/",i.flag,"",e.B4B)}}function zi(c,v){if(1&c){const i=e.RV6();e.j41(0,"button",102),e.bIt("click",function(){const W=e.eBV(i).$implicit,ce=e.XpG();return e.Njj(ce.setLanguage(W))}),e.EFF(1,"\n "),e.nrm(2,"img",74),e.EFF(3,"\n "),e.k0s()}if(2&c){const i=v.$implicit;e.R7$(2),e.Mz_("src","assets/",i.flag,"",e.B4B)}}let Yn=(()=>{class c extends Ge.U{headerService;toastr;i18nService;apiService;translate;menuHidden=!0;permitToJoin;permitChecked=!1;restart;showManufacturerCasaia;showManufacturerZlinky;logError;settings;settingsToSave=[];plugin;poll=!1;constructor(i,m,W,ce,De){super(),this.headerService=i,this.toastr=m,this.i18nService=W,this.apiService=ce,this.translate=De}ngOnInit(){setTimeout(()=>{this.plugin=JSON.parse(sessionStorage.getItem("plugin"))},500),this.subs.add(this.headerService.restart.subscribe(i=>{this.restart=i})),this.subs.add(this.headerService.showManufacturerCasaia.subscribe(i=>{this.showManufacturerCasaia=i})),this.subs.add(this.headerService.showManufacturerZlinky.subscribe(i=>{this.showManufacturerZlinky=i})),this.subs.add(this.headerService.logError.subscribe(i=>this.logError=i)),this.subs.add(this.headerService.polling.subscribe(i=>{this.poll=i,this.subs.add((0,_r.O)(1,Ar.c.refresh).pipe((0,Va.n)(()=>this.getPermitToJoin()),na(),(0,Ha.u)(),(0,sa.Q)(this.headerService.polling.pipe((0,io.p)(m=>!1===m)))).subscribe())})),this.poll||this.getPermitToJoin().subscribe(),this.apiService.getSettings().subscribe(i=>{this.settings=i,this.settings.forEach(m=>{this.settingsToSave=this.settingsToSave.concat(m.ListOfSettings)})})}permit(i){this.permitToJoin.PermitToJoin=i.currentTarget.checked?240:0,this.startStopPermitToJoin(this.permitToJoin)}startStopPermitToJoin(i){this.apiService.putPermitToJoin(i).subscribe(()=>{240===i.PermitToJoin?(i.PermitToJoin=0,setTimeout(()=>this.startStopPermitToJoin(i),24e4),this.toastr.success(this.translate.instant("admin.permittojoin.on.notify"))):(this.getPermitToJoin().subscribe(),this.toastr.success(this.translate.instant("admin.permittojoin.off.notify")))})}toggleMenu(){this.menuHidden=!this.menuHidden}setLanguage(i){this.i18nService.language=i.code,this.updateSettings(i.code)}get currentLanguage(){return this.i18nService.language}get currentFlag(){return this.languages.find(i=>i.code===this.currentLanguage).flag}get languages(){return this.i18nService.supportedLanguages}updateSettings(i){const m={};this.settingsToSave.forEach(W=>{const ce=W.Name;let De=W.current_value;"Lang"===ce&&(De=i),m[ce]={current:De}}),this.apiService.putSettings(m).subscribe()}getPermitToJoin(){return this.apiService.getPermitToJoin().pipe((0,Or.T)(i=>{this.permitToJoin=i,this.permitChecked=0!==i.PermitToJoin}))}static \u0275fac=function(m){return new(m||c)(e.rXU(ut.d),e.rXU(vl.tw),e.rXU(Er.W4),e.rXU(Ke.G),e.rXU(Ir.c$))};static \u0275cmp=e.VBU({type:c,selectors:[["app-header"]],features:[e.Vt3],decls:252,vars:32,consts:[[1,"p-2","navbar","navbar-expand-xl","navbar-light","bg-light","navbar-fixed-top'"],[1,"container-fluid"],["href","https://github.com/zigbeefordomoticz/Domoticz-Zigbee",1,"navbar-brand"],["src","assets/z4d_logo.png","alt","Logo",1,"img-responsive","logo"],["type","button","aria-controls","appNavigation","aria-expanded","!menuHidden","aria-label","Toggle navigation",1,"navbar-toggler","navbar-toggler-right",3,"click"],[1,"navbar-toggler-icon"],["id","appNavigation",1,"collapse","navbar-collapse","float-xs-none","h-100","justify-content-between",3,"ngbCollapse"],[1,"navbar-nav","h-100"],["ngbDropdown","","routerLinkActive","active",1,"dropdown"],["routerLink","/dashboard","routerLinkActive","active",1,"nav-item","nav-link","mx-2"],[1,"fas","fa-home"],["ngbDropdown","","routerLinkActive","active",1,"nav-item","dropdown"],["id","dropdown1","ngbDropdownToggle","","translate","management",1,"nav-link","nav-item","dropdown-toggle"],["ngbDropdownMenu","","aria-labelledby","dropdown1",1,"dropdown-menu"],["routerLink","/device","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-tablet","me-2"],["translate","device"],["routerLink","/group","routerLinkActive","active",1,"dropdown-item","nav-link","nav-item",3,"click"],[1,"fas","fa-layer-group","me-2"],["translate","group"],["id","dropdown2","ngbDropdownToggle","","translate","network",1,"nav-link","nav-item","dropdown-toggle"],["ngbDropdownMenu","","aria-labelledby","dropdown2",1,"dropdown-menu"],["routerLink","/network/topology","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-wifi","me-2"],["translate","network.topo"],["routerLink","/network/energy-level","routerLinkActive","active",1,"dropdown-item","nav-link","nav-item",3,"click"],[1,"fas","fa-broadcast-tower","me-2"],["translate","network.energy"],["id","dropdown4","ngbDropdownToggle","","translate","admin",1,"nav-link","nav-item","dropdown-toggle"],["ngbDropdownMenu","","aria-labelledby","dropdown4",1,"dropdown-menu"],["routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click","routerLink","queryParams"],[1,"fas","fa-satellite-dish","me-2"],["translate","admin.plugin"],[1,"fab","fa-usb","me-2"],["translate","admin.pairing"],["translate","admin.group"],[1,"fas","fa-user","me-2"],["translate","admin.coordinator"],["routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click","routerLink"],[1,"fas","fa-retweet","me-2"],["translate","admin.firmware"],["routerLink","/settings","routerLinkActive","active",1,"nav-item","nav-link","mx-2"],[1,"fas","fa-cog"],["translate",""],["id","dropdown3","ngbDropdownToggle","","translate","tools",1,"nav-link","nav-item","dropdown-toggle"],["ngbDropdownMenu","","aria-labelledby","dropdown3",1,"dropdown-menu"],["routerLink","/tools/link","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-toolbox","me-2"],["translate","tools.tools"],["routerLink","/tools/command","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-lightbulb","me-2"],["translate","tools.command"],["class","dropdown-item nav-item nav-link","routerLink","/tools/configure","routerLinkActive","active",3,"click",4,"ngIf"],["routerLink","/tools/binding","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-compress-arrows-alt","me-2"],["translate","tools.binding"],["routerLink","/tools/debug","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-wrench","me-2"],["translate","tools.debug"],["routerLink","/tools/error","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-bug","me-2"],["translate","tools.error"],["ngbDropdown","","routerLinkActive","active","class","nav-item dropdown test",4,"ngIf"],["routerLink","/about","routerLinkActive","active",1,"nav-item","nav-link","mx-2"],[1,"fas","fa-question-circle"],["class","navbar-nav ml-auto",4,"ngIf"],[1,"d-none","d-xl-block"],[1,"navbar-nav","ml-auto","d-flex","align-items-center"],[1,"nav-item","border-start","ps-3"],[1,"switch","switch-sm","me-2","pe-3"],["type","checkbox","id","switch-sm",3,"ngModelChange","click","ngModel"],["for","switch-sm","translate","admin.permittojoin.label",1,"mb-0"],["ngbDropdown","","placement","bottom",1,"nav-item","border-start"],["id","language-dropdown","ngbDropdownToggle","",1,"nav-link","ps-3"],[1,"img-responsive",2,"width","1.25rem",3,"src"],["ngbDropdownMenu","","aria-labelledby","language-dropdown"],["class","dropdown-item",3,"click",4,"ngFor","ngForOf"],[1,"d-xl-none"],[1,"navbar-nav"],[1,"nav-item","border-top","mt-1"],[1,"switch","switch-sm","mt-3"],["for","switch-sm","translate","admin.permittojoin.label"],["ngbDropdown","","placement","bottom",1,"mb-3","nav-item","border-top","mt-3"],["id","language-dropdown mt-3","ngbDropdownToggle","",1,"nav-link"],["routerLink","/tools/configure","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-user-cog","me-2"],["translate","tools.reporting.configure"],["ngbDropdown","","routerLinkActive","active",1,"nav-item","dropdown","test"],["id","dropdown2","ngbDropdownToggle","","translate","manufacturer",1,"nav-link","nav-item","dropdown-toggle"],["class","dropdown-item nav-item nav-link","routerLink","/manufacturer/casaia","routerLinkActive","active",3,"click",4,"ngIf"],["class","dropdown-item nav-item nav-link","routerLink","/manufacturer/zlinky","routerLinkActive","active",3,"click",4,"ngIf"],["routerLink","/manufacturer/casaia","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],["src","assets/logo-casa.svg",2,"width","50%","height","50%"],["routerLink","/manufacturer/zlinky","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],["src","https://lixee.fr/img/prestashop-logo-1599316711.jpg",2,"width","30%","height","30%"],[1,"navbar-nav","ml-auto"],["ngbDropdown","","placement","bottom",1,"nav-item","d-flex","align-items-center","border-left","pl-5"],[1,"me-3"],["routerLinkActive","active",1,"nav-item","nav-link","mx-2",3,"routerLink","queryParams"],["triggers","mouseenter:mouseleave",1,"fa","fa-2x","fa-exclamation-circle","blink",3,"ngbPopover","popoverTitle"],["routerLinkActive","active",1,"nav-item","nav-link","mx-2",3,"routerLink"],["triggers","mouseenter:mouseleave",1,"fa","fa-2x","fa-exclamation-triangle","blink",3,"ngbPopover","popoverTitle"],[1,"dropdown-item",3,"click"]],template:function(m,W){1&m&&(e.j41(0,"nav",0),e.EFF(1,"\n "),e.j41(2,"div",1),e.EFF(3,"\n "),e.j41(4,"a",2),e.EFF(5,"\n "),e.nrm(6,"img",3),e.EFF(7,"\n "),e.k0s(),e.EFF(8,"\n\n "),e.j41(9,"button",4),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(10,"\n "),e.nrm(11,"span",5),e.EFF(12,"\n "),e.k0s(),e.EFF(13,"\n\n "),e.j41(14,"div",6),e.EFF(15,"\n "),e.j41(16,"ul",7),e.EFF(17,"\n "),e.j41(18,"li",8),e.EFF(19,"\n "),e.j41(20,"a",9),e.EFF(21,"\n "),e.nrm(22,"i",10),e.EFF(23,"\n "),e.j41(24,"span"),e.EFF(25),e.k0s(),e.EFF(26,"\n "),e.k0s(),e.EFF(27,"\n "),e.k0s(),e.EFF(28,"\n "),e.j41(29,"li",11),e.EFF(30,"\n "),e.nrm(31,"a",12),e.EFF(32,"\n "),e.j41(33,"ul",13),e.EFF(34,"\n "),e.j41(35,"li",14),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(36,"\n "),e.nrm(37,"i",15),e.EFF(38," "),e.nrm(39,"span",16),e.EFF(40,"\n "),e.k0s(),e.EFF(41,"\n "),e.j41(42,"li",17),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(43,"\n "),e.nrm(44,"i",18),e.EFF(45," "),e.nrm(46,"span",19),e.EFF(47,"\n "),e.k0s(),e.EFF(48,"\n "),e.k0s(),e.EFF(49,"\n "),e.k0s(),e.EFF(50,"\n "),e.j41(51,"li",11),e.EFF(52,"\n "),e.nrm(53,"a",20),e.EFF(54,"\n "),e.j41(55,"ul",21),e.EFF(56,"\n "),e.j41(57,"li",22),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(58,"\n "),e.nrm(59,"i",23),e.EFF(60," "),e.nrm(61,"span",24),e.EFF(62,"\n "),e.k0s(),e.EFF(63,"\n "),e.j41(64,"li",25),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(65,"\n "),e.nrm(66,"i",26),e.EFF(67," "),e.nrm(68,"span",27),e.EFF(69,"\n "),e.k0s(),e.EFF(70,"\n "),e.k0s(),e.EFF(71,"\n "),e.k0s(),e.EFF(72,"\n\n "),e.j41(73,"li",11),e.EFF(74,"\n "),e.nrm(75,"a",28),e.EFF(76,"\n "),e.j41(77,"ul",29),e.EFF(78,"\n "),e.j41(79,"li",30),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(80,"\n "),e.nrm(81,"i",31),e.EFF(82," "),e.nrm(83,"span",32),e.EFF(84,"\n "),e.k0s(),e.EFF(85,"\n "),e.j41(86,"li",30),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(87,"\n "),e.nrm(88,"i",33),e.EFF(89," "),e.nrm(90,"span",34),e.EFF(91,"\n "),e.k0s(),e.EFF(92,"\n "),e.j41(93,"li",30),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(94,"\n "),e.nrm(95,"i",18),e.EFF(96," "),e.nrm(97,"span",35),e.EFF(98,"\n "),e.k0s(),e.EFF(99,"\n "),e.j41(100,"li",30),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(101,"\n "),e.nrm(102,"i",36),e.EFF(103," "),e.nrm(104,"span",37),e.EFF(105,"\n "),e.k0s(),e.EFF(106,"\n "),e.j41(107,"li",38),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(108,"\n "),e.nrm(109,"i",39),e.EFF(110," "),e.nrm(111,"span",40),e.EFF(112,"\n "),e.k0s(),e.EFF(113,"\n "),e.k0s(),e.EFF(114,"\n "),e.k0s(),e.EFF(115,"\n\n "),e.j41(116,"li",8),e.EFF(117,"\n "),e.j41(118,"a",41),e.EFF(119,"\n "),e.nrm(120,"i",42),e.EFF(121,"\n "),e.j41(122,"span",43),e.EFF(123,"settings"),e.k0s(),e.EFF(124,"\n "),e.k0s(),e.EFF(125,"\n "),e.k0s(),e.EFF(126,"\n "),e.j41(127,"li",11),e.EFF(128,"\n "),e.nrm(129,"a",44),e.EFF(130,"\n "),e.j41(131,"ul",45),e.EFF(132,"\n "),e.j41(133,"li",46),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(134,"\n "),e.nrm(135,"i",47),e.EFF(136," "),e.nrm(137,"span",48),e.EFF(138,"\n "),e.k0s(),e.EFF(139,"\n "),e.j41(140,"li",49),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(141,"\n "),e.nrm(142,"i",50),e.EFF(143," "),e.nrm(144,"span",51),e.EFF(145,"\n "),e.k0s(),e.EFF(146,"\n "),e.DNE(147,Sn,6,0,"li",52),e.EFF(148,"\n "),e.j41(149,"li",53),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(150,"\n "),e.nrm(151,"i",54),e.EFF(152," "),e.nrm(153,"span",55),e.EFF(154,"\n "),e.k0s(),e.EFF(155,"\n "),e.j41(156,"li",56),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(157,"\n "),e.nrm(158,"i",57),e.EFF(159," "),e.nrm(160,"span",58),e.EFF(161,"\n "),e.k0s(),e.EFF(162,"\n "),e.j41(163,"li",59),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(164,"\n "),e.nrm(165,"i",60),e.EFF(166," "),e.nrm(167,"span",61),e.EFF(168,"\n "),e.k0s(),e.EFF(169,"\n "),e.k0s(),e.EFF(170,"\n "),e.k0s(),e.EFF(171,"\n "),e.DNE(172,js,11,2,"li",62),e.EFF(173,"\n\n "),e.j41(174,"li",8),e.EFF(175,"\n "),e.j41(176,"a",63),e.EFF(177,"\n "),e.nrm(178,"i",64),e.EFF(179,"\n "),e.j41(180,"span",43),e.EFF(181,"About"),e.k0s(),e.EFF(182,"\n "),e.k0s(),e.EFF(183,"\n "),e.k0s(),e.EFF(184,"\n "),e.k0s(),e.EFF(185,"\n\n "),e.DNE(186,Pr,15,10,"div",65),e.EFF(187,"\n "),e.DNE(188,Hn,15,8,"div",65),e.EFF(189,"\n "),e.j41(190,"div",66),e.EFF(191,"\n "),e.j41(192,"div",67),e.EFF(193,"\n "),e.j41(194,"div",68),e.EFF(195,"\n "),e.j41(196,"div",69),e.EFF(197,"\n "),e.j41(198,"input",70),e.mxI("ngModelChange",function(De){return e.DH7(W.permitChecked,De)||(W.permitChecked=De),De}),e.bIt("click",function(De){return W.permit(De)}),e.k0s(),e.EFF(199,"\n "),e.nrm(200,"label",71),e.EFF(201,"\n "),e.k0s(),e.EFF(202,"\n "),e.k0s(),e.EFF(203,"\n "),e.j41(204,"div",72),e.EFF(205,"\n "),e.j41(206,"div"),e.EFF(207,"\n "),e.j41(208,"a",73),e.nrm(209,"img",74),e.EFF(210,"\n "),e.k0s(),e.EFF(211,"\n "),e.j41(212,"div",75),e.EFF(213,"\n "),e.DNE(214,ui,4,2,"button",76),e.EFF(215,"\n "),e.k0s(),e.EFF(216,"\n "),e.k0s(),e.EFF(217,"\n "),e.k0s(),e.EFF(218,"\n "),e.k0s(),e.EFF(219,"\n "),e.k0s(),e.EFF(220,"\n "),e.j41(221,"div",77),e.EFF(222,"\n "),e.j41(223,"div",78),e.EFF(224,"\n "),e.j41(225,"div",79),e.EFF(226,"\n "),e.j41(227,"div",80),e.EFF(228,"\n "),e.j41(229,"input",70),e.mxI("ngModelChange",function(De){return e.DH7(W.permitChecked,De)||(W.permitChecked=De),De}),e.bIt("click",function(De){return W.permit(De)}),e.k0s(),e.EFF(230,"\n "),e.nrm(231,"label",81),e.EFF(232,"\n "),e.k0s(),e.EFF(233,"\n "),e.k0s(),e.EFF(234,"\n "),e.j41(235,"div",82),e.EFF(236,"\n "),e.j41(237,"a",83),e.nrm(238,"img",74),e.EFF(239,"\n "),e.k0s(),e.EFF(240,"\n "),e.j41(241,"div",75),e.EFF(242,"\n "),e.DNE(243,zi,4,2,"button",76),e.EFF(244,"\n "),e.k0s(),e.EFF(245,"\n "),e.k0s(),e.EFF(246,"\n "),e.k0s(),e.EFF(247,"\n "),e.k0s(),e.EFF(248,"\n "),e.k0s(),e.EFF(249,"\n "),e.k0s(),e.EFF(250,"\n"),e.k0s(),e.EFF(251,"\n")),2&m&&(e.R7$(14),e.Y8G("ngbCollapse",W.menuHidden),e.R7$(11),e.JRh(null==W.plugin?null:W.plugin.Name),e.R7$(54),e.Y8G("routerLink",e.lJ4(23,Et))("queryParams",e.lJ4(24,qt)),e.R7$(7),e.Y8G("routerLink",e.lJ4(25,Et))("queryParams",e.lJ4(26,ci)),e.R7$(7),e.Y8G("routerLink",e.lJ4(27,Et))("queryParams",e.lJ4(28,Pi)),e.R7$(7),e.Y8G("routerLink",e.lJ4(29,Et))("queryParams",e.lJ4(30,Xn)),e.R7$(7),e.Y8G("routerLink",e.lJ4(31,Qn)),e.R7$(40),e.Y8G("ngIf",null==W.plugin?null:W.plugin.Zigpy),e.R7$(25),e.Y8G("ngIf",W.showManufacturerCasaia||W.showManufacturerZlinky),e.R7$(14),e.Y8G("ngIf",W.restart),e.R7$(2),e.Y8G("ngIf",W.logError),e.R7$(10),e.R50("ngModel",W.permitChecked),e.R7$(11),e.Mz_("src","assets/",W.currentFlag,"",e.B4B),e.R7$(5),e.Y8G("ngForOf",W.languages),e.R7$(15),e.R50("ngModel",W.permitChecked),e.R7$(9),e.Mz_("src","assets/",W.currentFlag,"",e.B4B),e.R7$(5),e.Y8G("ngForOf",W.languages))},dependencies:[Qi.Sq,Qi.bT,Ir.Mm,or.$G,or.tg,or.do,or.U0,or.ZM,at.Zm,at.BC,at.vS,pr.Wk,pr.wQ,Ir.D9],styles:[".navbar[_ngcontent-%COMP%]{margin-bottom:1rem}a[_ngcontent-%COMP%]:not([href]):not([tabindex]){cursor:pointer}.dropdown-menu[_ngcontent-%COMP%]{cursor:pointer}.logo[_ngcontent-%COMP%]{width:50px}li.test[_ngcontent-%COMP%] .dropdown-item.active[_ngcontent-%COMP%], li.test[_ngcontent-%COMP%] .dropdown-item[_ngcontent-%COMP%]:active{color:transparent;text-decoration:none;background-color:transparent}"]})}return c})();var gs=He(84412);let ks=(()=>{class c{reload=new gs.t(!1);constructor(){}setReload(i){this.reload.next(i)}static \u0275fac=function(m){return new(m||c)};static \u0275prov=e.jDH({token:c,factory:c.\u0275fac,providedIn:"root"})}return c})();function ar(c,v){1&c&&(e.qex(0),e.EFF(1,"\n "),e.bVm())}function Ta(c,v){if(1&c&&(e.j41(0,"span"),e.EFF(1),e.nI1(2,"translate"),e.nI1(3,"translate"),e.k0s()),2&c){const i=e.XpG(2);e.R7$(),e.LHq("",e.bMT(2,4,"dashboard.rxps")," : ",i.fork.pluginStats.Rxps,"\xa0\xa0\xa0",e.bMT(3,6,"dashboard.txps"),"\n : ",i.fork.pluginStats.Txps,"\xa0\xa0\xa0")}}function ms(c,v){if(1&c&&(e.j41(0,"span"),e.EFF(1),e.nI1(2,"translate"),e.nI1(3,"translate"),e.k0s()),2&c){const i=e.XpG(3);e.R7$(),e.LHq("",e.bMT(2,4,"dashboard.rxpm")," : ",i.fork.pluginStats.Rxpm,"\xa0\xa0\xa0",e.bMT(3,6,"dashboard.txpm"),"\n : ",i.fork.pluginStats.Txpm,"\xa0\xa0\xa0")}}function fr(c,v){if(1&c&&(e.j41(0,"span"),e.EFF(1),e.nI1(2,"translate"),e.nI1(3,"translate"),e.k0s()),2&c){const i=e.XpG(3);e.R7$(),e.LHq("",e.bMT(2,4,"dashboard.rxph")," : ",i.fork.pluginStats.Rxph,"\xa0\xa0\xa0",e.bMT(3,6,"dashboard.txph"),"\n : ",i.fork.pluginStats.Txph,"\xa0\xa0\xa0")}}function wo(c,v){if(1&c&&(e.EFF(0,"\n "),e.DNE(1,ms,4,8,"span",22),e.EFF(2,"\n\n "),e.DNE(3,fr,4,8,"ng-template",null,4,e.C5r),e.EFF(5,"\n ")),2&c){const i=e.sdS(4),m=e.XpG(2);e.R7$(),e.Y8G("ngIf",m.fork.pluginStats.Rxpm>=.5&&m.fork.pluginStats.Txpm>=.5)("ngIfElse",i)}}function en(c,v){if(1&c&&(e.j41(0,"div",23),e.EFF(1,"\n "),e.j41(2,"span"),e.EFF(3),e.nI1(4,"translate"),e.k0s(),e.EFF(5,"\n "),e.k0s()),2&c){const i=e.XpG(2);e.R7$(3),e.Lme("",e.bMT(4,2,"dashboard.health.group")," ",null==i.fork.pluginHealth?null:i.fork.pluginHealth.GroupStatus,"")}}function Bo(c,v){if(1&c&&(e.j41(0,"div",24),e.EFF(1,"\n "),e.nrm(2,"span",25),e.j41(3,"span"),e.EFF(4),e.k0s(),e.EFF(5,"\n "),e.k0s()),2&c){const i=e.XpG(2);e.R7$(4),e.Lme("",null==i.fork.pluginHealth?null:i.fork.pluginHealth.OTAupdateDevice," ",null==i.fork.pluginHealth?null:i.fork.pluginHealth.OTAupdateProgress,"")}}function cc(c,v){if(1&c&&(e.j41(0,"span"),e.EFF(1),e.k0s()),2&c){const i=e.XpG(3);e.R7$(),e.SpI("[",i.fork.plugin.CertifiedDbVersion,"]")}}function bs(c,v){if(1&c&&(e.j41(0,"div",26),e.EFF(1,"\n "),e.j41(2,"a",27),e.nI1(3,"translate"),e.EFF(4,"\n "),e.nrm(5,"span",28),e.EFF(6),e.DNE(7,cc,2,1,"span",29),e.EFF(8,"\n "),e.k0s(),e.EFF(9,"\n "),e.k0s()),2&c){const i=e.XpG(2),m=e.sdS(6);e.R7$(2),e.FS9("popoverTitle",e.bMT(3,4,"dashboard.plugin.update.available.title")),e.Y8G("ngbPopover",m),e.R7$(4),e.SpI("\n ",i.fork.plugin.PluginVersion,"\n "),e.R7$(),e.Y8G("ngIf",i.fork.plugin.CertifiedDbVersion)}}function Kn(c,v){if(1&c&&(e.j41(0,"div",30),e.EFF(1,"\n "),e.j41(2,"a",27),e.nI1(3,"translate"),e.EFF(4,"\n "),e.nrm(5,"span",31),e.EFF(6),e.k0s(),e.EFF(7,"\n "),e.k0s()),2&c){const i=e.XpG(2),m=e.sdS(3);e.R7$(2),e.FS9("popoverTitle",e.bMT(3,3,"dashboard.firmware.update.available.title")),e.Y8G("ngbPopover",m),e.R7$(4),e.SpI("",i.fork.plugin.DisplayFirmwareVersion,"\n ")}}function Sa(c,v){if(1&c&&(e.j41(0,"span"),e.EFF(1),e.k0s()),2&c){const i=e.XpG(3);e.R7$(),e.SpI("[",i.fork.plugin.CertifiedDbVersion,"]")}}function Vl(c,v){if(1&c&&(e.j41(0,"div",32),e.EFF(1,"\n "),e.nrm(2,"span",28),e.EFF(3),e.DNE(4,Sa,2,1,"span",29),e.EFF(5,"\n "),e.k0s()),2&c){const i=e.XpG(2);e.R7$(3),e.SpI("\n ",i.fork.plugin.PluginVersion,"\n "),e.R7$(),e.Y8G("ngIf",i.fork.plugin.CertifiedDbVersion)}}function To(c,v){if(1&c&&(e.j41(0,"div",33),e.EFF(1,"\n "),e.nrm(2,"span",31),e.EFF(3),e.k0s()),2&c){const i=e.XpG(2);e.R7$(3),e.SpI("",i.fork.plugin.DisplayFirmwareVersion,"\n ")}}function hc(c,v){if(1&c&&(e.j41(0,"footer",6),e.EFF(1,"\n "),e.j41(2,"div",7),e.EFF(3,"\n "),e.j41(4,"div",8),e.EFF(5,"\n "),e.j41(6,"div",9),e.EFF(7,"\n "),e.nrm(8,"span",10),e.EFF(9),e.nI1(10,"date"),e.k0s(),e.EFF(11,"\n "),e.j41(12,"div",11),e.EFF(13,"\n "),e.DNE(14,ar,2,0,"ng-container",12),e.EFF(15,"\n\n "),e.DNE(16,Ta,4,8,"ng-template",null,2,e.C5r),e.EFF(18,"\n "),e.DNE(19,wo,6,2,"ng-template",null,3,e.C5r),e.EFF(21,"\n "),e.k0s(),e.EFF(22,"\n "),e.j41(23,"div",13),e.EFF(24),e.nI1(25,"translate"),e.k0s(),e.EFF(26,"\n "),e.j41(27,"div",14),e.EFF(28,"\n "),e.nrm(29,"span",15),e.EFF(30,"\n "),e.k0s(),e.EFF(31,"\n "),e.DNE(32,en,6,4,"div",16),e.EFF(33,"\n\n "),e.DNE(34,Bo,6,2,"div",17),e.EFF(35,"\n\n "),e.DNE(36,bs,10,6,"div",18),e.EFF(37,"\n "),e.DNE(38,Kn,8,5,"div",19),e.EFF(39,"\n "),e.DNE(40,Vl,6,2,"div",20),e.EFF(41,"\n "),e.DNE(42,To,4,1,"div",21),e.EFF(43,"\n "),e.k0s(),e.EFF(44,"\n "),e.k0s(),e.EFF(45,"\n"),e.k0s()),2&c){const i=e.sdS(17),m=e.sdS(20),W=e.XpG();e.R7$(2),e.Y8G("ngClass",4===(null==W.fork.pluginHealth?null:W.fork.pluginHealth.HealthFlag)?"bg-primary fixed-bottom":3===(null==W.fork.pluginHealth?null:W.fork.pluginHealth.HealthFlag)?"bg-danger fixed-bottom":1!==(null==W.fork.pluginHealth?null:W.fork.pluginHealth.HealthFlag)||null!=W.fork.pluginHealth&&W.fork.pluginHealth.GroupStatus&&"ready"!==(null==W.fork.pluginHealth?null:W.fork.pluginHealth.GroupStatus)?2===(null==W.fork.pluginHealth?null:W.fork.pluginHealth.HealthFlag)||"ready"!==(null==W.fork.pluginHealth?null:W.fork.pluginHealth.GroupStatus)?"bg-warning fixed-bottom":"bg-danger fixed-bottom":"bg-success fixed-bottom"),e.R7$(7),e.SpI("",e.i5U(10,14,1e3*(null==W.fork.pluginStats?null:W.fork.pluginStats.StartTime),"dd/MM/yyyy\n HH:mm:ss"),"\n "),e.R7$(5),e.Y8G("ngIf",W.fork.pluginStats.Rxps>=.5&&W.fork.pluginStats.Txps>=.5)("ngIfThen",i)("ngIfElse",m),e.R7$(10),e.Lme("\n ",e.bMT(25,17,"dashboard.maxload")," : ",W.fork.pluginStats.MaxLoad,"\n "),e.R7$(5),e.FS9("translate",null==W.fork.pluginHealth?null:W.fork.pluginHealth.HealthTxt),e.R7$(3),e.Y8G("ngIf",null==W.fork.pluginHealth?null:W.fork.pluginHealth.GroupStatus),e.R7$(2),e.Y8G("ngIf",null==W.fork.pluginHealth?null:W.fork.pluginHealth.OTAupdateDevice),e.R7$(2),e.Y8G("ngIf",null==W.fork.plugin?null:W.fork.plugin.PluginUpdate),e.R7$(2),e.Y8G("ngIf",null==W.fork.plugin?null:W.fork.plugin.FirmwareUpdate),e.R7$(2),e.Y8G("ngIf",!(null!=W.fork.plugin&&W.fork.plugin.PluginUpdate)),e.R7$(2),e.Y8G("ngIf",!(null!=W.fork.plugin&&W.fork.plugin.FirmwareUpdate))}}function ka(c,v){1&c&&(e.nrm(0,"span",34),e.nI1(1,"translate")),2&c&&e.Y8G("innerHTML",e.bMT(1,1,"dashboard.firmware.update.available"),e.npT)}function jo(c,v){1&c&&(e.nrm(0,"span",34),e.nI1(1,"translate")),2&c&&e.Y8G("innerHTML",e.bMT(1,1,"dashboard.plugin.update.available"),e.npT)}let yl=(()=>{class c extends Ge.U{apiService;versionService;headerService;tracker;fork$;poll=!1;fork;constructor(i,m,W,ce){super(),this.apiService=i,this.versionService=m,this.headerService=W,this.tracker=ce}ngOnInit(){this.fork$=(0,Rl.p)([this.apiService.getPluginhealth(),this.apiService.getPluginStats(),this.apiService.getPlugin()]).pipe((0,Or.T)(([i,m,W])=>{this.headerService.setError(m.Error),this.fork={pluginHealth:i,pluginStats:m,plugin:W},W&&(sessionStorage.setItem("plugin",JSON.stringify(W)),this.tracker.setUserId(W.CoordinatorIEEE),this.tracker.setCustomVariable(1,"CoordinatorModel",W.CoordinatorModel,"visit"),this.tracker.setCustomVariable(2,"PluginVersion",W.PluginVersion,"visit"),this.tracker.setCustomVariable(3,"CoordinatorFirmwareVersion",W.CoordinatorFirmwareVersion,"visit"),this.tracker.setCustomVariable(4,"NetworkSize",W.NetworkSize,"visit"),this.tracker.setCustomVariable(4,"CertifiedDbVersion",W.CertifiedDbVersion,"visit"),this.tracker.setCustomVariable(4,"DistributionInfos",W.DistributionInfos.toLocaleString(),"visit"))})),this.subs.sink=this.headerService.polling.subscribe(i=>{this.poll=i,this.subs.add((0,_r.O)(1,Ar.c.refresh).pipe((0,Va.n)(()=>this.fork$),na(),(0,Ha.u)(),(0,sa.Q)(this.headerService.polling.pipe((0,io.p)(m=>!1===m)))).subscribe())}),this.versionService.reload.subscribe(()=>{this.fork$.subscribe()})}static \u0275fac=function(m){return new(m||c)(e.rXU(Ke.G),e.rXU(ks),e.rXU(ut.d),e.rXU(Vn.kA))};static \u0275cmp=e.VBU({type:c,selectors:[["app-version"]],features:[e.Vt3],decls:8,vars:1,consts:[["popContentFirmware",""],["popContentPlugin",""],["perSecond",""],["other",""],["perHour",""],["class","navbar navbar-fixed-bottom navbar-expand-lg","style","line-height: 1",4,"ngIf"],[1,"navbar","navbar-fixed-bottom","navbar-expand-lg",2,"line-height","1"],[3,"ngClass"],[1,"d-flex","flex-row","justify-content-between"],[1,"order-first","p-2","text-white","ms-2"],["translate","dashboard.health.starttime"],[1,"order-0","p-2","text-center","text-white","d-none","d-xl-block"],[4,"ngIf","ngIfThen","ngIfElse"],[1,"d-none","d-md-block","order-1","p-2","text-center","text-white"],[1,"order-1","p-2","text-center","text-white"],[3,"translate"],["class","d-none d-lg-block order-2 p-2 text-center text-white",4,"ngIf"],["class","order-3 p-2 text-center text-white d-none d-lg-block",4,"ngIf"],["class","order-4 p-2",4,"ngIf"],["class","me-2 order-5 p-2",4,"ngIf"],["class","order-4 p-2 text-white",4,"ngIf"],["class","d-none d-lg-block me-2 order-5 p-2 text-white",4,"ngIf"],[4,"ngIf","ngIfElse"],[1,"d-none","d-lg-block","order-2","p-2","text-center","text-white"],[1,"order-3","p-2","text-center","text-white","d-none","d-lg-block"],["translate","dashboard.health.OTA"],[1,"order-4","p-2"],["placement","top",1,"text-danger",2,"cursor","pointer",3,"ngbPopover","popoverTitle"],["translate","dashboard.plugin.version"],[4,"ngIf"],[1,"me-2","order-5","p-2"],["translate","dashboard.firmware.version"],[1,"order-4","p-2","text-white"],[1,"d-none","d-lg-block","me-2","order-5","p-2","text-white"],[3,"innerHTML"]],template:function(m,W){1&m&&(e.DNE(0,hc,46,19,"footer",5),e.EFF(1,"\n\n"),e.DNE(2,ka,2,3,"ng-template",null,0,e.C5r),e.EFF(4,"\n\n"),e.DNE(5,jo,2,3,"ng-template",null,1,e.C5r),e.EFF(7,"\n")),2&m&&e.Y8G("ngIf",W.fork)},dependencies:[Qi.YU,Qi.bT,Ir.Mm,or.ZM,Qi.vh,Ir.D9]})}return c})(),Ua=(()=>{class c{static \u0275fac=function(m){return new(m||c)};static \u0275cmp=e.VBU({type:c,selectors:[["app-shell"]],decls:9,vars:0,consts:[[1,"container-fluid"]],template:function(m,W){1&m&&(e.nrm(0,"app-header"),e.EFF(1,"\n"),e.j41(2,"div",0),e.EFF(3,"\n "),e.nrm(4,"router-outlet"),e.EFF(5,"\n"),e.k0s(),e.EFF(6,"\n"),e.nrm(7,"app-version"),e.EFF(8,"\n"))},dependencies:[pr.n3,Yn,yl]})}return c})();class rn{static childRoutes(v){return{path:"",component:Ua,children:v,data:{reuse:!0}}}}const dc=[rn.childRoutes([{path:"about",loadChildren:()=>He.e(644).then(He.bind(He,60644)).then(c=>c.AboutModule)},{path:"device",loadChildren:()=>He.e(12).then(He.bind(He,55012)).then(c=>c.DeviceModule)},{path:"group",loadChildren:()=>Promise.all([He.e(76),He.e(577)]).then(He.bind(He,74577)).then(c=>c.GroupModule)},{path:"network",loadChildren:()=>He.e(837).then(He.bind(He,86837)).then(c=>c.NetworkModule)},{path:"admin",loadChildren:()=>Promise.all([He.e(76),He.e(908)]).then(He.bind(He,5908)).then(c=>c.AdminModule)},{path:"settings",loadChildren:()=>He.e(521).then(He.bind(He,16521)).then(c=>c.SettingsModule)},{path:"manufacturer",loadChildren:()=>He.e(317).then(He.bind(He,22317)).then(c=>c.ManufacturerModule)},{path:"tools",loadChildren:()=>He.e(846).then(He.bind(He,2846)).then(c=>c.ToolsModule)}]),{path:"**",redirectTo:"",pathMatch:"full"}];let xl=(()=>{class c{static \u0275fac=function(m){return new(m||c)};static \u0275mod=e.$C({type:c});static \u0275inj=e.G2t({imports:[pr.iI.forRoot(dc,{preloadingStrategy:pr.Kp}),pr.iI]})}return c})();var Vo=He(57786),uc=He(73028),_l=He(5779),Vs=He(21413),pc=He(33726),gr=He(983),zs=He(71985),zl=He(70152),ra=He(70980);function Zn(){return["Mac","iPhone","iPad"].some(v=>navigator.userAgent.includes(v))?"apple":"pc"}function wl(c,v){const i={up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight"};function m(W){return"pc"===v&&"meta"===W&&(W="control"),W in i&&(W=i[W]),W}return c.toLowerCase().split(">").map(W=>W.split(".").map(m).join(".")).join(">")}let Qh=(()=>{class c{constructor(i,m){this.eventManager=i,this.document=m,this.hotkeys=new Map,this.dispose=new Vs.B,this.defaults={trigger:"keydown",allowIn:[],element:this.document.documentElement,group:void 0,description:void 0,showInHelpMenu:!0,preventDefault:!0},this.callbacks=[],this.sequenceMaps=new Map,this.sequenceDebounce=250}getHotkeys(){const i=Array.from(this.sequenceMaps.values()).map(m=>[m.hotkeyMap].reduce((W,ce)=>[...ce.values()],[])).reduce((m,W)=>W,[]).map(m=>m.hotkey);return Array.from(this.hotkeys.values()).concat(i)}getShortcuts(){const i=this.getHotkeys(),m=[];for(const W of i){if(!W.showInHelpMenu)continue;let ce=m.find(Ve=>Ve.group===W.group);ce||(ce={group:W.group,hotkeys:[]},m.push(ce));const De=wl(W.keys,Zn());ce.hotkeys.push({keys:De,description:W.description})}return m}addSequenceShortcut(i){const m=(Ve,qe)=>{let et="";return(0,pc.R)(Ve,qe).pipe((0,hn.M)(gt=>et=`${et}${et?">":""}${gt.ctrlKey?"control.":""}${gt.altKey?"alt.":""}${gt.shiftKey?"shift.":""}${gt.key}`),(0,zl.B)(this.sequenceDebounce),(0,uc.Z)(()=>{const gt=et;et="";const Mt=this.sequenceMaps.get(Ve);if(Mt.hotkeyMap.has(gt)){const Pt=Mt.hotkeyMap.get(gt);return Pt.subject.next(Pt.hotkey),(0,ea.of)(Pt.hotkey)}return gr.w}))},W={...this.defaults,...i};let ce=wl(W.keys,Zn());return(()=>{const Ve={subject:new Vs.B,hotkey:W};if(this.sequenceMaps.has(W.element)){const qe=this.sequenceMaps.get(W.element);if(qe.hotkeyMap.has(ce))return console.error("Duplicated shortcut"),(0,ea.of)(null);qe.hotkeyMap.set(ce,Ve)}else{const qe=m(W.element,W.trigger),Mt={subscription:qe.subscribe(),observer:qe,hotkeyMap:new Map([[ce,Ve]])};this.sequenceMaps.set(W.element,Mt)}return Ve.subject.asObservable()})().pipe((0,sa.Q)(this.dispose.pipe((0,io.p)(Ve=>Ve===ce))),(0,io.p)(Ve=>!this.targetIsExcluded(Ve.allowIn)),(0,hn.M)(Ve=>this.callbacks.forEach(qe=>qe(Ve,ce,Ve.element))),(0,ra.j)(()=>this.removeShortcuts(ce)))}addShortcut(i){const m={...this.defaults,...i},W=wl(m.keys,Zn());if(this.hotkeys.has(W))return console.error("Duplicated shortcut"),(0,ea.of)(null);this.hotkeys.set(W,m);const ce=`${m.trigger}.${W}`;return new zs.c(De=>{const qe=this.eventManager.addEventListener(m.element,ce,et=>{const gt=this.hotkeys.get(W);this.targetIsExcluded(gt.allowIn)||(m.preventDefault&&et.preventDefault(),this.callbacks.forEach(Pt=>Pt(et,W,gt.element)),De.next(et))});return()=>{this.hotkeys.delete(W),qe()}}).pipe((0,sa.Q)(this.dispose.pipe((0,io.p)(De=>De===W))))}removeShortcuts(i){(function qh(c){return Array.isArray(c)?c:[c]})(i).map(W=>wl(W,Zn())).forEach(W=>{this.hotkeys.delete(W),this.dispose.next(W),this.sequenceMaps.forEach((ce,De)=>{const Ve=ce.hotkeyMap.get(W);Ve&&(Ve.subject.observers.filter(qe=>!qe.closed).forEach(qe=>qe.unsubscribe()),ce.hotkeyMap.delete(W)),0===ce.hotkeyMap.size&&(ce.subscription.unsubscribe(),this.sequenceMaps.delete(De))})})}setSequenceDebounce(i){this.sequenceDebounce=i}onShortcut(i){return this.callbacks.push(i),()=>this.callbacks=this.callbacks.filter(m=>m!==i)}registerHelpModal(i,m=""){this.addShortcut({keys:m||"shift.?",showInHelpMenu:!1,preventDefault:!1}).subscribe(W=>{!/^(input|textarea|select)$/i.test(document.activeElement.nodeName)&&!W.target.isContentEditable&&this.hotkeys.size&&i()})}targetIsExcluded(i){const m=this.document.activeElement,ce=m.isContentEditable;let De=["INPUT","SELECT","TEXTAREA"].includes(m.nodeName)||ce;if(De&&i?.length)for(let Ve of i)if(m.nodeName===Ve||"CONTENTEDITABLE"===Ve&&ce){De=!1;break}return De}static#e=this.\u0275fac=function(m){return new(m||c)(e.KVO(M.EU),e.KVO(Qi.qQ))};static#t=this.\u0275prov=e.jDH({token:c,factory:c.\u0275fac,providedIn:"root"})}return c})();const Re=new Er.Vy("App");let Ue=(()=>{class c extends Ge.U{router;activatedRoute;titleService;translateService;apiService;i18nService;headerService;primengConfig;hotkeys;keysBoundActive=Ar.c.keysBoundActive;activateRefresh=!1;statusChangeSubscription;hasRememberedConsent;constructor(i,m,W,ce,De,Ve,qe,et,gt){super(),this.router=i,this.activatedRoute=m,this.titleService=W,this.translateService=ce,this.apiService=De,this.i18nService=Ve,this.headerService=qe,this.primengConfig=et,this.hotkeys=gt}ngOnInit(){this.primengConfig.ripple=!0,Ar.c.production&&Er.Vy.enableProductionMode(),Re.debug("init"),this.i18nService.init(Ar.c.defaultLanguage,Ar.c.supportedLanguages),this.subs.sink=(0,Rl.p)([this.apiService.getCasiaDevices(),this.apiService.getZlinky()]).subscribe(([i,m])=>{i.length>0&&this.headerService.setShowManufacturerCasaia(!0),m.length>0&&this.headerService.setShowManufacturerZlinky(!0)}),this.apiService.getPlugin().subscribe(i=>{sessionStorage.setItem("plugin",JSON.stringify(i)),this.titleService.setTitle(i?.Name.concat(" - ").concat(this.translateService.instant("dashboard"))),this.setTitle()}),this.keysBoundActive.forEach(i=>{this.subs.add(this.hotkeys.addSequenceShortcut({keys:i}).subscribe(()=>{this.activateRefresh=!this.activateRefresh,this.headerService.setPolling(this.activateRefresh)}))})}setTitle(){const i=this.router.events.pipe((0,io.p)(m=>m instanceof pr.wF));(0,Vo.h)(this.translateService.onLangChange,i).pipe((0,Or.T)(()=>{let m=this.activatedRoute;for(;m.firstChild;)m=m.firstChild;return m}),(0,io.p)(m=>"primary"===m.outlet),(0,uc.Z)(m=>m.data),(0,Er.s0)(this)).subscribe(m=>{const W=m.title;if(W){const ce=JSON.parse(sessionStorage.getItem("plugin"));this.titleService.setTitle(ce?.Name.concat(" - ").concat(this.translateService.instant(W)))}})}ngOnDestroy(){this.i18nService.destroy(),this.statusChangeSubscription.unsubscribe(),this.hasRememberedConsent.unsubscribe()}static \u0275fac=function(m){return new(m||c)(e.rXU(pr.Ix),e.rXU(pr.nX),e.rXU(M.hE),e.rXU(Ir.c$),e.rXU(Ke.G),e.rXU(Er.W4),e.rXU(ut.d),e.rXU(_l.r1),e.rXU(Qh))};static \u0275cmp=e.VBU({type:c,selectors:[["app-root"]],features:[e.Vt3],decls:2,vars:0,template:function(m,W){1&m&&(e.nrm(0,"router-outlet"),e.EFF(1,"\n"))},dependencies:[pr.n3]})}return c})();var Be=He(31635);class Ii{attach(v){return this._attachedHost=v,v.attach(this)}detach(){let v=this._attachedHost;null!=v&&(this._attachedHost=null,v.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(v){this._attachedHost=v}}class vn extends Ii{constructor(v,i,m,W,ce){super(),this.component=v,this.viewContainerRef=i,this.injector=m,this.componentFactoryResolver=W,this.projectableNodes=ce}}class In extends Ii{constructor(v,i,m,W){super(),this.templateRef=v,this.viewContainerRef=i,this.context=m,this.injector=W}get origin(){return this.templateRef.elementRef}attach(v,i=this.context){return this.context=i,super.attach(v)}detach(){return this.context=void 0,super.detach()}}class Qs extends Ii{constructor(v){super(),this.element=v instanceof e.aKT?v.nativeElement:v}}class Gl{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(v){return v instanceof vn?(this._attachedPortal=v,this.attachComponentPortal(v)):v instanceof In?(this._attachedPortal=v,this.attachTemplatePortal(v)):this.attachDomPortal&&v instanceof Qs?(this._attachedPortal=v,this.attachDomPortal(v)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(v){this._disposeFn=v}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class Wa extends Gl{constructor(v,i,m,W,ce){super(),this.outletElement=v,this._componentFactoryResolver=i,this._appRef=m,this._defaultInjector=W,this.attachDomPortal=De=>{const Ve=De.element,qe=this._document.createComment("dom-portal");Ve.parentNode.insertBefore(qe,Ve),this.outletElement.appendChild(Ve),this._attachedPortal=De,super.setDisposeFn(()=>{qe.parentNode&&qe.parentNode.replaceChild(Ve,qe)})},this._document=ce}attachComponentPortal(v){const m=(v.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(v.component);let W;return v.viewContainerRef?(W=v.viewContainerRef.createComponent(m,v.viewContainerRef.length,v.injector||v.viewContainerRef.injector,v.projectableNodes||void 0),this.setDisposeFn(()=>W.destroy())):(W=m.create(v.injector||this._defaultInjector||e.zZn.NULL),this._appRef.attachView(W.hostView),this.setDisposeFn(()=>{this._appRef.viewCount>0&&this._appRef.detachView(W.hostView),W.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(W)),this._attachedPortal=v,W}attachTemplatePortal(v){let i=v.viewContainerRef,m=i.createEmbeddedView(v.templateRef,v.context,{injector:v.injector});return m.rootNodes.forEach(W=>this.outletElement.appendChild(W)),m.detectChanges(),this.setDisposeFn(()=>{let W=i.indexOf(m);-1!==W&&i.remove(W)}),this._attachedPortal=v,m}dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(v){return v.hostView.rootNodes[0]}}function Pd(){}function no(c){return null==c?Pd:function(){return this.querySelector(c)}}function Ku(){return[]}function Zu(c){return null==c?Ku:function(){return this.querySelectorAll(c)}}function id(c){return function(){return this.matches(c)}}function Bc(c){return function(v){return v.matches(c)}}var so=Array.prototype.find;function vh(){return this.firstElementChild}var zo=Array.prototype.filter;function Vc(){return Array.from(this.children)}function Rd(c){return new Array(c.length)}function yh(c,v){this.ownerDocument=c.ownerDocument,this.namespaceURI=c.namespaceURI,this._next=null,this._parent=c,this.__data__=v}function xh(c,v,i,m,W,ce){for(var Ve,De=0,qe=v.length,et=ce.length;Dev?1:c>=v?0:NaN}yh.prototype={constructor:yh,appendChild:function(c){return this._parent.insertBefore(c,this._next)},insertBefore:function(c,v){return this._parent.insertBefore(c,v)},querySelector:function(c){return this._parent.querySelector(c)},querySelectorAll:function(c){return this._parent.querySelectorAll(c)}};var rd="http://www.w3.org/1999/xhtml";const ni={svg:"http://www.w3.org/2000/svg",xhtml:rd,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function pn(c){var v=c+="",i=v.indexOf(":");return i>=0&&"xmlns"!==(v=c.slice(0,i))&&(c=c.slice(i+1)),ni.hasOwnProperty(v)?{space:ni[v],local:c}:c}function gc(c){return function(){this.removeAttribute(c)}}function zc(c){return function(){this.removeAttributeNS(c.space,c.local)}}function hs(c,v){return function(){this.setAttribute(c,v)}}function Gc(c,v){return function(){this.setAttributeNS(c.space,c.local,v)}}function oa(c,v){return function(){var i=v.apply(this,arguments);null==i?this.removeAttribute(c):this.setAttribute(c,i)}}function aa(c,v){return function(){var i=v.apply(this,arguments);null==i?this.removeAttributeNS(c.space,c.local):this.setAttributeNS(c.space,c.local,i)}}function od(c){return c.ownerDocument&&c.ownerDocument.defaultView||c.document&&c||c.defaultView}function Vf(c){return function(){this.style.removeProperty(c)}}function mm(c,v,i){return function(){this.style.setProperty(c,v,i)}}function ep(c,v,i){return function(){var m=v.apply(this,arguments);null==m?this.style.removeProperty(c):this.style.setProperty(c,m,i)}}function So(c,v){return c.style.getPropertyValue(v)||od(c).getComputedStyle(c,null).getPropertyValue(v)}function tp(c){return function(){delete this[c]}}function Ma(c,v){return function(){this[c]=v}}function Sl(c,v){return function(){var i=v.apply(this,arguments);null==i?delete this[c]:this[c]=i}}function jd(c){return c.trim().split(/^|\s+/)}function Vd(c){return c.classList||new ad(c)}function ad(c){this._node=c,this._names=jd(c.getAttribute("class")||"")}function wh(c,v){for(var i=Vd(c),m=-1,W=v.length;++m=0&&(this._names.splice(v,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(c){return this._names.indexOf(c)>=0}};var op=[null];function Lr(c,v){this._groups=c,this._parents=v}function Wl(){return new Lr([[document.documentElement]],op)}Lr.prototype=Wl.prototype={constructor:Lr,select:function Ld(c){"function"!=typeof c&&(c=no(c));for(var v=this._groups,i=v.length,m=new Array(i),W=0;W=gi&&(gi=Ci+1);!(Bi=Xt[gi])&&++gi=0;)(De=m[W])&&(ce&&4^De.compareDocumentPosition(ce)&&ce.parentNode.insertBefore(De,ce),ce=De);return this},sort:function sd(c){function v(Mt,Pt){return Mt&&Pt?c(Mt.__data__,Pt.__data__):!Mt-!Pt}c||(c=jf);for(var i=this._groups,m=i.length,W=new Array(m),ce=0;ce1?this.each((null==v?Vf:"function"==typeof v?ep:mm)(c,v,i??"")):So(this.node(),c)},property:function zf(c,v){return arguments.length>1?this.each((null==v?tp:"function"==typeof v?Sl:Ma)(c,v)):this.node()[c]},classed:function Sh(c,v){var i=jd(c+"");if(arguments.length<2){for(var m=Vd(this.node()),W=-1,ce=i.length;++W=0&&(i=v.slice(m+1),v=v.slice(0,m)),{type:v,name:i}})}(c+""),ce=m.length;if(!(arguments.length<2)){for(Ve=v?$c:bc,W=0;W{}};function lp(){for(var m,c=0,v=arguments.length,i={};c=0&&(m=i.slice(W+1),i=i.slice(0,W)),i&&!v.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:m}})}(c+"",i),ce=-1,De=m.length;if(!(arguments.length<2)){if(null!=v&&"function"!=typeof v)throw new Error("invalid callback: "+v);for(;++ce0)for(var W,ce,i=new Array(W),m=0;m>8&15|v>>4&240,v>>4&15|240&v,(15&v)<<4|15&v,1):8===i?ql(v>>24&255,v>>16&255,v>>8&255,(255&v)/255):4===i?ql(v>>12&15|v>>8&240,v>>8&15|v>>4&240,v>>4&15|240&v,((15&v)<<4|15&v)/255):null):(v=hp.exec(c))?new ao(v[1],v[2],v[3],1):(v=Kl.exec(c))?new ao(255*v[1]/100,255*v[2]/100,255*v[3]/100,1):(v=vc.exec(c))?ql(v[1],v[2],v[3],v[4]):(v=lr.exec(c))?ql(255*v[1]/100,255*v[2]/100,255*v[3]/100,v[4]):(v=dp.exec(c))?Xf(v[1],v[2]/100,v[3]/100,1):(v=qd.exec(c))?Xf(v[1],v[2]/100,v[3]/100,v[4]):Nh.hasOwnProperty(c)?eu(Nh[c]):"transparent"===c?new ao(NaN,NaN,NaN,0):null}function eu(c){return new ao(c>>16&255,c>>8&255,255&c,1)}function ql(c,v,i,m){return m<=0&&(c=v=i=NaN),new ao(c,v,i,m)}function tu(c,v,i,m){return 1===arguments.length?function $f(c){return c instanceof Xl||(c=Zl(c)),c?new ao((c=c.rgb()).r,c.g,c.b,c.opacity):new ao}(c):new ao(c,v,i,m??1)}function ao(c,v,i,m){this.r=+c,this.g=+v,this.b=+i,this.opacity=+m}function iu(){return`#${eh(this.r)}${eh(this.g)}${eh(this.b)}`}function fp(){const c=Fh(this.opacity);return`${1===c?"rgb(":"rgba("}${Jc(this.r)}, ${Jc(this.g)}, ${Jc(this.b)}${1===c?")":`, ${c})`}`}function Fh(c){return isNaN(c)?1:Math.max(0,Math.min(1,c))}function Jc(c){return Math.max(0,Math.min(255,Math.round(c)||0))}function eh(c){return((c=Jc(c))<16?"0":"")+c.toString(16)}function Xf(c,v,i,m){return m<=0?c=v=i=NaN:i<=0||i>=1?c=v=NaN:v<=0&&(c=NaN),new Ws(c,v,i,m)}function gp(c){if(c instanceof Ws)return new Ws(c.h,c.s,c.l,c.opacity);if(c instanceof Xl||(c=Zl(c)),!c)return new Ws;if(c instanceof Ws)return c;var v=(c=c.rgb()).r/255,i=c.g/255,m=c.b/255,W=Math.min(v,i,m),ce=Math.max(v,i,m),De=NaN,Ve=ce-W,qe=(ce+W)/2;return Ve?(De=v===ce?(i-m)/Ve+6*(i0&&qe<1?0:De,new Ws(De,Ve,qe,c.opacity)}function Ws(c,v,i,m){this.h=+c,this.s=+v,this.l=+i,this.opacity=+m}function bp(c){return(c=(c||0)%360)<0?c+360:c}function fd(c){return Math.max(0,Math.min(1,c||0))}function Yf(c,v,i){return 255*(c<60?v+(i-v)*c/60:c<180?i:c<240?v+(i-v)*(240-c)/60:v)}function nu(c,v,i,m,W){var ce=c*c,De=ce*c;return((1-3*c+3*ce-De)*v+(4-6*ce+3*De)*i+(1+3*c+3*ce-3*De)*m+De*W)/6}Lh(Xl,Zl,{copy(c){return Object.assign(new this.constructor,this,c)},displayable(){return this.rgb().displayable()},hex:Qd,formatHex:Qd,formatHex8:function Jd(){return this.rgb().formatHex8()},formatHsl:function Qc(){return gp(this).formatHsl()},formatRgb:up,toString:up}),Lh(ao,tu,Rh(Xl,{brighter(c){return c=null==c?qc:Math.pow(qc,c),new ao(this.r*c,this.g*c,this.b*c,this.opacity)},darker(c){return c=null==c?.7:Math.pow(.7,c),new ao(this.r*c,this.g*c,this.b*c,this.opacity)},rgb(){return this},clamp(){return new ao(Jc(this.r),Jc(this.g),Jc(this.b),Fh(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:iu,formatHex:iu,formatHex8:function pp(){return`#${eh(this.r)}${eh(this.g)}${eh(this.b)}${eh(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:fp,toString:fp})),Lh(Ws,function mp(c,v,i,m){return 1===arguments.length?gp(c):new Ws(c,v,i,m??1)},Rh(Xl,{brighter(c){return c=null==c?qc:Math.pow(qc,c),new Ws(this.h,this.s,this.l*c,this.opacity)},darker(c){return c=null==c?.7:Math.pow(.7,c),new Ws(this.h,this.s,this.l*c,this.opacity)},rgb(){var c=this.h%360+360*(this.h<0),v=isNaN(c)||isNaN(this.s)?0:this.s,i=this.l,m=i+(i<.5?i:1-i)*v,W=2*i-m;return new ao(Yf(c>=240?c-240:c+120,W,m),Yf(c,W,m),Yf(c<120?c+240:c-120,W,m),this.opacity)},clamp(){return new Ws(bp(this.h),fd(this.s),fd(this.l),Fh(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 c=Fh(this.opacity);return`${1===c?"hsl(":"hsla("}${bp(this.h)}, ${100*fd(this.s)}%, ${100*fd(this.l)}%${1===c?")":`, ${c})`}`}}));const Dl=c=>()=>c;function Zf(c,v){var i=v-c;return i?function vp(c,v){return function(i){return c+i*v}}(c,i):Dl(isNaN(c)?v:c)}const Bh=function c(v){var i=function yp(c){return 1==(c=+c)?Zf:function(v,i){return i-v?function bm(c,v,i){return c=Math.pow(c,i),v=Math.pow(v,i)-c,i=1/i,function(m){return Math.pow(c+m*v,i)}}(v,i,c):Dl(isNaN(v)?i:v)}}(v);function m(W,ce){var De=i((W=tu(W)).r,(ce=tu(ce)).r),Ve=i(W.g,ce.g),qe=i(W.b,ce.b),et=Zf(W.opacity,ce.opacity);return function(gt){return W.r=De(gt),W.g=Ve(gt),W.b=qe(gt),W.opacity=et(gt),W+""}}return m.gamma=c,m}(1);function qf(c){return function(v){var De,Ve,i=v.length,m=new Array(i),W=new Array(i),ce=new Array(i);for(De=0;De=1?(i=1,v-1):Math.floor(i*v),W=c[m],ce=c[m+1];return nu((i-m/v)*v,m>0?c[m-1]:2*W-ce,W,ce,mi&&(ce=v.slice(i,ce),Ve[De]?Ve[De]+=ce:Ve[++De]=ce),(m=m[0])===(W=W[0])?Ve[De]?Ve[De]+=W:Ve[++De]=W:(Ve[++De]=null,qe.push({i:De,x:Aa(m,W)})),i=ou.lastIndex;return i=0&&c._call.call(void 0,v),c=c._next;--ih}()}finally{ih=0,function Vt(){for(var c,i,v=zh,m=1/0;v;)v._call?(m>v._time&&(m=v._time),c=v,v=v._next):(i=v._next,v._next=null,v=c?c._next=i:zh=i);sh=c,Ut(m)}(),xc=0}}function ft(){var c=rh.now(),v=c-cu;v>lu&&(Gh-=v,cu=c)}function Ut(c){ih||(ha&&(ha=clearTimeout(ha)),c-xc>24?(c<1/0&&(ha=setTimeout(it,c-rh.now()-Gh)),nh&&(nh=clearInterval(nh))):(nh||(cu=rh.now(),nh=setInterval(ft,lu)),ih=1,hu(it)))}function ei(c,v,i){var m=new ae;return m.restart(W=>{m.stop(),c(W+v)},v=null==v?0:+v,i),m}ae.prototype=we.prototype={constructor:ae,restart:function(c,v,i){if("function"!=typeof c)throw new TypeError("callback is not a function");i=(null==i?be():+i)+(null==v?0:+v),!this._next&&sh!==this&&(sh?sh._next=this:zh=this,sh=this),this._call=c,this._time=i,Ut()},stop:function(){this._call&&(this._call=null,this._time=1/0,Ut())}};var ii=Yd("start","end","cancel","interrupt"),wi=[],_i=0,sn=3;function vs(c,v,i,m,W,ce){var De=c.__transition;if(De){if(i in De)return}else c.__transition={};!function Ps(c,v,i){var W,m=c.__transition;function De(et){var gt,Mt,Pt,Wt;if(1!==i.state)return qe();for(gt in m)if((Wt=m[gt]).name===i.name){if(Wt.state===sn)return ei(De);4===Wt.state?(Wt.state=6,Wt.timer.stop(),Wt.on.call("interrupt",c,c.__data__,Wt.index,Wt.group),delete m[gt]):+gt_i)throw new Error("too late; already scheduled");return i}function En(c,v){var i=An(c,v);if(i.state>sn)throw new Error("too late; already running");return i}function An(c,v){var i=c.__transition;if(!i||!(i=i[v]))throw new Error("transition not found");return i}var cr,Ns=180/Math.PI,mr={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Mo(c,v,i,m,W,ce){var De,Ve,qe;return(De=Math.sqrt(c*c+v*v))&&(c/=De,v/=De),(qe=c*i+v*m)&&(i-=c*qe,m-=v*qe),(Ve=Math.sqrt(i*i+m*m))&&(i/=Ve,m/=Ve,qe/=Ve),c*m180?gt+=360:gt-et>180&&(et+=360),Pt.push({i:Mt.push(W(Mt)+"rotate(",null,m)-2,x:Aa(et,gt)})):gt&&Mt.push(W(Mt)+"rotate("+gt+m)}(et.rotate,gt.rotate,Mt,Pt),function Ve(et,gt,Mt,Pt){et!==gt?Pt.push({i:Mt.push(W(Mt)+"skewX(",null,m)-2,x:Aa(et,gt)}):gt&&Mt.push(W(Mt)+"skewX("+gt+m)}(et.skewX,gt.skewX,Mt,Pt),function qe(et,gt,Mt,Pt,Wt,Zt){if(et!==Mt||gt!==Pt){var hi=Wt.push(W(Wt)+"scale(",null,",",null,")");Zt.push({i:hi-4,x:Aa(et,Mt)},{i:hi-2,x:Aa(gt,Pt)})}else(1!==Mt||1!==Pt)&&Wt.push(W(Wt)+"scale("+Mt+","+Pt+")")}(et.scaleX,et.scaleY,gt.scaleX,gt.scaleY,Mt,Pt),et=gt=null,function(Wt){for(var Xt,Zt=-1,hi=Pt.length;++Zt=0&&(v=v.slice(0,i)),!v||"start"===v})}(v)?Rn:En;return function(){var De=ce(this,c),Ve=De.on;Ve!==m&&(W=(m=Ve).copy()).on(v,i),De.on=W}}(i,c,v))},attr:function nn(c,v){var i=pn(c),m="transform"===i?ue:ai;return this.attrTween(c,"function"==typeof v?(i.local?wn:tn)(i,m,zt(this,"attr."+c,v)):null==v?(i.local?Li:oi)(i):(i.local?Yi:Zi)(i,m,v))},attrTween:function lo(c,v){var i="attr."+c;if(arguments.length<2)return(i=this.tween(i))&&i._value;if(null==v)return this.tween(i,null);if("function"!=typeof v)throw new Error;var m=pn(c);return this.tween(i,(m.local?$s:hr)(m,v))},style:function J0(c,v,i){var m="transform"==(c+="")?ne:ai;return null==v?this.styleTween(c,function bx(c,v){var i,m,W;return function(){var ce=So(this,c),De=(this.style.removeProperty(c),So(this,c));return ce===De?null:ce===i&&De===m?W:W=v(i=ce,m=De)}}(c,m)).on("end.style."+c,Sp(c)):"function"==typeof v?this.styleTween(c,function kp(c,v,i){var m,W,ce;return function(){var De=So(this,c),Ve=i(this),qe=Ve+"";return null==Ve&&(this.style.removeProperty(c),qe=Ve=So(this,c)),De===qe?null:De===m&&qe===W?ce:(W=qe,ce=v(m=De,Ve))}}(c,m,zt(this,"style."+c,v))).each(function Q0(c,v){var i,m,W,Ve,ce="style."+v,De="end."+ce;return function(){var qe=En(this,c),et=qe.on,gt=null==qe.value[ce]?Ve||(Ve=Sp(v)):void 0;(et!==i||W!==gt)&&(m=(i=et).copy()).on(De,W=gt),qe.on=m}}(this._id,c)):this.styleTween(c,function ah(c,v,i){var m,ce,W=i+"";return function(){var De=So(this,c);return De===W?null:De===m?ce:ce=v(m=De,i)}}(c,m,v),i).on("end.style."+c,null)},styleTween:function Sw(c,v,i){var m="style."+(c+="");if(arguments.length<2)return(m=this.tween(m))&&m._value;if(null==v)return this.tween(m,null);if("function"!=typeof v)throw new Error;return this.tween(m,function Tw(c,v,i){var m,W;function ce(){var De=v.apply(this,arguments);return De!==W&&(m=(W=De)&&function eb(c,v,i){return function(m){this.style.setProperty(c,v.call(this,m),i)}}(c,De,i)),m}return ce._value=v,ce}(c,v,i??""))},text:function _m(c){return this.tween("text","function"==typeof c?function xm(c){return function(){var v=c(this);this.textContent=v??""}}(zt(this,"text",c)):function kw(c){return function(){this.textContent=c}}(null==c?"":c+""))},textTween:function tb(c){var v="text";if(arguments.length<1)return(v=this.tween(v))&&v._value;if(null==c)return this.tween(v,null);if("function"!=typeof c)throw new Error;return this.tween(v,function Dw(c){var v,i;function m(){var W=c.apply(this,arguments);return W!==i&&(v=(i=W)&&function Mw(c){return function(v){this.textContent=c.call(this,v)}}(W)),v}return m._value=c,m}(c))},remove:function px(){return this.on("end.remove",function ux(c){return function(){var v=this.parentNode;for(var i in this.__transition)if(+i!==c)return;v&&v.removeChild(this)}}(this._id))},tween:function Tt(c,v){var i=this._id;if(c+="",arguments.length<2){for(var De,m=An(this.node(),i).tween,W=0,ce=m.length;W2&&m.state<5,m.state=6,m.timer.stop(),m.on.call(W?"interrupt":"cancel",c,c.__data__,m.index,m.group),delete i[De]):ce=!1;ce&&delete c.__transition}}(this,c)})},Da.prototype.transition=function wm(c){var v,i;c instanceof lh?(v=c._id,c=c._name):(v=Cm(),(i=ig).time=be(),c=null==c?null:c+"");for(var m=this._groups,W=m.length,ce=0;cev?1:c>=v?0:NaN}function $o(c,v){return null==c||null==v?NaN:vc?1:v>=c?0:NaN}function vd(c){let v,i,m;function W(Ve,qe,et=0,gt=Ve.length){if(et>>1;i(Ve[Mt],qe)<0?et=Mt+1:gt=Mt}while(etbd(c(Ve),qe),m=(Ve,qe)=>c(Ve)-qe):(v=c===bd||c===$o?c:hb,i=c,m=c),{left:W,center:function De(Ve,qe,et=0,gt=Ve.length){const Mt=W(Ve,qe,et,gt-1);return Mt>et&&m(Ve[Mt-1],qe)>-m(Ve[Mt],qe)?Mt-1:Mt},right:function ce(Ve,qe,et=0,gt=Ve.length){if(et>>1;i(Ve[Mt],qe)<=0?et=Mt+1:gt=Mt}while(et=db?10:ce>=Ex?5:ce>=ub?2:1;let Ve,qe,et;return W<0?(et=Math.pow(10,-W)/De,Ve=Math.round(c*et),qe=Math.round(v*et),Ve/etv&&--qe,et=-et):(et=Math.pow(10,W)*De,Ve=Math.round(c/et),qe=Math.round(v/et),Ve*etv&&--qe),qe(c(ce=new Date(+ce)),ce),W.ceil=ce=>(c(ce=new Date(ce-1)),v(ce,1),c(ce),ce),W.round=ce=>{const De=W(ce),Ve=W.ceil(ce);return ce-De(v(ce=new Date(+ce),null==De?1:Math.floor(De)),ce),W.range=(ce,De,Ve)=>{const qe=[];if(ce=W.ceil(ce),Ve=null==Ve?1:Math.floor(Ve),!(ce0))return qe;let et;do{qe.push(et=new Date(+ce)),v(ce,Ve),c(ce)}while(etco(De=>{if(De>=De)for(;c(De),!ce(De);)De.setTime(De-1)},(De,Ve)=>{if(De>=De)if(Ve<0)for(;++Ve<=0;)for(;v(De,-1),!ce(De););else for(;--Ve>=0;)for(;v(De,1),!ce(De););}),i&&(W.count=(ce,De)=>(Ap.setTime(+ce),gb.setTime(+De),c(Ap),c(gb),Math.floor(i(Ap,gb))),W.every=ce=>(ce=Math.floor(ce),isFinite(ce)&&ce>0?ce>1?W.filter(m?De=>m(De)%ce==0:De=>W.count(0,De)%ce==0):W:null)),W}const Am=co(()=>{},(c,v)=>{c.setTime(+c+v)},(c,v)=>v-c);Am.every=c=>(c=Math.floor(c),isFinite(c)&&c>0?c>1?co(v=>{v.setTime(Math.floor(v/c)*c)},(v,i)=>{v.setTime(+v+i*c)},(v,i)=>(i-v)/c):Am:null);const Ip=co(c=>{c.setTime(c-c.getMilliseconds())},(c,v)=>{c.setTime(+c+v*hh)},(c,v)=>(v-c)/hh,c=>c.getUTCSeconds()),fu=co(c=>{c.setTime(c-c.getMilliseconds()-c.getSeconds()*hh)},(c,v)=>{c.setTime(+c+v*Al)},(c,v)=>(v-c)/Al,c=>c.getMinutes()),lg=co(c=>{c.setUTCSeconds(0,0)},(c,v)=>{c.setTime(+c+v*Al)},(c,v)=>(v-c)/Al,c=>c.getUTCMinutes()),cg=co(c=>{c.setTime(c-c.getMilliseconds()-c.getSeconds()*hh-c.getMinutes()*Al)},(c,v)=>{c.setTime(+c+v*dh)},(c,v)=>(v-c)/dh,c=>c.getHours()),Om=co(c=>{c.setUTCMinutes(0,0,0)},(c,v)=>{c.setTime(+c+v*dh)},(c,v)=>(v-c)/dh,c=>c.getUTCHours()),Uh=co(c=>c.setHours(0,0,0,0),(c,v)=>c.setDate(c.getDate()+v),(c,v)=>(v-c-(v.getTimezoneOffset()-c.getTimezoneOffset())*Al)/uh,c=>c.getDate()-1),Rx=(co(c=>{c.setUTCHours(0,0,0,0)},(c,v)=>{c.setUTCDate(c.getUTCDate()+v)},(c,v)=>(v-c)/uh,c=>c.getUTCDate()-1),co(c=>{c.setUTCHours(0,0,0,0)},(c,v)=>{c.setUTCDate(c.getUTCDate()+v)},(c,v)=>(v-c)/uh,c=>Math.floor(c/uh)));function gu(c){return co(v=>{v.setDate(v.getDate()-(v.getDay()+7-c)%7),v.setHours(0,0,0,0)},(v,i)=>{v.setDate(v.getDate()+7*i)},(v,i)=>(i-v-(i.getTimezoneOffset()-v.getTimezoneOffset())*Al)/Ep)}const mb=gu(0);function xd(c){return co(v=>{v.setUTCDate(v.getUTCDate()-(v.getUTCDay()+7-c)%7),v.setUTCHours(0,0,0,0)},(v,i)=>{v.setUTCDate(v.getUTCDate()+7*i)},(v,i)=>(i-v)/Ep)}gu(1),gu(2),gu(3),gu(4),gu(5),gu(6);const Nm=xd(0),ug=(xd(1),xd(2),xd(3),xd(4),xd(5),xd(6),co(c=>{c.setDate(1),c.setHours(0,0,0,0)},(c,v)=>{c.setMonth(c.getMonth()+v)},(c,v)=>v.getMonth()-c.getMonth()+12*(v.getFullYear()-c.getFullYear()),c=>c.getMonth())),Gx=co(c=>{c.setUTCDate(1),c.setUTCHours(0,0,0,0)},(c,v)=>{c.setUTCMonth(c.getUTCMonth()+v)},(c,v)=>v.getUTCMonth()-c.getUTCMonth()+12*(v.getUTCFullYear()-c.getUTCFullYear()),c=>c.getUTCMonth()),pg=co(c=>{c.setMonth(0,1),c.setHours(0,0,0,0)},(c,v)=>{c.setFullYear(c.getFullYear()+v)},(c,v)=>v.getFullYear()-c.getFullYear(),c=>c.getFullYear());pg.every=c=>isFinite(c=Math.floor(c))&&c>0?co(v=>{v.setFullYear(Math.floor(v.getFullYear()/c)*c),v.setMonth(0,1),v.setHours(0,0,0,0)},(v,i)=>{v.setFullYear(v.getFullYear()+i*c)}):null;const fg=co(c=>{c.setUTCMonth(0,1),c.setUTCHours(0,0,0,0)},(c,v)=>{c.setUTCFullYear(c.getUTCFullYear()+v)},(c,v)=>v.getUTCFullYear()-c.getUTCFullYear(),c=>c.getUTCFullYear());function gg(c,v,i,m,W,ce){const De=[[Ip,1,hh],[Ip,5,5e3],[Ip,15,15e3],[Ip,30,3e4],[ce,1,Al],[ce,5,5*Al],[ce,15,15*Al],[ce,30,30*Al],[W,1,dh],[W,3,3*dh],[W,6,6*dh],[W,12,12*dh],[m,1,uh],[m,2,2*uh],[i,1,Ep],[v,1,Ax],[v,3,3*Ax],[c,1,fb]];function qe(et,gt,Mt){const Pt=Math.abs(gt-et)/Mt,Wt=vd(([,,Xt])=>Xt).right(De,Pt);if(Wt===De.length)return c.every(ag(et/fb,gt/fb,Mt));if(0===Wt)return Am.every(Math.max(ag(et,gt,Mt),1));const[Zt,hi]=De[Pt/De[Wt-1][2]isFinite(c=Math.floor(c))&&c>0?co(v=>{v.setUTCFullYear(Math.floor(v.getUTCFullYear()/c)*c),v.setUTCMonth(0,1),v.setUTCHours(0,0,0,0)},(v,i)=>{v.setUTCFullYear(v.getUTCFullYear()+i*c)}):null;const[Wx,Bm]=gg(fg,Gx,Nm,Rx,Om,lg),[Lp,Tb]=gg(pg,ug,mb,Uh,cg,fu);var Rp=new Date,_d=new Date;function wc(c,v,i,m){function W(ce){return c(ce=0===arguments.length?new Date:new Date(+ce)),ce}return W.floor=function(ce){return c(ce=new Date(+ce)),ce},W.ceil=function(ce){return c(ce=new Date(ce-1)),v(ce,1),c(ce),ce},W.round=function(ce){var De=W(ce),Ve=W.ceil(ce);return ce-De0))return qe;do{qe.push(et=new Date(+ce)),v(ce,Ve),c(ce)}while(et=De)for(;c(De),!ce(De);)De.setTime(De-1)},function(De,Ve){if(De>=De)if(Ve<0)for(;++Ve<=0;)for(;v(De,-1),!ce(De););else for(;--Ve>=0;)for(;v(De,1),!ce(De););})},i&&(W.count=function(ce,De){return Rp.setTime(+ce),_d.setTime(+De),c(Rp),c(_d),Math.floor(i(Rp,_d))},W.every=function(ce){return ce=Math.floor(ce),isFinite(ce)&&ce>0?ce>1?W.filter(m?function(De){return m(De)%ce==0}:function(De){return W.count(0,De)%ce==0}):W:null}),W}const vu=864e5,kb=7*vu;function Wh(c){return wc(function(v){v.setUTCDate(v.getUTCDate()-(v.getUTCDay()+7-c)%7),v.setUTCHours(0,0,0,0)},function(v,i){v.setUTCDate(v.getUTCDate()+7*i)},function(v,i){return(i-v)/kb})}var jm=Wh(0),kn=Wh(1),Ql=(Wh(2),Wh(3),Wh(4));const vg=(Wh(5),Wh(6),wc(function(c){c.setUTCHours(0,0,0,0)},function(c,v){c.setUTCDate(c.getUTCDate()+v)},function(c,v){return(v-c)/vu},function(c){return c.getUTCDate()-1}));function ph(c){return wc(function(v){v.setDate(v.getDate()-(v.getDay()+7-c)%7),v.setHours(0,0,0,0)},function(v,i){v.setDate(v.getDate()+7*i)},function(v,i){return(i-v-6e4*(i.getTimezoneOffset()-v.getTimezoneOffset()))/kb})}var Pb=ph(0),yg=ph(1),yu=(ph(2),ph(3),ph(4));const Jx=(ph(5),ph(6),wc(c=>c.setHours(0,0,0,0),(c,v)=>c.setDate(c.getDate()+v),(c,v)=>(v-c-6e4*(v.getTimezoneOffset()-c.getTimezoneOffset()))/vu,c=>c.getDate()-1));var xg=wc(function(c){c.setMonth(0,1),c.setHours(0,0,0,0)},function(c,v){c.setFullYear(c.getFullYear()+v)},function(c,v){return v.getFullYear()-c.getFullYear()},function(c){return c.getFullYear()});xg.every=function(c){return isFinite(c=Math.floor(c))&&c>0?wc(function(v){v.setFullYear(Math.floor(v.getFullYear()/c)*c),v.setMonth(0,1),v.setHours(0,0,0,0)},function(v,i){v.setFullYear(v.getFullYear()+i*c)}):null};const Fp=xg;var zm=wc(function(c){c.setUTCMonth(0,1),c.setUTCHours(0,0,0,0)},function(c,v){c.setUTCFullYear(c.getUTCFullYear()+v)},function(c,v){return v.getUTCFullYear()-c.getUTCFullYear()},function(c){return c.getUTCFullYear()});zm.every=function(c){return isFinite(c=Math.floor(c))&&c>0?wc(function(v){v.setUTCFullYear(Math.floor(v.getUTCFullYear()/c)*c),v.setUTCMonth(0,1),v.setUTCHours(0,0,0,0)},function(v,i){v.setUTCFullYear(v.getUTCFullYear()+i*c)}):null};const xu=zm;function Gm(c){if(0<=c.y&&c.y<100){var v=new Date(-1,c.m,c.d,c.H,c.M,c.S,c.L);return v.setFullYear(c.y),v}return new Date(c.y,c.m,c.d,c.H,c.M,c.S,c.L)}function Bp(c){if(0<=c.y&&c.y<100){var v=new Date(Date.UTC(-1,c.m,c.d,c.H,c.M,c.S,c.L));return v.setUTCFullYear(c.y),v}return new Date(Date.UTC(c.y,c.m,c.d,c.H,c.M,c.S,c.L))}function jp(c,v,i){return{y:c,m:v,d:i,H:0,M:0,S:0,L:0}}var Fb={"-":"",_:" ",0:"0"},ho=/^\s*\d+/,t_=/^%/,Tc=/[\\^$*+?|[\]().{}]/g;function ds(c,v,i){var m=c<0?"-":"",W=(m?-c:c)+"",ce=W.length;return m+(ce[v.toLowerCase(),i]))}function Bb(c,v,i){var m=ho.exec(v.slice(i,i+1));return m?(c.w=+m[0],i+m[0].length):-1}function _g(c,v,i){var m=ho.exec(v.slice(i,i+1));return m?(c.u=+m[0],i+m[0].length):-1}function Hm(c,v,i){var m=ho.exec(v.slice(i,i+2));return m?(c.U=+m[0],i+m[0].length):-1}function Zw(c,v,i){var m=ho.exec(v.slice(i,i+2));return m?(c.V=+m[0],i+m[0].length):-1}function jb(c,v,i){var m=ho.exec(v.slice(i,i+2));return m?(c.W=+m[0],i+m[0].length):-1}function Um(c,v,i){var m=ho.exec(v.slice(i,i+4));return m?(c.y=+m[0],i+m[0].length):-1}function Wm(c,v,i){var m=ho.exec(v.slice(i,i+2));return m?(c.y=+m[0]+(+m[0]>68?1900:2e3),i+m[0].length):-1}function Cg(c,v,i){var m=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(v.slice(i,i+6));return m?(c.Z=m[1]?0:-(m[2]+(m[3]||"00")),i+m[0].length):-1}function $m(c,v,i){var m=ho.exec(v.slice(i,i+1));return m?(c.q=3*m[0]-3,i+m[0].length):-1}function fh(c,v,i){var m=ho.exec(v.slice(i,i+2));return m?(c.m=m[0]-1,i+m[0].length):-1}function Vb(c,v,i){var m=ho.exec(v.slice(i,i+2));return m?(c.d=+m[0],i+m[0].length):-1}function n_(c,v,i){var m=ho.exec(v.slice(i,i+3));return m?(c.m=0,c.d=+m[0],i+m[0].length):-1}function wg(c,v,i){var m=ho.exec(v.slice(i,i+2));return m?(c.H=+m[0],i+m[0].length):-1}function s_(c,v,i){var m=ho.exec(v.slice(i,i+2));return m?(c.M=+m[0],i+m[0].length):-1}function zp(c,v,i){var m=ho.exec(v.slice(i,i+2));return m?(c.S=+m[0],i+m[0].length):-1}function zb(c,v,i){var m=ho.exec(v.slice(i,i+3));return m?(c.L=+m[0],i+m[0].length):-1}function Cu(c,v,i){var m=ho.exec(v.slice(i,i+6));return m?(c.L=Math.floor(m[0]/1e3),i+m[0].length):-1}function Gp(c,v,i){var m=t_.exec(v.slice(i,i+1));return m?i+m[0].length:-1}function Xm(c,v,i){var m=ho.exec(v.slice(i));return m?(c.Q=+m[0],i+m[0].length):-1}function Hp(c,v,i){var m=ho.exec(v.slice(i));return m?(c.s=+m[0],i+m[0].length):-1}function Ym(c,v){return ds(c.getDate(),v,2)}function Gb(c,v){return ds(c.getHours(),v,2)}function r_(c,v){return ds(c.getHours()%12||12,v,2)}function o_(c,v){return ds(1+Jx.count(Fp(c),c),v,3)}function Hb(c,v){return ds(c.getMilliseconds(),v,3)}function a_(c,v){return Hb(c,v)+"000"}function l_(c,v){return ds(c.getMonth()+1,v,2)}function c_(c,v){return ds(c.getMinutes(),v,2)}function Ub(c,v){return ds(c.getSeconds(),v,2)}function Wb(c){var v=c.getDay();return 0===v?7:v}function $b(c,v){return ds(Pb.count(Fp(c)-1,c),v,2)}function Km(c){var v=c.getDay();return v>=4||0===v?yu(c):yu.ceil(c)}function Tg(c,v){return c=Km(c),ds(yu.count(Fp(c),c)+(4===Fp(c).getDay()),v,2)}function h_(c){return c.getDay()}function qw(c,v){return ds(yg.count(Fp(c)-1,c),v,2)}function d_(c,v){return ds(c.getFullYear()%100,v,2)}function u_(c,v){return ds((c=Km(c)).getFullYear()%100,v,2)}function Xb(c,v){return ds(c.getFullYear()%1e4,v,4)}function p_(c,v){var i=c.getDay();return ds((c=i>=4||0===i?yu(c):yu.ceil(c)).getFullYear()%1e4,v,4)}function f_(c){var v=c.getTimezoneOffset();return(v>0?"-":(v*=-1,"+"))+ds(v/60|0,"0",2)+ds(v%60,"0",2)}function Zm(c,v){return ds(c.getUTCDate(),v,2)}function qm(c,v){return ds(c.getUTCHours(),v,2)}function Yb(c,v){return ds(c.getUTCHours()%12||12,v,2)}function Up(c,v){return ds(1+vg.count(xu(c),c),v,3)}function wu(c,v){return ds(c.getUTCMilliseconds(),v,3)}function Wp(c,v){return wu(c,v)+"000"}function g_(c,v){return ds(c.getUTCMonth()+1,v,2)}function m_(c,v){return ds(c.getUTCMinutes(),v,2)}function b_(c,v){return ds(c.getUTCSeconds(),v,2)}function Sg(c){var v=c.getUTCDay();return 0===v?7:v}function Qm(c,v){return ds(jm.count(xu(c)-1,c),v,2)}function Kb(c){var v=c.getUTCDay();return v>=4||0===v?Ql(c):Ql.ceil(c)}function Qw(c,v){return c=Kb(c),ds(Ql.count(xu(c),c)+(4===xu(c).getUTCDay()),v,2)}function Jw(c){return c.getUTCDay()}function v_(c,v){return ds(kn.count(xu(c)-1,c),v,2)}function y_(c,v){return ds(c.getUTCFullYear()%100,v,2)}function eT(c,v){return ds((c=Kb(c)).getUTCFullYear()%100,v,2)}function x_(c,v){return ds(c.getUTCFullYear()%1e4,v,4)}function tT(c,v){var i=c.getUTCDay();return ds((c=i>=4||0===i?Ql(c):Ql.ceil(c)).getUTCFullYear()%1e4,v,4)}function __(){return"+0000"}function Zb(){return"%"}function qb(c){return+c}function kg(c){return Math.floor(+c/1e3)}function ev(c){return null===c?NaN:+c}!function Jb(c){(function e_(c){var v=c.dateTime,i=c.date,m=c.time,W=c.periods,ce=c.days,De=c.shortDays,Ve=c.months,qe=c.shortMonths,et=Vp(W),gt=_u(W),Mt=Vp(ce),Pt=_u(ce),Wt=Vp(De),Zt=_u(De),hi=Vp(Ve),Xt=_u(Ve),pi=Vp(qe),Ci=_u(qe),gi={a:function Ei(Oi){return De[Oi.getDay()]},A:function ji(Oi){return ce[Oi.getDay()]},b:function Wi(Oi){return qe[Oi.getMonth()]},B:function Bn(Oi){return Ve[Oi.getMonth()]},c:null,d:Ym,e:Ym,f:a_,g:u_,G:p_,H:Gb,I:r_,j:o_,L:Hb,m:l_,M:c_,p:function es(Oi){return W[+(Oi.getHours()>=12)]},q:function Wn(Oi){return 1+~~(Oi.getMonth()/3)},Q:qb,s:kg,S:Ub,u:Wb,U:$b,V:Tg,w:h_,W:qw,x:null,X:null,y:d_,Y:Xb,Z:f_,"%":Zb},ki={a:function go(Oi){return De[Oi.getUTCDay()]},A:function as(Oi){return ce[Oi.getUTCDay()]},b:function Xr(Oi){return qe[Oi.getUTCMonth()]},B:function Pl(Oi){return Ve[Oi.getUTCMonth()]},c:null,d:Zm,e:Zm,f:Wp,g:eT,G:tT,H:qm,I:Yb,j:Up,L:wu,m:g_,M:m_,p:function ts(Oi){return W[+(Oi.getUTCHours()>=12)]},q:function Yr(Oi){return 1+~~(Oi.getUTCMonth()/3)},Q:qb,s:kg,S:b_,u:Sg,U:Qm,V:Qw,w:Jw,W:v_,x:null,X:null,y:y_,Y:x_,Z:__,"%":Zb},Bi={a:function Nn(Oi,fn,zn){var xi=Wt.exec(fn.slice(zn));return xi?(Oi.w=Zt.get(xi[0].toLowerCase()),zn+xi[0].length):-1},A:function Ui(Oi,fn,zn){var xi=Mt.exec(fn.slice(zn));return xi?(Oi.w=Pt.get(xi[0].toLowerCase()),zn+xi[0].length):-1},b:function Un(Oi,fn,zn){var xi=pi.exec(fn.slice(zn));return xi?(Oi.m=Ci.get(xi[0].toLowerCase()),zn+xi[0].length):-1},B:function Ri(Oi,fn,zn){var xi=hi.exec(fn.slice(zn));return xi?(Oi.m=Xt.get(xi[0].toLowerCase()),zn+xi[0].length):-1},c:function Ji(Oi,fn,zn){return ln(Oi,v,fn,zn)},d:Vb,e:Vb,f:Cu,g:Wm,G:Um,H:wg,I:wg,j:n_,L:zb,m:fh,M:s_,p:function ps(Oi,fn,zn){var xi=et.exec(fn.slice(zn));return xi?(Oi.p=gt.get(xi[0].toLowerCase()),zn+xi[0].length):-1},q:$m,Q:Xm,s:Hp,S:zp,u:_g,U:Hm,V:Zw,w:Bb,W:jb,x:function Js(Oi,fn,zn){return ln(Oi,i,fn,zn)},X:function yi(Oi,fn,zn){return ln(Oi,m,fn,zn)},y:Wm,Y:Um,Z:Cg,"%":Gp};function Di(Oi,fn){return function(zn){var Ko,gn,dr,xi=[],br=-1,Es=0,Yo=Oi.length;for(zn instanceof Date||(zn=new Date(+zn));++br53)return null;"w"in xi||(xi.w=1),"Z"in xi?(Yo=(Es=Bp(jp(xi.y,0,1))).getUTCDay(),Es=Yo>4||0===Yo?kn.ceil(Es):kn(Es),Es=vg.offset(Es,7*(xi.V-1)),xi.y=Es.getUTCFullYear(),xi.m=Es.getUTCMonth(),xi.d=Es.getUTCDate()+(xi.w+6)%7):(Yo=(Es=Gm(jp(xi.y,0,1))).getDay(),Es=Yo>4||0===Yo?yg.ceil(Es):yg(Es),Es=Jx.offset(Es,7*(xi.V-1)),xi.y=Es.getFullYear(),xi.m=Es.getMonth(),xi.d=Es.getDate()+(xi.w+6)%7)}else("W"in xi||"U"in xi)&&("w"in xi||(xi.w="u"in xi?xi.u%7:"W"in xi?1:0),Yo="Z"in xi?Bp(jp(xi.y,0,1)).getUTCDay():Gm(jp(xi.y,0,1)).getDay(),xi.m=0,xi.d="W"in xi?(xi.w+6)%7+7*xi.W-(Yo+5)%7:xi.w+7*xi.U-(Yo+6)%7);return"Z"in xi?(xi.H+=xi.Z/100|0,xi.M+=xi.Z%100,Bp(xi)):Gm(xi)}}function ln(Oi,fn,zn,xi){for(var Ko,gn,br=0,Es=fn.length,Yo=zn.length;br=Yo)return-1;if(37===(Ko=fn.charCodeAt(br++))){if(Ko=fn.charAt(br++),!(gn=Bi[Ko in Fb?fn.charAt(br++):Ko])||(xi=gn(Oi,zn,xi))<0)return-1}else if(Ko!=zn.charCodeAt(xi++))return-1}return xi}return gi.x=Di(i,gi),gi.X=Di(m,gi),gi.c=Di(v,gi),ki.x=Di(i,ki),ki.X=Di(m,ki),ki.c=Di(v,ki),{format:function(Oi){var fn=Di(Oi+="",gi);return fn.toString=function(){return Oi},fn},parse:function(Oi){var fn=on(Oi+="",!1);return fn.toString=function(){return Oi},fn},utcFormat:function(Oi){var fn=Di(Oi+="",ki);return fn.toString=function(){return Oi},fn},utcParse:function(Oi){var fn=on(Oi+="",!0);return fn.toString=function(){return Oi},fn}}})(c)}({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"]});const C_=vd(bd).right,Xp=(vd(ev),C_);function T_(c,v){return c=+c,v=+v,function(i){return Math.round(c*(1-i)+v*i)}}function k_(c){return+c}var tv=[0,1];function Tu(c){return c}function Yp(c,v){return(v-=c=+c)?function(i){return(i-c)/v}:function S_(c){return function(){return c}}(isNaN(v)?NaN:.5)}function M_(c,v,i){var m=c[0],W=c[1],ce=v[0],De=v[1];return Wv&&(i=c,c=v,v=i),function(m){return Math.max(c,Math.min(v,m))}}(c[0],c[Pt-1])),Ve=Pt>2?Ag:M_,qe=et=null,Mt}function Mt(Pt){return null==Pt||isNaN(Pt=+Pt)?ce:(qe||(qe=Ve(c.map(m),v,i)))(m(De(Pt)))}return Mt.invert=function(Pt){return De(W((et||(et=Ve(v,c.map(m),Aa)))(Pt)))},Mt.domain=function(Pt){return arguments.length?(c=Array.from(Pt,k_),gt()):c.slice()},Mt.range=function(Pt){return arguments.length?(v=Array.from(Pt),gt()):v.slice()},Mt.rangeRound=function(Pt){return v=Array.from(Pt),i=T_,gt()},Mt.clamp=function(Pt){return arguments.length?(De=!!Pt||Tu,gt()):De!==Tu},Mt.interpolate=function(Pt){return arguments.length?(i=Pt,gt()):i},Mt.unknown=function(Pt){return arguments.length?(ce=Pt,Mt):ce},function(Pt,Wt){return m=Pt,W=Wt,gt()}}()(Tu,Tu)}function qp(c,v){switch(arguments.length){case 0:break;case 1:this.range(c);break;default:this.range(v).domain(c)}return this}var Su,A_=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Ig(c){if(!(v=A_.exec(c)))throw new Error("invalid format: "+c);var v;return new $h({fill:v[1],align:v[2],sign:v[3],symbol:v[4],zero:v[5],width:v[6],comma:v[7],precision:v[8]&&v[8].slice(1),trim:v[9],type:v[10]})}function $h(c){this.fill=void 0===c.fill?" ":c.fill+"",this.align=void 0===c.align?">":c.align+"",this.sign=void 0===c.sign?"-":c.sign+"",this.symbol=void 0===c.symbol?"":c.symbol+"",this.zero=!!c.zero,this.width=void 0===c.width?void 0:+c.width,this.comma=!!c.comma,this.precision=void 0===c.precision?void 0:+c.precision,this.trim=!!c.trim,this.type=void 0===c.type?"":c.type+""}function Pg(c,v){if((i=(c=v?c.toExponential(v-1):c.toExponential()).indexOf("e"))<0)return null;var i,m=c.slice(0,i);return[m.length>1?m[0]+m.slice(2):m,+c.slice(i+1)]}function Cd(c){return(c=Pg(Math.abs(c)))?c[1]:NaN}function cv(c,v){var i=Pg(c,v);if(!i)return c+"";var m=i[0],W=i[1];return W<0?"0."+new Array(-W).join("0")+m:m.length>W+1?m.slice(0,W+1)+"."+m.slice(W+1):m+new Array(W-m.length+2).join("0")}Ig.prototype=$h.prototype,$h.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const hv={"%":(c,v)=>(100*c).toFixed(v),b:c=>Math.round(c).toString(2),c:c=>c+"",d:function Og(c){return Math.abs(c=Math.round(c))>=1e21?c.toLocaleString("en").replace(/,/g,""):c.toString(10)},e:(c,v)=>c.toExponential(v),f:(c,v)=>c.toFixed(v),g:(c,v)=>c.toPrecision(v),o:c=>Math.round(c).toString(8),p:(c,v)=>cv(100*c,v),r:cv,s:function lv(c,v){var i=Pg(c,v);if(!i)return c+"";var m=i[0],W=i[1],ce=W-(Su=3*Math.max(-8,Math.min(8,Math.floor(W/3))))+1,De=m.length;return ce===De?m:ce>De?m+new Array(ce-De+1).join("0"):ce>0?m.slice(0,ce)+"."+m.slice(ce):"0."+new Array(1-ce).join("0")+Pg(c,Math.max(0,v+ce-1))[0]},X:c=>Math.round(c).toString(16).toUpperCase(),x:c=>Math.round(c).toString(16)};function dv(c){return c}var Ja,e0,fv,Lg=Array.prototype.map,uv=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function L_(c){var v=c.domain;return c.ticks=function(i){var m=v();return function pb(c,v,i){if(!((i=+i)>0))return[];if((c=+c)==(v=+v))return[c];const m=v=W))return[];const Ve=ce-W+1,qe=new Array(Ve);if(m)if(De<0)for(let et=0;et0;){if((et=Em(De,Ve,i))===qe)return m[W]=De,m[ce]=Ve,v(m);if(et>0)De=Math.floor(De/et)*et,Ve=Math.ceil(Ve/et)*et;else{if(!(et<0))break;De=Math.ceil(De*et)/et,Ve=Math.floor(Ve*et)/et}qe=et}return c},c}function Qp(){var c=iv();return c.copy=function(){return function Zp(c,v){return v.domain(c.domain()).range(c.range()).interpolate(c.interpolate()).clamp(c.clamp()).unknown(c.unknown())}(c,Qp())},qp.apply(c,arguments),L_(c)}function Rg(c,v,i){c=+c,v=+v,i=(W=arguments.length)<2?(v=c,c=0,1):W<3?1:+i;for(var m=-1,W=0|Math.max(0,Math.ceil((v-c)/i)),ce=new Array(W);++m0&&Ve>0&&(qe+Ve+1>m&&(Ve=Math.max(1,m-qe)),ce.push(i.substring(W-=Ve,W+Ve)),!((qe+=Ve+1)>m));)Ve=c[De=(De+1)%c.length];return ce.reverse().join(v)}}(Lg.call(c.grouping,Number),c.thousands+""),i=void 0===c.currency?"":c.currency[0]+"",m=void 0===c.currency?"":c.currency[1]+"",W=void 0===c.decimal?".":c.decimal+"",ce=void 0===c.numerals?dv:function sT(c){return function(v){return v.replace(/[0-9]/g,function(i){return c[+i]})}}(Lg.call(c.numerals,String)),De=void 0===c.percent?"%":c.percent+"",Ve=void 0===c.minus?"\u2212":c.minus+"",qe=void 0===c.nan?"NaN":c.nan+"";function et(Mt){var Pt=(Mt=Ig(Mt)).fill,Wt=Mt.align,Zt=Mt.sign,hi=Mt.symbol,Xt=Mt.zero,pi=Mt.width,Ci=Mt.comma,gi=Mt.precision,ki=Mt.trim,Bi=Mt.type;"n"===Bi?(Ci=!0,Bi="g"):hv[Bi]||(void 0===gi&&(gi=12),ki=!0,Bi="g"),(Xt||"0"===Pt&&"="===Wt)&&(Xt=!0,Pt="0",Wt="=");var Di="$"===hi?i:"#"===hi&&/[boxX]/.test(Bi)?"0"+Bi.toLowerCase():"",on="$"===hi?m:/[%p]/.test(Bi)?De:"",ln=hv[Bi],ps=/[defgprs%]/.test(Bi);function Nn(Ui){var Ji,Js,yi,Un=Di,Ri=on;if("c"===Bi)Ri=ln(Ui)+Ri,Ui="";else{var Ei=(Ui=+Ui)<0||1/Ui<0;if(Ui=isNaN(Ui)?qe:ln(Math.abs(Ui),gi),ki&&(Ui=function O_(c){e:for(var W,v=c.length,i=1,m=-1;i0&&(m=0)}return m>0?c.slice(0,m)+c.slice(W+1):c}(Ui)),Ei&&0==+Ui&&"+"!==Zt&&(Ei=!1),Un=(Ei?"("===Zt?Zt:Ve:"-"===Zt||"("===Zt?"":Zt)+Un,Ri=("s"===Bi?uv[8+Su/3]:"")+Ri+(Ei&&"("===Zt?")":""),ps)for(Ji=-1,Js=Ui.length;++Ji(yi=Ui.charCodeAt(Ji))||yi>57){Ri=(46===yi?W+Ui.slice(Ji+1):Ui.slice(Ji))+Ri,Ui=Ui.slice(0,Ji);break}}Ci&&!Xt&&(Ui=v(Ui,1/0));var ji=Un.length+Ui.length+Ri.length,Wi=ji>1)+Un+Ui+Ri+Wi.slice(ji);break;default:Ui=Wi+Un+Ui+Ri}return ce(Ui)}return gi=void 0===gi?6:/[gprs]/.test(Bi)?Math.max(1,Math.min(21,gi)):Math.max(0,Math.min(20,gi)),Nn.toString=function(){return Mt+""},Nn}return{format:et,formatPrefix:function gt(Mt,Pt){var Wt=et(((Mt=Ig(Mt)).type="f",Mt)),Zt=3*Math.max(-8,Math.min(8,Math.floor(Cd(Pt)/3))),hi=Math.pow(10,-Zt),Xt=uv[8+Zt/3];return function(pi){return Wt(hi*pi)+Xt}}}}(c),e0=Ja.format,fv=Ja.formatPrefix}({thousands:",",grouping:[3],currency:["$",""]});class n0 extends Map{constructor(v,i=Xh){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:i}}),null!=v)for(const[m,W]of v)this.set(m,W)}get(v){return super.get(Ng(this,v))}has(v){return super.has(Ng(this,v))}set(v,i){return super.set(function gv({_intern:c,_key:v},i){const m=v(i);return c.has(m)?c.get(m):(c.set(m,i),i)}(this,v),i)}delete(v){return super.delete(function mv({_intern:c,_key:v},i){const m=v(i);return c.has(m)&&(i=c.get(m),c.delete(m)),i}(this,v))}}function Ng({_intern:c,_key:v},i){const m=v(i);return c.has(m)?c.get(m):i}function Xh(c){return null!==c&&"object"==typeof c?c.valueOf():c}Set;const s0=Symbol("implicit");function Jp(){var c=new n0,v=[],i=[],m=s0;function W(ce){let De=c.get(ce);if(void 0===De){if(m!==s0)return m;c.set(ce,De=v.push(ce)-1)}return i[De%i.length]}return W.domain=function(ce){if(!arguments.length)return v.slice();v=[],c=new n0;for(const De of ce)c.has(De)||c.set(De,v.push(De)-1);return W},W.range=function(ce){return arguments.length?(i=Array.from(ce),W):i.slice()},W.unknown=function(ce){return arguments.length?(m=ce,W):m},W.copy=function(){return Jp(v,i).unknown(m)},qp.apply(W,arguments),W}function r0(){var ce,De,c=Jp().unknown(void 0),v=c.domain,i=c.range,m=0,W=1,Ve=!1,qe=0,et=0,gt=.5;function Mt(){var Pt=v().length,Wt=W=1)return+i(c[m-1],m-1,c);var m,W=(m-1)*v,ce=Math.floor(W),De=+i(c[ce],ce,c);return De+(+i(c[ce+1],ce+1,c)-De)*(W-ce)}}function gh(){var m,c=[],v=[],i=[];function W(){var De=0,Ve=Math.max(1,v.length);for(i=new Array(Ve-1);++De0?i[Ve-1]:c[0],Ve=1?Td:c<=-1?-Td:Math.asin(c)}const l0=Math.PI,Sd=2*l0,kd=1e-6,B_=Sd-kd;function _v(c){this._+=c[0];for(let v=1,i=c.length;v=0))throw new Error(`invalid digits: ${c}`);if(v>15)return _v;const i=10**v;return function(m){this._+=m[0];for(let W=1,ce=m.length;Wkd)if(Math.abs(Mt*qe-et*gt)>kd&&ce){let Wt=m-De,Zt=W-Ve,hi=qe*qe+et*et,Xt=Wt*Wt+Zt*Zt,pi=Math.sqrt(hi),Ci=Math.sqrt(Pt),gi=ce*Math.tan((l0-Math.acos((hi+Pt-Xt)/(2*pi*Ci)))/2),ki=gi/Ci,Bi=gi/pi;Math.abs(ki-1)>kd&&this._append`L${v+ki*gt},${i+ki*Mt}`,this._append`A${ce},${ce},0,0,${+(Mt*Wt>gt*Zt)},${this._x1=v+Bi*qe},${this._y1=i+Bi*et}`}else this._append`L${this._x1=v},${this._y1=i}`}arc(v,i,m,W,ce,De){if(v=+v,i=+i,De=!!De,(m=+m)<0)throw new Error(`negative radius: ${m}`);let Ve=m*Math.cos(W),qe=m*Math.sin(W),et=v+Ve,gt=i+qe,Mt=1^De,Pt=De?W-ce:ce-W;null===this._x1?this._append`M${et},${gt}`:(Math.abs(this._x1-et)>kd||Math.abs(this._y1-gt)>kd)&&this._append`L${et},${gt}`,m&&(Pt<0&&(Pt=Pt%Sd+Sd),Pt>B_?this._append`A${m},${m},0,1,${Mt},${v-Ve},${i-qe}A${m},${m},0,1,${Mt},${this._x1=et},${this._y1=gt}`:Pt>kd&&this._append`A${m},${m},0,${+(Pt>=l0)},${Mt},${this._x1=v+m*Math.cos(ce)},${this._y1=i+m*Math.sin(ce)}`)}rect(v,i,m,W){this._append`M${this._x0=this._x1=+v},${this._y0=this._y1=+i}h${m=+m}v${+W}h${-m}Z`}toString(){return this._}}function jg(c){return c.innerRadius}function G_(c){return c.outerRadius}function H_(c){return c.startAngle}function Cv(c){return c.endAngle}function wv(c){return c&&c.padAngle}function sf(c,v,i,m,W,ce,De){var Ve=c-i,qe=v-m,et=(De?ce:-ce)/el(Ve*Ve+qe*qe),gt=et*qe,Mt=-et*Ve,Pt=c+gt,Wt=v+Mt,Zt=i+gt,hi=m+Mt,Xt=(Pt+Zt)/2,pi=(Wt+hi)/2,Ci=Zt-Pt,gi=hi-Wt,ki=Ci*Ci+gi*gi,Bi=W-ce,Di=Pt*hi-Zt*Wt,on=(gi<0?-1:1)*el(F_(0,Bi*Bi*ki-Di*Di)),ln=(Di*gi-Ci*on)/ki,ps=(-Di*Ci-gi*on)/ki,Nn=(Di*gi+Ci*on)/ki,Ui=(-Di*Ci+gi*on)/ki,Un=ln-Xt,Ri=ps-pi,Ji=Nn-Xt,Js=Ui-pi;return Un*Un+Ri*Ri>Ji*Ji+Js*Js&&(ln=Nn,ps=Ui),{cx:ln,cy:ps,x01:-gt,y01:-Mt,x11:ln*(W/Bi-1),y11:ps*(W/Bi-1)}}function h0(){var c=jg,v=G_,i=uo(0),m=null,W=H_,ce=Cv,De=wv,Ve=null,qe=function z_(c){let v=3;return c.digits=function(i){if(!arguments.length)return v;if(null==i)v=null;else{const m=Math.floor(i);if(!(m>=0))throw new RangeError(`invalid digits: ${i}`);v=m}return c},()=>new Bg(v)}(et);function et(){var gt,Mt,Pt=+c.apply(this,arguments),Wt=+v.apply(this,arguments),Zt=W.apply(this,arguments)-Td,hi=ce.apply(this,arguments)-Td,Xt=a0(hi-Zt),pi=hi>Zt;if(Ve||(Ve=gt=qe()),Wtpo)if(Xt>nf-po)Ve.moveTo(Wt*wd(Zt),Wt*Jl(Zt)),Ve.arc(0,0,Wt,Zt,hi,!pi),Pt>po&&(Ve.moveTo(Pt*wd(hi),Pt*Jl(hi)),Ve.arc(0,0,Pt,hi,Zt,pi));else{var Ri,Ji,Ci=Zt,gi=hi,ki=Zt,Bi=hi,Di=Xt,on=Xt,ln=De.apply(this,arguments)/2,ps=ln>po&&(m?+m.apply(this,arguments):el(Pt*Pt+Wt*Wt)),Nn=tf(a0(Wt-Pt)/2,+i.apply(this,arguments)),Ui=Nn,Un=Nn;if(ps>po){var Js=xv(ps/Pt*Jl(ln)),yi=xv(ps/Wt*Jl(ln));(Di-=2*Js)>po?(ki+=Js*=pi?1:-1,Bi-=Js):(Di=0,ki=Bi=(Zt+hi)/2),(on-=2*yi)>po?(Ci+=yi*=pi?1:-1,gi-=yi):(on=0,Ci=gi=(Zt+hi)/2)}var Ei=Wt*wd(Ci),ji=Wt*Jl(Ci),Wi=Pt*wd(Bi),Bn=Pt*Jl(Bi);if(Nn>po){var Xr,es=Wt*wd(gi),Wn=Wt*Jl(gi),go=Pt*wd(ki),as=Pt*Jl(ki);if(Xt1?0:c<-1?Fg:Math.acos(c)}((Pl*Yr+ts*Oi)/(el(Pl*Pl+ts*ts)*el(Yr*Yr+Oi*Oi)))/2),zn=el(Xr[0]*Xr[0]+Xr[1]*Xr[1]);Ui=tf(Nn,(Pt-zn)/(fn-1)),Un=tf(Nn,(Wt-zn)/(fn+1))}else Ui=Un=0}on>po?Un>po?(Ri=sf(go,as,Ei,ji,Wt,Un,pi),Ji=sf(es,Wn,Wi,Bn,Wt,Un,pi),Ve.moveTo(Ri.cx+Ri.x01,Ri.cy+Ri.y01),Unpo&&Di>po?Ui>po?(Ri=sf(Wi,Bn,es,Wn,Pt,-Ui,pi),Ji=sf(Ei,ji,go,as,Pt,-Ui,pi),Ve.lineTo(Ri.cx+Ri.x01,Ri.cy+Ri.y01),Uic?1:v>=c?0:NaN}function Sv(c){return c}var X_=He(76021);const u0=["caretElm"],p0=c=>({model:c});function kv(c,v){}function f0(c,v){if(1&c&&(e.j41(0,"span"),e.DNE(1,kv,0,0,"ng-template",5),e.k0s()),2&c){const i=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",i.template)("ngTemplateOutletContext",e.eq3(2,p0,i.context))}}function g0(c,v){if(1&c&&e.nrm(0,"span",6),2&c){const i=e.XpG();e.Y8G("innerHTML",i.title,e.npT)}}function Y_(c,v){if(1&c&&(e.j41(0,"header",4)(1,"span",5),e.EFF(2),e.k0s()()),2&c){const i=e.XpG();e.R7$(2),e.JRh(i.title)}}function K_(c,v){if(1&c){const i=e.RV6();e.j41(0,"li",6)(1,"ngx-charts-legend-entry",7),e.bIt("select",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.labelClick.emit(W))})("activate",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.activate(W))})("deactivate",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.deactivate(W))}),e.k0s()()}if(2&c){const i=v.$implicit,m=e.XpG();e.R7$(),e.Y8G("label",i.label)("formattedLabel",i.formattedLabel)("color",i.color)("isActive",m.isActive(i))}}const Mv=["*"];function Z_(c,v){if(1&c&&e.nrm(0,"ngx-charts-scale-legend",4),2&c){const i=e.XpG();e.Y8G("horizontal",i.legendOptions&&i.legendOptions.position===i.LegendPosition.Below)("valueRange",i.legendOptions.domain)("colors",i.legendOptions.colors)("height",i.view[1])("width",i.legendWidth)}}function Dv(c,v){if(1&c){const i=e.RV6();e.j41(0,"ngx-charts-legend",5),e.bIt("labelClick",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.legendLabelClick.emit(W))})("labelActivate",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.legendLabelActivate.emit(W))})("labelDeactivate",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.legendLabelDeactivate.emit(W))}),e.k0s()}if(2&c){const i=e.XpG();e.Y8G("horizontal",i.legendOptions&&i.legendOptions.position===i.LegendPosition.Below)("data",i.legendOptions.domain)("title",i.legendOptions.title)("colors",i.legendOptions.colors)("height",i.view[1])("width",i.legendWidth)("activeEntries",i.activeEntries)}}const Vv=["ngx-charts-svg-radial-gradient",""];function c1(c,v){if(1&c&&(e.qSk(),e.nrm(0,"stop")),2&c){const i=v.$implicit;e.xc7("stop-color",i.color)("stop-opacity",i.opacity),e.BMQ("offset",i.offset+"%")}}const d1=["ngx-charts-count-up",""];function xT(c,v){if(1&c&&e.nrm(0,"div",7),2&c){const i=e.XpG();e.Y8G("countTo",i.roundedTotal)("valueFormatting",i.valueFormatting)}}function Hv(c,v){if(1&c&&(e.j41(0,"div",8),e.EFF(1),e.k0s()),2&c){const i=e.XpG();e.R7$(),e.SpI(" ",i.valueFormatting?i.valueFormatting(i.roundedTotal):i.defaultValueFormatting(i.roundedTotal)," ")}}function _T(c,v){if(1&c&&e.nrm(0,"div",16),2&c){const i=e.XpG().$implicit,m=e.XpG();e.Y8G("countTo",i._value)("valueFormatting",m.valueFormatting)}}function f1(c,v){if(1&c&&(e.j41(0,"div",17),e.EFF(1),e.k0s()),2&c){const i=e.XpG().$implicit,m=e.XpG();e.R7$(),e.SpI(" ",m.valueFormatting?m.valueFormatting(i.value):m.defaultValueFormatting(i.value)," ")}}function Uv(c,v){if(1&c&&e.nrm(0,"div",18),2&c){const i=e.XpG().$implicit;e.Y8G("countTo",i.percentage)("countSuffix","%")}}function v0(c,v){if(1&c&&(e.j41(0,"div",19),e.EFF(1),e.k0s()),2&c){const i=e.XpG().$implicit;e.R7$(),e.SpI("",i.percentage.toLocaleString(),"%")}}function g1(c,v){if(1&c){const i=e.RV6();e.j41(0,"div",9),e.bIt("mouseenter",function(){const W=e.eBV(i).$implicit,ce=e.XpG();return e.Njj(ce.activate.emit(W.data))})("mouseleave",function(){const W=e.eBV(i).$implicit,ce=e.XpG();return e.Njj(ce.deactivate.emit(W.data))})("click",function(){const W=e.eBV(i).$implicit,ce=e.XpG();return e.Njj(ce.select.emit(W.data))}),e.nrm(1,"div",10),e.DNE(2,_T,1,2,"div",11)(3,f1,2,1,"div",12),e.j41(4,"div",13),e.EFF(5),e.k0s(),e.DNE(6,Uv,1,2,"div",14)(7,v0,2,1,"div",15),e.k0s()}if(2&c){const i=v.$implicit,m=e.XpG();e.R7$(),e.xc7("border-left-color",i.color),e.R7$(),e.Y8G("ngIf",m.animations),e.R7$(),e.Y8G("ngIf",!m.animations),e.R7$(2),e.JRh(i.displayLabel),e.R7$(),e.Y8G("ngIf",m.animations),e.R7$(),e.Y8G("ngIf",!m.animations)}}const zg=["tooltipTemplate"],af=(c,v)=>[c,v],dy=["ngx-charts-pie-label",""],Iu=["ngx-charts-pie-arc",""];function Ou(c,v){if(1&c&&(e.qSk(),e.j41(0,"defs"),e.nrm(1,"g",3),e.k0s()),2&c){const i=e.XpG();e.R7$(),e.Y8G("color",i.fill)("name",i.radialGradientId)("startOpacity",i.startOpacity)}}const Pu=["ngx-charts-pie-series",""];function Lu(c,v){if(1&c&&(e.qSk(),e.nrm(0,"g",3)),2&c){const i=e.XpG().$implicit,m=e.XpG();e.Y8G("data",i)("radius",m.outerRadius)("color",m.color(i))("label",m.labelText(i))("labelTrim",m.trimLabels)("labelTrimSize",m.maxLabelLength)("max",m.max)("value",i.value)("explodeSlices",m.explodeSlices)("animations",m.animations)}}function Ru(c,v){if(1&c){const i=e.RV6();e.qSk(),e.j41(0,"g"),e.DNE(1,Lu,1,10,"g",1),e.j41(2,"g",2),e.bIt("select",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.onClick(W))})("activate",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.activate.emit(W))})("deactivate",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.deactivate.emit(W))})("dblclick",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.dblclick.emit(W))}),e.k0s()()}if(2&c){const i=v.$implicit,m=e.XpG();e.R7$(),e.Y8G("ngIf",m.labelVisible(i)),e.R7$(),e.Y8G("startAngle",i.startAngle)("endAngle",i.endAngle)("innerRadius",m.innerRadius)("outerRadius",m.outerRadius)("fill",m.color(i))("value",i.data.value)("gradient",m.gradient)("data",i.data)("max",m.max)("explodeSlices",m.explodeSlices)("isActive",m.isActive(i.data))("animate",m.animations)("tooltipDisabled",m.tooltipDisabled)("tooltipPlacement",m.placementTypes.Top)("tooltipType",m.styleTypes.tooltip)("tooltipTitle",m.getTooltipTitle(i))("tooltipTemplate",m.tooltipTemplate)("tooltipContext",i.data)}}function nC(c,v,i){i=i||{};let m,W,ce,De=null,Ve=0;function qe(){Ve=!1===i.leading?0:+new Date,De=null,ce=c.apply(m,W)}return function(){const et=+new Date;!Ve&&!1===i.leading&&(Ve=et);const gt=v-(et-Ve);return m=this,W=arguments,gt<=0?(clearTimeout(De),De=null,Ve=et,ce=c.apply(m,W)):!De&&!1!==i.trailing&&(De=setTimeout(qe,gt)),ce}}function Cy(c,v){return function(m,W,ce){return{configurable:!0,enumerable:ce.enumerable,get:function(){return Object.defineProperty(this,W,{configurable:!0,enumerable:ce.enumerable,value:nC(ce.value,c,v)}),this[W]}}}}var Jn=function(c){return c.Top="top",c.Bottom="bottom",c.Left="left",c.Right="right",c.Center="center",c}(Jn||{});function Xg(c,v,i){return i===Jn.Top?c.top-7:i===Jn.Bottom?c.top+c.height-v.height+7:i===Jn.Center?c.top+c.height/2-v.height/2:void 0}function Yg(c,v,i){return i===Jn.Left?c.left-7:i===Jn.Right?c.left+c.width-v.width+7:i===Jn.Center?c.left+c.width/2-v.width/2:void 0}class ua{static calculateVerticalAlignment(v,i,m){let W=Xg(v,i,m);return W+i.height>window.innerHeight&&(W=window.innerHeight-i.height),W}static calculateVerticalCaret(v,i,m,W){let ce;W===Jn.Top&&(ce=v.height/2-m.height/2+7),W===Jn.Bottom&&(ce=i.height-v.height/2-m.height/2-7),W===Jn.Center&&(ce=i.height/2-m.height/2);const De=Xg(v,i,W);return De+i.height>window.innerHeight&&(ce+=De+i.height-window.innerHeight),ce}static calculateHorizontalAlignment(v,i,m){let W=Yg(v,i,m);return W+i.width>window.innerWidth&&(W=window.innerWidth-i.width),W}static calculateHorizontalCaret(v,i,m,W){let ce;W===Jn.Left&&(ce=v.width/2-m.width/2+7),W===Jn.Right&&(ce=i.width-v.width/2-m.width/2-7),W===Jn.Center&&(ce=i.width/2-m.width/2);const De=Yg(v,i,W);return De+i.width>window.innerWidth&&(ce+=De+i.width-window.innerWidth),ce}static shouldFlip(v,i,m,W){let ce=!1;return m===Jn.Right&&v.left+v.width+i.width+W>window.innerWidth&&(ce=!0),m===Jn.Left&&v.left-i.width-W<0&&(ce=!0),m===Jn.Top&&v.top-i.height-W<0&&(ce=!0),m===Jn.Bottom&&v.top+v.height+i.height+W>window.innerHeight&&(ce=!0),ce}static positionCaret(v,i,m,W,ce){let De=0,Ve=0;return v===Jn.Right?(Ve=-7,De=ua.calculateVerticalCaret(m,i,W,ce)):v===Jn.Left?(Ve=i.width,De=ua.calculateVerticalCaret(m,i,W,ce)):v===Jn.Top?(De=i.height,Ve=ua.calculateHorizontalCaret(m,i,W,ce)):v===Jn.Bottom&&(De=-7,Ve=ua.calculateHorizontalCaret(m,i,W,ce)),{top:De,left:Ve}}static positionContent(v,i,m,W,ce){let De=0,Ve=0;return v===Jn.Right?(Ve=m.left+m.width+W,De=ua.calculateVerticalAlignment(m,i,ce)):v===Jn.Left?(Ve=m.left-i.width-W,De=ua.calculateVerticalAlignment(m,i,ce)):v===Jn.Top?(De=m.top-i.height-W,Ve=ua.calculateHorizontalAlignment(m,i,ce)):v===Jn.Bottom&&(De=m.top+m.height+W,Ve=ua.calculateHorizontalAlignment(m,i,ce)),{top:De,left:Ve}}static determinePlacement(v,i,m,W){if(ua.shouldFlip(m,i,v,W)){if(v===Jn.Right)return Jn.Left;if(v===Jn.Left)return Jn.Right;if(v===Jn.Top)return Jn.Bottom;if(v===Jn.Bottom)return Jn.Top}return v}}let tc=(()=>{class c{constructor(i,m,W){this.element=i,this.renderer=m,this.platformId=W}get cssClasses(){let i="ngx-charts-tooltip-content";return i+=` position-${this.placement}`,i+=` type-${this.type}`,i+=` ${this.cssClass}`,i}ngAfterViewInit(){setTimeout(this.position.bind(this))}position(){if(!(0,Qi.UE)(this.platformId))return;const i=this.element.nativeElement,m=this.host.nativeElement.getBoundingClientRect();if(!m.height&&!m.width)return;const W=i.getBoundingClientRect();this.checkFlip(m,W),this.positionContent(i,m,W),this.showCaret&&this.positionCaret(m,W),setTimeout(()=>this.renderer.addClass(i,"animate"),1)}positionContent(i,m,W){const{top:ce,left:De}=ua.positionContent(this.placement,W,m,this.spacing,this.alignment);this.renderer.setStyle(i,"top",`${ce}px`),this.renderer.setStyle(i,"left",`${De}px`)}positionCaret(i,m){const W=this.caretElm.nativeElement,ce=W.getBoundingClientRect(),{top:De,left:Ve}=ua.positionCaret(this.placement,m,i,ce,this.alignment);this.renderer.setStyle(W,"top",`${De}px`),this.renderer.setStyle(W,"left",`${Ve}px`)}checkFlip(i,m){this.placement=ua.determinePlacement(this.placement,m,i,this.spacing)}onWindowResize(){this.position()}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(e.aKT),e.rXU(e.sFG),e.rXU(e.Agw))},c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-tooltip-content"]],viewQuery:function(i,m){if(1&i&&e.GBs(u0,5),2&i){let W;e.mGM(W=e.lsd())&&(m.caretElm=W.first)}},hostVars:2,hostBindings:function(i,m){1&i&&e.bIt("resize",function(){return m.onWindowResize()},!1,e.tSv),2&i&&e.HbH(m.cssClasses)},inputs:{host:"host",showCaret:"showCaret",type:"type",placement:"placement",alignment:"alignment",spacing:"spacing",cssClass:"cssClass",title:"title",template:"template",context:"context"},decls:6,vars:6,consts:[["caretElm",""],[3,"hidden"],[1,"tooltip-content"],[4,"ngIf"],[3,"innerHTML",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"innerHTML"]],template:function(i,m){1&i&&(e.j41(0,"div"),e.nrm(1,"span",1,0),e.j41(3,"div",2),e.DNE(4,f0,2,4,"span",3)(5,g0,1,1,"span",4),e.k0s()()),2&i&&(e.R7$(),e.ZvI("tooltip-caret position-",m.placement,""),e.Y8G("hidden",!m.showCaret),e.R7$(3),e.Y8G("ngIf",!m.title),e.R7$(),e.Y8G("ngIf",m.title))},dependencies:[Qi.bT,Qi.T3],styles:[".ngx-charts-tooltip-content{position:fixed;border-radius:3px;z-index:5000;display:block;font-weight:400;opacity:0;pointer-events:none!important}.ngx-charts-tooltip-content.type-popover{background:#fff;color:#060709;border:1px solid #72809b;box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;font-size:13px;padding:4px}.ngx-charts-tooltip-content.type-popover .tooltip-caret{position:absolute;z-index:5001;width:0;height:0}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-left{border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-top{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-right{border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-bottom{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #fff}.ngx-charts-tooltip-content.type-tooltip{color:#fff;background:rgba(0,0,0,.75);font-size:12px;padding:0 10px;text-align:center;pointer-events:auto}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-left{border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-top{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-right{border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-bottom{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content .tooltip-label{display:block;line-height:1em;padding:8px 5px 5px;font-size:1em}.ngx-charts-tooltip-content .tooltip-val{display:block;font-size:1.3em;line-height:1em;padding:0 5px 8px}.ngx-charts-tooltip-content .tooltip-caret{position:absolute;z-index:5001;width:0;height:0}.ngx-charts-tooltip-content.position-right{transform:translate(10px)}.ngx-charts-tooltip-content.position-left{transform:translate(-10px)}.ngx-charts-tooltip-content.position-top{transform:translateY(-10px)}.ngx-charts-tooltip-content.position-bottom{transform:translateY(10px)}.ngx-charts-tooltip-content.animate{opacity:1;transition:opacity .3s,transform .3s;transform:translate(0);pointer-events:auto}.area-tooltip-container{padding:5px 0;pointer-events:none}.tooltip-item{text-align:left;line-height:1.2em;padding:5px 0}.tooltip-item .tooltip-item-color{display:inline-block;height:12px;width:12px;margin-right:5px;color:#5b646b;border-radius:3px}\n"],encapsulation:2}),(0,Be.Cg)([Cy(100)],c.prototype,"onWindowResize",null),c})();class sC{constructor(v){this.injectionService=v,this.defaults={},this.components=new Map}getByType(v=this.type){return this.components.get(v)}create(v){return this.createByType(this.type,v)}createByType(v,i){i=this.assignDefaults(i);const m=this.injectComponent(v,i);return this.register(v,m),m}destroy(v){const i=this.components.get(v.componentType);if(i&&i.length){const m=i.indexOf(v);m>-1&&(i[m].destroy(),i.splice(m,1))}}destroyAll(){this.destroyByType(this.type)}destroyByType(v){const i=this.components.get(v);if(i&&i.length){let m=i.length-1;for(;m>=0;)this.destroy(i[m--])}}injectComponent(v,i){return this.injectionService.appendComponent(v,i)}assignDefaults(v){const i={...this.defaults.inputs},m={...this.defaults.outputs};return!v.inputs&&!v.outputs&&(v={inputs:v}),i&&(v.inputs={...i,...v.inputs}),m&&(v.outputs={...m,...v.outputs}),v}register(v,i){this.components.has(v)||this.components.set(v,[]),this.components.get(v).push(i)}}let ic=(()=>{class c{constructor(i,m,W){this.applicationRef=i,this.componentFactoryResolver=m,this.injector=W}static setGlobalRootViewContainer(i){c.globalRootViewContainer=i}getRootViewContainer(){if(this._container)return this._container;if(c.globalRootViewContainer)return c.globalRootViewContainer;if(this.applicationRef.components.length)return this.applicationRef.components[0];throw new Error("View Container not found! ngUpgrade needs to manually set this via setRootViewContainer or setGlobalRootViewContainer.")}setRootViewContainer(i){this._container=i}getComponentRootNode(i){return function wy(c){return c.element}(i)?i.element.nativeElement:i.hostView&&i.hostView.rootNodes.length>0?i.hostView.rootNodes[0]:i.location.nativeElement}getRootViewContainerNode(i){return this.getComponentRootNode(i)}projectComponentBindings(i,m){if(m){if(void 0!==m.inputs){const W=Object.getOwnPropertyNames(m.inputs);for(const ce of W)i.instance[ce]=m.inputs[ce]}if(void 0!==m.outputs){const W=Object.getOwnPropertyNames(m.outputs);for(const ce of W)i.instance[ce]=m.outputs[ce]}}return i}appendComponent(i,m={},W){W||(W=this.getRootViewContainer());const ce=this.getComponentRootNode(W),De=new Wa(ce,this.componentFactoryResolver,this.applicationRef,this.injector),Ve=new vn(i),qe=De.attach(Ve);return this.projectComponentBindings(qe,m),qe}}return c.globalRootViewContainer=null,c.\u0275fac=function(i){return new(i||c)(e.KVO(e.o8S),e.KVO(e.OM3),e.KVO(e.zZn))},c.\u0275prov=e.jDH({token:c,factory:c.\u0275fac}),c})(),tl=(()=>{class c extends sC{constructor(i){super(i),this.type=tc}}return c.\u0275fac=function(i){return new(i||c)(e.KVO(ic))},c.\u0275prov=e.jDH({token:c,factory:c.\u0275fac}),c})();var Xo=function(c){return c.Right="right",c.Below="below",c}(Xo||{}),Nu=function(c){return c.ScaleLegend="scaleLegend",c.Legend="legend",c}(Nu||{}),xn=function(c){return c.Time="time",c.Linear="linear",c.Ordinal="ordinal",c.Quantile="quantile",c}(xn||{});let Ty=(()=>{class c{constructor(){this.horizontal=!1}ngOnChanges(i){const m=this.gradientString(this.colors.range(),this.colors.domain());this.gradient=`linear-gradient(to ${this.horizontal?"right":"bottom"}, ${m})`}gradientString(i,m){m.push(1);const W=[];return i.reverse().forEach((ce,De)=>{W.push(`${ce} ${Math.round(100*m[De])}%`)}),W.join(", ")}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-charts-scale-legend"]],inputs:{valueRange:"valueRange",colors:"colors",height:"height",width:"width",horizontal:"horizontal"},features:[e.OA$],decls:8,vars:10,consts:[[1,"scale-legend"],[1,"scale-legend-label"],[1,"scale-legend-wrap"]],template:function(i,m){1&i&&(e.j41(0,"div",0)(1,"div",1)(2,"span"),e.EFF(3),e.k0s()(),e.nrm(4,"div",2),e.j41(5,"div",1)(6,"span"),e.EFF(7),e.k0s()()()),2&i&&(e.xc7("height",m.horizontal?void 0:m.height,"px")("width",m.width,"px"),e.AVh("horizontal-legend",m.horizontal),e.R7$(3),e.JRh(m.valueRange[1].toLocaleString()),e.R7$(),e.xc7("background",m.gradient),e.R7$(3),e.JRh(m.valueRange[0].toLocaleString()))},styles:[".chart-legend{display:inline-block;padding:0;width:auto!important}.chart-legend .scale-legend{text-align:center;display:flex;flex-direction:column}.chart-legend .scale-legend-wrap{display:inline-block;flex:1;width:30px;border-radius:5px;margin:0 auto}.chart-legend .scale-legend-label{font-size:12px}.chart-legend .horizontal-legend.scale-legend{flex-direction:row}.chart-legend .horizontal-legend .scale-legend-wrap{width:auto;height:30px;margin:0 16px}\n"],encapsulation:2,changeDetection:0}),c})();function _f(c){return c instanceof Date?c.toLocaleDateString():c.toLocaleString()}let Sy=(()=>{class c{constructor(){this.isActive=!1,this.select=new e.bkB,this.activate=new e.bkB,this.deactivate=new e.bkB,this.toggle=new e.bkB}get trimmedLabel(){return this.formattedLabel||"(empty)"}onMouseEnter(){this.activate.emit({name:this.label})}onMouseLeave(){this.deactivate.emit({name:this.label})}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-charts-legend-entry"]],hostBindings:function(i,m){1&i&&e.bIt("mouseenter",function(){return m.onMouseEnter()})("mouseleave",function(){return m.onMouseLeave()})},inputs:{color:"color",label:"label",formattedLabel:"formattedLabel",isActive:"isActive"},outputs:{select:"select",activate:"activate",deactivate:"deactivate",toggle:"toggle"},decls:4,vars:6,consts:[["tabindex","-1",3,"click","title"],[1,"legend-label-color",3,"click"],[1,"legend-label-text"]],template:function(i,m){1&i&&(e.j41(0,"span",0),e.bIt("click",function(){return m.select.emit(m.formattedLabel)}),e.j41(1,"span",1),e.bIt("click",function(){return m.toggle.emit(m.formattedLabel)}),e.k0s(),e.j41(2,"span",2),e.EFF(3),e.k0s()()),2&i&&(e.AVh("active",m.isActive),e.Y8G("title",m.formattedLabel),e.R7$(),e.xc7("background-color",m.color),e.R7$(2),e.SpI(" ",m.trimmedLabel," "))},encapsulation:2,changeDetection:0}),c})(),Kg=(()=>{class c{constructor(i){this.cd=i,this.horizontal=!1,this.labelClick=new e.bkB,this.labelActivate=new e.bkB,this.labelDeactivate=new e.bkB,this.legendEntries=[]}ngOnChanges(i){this.update()}update(){this.cd.markForCheck(),this.legendEntries=this.getLegendEntries()}getLegendEntries(){const i=[];for(const m of this.data){const W=_f(m);-1===i.findIndex(De=>De.label===W)&&i.push({label:m,formattedLabel:W,color:this.colors.getColor(m)})}return i}isActive(i){return!!this.activeEntries&&void 0!==this.activeEntries.find(W=>i.label===W.name)}activate(i){this.labelActivate.emit(i)}deactivate(i){this.labelDeactivate.emit(i)}trackBy(i,m){return m.label}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(e.gRc))},c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-charts-legend"]],inputs:{data:"data",title:"title",colors:"colors",height:"height",width:"width",activeEntries:"activeEntries",horizontal:"horizontal"},outputs:{labelClick:"labelClick",labelActivate:"labelActivate",labelDeactivate:"labelDeactivate"},features:[e.OA$],decls:5,vars:9,consts:[["class","legend-title",4,"ngIf"],[1,"legend-wrap"],[1,"legend-labels"],["class","legend-label",4,"ngFor","ngForOf","ngForTrackBy"],[1,"legend-title"],[1,"legend-title-text"],[1,"legend-label"],[3,"select","activate","deactivate","label","formattedLabel","color","isActive"]],template:function(i,m){1&i&&(e.j41(0,"div"),e.DNE(1,Y_,3,1,"header",0),e.j41(2,"div",1)(3,"ul",2),e.DNE(4,K_,2,4,"li",3),e.k0s()()()),2&i&&(e.xc7("width",m.width,"px"),e.R7$(),e.Y8G("ngIf",(null==m.title?null:m.title.length)>0),e.R7$(2),e.xc7("max-height",m.height-45,"px"),e.AVh("horizontal-legend",m.horizontal),e.R7$(),e.Y8G("ngForOf",m.legendEntries)("ngForTrackBy",m.trackBy))},dependencies:[Sy,Qi.bT,Qi.Sq],styles:[".chart-legend{display:inline-block;padding:0;width:auto!important}.chart-legend .legend-title{white-space:nowrap;overflow:hidden;margin-left:10px;margin-bottom:5px;font-size:14px;font-weight:700}.chart-legend ul,.chart-legend li{padding:0;margin:0;list-style:none}.chart-legend .horizontal-legend li{display:inline-block}.chart-legend .legend-wrap{width:calc(100% - 10px)}.chart-legend .legend-labels{line-height:85%;list-style:none;text-align:left;float:left;width:100%;border-radius:3px;overflow-y:auto;overflow-x:hidden;white-space:nowrap;background:rgba(0,0,0,.05)}.chart-legend .legend-label{cursor:pointer;font-size:90%;margin:8px;color:#afb7c8}.chart-legend .legend-label:hover{color:#000;transition:.2s}.chart-legend .legend-label .active .legend-label-text{color:#000}.chart-legend .legend-label-color{display:inline-block;height:15px;width:15px;margin-right:5px;color:#5b646b;border-radius:3px}.chart-legend .legend-label-text{display:inline-block;vertical-align:top;line-height:15px;font-size:12px;width:calc(100% - 20px);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chart-legend .legend-title-text{vertical-align:bottom;display:inline-block;line-height:16px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\n"],encapsulation:2,changeDetection:0}),c})(),Fu=(()=>{class c{constructor(){this.showLegend=!1,this.animations=!0,this.legendLabelClick=new e.bkB,this.legendLabelActivate=new e.bkB,this.legendLabelDeactivate=new e.bkB,this.LegendPosition=Xo,this.LegendType=Nu}ngOnChanges(i){this.update()}update(){let i=0;this.showLegend&&(this.legendType=this.getLegendType(),(!this.legendOptions||this.legendOptions.position===Xo.Right)&&(i=this.legendType===Nu.ScaleLegend?1:2)),this.chartWidth=Math.floor(this.view[0]*(12-i)/12),this.legendWidth=this.legendOptions&&this.legendOptions.position!==Xo.Right?this.chartWidth:Math.floor(this.view[0]*i/12)}getLegendType(){return this.legendOptions.scaleType===xn.Linear?Nu.ScaleLegend:Nu.Legend}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-charts-chart"]],inputs:{view:"view",showLegend:"showLegend",legendOptions:"legendOptions",legendType:"legendType",activeEntries:"activeEntries",animations:"animations"},outputs:{legendLabelClick:"legendLabelClick",legendLabelActivate:"legendLabelActivate",legendLabelDeactivate:"legendLabelDeactivate"},features:[e.Jv_([tl]),e.OA$],ngContentSelectors:Mv,decls:5,vars:8,consts:[[1,"ngx-charts-outer"],[1,"ngx-charts"],["class","chart-legend",3,"horizontal","valueRange","colors","height","width",4,"ngIf"],["class","chart-legend",3,"horizontal","data","title","colors","height","width","activeEntries","labelClick","labelActivate","labelDeactivate",4,"ngIf"],[1,"chart-legend",3,"horizontal","valueRange","colors","height","width"],[1,"chart-legend",3,"labelClick","labelActivate","labelDeactivate","horizontal","data","title","colors","height","width","activeEntries"]],template:function(i,m){1&i&&(e.NAR(),e.j41(0,"div",0),e.qSk(),e.j41(1,"svg",1),e.SdG(2),e.k0s(),e.DNE(3,Z_,1,5,"ngx-charts-scale-legend",2)(4,Dv,1,7,"ngx-charts-legend",3),e.k0s()),2&i&&(e.xc7("width",m.view[0],"px")("height",m.view[1],"px"),e.R7$(),e.BMQ("width",m.chartWidth)("height",m.view[1]),e.R7$(2),e.Y8G("ngIf",m.showLegend&&m.legendType===m.LegendType.ScaleLegend),e.R7$(),e.Y8G("ngIf",m.showLegend&&m.legendType===m.LegendType.Legend))},dependencies:[Ty,Kg,Qi.bT],encapsulation:2,changeDetection:0}),c})(),rC=(()=>{class c{constructor(i,m){this.element=i,this.zone=m,this.visible=new e.bkB,this.isVisible=!1,this.runCheck()}destroy(){clearTimeout(this.timeout)}onVisibilityChange(){this.zone.run(()=>{this.isVisible=!0,this.visible.emit(!0)})}runCheck(){const i=()=>{if(!this.element)return;const{offsetHeight:m,offsetWidth:W}=this.element.nativeElement;m&&W?(clearTimeout(this.timeout),this.onVisibilityChange()):(clearTimeout(this.timeout),this.zone.runOutsideAngular(()=>{this.timeout=setTimeout(()=>i(),100)}))};this.zone.runOutsideAngular(()=>{this.timeout=setTimeout(()=>i())})}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(e.aKT),e.rXU(e.SKi))},c.\u0275dir=e.FsC({type:c,selectors:[["visibility-observer"]],outputs:{visible:"visible"}}),c})();function A0(c){return"[object Date]"===toString.call(c)}let ky=(()=>{class c{constructor(i,m,W,ce){this.chartElement=i,this.zone=m,this.cd=W,this.platformId=ce,this.scheme="cool",this.schemeType=xn.Ordinal,this.animations=!0,this.select=new e.bkB}ngOnInit(){(0,Qi.Vy)(this.platformId)&&(this.animations=!1)}ngAfterViewInit(){this.bindWindowResizeEvent(),this.visibilityObserver=new rC(this.chartElement,this.zone),this.visibilityObserver.visible.subscribe(this.update.bind(this))}ngOnDestroy(){this.unbindEvents(),this.visibilityObserver&&(this.visibilityObserver.visible.unsubscribe(),this.visibilityObserver.destroy())}ngOnChanges(i){this.update()}update(){if(this.results=this.results?this.cloneData(this.results):[],this.view)this.width=this.view[0],this.height=this.view[1];else{const i=this.getContainerDims();i&&(this.width=i.width,this.height=i.height)}this.width||(this.width=600),this.height||(this.height=400),this.width=Math.floor(this.width),this.height=Math.floor(this.height),this.cd&&this.cd.markForCheck()}getContainerDims(){let i,m;const W=this.chartElement.nativeElement;if((0,Qi.UE)(this.platformId)&&null!==W.parentNode){const ce=W.parentNode.getBoundingClientRect();i=ce.width,m=ce.height}return i&&m?{width:i,height:m}:null}formatDates(){for(let i=0;i{this.update(),this.cd&&this.cd.markForCheck()});this.resizeSubscription=m}cloneData(i){const m=[];for(const W of i){const ce={};if(void 0!==W.name&&(ce.name=W.name),void 0!==W.value&&(ce.value=W.value),void 0!==W.series){ce.series=[];for(const De of W.series){const Ve=Object.assign({},De);ce.series.push(Ve)}}void 0!==W.extra&&(ce.extra=JSON.parse(JSON.stringify(W.extra))),void 0!==W.source&&(ce.source=W.source),void 0!==W.target&&(ce.target=W.target),m.push(ce)}return m}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(e.aKT),e.rXU(e.SKi),e.rXU(e.gRc),e.rXU(e.Agw))},c.\u0275cmp=e.VBU({type:c,selectors:[["base-chart"]],inputs:{results:"results",view:"view",scheme:"scheme",schemeType:"schemeType",customColors:"customColors",animations:"animations"},outputs:{select:"select"},features:[e.OA$],decls:1,vars:0,template:function(i,m){1&i&&e.nrm(0,"div")},encapsulation:2}),c})();function Cf(c,v=16){return"string"!=typeof c?"number"==typeof c?c+"":"":(c=c.trim()).length<=v?c:`${c.slice(0,v)}...`}var Zg=function(c){return c.Start="start",c.Middle="middle",c.End="end",c}(Zg||{});let Dy=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Qi.MD]]}),c})();var wf=function(c){return c.popover="popover",c.tooltip="tooltip",c}(wf||{}),Bu=function(c){return c[c.all="all"]="all",c[c.focus="focus"]="focus",c[c.mouseover="mouseover"]="mouseover",c}(Bu||{});let I0=(()=>{class c{constructor(i,m,W){this.tooltipService=i,this.viewContainerRef=m,this.renderer=W,this.tooltipCssClass="",this.tooltipAppendToBody=!0,this.tooltipSpacing=10,this.tooltipDisabled=!1,this.tooltipShowCaret=!0,this.tooltipPlacement=Jn.Top,this.tooltipAlignment=Jn.Center,this.tooltipType=wf.popover,this.tooltipCloseOnClickOutside=!0,this.tooltipCloseOnMouseLeave=!0,this.tooltipHideTimeout=300,this.tooltipShowTimeout=100,this.tooltipShowEvent=Bu.all,this.tooltipImmediateExit=!1,this.show=new e.bkB,this.hide=new e.bkB}get listensForFocus(){return this.tooltipShowEvent===Bu.all||this.tooltipShowEvent===Bu.focus}get listensForHover(){return this.tooltipShowEvent===Bu.all||this.tooltipShowEvent===Bu.mouseover}ngOnDestroy(){this.hideTooltip(!0)}onFocus(){this.listensForFocus&&this.showTooltip()}onBlur(){this.listensForFocus&&this.hideTooltip(!0)}onMouseEnter(){this.listensForHover&&this.showTooltip()}onMouseLeave(i){if(this.listensForHover&&this.tooltipCloseOnMouseLeave){if(clearTimeout(this.timeout),this.component&&this.component.instance.element.nativeElement.contains(i))return;this.hideTooltip(this.tooltipImmediateExit)}}onMouseClick(){this.listensForHover&&this.hideTooltip(!0)}showTooltip(i){if(this.component||this.tooltipDisabled)return;const m=i?0:this.tooltipShowTimeout+(navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)?400:0);clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.tooltipService.destroyAll();const W=this.createBoundOptions();this.component=this.tooltipService.create(W),setTimeout(()=>{this.component&&this.addHideListeners(this.component.instance.element.nativeElement)},10),this.show.emit(!0)},m)}addHideListeners(i){this.mouseEnterContentEvent=this.renderer.listen(i,"mouseenter",()=>{clearTimeout(this.timeout)}),this.tooltipCloseOnMouseLeave&&(this.mouseLeaveContentEvent=this.renderer.listen(i,"mouseleave",()=>{this.hideTooltip(this.tooltipImmediateExit)})),this.tooltipCloseOnClickOutside&&(this.documentClickEvent=this.renderer.listen("window","click",m=>{i.contains(m.target)||this.hideTooltip()}))}hideTooltip(i=!1){if(!this.component)return;const m=()=>{this.mouseLeaveContentEvent&&this.mouseLeaveContentEvent(),this.mouseEnterContentEvent&&this.mouseEnterContentEvent(),this.documentClickEvent&&this.documentClickEvent(),this.hide.emit(!0),this.tooltipService.destroy(this.component),this.component=void 0};clearTimeout(this.timeout),i?m():this.timeout=setTimeout(m,this.tooltipHideTimeout)}createBoundOptions(){return{title:this.tooltipTitle,template:this.tooltipTemplate,host:this.viewContainerRef.element,placement:this.tooltipPlacement,alignment:this.tooltipAlignment,type:this.tooltipType,showCaret:this.tooltipShowCaret,cssClass:this.tooltipCssClass,spacing:this.tooltipSpacing,context:this.tooltipContext}}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(tl),e.rXU(e.c1b),e.rXU(e.sFG))},c.\u0275dir=e.FsC({type:c,selectors:[["","ngx-tooltip",""]],hostBindings:function(i,m){1&i&&e.bIt("focusin",function(){return m.onFocus()})("blur",function(){return m.onBlur()})("mouseenter",function(){return m.onMouseEnter()})("mouseleave",function(ce){return m.onMouseLeave(ce.target)})("click",function(){return m.onMouseClick()})},inputs:{tooltipCssClass:"tooltipCssClass",tooltipTitle:"tooltipTitle",tooltipAppendToBody:"tooltipAppendToBody",tooltipSpacing:"tooltipSpacing",tooltipDisabled:"tooltipDisabled",tooltipShowCaret:"tooltipShowCaret",tooltipPlacement:"tooltipPlacement",tooltipAlignment:"tooltipAlignment",tooltipType:"tooltipType",tooltipCloseOnClickOutside:"tooltipCloseOnClickOutside",tooltipCloseOnMouseLeave:"tooltipCloseOnMouseLeave",tooltipHideTimeout:"tooltipHideTimeout",tooltipShowTimeout:"tooltipShowTimeout",tooltipTemplate:"tooltipTemplate",tooltipShowEvent:"tooltipShowEvent",tooltipContext:"tooltipContext",tooltipImmediateExit:"tooltipImmediateExit"},outputs:{show:"show",hide:"hide"}}),c})(),Ey=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({providers:[ic,tl],imports:[[Qi.MD]]}),c})();const qg={};function Tf(){let c=("0000"+(Math.random()*Math.pow(36,4)|0).toString(36)).slice(-4);return c=`a${c}`,qg[c]?Tf():(qg[c]=!0,c)}var nc=function(c){return c.Vertical="vertical",c.Horizontal="horizontal",c}(nc||{});let Py=(()=>{class c{constructor(){this.endOpacity=1,this.cx=0,this.cy=0}get stops(){return this.stopsInput||this.stopsDefault}set stops(i){this.stopsInput=i}ngOnChanges(i){this.r="30%",("color"in i||"startOpacity"in i||"endOpacity"in i)&&(this.stopsDefault=[{offset:0,color:this.color,opacity:this.startOpacity},{offset:100,color:this.color,opacity:this.endOpacity}])}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275cmp=e.VBU({type:c,selectors:[["g","ngx-charts-svg-radial-gradient",""]],inputs:{color:"color",name:"name",startOpacity:"startOpacity",endOpacity:"endOpacity",cx:"cx",cy:"cy",stops:"stops"},features:[e.OA$],attrs:Vv,decls:2,vars:5,consts:[["gradientUnits","userSpaceOnUse",3,"id"],[3,"stop-color","stop-opacity",4,"ngFor","ngForOf"]],template:function(i,m){1&i&&(e.qSk(),e.j41(0,"radialGradient",0),e.DNE(1,c1,1,5,"stop",1),e.k0s()),2&i&&(e.Y8G("id",m.name),e.BMQ("cx",m.cx)("cy",m.cy)("r",m.r),e.R7$(),e.Y8G("ngForOf",m.stops))},dependencies:[Qi.Sq],encapsulation:2,changeDetection:0}),c})();function Ry(c,v,i,m){return i*(1-Math.pow(2,-10*c/m))*1024/1023+v}function Ny(c,v,i,m,W){const ce=Number(c),De=Number(v),Ve=ce>De,qe=Math.max(0,i),et=Math.pow(10,qe),gt=1e3*Number(m);let Mt;function Pt(Wt){let Zt;const hi=Wt-Mt;Zt=Ve?ce-Ry(hi,0,ce-De,gt):Ry(hi,ce,De-ce,gt),Zt=Ve?ZtDe?De:Zt,Zt=Math.round(Zt*et)/et;const Xt=hiPt(pi))}return requestAnimationFrame(Wt=>(Mt=Wt,Pt(Wt)))}let L0,Fy=(()=>{class c{constructor(i,m){this.cd=i,this.countDuration=1,this.countPrefix="",this.countSuffix="",this.countChange=new e.bkB,this.countFinish=new e.bkB,this.value="",this._countDecimals=0,this._countTo=0,this._countFrom=0,this.nativeElement=m.nativeElement}set countDecimals(i){this._countDecimals=i}get countDecimals(){return this._countDecimals?this._countDecimals:function P0(c){const v=Number(c);return v%1!=0&&Math.abs(v)<=10?2:0}(this.countTo)}set countTo(i){this._countTo=parseFloat(i),this.start()}get countTo(){return this._countTo}set countFrom(i){this._countFrom=parseFloat(i),this.start()}get countFrom(){return this._countFrom}ngOnDestroy(){cancelAnimationFrame(this.animationReq)}start(){cancelAnimationFrame(this.animationReq);const i=this.valueFormatting||(W=>`${this.countPrefix}${W.toLocaleString()}${this.countSuffix}`);this.animationReq=Ny(this.countFrom,this.countTo,this.countDecimals,this.countDuration,({value:W,progress:ce,finished:De})=>{this.value=i(W),this.cd.markForCheck(),De||this.countChange.emit({value:this.value,progress:ce}),De&&this.countFinish.emit({value:this.value,progress:ce})})}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(e.gRc),e.rXU(e.aKT))},c.\u0275cmp=e.VBU({type:c,selectors:[["","ngx-charts-count-up",""]],inputs:{countDuration:"countDuration",countPrefix:"countPrefix",countSuffix:"countSuffix",valueFormatting:"valueFormatting",countDecimals:"countDecimals",countTo:"countTo",countFrom:"countFrom"},outputs:{countChange:"countChange",countFinish:"countFinish"},attrs:d1,decls:1,vars:1,template:function(i,m){1&i&&e.EFF(0),2&i&&e.SpI(" ",m.value," ")},encapsulation:2}),c})();typeof window<"u"?L0=window:typeof global<"u"&&(L0=global);let nm=(()=>{class c{constructor(){this.label="Total",this.animations=!0,this.select=new e.bkB,this.activate=new e.bkB,this.deactivate=new e.bkB,this.legendItems=[],this.labelFormatting=i=>i,this.percentageFormatting=i=>i,this.defaultValueFormatting=i=>i.toLocaleString()}ngOnChanges(i){this.update()}getTotal(){return this.data.map(i=>Number(i.value)).reduce((i,m)=>i+m,0)}update(){this.total=this.getTotal(),this.roundedTotal=this.total,this.legendItems=this.getLegendItems()}getLegendItems(){return this.data.map(i=>{const m=_f(i.name),W=i.value,ce=this.colors.getColor(m),De=this.total>0?W/this.total*100:0,Ve="function"==typeof this.labelFormatting?this.labelFormatting(m):m;return{_value:W,data:i,value:W,color:ce,label:Ve,displayLabel:Cf(Ve,20),origialLabel:i.name,percentage:this.percentageFormatting?this.percentageFormatting(De):De.toLocaleString()}})}trackBy(i,m){return m.label}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-charts-advanced-legend"]],inputs:{width:"width",data:"data",colors:"colors",label:"label",animations:"animations",valueFormatting:"valueFormatting",labelFormatting:"labelFormatting",percentageFormatting:"percentageFormatting"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.OA$],decls:8,vars:7,consts:[[1,"advanced-pie-legend"],["class","total-value","ngx-charts-count-up","",3,"countTo","valueFormatting",4,"ngIf"],["class","total-value",4,"ngIf"],[1,"total-label"],[1,"legend-items-container"],[1,"legend-items"],["tabindex","-1","class","legend-item",3,"mouseenter","mouseleave","click",4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-count-up","",1,"total-value",3,"countTo","valueFormatting"],[1,"total-value"],["tabindex","-1",1,"legend-item",3,"mouseenter","mouseleave","click"],[1,"item-color"],["class","item-value","ngx-charts-count-up","",3,"countTo","valueFormatting",4,"ngIf"],["class","item-value",4,"ngIf"],[1,"item-label"],["class","item-percent","ngx-charts-count-up","",3,"countTo","countSuffix",4,"ngIf"],["class","item-percent",4,"ngIf"],["ngx-charts-count-up","",1,"item-value",3,"countTo","valueFormatting"],[1,"item-value"],["ngx-charts-count-up","",1,"item-percent",3,"countTo","countSuffix"],[1,"item-percent"]],template:function(i,m){1&i&&(e.j41(0,"div",0),e.DNE(1,xT,1,2,"div",1)(2,Hv,2,1,"div",2),e.j41(3,"div",3),e.EFF(4),e.k0s(),e.j41(5,"div",4)(6,"div",5),e.DNE(7,g1,8,7,"div",6),e.k0s()()()),2&i&&(e.xc7("width",m.width,"px"),e.R7$(),e.Y8G("ngIf",m.animations),e.R7$(),e.Y8G("ngIf",!m.animations),e.R7$(2),e.SpI(" ",m.label," "),e.R7$(3),e.Y8G("ngForOf",m.legendItems)("ngForTrackBy",m.trackBy))},dependencies:[Fy,Qi.bT,Qi.Sq],styles:[".advanced-pie-legend{float:left;position:relative;top:50%;transform:translateY(-50%)}.advanced-pie-legend .total-value{font-size:36px}.advanced-pie-legend .total-label{font-size:24px;margin-bottom:19px}.advanced-pie-legend .legend-items-container{width:100%}.advanced-pie-legend .legend-items-container .legend-items{white-space:nowrap;overflow:auto}.advanced-pie-legend .legend-items-container .legend-items .legend-item{margin-right:20px;display:inline-block;cursor:pointer}.advanced-pie-legend .legend-items-container .legend-items .legend-item:focus{outline:none}.advanced-pie-legend .legend-items-container .legend-items .legend-item:hover{color:#000;transition:.2s}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-value{font-size:24px;margin-top:-6px;margin-left:11px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-label{font-size:14px;opacity:.7;margin-left:11px;margin-top:-6px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-percent{font-size:24px;opacity:.7;margin-left:11px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-color{border-left:4px solid;width:4px;height:42px;float:left;margin-right:7px}\n"],encapsulation:2,changeDetection:0}),c})(),il=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Qi.MD,Dy,Ey],Qi.MD,Dy,Ey]}),c})();const By=[{name:"vivid",selectable:!0,group:xn.Ordinal,domain:["#647c8a","#3f51b5","#2196f3","#00b862","#afdf0a","#a7b61a","#f3e562","#ff9800","#ff5722","#ff4514"]},{name:"natural",selectable:!0,group:xn.Ordinal,domain:["#bf9d76","#e99450","#d89f59","#f2dfa7","#a5d7c6","#7794b1","#afafaf","#707160","#ba9383","#d9d5c3"]},{name:"cool",selectable:!0,group:xn.Ordinal,domain:["#a8385d","#7aa3e5","#a27ea8","#aae3f5","#adcded","#a95963","#8796c0","#7ed3ed","#50abcc","#ad6886"]},{name:"fire",selectable:!0,group:xn.Ordinal,domain:["#ff3d00","#bf360c","#ff8f00","#ff6f00","#ff5722","#e65100","#ffca28","#ffab00"]},{name:"solar",selectable:!0,group:xn.Linear,domain:["#fff8e1","#ffecb3","#ffe082","#ffd54f","#ffca28","#ffc107","#ffb300","#ffa000","#ff8f00","#ff6f00"]},{name:"air",selectable:!0,group:xn.Linear,domain:["#e1f5fe","#b3e5fc","#81d4fa","#4fc3f7","#29b6f6","#03a9f4","#039be5","#0288d1","#0277bd","#01579b"]},{name:"aqua",selectable:!0,group:xn.Linear,domain:["#e0f7fa","#b2ebf2","#80deea","#4dd0e1","#26c6da","#00bcd4","#00acc1","#0097a7","#00838f","#006064"]},{name:"flame",selectable:!1,group:xn.Ordinal,domain:["#A10A28","#D3342D","#EF6D49","#FAAD67","#FDDE90","#DBED91","#A9D770","#6CBA67","#2C9653","#146738"]},{name:"ocean",selectable:!1,group:xn.Ordinal,domain:["#1D68FB","#33C0FC","#4AFFFE","#AFFFFF","#FFFC63","#FDBD2D","#FC8A25","#FA4F1E","#FA141B","#BA38D1"]},{name:"forest",selectable:!1,group:xn.Ordinal,domain:["#55C22D","#C1F33D","#3CC099","#AFFFFF","#8CFC9D","#76CFFA","#BA60FB","#EE6490","#C42A1C","#FC9F32"]},{name:"horizon",selectable:!1,group:xn.Ordinal,domain:["#2597FB","#65EBFD","#99FDD0","#FCEE4B","#FEFCFA","#FDD6E3","#FCB1A8","#EF6F7B","#CB96E8","#EFDEE0"]},{name:"neons",selectable:!1,group:xn.Ordinal,domain:["#FF3333","#FF33FF","#CC33FF","#0000FF","#33CCFF","#33FFFF","#33FF66","#CCFF33","#FFCC00","#FF6600"]},{name:"picnic",selectable:!1,group:xn.Ordinal,domain:["#FAC51D","#66BD6D","#FAA026","#29BB9C","#E96B56","#55ACD2","#B7332F","#2C83C9","#9166B8","#92E7E8"]},{name:"night",selectable:!1,group:xn.Ordinal,domain:["#2B1B5A","#501356","#183356","#28203F","#391B3C","#1E2B3C","#120634","#2D0432","#051932","#453080","#75267D","#2C507D","#4B3880","#752F7D","#35547D"]},{name:"nightLights",selectable:!1,group:xn.Ordinal,domain:["#4e31a5","#9c25a7","#3065ab","#57468b","#904497","#46648b","#32118d","#a00fb3","#1052a2","#6e51bd","#b63cc3","#6c97cb","#8671c1","#b455be","#7496c3"]}];class sm{constructor(v,i,m,W){"string"==typeof v&&(v=By.find(ce=>ce.name===v)),this.colorDomain=v.domain,this.scaleType=i,this.domain=m,this.customColors=W,this.scale=this.generateColorScheme(v,i,this.domain)}generateColorScheme(v,i,m){let W;switch("string"==typeof v&&(v=By.find(ce=>ce.name===v)),i){case xn.Quantile:W=gh().range(v.domain).domain(m);break;case xn.Ordinal:W=Jp().range(v.domain).domain(m);break;case xn.Linear:{const ce=[...v.domain];1===ce.length&&(ce.push(ce[0]),this.colorDomain=ce);const De=Rg(0,1,1/ce.length);W=Qp().range(ce).domain(De)}}return W}getColor(v){if(null==v)throw new Error("Value can not be null");if(this.scaleType===xn.Linear){const i=Qp().domain(this.domain).range([0,1]);return this.scale(i(v))}{if("function"==typeof this.customColors)return this.customColors(v);const i=v.toString();let m;return this.customColors&&this.customColors.length>0&&(m=this.customColors.find(W=>W.name.toLowerCase()===i.toLowerCase())),m?m.value:this.scale(v)}}getLinearGradientStops(v,i){void 0===i&&(i=this.domain[0]);const m=Qp().domain(this.domain).range([0,1]),W=r0().domain(this.colorDomain).range([0,1]),ce=this.getColor(v),De=m(i),Ve=this.getColor(i),qe=m(v);let et=1,gt=De;const Mt=[];for(Mt.push({color:Ve,offset:De,originalOffset:De,opacity:1});gt=(qe-W.bandwidth()).toFixed(4))break;Mt.push({color:Pt,offset:Wt,opacity:1}),gt=Wt,et++}}if(Mt[Mt.length-1].offset<100&&Mt.push({color:ce,offset:qe,opacity:1}),qe===De)Mt[0].offset=0,Mt[1].offset=100;else if(100!==Mt[Mt.length-1].offset)for(const Pt of Mt)Pt.offset=(Pt.offset-De)/(qe-De)*100;return Mt}}let uC=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[il]]}),c})(),Ef=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[il]]}),c})();X_();let zy=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[il]]}),c})(),xC=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[il]]}),c})(),_C=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[il]]}),c})(),z0=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[il]]}),c})(),Gy=(()=>{class c{constructor(i){this.platformId=i,this.animations=!0,this.labelTrim=!0,this.labelTrimSize=10,this.trimLabel=Cf}ngOnChanges(i){this.setTransforms(),this.update()}setTransforms(){if((0,Qi.Vy)(this.platformId))this.styleTransform=`translate3d(${this.textX}px,${this.textY}px, 0)`,this.attrTransform=`translate(${this.textX},${this.textY})`,this.textTransition=this.animations?"transform 0.75s":null;else{const i=/(edge|msie|trident)/i.test(navigator.userAgent);this.styleTransform=i?null:`translate3d(${this.textX}px,${this.textY}px, 0)`,this.attrTransform=i?`translate(${this.textX},${this.textY})`:null,this.textTransition=i||!this.animations?null:"transform 0.75s"}}update(){let i=this.radius;this.explodeSlices&&(i=this.radius*this.value/this.max);const W=h0().innerRadius(i).outerRadius(i).centroid(this.data);let ce=this.data.pos[1]/W[1];(0===this.data.pos[1]||0===W[1])&&(ce=1),this.line=`M${W}L${[ce*W[0],ce*W[1]]}L${this.data.pos}`}get textX(){return this.data.pos[0]}get textY(){return this.data.pos[1]}textAnchor(){return this.midAngle(this.data){class c{constructor(i){this.startAngle=0,this.endAngle=2*Math.PI,this.cornerRadius=0,this.explodeSlices=!1,this.gradient=!1,this.animate=!0,this.pointerEvents=!0,this.isActive=!1,this.select=new e.bkB,this.activate=new e.bkB,this.deactivate=new e.bkB,this.dblclick=new e.bkB,this.barOrientation=nc,this.initialized=!1,this.element=i.nativeElement}ngOnChanges(i){this.update()}getGradient(){return this.gradient?this.gradientFill:this.fill}getPointerEvents(){return this.pointerEvents?"auto":"none"}update(){const i=this.calculateArc();this.startOpacity=.5,this.radialGradientId="linearGrad"+Tf().toString(),this.gradientFill=`url(#${this.radialGradientId})`,this.animate?this.initialized?this.updateAnimation():(this.loadAnimation(),this.initialized=!0):this.path=i.startAngle(this.startAngle).endAngle(this.endAngle)()}calculateArc(){let i=this.outerRadius;return this.explodeSlices&&0===this.innerRadius&&(i=this.outerRadius*this.value/this.max),h0().innerRadius(this.innerRadius).outerRadius(i).cornerRadius(this.cornerRadius)}loadAnimation(){const i=$r(this.element).selectAll(".arc").data([{startAngle:this.startAngle,endAngle:this.endAngle}]),m=this.calculateArc();i.transition().attrTween("d",function(W){this._current=this._current||W;const ce=Object.assign({},W);ce.endAngle=ce.startAngle;const De=Za(ce,ce);return this._current=De(0),function(Ve){return m(De(Ve))}}).transition().duration(750).attrTween("d",function(W){this._current=this._current||W;const ce=Za(this._current,W);return this._current=ce(0),function(De){return m(ce(De))}})}updateAnimation(){const i=$r(this.element).selectAll(".arc").data([{startAngle:this.startAngle,endAngle:this.endAngle}]),m=this.calculateArc();i.transition().duration(750).attrTween("d",function(W){this._current=this._current||W;const ce=Za(this._current,W);return this._current=ce(0),function(De){return m(ce(De))}})}onClick(){clearTimeout(this._timeout),this._timeout=setTimeout(()=>this.select.emit(this.data),200)}onDblClick(i){i.preventDefault(),i.stopPropagation(),clearTimeout(this._timeout),this.dblclick.emit({data:this.data,nativeEvent:i})}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(e.aKT))},c.\u0275cmp=e.VBU({type:c,selectors:[["g","ngx-charts-pie-arc",""]],inputs:{fill:"fill",startAngle:"startAngle",endAngle:"endAngle",innerRadius:"innerRadius",outerRadius:"outerRadius",cornerRadius:"cornerRadius",value:"value",max:"max",data:"data",explodeSlices:"explodeSlices",gradient:"gradient",animate:"animate",pointerEvents:"pointerEvents",isActive:"isActive"},outputs:{select:"select",activate:"activate",deactivate:"deactivate",dblclick:"dblclick"},features:[e.OA$],attrs:Iu,decls:3,vars:7,consts:[[1,"arc-group"],[4,"ngIf"],[1,"arc",3,"click","dblclick","mouseenter","mouseleave"],["ngx-charts-svg-radial-gradient","",3,"color","name","startOpacity"]],template:function(i,m){1&i&&(e.qSk(),e.j41(0,"g",0),e.DNE(1,Ou,2,3,"defs",1),e.j41(2,"path",2),e.bIt("click",function(){return m.onClick()})("dblclick",function(ce){return m.onDblClick(ce)})("mouseenter",function(){return m.activate.emit(m.data)})("mouseleave",function(){return m.deactivate.emit(m.data)}),e.k0s()()),2&i&&(e.R7$(),e.Y8G("ngIf",m.gradient),e.R7$(),e.xc7("pointer-events",m.getPointerEvents()),e.AVh("active",m.isActive),e.BMQ("d",m.path)("fill",m.getGradient()))},dependencies:[Py,Qi.bT],encapsulation:2,changeDetection:0}),c})(),TC=(()=>{class c{constructor(){this.series=[],this.innerRadius=60,this.outerRadius=80,this.trimLabels=!0,this.maxLabelLength=10,this.tooltipDisabled=!1,this.animations=!0,this.select=new e.bkB,this.activate=new e.bkB,this.deactivate=new e.bkB,this.dblclick=new e.bkB,this.placementTypes=Jn,this.styleTypes=wf}ngOnChanges(i){this.update()}update(){const m=function W_(){var c=Sv,v=Tv,i=null,m=uo(0),W=uo(nf),ce=uo(0);function De(Ve){var qe,gt,Mt,pi,ki,et=(Ve=function d0(c){return"object"==typeof c&&"length"in c?c:Array.from(c)}(Ve)).length,Pt=0,Wt=new Array(et),Zt=new Array(et),hi=+m.apply(this,arguments),Xt=Math.min(nf,Math.max(-nf,W.apply(this,arguments)-hi)),Ci=Math.min(Math.abs(Xt)/et,ce.apply(this,arguments)),gi=Ci*(Xt<0?-1:1);for(qe=0;qe0&&(Pt+=ki);for(null!=v?Wt.sort(function(Bi,Di){return v(Zt[Bi],Zt[Di])}):null!=i&&Wt.sort(function(Bi,Di){return i(Ve[Bi],Ve[Di])}),qe=0,Mt=Pt?(Xt-et*gi)/Pt:0;qe0?ki*Mt:0)+gi,padAngle:Ci};return Zt}return De.value=function(Ve){return arguments.length?(c="function"==typeof Ve?Ve:uo(+Ve),De):c},De.sortValues=function(Ve){return arguments.length?(v=Ve,i=null,De):v},De.sort=function(Ve){return arguments.length?(i=Ve,v=null,De):i},De.startAngle=function(Ve){return arguments.length?(m="function"==typeof Ve?Ve:uo(+Ve),De):m},De.endAngle=function(Ve){return arguments.length?(W="function"==typeof Ve?Ve:uo(+Ve),De):W},De.padAngle=function(Ve){return arguments.length?(ce="function"==typeof Ve?Ve:uo(+Ve),De):ce},De}().value(W=>W.value).sort(null)(this.series);this.max=function $_(c,v){let i;if(void 0===v)for(const m of c)null!=m&&(i=m)&&(i=m);else{let m=-1;for(let W of c)null!=(W=v(W,++m,c))&&(i=W)&&(i=W)}return i}(m,W=>W.value),this.data=this.calculateLabelPositions(m),this.tooltipText=this.tooltipText||this.defaultTooltipText}midAngle(i){return i.startAngle+(i.endAngle-i.startAngle)/2}outerArc(){return h0().innerRadius(1.5*this.outerRadius).outerRadius(1.5*this.outerRadius)}calculateLabelPositions(i){const ce=i;ce.forEach(De=>{De.pos=this.outerArc().centroid(De),De.pos[0]=1.5*this.outerRadius*(this.midAngle(De)0){const gt=10-Math.abs(et.pos[1]-Ve.pos[1]);gt>0&&(et.pos[1]+=Math.sign(et.pos[0])*gt)}}}return ce}labelVisible(i){return this.showLabels&&i.endAngle-i.startAngle>Math.PI/30}getTooltipTitle(i){return this.tooltipTemplate?void 0:this.tooltipText(i)}labelText(i){return this.labelFormatting?this.labelFormatting(i.data.name):this.label(i)}label(i){return _f(i.data.name)}defaultTooltipText(i){const m=this.label(i),W=_f(i.data.value);return`\n ${function E0(c){return c.toLocaleString().replace(/[&'`"<>]/g,v=>({"&":"&","'":"'","`":"`",'"':""","<":"<",">":">"}[v]))}(m)}\n ${W}\n `}color(i){return this.colors.getColor(this.label(i))}trackBy(i,m){return m.data.name}onClick(i){this.select.emit(i)}isActive(i){return!!this.activeEntries&&void 0!==this.activeEntries.find(W=>i.name===W.name&&i.series===W.series)}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275cmp=e.VBU({type:c,selectors:[["g","ngx-charts-pie-series",""]],inputs:{colors:"colors",series:"series",dims:"dims",innerRadius:"innerRadius",outerRadius:"outerRadius",explodeSlices:"explodeSlices",showLabels:"showLabels",gradient:"gradient",activeEntries:"activeEntries",labelFormatting:"labelFormatting",trimLabels:"trimLabels",maxLabelLength:"maxLabelLength",tooltipText:"tooltipText",tooltipDisabled:"tooltipDisabled",tooltipTemplate:"tooltipTemplate",animations:"animations"},outputs:{select:"select",activate:"activate",deactivate:"deactivate",dblclick:"dblclick"},features:[e.OA$],attrs:Pu,decls:1,vars:2,consts:[[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-pie-label","",3,"data","radius","color","label","labelTrim","labelTrimSize","max","value","explodeSlices","animations",4,"ngIf"],["ngx-charts-pie-arc","","ngx-tooltip","",3,"select","activate","deactivate","dblclick","startAngle","endAngle","innerRadius","outerRadius","fill","value","gradient","data","max","explodeSlices","isActive","animate","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext"],["ngx-charts-pie-label","",3,"data","radius","color","label","labelTrim","labelTrimSize","max","value","explodeSlices","animations"]],template:function(i,m){1&i&&e.DNE(0,Ru,3,19,"g",0),2&i&&e.Y8G("ngForOf",m.data)("ngForTrackBy",m.trackBy)},dependencies:[Gy,wC,Qi.Sq,Qi.bT,I0],encapsulation:2,changeDetection:0}),c})(),Hy=(()=>{class c extends ky{constructor(){super(...arguments),this.activeEntries=[],this.tooltipDisabled=!1,this.label="Total",this.activate=new e.bkB,this.deactivate=new e.bkB,this.margin=[20,20,20,20]}update(){super.update(),this.dims=function cC({width:c,height:v,margins:i,showXAxis:m=!1,showYAxis:W=!1,xAxisHeight:ce=0,yAxisWidth:De=0,showXLabel:Ve=!1,showYLabel:qe=!1,showLegend:et=!1,legendType:gt=xn.Ordinal,legendPosition:Mt=Xo.Right,columns:Pt=12}){let Wt=i[3],Zt=c,hi=v-i[0]-i[2];return et&&Mt===Xo.Right&&(Pt-=gt===xn.Ordinal?2:1),Zt=Zt*Pt/12,Zt=Zt-i[1]-i[3],m&&(hi-=5,hi-=ce,Ve&&(hi-=30)),W&&(Zt-=5,Zt-=De,Wt+=De,Wt+=10,qe&&(Zt-=30,Wt+=30)),Zt=Math.max(0,Zt),hi=Math.max(0,hi),{width:Math.floor(Zt),height:Math.floor(hi),xOffset:Math.floor(Wt)}}({width:4*this.width/12,height:this.height,margins:this.margin}),this.formatDates(),this.domain=this.getDomain(),this.setColors();const i=this.dims.width/2,m=this.margin[0]+this.dims.height/2;this.legendWidth=this.width-this.dims.width-this.margin[1],this.outerRadius=Math.min(this.dims.width,this.dims.height)/2.5,this.innerRadius=.75*this.outerRadius,this.transform=`translate(${i} , ${m})`}getDomain(){return this.results.map(i=>i.label)}onClick(i){this.select.emit(i)}setColors(){this.colors=new sm(this.scheme,xn.Ordinal,this.domain,this.customColors)}onActivate(i,m=!1){i=this.results.find(ce=>m?ce.label===i.name:ce.name===i.name),!(this.activeEntries.findIndex(ce=>ce.name===i.name&&ce.value===i.value&&ce.series===i.series)>-1)&&(this.activeEntries=[i,...this.activeEntries],this.activate.emit({value:i,entries:this.activeEntries}))}onDeactivate(i,m=!1){i=this.results.find(ce=>m?ce.label===i.name:ce.name===i.name);const W=this.activeEntries.findIndex(ce=>ce.name===i.name&&ce.value===i.value&&ce.series===i.series);this.activeEntries.splice(W,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:i,entries:this.activeEntries})}}return c.\u0275fac=(()=>{let v;return function(m){return(v||(v=e.xGo(c)))(m||c)}})(),c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-charts-advanced-pie-chart"]],contentQueries:function(i,m,W){if(1&i&&e.wni(W,zg,5),2&i){let ce;e.mGM(ce=e.lsd())&&(m.tooltipTemplate=ce.first)}},inputs:{gradient:"gradient",activeEntries:"activeEntries",tooltipDisabled:"tooltipDisabled",tooltipText:"tooltipText",label:"label",valueFormatting:"valueFormatting",nameFormatting:"nameFormatting",percentageFormatting:"percentageFormatting"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.Vt3],decls:7,vars:37,consts:[[1,"advanced-pie","chart"],[3,"view","showLegend","animations"],[1,"pie","chart"],["ngx-charts-pie-series","",3,"select","activate","deactivate","colors","series","innerRadius","activeEntries","outerRadius","gradient","tooltipDisabled","tooltipTemplate","tooltipText","animations"],[1,"advanced-pie-legend-wrapper"],[3,"select","activate","deactivate","data","colors","width","label","animations","valueFormatting","labelFormatting","percentageFormatting"]],template:function(i,m){1&i&&(e.j41(0,"div")(1,"div",0)(2,"ngx-charts-chart",1),e.qSk(),e.j41(3,"g",2)(4,"g",3),e.bIt("select",function(ce){return m.onClick(ce)})("activate",function(ce){return m.onActivate(ce)})("deactivate",function(ce){return m.onDeactivate(ce)}),e.k0s()()()(),e.joV(),e.j41(5,"div",4)(6,"ngx-charts-advanced-legend",5),e.bIt("select",function(ce){return m.onClick(ce)})("activate",function(ce){return m.onActivate(ce,!0)})("deactivate",function(ce){return m.onDeactivate(ce,!0)}),e.k0s()()()),2&i&&(e.xc7("width",m.width,"px")("height",m.height,"px"),e.R7$(),e.xc7("width",m.dims.width,"px")("height",m.dims.height,"px"),e.R7$(),e.Y8G("view",e.l_i(34,af,m.width,m.height))("showLegend",!1)("animations",m.animations),e.R7$(),e.BMQ("transform",m.transform),e.R7$(),e.Y8G("colors",m.colors)("series",m.results)("innerRadius",m.innerRadius)("activeEntries",m.activeEntries)("outerRadius",m.outerRadius)("gradient",m.gradient)("tooltipDisabled",m.tooltipDisabled)("tooltipTemplate",m.tooltipTemplate)("tooltipText",m.tooltipText)("animations",m.animations),e.R7$(),e.xc7("width",m.width-m.dims.width,"px")("height",m.height,"px"),e.R7$(),e.Y8G("data",m.results)("colors",m.colors)("width",m.width-m.dims.width-m.margin[1])("label",m.label)("animations",m.animations)("valueFormatting",m.valueFormatting)("labelFormatting",m.nameFormatting)("percentageFormatting",m.percentageFormatting))},dependencies:[Fu,TC,nm],styles:[".ngx-charts-outer{animation:chartFadeIn linear .6s}@keyframes chartFadeIn{0%{opacity:0}20%{opacity:0}to{opacity:1}}.ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .node,.ngx-charts .link,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .node.active,.ngx-charts .node:hover,.ngx-charts .link.active,.ngx-charts .link:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .node:focus,.ngx-charts .link:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .node.hidden,.ngx-charts .link.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\n",".advanced-pie{display:inline-block;float:left}.advanced-pie-legend-wrapper{display:inline-block}\n"],encapsulation:2,changeDetection:0}),c})(),cm=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[il]]}),c})(),EC=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[il,cm,z0]]}),c})(),hm=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[il]]}),c})(),Af=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[il]]}),c})(),LC=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[il,cm,Ef]]}),c})(),RC=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[il]]}),c})(),If=(()=>{class c{constructor(){!function Uy(){typeof SVGElement<"u"&&typeof SVGElement.prototype.contains>"u"&&(SVGElement.prototype.contains=HTMLDivElement.prototype.contains)}()}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[il,uC,Ef,zy,xC,_C,RC,z0,EC,hm,cm,Af,LC]}),c})();var Of=He(91346),NC=He(12168),Wy=He(38833),G0=He(46247),$y=He(41570);const FC=()=>({width:"75vw"}),H0=()=>[10,25,50];function BC(c,v){if(1&c){const i=e.RV6();e.j41(0,"button",14),e.bIt("click",function(){e.eBV(i);const W=e.XpG();return e.Njj(W.refresh())}),e.k0s()}}function Xy(c,v){if(1&c){const i=e.RV6();e.j41(0,"div",15),e.EFF(1,"\n "),e.j41(2,"div",16),e.EFF(3,"\n "),e.j41(4,"div",17),e.EFF(5,"\n "),e.j41(6,"div",18),e.EFF(7,"\n "),e.j41(8,"div",16),e.EFF(9,"\n "),e.nrm(10,"div",19),e.nI1(11,"translate"),e.EFF(12,"\n "),e.nrm(13,"div",20),e.EFF(14,"\n "),e.j41(15,"div",21),e.EFF(16,"\n "),e.j41(17,"ngx-charts-advanced-pie-chart",22),e.bIt("select",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.open("state",W))}),e.EFF(18,"\n "),e.k0s(),e.EFF(19,"\n "),e.k0s(),e.EFF(20,"\n "),e.j41(21,"div",21),e.EFF(22,"\n "),e.nrm(23,"div",23),e.nI1(24,"translate"),e.EFF(25,"\n "),e.nrm(26,"div",20),e.EFF(27,"\n "),e.k0s(),e.EFF(28,"\n "),e.k0s(),e.EFF(29,"\n "),e.k0s(),e.EFF(30,"\n "),e.k0s(),e.EFF(31,"\n "),e.k0s(),e.EFF(32,"\n\n "),e.j41(33,"div",16),e.EFF(34,"\n "),e.j41(35,"div",17),e.EFF(36,"\n "),e.j41(37,"div",18),e.EFF(38,"\n "),e.j41(39,"div",16),e.EFF(40,"\n "),e.nrm(41,"div",19),e.nI1(42,"translate"),e.EFF(43,"\n "),e.nrm(44,"div",20),e.EFF(45,"\n "),e.j41(46,"div",21),e.EFF(47,"\n "),e.j41(48,"ngx-charts-advanced-pie-chart",24),e.EFF(49,"\n "),e.k0s(),e.EFF(50,"\n "),e.k0s(),e.EFF(51,"\n "),e.j41(52,"div",21),e.EFF(53,"\n "),e.nrm(54,"div",23),e.nI1(55,"translate"),e.EFF(56,"\n "),e.nrm(57,"div",20),e.EFF(58,"\n "),e.k0s(),e.EFF(59,"\n "),e.k0s(),e.EFF(60,"\n "),e.k0s(),e.EFF(61,"\n "),e.k0s(),e.EFF(62,"\n "),e.k0s(),e.EFF(63,"\n\n "),e.j41(64,"div",16),e.EFF(65,"\n "),e.j41(66,"div",17),e.EFF(67,"\n "),e.j41(68,"div",18),e.EFF(69,"\n "),e.j41(70,"div",16),e.EFF(71,"\n "),e.nrm(72,"div",19),e.nI1(73,"translate"),e.EFF(74,"\n "),e.nrm(75,"div",20),e.EFF(76,"\n "),e.j41(77,"div",21),e.EFF(78,"\n "),e.nrm(79,"div",25),e.EFF(80,"\n "),e.k0s(),e.EFF(81,"\n "),e.j41(82,"div",21),e.EFF(83,"\n "),e.nrm(84,"div",23),e.nI1(85,"translate"),e.EFF(86,"\n "),e.nrm(87,"div",20),e.EFF(88,"\n "),e.k0s(),e.EFF(89,"\n "),e.k0s(),e.EFF(90,"\n "),e.k0s(),e.EFF(91,"\n "),e.k0s(),e.EFF(92,"\n "),e.k0s(),e.EFF(93,"\n"),e.k0s()}if(2&c){const i=e.XpG();e.R7$(10),e.Y8G("innerHTML",e.bMT(11,21,"dashboard.health.title"),e.npT),e.R7$(7),e.Y8G("results",i.advancedPieState)("animations",i.animations)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("scheme",i.colorSchemeGBROG)("label",i.advancedPieStateLabel)("percentageFormatting",i.percentageFormatting),e.R7$(6),e.Y8G("innerHTML",e.bMT(24,23,"dashboard.health.comment"),e.npT),e.R7$(18),e.Y8G("innerHTML",e.bMT(42,25,"dashboard.traffic.title"),e.npT),e.R7$(7),e.Y8G("results",i.advancedPieSent)("animations",i.animations)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("scheme",i.colorSchemeBG)("label",i.advancedPieSentLabel)("percentageFormatting",i.percentageFormatting),e.R7$(6),e.Y8G("innerHTML",e.bMT(55,27,"dashboard.traffic.comment"),e.npT),e.R7$(18),e.Y8G("innerHTML",e.bMT(73,29,"dashboard.trend.title"),e.npT),e.R7$(7),e.Y8G("chart",i.chart),e.R7$(5),e.Y8G("innerHTML",e.bMT(85,31,"dashboard.trend.comment"),e.npT)}}function Yy(c,v){if(1&c){const i=e.RV6();e.j41(0,"div",15),e.EFF(1,"\n "),e.j41(2,"div",16),e.EFF(3,"\n "),e.j41(4,"div",17),e.EFF(5,"\n "),e.j41(6,"div",18),e.EFF(7,"\n "),e.j41(8,"div",16),e.EFF(9,"\n "),e.nrm(10,"div",19),e.nI1(11,"translate"),e.EFF(12,"\n "),e.nrm(13,"div",20),e.EFF(14,"\n "),e.j41(15,"div",21),e.EFF(16,"\n "),e.j41(17,"ngx-charts-advanced-pie-chart",22),e.bIt("select",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.open("device",W))}),e.EFF(18,"\n "),e.k0s(),e.EFF(19,"\n "),e.k0s(),e.EFF(20,"\n "),e.j41(21,"div",21),e.EFF(22,"\n "),e.nrm(23,"div",23),e.nI1(24,"translate"),e.EFF(25,"\n "),e.nrm(26,"div",20),e.EFF(27,"\n "),e.k0s(),e.EFF(28,"\n "),e.k0s(),e.EFF(29,"\n "),e.k0s(),e.EFF(30,"\n "),e.k0s(),e.EFF(31,"\n "),e.k0s(),e.EFF(32,"\n\n "),e.j41(33,"div",16),e.EFF(34,"\n "),e.j41(35,"div",17),e.EFF(36,"\n "),e.j41(37,"div",18),e.EFF(38,"\n "),e.j41(39,"div",16),e.EFF(40,"\n "),e.nrm(41,"div",19),e.nI1(42,"translate"),e.EFF(43,"\n "),e.nrm(44,"div",20),e.EFF(45,"\n "),e.j41(46,"div",21),e.EFF(47,"\n "),e.j41(48,"ngx-charts-advanced-pie-chart",22),e.bIt("select",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.open("battery",W))}),e.EFF(49,"\n "),e.k0s(),e.EFF(50,"\n "),e.k0s(),e.EFF(51,"\n "),e.j41(52,"div",21),e.EFF(53,"\n "),e.nrm(54,"div",23),e.nI1(55,"translate"),e.EFF(56,"\n "),e.nrm(57,"div",20),e.EFF(58,"\n "),e.k0s(),e.EFF(59,"\n "),e.k0s(),e.EFF(60,"\n "),e.k0s(),e.EFF(61,"\n "),e.k0s(),e.EFF(62,"\n "),e.k0s(),e.EFF(63,"\n\n "),e.j41(64,"div",16),e.EFF(65,"\n "),e.j41(66,"div",17),e.EFF(67,"\n "),e.j41(68,"div",18),e.EFF(69,"\n "),e.j41(70,"div",16),e.EFF(71,"\n "),e.nrm(72,"div",19),e.nI1(73,"translate"),e.EFF(74,"\n "),e.nrm(75,"div",20),e.EFF(76,"\n "),e.j41(77,"div",21),e.EFF(78,"\n "),e.j41(79,"ngx-charts-advanced-pie-chart",22),e.bIt("select",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.open("certified",W))}),e.EFF(80,"\n "),e.k0s(),e.EFF(81,"\n "),e.k0s(),e.EFF(82,"\n "),e.j41(83,"div",21),e.EFF(84,"\n "),e.nrm(85,"div",23),e.nI1(86,"translate"),e.EFF(87,"\n "),e.nrm(88,"div",20),e.EFF(89,"\n "),e.k0s(),e.EFF(90,"\n "),e.k0s(),e.EFF(91,"\n "),e.k0s(),e.EFF(92,"\n "),e.k0s(),e.EFF(93,"\n "),e.k0s(),e.EFF(94,"\n"),e.k0s()}if(2&c){const i=e.XpG();e.R7$(10),e.Y8G("innerHTML",e.bMT(11,27,"dashboard.device.title"),e.npT),e.R7$(7),e.Y8G("results",i.advancedPieDevice)("animations",i.animations)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("scheme",i.colorSchemePC)("label",i.advancedPieDeviceLabel)("percentageFormatting",i.percentageFormatting),e.R7$(6),e.Y8G("innerHTML",e.bMT(24,29,"dashboard.devices.comment"),e.npT),e.R7$(18),e.Y8G("innerHTML",e.bMT(42,31,"dashboard.battery.title"),e.npT),e.R7$(7),e.Y8G("results",i.advancedPieBattery)("animations",i.animations)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("scheme",i.colorSchemeROBG)("label",i.advancedPieBatteryLabel)("percentageFormatting",i.percentageFormatting),e.R7$(6),e.Y8G("innerHTML",e.bMT(55,33,"dashboard.battery.comment"),e.npT),e.R7$(18),e.Y8G("innerHTML",e.bMT(73,35,"dashboard.optimized.title"),e.npT),e.R7$(7),e.Y8G("results",i.advancedPieCertified)("animations",i.animations)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("scheme",i.colorSchemeGO)("label",i.advancedCertifiedLabel)("percentageFormatting",i.percentageFormatting),e.R7$(6),e.Y8G("innerHTML",e.bMT(86,37,"dashboard.optimized.comment"),e.npT)}}function jC(c,v){if(1&c){const i=e.RV6();e.j41(0,"div",26),e.EFF(1,"\n "),e.j41(2,"div",27),e.EFF(3,"\n "),e.j41(4,"div",28),e.EFF(5,"\n "),e.nrm(6,"div",29),e.nI1(7,"translate"),e.EFF(8,"\n "),e.nrm(9,"div",30),e.nI1(10,"translate"),e.EFF(11,"\n "),e.k0s(),e.EFF(12,"\n "),e.j41(13,"div"),e.EFF(14,"\n "),e.j41(15,"button",31),e.bIt("click",function(){e.eBV(i);const W=e.XpG();return e.Njj(W.consent(!1))}),e.k0s(),e.EFF(16,"\n "),e.j41(17,"button",32),e.bIt("click",function(){e.eBV(i);const W=e.XpG();return e.Njj(W.consent(!0))}),e.k0s(),e.EFF(18,"\n "),e.k0s(),e.EFF(19,"\n "),e.k0s(),e.EFF(20,"\n"),e.k0s()}2&c&&(e.R7$(6),e.Y8G("innerHtml",e.bMT(7,2,"consent.banner.header"),e.npT),e.R7$(3),e.Y8G("innerHtml",e.bMT(10,4,"consent.banner.description"),e.npT))}function VC(c,v){1&c&&(e.EFF(0,"\n "),e.nrm(1,"div",33),e.EFF(2,"\n "))}function zC(c,v){1&c&&(e.EFF(0,"\n "),e.j41(1,"tr"),e.EFF(2,"\n "),e.j41(3,"th",34),e.EFF(4),e.nI1(5,"translate"),e.nrm(6,"p-sortIcon",35),e.EFF(7,"\n "),e.k0s(),e.EFF(8,"\n "),e.j41(9,"th",36),e.EFF(10),e.nI1(11,"translate"),e.nrm(12,"p-sortIcon",37),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n "),e.j41(15,"th",38),e.EFF(16),e.nI1(17,"translate"),e.nrm(18,"p-sortIcon",39),e.EFF(19,"\n "),e.k0s(),e.EFF(20,"\n "),e.j41(21,"th",40),e.EFF(22),e.nI1(23,"translate"),e.nrm(24,"p-sortIcon",41),e.EFF(25,"\n "),e.k0s(),e.EFF(26,"\n "),e.j41(27,"th",42),e.EFF(28),e.nI1(29,"translate"),e.nrm(30,"p-sortIcon",43),e.EFF(31,"\n "),e.k0s(),e.EFF(32,"\n "),e.j41(33,"th",44),e.EFF(34),e.nI1(35,"translate"),e.nrm(36,"p-sortIcon",45),e.EFF(37,"\n "),e.k0s(),e.EFF(38,"\n "),e.j41(39,"th",46),e.EFF(40),e.nI1(41,"translate"),e.nrm(42,"p-sortIcon",47),e.EFF(43,"\n "),e.k0s(),e.EFF(44,"\n "),e.k0s(),e.EFF(45,"\n ")),2&c&&(e.R7$(4),e.SpI("\n ",e.bMT(5,7,"device.byname.shortid.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(11,9,"device.byname.ieee.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(17,11,"device.byname.model.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(23,13,"device.byname.devicename.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(29,15,"device.byname.status.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(35,17,"device.byname.battery.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(41,19,"device.byname.health.column"),""))}function U0(c,v){if(1&c&&(e.EFF(0,"\n "),e.j41(1,"tr"),e.EFF(2,"\n "),e.j41(3,"td"),e.EFF(4),e.k0s(),e.EFF(5,"\n "),e.j41(6,"td"),e.EFF(7),e.k0s(),e.EFF(8,"\n "),e.j41(9,"td"),e.EFF(10),e.k0s(),e.EFF(11,"\n "),e.j41(12,"td"),e.EFF(13),e.k0s(),e.EFF(14,"\n "),e.j41(15,"td"),e.EFF(16),e.k0s(),e.EFF(17,"\n "),e.j41(18,"td"),e.EFF(19),e.k0s(),e.EFF(20,"\n "),e.j41(21,"td"),e.EFF(22),e.k0s(),e.EFF(23,"\n "),e.k0s(),e.EFF(24,"\n ")),2&c){const i=v.$implicit;e.R7$(4),e.JRh(i._NwkId),e.R7$(3),e.JRh(i.IEEE),e.R7$(3),e.JRh(i.Model),e.R7$(3),e.JRh(i.ZDeviceName),e.R7$(3),e.JRh(i.Status),e.R7$(3),e.JRh(i.Battery),e.R7$(3),e.JRh(i.Health)}}const Ky=[rn.childRoutes([{path:"",redirectTo:"/dashboard",pathMatch:"full"},{path:"dashboard",component:(()=>{class c extends Ge.U{apiService;versionService;headerService;translateService;tracker;visible=!1;settingsToSave=[];showConsent=!1;poll=!1;chart;devices;certified;routers;inDbs;healthsLive;healthsDisabled;healthsNotSeen;healthsNotReachable;healthsOthers={};pluginStats;maxLoad={};currentLoad={};devicesOther;certifiedDevices;notCertifiedDevices;devicesToOverlay;battery1;battery2;battery3;battery4;advancedPieLoad;advancedPieSent;advancedPieDevice;advancedPieState=[];advancedPieBattery;advancedPieCertified;advancedPieLoadLabel;advancedPieSentLabel;advancedPieDeviceLabel;advancedPieStateLabel;advancedPieBatteryLabel;advancedCertifiedLabel;getScreenWidth;getScreenHeight;gaugeType="full";gaugeAppendText="";thick=15;animations=!0;gradient=!1;tooltipDisabled=!1;colorShemeState;colorSchemeROBG={domain:["red","orange","green","blue"]};colorSchemeGBROG={domain:["green","blue","red","orange","gray"]};colorSchemeBG={domain:["blue","green"]};colorSchemePC={domain:["purple","cyan"]};colorSchemeGO={domain:["green","orange"]};plugin;constructor(i,m,W,ce,De){super(),this.apiService=i,this.versionService=m,this.headerService=W,this.translateService=ce,this.tracker=De}ngOnInit(){this.getScreenWidth=window.innerWidth,this.getScreenHeight=window.innerHeight,this.apiService.getSettings().subscribe(i=>{i.forEach(m=>{this.settingsToSave=this.settingsToSave.concat(m.ListOfSettings),this.settingsToSave.forEach(W=>{"PluginAnalytics"===W.Name&&(-1===W.current_value?this.showConsent=!0:1===W.current_value?(this.tracker.setConsentGiven(),this.tracker.rememberConsentGiven()):this.tracker.forgetConsentGiven())})})}),this.subs.sink=this.headerService.polling.subscribe(i=>{this.poll=i,this.subs.add((0,_r.O)(1,Ar.c.refresh).pipe((0,Va.n)(()=>this.getStats()),na(),(0,Ha.u)(),(0,sa.Q)(this.headerService.polling.pipe((0,io.p)(m=>!1===m)))).subscribe())}),this.poll||this.getStats().subscribe(),this.getInfos()}onWindowResize(){this.getScreenWidth=window.innerWidth,this.getScreenHeight=window.innerHeight}getInfos(){this.advancedPieLoadLabel=this.translateService.instant("dashboard.trafic.maxload.label"),this.advancedPieSentLabel=this.translateService.instant("dashboard.trafic.label"),this.advancedPieDeviceLabel=this.translateService.instant("dashboard.devices.label"),this.advancedPieStateLabel=this.translateService.instant("dashboard.devices.state.label"),this.advancedPieBatteryLabel=this.translateService.instant("dashboard.devices.battery.label"),this.advancedCertifiedLabel=this.translateService.instant("dashboard.devices.optimized.label")}percentageFormatting(i){return Math.round(i)}createChart(){const i=[],m=[],W=[],ce=this.pluginStats.Trend.sort((qe,et)=>{const gt=qe._TS,Mt=et._TS;return gt>Mt?1:gt{const et=new Date,gt=new Date(et.setSeconds(et.getSeconds()-De));De-=5,i.push({x:gt,y:qe.Txps}),m.push({x:gt,y:qe.Rxps}),W.push({x:gt,y:qe.Load})});const Ve={chart:{type:"line",height:"150"},title:{text:""},legend:{align:"center",verticalAlign:"top",floating:!0},xAxis:{allowDecimals:!1,labels:{formatter:function(){const qe=new Date(this.value);return qe.getHours()+(qe.getMinutes()>9?":"+qe.getMinutes():":0"+qe.getMinutes())+(qe.getSeconds()>9?":"+qe.getSeconds():":0"+qe.getSeconds())}},type:"datetime"},yAxis:{title:{text:""},labels:{formatter:function(){return this.value+""}}},tooltip:{pointFormat:"{series.name} {point.y}"},credits:{enabled:!1},plotOptions:{series:{label:{connectorAllowed:!1}}},series:[{name:this.translateService.instant("dashboard.txps"),data:i,type:"line",color:"blue"},{name:this.translateService.instant("dashboard.rxps"),data:m,type:"line",color:"green"},{name:this.translateService.instant("dashboard.load"),data:W,type:"line",color:"orange"}]};this.chart=new Of.t1(Ve),this.subs.add(this.chart.ref$.subscribe())}open(i,m){"device"===i?this.devicesToOverlay=m.name===this.translateService.instant("dashboard.devices.routers")?this.routers:this.devicesOther:"state"===i?this.devicesToOverlay=m.name===this.translateService.instant("dashboard.devices.live")?this.healthsLive:m.name===this.translateService.instant("dashboard.devices.disabled")?this.healthsDisabled:m.name===this.translateService.instant("dashboard.devices.others")?this.healthsOthers:m.name===this.translateService.instant("dashboard.devices.notReachable")?this.healthsNotReachable:this.healthsNotSeen:"battery"===i?this.devicesToOverlay=m.name===this.translateService.instant("dashboard.devices.battery.inf.15")?this.battery1:m.name===this.translateService.instant("dashboard.devices.battery.inf.35")?this.battery2:m.name===this.translateService.instant("dashboard.devices.battery.inf.75")?this.battery3:this.battery4:"certified"===i&&(this.devicesToOverlay=m.name===this.translateService.instant("dashboard.devices.optimized")?this.certifiedDevices:this.notCertifiedDevices),80*this.getScreenWidth/100>768&&(this.visible=!0)}refresh(){this.getStats().subscribe(),this.versionService.setReload(!0)}getStats(){return(0,Rl.p)([this.apiService.getPluginStats(),this.apiService.getZDevices(),this.apiService.getPlugin(),this.apiService.getZDeviceName()]).pipe((0,Or.T)(([i,m,W,ce])=>{this.plugin=W,this.pluginStats=i,this.devices=m||[],this.certified=ce||[],this.trackEvent(),this.createChart(),this.maxLoad.label=this.translateService.instant("dashboard.trafic.maxload"),this.maxLoad.total=i.MaxLoad,this.currentLoad.label=this.translateService.instant("dashboard.trafic.currentload"),this.currentLoad.total=i.CurrentLoad,this.advancedPieLoad=[{name:this.translateService.instant("dashboard.trafic.maxload"),value:i.MaxLoad-i.CurrentLoad},{name:this.translateService.instant("dashboard.trafic.currentload"),value:i.CurrentLoad}],this.advancedPieSent=[{name:this.translateService.instant("dashboard.trafic.send"),value:i.Sent},{name:this.translateService.instant("dashboard.trafic.receive"),value:i.Received}],this.devices.total=this.devices.length,this.devices.label=this.translateService.instant("devices"),this.routers=this.devices.filter(Ve=>"Router"===Ve.LogicalType&&"Disabled"!==Ve.Health),this.devicesOther=this.devices.filter(Ve=>"Router"!==Ve.LogicalType&&"Disabled"!==Ve.Health),this.routers.label=this.translateService.instant("dashboard.devices.routers"),this.routers.total=(this.routers.length/this.devices.total*100).toFixed(0),this.routers.append="%",this.inDbs=this.devices.filter(Ve=>"inDB"===Ve.Status),this.inDbs.label=this.translateService.instant("dashboard.devices.indb"),this.inDbs.total=(this.inDbs.length/this.devices.total*100).toFixed(0),this.inDbs.append="%",this.advancedPieDevice=[{name:this.translateService.instant("dashboard.devices.routers"),value:this.routers.length},{name:this.translateService.instant("dashboard.devices.enddevice"),value:this.devicesOther.length}],this.healthsLive=this.devices.filter(Ve=>"Live"===Ve.Health&&"notDB"!==Ve.Status),this.healthsDisabled=this.devices.filter(Ve=>"Disabled"===Ve.Health||"notDB"===Ve.Status),this.healthsNotReachable=this.devices.filter(Ve=>"Not Reachable"===Ve.Health&&"notDB"!==Ve.Status||"Leave"===Ve.Status),this.healthsNotSeen=this.devices.filter(Ve=>"Not seen last 24hours"===Ve.Health&&"notDB"!==Ve.Status),this.healthsOthers=this.devices.filter(Ve=>"Not seen last 24hours"!==Ve.Health&&"Not Reachable"!==Ve.Health&&"Live"!==Ve.Health&&"notDB"!==Ve.Status&&"Leave"!==Ve.Status&&"Disabled"!==Ve.Health),this.colorShemeState=this.colorSchemeGBROG,this.advancedPieState=[],this.advancedPieState.push({name:this.translateService.instant("dashboard.devices.live"),value:this.healthsLive.length}),this.healthsDisabled.length>0?this.advancedPieState.push({name:this.translateService.instant("dashboard.devices.disabled"),value:this.healthsDisabled.length}):this.colorShemeState.domain=this.colorShemeState.domain.filter(Ve=>"blue"!==Ve),this.healthsNotReachable.length>0?this.advancedPieState.push({name:this.translateService.instant("dashboard.devices.notReachable"),value:this.healthsNotReachable.length}):this.colorShemeState.domain=this.colorShemeState.domain.filter(Ve=>"red"!==Ve),this.advancedPieState.push({name:this.translateService.instant("dashboard.devices.notseen"),value:this.healthsNotSeen.length}),this.advancedPieState.push({name:this.translateService.instant("dashboard.devices.others"),value:this.healthsOthers.length});const De=this.devices.filter(Ve=>"Battery"===Ve.PowerSource&&"notDB"!==Ve.Status);this.battery1=De.filter(Ve=>Ve.Battery<=15&&"Disabled"!==Ve.Health),this.battery2=De.filter(Ve=>Ve.Battery>15&&Ve.Battery<=35&&"Disabled"!==Ve.Health),this.battery3=De.filter(Ve=>Ve.Battery>35&&Ve.Battery<=75&&"Disabled"!==Ve.Health),this.battery4=De.filter(Ve=>Ve.Battery>75&&"Disabled"!==Ve.Health),this.advancedPieBattery=[{name:this.translateService.instant("dashboard.devices.battery.inf.15"),value:this.battery1.length},{name:this.translateService.instant("dashboard.devices.battery.inf.35"),value:this.battery2.length},{name:this.translateService.instant("dashboard.devices.battery.inf.75"),value:this.battery3.length},{name:this.translateService.instant("dashboard.devices.battery.sup.75"),value:this.battery4.length}],this.certifiedDevices=this.certified.filter(Ve=>Ve.CertifiedDevice&&"Disabled"!==Ve.Health),this.notCertifiedDevices=this.certified.filter(Ve=>!Ve.CertifiedDevice&&"Disabled"!==Ve.Health),this.advancedPieCertified=[{name:this.translateService.instant("dashboard.devices.optimized"),value:this.certifiedDevices.length},{name:this.translateService.instant("dashboard.devices.not.optimized"),value:this.notCertifiedDevices.length}],this.headerService.setError(i.Error)}))}consent(i){const m={};this.settingsToSave.forEach(W=>{const ce=W.Name;"PluginAnalytics"===ce&&(m[ce]={current:i?1:0})}),this.apiService.putSettings(m).subscribe(()=>{this.showConsent=!1,i?(this.tracker.setConsentGiven(),this.tracker.rememberConsentGiven()):this.tracker.forgetConsentGiven()})}trackEvent(){const i=JSON.parse(sessionStorage.getItem("pluginFirstSendToMatomo"));(!i||i.NetworkSize!==this.plugin.NetworkSize)&&sessionStorage.setItem("pluginFirstSendToMatomo",JSON.stringify(this.plugin)),sessionStorage.getItem("pluginFirstSendToMatomo")!==sessionStorage.getItem("pluginSentToMatomo")&&(sessionStorage.setItem("pluginSentToMatomo",JSON.stringify(this.plugin)),this.tracker.setUserId(this.plugin.CoordinatorIEEE),this.tracker.setCustomVariable(1,"CoordinatorModel",this.plugin.CoordinatorModel,"visit"),this.tracker.setCustomVariable(2,"PluginVersion",this.plugin.PluginVersion,"visit"),this.tracker.setCustomVariable(3,"CoordinatorFirmwareVersion",this.plugin.CoordinatorFirmwareVersion,"visit"),this.tracker.setCustomVariable(4,"NetworkSize",this.plugin.NetworkSize,"visit"),this.tracker.setCustomVariable(4,"DistributionInfos",this.plugin.DistributionInfos.toLocaleString(),"visit"),Object.entries(this.plugin.NetworkDevices).forEach(([m,W])=>{Object.entries(W).forEach(([ce,De])=>{this.tracker.trackEvent("NetworkDevices",De.join("|"),m.concat("|").concat(ce))})}))}static \u0275fac=function(m){return new(m||c)(e.rXU(Ke.G),e.rXU(ks),e.rXU(ut.d),e.rXU(Ir.c$),e.rXU(Vn.kA))};static \u0275cmp=e.VBU({type:c,selectors:[["app-dashboard"]],hostBindings:function(m,W){1&m&&e.bIt("resize",function(De){return W.onWindowResize(De)},!1,e.tSv)},features:[e.Vt3],decls:42,vars:29,consts:[["dt1",""],[1,"col-12","card"],[1,"card-header"],[1,"fw-bold"],["class","d-none d-md-block btn btn-default btn-primary float-bottom float-end","translate","dashboard.button.refresh",3,"click",4,"ngIf"],["class","row row-cols-1 row-cols-md-2 row-cols-lg-3 g-4",4,"ngIf"],[1,"col-12","card","mt-2"],[1,"card-header","fw-bold"],["class","consent-banner",4,"ngIf"],["header","Header",3,"visibleChange","visible","position"],["pTemplate","header"],[1,"card-title",3,"innerHTML"],["styleClass","p-datatable-sm","responsiveLayout","scroll","stateStorage","local","stateKey","dashboard",3,"rowHover","showCurrentPageReport","currentPageReportTemplate","rowsPerPageOptions","value","rows","paginator","scrollable"],["pTemplate","body"],["translate","dashboard.button.refresh",1,"d-none","d-md-block","btn","btn-default","btn-primary","float-bottom","float-end",3,"click"],[1,"row","row-cols-1","row-cols-md-2","row-cols-lg-3","g-4"],[1,"col"],[1,"card","h-100"],[1,"card-body"],[1,"col-sm",3,"innerHTML"],[1,"col-sm-1"],[1,"row"],[3,"select","results","animations","gradient","tooltipDisabled","scheme","label","percentageFormatting"],[1,"col-sm","border-start","border-3",3,"innerHTML"],[3,"results","animations","gradient","tooltipDisabled","scheme","label","percentageFormatting"],[1,"col-sm",3,"chart"],[1,"consent-banner"],[1,"consent-banner__inner"],[1,"consent-banner__copy"],[1,"consent-banner__header",3,"innerHtml"],[1,"consent-banner__description",3,"innerHtml"],["translate","consent.banner.decline",1,"col-sm-2","ms-3","btn","btn-danger",3,"click"],["translate","consent.banner.accept",1,"col-sm-2","ms-3","btn","btn-primary",3,"click"],["translate","dashboard.popup.device.header",1,"col-sm"],["pSortableColumn","_NwkId",2,"width","7rem"],["field","_NwkId"],["pSortableColumn","IEEE",2,"width","5rem"],["field","IEEE"],["pSortableColumn","Model",2,"width","13rem"],["field","Model"],["pSortableColumn","ZDeviceName",2,"width","20rem"],["field","ZDeviceName"],["pSortableColumn","Status",2,"width","7rem"],["field","Status"],["pSortableColumn","Battery",2,"width","7rem"],["field","Battery"],["pSortableColumn","Health",2,"width","6rem"],["field","Health"]],template:function(m,W){if(1&m){const ce=e.RV6();e.j41(0,"div",1),e.EFF(1,"\n "),e.j41(2,"div",2),e.EFF(3,"\n "),e.j41(4,"span",3),e.EFF(5),e.nI1(6,"translate"),e.k0s(),e.EFF(7,"\n "),e.DNE(8,BC,1,0,"button",4),e.EFF(9,"\n "),e.k0s(),e.EFF(10,"\n"),e.k0s(),e.EFF(11,"\n"),e.DNE(12,Xy,94,33,"div",5),e.EFF(13,"\n\n"),e.j41(14,"div",6),e.EFF(15,"\n "),e.j41(16,"div",7),e.EFF(17),e.nI1(18,"translate"),e.k0s(),e.EFF(19,"\n"),e.k0s(),e.EFF(20,"\n"),e.DNE(21,Yy,95,39,"div",5),e.EFF(22,"\n\n"),e.DNE(23,jC,21,6,"div",8),e.EFF(24,"\n"),e.j41(25,"p-dialog",9),e.mxI("visibleChange",function(Ve){return e.eBV(ce),e.DH7(W.visible,Ve)||(W.visible=Ve),e.Njj(Ve)}),e.EFF(26,"\n "),e.DNE(27,VC,3,0,"ng-template",10),e.EFF(28,"\n "),e.nrm(29,"h5",11),e.nI1(30,"translate"),e.EFF(31,"\n "),e.j41(32,"p-table",12,0),e.nI1(34,"translate"),e.EFF(35,"\n "),e.DNE(36,zC,46,21,"ng-template",10),e.EFF(37,"\n "),e.DNE(38,U0,25,7,"ng-template",13),e.EFF(39,"\n "),e.k0s(),e.EFF(40,"\n"),e.k0s(),e.EFF(41,"\n")}2&m&&(e.R7$(5),e.JRh(e.bMT(6,19,"dashboard.trafic.title")),e.R7$(3),e.Y8G("ngIf",!W.poll),e.R7$(4),e.Y8G("ngIf",W.pluginStats),e.R7$(5),e.SpI("\n ",e.bMT(18,21,"dashboard.devices.title"),"\n "),e.R7$(4),e.Y8G("ngIf",W.pluginStats),e.R7$(2),e.Y8G("ngIf",W.showConsent),e.R7$(2),e.Aen(e.lJ4(27,FC)),e.R50("visible",W.visible),e.Y8G("position","bottom"),e.R7$(4),e.Y8G("innerHTML",e.bMT(30,23,"dashboard.popup.device.subtitle"),e.npT),e.R7$(3),e.FS9("currentPageReportTemplate",e.bMT(34,25,"TOTAL")),e.Y8G("rowHover",!0)("showCurrentPageReport",!0)("rowsPerPageOptions",e.lJ4(28,H0))("value",W.devicesToOverlay)("rows",10)("paginator",!0)("scrollable",!0))},dependencies:[Qi.bT,Hy,Ir.Mm,Of.S6,G0.XI,_l.Ei,G0.Tg,G0.yc,$y.l,Ir.D9],styles:[".border-3[_ngcontent-%COMP%]{border-width:3px}.consent-banner[_ngcontent-%COMP%]{position:fixed;bottom:0;left:0;z-index:2147483645;box-sizing:border-box;width:100%;background-color:#f1f6f4}.consent-banner__inner[_ngcontent-%COMP%]{max-width:960px;margin:0 auto;padding:32px 0}.consent-banner__copy[_ngcontent-%COMP%]{margin-bottom:16px}.consent-banner__header[_ngcontent-%COMP%]{margin-bottom:8px;font-family:CeraPRO-Bold,sans-serif,arial;font-weight:400;font-size:16px;line-height:24px}.consent-banner__description[_ngcontent-%COMP%]{font-family:CeraPRO-Regular,sans-serif,arial;font-weight:400;color:#838f93;font-size:16px;line-height:24px}.card[_ngcontent-%COMP%]{--bs-card-border-width: none}"]})}return c})(),data:{title:(0,Er.o6)("dashboard")}}])];let HC=(()=>{class c{static \u0275fac=function(m){return new(m||c)};static \u0275mod=e.$C({type:c});static \u0275inj=e.G2t({imports:[pr.iI.forChild(Ky),pr.iI]})}return c})(),UC=(()=>{class c{static \u0275fac=function(m){return new(m||c)};static \u0275mod=e.$C({type:c});static \u0275inj=e.G2t({providers:[{provide:Of.SV,useFactory:()=>[NC,Wy]}],imports:[Bt,If,HC,Qi.MD,at.X1,Ir.h,Of.Fr,Zs.G]})}return c})(),WC=(()=>{class c{static \u0275fac=function(m){return new(m||c)};static \u0275mod=e.$C({type:c});static \u0275inj=e.G2t({imports:[Qi.MD,Ir.h,or.UN,at.YN,pr.iI]})}return c})(),$C=(()=>{class c{static \u0275fac=function(m){return new(m||c)};static \u0275mod=e.$C({type:c,bootstrap:[Ue]});static \u0275inj=e.G2t({imports:[M.Bb,Bt,Pe.q1,V.FQ,Ir.h.forRoot(),or.UN,Er.Ui,Zs.G,WC,UC,vl._B.forRoot({timeOut:5e3,positionClass:"toast-bottom-right",preventDuplicates:!0}),Vn.mP.forRoot({acceptDoNotTrack:!1,requireConsent:Vn.JV.TRACKING,trackerUrl:Ar.c.trackerUrl,siteId:Ar.c.siteId}),jl,xl]})}return c})();Ar.c.production&&(0,e.SmG)(),M.sG().bootstrapModule($C,{preserveWhitespaces:!0}).catch(c=>console.log(c))},31923:function(ri,Ft,He){var M,e,V;e=typeof window<"u"?window:this,V=function(e){"use strict";var V={};function Pe(Z,ie,re,ve){Z.hasOwnProperty(ie)||(Z[ie]=ve.apply(null,re),"function"==typeof CustomEvent&&e.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:ie,module:Z[ie]}})))}return Pe(V,"Core/Globals.js",[],function(){var Z,ie;return(ie=Z||(Z={})).SVG_NS="http://www.w3.org/2000/svg",ie.product="Highcharts",ie.version="11.4.0",ie.win=void 0!==e?e:{},ie.doc=ie.win.document,ie.svg=ie.doc&&ie.doc.createElementNS&&!!ie.doc.createElementNS(ie.SVG_NS,"svg").createSVGRect,ie.userAgent=ie.win.navigator&&ie.win.navigator.userAgent||"",ie.isChrome=-1!==ie.userAgent.indexOf("Chrome"),ie.isFirefox=-1!==ie.userAgent.indexOf("Firefox"),ie.isMS=/(edge|msie|trident)/i.test(ie.userAgent)&&!ie.win.opera,ie.isSafari=!ie.isChrome&&-1!==ie.userAgent.indexOf("Safari"),ie.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(ie.userAgent),ie.isWebKit=-1!==ie.userAgent.indexOf("AppleWebKit"),ie.deg2rad=2*Math.PI/360,ie.hasBidiBug=ie.isFirefox&&4>parseInt(ie.userAgent.split("Firefox/")[1],10),ie.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],ie.noop=function(){},ie.supportsPassiveEvents=function(){let re=!1;if(!ie.isMS){let ve=Object.defineProperty({},"passive",{get:function(){re=!0}});ie.win.addEventListener&&ie.win.removeEventListener&&(ie.win.addEventListener("testPassive",ie.noop,ve),ie.win.removeEventListener("testPassive",ie.noop,ve))}return re}(),ie.charts=[],ie.composed=[],ie.dateFormats={},ie.seriesTypes={},ie.symbolSizes={},ie.chartCount=0,Z}),Pe(V,"Core/Utilities.js",[V["Core/Globals.js"]],function(Z){let ie,{charts:re,doc:ve,win:le}=Z;function fe(o,n,r,l){let d=n?"Highcharts error":"Highcharts warning";32===o&&(o=`${d}: Deprecated member`);let C=F(o),k=C?`${d} #${o}: www.highcharts.com/errors/${o}/`:o.toString();if(void 0!==l){let p="";C&&(k+="?"),f(l,function(S,j){p+=`\n - ${j}: ${S}`,C&&(k+=encodeURI(j)+"="+encodeURI(S))}),k+=p}g(Z,"displayError",{chart:r,code:o,message:k,params:l},function(){if(n)throw Error(k);le.console&&-1===fe.messages.indexOf(k)&&console.warn(k)}),fe.messages.push(k)}function pe(o,n){return parseInt(o,n||10)}function J(o){return"string"==typeof o}function te(o){let n=Object.prototype.toString.call(o);return"[object Array]"===n||"[object Array Iterator]"===n}function $(o,n){return!(!o||"object"!=typeof o||n&&te(o))}function A(o){return $(o)&&"number"==typeof o.nodeType}function B(o){let n=o&&o.constructor;return!(!$(o,!0)||A(o)||!n||!n.name||"Object"===n.name)}function F(o){return"number"==typeof o&&!isNaN(o)&&o<1/0&&o>-1/0}function L(o){return null!=o}function D(o,n,r){let l,d=J(n)&&!L(r),C=(k,p)=>{L(k)?o.setAttribute(p,k):d?(l=o.getAttribute(p))||"class"!==p||(l=o.getAttribute(p+"Name")):o.removeAttribute(p)};return J(n)?C(r,n):f(n,C),l}function I(o){return te(o)?o:[o]}function E(o,n){let r;for(r in o||(o={}),n)o[r]=n[r];return o}function _(){let o=arguments,n=o.length;for(let r=0;r1e14?o:parseFloat(o.toPrecision(n||14))}(fe||(fe={})).messages=[],Math.easeInOutSine=function(o){return-.5*(Math.cos(Math.PI*o)-1)};let O=Array.prototype.find?function(o,n){return o.find(n)}:function(o,n){let r,l=o.length;for(r=0;rp.order-S.order),d.forEach(p=>{!1===p.fn.call(o,r)&&r.preventDefault()})}l&&!r.defaultPrevented&&l.call(o,r)}f({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(o,n){Z[n]=function(r){return fe(32,!1,void 0,{[`Highcharts.${n}`]:`use Array.${o}`}),Array.prototype[o].apply(r,[].slice.call(arguments,1))}});let y=function(){let o=Math.random().toString(36).substring(2,9)+"-",n=0;return function(){return"highcharts-"+(ie?"":o)+n++}}();return le.jQuery&&(le.jQuery.fn.highcharts=function(){let o=[].slice.call(arguments);if(this[0])return o[0]?(new(Z[J(o[0])?o.shift():"Chart"])(this[0],o[0],o[1]),this):re[D(this[0],"data-highcharts-chart")]}),{addEvent:function(o,n,r,l={}){let d="function"==typeof o&&o.prototype||o;Object.hasOwnProperty.call(d,"hcEvents")||(d.hcEvents={});let C=d.hcEvents;Z.Point&&o instanceof Z.Point&&o.series&&o.series.chart&&(o.series.chart.runTrackerClick=!0);let k=o.addEventListener;return k&&k.call(o,n,r,!!Z.supportsPassiveEvents&&{passive:void 0===l.passive?-1!==n.indexOf("touch"):l.passive,capture:!1}),C[n]||(C[n]=[]),C[n].push({fn:r,order:"number"==typeof l.order?l.order:1/0}),C[n].sort((S,j)=>S.order-j.order),function(){a(o,n,r)}},arrayMax:function(o){let n=o.length,r=o[0];for(;n--;)o[n]>r&&(r=o[n]);return r},arrayMin:function(o){let n=o.length,r=o[0];for(;n--;)o[n]n?o-1&&p[U]){Y=I(Y),S[U]=[];for(let se=0;se{if(p.length>1)for(C=l=p.length-1;C>0;C--)(d=p[C]-p[C-1])<0&&!k?(n?.(),n=void 0):d&&(void 0===r||d=k-1&&(k=Math.floor(p)),Math.max(0,k-(o(n,"padding-left",!0)||0)-(o(n,"padding-right",!0)||0))}if("height"===r)return Math.max(0,Math.min(n.offsetHeight,n.scrollHeight)-(o(n,"padding-top",!0)||0)-(o(n,"padding-bottom",!0)||0));let C=le.getComputedStyle(n,void 0);return C&&(d=C.getPropertyValue(r),_(l,"opacity"!==r)&&(d=pe(d))),d},inArray:function(o,n,r){return fe(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),n.indexOf(o,r)},insertItem:function(o,n){let r,l=o.options.index,d=n.length;for(r=o.options.isInternal?d:0;r=o))&&(d||!(p<=(n[C]+(n[C+1]||n[C]))/2)));C++);return z(k*r,-Math.round(Math.log(.001)/Math.LN10))},objectEach:f,offset:function(o){let n=ve.documentElement,r=o.parentElement||o.parentNode?o.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:r.top+(le.pageYOffset||n.scrollTop)-(n.clientTop||0),left:r.left+(le.pageXOffset||n.scrollLeft)-(n.clientLeft||0),width:r.width,height:r.height}},pad:function(o,n,r){return Array((n||2)+1-String(o).replace("-","").length).join(r||"0")+o},pick:_,pInt:pe,pushUnique:function(o,n){return 0>o.indexOf(n)&&!!o.push(n)},relativeLength:function(o,n,r){return/%$/.test(o)?n*parseFloat(o)/100+(r||0):parseFloat(o)},removeEvent:a,replaceNested:function(o,...n){let r,l;do{for(l of(r=o,n))o=o.replace(l[0],l[1])}while(o!==r);return o},splat:I,stableSort:function(o,n){let r,l,d=o.length;for(l=0;l0?setTimeout(o,n,r):(o.call(0,r),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:y,useSerialIds:function(o){return ie=_(o,ie)},wrap:function(o,n,r){let l=o[n];o[n]=function(){let d=arguments,C=this;return r.apply(this,[function(){return l.apply(C,arguments.length?arguments:d)}].concat([].slice.call(arguments)))}}}}),Pe(V,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),Pe(V,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),Pe(V,"Core/Time.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie){let{win:re}=Z,{defined:ve,error:le,extend:fe,isNumber:pe,isObject:J,merge:te,objectEach:$,pad:A,pick:B,splat:F,timeUnits:L}=ie,D=Z.isSafari&&re.Intl&&re.Intl.DateTimeFormat.prototype.formatRange,I=Z.isSafari&&re.Intl&&!re.Intl.DateTimeFormat.prototype.formatRange;class E{constructor(b){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=re.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(b)}get(b,T){if(this.variableTimezone||this.timezoneOffset){let z=T.getTime(),O=z-this.getTimezoneOffset(T);T.setTime(O);let f=T["getUTC"+b]();return T.setTime(z),f}return this.useUTC?T["getUTC"+b]():T["get"+b]()}set(b,T,z){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===b||"Seconds"===b||"Minutes"===b&&this.getTimezoneOffset(T)%36e5==0)return T["setUTC"+b](z);let O=this.getTimezoneOffset(T),f=T.getTime()-O;T.setTime(f),T["setUTC"+b](z);let a=this.getTimezoneOffset(T);return f=T.getTime()+a,T.setTime(f)}return this.useUTC||D&&"FullYear"===b?T["setUTC"+b](z):T["set"+b](z)}update(b={}){let T=B(b.useUTC,!0);this.options=b=te(!0,this.options,b),this.Date=b.Date||re.Date||Date,this.useUTC=T,this.timezoneOffset=T&&b.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=T&&!(!b.getTimezoneOffset&&!b.timezone)}makeTime(b,T,z,O,f,a){let g,y,o;return this.useUTC?(g=this.Date.UTC.apply(0,arguments),y=this.getTimezoneOffset(g),g+=y,y!==(o=this.getTimezoneOffset(g))?g+=o-y:y-36e5!==this.getTimezoneOffset(g-36e5)||I||(g-=36e5)):g=new this.Date(b,T,B(z,1),B(O,0),B(f,0),B(a,0)).getTime(),g}timezoneOffsetFunction(){let b=this,T=this.options,z=T.getTimezoneOffset;return this.useUTC?T.timezone?O=>{try{let f=`shortOffset,${T.timezone||""}`,[a,g,y,o,n=0]=(E.formatCache[f]=E.formatCache[f]||Intl.DateTimeFormat("en",{timeZone:T.timezone,timeZoneName:"shortOffset"})).format(O).split(/(GMT|:)/).map(Number),r=-36e5*(y+n/60);if(pe(r))return r}catch{le(34)}return 0}:this.useUTC&&z?O=>6e4*z(O.valueOf()):()=>6e4*(b.timezoneOffset||0):O=>6e4*new Date(O.toString()).getTimezoneOffset()}dateFormat(b,T,z){if(!ve(T)||isNaN(T))return Z.defaultOptions.lang&&Z.defaultOptions.lang.invalidDate||"";b=B(b,"%Y-%m-%d %H:%M:%S");let O=this,f=new this.Date(T),a=this.get("Hours",f),g=this.get("Day",f),y=this.get("Date",f),o=this.get("Month",f),n=this.get("FullYear",f),r=Z.defaultOptions.lang,l=r&&r.weekdays,d=r&&r.shortWeekdays;return $(fe({a:d?d[g]:l[g].substr(0,3),A:l[g],d:A(y),e:A(y,2," "),w:g,b:r.shortMonths[o],B:r.months[o],m:A(o+1),o:o+1,y:n.toString().substr(2,2),Y:n,H:A(a),k:a,I:A(a%12||12),l:a%12||12,M:A(this.get("Minutes",f)),p:a<12?"AM":"PM",P:a<12?"am":"pm",S:A(this.get("Seconds",f)),L:A(Math.floor(T%1e3),3)},Z.dateFormats),function(C,k){for(;-1!==b.indexOf("%"+k);)b=b.replace("%"+k,"function"==typeof C?C.call(O,T):C)}),z?b.substr(0,1).toUpperCase()+b.substr(1):b}resolveDTLFormat(b){return J(b,!0)?b:{main:(b=F(b))[0],from:b[1],to:b[2]}}getTimeTicks(b,T,z,O){let f,a,g,y,o=this,r=[],l={},d=new(0,o.Date)(T),C=b.unitRange,k=b.count||1;if(O=B(O,1),ve(T)){o.set("Milliseconds",d,C>=L.second?0:k*Math.floor(o.get("Milliseconds",d)/k)),C>=L.second&&o.set("Seconds",d,C>=L.minute?0:k*Math.floor(o.get("Seconds",d)/k)),C>=L.minute&&o.set("Minutes",d,C>=L.hour?0:k*Math.floor(o.get("Minutes",d)/k)),C>=L.hour&&o.set("Hours",d,C>=L.day?0:k*Math.floor(o.get("Hours",d)/k)),C>=L.day&&o.set("Date",d,C>=L.month?1:Math.max(1,k*Math.floor(o.get("Date",d)/k))),C>=L.month&&(o.set("Month",d,C>=L.year?0:k*Math.floor(o.get("Month",d)/k)),a=o.get("FullYear",d)),C>=L.year&&(a-=a%k,o.set("FullYear",d,a)),C===L.week&&(y=o.get("Day",d),o.set("Date",d,o.get("Date",d)-y+O+(y4*L.month||o.getTimezoneOffset(T)!==o.getTimezoneOffset(z));let H=d.getTime();for(f=1;H1?H=o.makeTime(a,p,S,j+f*k):H+=C*k:H=o.makeTime(a,p,S+f*k*(C===L.day?1:7)),f++;r.push(H),C<=L.hour&&r.length<1e4&&r.forEach(function(Y){Y%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",Y)&&(l[Y]="day")})}return r.info=fe(b,{higherRanks:l,totalRange:C*k}),r}getDateFormat(b,T,z,O){let f=this.dateFormat("%m-%d %H:%M:%S.%L",T),a="01-01 00:00:00.000",g={millisecond:15,second:12,minute:9,hour:6,day:3},y="millisecond",o=y;for(y in L){if(b===L.week&&+this.dateFormat("%w",T)===z&&f.substr(6)===a.substr(6)){y="week";break}if(L[y]>b){y=o;break}if(g[y]&&f.substr(g[y])!==a.substr(g[y]))break;"week"!==y&&(o=y)}return this.resolveDTLFormat(O[y]).main}}return E.formatCache={},E}),Pe(V,"Core/Defaults.js",[V["Core/Chart/ChartDefaults.js"],V["Core/Globals.js"],V["Core/Color/Palettes.js"],V["Core/Time.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le){let{isTouchDevice:fe,svg:pe}=ie,{merge:J}=le,te={colors:re.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",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"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:Z,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:pe,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:fe?25:10,headerFormat:'{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};te.chart.styledMode=!1;let $=new ve(te.time);return{defaultOptions:te,defaultTime:$,getOptions:function(){return te},setOptions:function(A){return J(!0,te,A),(A.time||A.global)&&(ie.time?ie.time.update(J(te.global,te.time,A.global,A.time)):ie.time=$),te}}}),Pe(V,"Core/Color/Color.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie){let{isNumber:re,merge:ve,pInt:le}=ie;class fe{static parse(J){return J?new fe(J):fe.None}constructor(J){let te,$,A,B;this.rgba=[NaN,NaN,NaN,NaN],this.input=J;let F=Z.Color;if(F&&F!==fe)return new F(J);if("object"==typeof J&&void 0!==J.stops)this.stops=J.stops.map(L=>new fe(L[1]));else if("string"==typeof J){if(this.input=J=fe.names[J.toLowerCase()]||J,"#"===J.charAt(0)){let L=J.length,D=parseInt(J.substr(1),16);7===L?$=[(16711680&D)>>16,(65280&D)>>8,255&D,1]:4===L&&($=[(3840&D)>>4|(3840&D)>>8,(240&D)>>4|240&D,(15&D)<<4|15&D,1])}if(!$)for(A=fe.parsers.length;A--&&!$;)(te=(B=fe.parsers[A]).regex.exec(J))&&($=B.parse(te))}$&&(this.rgba=$)}get(J){let te=this.input,$=this.rgba;if("object"==typeof te&&void 0!==this.stops){let A=ve(te);return A.stops=[].slice.call(A.stops),this.stops.forEach((B,F)=>{A.stops[F]=[A.stops[F][0],B.get(J)]}),A}return $&&re($[0])?"rgb"===J||!J&&1===$[3]?"rgb("+$[0]+","+$[1]+","+$[2]+")":"a"===J?`${$[3]}`:"rgba("+$.join(",")+")":te}brighten(J){let te=this.rgba;if(this.stops)this.stops.forEach(function($){$.brighten(J)});else if(re(J)&&0!==J)for(let $=0;$<3;$++)te[$]+=le(255*J),te[$]<0&&(te[$]=0),te[$]>255&&(te[$]=255);return this}setOpacity(J){return this.rgba[3]=J,this}tweenTo(J,te){let $=this.rgba,A=J.rgba;if(!re($[0])||!re(A[0]))return J.input||"none";let B=1!==A[3]||1!==$[3];return(B?"rgba(":"rgb(")+Math.round(A[0]+($[0]-A[0])*(1-te))+","+Math.round(A[1]+($[1]-A[1])*(1-te))+","+Math.round(A[2]+($[2]-A[2])*(1-te))+(B?","+(A[3]+($[3]-A[3])*(1-te)):"")+")"}}return fe.names={white:"#ffffff",black:"#000000"},fe.parsers=[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(pe){return[le(pe[1]),le(pe[2]),le(pe[3]),parseFloat(pe[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(pe){return[le(pe[1]),le(pe[2]),le(pe[3]),1]}}],fe.None=new fe(""),fe}),Pe(V,"Core/Animation/Fx.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{parse:ve}=Z,{win:le}=ie,{isNumber:fe,objectEach:pe}=re;class J{constructor($,A,B){this.pos=NaN,this.options=A,this.elem=$,this.prop=B}dSetter(){let $=this.paths,A=$&&$[0],B=$&&$[1],F=this.now||0,L=[];if(1!==F&&A&&B)if(A.length===B.length&&F<1)for(let D=0;D=E+this.startTime?(this.now=this.end,this.pos=1,this.update(),_[this.prop]=!0,B=!0,pe(_,function(b){!0!==b&&(B=!1)}),B&&I&&I.call(D),A=!1):(this.pos=L.easing((F-this.startTime)/E),this.now=this.start+(this.end-this.start)*this.pos,this.update(),A=!0),A}initPath($,A,B){let _,b,T,z,F=$.startX,L=$.endX,D=B.slice(),I=$.isArea,E=I?2:1,O=A&&A.slice();if(!O)return[D,D];function f(g,y){for(;g.length{let z=A(T.options.animation);_=pe(L)&&re(L.defer)?I.defer:Math.max(_,z.duration+z.defer),b=Math.min(I.duration,z.duration)}),F.renderer.forExport&&(_=0),{defer:Math.max(0,_-b),duration:Math.min(_,b)}},setAnimation:function(F,L){L.renderer.globalAnimation=$(F,L.options.chart.animation,!0)},stop:B}}),Pe(V,"Core/Renderer/HTML/AST.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie){let{SVG_NS:re,win:ve}=Z,{attr:le,createElement:fe,css:pe,error:J,isFunction:te,isString:$,objectEach:A,splat:B}=ie,{trustedTypes:F}=ve,L=F&&te(F.createPolicy)&&F.createPolicy("highcharts",{createHTML:_=>_}),D=L?L.createHTML(""):"",I=function(){try{return!!(new DOMParser).parseFromString(D,"text/html")}catch{return!1}}();class E{static filterUserAttributes(b){return A(b,(T,z)=>{let O=!0;-1===E.allowedAttributes.indexOf(z)&&(O=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(z)&&(O=$(T)&&E.allowedReferences.some(f=>0===T.indexOf(f))),O||(J(33,!1,void 0,{"Invalid attribute in config":`${z}`}),delete b[z]),$(T)&&b[z]&&(b[z]=T.replace(/{let O=z.split(":").map(a=>a.trim()),f=O.shift();return f&&O.length&&(T[f.replace(/-([a-z])/g,a=>a[1].toUpperCase())]=O.join(":")),T},{})}static setElementHTML(b,T){b.innerHTML=E.emptyHTML,T&&new E(T).addToDOM(b)}constructor(b){this.nodes="string"==typeof b?this.parseMarkup(b):b}addToDOM(b){return function T(z,O){let f;return B(z).forEach(function(a){let g,y=a.tagName,o=a.textContent?Z.doc.createTextNode(a.textContent):void 0,n=E.bypassHTMLFiltering;if(y)if("#text"===y)g=o;else if(-1!==E.allowedTags.indexOf(y)||n){let l=Z.doc.createElementNS("svg"===y?re:O.namespaceURI||re,y),d=a.attributes||{};A(a,function(C,k){"tagName"!==k&&"attributes"!==k&&"children"!==k&&"style"!==k&&"textContent"!==k&&(d[k]=C)}),le(l,n?d:E.filterUserAttributes(d)),a.style&&pe(l,a.style),o&&l.appendChild(o),T(a.children||[],l),g=l}else J(33,!1,void 0,{"Invalid tagName in config":y});g&&O.appendChild(g),f=g}),f}(this.nodes,b)}parseMarkup(b){let T,z=[];if(b=b.trim().replace(/ style=(["'])/g," data-style=$1"),I)T=(new DOMParser).parseFromString(L?L.createHTML(b):b,"text/html");else{let f=fe("div");f.innerHTML=b,T={body:f}}let O=(f,a)=>{let g=f.nodeName.toLowerCase(),y={tagName:g};"#text"===g&&(y.textContent=f.textContent||"");let o=f.attributes;if(o){let n={};[].forEach.call(o,r=>{"data-style"===r.name?y.style=E.parseStyle(r.value):n[r.name]=r.value}),y.attributes=n}if(f.childNodes.length){let n=[];[].forEach.call(f.childNodes,r=>{O(r,n)}),n.length&&(y.children=n)}a.push(y)};return[].forEach.call(T.body.childNodes,f=>O(f,z)),z}}return E.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","markerHeight","markerWidth","offset","opacity","orient","padding","paddingLeft","paddingRight","patternUnits","r","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],E.allowedReferences=["https://","http://","mailto:","/","../","./","#"],E.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feDropShadow","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],E.emptyHTML=D,E.bypassHTMLFiltering=!1,E}),Pe(V,"Core/Templating.js",[V["Core/Defaults.js"],V["Core/Utilities.js"]],function(Z,ie){let{defaultOptions:re,defaultTime:ve}=Z,{extend:le,getNestedProperty:fe,isArray:pe,isNumber:J,isObject:te,pick:$,pInt:A}=ie,B={add:(D,I)=>D+I,divide:(D,I)=>0!==I?D/I:"",eq:(D,I)=>D==I,each:function(D){let I=arguments[arguments.length-1];return!!pe(D)&&D.map((E,_)=>F(I.body,le(te(E)?E:{"@this":E},{"@index":_,"@first":0===_,"@last":_===D.length-1}))).join("")},ge:(D,I)=>D>=I,gt:(D,I)=>D>I,if:D=>!!D,le:(D,I)=>D<=I,lt:(D,I)=>DD*I,ne:(D,I)=>D!=I,subtract:(D,I)=>D-I,unless:D=>!D};function F(D="",I,E){let o,n,l,_=/\{([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= #\(\)]+)\}/g,b=/\(([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= ]+)\)/g,T=[],z=/f$/,O=/\.([0-9])/,f=re.lang,a=E&&E.time||ve,g=E&&E.numberFormatter||L,y=(d="")=>{let C;return"true"===d||"false"!==d&&((C=Number(d)).toString()===d?C:fe(d,I))},r=0;for(;null!==(o=_.exec(D));){let d=b.exec(o[1]);d&&(o=d,l=!0),n&&n.isBlock||(n={ctx:I,expression:o[1],find:o[0],isBlock:"#"===o[1].charAt(0),start:o.index,startInner:o.index+o[0].length,length:o[0].length});let C=o[1].split(" ")[0].replace("#","");B[C]&&(n.isBlock&&C===n.fn&&r++,n.fn||(n.fn=C));let k="else"===o[1];if(n.isBlock&&n.fn&&(o[1]===`/${n.fn}`||k))if(r)!k&&r--;else{let p=n.startInner,S=D.substr(p,o.index-p);void 0===n.body?(n.body=S,n.startInner=o.index+o[0].length):n.elseBody=S,n.find+=S+o[0],k||(T.push(n),n=void 0)}else n.isBlock||T.push(n);if(d&&!n?.isBlock)break}return T.forEach(d=>{let C,k,{body:p,elseBody:S,expression:j,fn:H}=d;if(H){let Y=[d],U=j.split(" ");for(k=B[H].length;k--;)Y.unshift(y(U[k+1]));C=B[H].apply(I,Y),d.isBlock&&"boolean"==typeof C&&(C=F(C?p:S,I))}else{let Y=j.split(":");if(C=y(Y.shift()||""),Y.length&&"number"==typeof C){let U=Y.join(":");if(z.test(U)){let se=parseInt((U.match(O)||["","-1"])[1],10);null!==C&&(C=g(C,se,f.decimalPoint,U.indexOf(",")>-1?f.thousandsSep:""))}else C=a.dateFormat(U,C)}}D=D.replace(d.find,$(C,""))}),l?F(D,I,E):D}function L(D,I,E,_){let b,T;I=+I;let z=re.lang,O=((D=+D||0).toString().split(".")[1]||"").split("e")[0].length,f=D.toString().split("e"),a=I;-1===I?I=Math.min(O,20):J(I)?I&&f[1]&&f[1]<0&&((T=I+ +f[1])>=0?(f[0]=(+f[0]).toExponential(T).split("e")[0],I=T):(f[0]=f[0].split(".")[0]||0,D=I<20?(f[0]*Math.pow(10,f[1])).toFixed(I):0,f[1]=0)):I=2;let g=(Math.abs(f[1]?f[0]:D)+Math.pow(10,-Math.max(I,O)-1)).toFixed(I),y=String(A(g)),o=y.length>3?y.length%3:0;return E=$(E,z.decimalPoint),_=$(_,z.thousandsSep),b=(D<0?"-":"")+(o?y.substr(0,o)+_:""),0>+f[1]&&!a?b="0":b+=y.substr(o).replace(/(\d{3})(?=\d)/g,"$1"+_),I&&(b+=E+g.slice(-I)),f[1]&&0!=+b&&(b+="e"+f[1]),b}return{dateFormat:function(D,I,E){return ve.dateFormat(D,I,E)},format:F,helpers:B,numberFormat:L}}),Pe(V,"Core/Renderer/RendererRegistry.js",[V["Core/Globals.js"]],function(Z){var ie,re;let ve;return(re=ie||(ie={})).rendererTypes={},re.getRendererType=function(le=ve){return re.rendererTypes[le]||re.rendererTypes[ve]},re.registerRendererType=function(le,fe,pe){re.rendererTypes[le]=fe,(!ve||pe)&&(ve=le,Z.Renderer=fe)},ie}),Pe(V,"Core/Renderer/RendererUtilities.js",[V["Core/Utilities.js"]],function(Z){var ie;let{clamp:re,pick:ve,pushUnique:le,stableSort:fe}=Z;return(ie||(ie={})).distribute=function pe(J,te,$){let _,b,T,O,f,g,A=J,B=A.reducedLen||te,F=(y,o)=>y.target-o.target,L=[],D=J.length,I=[],E=L.push,z=!0,a=0;for(_=D;_--;)a+=J[_].size;if(a>B){for(fe(J,(y,o)=>(o.rank||0)-(y.rank||0)),T=(g=J[0].rank===J[J.length-1].rank)?D/2:-1,b=g?T:D-1;T&&a>B;)O=J[_=Math.floor(b)],le(I,_)&&(a-=O.size),b+=T,g&&b>=J.length&&(T/=2,b=T);I.sort((y,o)=>o-y).forEach(y=>E.apply(L,J.splice(y,1)))}for(fe(J,F),J=J.map(y=>({size:y.size,targets:[y.target],align:ve(y.align,.5)}));z;){for(_=J.length;_--;)O=J[_],f=(Math.min.apply(0,O.targets)+Math.max.apply(0,O.targets))/2,O.pos=re(f-O.size*O.align,0,te-O.size);for(_=J.length,z=!1;_--;)_>0&&J[_-1].pos+J[_-1].size>J[_].pos&&(J[_-1].size+=J[_].size,J[_-1].targets=J[_-1].targets.concat(J[_].targets),J[_-1].align=.5,J[_-1].pos+J[_-1].size>te&&(J[_-1].pos=te-J[_-1].size),J.splice(_,1),z=!0)}return E.apply(A,L),_=0,J.some(y=>{let o=0;return(y.targets||[]).some(()=>(A[_].pos=y.pos+o,void 0!==$&&Math.abs(A[_].pos-A[_].target)>$?(A.slice(0,_+1).forEach(n=>delete n.pos),A.reducedLen=(A.reducedLen||te)-.1*te,A.reducedLen>.1*te&&pe(A,te,$),!0):(o+=A[_].size,_++,!1)))}),fe(A,F),A},ie}),Pe(V,"Core/Renderer/SVG/SVGElement.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){let{animate:le,animObject:fe,stop:pe}=Z,{deg2rad:J,doc:te,svg:$,SVG_NS:A,win:B}=re,{addEvent:F,attr:L,createElement:D,css:I,defined:E,erase:_,extend:b,fireEvent:T,isArray:z,isFunction:O,isObject:f,isString:a,merge:g,objectEach:y,pick:o,pInt:n,replaceNested:r,syncTimeout:l,uniqueKey:d}=ve;class C{_defaultGetter(p){let S=o(this[p+"Value"],this[p],this.element?this.element.getAttribute(p):null,0);return/^[\-0-9\.]+$/.test(S)&&(S=parseFloat(S)),S}_defaultSetter(p,S,j){j.setAttribute(S,p)}add(p){let S,j=this.renderer,H=this.element;return p&&(this.parentGroup=p),void 0!==this.textStr&&"text"===this.element.nodeName&&j.buildText(this),this.added=!0,(!p||p.handleZ||this.zIndex)&&(S=this.zIndexSetter()),S||(p?p.element:j.box).appendChild(H),this.onAdd&&this.onAdd(),this}addClass(p,S){let j=S?"":this.attr("class")||"";return(p=(p||"").split(/ /g).reduce(function(H,Y){return-1===j.indexOf(Y)&&H.push(Y),H},j?[j]:[]).join(" "))!==j&&this.attr("class",p),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(p,S,j,H=!0){let Y,U,se,w,X,G={},x=this.renderer,N=x.alignedObjects;p?(this.alignOptions=p,this.alignByTranslate=S,(!j||a(j))&&(this.alignTo=se=j||"renderer",_(N,this),N.push(this),j=void 0)):(p=this.alignOptions,S=this.alignByTranslate,se=this.alignTo),j=o(j,x[se],x);let R=p.align,K=p.verticalAlign;return Y=(j.x||0)+(p.x||0),U=(j.y||0)+(p.y||0),"right"===R?w=1:"center"===R&&(w=2),w&&(Y+=(j.width-(p.width||0))/w),G[S?"translateX":"x"]=Math.round(Y),"bottom"===K?X=1:"middle"===K&&(X=2),X&&(U+=(j.height-(p.height||0))/X),G[S?"translateY":"y"]=Math.round(U),H&&(this[this.placed?"animate":"attr"](G),this.placed=!0),this.alignAttr=G,this}alignSetter(p){let S={left:"start",center:"middle",right:"end"};S[p]&&(this.alignValue=p,this.element.setAttribute("text-anchor",S[p]))}animate(p,S,j){let H=fe(o(S,this.renderer.globalAnimation,!0)),Y=H.defer;return te.hidden&&(H.duration=0),0!==H.duration?(j&&(H.complete=j),l(()=>{this.element&&le(this,p,H)},Y)):(this.attr(p,void 0,j||H.complete),y(p,function(U,se){H.step&&H.step.call(this,U,{prop:se,pos:1,elem:this})},this)),this}applyTextOutline(p){let S=this.element;-1!==p.indexOf("contrast")&&(p=p.replace(/contrast/g,this.renderer.getContrast(S.style.fill)));let j=p.split(" "),H=j[j.length-1],Y=j[0];if(Y&&"none"!==Y&&re.svg){this.fakeTS=!0,Y=Y.replace(/(^[\d\.]+)(.*?)$/g,function(G,x,N){return 2*Number(x)+N}),this.removeTextOutline();let U=te.createElementNS(A,"tspan");L(U,{class:"highcharts-text-outline",fill:H,stroke:H,"stroke-width":Y,"stroke-linejoin":"round"});let se=S.querySelector("textPath")||S;[].forEach.call(se.childNodes,G=>{let x=G.cloneNode(!0);x.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(N=>x.removeAttribute(N)),U.appendChild(x)});let w=0;[].forEach.call(se.querySelectorAll("text tspan"),G=>{w+=Number(G.getAttribute("dy"))});let X=te.createElementNS(A,"tspan");X.textContent="\u200b",L(X,{x:Number(S.getAttribute("x")),dy:-w}),U.appendChild(X),se.insertBefore(U,se.firstChild)}}attr(p,S,j,H){let se,w,G,Y=this.element,U=C.symbolCustomAttribs,X=this;return"string"==typeof p&&void 0!==S&&(se=p,(p={})[se]=S),"string"==typeof p?X=(this[p+"Getter"]||this._defaultGetter).call(this,p,Y):(y(p,function(x,N){G=!1,H||pe(this,N),this.symbolName&&-1!==U.indexOf(N)&&(w||(this.symbolAttr(p),w=!0),G=!0),this.rotation&&("x"===N||"y"===N)&&(this.doTransform=!0),G||(this[N+"Setter"]||this._defaultSetter).call(this,x,N,Y)},this),this.afterSetters()),j&&j.call(this),X}clip(p){if(p&&!p.clipPath){let S=d()+"-",j=this.renderer.createElement("clipPath").attr({id:S}).add(this.renderer.defs);b(p,{clipPath:j,id:S,count:0}),p.add(j)}return this.attr("clip-path",p?`url(${this.renderer.url}#${p.id})`:"none")}crisp(p,S){let j=Math.round(S=S||p.strokeWidth||0)%2/2;return p.x=Math.floor(p.x||this.x||0)+j,p.y=Math.floor(p.y||this.y||0)+j,p.width=Math.floor((p.width||this.width||0)-2*j),p.height=Math.floor((p.height||this.height||0)-2*j),E(p.strokeWidth)&&(p.strokeWidth=S),p}complexColor(p,S,j){let Y,U,se,w,X,G,x,N,R,K,he,H=this.renderer,q=[];T(this.renderer,"complexColor",{args:arguments},function(){if(p.radialGradient?U="radialGradient":p.linearGradient&&(U="linearGradient"),U){if(se=p[U],X=H.gradients,G=p.stops,R=j.radialReference,z(se)&&(p[U]=se={x1:se[0],y1:se[1],x2:se[2],y2:se[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===U&&R&&!E(se.gradientUnits)&&(w=se,se=g(se,H.getRadialAttr(R,w),{gradientUnits:"userSpaceOnUse"})),y(se,function(me,Ce){"id"!==Ce&&q.push(Ce,me)}),y(G,function(me){q.push(me)}),X[q=q.join(",")])K=X[q].attr("id");else{se.id=K=d();let me=X[q]=H.createElement(U).attr(se).add(H.defs);me.radAttr=w,me.stops=[],G.forEach(function(Ce){0===Ce[1].indexOf("rgba")?(x=(Y=ie.parse(Ce[1])).get("rgb"),N=Y.get("a")):(x=Ce[1],N=1);let Se=H.createElement("stop").attr({offset:Ce[0],"stop-color":x,"stop-opacity":N}).add(me);me.stops.push(Se)})}he="url("+H.url+"#"+K+")",j.setAttribute(S,he),j.gradient=q,p.toString=function(){return he}}})}css(p){let Y,S=this.styles,j={},H=this.element,U=!S;if(S&&y(p,function(se,w){S&&S[w]!==se&&(j[w]=se,U=!0)}),U){S&&(p=b(S,j)),null===p.width||"auto"===p.width?delete this.textWidth:"text"===H.nodeName.toLowerCase()&&p.width&&(Y=this.textWidth=n(p.width)),b(this.styles,p),Y&&!$&&this.renderer.forExport&&delete p.width;let se=g(p);H.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(w=>se&&delete se[w]),se.color&&(se.fill=se.color)),I(H,se)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),p.textOutline&&this.applyTextOutline(p.textOutline)),this}dashstyleSetter(p){let S,j=this["stroke-width"];if("inherit"===j&&(j=1),p=p&&p.toLowerCase()){let H=p.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(S=H.length;S--;)H[S]=""+n(H[S])*o(j,NaN);p=H.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",p)}}destroy(){let U,se,p=this,S=p.element||{},j=p.renderer,H=S.ownerSVGElement,Y="SPAN"===S.nodeName&&p.parentGroup||void 0;if(S.onclick=S.onmouseout=S.onmouseover=S.onmousemove=S.point=null,pe(p),p.clipPath&&H){let w=p.clipPath;[].forEach.call(H.querySelectorAll("[clip-path],[CLIP-PATH]"),function(X){X.getAttribute("clip-path").indexOf(w.element.id)>-1&&X.removeAttribute("clip-path")}),p.clipPath=w.destroy()}if(p.connector=p.connector?.destroy(),p.stops){for(se=0;seY&&Y.join?(U?H+" ":"")+Y.join(" "):(Y||"").toString(),"")),/(NaN| {2}|^$)/.test(p)&&(p="M 0 0"),this[S]!==p&&(j.setAttribute(S,p),this[S]=p)}fillSetter(p,S,j){"string"==typeof p?j.setAttribute(S,p):p&&this.complexColor(p,S,j)}hrefSetter(p,S,j){j.setAttributeNS("http://www.w3.org/1999/xlink",S,p)}getBBox(p,S){let j,H,Y,U,{alignValue:se,element:w,renderer:X,styles:G,textStr:x}=this,{cache:N,cacheKeys:R}=X,K=w.namespaceURI===this.SVG_NS,q=o(S,this.rotation,0),he=X.styledMode?w&&C.prototype.getStyle.call(w,"font-size"):G.fontSize;if(E(x)&&(-1===(U=x.toString()).indexOf("<")&&(U=U.replace(/[0-9]/g,"0")),U+=["",X.rootFontSize,he,q,this.textWidth,se,G.textOverflow,G.fontWeight].join(",")),U&&!p&&(j=N[U]),!j){if(K||X.forExport){try{Y=this.fakeTS&&function(me){let Ce=w.querySelector(".highcharts-text-outline");Ce&&I(Ce,{display:me})},O(Y)&&Y("none"),j=w.getBBox?b({},w.getBBox()):{width:w.offsetWidth,height:w.offsetHeight,x:0,y:0},O(Y)&&Y("")}catch{}(!j||j.width<0)&&(j={x:0,y:0,width:0,height:0})}else j=this.htmlGetBBox();H=j.height,K&&(j.height=H={"11px,17":14,"13px,20":16}[`${he||""},${Math.round(H)}`]||H),q&&(j=this.getRotatedBox(j,q))}if(U&&(""===x||j.height>0)){for(;R.length>250;)delete N[R.shift()];N[U]||R.push(U),N[U]=j}return j}getRotatedBox(p,S){let{x:j,y:H,width:Y,height:U}=p,{alignValue:se,translateY:w,rotationOriginX:X=0,rotationOriginY:G=0}=this,x={right:1,center:.5}[se||0]||0,N=Number(this.element.getAttribute("y")||0)-(w?0:H),R=S*J,K=(S-90)*J,q=Math.cos(R),he=Math.sin(R),me=Y*q,Ce=Y*he,Se=Math.cos(K),Oe=Math.sin(K),[[Ae,Fe],[oe,ee]]=[X,G].map(pt=>[pt-pt*q,pt*he]),de=j+x*(Y-me)+Ae+ee+N*Se,ye=de+me,Te=ye-U*Se,_e=Te-me,Me=H+N-x*Ce-Fe+oe+N*Oe,Ee=Me+Ce,Xe=Ee-U*Oe,Ze=Xe-Ce,lt=Math.min(de,ye,Te,_e),Qe=Math.min(Me,Ee,Xe,Ze);return{x:lt,y:Qe,width:Math.max(de,ye,Te,_e)-lt,height:Math.max(Me,Ee,Xe,Ze)-Qe}}getStyle(p){return B.getComputedStyle(this.element||this,"").getPropertyValue(p)}hasClass(p){return-1!==(""+this.attr("class")).split(" ").indexOf(p)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(p,S){this.onEvents={},this.opacity=1,this.SVG_NS=A,this.element="span"===S||"body"===S?D(S):te.createElementNS(this.SVG_NS,S),this.renderer=p,this.styles={},T(this,"afterInit")}on(p,S){let{onEvents:j}=this;return j[p]&&j[p](),j[p]=F(this.element,p,S),this}opacitySetter(p,S,j){let H=Number(Number(p).toFixed(3));this.opacity=H,j.setAttribute(S,H)}removeClass(p){return this.attr("class",(""+this.attr("class")).replace(a(p)?RegExp(`(^| )${p}( |$)`):p," ").replace(/ +/g," ").trim())}removeTextOutline(){let p=this.element.querySelector("tspan.highcharts-text-outline");p&&this.safeRemoveChild(p)}safeRemoveChild(p){let S=p.parentNode;S&&S.removeChild(p)}setRadialReference(p){let S=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=p,S&&S.radAttr&&S.animate(this.renderer.getRadialAttr(p,S.radAttr)),this}setTextPath(p,S){S=g(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},S);let j=this.renderer.url,H=this.text||this,Y=H.textPath,{attributes:U,enabled:se}=S;if(p=p||Y&&Y.path,Y&&Y.undo(),p&&se){let w=F(H,"afterModifyTree",X=>{if(p&&se){let G=p.attr("id");G||p.attr("id",G=d());let x={x:0,y:0};E(U.dx)&&(x.dx=U.dx,delete U.dx),E(U.dy)&&(x.dy=U.dy,delete U.dy),H.attr(x),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let N=X.nodes.slice(0);X.nodes.length=0,X.nodes[0]={tagName:"textPath",attributes:b(U,{"text-anchor":U.textAnchor,href:`${j}#${G}`}),children:N}}});H.textPath={path:p,undo:w}}else H.attr({dx:0,dy:0}),delete H.textPath;return this.added&&(H.textCache="",this.renderer.buildText(H)),this}shadow(p){let{renderer:S}=this,j=g(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},f(p)?p:{}),H=S.shadowDefinition(j);return this.attr({filter:p?`url(${S.url}#${H})`:"none"})}show(p=!0){return this.attr({visibility:p?"inherit":"visible"})}"stroke-widthSetter"(p,S,j){this[S]=p,j.setAttribute(S,p)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let j,p=this.getStyle("stroke-width"),S=0;return/px$/.test(p)?S=n(p):""!==p&&(L(j=te.createElementNS(A,"rect"),{width:p,"stroke-width":0}),this.element.parentNode.appendChild(j),S=j.getBBox().width,j.parentNode.removeChild(j)),S}symbolAttr(p){let S=this;C.symbolCustomAttribs.forEach(function(j){S[j]=o(p[j],S[j])}),S.attr({d:S.renderer.symbols[S.symbolName](S.x,S.y,S.width,S.height,S)})}textSetter(p){p!==this.textStr&&(delete this.textPxLength,this.textStr=p,this.added&&this.renderer.buildText(this))}titleSetter(p){let S=this.element,j=S.getElementsByTagName("title")[0]||te.createElementNS(this.SVG_NS,"title");S.insertBefore?S.insertBefore(j,S.firstChild):S.appendChild(j),j.textContent=r(o(p,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let p=this.element;return p.parentNode.appendChild(p),this}translate(p,S){return this.attr({translateX:p,translateY:S})}updateTransform(p="transform"){let{element:S,matrix:j,rotation:H=0,rotationOriginX:Y,rotationOriginY:U,scaleX:se,scaleY:w,translateX:X=0,translateY:G=0}=this,x=["translate("+X+","+G+")"];E(j)&&x.push("matrix("+j.join(",")+")"),H&&(x.push("rotate("+H+" "+o(Y,S.getAttribute("x"),0)+" "+o(U,S.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:H,rotationOriginX:(Y||0)-this.padding,rotationOriginY:(U||0)-this.padding})),(E(se)||E(w))&&x.push("scale("+o(se,1)+" "+o(w,1)+")"),x.length&&!(this.text||this).textPath&&S.setAttribute(p,x.join(" "))}visibilitySetter(p,S,j){"inherit"===p?j.removeAttribute(S):this[S]!==p&&j.setAttribute(S,p),this[S]=p}xGetter(p){return"circle"===this.element.nodeName&&("x"===p?p="cx":"y"===p&&(p="cy")),this._defaultGetter(p)}zIndexSetter(p,S){let w,X,G,N,K,j=this.renderer,H=this.parentGroup,Y=(H||j).element||j.box,U=this.element,se=Y===j.box,x=!1,R=this.added;if(E(p)?(U.setAttribute("data-z-index",p),this[S]===(p=+p)&&(R=!1)):E(this[S])&&U.removeAttribute("data-z-index"),this[S]=p,R){for((p=this.zIndex)&&H&&(H.handleZ=!0),K=(w=Y.childNodes).length-1;K>=0&&!x;K--)N=!E(G=(X=w[K]).getAttribute("data-z-index")),X!==U&&(p<0&&N&&!se&&!K?(Y.insertBefore(U,w[K]),x=!0):(n(G)<=p||N&&(!E(p)||p>=0))&&(Y.insertBefore(U,w[K+1]),x=!0));x||(Y.insertBefore(U,w[se?3:0]),x=!0)}return x}}return C.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],C.prototype.strokeSetter=C.prototype.fillSetter,C.prototype.yGetter=C.prototype.xGetter,C.prototype.matrixSetter=C.prototype.rotationOriginXSetter=C.prototype.rotationOriginYSetter=C.prototype.rotationSetter=C.prototype.scaleXSetter=C.prototype.scaleYSetter=C.prototype.translateXSetter=C.prototype.translateYSetter=C.prototype.verticalAlignSetter=function(k,p){this[p]=k,this.doTransform=!0},C}),Pe(V,"Core/Renderer/SVG/SVGLabel.js",[V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(Z,ie){let{defined:re,extend:ve,isNumber:le,merge:fe,pick:pe,removeEvent:J}=ie;class te extends Z{constructor(A,B,F,L,D,I,E,_,b,T){let z;super(A,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.textStr=B,this.x=F,this.y=L,this.anchorX=I,this.anchorY=E,this.baseline=b,this.className=T,this.addClass("button"===T?"highcharts-no-tooltip":"highcharts-label"),T&&this.addClass("highcharts-"+T),this.text=A.text(void 0,0,0,_).attr({zIndex:1}),"string"==typeof D&&((z=/^url\((.*?)\)$/.test(D))||this.renderer.symbols[D])&&(this.symbolKey=D),this.bBox=te.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=A.styledMode||z,this.deferredAttr={},this.alignFactor=0}alignSetter(A){let B={left:0,center:.5,right:1}[A];B!==this.alignFactor&&(this.alignFactor=B,this.bBox&&le(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(A,B){this.anchorX=A,this.boxAttr(B,Math.round(A)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(A,B){this.anchorY=A,this.boxAttr(B,A-this.ySetting)}boxAttr(A,B){this.box?this.box.attr(A,B):this.deferredAttr[A]=B}css(A){if(A){let B={};A=fe(A),te.textProps.forEach(F=>{void 0!==A[F]&&(B[F]=A[F],delete A[F])}),this.text.css(B),"fontSize"in B||"fontWeight"in B?this.updateTextPadding():("width"in B||"textOverflow"in B)&&this.updateBoxSize()}return Z.prototype.css.call(this,A)}destroy(){J(this.element,"mouseenter"),J(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),Z.prototype.destroy.call(this)}fillSetter(A,B){A&&(this.needsBox=!0),this.fill=A,this.boxAttr(B,A)}getBBox(A,B){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:F,height:L=0,translateX:D=0,translateY:I=0,width:E=0}=this,_=pe(this.paddingLeft,F),b=B??(this.rotation||0),T={width:E,height:L,x:D+this.bBox.x-_,y:I+this.bBox.y-F+this.baselineOffset};return b&&(T=this.getRotatedBox(T,b)),T}getCrispAdjust(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(A){this.heightSetting=A}onAdd(){this.text.add(this),this.attr({text:pe(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&re(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(A,B){le(A)?A!==this[B]&&(this[B]=A,this.updateTextPadding()):this[B]=void 0}rSetter(A,B){this.boxAttr(B,A)}strokeSetter(A,B){this.stroke=A,this.boxAttr(B,A)}"stroke-widthSetter"(A,B){A&&(this.needsBox=!0),this["stroke-width"]=A,this.boxAttr(B,A)}"text-alignSetter"(A){this.textAlign=A}textSetter(A){void 0!==A&&this.text.attr({text:A}),this.updateTextPadding()}updateBoxSize(){let A,B=this.text,F={},L=this.padding,D=this.bBox=le(this.widthSetting)&&le(this.heightSetting)&&!this.textAlign||!re(B.textStr)?te.emptyBBox:B.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||D.height||0)+2*L;let I=this.renderer.fontMetrics(B);if(this.baselineOffset=L+Math.min((this.text.firstLineMetrics||I).b,D.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-I.h)/2),this.needsBox&&!B.textPath){if(!this.box){let E=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();E.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),E.add(this)}A=this.getCrispAdjust(),F.x=A,F.y=(this.baseline?-this.baselineOffset:0)+A,F.width=Math.round(this.width),F.height=Math.round(this.height),this.box.attr(ve(F,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let A=this.text;if(!A.textPath){this.updateBoxSize();let B=this.baseline?0:this.baselineOffset,F=pe(this.paddingLeft,this.padding);re(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(F+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(F!==A.x||B!==A.y)&&(A.attr("x",F),A.hasBoxWidthChanged&&(this.bBox=A.getBBox(!0)),void 0!==B&&A.attr("y",B)),A.x=F,A.y=B}}widthSetter(A){this.widthSetting=le(A)?A:void 0}getPaddedWidth(){let A=this.padding,B=pe(this.paddingLeft,A),F=pe(this.paddingRight,A);return(this.widthSetting||this.bBox.width||0)+B+F}xSetter(A){this.x=A,this.alignFactor&&(A-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(A),this.attr("translateX",this.xSetting)}ySetter(A){this.ySetting=this.y=Math.round(A),this.attr("translateY",this.ySetting)}}return te.emptyBBox={width:0,height:0,x:0,y:0},te.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],te}),Pe(V,"Core/Renderer/SVG/Symbols.js",[V["Core/Utilities.js"]],function(Z){let{defined:ie,isNumber:re,pick:ve}=Z;function le(J,te,$,A,B){let F=[];if(B){let L=B.start||0,D=ve(B.r,$),I=ve(B.r,A||$),E=.001>Math.abs((B.end||0)-L-2*Math.PI),_=(B.end||0)-.001,b=B.innerR,T=ve(B.open,E),z=Math.cos(L),O=Math.sin(L),f=Math.cos(_),a=Math.sin(_),g=ve(B.longArc,_-L-Math.PI<.001?0:1),y=["A",D,I,0,g,ve(B.clockwise,1),J+D*f,te+I*a];y.params={start:L,end:_,cx:J,cy:te},F.push(["M",J+D*z,te+I*O],y),ie(b)&&((y=["A",b,b,0,g,ie(B.clockwise)?1-B.clockwise:0,J+b*z,te+b*O]).params={start:_,end:L,cx:J,cy:te},F.push(T?["M",J+b*f,te+b*a]:["L",J+b*f,te+b*a],y)),T||F.push(["Z"])}return F}function fe(J,te,$,A,B){return B&&B.r?pe(J,te,$,A,B):[["M",J,te],["L",J+$,te],["L",J+$,te+A],["L",J,te+A],["Z"]]}function pe(J,te,$,A,B){let F=B?.r||0;return[["M",J+F,te],["L",J+$-F,te],["A",F,F,0,0,1,J+$,te+F],["L",J+$,te+A-F],["A",F,F,0,0,1,J+$-F,te+A],["L",J+F,te+A],["A",F,F,0,0,1,J,te+A-F],["L",J,te+F],["A",F,F,0,0,1,J+F,te],["Z"]]}return{arc:le,callout:function(J,te,$,A,B){let F=Math.min(B&&B.r||0,$,A),L=F+6,D=B&&B.anchorX,I=B&&B.anchorY||0,E=pe(J,te,$,A,{r:F});if(!re(D)||D<$&&D>0&&I0)return E;if(J+D>$-L)if(I>te+L&&Ite+L&&I0){let _=IA&&D<$-L?E.splice(5,1,["L",D+6,te+A],["L",D,te+A+6],["L",D-6,te+A],["L",J+F,te+A]):I<0&&D>L&&E.splice(1,1,["L",D-6,te],["L",D,te-6],["L",D+6,te],["L",$-F,te]);return E},circle:function(J,te,$,A){return le(J+$/2,te+A/2,$/2,A/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(J,te,$,A){return[["M",J+$/2,te],["L",J+$,te+A/2],["L",J+$/2,te+A],["L",J,te+A/2],["Z"]]},rect:fe,roundedRect:pe,square:fe,triangle:function(J,te,$,A){return[["M",J+$/2,te],["L",J+$,te+A],["L",J,te+A],["Z"]]},"triangle-down":function(J,te,$,A){return[["M",J,te],["L",J+$,te],["L",J+$/2,te+A],["Z"]]}}}),Pe(V,"Core/Renderer/SVG/TextBuilder.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{doc:ve,SVG_NS:le,win:fe}=ie,{attr:pe,extend:J,fireEvent:te,isString:$,objectEach:A,pick:B}=re;return class{constructor(F){let L=F.styles;this.renderer=F.renderer,this.svgElement=F,this.width=F.textWidth,this.textLineHeight=L&&L.lineHeight,this.textOutline=L&&L.textOutline,this.ellipsis=!(!L||"ellipsis"!==L.textOverflow),this.noWrap=!(!L||"nowrap"!==L.whiteSpace)}buildSVG(){let F=this.svgElement,L=F.element,D=F.renderer,I=B(F.textStr,"").toString(),E=-1!==I.indexOf("<"),_=L.childNodes,b=!F.added&&D.box,T=[I,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,F.getStyle("font-size"),this.width].join(",");if(T!==F.textCache){F.textCache=T,delete F.actualWidth;for(let z=_.length;z--;)L.removeChild(_[z]);if(E||this.ellipsis||this.width||F.textPath||-1!==I.indexOf(" ")&&(!this.noWrap||//g.test(I))){if(""!==I){b&&b.appendChild(L);let z=new Z(I);this.modifyTree(z.nodes),z.addToDOM(L),this.modifyDOM(),this.ellipsis&&-1!==(L.textContent||"").indexOf("\u2026")&&F.attr("title",this.unescapeEntities(F.textStr||"",["<",">"])),b&&b.removeChild(L)}}else L.appendChild(ve.createTextNode(this.unescapeEntities(I)));$(this.textOutline)&&F.applyTextOutline&&F.applyTextOutline(this.textOutline)}}modifyDOM(){let F,L=this.svgElement,D=pe(L.element,"x");for(L.firstLineMetrics=void 0;(F=L.element.firstChild)&&/^[\s\u200B]*$/.test(F.textContent||" ");)L.element.removeChild(F);[].forEach.call(L.element.querySelectorAll("tspan.highcharts-br"),(b,T)=>{b.nextSibling&&b.previousSibling&&(0===T&&1===b.previousSibling.nodeType&&(L.firstLineMetrics=L.renderer.fontMetrics(b.previousSibling)),pe(b,{dy:this.getLineHeight(b.nextSibling),x:D}))});let I=this.width||0;if(!I)return;let E=(b,T)=>{let z=b.textContent||"",O=z.replace(/([^\^])-/g,"$1- ").split(" "),f=!this.noWrap&&(O.length>1||L.element.childNodes.length>1),a=this.getLineHeight(T),g=0,y=L.actualWidth;if(this.ellipsis)z&&this.truncate(b,z,void 0,0,Math.max(0,I-.8*a),(o,n)=>o.substring(0,n)+"\u2026");else if(f){let o=[],n=[];for(;T.firstChild&&T.firstChild!==b;)n.push(T.firstChild),T.removeChild(T.firstChild);for(;O.length;)O.length&&!this.noWrap&&g>0&&(o.push(b.textContent||""),b.textContent=O.join(" ").replace(/- /g,"-")),this.truncate(b,void 0,O,0===g&&y||0,I,(r,l)=>O.slice(0,l).join(" ").replace(/- /g,"-")),y=L.actualWidth,g++;n.forEach(r=>{T.insertBefore(r,b)}),o.forEach(r=>{T.insertBefore(ve.createTextNode(r),b);let l=ve.createElementNS(le,"tspan");l.textContent="\u200b",pe(l,{dy:a,x:D}),T.insertBefore(l,b)})}},_=b=>{[].slice.call(b.childNodes).forEach(T=>{T.nodeType===fe.Node.TEXT_NODE?E(T,b):(-1!==T.className.baseVal.indexOf("highcharts-br")&&(L.actualWidth=0),_(T))})};_(L.element)}getLineHeight(F){let L=F.nodeType===fe.Node.TEXT_NODE?F.parentElement:F;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(L||this.svgElement.element).h}modifyTree(F){let L=(D,I)=>{let{attributes:E={},children:_,style:b={},tagName:T}=D,z=this.renderer.styledMode;if("b"===T||"strong"===T?z?E.class="highcharts-strong":b.fontWeight="bold":("i"===T||"em"===T)&&(z?E.class="highcharts-emphasized":b.fontStyle="italic"),b&&b.color&&(b.fill=b.color),"br"===T){E.class="highcharts-br",D.textContent="\u200b";let O=F[I+1];O&&O.textContent&&(O.textContent=O.textContent.replace(/^ +/gm,""))}else"a"===T&&_&&_.some(O=>"#text"===O.tagName)&&(D.children=[{children:_,tagName:"tspan"}]);"#text"!==T&&"a"!==T&&(D.tagName="tspan"),J(D,{attributes:E,style:b}),_&&_.filter(O=>"#text"!==O.tagName).forEach(L)};F.forEach(L),te(this.svgElement,"afterModifyTree",{nodes:F})}truncate(F,L,D,I,E,_){let b,T,z=this.svgElement,{rotation:O}=z,f=[],a=D?1:0,g=(L||D||"").length,y=g,o=function(n,r){let l=r||n,d=F.parentNode;if(d&&void 0===f[l]&&d.getSubStringLength)try{f[l]=I+d.getSubStringLength(0,D?l+1:l)}catch{}return f[l]};if(z.rotation=0,I+(T=o(F.textContent.length))>E){for(;a<=g;)y=Math.ceil((a+g)/2),D&&(b=_(D,y)),T=o(y,b&&b.length-1),a===g?a=g+1:T>E?g=y-1:a=y;0===g?F.textContent="":L&&g===L.length-1||(F.textContent=b||_(L||D,y))}D&&D.splice(0,y),z.actualWidth=T,z.rotation=O}unescapeEntities(F,L){return A(this.renderer.escapes,function(D,I){L&&-1!==L.indexOf(D)||(F=F.toString().replace(RegExp(D,"g"),I))}),F}}}),Pe(V,"Core/Renderer/SVG/SVGRenderer.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGLabel.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Renderer/SVG/TextBuilder.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe,pe,J,te){let $,{charts:A,deg2rad:B,doc:F,isFirefox:L,isMS:D,isWebKit:I,noop:E,SVG_NS:_,symbolSizes:b,win:T}=re,{addEvent:z,attr:O,createElement:f,css:a,defined:g,destroyObjectProperties:y,extend:o,isArray:n,isNumber:r,isObject:l,isString:d,merge:C,pick:k,pInt:p,replaceNested:S,uniqueKey:j}=te;class H{constructor(U,se,w,X,G,x,N){let R,K,q=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),he=q.element;N||q.css(this.getStyle(X||{})),U.appendChild(he),O(U,"dir","ltr"),-1===U.innerHTML.indexOf("xmlns")&&O(he,"xmlns",this.SVG_NS),this.box=he,this.boxWrapper=q,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(F.createTextNode("Created with Highcharts 11.4.0")),this.defs=this.createElement("defs").add(),this.allowHTML=x,this.forExport=G,this.styledMode=N,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=q.getStyle("font-size"),this.setSize(se,w,!1),L&&U.getBoundingClientRect&&((R=function(){a(U,{left:0,top:0}),K=U.getBoundingClientRect(),a(U,{left:Math.ceil(K.left)-K.left+"px",top:Math.ceil(K.top)-K.top+"px"})})(),this.unSubPixelFix=z(T,"resize",R))}definition(U){return new Z([U]).addToDOM(this.defs.element)}getReferenceURL(){if((L||I)&&F.getElementsByTagName("base").length){if(!g($)){let U=j(),se=new Z([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:U},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${U})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(F.body);a(se,{position:"fixed",top:0,left:0,zIndex:9e5});let w=F.elementFromPoint(6,6);$="hitme"===(w&&w.id),F.body.removeChild(se)}if($)return S(T.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(U){return this.style=o({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},U),this.style}setStyle(U){this.boxWrapper.css(this.getStyle(U))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let U=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),y(this.gradients||{}),this.gradients=null,this.defs=U.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(U){return new this.Element(this,U)}getRadialAttr(U,se){return{cx:U[0]-U[2]/2+(se.cx||0)*U[2],cy:U[1]-U[2]/2+(se.cy||0)*U[2],r:(se.r||0)*U[2]}}shadowDefinition(U){let se=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(U).map(X=>`${X}-${U[X]}`)].join("-").toLowerCase().replace(/[^a-z0-9\-]/g,""),w=C({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},U);return this.defs.element.querySelector(`#${se}`)||this.definition({tagName:"filter",attributes:{id:se,filterUnits:w.filterUnits},children:[{tagName:"feDropShadow",attributes:{dx:w.offsetX,dy:w.offsetY,"flood-color":w.color,"flood-opacity":Math.min(5*w.opacity,1),stdDeviation:w.width/2}}]}),se}buildText(U){new J(U).buildSVG()}getContrast(U){let se=ie.parse(U).rgba.map(X=>{let G=X/255;return G<=.03928?G/12.92:Math.pow((G+.055)/1.055,2.4)}),w=.2126*se[0]+.7152*se[1]+.0722*se[2];return 1.05/(w+.05)>(w+.05)/.05?"#FFFFFF":"#000000"}button(U,se,w,X,G={},x,N,R,K,q){let he,me,Ce,Se=this.label(U,se,w,K,void 0,void 0,q,void 0,"button"),Oe=this.styledMode,Ae=G.states||{},Fe=0;delete(G=C(G)).states;let oe=C({color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},G.style);delete G.style;let ee=Z.filterUserAttributes(G);return Se.attr(C({padding:8,r:2},ee)),Oe||(ee=C({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},ee),he=(x=C(ee,{fill:"#e6e6e6"},Z.filterUserAttributes(x||Ae.hover||{}))).style,delete x.style,me=(N=C(ee,{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},Z.filterUserAttributes(N||Ae.select||{}))).style,delete N.style,Ce=(R=C(ee,{style:{color:"#cccccc"}},Z.filterUserAttributes(R||Ae.disabled||{}))).style,delete R.style),z(Se.element,D?"mouseover":"mouseenter",function(){3!==Fe&&Se.setState(1)}),z(Se.element,D?"mouseout":"mouseleave",function(){3!==Fe&&Se.setState(Fe)}),Se.setState=function(de){if(1!==de&&(Se.state=Fe=de),Se.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][de||0]),!Oe){Se.attr([ee,x,N,R][de||0]);let ye=[oe,he,me,Ce][de||0];l(ye)&&Se.css(ye)}},!Oe&&(Se.attr(ee).css(o({cursor:"default"},oe)),q&&Se.text.css({pointerEvents:"none"})),Se.on("touchstart",de=>de.stopPropagation()).on("click",function(de){3!==Fe&&X.call(Se,de)})}crispLine(U,se,w="round"){let X=U[0],G=U[1];return g(X[1])&&X[1]===G[1]&&(X[1]=G[1]=Math[w](X[1])-se%2/2),g(X[2])&&X[2]===G[2]&&(X[2]=G[2]=Math[w](X[2])+se%2/2),U}path(U){let se=this.styledMode?{}:{fill:"none"};return n(U)?se.d=U:l(U)&&o(se,U),this.createElement("path").attr(se)}circle(U,se,w){let X=l(U)?U:void 0===U?{}:{x:U,y:se,r:w},G=this.createElement("circle");return G.xSetter=G.ySetter=function(x,N,R){R.setAttribute("c"+N,x)},G.attr(X)}arc(U,se,w,X,G,x){let N;l(U)?(se=(N=U).y,w=N.r,X=N.innerR,G=N.start,x=N.end,U=N.x):N={innerR:X,start:G,end:x};let R=this.symbol("arc",U,se,w,w,N);return R.r=w,R}rect(U,se,w,X,G,x){let N=l(U)?U:void 0===U?{}:{x:U,y:se,r:G,width:Math.max(w||0,0),height:Math.max(X||0,0)},R=this.createElement("rect");return this.styledMode||(void 0!==x&&(N["stroke-width"]=x,o(N,R.crisp(N))),N.fill="none"),R.rSetter=function(K,q,he){R.r=K,O(he,{rx:K,ry:K})},R.rGetter=function(){return R.r||0},R.attr(N)}roundedRect(U){return this.symbol("roundedRect").attr(U)}setSize(U,se,w){this.width=U,this.height=se,this.boxWrapper.animate({width:U,height:se},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:k(w,!0)?void 0:0}),this.alignElements()}g(U){let se=this.createElement("g");return U?se.attr({class:"highcharts-"+U}):se}image(U,se,w,X,G,x){let N={preserveAspectRatio:"none"};r(se)&&(N.x=se),r(w)&&(N.y=w),r(X)&&(N.width=X),r(G)&&(N.height=G);let R=this.createElement("image").attr(N),K=function(q){R.attr({href:U}),x.call(R,q)};if(x){R.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let q=new T.Image;z(q,"load",K),q.src=U,q.complete&&K({})}else R.attr({href:U});return R}symbol(U,se,w,X,G,x){let N,R,K,q,he=this,me=/^url\((.*?)\)$/,Ce=me.test(U),Se=!Ce&&(this.symbols[U]?U:"circle"),Oe=Se&&this.symbols[Se];if(Oe)"number"==typeof se&&(R=Oe.call(this.symbols,Math.round(se||0),Math.round(w||0),X||0,G||0,x)),N=this.path(R),he.styledMode||N.attr("fill","none"),o(N,{symbolName:Se||void 0,x:se,y:w,width:X,height:G}),x&&o(N,x);else if(Ce){K=U.match(me)[1];let Ae=N=this.image(K);Ae.imgwidth=k(x&&x.width,b[K]&&b[K].width),Ae.imgheight=k(x&&x.height,b[K]&&b[K].height),q=Fe=>Fe.attr({width:Fe.width,height:Fe.height}),["width","height"].forEach(Fe=>{Ae[`${Fe}Setter`]=function(oe,ee){this[ee]=oe;let{alignByTranslate:de,element:ye,width:Te,height:_e,imgwidth:Me,imgheight:Ee}=this,Xe="width"===ee?Me:Ee,Ze=1;x&&"within"===x.backgroundSize&&Te&&_e&&Me&&Ee?(Ze=Math.min(Te/Me,_e/Ee),O(ye,{width:Math.round(Me*Ze),height:Math.round(Ee*Ze)})):ye&&Xe&&ye.setAttribute(ee,Xe),!de&&Me&&Ee&&this.translate(((Te||0)-Me*Ze)/2,((_e||0)-Ee*Ze)/2)}}),g(se)&&Ae.attr({x:se,y:w}),Ae.isImg=!0,g(Ae.imgwidth)&&g(Ae.imgheight)?q(Ae):(Ae.attr({width:0,height:0}),f("img",{onload:function(){let Fe=A[he.chartIndex];0===this.width&&(a(this,{position:"absolute",top:"-999em"}),F.body.appendChild(this)),b[K]={width:this.width,height:this.height},Ae.imgwidth=this.width,Ae.imgheight=this.height,Ae.element&&q(Ae),this.parentNode&&this.parentNode.removeChild(this),he.imgCount--,he.imgCount||!Fe||Fe.hasLoaded||Fe.onload()},src:K}),this.imgCount++)}return N}clipRect(U,se,w,X){return this.rect(U,se,w,X,0)}text(U,se,w,X){let G={};if(X&&(this.allowHTML||!this.forExport))return this.html(U,se,w);G.x=Math.round(se||0),w&&(G.y=Math.round(w)),g(U)&&(G.text=U);let x=this.createElement("text").attr(G);return X&&(!this.forExport||this.allowHTML)||(x.xSetter=function(N,R,K){let q=K.getElementsByTagName("tspan"),he=K.getAttribute(R);for(let Ce,me=0;meU.align())}}return o(H.prototype,{Element:le,SVG_NS:_,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:pe,draw:E}),ve.registerRendererType("svg",H,!0),H}),Pe(V,"Core/Renderer/HTML/HTMLElement.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){let{composed:le}=ie,{attr:fe,css:pe,createElement:J,defined:te,extend:$,pInt:A,pushUnique:B}=ve;function F(E,_,b){let T=this.div?.style||b.style;re.prototype[`${_}Setter`].call(this,E,_,b),T&&(T[_]=E)}let L=(E,_)=>{if(!E.div){let b=fe(E.element,"class"),T=E.css,z=J("div",b?{className:b}:void 0,{position:"absolute",left:`${E.translateX||0}px`,top:`${E.translateY||0}px`,...E.styles,display:E.display,opacity:E.opacity,visibility:E.visibility},E.parentGroup?.div||_);E.classSetter=(O,f,a)=>{a.setAttribute("class",O),z.className=O},E.translateXSetter=E.translateYSetter=(O,f)=>{E[f]=O,z.style["translateX"===f?"left":"top"]=`${O}px`,E.doTransform=!0},E.opacitySetter=E.visibilitySetter=F,E.css=O=>(T.call(E,O),O.cursor&&(z.style.cursor=O.cursor),O.pointerEvents&&(z.style.pointerEvents=O.pointerEvents),E),E.on=function(){return re.prototype.on.apply({element:z,onEvents:E.onEvents},arguments),E},E.div=z}return E.div};class D extends re{static compose(_){B(le,this.compose)&&(_.prototype.html=function(b,T,z){return new D(this,"span").attr({text:b,x:Math.round(T),y:Math.round(z)})})}constructor(_,b){super(_,b),this.css({position:"absolute",..._.styledMode?{}:{fontFamily:_.style.fontFamily,fontSize:_.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(_,b,T){this.xCorr=-_*T,this.yCorr=-b}css(_){let b,{element:T}=this,z="SPAN"===T.tagName&&_&&"width"in _,O=z&&_.width;return z&&(delete _.width,this.textWidth=A(O)||void 0,b=!0),"ellipsis"===_?.textOverflow&&(_.whiteSpace="nowrap",_.overflow="hidden"),$(this.styles,_),pe(T,_),b&&this.updateTransform(),this}htmlGetBBox(){let{element:_}=this;return{x:_.offsetLeft,y:_.offsetTop,width:_.offsetWidth,height:_.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:_,renderer:b,rotation:T,rotationOriginX:z,rotationOriginY:O,styles:f,textAlign:a="left",textWidth:g,translateX:y=0,translateY:o=0,x:n=0,y:r=0}=this,l=f.whiteSpace;if(pe(_,{marginLeft:`${y}px`,marginTop:`${o}px`}),"SPAN"===_.tagName){let k,d=[T,a,_.innerHTML,g,this.textAlign].join(","),C=-1*this.parentGroup?.padding||0,p=!1;if(g!==this.oldTextWidth){let U=this.textPxLength?this.textPxLength:(pe(_,{width:"",whiteSpace:l||"nowrap"}),_.offsetWidth),se=g||0;(se>this.oldTextWidth||U>se)&&(/[ \-]/.test(_.textContent||_.innerText)||"ellipsis"===_.style.textOverflow)&&(pe(_,{width:U>se||T?g+"px":"auto",display:"block",whiteSpace:l||"normal"}),this.oldTextWidth=g,p=!0)}this.hasBoxWidthChanged=p,d!==this.cTT&&(k=b.fontMetrics(_).b,te(T)&&(T!==(this.oldRotation||0)||a!==this.oldAlign)&&this.setSpanRotation(T,C,C),this.getSpanCorrection(!te(T)&&this.textPxLength||_.offsetWidth,k,{left:0,center:.5,right:1}[a]));let{xCorr:S=0,yCorr:j=0}=this;pe(_,{left:`${n+S}px`,top:`${r+j}px`,transformOrigin:`${(z??n)-S-n-C}px ${(O??r)-j-r-C}px`}),this.cTT=d,this.oldRotation=T,this.oldAlign=a}}setSpanRotation(_,b,T){pe(this.element,{transform:`rotate(${_}deg)`,transformOrigin:`${b}% ${T}px`})}add(_){let b,T=this.renderer.box.parentNode,z=[];if(this.parentGroup=_,_&&!(b=_.div)){let O=_;for(;O;)z.push(O),O=O.parentGroup;for(let f of z.reverse())b=L(f,T)}return(b||T).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(_){_!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,Z.setElementHTML(this.element,_??""),this.textStr=_,this.doTransform=!0)}alignSetter(_){this.alignValue=this.textAlign=_,this.doTransform=!0}xSetter(_,b){this[b]=_,this.doTransform=!0}}let I=D.prototype;return I.visibilitySetter=I.opacitySetter=F,I.ySetter=I.rotationSetter=I.rotationOriginXSetter=I.rotationOriginYSetter=I.xSetter,D}),Pe(V,"Core/Axis/AxisDefaults.js",[],function(){var Z,ie;return(ie=Z||(Z={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},ie.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:re}=this.axis.chart;return re(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},Z}),Pe(V,"Core/Foundation.js",[V["Core/Utilities.js"]],function(Z){var ie;let{addEvent:re,isFunction:ve,objectEach:le,removeEvent:fe}=Z;return(ie||(ie={})).registerEventOptions=function(pe,J){pe.eventOptions=pe.eventOptions||{},le(J.events,function(te,$){pe.eventOptions[$]!==te&&(pe.eventOptions[$]&&(fe(pe,$,pe.eventOptions[$]),delete pe.eventOptions[$]),ve(te)&&(pe.eventOptions[$]=te,re(pe,$,te,{order:0})))})},ie}),Pe(V,"Core/Axis/Tick.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{deg2rad:ve}=ie,{clamp:le,correctFloat:fe,defined:pe,destroyObjectProperties:J,extend:te,fireEvent:$,isNumber:A,merge:B,objectEach:F,pick:L}=re;return class{constructor(D,I,E,_,b){this.isNew=!0,this.isNewLabel=!0,this.axis=D,this.pos=I,this.type=E||"",this.parameters=b||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,$(this,"init"),E||_||this.addLabel()}addLabel(){let l,d,C,D=this,I=D.axis,E=I.options,_=I.chart,b=I.categories,T=I.logarithmic,z=I.names,O=D.pos,f=L(D.options&&D.options.labels,E.labels),a=I.tickPositions,g=O===a[0],y=O===a[a.length-1],o=(!f.step||1===f.step)&&1===I.tickInterval,n=a.info,r=D.label,k=this.parameters.category||(b?L(b[O],z[O],O):O);T&&A(k)&&(k=fe(T.lin2log(k))),I.dateTime&&(n?l=(d=_.time.resolveDTLFormat(E.dateTimeLabelFormats[!E.grid&&n.higherRanks[O]||n.unitName])).main:A(k)&&(l=I.dateTime.getXDateFormat(k,E.dateTimeLabelFormats||{}))),D.isFirst=g,D.isLast=y;let p={axis:I,chart:_,dateTimeLabelFormat:l,isFirst:g,isLast:y,pos:O,tick:D,tickPositionInfo:n,value:k};$(this,"labelFormat",p);let S=Y=>f.formatter?f.formatter.call(Y,Y):f.format?(Y.text=I.defaultLabelFormatter.call(Y),Z.format(f.format,Y,_)):I.defaultLabelFormatter.call(Y),j=S.call(p,p),H=d&&d.list;D.shortenLabel=H?function(){for(C=0;C0&&_+g*y>O&&(k=Math.round((b-_)/Math.cos(a*ve))):(d=_-g*y,C=_+(1-g)*y,dO&&(r=O-D.x+r*g,l=-1),(r=Math.min(o,r))r||I.autoRotation&&(f.styles||{}).width)&&(k=r)),k&&(this.shortenLabel?this.shortenLabel():(n.width=Math.floor(k)+"px",(E.style||{}).textOverflow||(n.textOverflow="ellipsis"),f.css(n)))}moveLabel(D,I){let z,E=this,_=E.label,b=E.axis,T=!1;_&&_.textStr===D?(E.movedLabel=_,T=!0,delete E.label):F(b.ticks,function(O){T||O.isNew||O===E||!O.label||O.label.textStr!==D||(E.movedLabel=O.label,T=!0,O.labelPos=E.movedLabel.xy,delete O.label)}),!T&&(E.labelPos||_)&&(z=E.labelPos||_.xy,E.movedLabel=E.createLabel(D,I,z),E.movedLabel&&E.movedLabel.attr({opacity:0}))}render(D,I,E){let _=this.axis,b=_.horiz,T=this.pos,z=L(this.tickmarkOffset,_.tickmarkOffset),O=this.getPosition(b,T,z,I),f=O.x,a=O.y,g=_.pos,y=g+_.len,o=b&&f===y||!b&&a===g?-1:1,n=b?f:a;!_.chart.polar&&this.isNew&&(fe(n)y)&&(E=0);let r=L(E,this.label&&this.label.newOpacity,1);E=L(E,1),this.isActive=!0,this.renderGridLine(I,E,o),this.renderMark(O,E,o),this.renderLabel(O,I,r,D),this.isNew=!1,$(this,"afterRender")}renderGridLine(D,I,E){let y,_=this.axis,b=_.options,T={},z=this.pos,O=this.type,f=L(this.tickmarkOffset,_.tickmarkOffset),a=_.chart.renderer,g=this.gridLine,o=b.gridLineWidth,n=b.gridLineColor,r=b.gridLineDashStyle;"minor"===this.type&&(o=b.minorGridLineWidth,n=b.minorGridLineColor,r=b.minorGridLineDashStyle),g||(_.chart.styledMode||(T.stroke=n,T["stroke-width"]=o||0,T.dashstyle=r),O||(T.zIndex=1),D&&(I=0),this.gridLine=g=a.path().attr(T).addClass("highcharts-"+(O?O+"-":"")+"grid-line").add(_.gridGroup)),g&&(y=_.getPlotLinePath({value:z+f,lineWidth:g.strokeWidth()*E,force:"pass",old:D,acrossPanes:!1}))&&g[D||this.isNew?"attr":"animate"]({d:y,opacity:I})}renderMark(D,I,E){let _=this.axis,b=_.options,T=_.chart.renderer,z=this.type,O=_.tickSize(z?z+"Tick":"tick"),f=D.x,a=D.y,g=L(b["minor"!==z?"tickWidth":"minorTickWidth"],!z&&_.isXAxis?1:0),y=b["minor"!==z?"tickColor":"minorTickColor"],o=this.mark,n=!o;O&&(_.opposite&&(O[0]=-O[0]),o||(this.mark=o=T.path().addClass("highcharts-"+(z?z+"-":"")+"tick").add(_.axisGroup),_.chart.styledMode||o.attr({stroke:y,"stroke-width":g})),o[n?"attr":"animate"]({d:this.getMarkPath(f,a,O[0],o.strokeWidth()*E,_.horiz,T),opacity:I}))}renderLabel(D,I,E,_){let b=this.axis,T=b.horiz,z=b.options,O=this.label,f=z.labels,a=f.step,g=L(this.tickmarkOffset,b.tickmarkOffset),y=D.x,o=D.y,n=!0;O&&A(y)&&(O.xy=D=this.getLabelPosition(y,o,O,T,f,g,_,a),this.isFirst&&!this.isLast&&!z.showFirstLabel||this.isLast&&!this.isFirst&&!z.showLastLabel?n=!1:!T||f.step||f.rotation||I||0===E||this.handleOverflow(D),a&&_%a&&(n=!1),n&&A(D.y)?(D.opacity=E,O[this.isNewLabel?"attr":"animate"](D).show(!0),this.isNewLabel=!1):(O.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let D=this.label,I=this.axis;D&&!this.isNew&&(D.animate({opacity:0},void 0,D.destroy),delete this.label),I.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),Pe(V,"Core/Axis/Axis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/AxisDefaults.js"],V["Core/Color/Color.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Axis/Tick.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe,pe,J){let{animObject:te}=Z,{xAxis:$,yAxis:A}=ie,{defaultOptions:B}=ve,{registerEventOptions:F}=le,{deg2rad:L}=fe,{arrayMax:D,arrayMin:I,clamp:E,correctFloat:_,defined:b,destroyObjectProperties:T,erase:z,error:O,extend:f,fireEvent:a,getClosestDistance:g,insertItem:y,isArray:o,isNumber:n,isString:r,merge:l,normalizeTickInterval:d,objectEach:C,pick:k,relativeLength:p,removeEvent:S,splat:j,syncTimeout:H}=J,Y=(se,w)=>d(w,void 0,void 0,k(se.options.allowDecimals,w<.5||void 0!==se.tickAmount),!!se.tickAmount);f(B,{xAxis:$,yAxis:l($,A)});class U{constructor(w,X,G){this.init(w,X,G)}init(w,X,G=this.coll){let x="xAxis"===G,N=this.isZAxis||(w.inverted?!x:x);this.chart=w,this.horiz=N,this.isXAxis=x,this.coll=G,a(this,"init",{userOptions:X}),this.opposite=k(X.opposite,this.opposite),this.side=k(X.side,this.side,N?this.opposite?0:2:this.opposite?1:3),this.setOptions(X);let R=this.options,K=R.labels,q=R.type;this.userOptions=X,this.minPixelPadding=0,this.reversed=k(R.reversed,this.reversed),this.visible=R.visible,this.zoomEnabled=R.zoomEnabled,this.hasNames="category"===q||!0===R.categories,this.categories=o(R.categories)&&R.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=b(R.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=R.minRange||R.maxZoom,this.range=R.range,this.offset=R.offset||0,this.max=void 0,this.min=void 0;let he=k(R.crosshair,j(w.options.tooltip.crosshairs)[x?0:1]);this.crosshair=!0===he?{}:he,-1===w.axes.indexOf(this)&&(x?w.axes.splice(w.xAxis.length,0,this):w.axes.push(this),y(this,w[this.coll])),w.orderItems(this.coll),this.series=this.series||[],w.inverted&&!this.isZAxis&&x&&!b(this.reversed)&&(this.reversed=!0),this.labelRotation=n(K.rotation)?K.rotation:void 0,F(this,R),a(this,"afterInit")}setOptions(w){this.options=l(this.horiz?{labels:{autoRotation:[-45]},margin:15}:{title:{rotation:90*this.side}},B[this.coll],w),a(this,"afterSetOptions",{userOptions:w})}defaultLabelFormatter(){let Se,Oe,w=this.axis,{numberFormatter:X}=this.chart,G=n(this.value)?this.value:NaN,x=w.chart.time,N=w.categories,R=this.dateTimeLabelFormat,K=B.lang,q=K.numericSymbols,he=K.numericSymbolMagnitude||1e3,me=w.logarithmic?Math.abs(G):w.tickInterval,Ce=q&&q.length;if(N)Oe=`${this.value}`;else if(R)Oe=x.dateFormat(R,G);else if(Ce&&q&&me>=1e3)for(;Ce--&&void 0===Oe;)me>=(Se=Math.pow(he,Ce+1))&&10*G%Se==0&&null!==q[Ce]&&0!==G&&(Oe=X(G/Se,-1)+q[Ce]);return void 0===Oe&&(Oe=Math.abs(G)>=1e4?X(G,-1):X(G,-1,void 0,"")),Oe}getSeriesExtremes(){let w,X=this;a(this,"getSeriesExtremes",null,function(){X.hasVisibleSeries=!1,X.dataMin=X.dataMax=X.threshold=void 0,X.softThreshold=!X.isXAxis,X.series.forEach(G=>{if(G.reserveSpace()){let N,K,q,x=G.options,R=x.threshold;if(X.hasVisibleSeries=!0,X.positiveValuesOnly&&0>=(R||0)&&(R=void 0),X.isXAxis)(N=G.xData)&&N.length&&(N=X.logarithmic?N.filter(he=>he>0):N,K=(w=G.getXExtremes(N)).min,q=w.max,n(K)||K instanceof Date||(N=N.filter(n),K=(w=G.getXExtremes(N)).min,q=w.max),N.length&&(X.dataMin=Math.min(k(X.dataMin,K),K),X.dataMax=Math.max(k(X.dataMax,q),q)));else{let he=G.applyExtremes();n(he.dataMin)&&(K=he.dataMin,X.dataMin=Math.min(k(X.dataMin,K),K)),n(he.dataMax)&&(q=he.dataMax,X.dataMax=Math.max(k(X.dataMax,q),q)),b(R)&&(X.threshold=R),(!x.softThreshold||X.positiveValuesOnly)&&(X.softThreshold=!1)}}})}),a(this,"afterGetSeriesExtremes")}translate(w,X,G,x,N,R){let K=this.linkedParent||this,q=x&&K.old?K.old.min:K.min;if(!n(q))return NaN;let he=K.minPixelPadding,me=(K.isOrdinal||K.brokenAxis?.hasBreaks||K.logarithmic&&N)&&K.lin2val,Ce=1,Se=0,Oe=x&&K.old?K.old.transA:K.transA,Ae=0;if(Oe||(Oe=K.transA),G&&(Ce*=-1,Se=K.len),K.reversed&&(Ce*=-1,Se-=Ce*(K.sector||K.len)),X)Ae=(w=w*Ce+Se-he)/Oe+q,me&&(Ae=K.lin2val(Ae));else{me&&(w=K.val2lin(w));let Fe=Ce*(w-q)*Oe;Ae=(K.isRadial?Fe:_(Fe))+Se+Ce*he+(n(R)?Oe*R:0)}return Ae}toPixels(w,X){return this.translate(w,!1,!this.horiz,void 0,!0)+(X?0:this.pos)}toValue(w,X){return this.translate(w-(X?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(w){let Ae,Fe,oe,ee,de,X=this,G=X.chart,x=X.left,N=X.top,R=w.old,K=w.value,q=w.lineWidth,he=R&&G.oldChartHeight||G.chartHeight,me=R&&G.oldChartWidth||G.chartWidth,Ce=X.transB,Se=w.translatedValue,Oe=w.force;function ye(_e,Me,Ee){return"pass"!==Oe&&(_eEe)&&(Oe?_e=E(_e,Me,Ee):de=!0),_e}let Te={value:K,lineWidth:q,old:R,force:Oe,acrossPanes:w.acrossPanes,translatedValue:Se};return a(this,"getPlotLinePath",Te,function(_e){Ae=oe=Math.round((Se=E(Se=k(Se,X.translate(K,void 0,void 0,R)),-1e5,1e5))+Ce),Fe=ee=Math.round(he-Se-Ce),n(Se)?X.horiz?(Fe=N,ee=he-X.bottom+(G.scrollablePixelsY||0),Ae=oe=ye(Ae,x,x+X.width)):(Ae=x,oe=me-X.right+(G.scrollablePixelsX||0),Fe=ee=ye(Fe,N,N+X.height)):(de=!0,Oe=!1),_e.path=de&&!Oe?void 0:G.renderer.crispLine([["M",Ae,Fe],["L",oe,ee]],q||1)}),Te.path}getLinearTickPositions(w,X,G){let x,N,R,K=_(Math.floor(X/w)*w),q=_(Math.ceil(G/w)*w),he=[];if(_(K+w)===K&&(R=20),this.single)return[X];for(x=K;x<=q&&(he.push(x),(x=_(x+w,R))!==N);)N=x;return he}getMinorTickInterval(){let{minorTicks:w,minorTickInterval:X}=this.options;return!0===w?k(X,"auto"):!1!==w?X:void 0}getMinorTickPositions(){let he,w=this.options,X=this.tickPositions,G=this.minorTickInterval,x=this.pointRangePadding||0,N=(this.min||0)-x,R=(this.max||0)+x,K=R-N,q=[];if(K&&K/G(me.xIncrement?me.xData?.slice(0,2):me.xData)||[]))||0),this.dataMax-this.dataMin)),n(G)&&n(x)&&n(N)&&G-x=N,R=(N-G+x)/2,q=[x-R,k(w.min,x-R)],K&&(q[2]=X?X.log2lin(this.dataMin):this.dataMin),he=[(x=D(q))+N,k(w.max,x+N)],K&&(he[2]=X?X.log2lin(this.dataMax):this.dataMax),(G=I(he))-xx-N),w=g([G]))}return w&&X?Math.min(w,X):w||X}nameToX(w){let N,X=o(this.options.categories),G=X?this.categories:this.names,x=w.options.x;return w.series.requireSorting=!1,b(x)||(x=this.options.uniqueNames&&G?X?G.indexOf(w.name):k(G.keys[w.name],-1):w.series.autoIncrement()),-1===x?!X&&G&&(N=G.length):N=x,void 0!==N?(this.names[N]=w.name,this.names.keys[w.name]=N):w.x&&(N=w.x),N}updateNames(){let w=this,X=this.names;X.length>0&&(Object.keys(X.keys).forEach(function(G){delete X.keys[G]}),X.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(G=>{G.xIncrement=null,(!G.points||G.isDirtyData)&&(w.max=Math.max(w.max,G.xData.length-1),G.processData(),G.generatePoints()),G.data.forEach(function(x,N){let R;x?.options&&void 0!==x.name&&void 0!==(R=w.nameToX(x))&&R!==x.x&&(x.x=R,G.xData[N]=R)})}))}setAxisTranslation(){let K,me,w=this,X=w.max-w.min,G=w.linkedParent,x=!!w.categories,N=w.isXAxis,R=w.axisPointRange||0,q=0,he=0,Ce=w.transA;(N||x||R)&&(K=w.getClosest(),G?(q=G.minPointOffset,he=G.pointRangePadding):w.series.forEach(function(Se){let Oe=x?1:N?k(Se.options.pointRange,K,0):w.axisPointRange||0,Ae=Se.options.pointPlacement;if(R=Math.max(R,Oe),!w.single||x){let Fe=Se.is("xrange")?!N:N;q=Math.max(q,Fe&&r(Ae)?0:Oe/2),he=Math.max(he,Fe&&"on"===Ae?0:Oe)}}),me=w.ordinal&&w.ordinal.slope&&K?w.ordinal.slope/K:1,w.minPointOffset=q*=me,w.pointRangePadding=he*=me,w.pointRange=Math.min(R,w.single&&x?1:X),N&&K&&(w.closestPointRange=K)),w.translationSlope=w.transA=Ce=w.staticScale||w.len/(X+he||1),w.transB=w.horiz?w.left:w.bottom,w.minPixelPadding=Ce*q,a(this,"afterSetAxisTranslation")}minFromRange(){let{max:w,min:X}=this;return n(w)&&n(X)&&w-X||void 0}setTickInterval(w){let Ee,Ze,lt,Qe,st,{categories:X,chart:G,dataMax:x,dataMin:N,dateTime:R,isXAxis:K,logarithmic:q,options:he,softThreshold:me}=this,Ce=n(this.threshold)?this.threshold:void 0,Se=this.minRange||0,{ceiling:Oe,floor:Ae,linkedTo:Fe,softMax:oe,softMin:ee}=he,de=n(Fe)&&G[this.coll]?.[Fe],ye=he.tickPixelInterval,Te=he.maxPadding,_e=he.minPadding,Me=0,Xe=n(he.tickInterval)&&he.tickInterval>=0?he.tickInterval:void 0;if(R||X||de||this.getTickAmount(),Qe=k(this.userMin,he.min),st=k(this.userMax,he.max),de?(this.linkedParent=de,Ee=de.getExtremes(),this.min=k(Ee.min,Ee.dataMin),this.max=k(Ee.max,Ee.dataMax),he.type!==de.options.type&&O(11,!0,G)):(me&&b(Ce)&&n(x)&&n(N)&&(N>=Ce?(Ze=Ce,_e=0):x<=Ce&&(lt=Ce,Te=0)),this.min=k(Qe,Ze,N),this.max=k(st,lt,x)),n(this.max)&&n(this.min)&&(q&&(this.positiveValuesOnly&&!w&&0>=Math.min(this.min,k(N,this.min))&&O(10,!0,G),this.min=_(q.log2lin(this.min),16),this.max=_(q.log2lin(this.max),16)),this.range&&n(N)&&(this.userMin=this.min=Qe=Math.max(N,this.minFromRange()||0),this.userMax=st=this.max,this.range=void 0)),a(this,"foundExtremes"),this.adjustForMinRange(),n(this.min)&&n(this.max)){if(!n(this.userMin)&&n(ee)&&eethis.max&&(this.max=st=oe),X||this.axisPointRange||this.stacking?.usePercentage||de||!(Me=this.max-this.min)||(!b(Qe)&&_e&&(this.min-=Me*_e),b(st)||!Te||(this.max+=Me*Te)),!n(this.userMin)&&n(Ae)&&(this.min=Math.max(this.min,Ae)),!n(this.userMax)&&n(Oe)&&(this.max=Math.min(this.max,Oe)),me&&n(N)&&n(x)){let pt=Ce||0;!b(Qe)&&this.min=pt?this.min=he.minRange?Math.min(pt,this.max-Se):pt:!b(st)&&this.max>pt&&x<=pt&&(this.max=he.minRange?Math.max(pt,this.min+Se):pt)}!G.polar&&this.min>this.max&&(b(he.min)?this.max=this.min:b(he.max)&&(this.min=this.max)),Me=this.max-this.min}if(this.tickInterval=this.min!==this.max&&n(this.min)&&n(this.max)?de&&!Xe&&ye===de.options.tickPixelInterval?Xe=de.tickInterval:k(Xe,this.tickAmount?Me/Math.max(this.tickAmount-1,1):void 0,X?1:Me*ye/Math.max(this.len,ye)):1,K&&!w){let pt=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(ht){ht.forceCrop=ht.forceCropping?.(),ht.processData(pt)}),a(this,"postProcessData",{hasExtremesChanged:pt})}this.setAxisTranslation(),a(this,"initialAxisTranslation"),this.pointRange&&!Xe&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let kt=k(he.minTickInterval,R&&!this.series.some(pt=>pt.noSharedTooltip)?this.closestPointRange:0);!Xe&&this.tickIntervalMath.max(2*this.len,200))q=[this.min,this.max],O(19,!1,this.chart);else if(this.dateTime)q=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,w.units),this.min,this.max,w.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)q=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let me=this.tickInterval,Ce=me;for(;Ce<=2*me&&(q=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&q.length>this.tickAmount);)this.tickInterval=Y(this,Ce*=1.1)}q.length>this.len&&(q=[q[0],q[q.length-1]])[0]===q[1]&&(q.length=1),G&&(this.tickPositions=q,(he=G.apply(this,[this.min,this.max]))&&(q=he))}this.tickPositions=q,this.paddedTicks=q.slice(0),this.trimTicks(q,R,K),!this.isLinked&&n(this.min)&&n(this.max)&&(this.single&&q.length<2&&!this.categories&&!this.series.some(me=>me.is("heatmap")&&"between"===me.options.pointPlacement)&&(this.min-=.5,this.max+=.5),X||he||this.adjustTickAmount()),a(this,"afterSetTickPositions")}trimTicks(w,X,G){let x=w[0],N=w[w.length-1],R=!this.isOrdinal&&this.minPointOffset||0;if(a(this,"trimTicks"),!this.isLinked){if(X&&x!==-1/0)this.min=x;else for(;this.min-R>w[0];)w.shift();if(G)this.max=N;else for(;this.max+R{let{horiz:Se,options:Oe}=Ce;return[Se?Oe.left:Oe.top,Oe.width,Oe.height,Oe.pane].join(",")},me=he(this);G[this.coll].forEach(function(Ce){let{series:Se}=Ce;Se.length&&Se.some(Oe=>Oe.visible)&&Ce!==X&&he(Ce)===me&&(w=!0,x.push(Ce))})}if(w&&K){x.forEach(me=>{let Ce=me.getThresholdAlignment(X);n(Ce)&&q.push(Ce)});let he=q.length>1?q.reduce((me,Ce)=>me+Ce,0)/q.length:void 0;x.forEach(me=>{me.thresholdAlignment=he})}return w}getThresholdAlignment(w){if((!n(this.dataMin)||this!==w&&this.series.some(X=>X.isDirty||X.isDirtyData))&&this.getSeriesExtremes(),n(this.threshold)){let X=E((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(X=1-X),X}}getTickAmount(){let w=this.options,X=w.tickPixelInterval,G=w.tickAmount;b(w.tickInterval)||G||!(this.lenR.push(_(R[R.length-1]+Oe)),oe=()=>R.unshift(_(R[0]-Oe));if(n(q)&&(Ae=q<.5?Math.ceil(q*(K-1)):Math.floor(q*(K-1)),N.reversed&&(Ae=K-1-Ae)),w.hasData()&&n(x)&&n(G)){let ee=()=>{w.transA*=(he-1)/(K-1),w.min=N.startOnTick?R[0]:Math.min(x,R[0]),w.max=N.endOnTick?R[R.length-1]:Math.max(G,R[R.length-1])};if(n(Ae)&&n(w.threshold)){for(;R[Ae]!==me||R.length!==K||R[0]>x||R[R.length-1]w.threshold?oe():Fe();if(Oe>8*w.tickInterval)break;Oe*=2}ee()}else if(he0&&Se{G=G||R.isDirtyData||R.isDirty,x=x||R.xAxis&&R.xAxis.isDirty||!1}),this.setAxisSize();let N=this.len!==(this.old&&this.old.len);N||G||x||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(X&&"yAxis"===w&&X.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),X&&"xAxis"===w&&X.buildStacks(),this.isDirty||(this.isDirty=N||this.min!==this.old?.min||this.max!==this.old?.max)):X&&X.cleanStacks(),G&&delete this.allExtremes,a(this,"afterSetScale")}setExtremes(w,X,G=!0,x,N){this.series.forEach(R=>{delete R.kdTree}),a(this,"setExtremes",N=f(N,{min:w,max:X}),R=>{this.userMin=R.min,this.userMax=R.max,this.eventArgs=R,G&&this.chart.redraw(x)})}setAxisSize(){let w=this.chart,X=this.options,G=X.offsets||[0,0,0,0],x=this.horiz,N=this.width=Math.round(p(k(X.width,w.plotWidth-G[3]+G[1]),w.plotWidth)),R=this.height=Math.round(p(k(X.height,w.plotHeight-G[0]+G[2]),w.plotHeight)),K=this.top=Math.round(p(k(X.top,w.plotTop+G[0]),w.plotHeight,w.plotTop)),q=this.left=Math.round(p(k(X.left,w.plotLeft+G[3]),w.plotWidth,w.plotLeft));this.bottom=w.chartHeight-R-K,this.right=w.chartWidth-N-q,this.len=Math.max(x?N:R,0),this.pos=x?q:K}getExtremes(){let w=this.logarithmic;return{min:w?_(w.lin2log(this.min)):this.min,max:w?_(w.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(w){let X=this.logarithmic,G=X?X.lin2log(this.min):this.min,x=X?X.lin2log(this.max):this.max;return null===w||w===-1/0?w=G:w===1/0?w=x:G>w?w=G:x15&&X<165?x.align="right":X>195&&X<345&&(x.align="left")}),G.align}tickSize(w){let N,X=this.options,G=k(X["tick"===w?"tickWidth":"minorTickWidth"],"tick"===w&&this.isXAxis&&!this.categories?1:0),x=X["tick"===w?"tickLength":"minorTickLength"];G&&x&&("inside"===X[w+"Position"]&&(x=-x),N=[x,G]);let R={tickSize:N};return a(this,"afterTickSize",R),R.tickSize}labelMetrics(){let w=this.chart.renderer,X=this.ticks,G=X[Object.keys(X)[0]]||{};return this.chart.renderer.fontMetrics(G.label||G.movedLabel||w.box)}unsquish(){let me,Se,w=this.options.labels,X=this.horiz,G=this.tickInterval,x=this.len/(((this.categories?1:0)+this.max-this.min)/G),N=w.rotation,R=this.labelMetrics().h,K=Math.max(this.max-this.min,0),q=function(Oe){let Ae=Oe/(x||1);return(Ae=Ae>1?Math.ceil(Ae):1)*G>K&&Oe!==1/0&&x!==1/0&&K&&(Ae=Math.ceil(K/G)),_(Ae*G)},he=G,Ce=Number.MAX_VALUE;if(X){if(!w.staggerLines&&(n(N)?Se=[N]:x=-90&&Fe<=90)&&(Ae=(Oe=q(Math.abs(R/Math.sin(L*Fe))))+Math.abs(Fe/360))Fe&&(Fe=ye.label.textPxLength)}),this.maxLabelLength=Fe,this.autoRotation)Fe>he&&Fe>Ce.h?me.rotation=this.labelRotation:this.labelRotation=0;else if(q&&(Oe=he,!Se))for(Ae="clip",ee=G.length;!K&&ee--;)(oe=x[G[ee]].label)&&("ellipsis"===oe.styles.textOverflow?oe.css({textOverflow:"clip"}):oe.textPxLength>q&&oe.css({width:q+"px"}),oe.getBBox().height>this.len/G.length-(Ce.h-Ce.f)&&(oe.specificTextOverflow="ellipsis"));me.rotation&&(Oe=Fe>.5*w.chartHeight?.33*w.chartHeight:Fe,Se||(Ae="ellipsis")),this.labelAlign=N.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(me.align=this.labelAlign),G.forEach(function(de){let ye=x[de],Te=ye&&ye.label,_e=R.width,Me={};Te&&(Te.attr(me),ye.shortenLabel?ye.shortenLabel():Oe&&!_e&&"nowrap"!==R.whiteSpace&&(OeN.g(K).attr({zIndex:he}).addClass(`highcharts-${G.toLowerCase()}${q} `+(this.isRadial?`highcharts-radial-axis${q} `:"")+(x.className||"")).add(w);this.axisGroup||(this.gridGroup=R("grid","-grid",x.gridZIndex),this.axisGroup=R("axis","",x.zIndex),this.labelGroup=R("axis-labels","-labels",x.labels.zIndex))}getOffset(){let ee,ye,Me,Ee,w=this,{chart:X,horiz:G,options:x,side:N,ticks:R,tickPositions:K,coll:q}=w,he=X.inverted&&!w.isZAxis?[1,0,3,2][N]:N,me=w.hasData(),Ce=x.title,Se=x.labels,Oe=n(x.crossing),Ae=X.axisOffset,Fe=X.clipOffset,oe=[-1,1,1,-1][N],de=0,Te=0,_e=0;if(w.showAxis=ee=me||x.showEmpty,w.staggerLines=w.horiz&&Se.staggerLines||void 0,w.createGroups(),me||w.isLinked?(K.forEach(function(Xe){w.generateTick(Xe)}),w.renderUnsquish(),w.reserveSpaceDefault=0===N||2===N||{1:"left",3:"right"}[N]===w.labelAlign,k(Se.reserveSpace,!Oe&&null,"center"===w.labelAlign||null,w.reserveSpaceDefault)&&K.forEach(function(Xe){_e=Math.max(R[Xe].getLabelSize(),_e)}),w.staggerLines&&(_e*=w.staggerLines),w.labelOffset=_e*(w.opposite?-1:1)):C(R,function(Xe,Ze){Xe.destroy(),delete R[Ze]}),Ce?.text&&!1!==Ce.enabled&&(w.addTitle(ee),ee&&!Oe&&!1!==Ce.reserveSpace&&(w.titleOffset=de=w.axisTitle.getBBox()[G?"height":"width"],Te=b(ye=Ce.offset)?0:k(Ce.margin,G?5:10))),w.renderLine(),w.offset=oe*k(x.offset,Ae[N]?Ae[N]+(x.margin||0):0),w.tickRotCorr=w.tickRotCorr||{x:0,y:0},Ee=0===N?-w.labelMetrics().h:2===N?w.tickRotCorr.y:0,Me=Math.abs(_e)+Te,_e&&(Me-=Ee,Me+=oe*(G?k(Se.y,w.tickRotCorr.y+oe*Se.distance):k(Se.x,oe*Se.distance))),w.axisTitleMargin=k(ye,Me),w.getMaxLabelDimensions&&(w.maxLabelDimensions=w.getMaxLabelDimensions(R,K)),"colorAxis"!==q){let Xe=this.tickSize("tick");Ae[N]=Math.max(Ae[N],(w.axisTitleMargin||0)+de+oe*w.offset,Me,K&&K.length&&Xe?Xe[0]+oe*w.offset:0);let Ze=!w.axisLine||x.offset?0:2*Math.floor(w.axisLine.strokeWidth()/2);Fe[he]=Math.max(Fe[he],Ze)}a(this,"afterGetOffset")}getLinePath(w){let X=this.chart,G=this.opposite,x=this.offset,N=this.horiz,R=this.left+(G?this.width:0)+x,K=X.chartHeight-this.bottom-(G?this.height:0)+x;return G&&(w*=-1),X.renderer.crispLine([["M",N?this.left:R,N?K:this.top],["L",N?X.chartWidth-this.right:R,N?K:X.chartHeight-this.bottom]],w)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(w){let X=this.horiz,G=this.left,x=this.top,N=this.len,R=this.options.title,K=X?G:x,q=this.opposite,he=this.offset,me=R.x,Ce=R.y,Se=this.chart.renderer.fontMetrics(w),Oe=w?Math.max(w.getBBox(!1,0).height-Se.h-1,0):0,Ae={low:K+(X?0:N),middle:K+N/2,high:K+(X?N:0)}[R.align],Fe=(X?x+this.height:G)+(X?1:-1)*(q?-1:1)*(this.axisTitleMargin||0)+[-Oe,Oe,Se.f,-Oe][this.side],oe={x:X?Ae+me:Fe+(q?this.width:0)+he+me,y:X?Fe+Ce-(q?this.height:0)+he:Ae+Ce};return a(this,"afterGetTitlePosition",{titlePosition:oe}),oe}renderMinorTick(w,X){let G=this.minorTicks;G[w]||(G[w]=new pe(this,w,"minor")),X&&G[w].isNew&&G[w].render(null,!0),G[w].render(null,!1,1)}renderTick(w,X,G){let N=this.ticks;(!this.isLinked||w>=this.min&&w<=this.max||this.grid&&this.grid.isColumn)&&(N[w]||(N[w]=new pe(this,w)),G&&N[w].isNew&&N[w].render(X,!0,-1),N[w].render(X))}render(){let w,X,G=this,x=G.chart,N=G.logarithmic,K=G.options,q=G.isLinked,he=G.tickPositions,me=G.axisTitle,Ce=G.ticks,Se=G.minorTicks,Oe=G.alternateBands,Ae=K.stackLabels,Fe=K.alternateGridColor,oe=K.crossing,ee=G.tickmarkOffset,de=G.axisLine,ye=G.showAxis,Te=te(x.renderer.globalAnimation);if(G.labelEdge.length=0,G.overlap=!1,[Ce,Se,Oe].forEach(function(_e){C(_e,function(Me){Me.isActive=!1})}),n(oe)){let _e=this.isXAxis?x.yAxis[0]:x.xAxis[0],Me=[1,-1,-1,1][this.side];if(_e){let Ee=_e.toPixels(oe,!0);G.horiz&&(Ee=_e.len-Ee),G.offset=Me*Ee}}if(G.hasData()||q){let _e=G.chart.hasRendered&&G.old&&n(G.old.min);G.minorTickInterval&&!G.categories&&G.getMinorTickPositions().forEach(function(Me){G.renderMinorTick(Me,_e)}),he.length&&(he.forEach(function(Me,Ee){G.renderTick(Me,Ee,_e)}),ee&&(0===G.min||G.single)&&(Ce[-1]||(Ce[-1]=new pe(G,-1,null,!0)),Ce[-1].render(-1))),Fe&&he.forEach(function(Me,Ee){X=void 0!==he[Ee+1]?he[Ee+1]+ee:G.max-ee,Ee%2==0&&Me=.5)A=Math.round(A),_=D.getLinearTickPositions(A,B,F);else if(A>=.08){let b,T,z,O,f,a,g;for(b=A>.3?[1,2,4]:A>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],T=Math.floor(B);TB&&(!L||a<=F)&&void 0!==a&&_.push(a),a>F&&(g=!0),a=f}else{let b=this.lin2log(B),T=this.lin2log(F),z=L?D.getMinorTickInterval():E.tickInterval;A=ve(A=le("auto"===z?null:z,this.minorAutoInterval,E.tickPixelInterval/(L?5:1)*(T-b)/((L?I/D.tickPositions.length:I)||1))),_=D.getLinearTickPositions(A,b,T).map(this.log2lin),L||(this.minorAutoInterval=A/5)}return L||(D.tickInterval=A),_}lin2log(A){return Math.pow(10,A)}log2lin(A){return Math.log(A)/Math.LN10}}fe.Additions=te}(ie||(ie={})),ie}),Pe(V,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[V["Core/Utilities.js"]],function(Z){var ie;let{erase:re,extend:ve,isNumber:le}=Z;return function(fe){let pe;function J(D){return this.addPlotBandOrLine(D,"plotBands")}function te(D,I){let E=this.userOptions,_=new pe(this,D);if(this.visible&&(_=_.render()),_){if(this._addedPlotLB||(this._addedPlotLB=!0,(E.plotLines||[]).concat(E.plotBands||[]).forEach(b=>{this.addPlotBandOrLine(b)})),I){let b=E[I]||[];b.push(D),E[I]=b}this.plotLinesAndBands.push(_)}return _}function $(D){return this.addPlotBandOrLine(D,"plotLines")}function A(D,I,E){let f,g,_=this.getPlotLinePath({value:I,force:!0,acrossPanes:(E=E||this.options).acrossPanes}),b=[],T=this.horiz,z=!le(this.min)||!le(this.max)||Dthis.max&&I>this.max,O=this.getPlotLinePath({value:D,force:!0,acrossPanes:E.acrossPanes}),a=1;if(O&&_)for(z&&(g=O.toString()===_.toString(),a=0),f=0;f{r?.on(Y,U=>{b[Y].apply(this,[U])})}),this.eventsAdded=!0),!p&&r.d||!l?.length?r&&(l?(r.show(),r.animate({d:l})):r.d&&(r.hide(),n&&(this.label=n=n.destroy()))):r.attr({d:l}),o&&(le(o.text)||le(o.formatter))&&l?.length&&L.width>0&&L.height>0&&!l.isFlat?(o=te({align:I&&C&&"center",x:I?!C&&4:10,verticalAlign:!I&&C&&"middle",y:I?C?16:10:C?6:-4,rotation:I&&!C&&90},o),this.renderLabel(o,l,C,T)):n&&n.hide(),this}renderLabel(L,D,I,E){let _=this.axis,T=this.label;T||(this.label=T=_.chart.renderer.text(this.getLabelText(L),0,0,L.useHTML).attr({align:L.textAlign||L.align,rotation:L.rotation,class:"highcharts-plot-"+(I?"band":"line")+"-label"+(L.className||""),zIndex:E}),_.chart.styledMode||T.css(te({fontSize:"0.8em",textOverflow:"ellipsis"},L.style)),T.add());let z=D.xBounds||[D[0][1],D[1][1],I?D[2][1]:D[0][1]],O=D.yBounds||[D[0][2],D[1][2],I?D[2][2]:D[0][2]],f=ve(z),a=ve(O);T.align(L,!1,{x:f,y:a,width:re(z)-f,height:re(O)-a}),T.alignValue&&"left"!==T.alignValue||T.css({width:(90===T.rotation?_.height-(T.alignAttr.y-_.top):(L.clip?_.width:_.chart.chartWidth)-(T.alignAttr.x-_.left))+"px"}),T.show(!0)}getLabelText(L){return le(L.formatter)?L.formatter.call(this):L.text}destroy(){pe(this.axis.plotLinesAndBands,this),delete this.axis,fe(this)}}return B}),Pe(V,"Core/Tooltip.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le){var fe;let{format:pe}=Z,{composed:J,doc:te,isSafari:$}=ie,{distribute:A}=re,{addEvent:B,clamp:F,css:L,discardElement:D,extend:I,fireEvent:E,isArray:_,isNumber:b,isString:T,merge:z,pick:O,pushUnique:f,splat:a,syncTimeout:g}=le;class y{constructor(n,r,l){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=n,this.init(n,r),this.pointer=l}bodyFormatter(n){return n.map(function(r){let l=r.series.tooltipOptions;return(l[(r.point.formatPrefix||"point")+"Formatter"]||r.point.tooltipFormatter).call(r.point,l[(r.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(n){this.chart.series.forEach(function(r){let l=r&&r.tt;l&&(!l.isActive||n?r.tt=l.destroy():l.isActive=!1)})}defaultFormatter(n){let r,l=this.points||a(this);return(r=(r=[n.tooltipFooterHeaderFormatter(l[0])]).concat(n.bodyFormatter(l))).push(n.tooltipFooterHeaderFormatter(l[0],!0)),r}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),D(this.container)),le.clearTimeout(this.hideTimer),le.clearTimeout(this.tooltipTimeout)}getAnchor(n,r){let l,{chart:d,pointer:C}=this,k=d.inverted,p=d.plotTop,S=d.plotLeft;if((n=a(n))[0].series&&n[0].series.yAxis&&!n[0].series.yAxis.options.reversedStacks&&(n=n.slice().reverse()),this.followPointer&&r)void 0===r.chartX&&(r=C.normalize(r)),l=[r.chartX-S,r.chartY-p];else if(n[0].tooltipPos)l=n[0].tooltipPos;else{let j=0,H=0;n.forEach(function(Y){let U=Y.pos(!0);U&&(j+=U[0],H+=U[1])}),j/=n.length,H/=n.length,this.shared&&n.length>1&&r&&(k?j=r.chartX:H=r.chartY),l=[j-S,H-p]}return l.map(Math.round)}getClassName(n,r,l){let C=n.series,k=C.options;return[this.options.className,"highcharts-label",l&&"highcharts-tooltip-header",r?"highcharts-tooltip-box":"highcharts-tooltip",!l&&"highcharts-color-"+O(n.colorIndex,C.colorIndex),k&&k.className].filter(T).join(" ")}getLabel(){let n=this,r=this.chart.styledMode,l=this.options,d=this.split&&this.allowShared,C=this.container,k=this.chart.renderer;if(this.label){let p=!this.label.hasClass("highcharts-label");(!d&&p||d&&!p)&&this.destroy()}if(!this.label){if(this.outside){let p=this.chart.options.chart.style,S=ve.getRendererType();this.container=C=ie.doc.createElement("div"),C.className="highcharts-tooltip-container",L(C,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(p&&p.zIndex||0)+3)}),this.renderer=k=new S(C,0,0,p,void 0,void 0,k.styledMode)}if(d?this.label=k.g("tooltip"):(this.label=k.label("",0,0,l.shape,void 0,void 0,l.useHTML,void 0,"tooltip").attr({padding:l.padding,r:l.borderRadius}),r||this.label.attr({fill:l.backgroundColor,"stroke-width":l.borderWidth||0}).css(l.style).css({pointerEvents:l.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),n.outside){let p=this.label,{xSetter:S,ySetter:j}=p;p.xSetter=function(H){S.call(p,n.distance),C&&(C.style.left=H+"px")},p.ySetter=function(H){j.call(p,n.distance),C&&(C.style.top=H+"px")}}this.label.attr({zIndex:8}).shadow(l.shadow).add()}return C&&!C.parentElement&&ie.doc.body.appendChild(C),this.label}getPlayingField(){let{body:n,documentElement:r}=te,{chart:l,distance:d,outside:C}=this;return{width:C?Math.max(n.scrollWidth,r.scrollWidth,n.offsetWidth,r.offsetWidth,r.clientWidth)-2*d:l.chartWidth,height:C?Math.max(n.scrollHeight,r.scrollHeight,n.offsetHeight,r.offsetHeight,r.clientHeight):l.chartHeight}}getPosition(n,r,l){let Ce,{distance:d,chart:C,outside:k,pointer:p}=this,{inverted:S,plotLeft:j,plotTop:H,polar:Y}=C,{plotX:U=0,plotY:se=0}=l,w={},X=S&&l.h||0,{height:G,width:x}=this.getPlayingField(),N=p.getChartPosition(),R=de=>de*N.scaleX,K=de=>de*N.scaleY,q=de=>{let ye="x"===de;return[de,ye?x:G,ye?n:r].concat(k?[ye?R(n):K(r),ye?N.left-d+R(U+j):N.top-d+K(se+H),0,ye?x:G]:[ye?n:r,ye?U+j:se+H,ye?j:H,ye?j+C.plotWidth:H+C.plotHeight])},he=q("y"),me=q("x"),Se=!!l.negative;!Y&&C.hoverSeries?.yAxis?.reversed&&(Se=!Se);let Oe=!this.followPointer&&O(l.ttBelow,!Y&&!S===Se),Ae=function(de,ye,Te,_e,Me,Ee,Xe){let Ze=k?"y"===de?K(d):R(d):d,lt=(Te-_e)/2,Qe=_eye?pt:pt+X)}},Fe=function(de,ye,Te,_e,Me){if(Meye-d)return!1;w[de]=Meye-_e/2?ye-_e-2:Me-Te/2},oe=function(de){[he,me]=[me,he],Ce=de},ee=()=>{!1!==Ae.apply(0,he)?!1!==Fe.apply(0,me)||Ce||(oe(!0),ee()):Ce?w.x=w.y=0:(oe(!0),ee())};return(S&&!Y||this.len>1)&&oe(),ee(),w}hide(n){let r=this;le.clearTimeout(this.hideTimer),n=O(n,this.options.hideDelay),this.isHidden||(this.hideTimer=g(function(){let l=r.getLabel();r.getLabel().animate({opacity:0},{duration:n&&150,complete:()=>{l.hide(),r.container&&r.container.remove()}}),r.isHidden=!0},n))}init(n,r){this.chart=n,this.options=r,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=r.split&&!n.inverted&&!n.polar,this.shared=r.shared||this.split,this.outside=O(r.outside,!(!n.scrollablePixelsX&&!n.scrollablePixelsY))}shouldStickOnContact(n){return!(this.followPointer||!this.options.stickOnContact||n&&!this.pointer.inClass(n.target,"highcharts-tooltip"))}move(n,r,l,d){let C=this,k=C.now,p=!1!==C.options.animation&&!C.isHidden&&(Math.abs(n-k.x)>1||Math.abs(r-k.y)>1),S=C.followPointer||C.len>1;I(k,{x:p?(2*k.x+n)/3:n,y:p?(k.y+r)/2:r,anchorX:S?void 0:p?(2*k.anchorX+l)/3:l,anchorY:S?void 0:p?(k.anchorY+d)/2:d}),C.getLabel().attr(k),C.drawTracker(),p&&(le.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){C&&C.move(n,r,l,d)},32))}refresh(n,r){let{chart:l,options:d,pointer:C,shared:k}=this,p=a(n),S=p[0],j=[],H=d.format,Y=d.formatter||this.defaultFormatter,U=l.styledMode,se={};if(!d.enabled||!S.series)return;le.clearTimeout(this.hideTimer),this.allowShared=!(!_(n)&&n.series&&n.series.noSharedTooltip),this.followPointer=!this.split&&S.series.tooltipOptions.followPointer;let w=this.getAnchor(n,r),X=w[0],G=w[1];k&&this.allowShared?(C.applyInactiveState(p),p.forEach(function(R){R.setState("hover"),j.push(R.getLabelConfig())}),(se=S.getLabelConfig()).points=j):se=S.getLabelConfig(),this.len=j.length;let x=T(H)?pe(H,se,l):Y.call(se,this),N=S.series;if(this.distance=O(N.tooltipOptions.distance,16),!1===x)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(x,p);else{let R=X,K=G;if(r&&C.isDirectTouch&&(R=r.chartX-l.plotLeft,K=r.chartY-l.plotTop),!l.polar&&!1!==N.options.clip&&!p.some(q=>C.isDirectTouch||q.series.shouldShowTooltip(R,K)))return void this.hide();{let q=this.getLabel();(!d.style.width||U)&&q.css({width:(this.outside?this.getPlayingField():l.spacingBox).width+"px"}),q.attr({text:x&&x.join?x.join(""):x}),q.addClass(this.getClassName(S),!0),U||q.attr({stroke:d.borderColor||S.color||N.color||"#666666"}),this.updatePosition({plotX:X,plotY:G,negative:S.negative,ttBelow:S.ttBelow,h:w[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}E(this,"refresh")}renderSplit(n,r){let l=this,{chart:d,chart:{chartWidth:C,chartHeight:k,plotHeight:p,plotLeft:S,plotTop:j,scrollablePixelsY:H=0,scrollablePixelsX:Y,styledMode:U},distance:se,options:w,options:{positioner:X},pointer:G}=l,{scrollLeft:x=0,scrollTop:N=0}=d.scrollablePlotArea?.scrollingContainer||{},R=l.outside&&"number"!=typeof Y?te.documentElement.getBoundingClientRect():{left:x,right:x+C,top:N,bottom:N+k},K=l.getLabel(),q=this.renderer||d.renderer,he=!(!d.xAxis[0]||!d.xAxis[0].opposite),{left:me,top:Ce}=G.getChartPosition(),Se=j+N,Oe=0,Ae=p-H;function Fe(_e,Me,Ee,Xe,Ze=!0){let lt,Qe;return Ee?(lt=he?0:Ae,Qe=F(_e-Xe/2,R.left,R.right-Xe-(l.outside?me:0))):(lt=Me-Se,Qe=F(Qe=Ze?_e-Xe-se:_e+se,Ze?Qe:R.left,R.right)),{x:Qe,y:lt}}T(n)&&(n=[!1,n]);let oe=n.slice(0,r.length+1).reduce(function(_e,Me,Ee){if(!1!==Me&&""!==Me){let Xe=r[Ee-1]||{isHeader:!0,plotX:r[0].plotX,plotY:p,series:{}},Ze=Xe.isHeader,lt=Ze?l:Xe.series,Qe=lt.tt=function(Lt,Gt,ti){let Dt=Lt,{isHeader:At,series:_t}=Gt;if(!Dt){let wt={padding:w.padding,r:w.borderRadius};U||(wt.fill=w.backgroundColor,wt["stroke-width"]=w.borderWidth??1),Dt=q.label("",0,0,w[At?"headerShape":"shape"],void 0,void 0,w.useHTML).addClass(l.getClassName(Gt,!0,At)).attr(wt).add(K)}return Dt.isActive=!0,Dt.attr({text:ti}),U||Dt.css(w.style).attr({stroke:w.borderColor||Gt.color||_t.color||"#333333"}),Dt}(lt.tt,Xe,Me.toString()),st=Qe.getBBox(),kt=st.width+Qe.strokeWidth();Ze&&(Oe=st.height,Ae+=Oe,he&&(Se-=Oe));let{anchorX:pt,anchorY:ht}=function(Lt){let Gt,ti,{isHeader:Dt,plotX:At=0,plotY:_t=0,series:wt}=Lt;if(Dt)Gt=Math.max(S+At,S),ti=j+p/2;else{let{xAxis:Qt,yAxis:di}=wt;Gt=Qt.pos+F(At,-se,Qt.len+se),wt.shouldShowTooltip(0,di.pos-j+_t,{ignoreX:!0})&&(ti=di.pos+_t)}return{anchorX:Gt=F(Gt,R.left-se,R.right+se),anchorY:ti}}(Xe);if("number"==typeof ht){let Lt=st.height+1,Gt=X?X.call(l,kt,Lt,Xe):Fe(pt,ht,Ze,kt);_e.push({align:X?0:void 0,anchorX:pt,anchorY:ht,boxWidth:kt,point:Xe,rank:O(Gt.rank,Ze?1:0),size:Lt,target:Gt.y,tt:Qe,x:Gt.x})}else Qe.isActive=!1}return _e},[]);!X&&oe.some(_e=>{let{outside:Me}=l,Ee=(Me?me:0)+_e.anchorX;return EeEe})&&(oe=oe.map(_e=>{let{x:Me,y:Ee}=Fe(_e.anchorX,_e.anchorY,_e.point.isHeader,_e.boxWidth,!1);return I(_e,{target:Ee,x:Me})})),l.cleanSplit(),A(oe,Ae);let ee={left:me,right:me};oe.forEach(function(_e){let{x:Me,boxWidth:Ee,isHeader:Xe}=_e;!Xe&&(l.outside&&me+Meee.right&&(ee.right=me+Me))}),oe.forEach(function(_e){let{x:Me,anchorX:Ee,anchorY:Xe,pos:Ze,point:{isHeader:lt}}=_e,Qe={visibility:void 0===Ze?"hidden":"inherit",x:Me,y:(Ze||0)+Se,anchorX:Ee,anchorY:Xe};if(l.outside&&Me0&&(lt||(Qe.x=Me+st,Qe.anchorX=Ee+st),lt&&(Qe.x=(ee.right-ee.left)/2,Qe.anchorX=Ee+st))}_e.tt.attr(Qe)});let{container:de,outside:ye,renderer:Te}=l;if(ye&&de&&Te){let{width:_e,height:Me,x:Ee,y:Xe}=K.getBBox();Te.setSize(_e+Ee,Me+Xe,!1),de.style.left=ee.left+"px",de.style.top=Ce+"px"}$&&K.attr({opacity:1===K.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact())return void(this.tracker&&(this.tracker=this.tracker.destroy()));let n=this.chart,r=this.label,l=this.shared?n.hoverPoints:n.hoverPoint;if(!r||!l)return;let d={x:0,y:0,width:0,height:0},C=this.getAnchor(l),k=r.getBBox();C[0]+=n.plotLeft-(r.translateX||0),C[1]+=n.plotTop-(r.translateY||0),d.x=Math.min(0,C[0]),d.y=Math.min(0,C[1]),d.width=C[0]<0?Math.max(Math.abs(C[0]),k.width-C[0]):Math.max(Math.abs(C[0]),k.width),d.height=C[1]<0?Math.max(Math.abs(C[1]),k.height-Math.abs(C[1])):Math.max(Math.abs(C[1]),k.height),this.tracker?this.tracker.attr(d):(this.tracker=r.renderer.rect(d).addClass("highcharts-tracker").add(r),n.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(n){return n.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(n,r){let l=n.series,d=l.tooltipOptions,C=l.xAxis,k=C&&C.dateTime,p={isFooter:r,labelConfig:n},S=d.xDateFormat,j=d[r?"footerFormat":"headerFormat"];return E(this,"headerFormatter",p,function(H){k&&!S&&b(n.key)&&(S=k.getXDateFormat(n.key,d.dateTimeLabelFormats)),k&&S&&(n.point&&n.point.tooltipDateKeys||["key"]).forEach(function(Y){j=j.replace("{point."+Y+"}","{point."+Y+":"+S+"}")}),l.chart.styledMode&&(j=this.styledModeFormat(j)),H.text=pe(j,{point:n,series:l},this.chart)}),p.text}update(n){this.destroy(),this.init(this.chart,z(!0,this.options,n))}updatePosition(n){let x,{chart:r,container:l,distance:d,options:C,pointer:k,renderer:p}=this,{height:S=0,width:j=0}=this.getLabel(),{left:H,top:Y,scaleX:U,scaleY:se}=k.getChartPosition(),w=(C.positioner||this.getPosition).call(this,j,S,n),X=(n.plotX||0)+r.plotLeft,G=(n.plotY||0)+r.plotTop;p&&l&&(C.positioner&&(w.x+=H-d,w.y+=Y-d),x=(C.borderWidth||0)+2*d+2,p.setSize(j+x,S+x,!1),(1!==U||1!==se)&&(L(l,{transform:`scale(${U}, ${se})`}),X*=U,G*=se),X+=H-w.x,G+=Y-w.y),this.move(Math.round(w.x),Math.round(w.y||0),X,G)}}return(fe=y||(y={})).compose=function(o){f(J,"Core.Tooltip")&&B(o,"afterInit",function(){let n=this.chart;n.options.tooltip&&(n.tooltip=new fe(n,n.options.tooltip,this))})},y}),Pe(V,"Core/Series/Point.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le){let{animObject:fe}=ie,{defaultOptions:pe}=re,{format:J}=ve,{addEvent:te,erase:$,extend:A,fireEvent:B,getNestedProperty:F,isArray:L,isFunction:D,isNumber:I,isObject:E,pick:_,syncTimeout:b,removeEvent:T,uniqueKey:z}=le;class O{animateBeforeDestroy(){let a=this,g={x:a.startXPos,opacity:0},y=a.getGraphicalProps();y.singular.forEach(function(o){a[o]=a[o].animate("dataLabel"===o?{x:a[o].startXPos,y:a[o].startYPos,opacity:0}:g)}),y.plural.forEach(function(o){a[o].forEach(function(n){n.element&&n.animate(A({x:a.startXPos},n.startYPos?{x:n.startXPos,y:n.startYPos}:{}))})})}applyOptions(a,g){let y=this.series,o=y.options.pointValKey||y.pointValKey;return A(this,a=O.prototype.optionsToObject.call(this,a)),this.options=this.options?A(this.options,a):a,a.group&&delete this.group,a.dataLabels&&delete this.dataLabels,o&&(this.y=O.prototype.getNestedProperty.call(this,o)),this.selected&&(this.state="select"),"name"in this&&void 0===g&&y.xAxis&&y.xAxis.hasNames&&(this.x=y.xAxis.nameToX(this)),void 0===this.x&&y?this.x=void 0===g?y.autoIncrement():g:I(a.x)&&y.options.relativeXValue&&(this.x=y.autoIncrement(a.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let a=this,g=a.series,y=g.chart,o=g.options.dataSorting,n=y.hoverPoints,r=fe(a.series.chart.renderer.globalAnimation),l=()=>{for(let d in(a.graphic||a.graphics||a.dataLabel||a.dataLabels)&&(T(a),a.destroyElements()),a)delete a[d]};a.legendItem&&y.legend.destroyItem(a),n&&(a.setState(),$(n,a),n.length||(y.hoverPoints=null)),a===y.hoverPoint&&a.onMouseOut(),o&&o.enabled?(this.animateBeforeDestroy(),b(l,r.duration)):l(),y.pointCount--}this.destroyed=!0}destroyElements(a){let g=this,y=g.getGraphicalProps(a);y.singular.forEach(function(o){g[o]=g[o].destroy()}),y.plural.forEach(function(o){g[o].forEach(function(n){n&&n.element&&n.destroy()}),delete g[o]})}firePointEvent(a,g,y){let o=this,n=this.series.options;o.manageEvent(a),"click"===a&&n.allowPointSelect&&(y=function(r){!o.destroyed&&o.select&&o.select(null,r.ctrlKey||r.metaKey||r.shiftKey)}),B(o,a,g,y)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(a){let g,y,o=this,n=[],r={singular:[],plural:[]};for((a=a||{graphic:1,dataLabel:1}).graphic&&n.push("graphic","connector"),a.dataLabel&&n.push("dataLabel","dataLabelPath","dataLabelUpper"),y=n.length;y--;)o[g=n[y]]&&r.singular.push(g);return["graphic","dataLabel"].forEach(function(l){let d=l+"s";a[l]&&o[d]&&r.plural.push(d)}),r}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(a){return a?0===a.indexOf("custom.")?F(a,this.options):this[a]:void 0}getZone(){let o,a=this.series,g=a.zones,y=a.zoneAxis||"y",n=0;for(o=g[0];this[y]>=o.value;)o=g[++n];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=o&&o.color&&!this.options.color?o.color:this.nonZonedColor,o}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(a,g,y){this.formatPrefix="point",this.visible=!0,this.series=a,this.applyOptions(g,y),this.id??(this.id=z()),this.resolveColor(),a.chart.pointCount++,B(this,"afterInit")}isValid(){return(I(this.x)||this.x instanceof Date)&&I(this.y)}optionsToObject(a){let l,g=this.series,y=g.options.keys,o=y||g.pointArrayMap||["y"],n=o.length,r={},d=0,C=0;if(I(a)||null===a)r[o[0]]=a;else if(L(a))for(!y&&a.length>n&&("string"==(l=typeof a[0])?r.name=a[0]:"number"===l&&(r.x=a[0]),d++);C0?O.prototype.setNestedProperty(r,a[d],o[C]):r[o[C]]=a[d]),d++,C++;else"object"==typeof a&&(r=a,a.dataLabels&&(g.hasDataLabels=()=>!0),a.marker&&(g._hasPointMarkers=!0));return r}pos(a,g=this.plotY){if(!this.destroyed){let{plotX:y,series:o}=this,{chart:n,xAxis:r,yAxis:l}=o,d=0,C=0;if(I(y)&&I(g))return a&&(d=r?r.pos:n.plotLeft,C=l?l.pos:n.plotTop),n.inverted&&r&&l?[l.len-g+C,r.len-y+d]:[y+d,g+C]}}resolveColor(){let o,n,l,a=this.series,y=a.chart.styledMode,r=a.chart.options.chart.colorCount;delete this.nonZonedColor,a.options.colorByPoint?(y||(o=(n=a.options.colors||a.chart.options.colors)[a.colorCounter],r=n.length),l=a.colorCounter,a.colorCounter++,a.colorCounter===r&&(a.colorCounter=0)):(y||(o=a.color),l=a.colorIndex),this.colorIndex=_(this.options.colorIndex,l),this.color=_(this.options.color,o)}setNestedProperty(a,g,y){return y.split(".").reduce(function(o,n,r,l){return o[n]=l.length-1===r?g:E(o[n],!0)?o[n]:{},o[n]},a),a}shouldDraw(){return!this.isNull}tooltipFormatter(a){let g=this.series,y=g.tooltipOptions,o=_(y.valueDecimals,""),n=y.valuePrefix||"",r=y.valueSuffix||"";return g.chart.styledMode&&(a=g.chart.tooltip.styledModeFormat(a)),(g.pointArrayMap||["y"]).forEach(function(l){l="{point."+l,(n||r)&&(a=a.replace(RegExp(l+"}","g"),n+l+"}"+r)),a=a.replace(RegExp(l+"}","g"),l+":,."+o+"f}")}),J(a,{point:this,series:this.series},g.chart)}update(a,g,y,o){let n,r=this,l=r.series,d=r.graphic,C=l.chart,k=l.options;function p(){r.applyOptions(a);let S=d&&r.hasMockGraphic;d&&(null===r.y?!S:S)&&(r.graphic=d.destroy(),delete r.hasMockGraphic),E(a,!0)&&(d&&d.element&&a&&a.marker&&void 0!==a.marker.symbol&&(r.graphic=d.destroy()),a?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),n=r.index,l.updateParallelArrays(r,n),k.data[n]=E(k.data[n],!0)||E(a,!0)?r.options:_(a,k.data[n]),l.isDirty=l.isDirtyData=!0,!l.fixedBox&&l.hasCartesianSeries&&(C.isDirtyBox=!0),"point"===k.legendType&&(C.isDirtyLegend=!0),g&&C.redraw(y)}g=_(g,!0),!1===o?p():r.firePointEvent("update",{options:a},p)}remove(a,g){this.series.removePoint(this.series.data.indexOf(this),a,g)}select(a,g){let y=this,o=y.series,n=o.chart;a=_(a,!y.selected),this.selectedStaging=a,y.firePointEvent(a?"select":"unselect",{accumulate:g},function(){y.selected=y.options.selected=a,o.options.data[o.data.indexOf(y)]=y.options,y.setState(a&&"select"),g||n.getSelectedPoints().forEach(function(r){let l=r.series;r.selected&&r!==y&&(r.selected=r.options.selected=!1,l.options.data[l.data.indexOf(r)]=r.options,r.setState(n.hoverPoints&&l.options.inactiveOtherPoints?"inactive":""),r.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(a){let{inverted:g,pointer:y}=this.series.chart;y&&(a=a?y.normalize(a):y.getChartCoordinatesFromPoint(this,g),y.runPointActions(a,this))}onMouseOut(){let a=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(a.hoverPoints||[]).forEach(function(g){g.setState()}),a.hoverPoints=a.hoverPoint=null}manageEvent(a){let g=this.series.options.point||{},y=g.events?.[a];!D(y)||this.hcEvents?.[a]&&-1!==this.hcEvents?.[a]?.map(o=>o.fn).indexOf(y)?this.hasImportedEvents&&!y&&this.hcEvents?.[a]&&(T(this,a),delete this.hcEvents[a],Object.keys(this.hcEvents)||(this.hasImportedEvents=!1)):(te(this,a,y),this.hasImportedEvents=!0)}setState(a,g){let H,Y,U,w,y=this.series,o=this.state,n=y.options.states[a||"normal"]||{},r=pe.plotOptions[y.type].marker&&y.options.marker,d=r&&r.states&&r.states[a||"normal"]||{},k=this.marker||{},p=y.chart,S=r&&y.markerAttribs,j=y.halo,se=y.stateMarkerGraphic;if((a=a||"")===this.state&&!g||this.selected&&"select"!==a||!1===n.enabled||a&&(!1===d.enabled||r&&!1===r.enabled&&!1===d.enabled)||a&&k.states&&k.states[a]&&!1===k.states[a].enabled)return;if(this.state=a,S&&(H=y.markerAttribs(this,a)),this.graphic&&!this.hasMockGraphic){if(o&&this.graphic.removeClass("highcharts-point-"+o),a&&this.graphic.addClass("highcharts-point-"+a),!p.styledMode){Y=y.pointAttribs(this,a),U=_(p.options.chart.animation,n.animation);let N=Y.opacity;y.options.inactiveOtherPoints&&I(N)&&(this.dataLabels||[]).forEach(function(R){R&&!R.hasClass("highcharts-data-label-hidden")&&(R.animate({opacity:N},U),R.connector&&R.connector.animate({opacity:N},U))}),this.graphic.animate(Y,U)}H&&this.graphic.animate(H,_(p.options.chart.animation,d.animation,r.animation)),se&&se.hide()}else a&&d&&(w=k.symbol||y.symbol,se&&se.currentSymbol!==w&&(se=se.destroy()),H&&(se?se[g?"animate":"attr"]({x:H.x,y:H.y}):w&&(y.stateMarkerGraphic=se=p.renderer.symbol(w,H.x,H.y,H.width,H.height).add(y.markerGroup),se.currentSymbol=w)),!p.styledMode&&se&&"inactive"!==this.state&&se.attr(y.pointAttribs(this,a))),se&&(se[a&&this.isInside?"show":"hide"](),se.element.point=this,se.addClass(this.getClassName(),!0));let X=n.halo,G=this.graphic||se,x=G&&G.visibility||"inherit";X&&X.size&&G&&"hidden"!==x&&!this.isCluster?(j||(y.halo=j=p.renderer.path().add(G.parentGroup)),j.show()[g?"animate":"attr"]({d:this.haloPath(X.size)}),j.attr({class:"highcharts-halo highcharts-color-"+_(this.colorIndex,y.colorIndex)+(this.className?" "+this.className:""),visibility:x,zIndex:-1}),j.point=this,p.styledMode||j.attr(A({fill:this.color||y.color,"fill-opacity":X.opacity},Z.filterUserAttributes(X.attributes||{})))):j&&j.point&&j.point.haloPath&&j.animate({d:j.point.haloPath(0)},null,j.hide),B(this,"afterSetState",{state:a})}haloPath(a){let g=this.pos();return g?this.series.chart.renderer.symbols.circle(Math.floor(g[0])-a,g[1]-a,2*a,2*a):[]}}return O}),Pe(V,"Core/Pointer.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie,re){var ve;let{parse:le}=Z,{charts:fe,composed:pe}=ie,{addEvent:J,attr:te,css:$,extend:A,find:B,fireEvent:F,isNumber:L,isObject:D,objectEach:I,offset:E,pick:_,pushUnique:b,splat:T}=re;class z{applyInactiveState(f){let g,a=[];(f||[]).forEach(function(y){g=y.series,a.push(g),g.linkedParent&&a.push(g.linkedParent),g.linkedSeries&&(a=a.concat(g.linkedSeries)),g.navigatorSeries&&a.push(g.navigatorSeries)}),this.chart.series.forEach(function(y){-1===a.indexOf(y)?y.setState("inactive",!0):y.options.inactiveOtherPoints&&y.setAllPointsToState("inactive")})}destroy(){let f=this;this.eventsToUnbind.forEach(a=>a()),this.eventsToUnbind=[],!ie.chartCount&&(z.unbindDocumentMouseUp&&(z.unbindDocumentMouseUp=z.unbindDocumentMouseUp()),z.unbindDocumentTouchEnd&&(z.unbindDocumentTouchEnd=z.unbindDocumentTouchEnd())),clearInterval(f.tooltipTimeout),I(f,function(a,g){f[g]=void 0})}getSelectionMarkerAttrs(f,a){let g={args:{chartX:f,chartY:a},attrs:{},shapeType:"rect"};return F(this,"getSelectionMarkerAttrs",g,y=>{let o,{chart:n,zoomHor:r,zoomVert:l}=this,{mouseDownX:d=0,mouseDownY:C=0}=n,k=y.attrs;k.x=n.plotLeft,k.y=n.plotTop,k.width=r?1:n.plotWidth,k.height=l?1:n.plotHeight,r&&(o=f-d,k.width=Math.max(1,Math.abs(o)),k.x=(o>0?0:o)+d),l&&(o=a-C,k.height=Math.max(1,Math.abs(o)),k.y=(o>0?0:o)+C)}),g}drag(f){let Y,{chart:a}=this,{mouseDownX:g=0,mouseDownY:y=0}=a,{panning:o,panKey:n,selectionMarkerFill:r}=a.options.chart,l=a.plotLeft,d=a.plotTop,C=a.plotWidth,k=a.plotHeight,p=D(o)?o.enabled:o,S=n&&f[`${n}Key`],j=f.chartX,H=f.chartY,U=this.selectionMarker;if((!U||!U.touch)&&(jl+C&&(j=l+C),Hd+k&&(H=d+k),this.hasDragged=Math.sqrt(Math.pow(g-j,2)+Math.pow(y-H,2)),this.hasDragged>10)){Y=a.isInsidePlot(g-l,y-d,{visiblePlotOnly:!0});let{shapeType:se,attrs:w}=this.getSelectionMarkerAttrs(j,H);(a.hasCartesianSeries||a.mapView)&&this.hasZoom&&Y&&!S&&!U&&(this.selectionMarker=U=a.renderer[se](),U.attr({class:"highcharts-selection-marker",zIndex:7}).add(),a.styledMode||U.attr({fill:r||le("#334eff").setOpacity(.25).get()})),U&&U.attr(w),Y&&!U&&p&&a.pan(f,o)}}dragStart(f){let a=this.chart;a.mouseIsDown=f.type,a.cancelClick=!1,a.mouseDownX=f.chartX,a.mouseDownY=f.chartY}getSelectionBox(f){let a={args:{marker:f},result:f.getBBox()};return F(this,"getSelectionBox",a),a.result}drop(f){let a,{chart:g,selectionMarker:y}=this;for(let o of g.axes)o.isPanning&&(o.isPanning=!1,(o.options.startOnTick||o.options.endOnTick||o.series.some(n=>n.boosted))&&(o.forceRedraw=!0,o.setExtremes(o.userMin,o.userMax,!1),a=!0));if(a&&g.redraw(),y&&f){if(this.hasDragged){let o=this.getSelectionBox(y);g.transform({axes:g.axes.filter(n=>n.zoomEnabled&&("xAxis"===n.coll&&this.zoomX||"yAxis"===n.coll&&this.zoomY)),selection:{originalEvent:f,xAxis:[],yAxis:[],...o},from:o})}L(g.index)&&(this.selectionMarker=y.destroy())}g&&L(g.index)&&($(g.container,{cursor:g._cursor}),g.cancelClick=this.hasDragged>10,g.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(f,a,g){let y;return f.forEach(function(o){let n=!(o.noSharedTooltip&&a)&&0>o.options.findNearestPointBy.indexOf("y"),r=o.searchPoint(g,n);D(r,!0)&&r.series&&(!D(y,!0)||function(l,d){let C=l.distX-d.distX,k=l.dist-d.dist,p=d.series.group?.zIndex-l.series.group?.zIndex;return 0!==C&&a?C:0!==k?k:0!==p?p:l.series.index>d.series.index?-1:1}(y,r)>0)&&(y=r)}),y}getChartCoordinatesFromPoint(f,a){let{xAxis:g,yAxis:y}=f.series,o=f.shapeArgs;if(g&&y){let n=f.clientX??f.plotX??0,r=f.plotY||0;return f.isNode&&o&&L(o.x)&&L(o.y)&&(n=o.x,r=o.y),a?{chartX:y.len+y.pos-r,chartY:g.len+g.pos-n}:{chartX:n+g.pos,chartY:r+y.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:f}=this.chart,a=E(f);this.chartPosition={left:a.left,top:a.top,scaleX:1,scaleY:1};let{offsetHeight:g,offsetWidth:y}=f;return y>2&&g>2&&(this.chartPosition.scaleX=a.width/y,this.chartPosition.scaleY=a.height/g),this.chartPosition}getCoordinates(f){let a={xAxis:[],yAxis:[]};for(let g of this.chart.axes)a[g.isXAxis?"xAxis":"yAxis"].push({axis:g,value:g.toValue(f[g.horiz?"chartX":"chartY"])});return a}getHoverData(f,a,g,y,o,n){let C,r=[],l=function(S){return S.visible&&!(!o&&S.directTouch)&&_(S.options.enableMouseTracking,!0)},d=a,k={chartX:n?n.chartX:void 0,chartY:n?n.chartY:void 0,shared:o};F(this,"beforeGetHoverData",k),C=d&&!d.stickyTracking?[d]:g.filter(S=>S.stickyTracking&&(k.filter||l)(S));let p=y&&f||!n?f:this.findNearestKDPoint(C,o,n);return d=p&&p.series,p&&(o&&!d.noSharedTooltip?(C=g.filter(function(S){return k.filter?k.filter(S):l(S)&&!S.noSharedTooltip})).forEach(function(S){let j=B(S.points,function(H){return H.x===p.x&&!H.isNull});D(j)&&(S.boosted&&S.boost&&(j=S.boost.getPoint(j)),r.push(j))}):r.push(p)),F(this,"afterGetHoverData",k={hoverPoint:p}),{hoverPoint:k.hoverPoint,hoverSeries:d,hoverPoints:r}}getPointFromEvent(f){let g,a=f.target;for(;a&&!g;)g=a.point,a=a.parentNode;return g}onTrackerMouseOut(f){let g=f.relatedTarget,y=this.chart.hoverSeries;this.isDirectTouch=!1,!y||!g||y.stickyTracking||this.inClass(g,"highcharts-tooltip")||this.inClass(g,"highcharts-series-"+y.index)&&this.inClass(g,"highcharts-tracker")||y.onMouseOut()}inClass(f,a){let y,g=f;for(;g;){if(y=te(g,"class")){if(-1!==y.indexOf(a))return!0;if(-1!==y.indexOf("highcharts-container"))return!1}g=g.parentElement}}constructor(f,a){this.hasDragged=0,this.eventsToUnbind=[],this.options=a,this.chart=f,this.runChartClick=!!a.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),F(this,"afterInit")}normalize(f,a){let g=f.touches,y=g?g.length?g.item(0):_(g.changedTouches,f.changedTouches)[0]:f;a||(a=this.getChartPosition());let o=y.pageX-a.left,n=y.pageY-a.top;return A(f,{chartX:Math.round(o/=a.scaleX),chartY:Math.round(n/=a.scaleY)})}onContainerClick(f){let a=this.chart,g=a.hoverPoint,y=this.normalize(f),o=a.plotLeft,n=a.plotTop;!a.cancelClick&&(g&&this.inClass(y.target,"highcharts-tracker")?(F(g.series,"click",A(y,{point:g})),a.hoverPoint&&g.firePointEvent("click",y)):(A(y,this.getCoordinates(y)),a.isInsidePlot(y.chartX-o,y.chartY-n,{visiblePlotOnly:!0})&&F(a,"click",y)))}onContainerMouseDown(f){let a=!(1&~(f.buttons||f.button));f=this.normalize(f),ie.isFirefox&&0!==f.button&&this.onContainerMouseMove(f),(void 0===f.button||a)&&(this.zoomOption(f),a&&f.preventDefault?.(),this.dragStart(f))}onContainerMouseLeave(f){let{pointer:a}=fe[_(z.hoverChartIndex,-1)]||{};f=this.normalize(f),this.onContainerMouseMove(f),a&&f.relatedTarget&&!this.inClass(f.relatedTarget,"highcharts-tooltip")&&(a.reset(),a.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(f){let a=this.chart,g=a.tooltip,y=this.normalize(f);this.setHoverChartIndex(f),("mousedown"===a.mouseIsDown||this.touchSelect(y))&&this.drag(y),!a.openMenu&&(this.inClass(y.target,"highcharts-tracker")||a.isInsidePlot(y.chartX-a.plotLeft,y.chartY-a.plotTop,{visiblePlotOnly:!0}))&&(!g||!g.shouldStickOnContact(y))&&(this.inClass(y.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(y))}onDocumentTouchEnd(f){this.onDocumentMouseUp(f)}onContainerTouchMove(f){this.touchSelect(f)?this.onContainerMouseMove(f):this.touch(f)}onContainerTouchStart(f){this.touchSelect(f)?this.onContainerMouseDown(f):(this.zoomOption(f),this.touch(f,!0))}onDocumentMouseMove(f){let a=this.chart,g=a.tooltip,y=this.chartPosition,o=this.normalize(f,y);!y||a.isInsidePlot(o.chartX-a.plotLeft,o.chartY-a.plotTop,{visiblePlotOnly:!0})||g&&g.shouldStickOnContact(o)||this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(f){fe[_(z.hoverChartIndex,-1)]?.pointer?.drop(f)}pinch(f){let a=this,{chart:g,hasZoom:y,lastTouches:o}=a,n=[].map.call(f.touches||[],k=>a.normalize(k)),r=n.length,l=1===r&&(a.inClass(f.target,"highcharts-tracker")&&g.runTrackerClick||a.runChartClick),d=g.tooltip,C=1===r&&_(d?.options.followTouchMove,!0);r>1?a.initiated=!0:C&&(a.initiated=!1),y&&a.initiated&&!l&&!1!==f.cancelable&&f.preventDefault(),"touchstart"===f.type?(a.pinchDown=n,a.res=!0):C?this.runPointActions(a.normalize(f)):o&&(F(g,"touchpan",{originalEvent:f,touches:n},()=>{let k=p=>{let S=p[0],j=p[1]||S;return{x:S.chartX,y:S.chartY,width:j.chartX-S.chartX,height:j.chartY-S.chartY}};g.transform({axes:g.axes.filter(p=>p.zoomEnabled&&(this.zoomHor&&p.horiz||this.zoomVert&&!p.horiz)),to:k(n),from:k(o),trigger:f.type})}),a.res&&(a.res=!1,this.reset(!1,0))),a.lastTouches=n}reset(f,a){let g=this.chart,y=g.hoverSeries,o=g.hoverPoint,n=g.hoverPoints,r=g.tooltip,l=r&&r.shared?n:o;f&&l&&T(l).forEach(function(d){d.series.isCartesian&&void 0===d.plotX&&(f=!1)}),f?r&&l&&T(l).length&&(r.refresh(l),r.shared&&n?n.forEach(function(d){d.setState(d.state,!0),d.series.isCartesian&&(d.series.xAxis.crosshair&&d.series.xAxis.drawCrosshair(null,d),d.series.yAxis.crosshair&&d.series.yAxis.drawCrosshair(null,d))}):o&&(o.setState(o.state,!0),g.axes.forEach(function(d){d.crosshair&&o.series[d.coll]===d&&d.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),n&&n.forEach(function(d){d.setState()}),y&&y.onMouseOut(),r&&r.hide(a),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),g.axes.forEach(function(d){d.hideCrosshair()}),g.hoverPoints=g.hoverPoint=void 0)}runPointActions(f,a,g){let y=this.chart,n=y.tooltip&&y.tooltip.options.enabled?y.tooltip:void 0,r=!!n&&n.shared,l=a||y.hoverPoint,d=l&&l.series||y.hoverSeries,k=this.getHoverData(l,d,y.series,(!f||"touchmove"!==f.type)&&(!!a||d&&d.directTouch&&this.isDirectTouch),r,f);l=k.hoverPoint,d=k.hoverSeries;let p=k.hoverPoints,S=d&&d.tooltipOptions.followPointer&&!d.tooltipOptions.split,j=r&&d&&!d.noSharedTooltip;if(l&&(g||l!==y.hoverPoint||n&&n.isHidden)){if((y.hoverPoints||[]).forEach(function(H){-1===p.indexOf(H)&&H.setState()}),y.hoverSeries!==d&&d.onMouseOver(),this.applyInactiveState(p),(p||[]).forEach(function(H){H.setState("hover")}),y.hoverPoint&&y.hoverPoint.firePointEvent("mouseOut"),!l.series)return;y.hoverPoints=p,y.hoverPoint=l,l.firePointEvent("mouseOver",void 0,()=>{n&&l&&n.refresh(j?p:l,f)})}else if(S&&n&&!n.isHidden){let H=n.getAnchor([{}],f);y.isInsidePlot(H[0],H[1],{visiblePlotOnly:!0})&&n.updatePosition({plotX:H[0],plotY:H[1]})}this.unDocMouseMove||(this.unDocMouseMove=J(y.container.ownerDocument,"mousemove",H=>fe[z.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(H)),this.eventsToUnbind.push(this.unDocMouseMove)),y.axes.forEach(function(H){let Y,U=_((H.crosshair||{}).snap,!0);!U||(Y=y.hoverPoint)&&Y.series[H.coll]===H||(Y=B(p,se=>se.series&&se.series[H.coll]===H)),Y||!U?H.drawCrosshair(f,Y):H.hideCrosshair()})}setDOMEvents(){let f=this.chart.container,a=f.ownerDocument;f.onmousedown=this.onContainerMouseDown.bind(this),f.onmousemove=this.onContainerMouseMove.bind(this),f.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(J(f,"mouseenter",this.onContainerMouseEnter.bind(this)),J(f,"mouseleave",this.onContainerMouseLeave.bind(this))),z.unbindDocumentMouseUp||(z.unbindDocumentMouseUp=J(a,"mouseup",this.onDocumentMouseUp.bind(this)));let g=this.chart.renderTo.parentElement;for(;g&&"BODY"!==g.tagName;)this.eventsToUnbind.push(J(g,"scroll",()=>{delete this.chartPosition})),g=g.parentElement;this.eventsToUnbind.push(J(f,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),J(f,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),z.unbindDocumentTouchEnd||(z.unbindDocumentTouchEnd=J(a,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1}))}setHoverChartIndex(f){let a=this.chart,g=ie.charts[_(z.hoverChartIndex,-1)];g&&g!==a&&g.pointer?.onContainerMouseLeave(f||{relatedTarget:a.container}),g&&g.mouseIsDown||(z.hoverChartIndex=a.index)}touch(f,a){let g,{chart:y,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===f.touches.length?(f=this.normalize(f),y.isInsidePlot(f.chartX-y.plotLeft,f.chartY-y.plotTop,{visiblePlotOnly:!0})&&!y.openMenu?(a&&this.runPointActions(f),"touchmove"===f.type&&(g=!!o[0]&&Math.pow(o[0].chartX-f.chartX,2)+Math.pow(o[0].chartY-f.chartY,2)>=16),_(g,!0)&&this.pinch(f)):a&&this.reset()):2===f.touches.length&&this.pinch(f)}touchSelect(f){return!(!this.chart.zooming.singleTouch||!f.touches||1!==f.touches.length)}zoomOption(f){let o,n,a=this.chart,g=a.inverted,y=a.zooming.type||"";/touch/.test(f.type)&&(y=_(a.zooming.pinchType,y)),this.zoomX=o=/x/.test(y),this.zoomY=n=/y/.test(y),this.zoomHor=o&&!g||n&&g,this.zoomVert=n&&!g||o&&g,this.hasZoom=o||n}}return(ve=z||(z={})).compose=function(O){b(pe,"Core.Pointer")&&J(O,"beforeRender",function(){this.pointer=new ve(this,this.options)})},z}),Pe(V,"Core/Legend/Legend.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Series/Point.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe){var pe;let{animObject:J,setAnimation:te}=Z,{format:$}=ie,{composed:A,marginNames:B}=re,{distribute:F}=le,{addEvent:L,createElement:D,css:I,defined:E,discardElement:_,find:b,fireEvent:T,isNumber:z,merge:O,pick:f,pushUnique:a,relativeLength:g,stableSort:y,syncTimeout:o}=fe;class n{constructor(l,d){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=l,this.setOptions(d),d.enabled&&(this.render(),L(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),L(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(l){let d=f(l.padding,8);this.options=l,this.chart.styledMode||(this.itemStyle=l.itemStyle,this.itemHiddenStyle=O(this.itemStyle,l.itemHiddenStyle)),this.itemMarginTop=l.itemMarginTop,this.itemMarginBottom=l.itemMarginBottom,this.padding=d,this.initialItemY=d-5,this.symbolWidth=f(l.symbolWidth,16),this.pages=[],this.proximate="proximate"===l.layout&&!this.chart.inverted,this.baseline=void 0}update(l,d){let C=this.chart;this.setOptions(O(!0,this.options,l)),this.destroy(),C.isDirtyLegend=C.isDirtyBox=!0,f(d,!0)&&C.redraw(),T(this,"afterUpdate",{redraw:d})}colorizeItem(l,d){let{area:C,group:k,label:p,line:S,symbol:j}=l.legendItem||{};if(k?.[d?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:H={}}=this,Y=H.color,{fillColor:U,fillOpacity:se,lineColor:w,marker:X}=l.options,G=x=>(!d&&(x.fill&&(x.fill=Y),x.stroke&&(x.stroke=Y)),x);p?.css(O(d?this.itemStyle:H)),S?.attr(G({stroke:w||l.color})),j&&j.attr(G(X&&j.isMarker?l.pointAttribs():{fill:l.color})),C?.attr(G({fill:U||l.color,"fill-opacity":U?1:se??.75}))}T(this,"afterColorizeItem",{item:l,visible:d})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(l){let{group:d,x:C=0,y:k=0}=l.legendItem||{},p=this.options,H=l.checkbox;if(d&&d.element){let Y={translateX:p.rtl?this.legendWidth-C-2*p.symbolPadding-4:C,translateY:k};d[E(d.translateY)?"animate":"attr"](Y,void 0,()=>{T(this,"afterPositionItem",{item:l})})}H&&(H.x=C,H.y=k)}destroyItem(l){let d=l.checkbox,C=l.legendItem||{};for(let k of["group","label","line","symbol"])C[k]&&(C[k]=C[k].destroy());d&&_(d),l.legendItem=void 0}destroy(){for(let l of this.getAllItems())this.destroyItem(l);for(let l of["clipRect","up","down","pager","nav","box","title","group"])this[l]&&(this[l]=this[l].destroy());this.display=null}positionCheckboxes(){let l,d=this.group&&this.group.alignAttr,C=this.clipHeight||this.legendHeight,k=this.titleHeight;d&&(l=d.translateY,this.allItems.forEach(function(p){let S,j=p.checkbox;j&&(S=l+k+j.y+(this.scrollOffset||0)+3,I(j,{left:d.translateX+p.checkboxOffset+j.x-20+"px",top:S+"px",display:this.proximate||S>l-6&&S1.5*Ce?me.height:Ce))}layoutItem(l){let d=this.options,C=this.padding,k="horizontal"===d.layout,p=l.itemHeight,S=this.itemMarginBottom,j=this.itemMarginTop,H=k?f(d.itemDistance,20):0,Y=this.maxLegendWidth,U=d.alignColumns&&this.totalItemWidth>Y?this.maxItemWidth:l.itemWidth,se=l.legendItem||{};k&&this.itemX-C+U>Y&&(this.itemX=C,this.lastLineHeight&&(this.itemY+=j+this.lastLineHeight+S),this.lastLineHeight=0),this.lastItemY=j+this.itemY+S,this.lastLineHeight=Math.max(p,this.lastLineHeight),se.x=this.itemX,se.y=this.itemY,k?this.itemX+=U:(this.itemY+=j+p+S,this.lastLineHeight=p),this.offsetWidth=this.widthOption||Math.max((k?this.itemX-C-(l.checkbox?0:H):U)+C,this.offsetWidth)}getAllItems(){let l=[];return this.chart.series.forEach(function(d){let C=d&&d.options;d&&f(C.showInLegend,!E(C.linkedTo)&&void 0,!0)&&(l=l.concat((d.legendItem||{}).labels||("point"===C.legendType?d.data:d)))}),T(this,"afterGetAllItems",{allItems:l}),l}getAlignment(){let l=this.options;return this.proximate?l.align.charAt(0)+"tv":l.floating?"":l.align.charAt(0)+l.verticalAlign.charAt(0)+l.layout.charAt(0)}adjustMargins(l,d){let C=this.chart,k=this.options,p=this.getAlignment();p&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(S,j){S.test(p)&&!E(l[j])&&(C[B[j]]=Math.max(C[B[j]],C.legend[(j+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][j]*k[j%2?"x":"y"]+f(k.margin,12)+d[j]+(C.titleOffset[j]||0)))})}proximatePositions(){let l,d=this.chart,C=[],k="left"===this.options.align;for(let p of(this.allItems.forEach(function(S){let j,H,U,se,Y=k;S.yAxis&&(S.xAxis.options.reversed&&(Y=!Y),S.points&&(j=b(Y?S.points:S.points.slice(0).reverse(),function(w){return z(w.plotY)})),H=this.itemMarginTop+S.legendItem.label.getBBox().height+this.itemMarginBottom,se=S.yAxis.top-d.plotTop,U=S.visible?(j?j.plotY:S.yAxis.height)+(se-.3*H):se+S.yAxis.height,C.push({target:U,size:H,item:S}))},this),F(C,d.plotHeight)))l=p.item.legendItem||{},z(p.pos)&&(l.y=d.plotTop-d.spacing[0]+p.pos)}render(){let S,j,H,U,l=this.chart,d=l.renderer,C=this.options,k=this.padding,p=this.getAllItems(),Y=this.group,se=this.box;this.itemX=k,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=g(C.width,l.spacingBox.width-k),U=l.spacingBox.width-2*k-C.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(U/=2),this.maxLegendWidth=this.widthOption||U,Y||(this.group=Y=d.g("legend").addClass(C.className||"").attr({zIndex:7}).add(),this.contentGroup=d.g().attr({zIndex:1}).add(Y),this.scrollGroup=d.g().add(this.contentGroup)),this.renderTitle(),y(p,(w,X)=>(w.options&&w.options.legendIndex||0)-(X.options&&X.options.legendIndex||0)),C.reversed&&p.reverse(),this.allItems=p,this.display=S=!!p.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,p.forEach(this.renderItem,this),p.forEach(this.layoutItem,this),j=(this.widthOption||this.offsetWidth)+k,H=this.lastItemY+this.lastLineHeight+this.titleHeight,H=this.handleOverflow(H)+k,se||(this.box=se=d.rect().addClass("highcharts-legend-box").attr({r:C.borderRadius}).add(Y)),l.styledMode||se.attr({stroke:C.borderColor,"stroke-width":C.borderWidth||0,fill:C.backgroundColor||"none"}).shadow(C.shadow),j>0&&H>0&&se[se.placed?"animate":"attr"](se.crisp.call({},{x:0,y:0,width:j,height:H},se.strokeWidth())),Y[S?"show":"hide"](),l.styledMode&&"none"===Y.getStyle("display")&&(j=H=0),this.legendWidth=j,this.legendHeight=H,S&&this.align(),this.proximate||this.positionItems(),T(this,"afterRender")}align(l=this.chart.spacingBox){let d=this.chart,C=this.options,k=l.y;/(lth|ct|rth)/.test(this.getAlignment())&&d.titleOffset[0]>0?k+=d.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&d.titleOffset[2]>0&&(k-=d.titleOffset[2]),k!==l.y&&(l=O(l,{y:k})),d.hasRendered||(this.group.placed=!1),this.group.align(O(C,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":C.verticalAlign}),!0,l)}handleOverflow(l){let R,K,q,d=this,C=this.chart,k=C.renderer,p=this.options,S=p.y,j="top"===p.verticalAlign,H=this.padding,Y=p.maxHeight,U=p.navigation,se=f(U.animation,!0),w=U.arrowSize||12,X=this.pages,G=this.allItems,x=function(Se){"number"==typeof Se?Ce.attr({height:Se}):Ce&&(d.clipRect=Ce.destroy(),d.contentGroup.clip()),d.contentGroup.div&&(d.contentGroup.div.style.clip=Se?"rect("+H+"px,9999px,"+(H+Se)+"px,0)":"auto")},N=function(Se){return d[Se]=k.circle(0,0,1.3*w).translate(w/2,w/2).add(me),C.styledMode||d[Se].attr("fill","rgba(0,0,0,0.0001)"),d[Se]},he=C.spacingBox.height+(j?-S:S)-H,me=this.nav,Ce=this.clipRect;return"horizontal"!==p.layout||"middle"===p.verticalAlign||p.floating||(he/=2),Y&&(he=Math.min(he,Y)),X.length=0,l&&he>0&&l>he&&!1!==U.enabled?(this.clipHeight=R=Math.max(he-20-this.titleHeight-H,0),this.currentPage=f(this.currentPage,1),this.fullHeight=l,G.forEach((Se,Oe)=>{let Ae=(q=Se.legendItem||{}).y||0,Fe=Math.round(q.label.getBBox().height),oe=X.length;(!oe||Ae-X[oe-1]>R&&(K||Ae)!==X[oe-1])&&(X.push(K||Ae),oe++),q.pageIx=oe-1,K&&((G[Oe-1].legendItem||{}).pageIx=oe-1),Oe===G.length-1&&Ae+Fe-X[oe-1]>R&&Ae>X[oe-1]&&(X.push(Ae),q.pageIx=oe),Ae!==K&&(K=Ae)}),Ce||(Ce=d.clipRect=k.clipRect(0,H-2,9999,0),d.contentGroup.clip(Ce)),x(R),me||(this.nav=me=k.g().attr({zIndex:1}).add(this.group),this.up=k.symbol("triangle",0,0,w,w).add(me),N("upTracker").on("click",function(){d.scroll(-1,se)}),this.pager=k.text("",15,10).addClass("highcharts-legend-navigation"),!C.styledMode&&U.style&&this.pager.css(U.style),this.pager.add(me),this.down=k.symbol("triangle-down",0,0,w,w).add(me),N("downTracker").on("click",function(){d.scroll(1,se)})),d.scroll(0),l=he):me&&(x(),this.nav=me.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),l}scroll(l,d){let C=this.chart,k=this.pages,p=k.length,S=this.clipHeight,j=this.options.navigation,H=this.pager,Y=this.padding,U=this.currentPage+l;U>p&&(U=p),U>0&&(void 0!==d&&te(d,C),this.nav.attr({translateX:Y,translateY:S+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(se){se.attr({class:1===U?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),H.attr({text:U+"/"+p}),[this.down,this.downTracker].forEach(function(se){se.attr({x:18+this.pager.getBBox().width,class:U===p?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),C.styledMode||(this.up.attr({fill:1===U?j.inactiveColor:j.activeColor}),this.upTracker.css({cursor:1===U?"default":"pointer"}),this.down.attr({fill:U===p?j.inactiveColor:j.activeColor}),this.downTracker.css({cursor:U===p?"default":"pointer"})),this.scrollOffset=-k[U-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=U,this.positionCheckboxes(),o(()=>{T(this,"afterScroll",{currentPage:U})},J(f(d,C.renderer.globalAnimation,!0)).duration))}setItemEvents(l,d,C){let k=this,p=l.legendItem||{},S=k.chart.renderer.boxWrapper,j=l instanceof ve,H="highcharts-legend-"+(j?"point":"series")+"-active",Y=k.chart.styledMode,U=C?[d,p.symbol]:[p.group],se=w=>{k.allItems.forEach(X=>{l!==X&&[X].concat(X.linkedSeries||[]).forEach(G=>{G.setState(w,!j)})})};for(let w of U)w&&w.on("mouseover",function(){l.visible&&se("inactive"),l.setState("hover"),l.visible&&S.addClass(H),Y||d.css(k.options.itemHoverStyle)}).on("mouseout",function(){k.chart.styledMode||d.css(O(l.visible?k.itemStyle:k.itemHiddenStyle)),se(""),S.removeClass(H),l.setState()}).on("click",function(X){let G="legendItemClick",x=function(){l.setVisible&&l.setVisible(),se(l.visible?"inactive":"")};S.removeClass(H),X={browserEvent:X},l.firePointEvent?l.firePointEvent(G,X,x):T(l,G,X,x)})}createCheckboxForItem(l){l.checkbox=D("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:l.selected,defaultChecked:l.selected},this.options.itemCheckboxStyle,this.chart.container),L(l.checkbox,"click",function(d){T(l.series||l,"checkboxClick",{checked:d.target.checked,item:l},function(){l.select()})})}}return(pe=n||(n={})).compose=function(r){a(A,"Core.Legend")&&L(r,"beforeMargins",function(){this.legend=new pe(this,this.options.legend)})},n}),Pe(V,"Core/Legend/LegendSymbol.js",[V["Core/Utilities.js"]],function(Z){var ie;let{extend:re,merge:ve,pick:le}=Z;return function(fe){function pe(J,te,$){let f,A=this.legendItem=this.legendItem||{},{chart:B,options:F}=this,{baseline:L=0,symbolWidth:D,symbolHeight:I}=J,E=this.symbol||"circle",_=I/2,b=B.renderer,T=A.group,z=L-Math.round(I*($?.4:.3)),O={},a=F.marker,g=0;if(B.styledMode||(O["stroke-width"]=Math.min(F.lineWidth||0,24),F.dashStyle?O.dashstyle=F.dashStyle:"square"===F.linecap||(O["stroke-linecap"]="round")),A.line=b.path().addClass("highcharts-graph").attr(O).add(T),$&&(A.area=b.path().addClass("highcharts-area").add(T)),O["stroke-linecap"]&&(g=Math.min(A.line.strokeWidth(),D)/2),D){let y=[["M",g,z],["L",D-g,z]];A.line.attr({d:y}),A.area?.attr({d:[...y,["L",D-g,L],["L",g,L]]})}if(a&&!1!==a.enabled&&D){let y=Math.min(le(a.radius,_),_);0===E.indexOf("url")&&(a=ve(a,{width:I,height:I}),y=0),A.symbol=f=b.symbol(E,D/2-y,z-y,2*y,2*y,re({context:"legend"},a)).addClass("highcharts-point").add(T),f.isMarker=!0}}fe.areaMarker=function(J,te){pe.call(this,J,te,!0)},fe.lineMarker=pe,fe.rectangle=function(J,te){let $=te.legendItem||{},B=J.symbolHeight,F=J.options.squareSymbol;$.symbol=this.chart.renderer.rect(F?(J.symbolWidth-B)/2:0,J.baseline-B+1,F?B:J.symbolWidth,B,le(J.options.symbolRadius,B/2)).addClass("highcharts-point").attr({zIndex:3}).add($.group)}}(ie||(ie={})),ie}),Pe(V,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:Z}=this.series.chart;return"number"!=typeof this.y?"":Z(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),Pe(V,"Core/Series/SeriesRegistry.js",[V["Core/Globals.js"],V["Core/Defaults.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){var le;let{defaultOptions:fe}=ie,{extend:pe,extendClass:J,merge:te}=ve;return function($){function A(B,F){let L=fe.plotOptions||{},D=F.defaultOptions,I=F.prototype;return I.type=B,I.pointClass||(I.pointClass=re),!$.seriesTypes[B]&&(D&&(L[B]=D),$.seriesTypes[B]=F,!0)}$.seriesTypes=Z.seriesTypes,$.registerSeriesType=A,$.seriesType=function(B,F,L,D,I){let E=fe.plotOptions||{};if(E[B]=te(E[F=F||""],L),delete $.seriesTypes[B],A(B,J($.seriesTypes[F]||function(){},D)),$.seriesTypes[B].prototype.type=B,I){class _ extends re{}pe(_.prototype,I),$.seriesTypes[B].prototype.pointClass=_}return $.seriesTypes[B]}}(le||(le={})),le}),Pe(V,"Core/Series/Series.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Series/Point.js"],V["Core/Series/SeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe,pe,J,te,$){let{animObject:A,setAnimation:B}=Z,{defaultOptions:F}=ie,{registerEventOptions:L}=re,{svg:D,win:I}=ve,{seriesTypes:E}=J,{arrayMax:_,arrayMin:b,clamp:T,correctFloat:z,defined:O,destroyObjectProperties:f,diffObjects:a,erase:g,error:y,extend:o,find:n,fireEvent:r,getClosestDistance:l,getNestedProperty:d,insertItem:C,isArray:k,isNumber:p,isString:S,merge:j,objectEach:H,pick:Y,removeEvent:U,splat:se,syncTimeout:w}=$;class X{constructor(){this.zoneAxis="y"}init(x,N){let R;r(this,"init",{options:N});let K=this,q=x.series;this.eventsToUnbind=[],K.chart=x,K.options=K.setOptions(N);let he=K.options,me=!1!==he.visible;K.linkedSeries=[],K.bindAxes(),o(K,{name:he.name,state:"",visible:me,selected:!0===he.selected}),L(this,he);let Ce=he.events;(Ce&&Ce.click||he.point&&he.point.events&&he.point.events.click||he.allowPointSelect)&&(x.runTrackerClick=!0),K.getColor(),K.getSymbol(),K.parallelArrays.forEach(function(Se){K[Se+"Data"]||(K[Se+"Data"]=[])}),K.isCartesian&&(x.hasCartesianSeries=!0),q.length&&(R=q[q.length-1]),K._i=Y(R&&R._i,-1)+1,K.opacity=K.options.opacity,x.orderItems("series",C(this,q)),he.dataSorting&&he.dataSorting.enabled?K.setDataSortingOptions():K.points||K.data||K.setData(he.data,!1),r(this,"afterInit")}is(x){return E[x]&&this instanceof E[x]}bindAxes(){let x,N=this,R=N.options,K=N.chart;r(this,"bindAxes",null,function(){(N.axisTypes||[]).forEach(function(q){K[q].forEach(function(he){x=he.options,(Y(R[q],0)===he.index||void 0!==R[q]&&R[q]===x.id)&&(C(N,he.series),N[q]=he,he.isDirty=!0)}),N[q]||N.optionalAxis===q||y(18,!0,K)})}),r(this,"afterBindAxes")}updateParallelArrays(x,N,R){let K=x.series,q=p(N)?function(he){let me="y"===he&&K.toYData?K.toYData(x):x[he];K[he+"Data"][N]=me}:function(he){Array.prototype[N].apply(K[he+"Data"],R)};K.parallelArrays.forEach(q)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(x,N){let R=x.marker,K=N.marker||{};return R&&(K.enabled&&!R.enabled||K.symbol!==R.symbol||K.height!==R.height||K.width!==R.width)}autoIncrement(x){let me,Ce,N=this.options,R=N.pointIntervalUnit,K=N.relativeXValue,q=this.chart.time,he=this.xIncrement;return he=Y(he,N.pointStart,0),this.pointInterval=Ce=Y(this.pointInterval,N.pointInterval,1),K&&p(x)&&(Ce*=x),R&&(me=new q.Date(he),"day"===R?q.set("Date",me,q.get("Date",me)+Ce):"month"===R?q.set("Month",me,q.get("Month",me)+Ce):"year"===R&&q.set("FullYear",me,q.get("FullYear",me)+Ce),Ce=me.getTime()-he),K&&p(x)?he+Ce:(this.xIncrement=he+Ce,he)}setDataSortingOptions(){let x=this.options;o(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),O(x.pointRange)||(x.pointRange=1)}setOptions(x){let N,R=this.chart,K=R.options.plotOptions,q=R.userOptions||{},he=j(x),me=R.styledMode,Ce={plotOptions:K,userOptions:he};r(this,"setOptions",Ce);let Se=Ce.plotOptions[this.type],Oe=q.plotOptions||{},Ae=Oe.series||{},Fe=F.plotOptions[this.type]||{},oe=Oe[this.type]||{};this.userOptions=Ce.userOptions;let ee=j(Se,K.series,oe,he);this.tooltipOptions=j(F.tooltip,F.plotOptions.series?.tooltip,Fe?.tooltip,R.userOptions.tooltip,Oe.series?.tooltip,oe.tooltip,he.tooltip),this.stickyTracking=Y(he.stickyTracking,oe.stickyTracking,Ae.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||ee.stickyTracking),null===Se.marker&&delete ee.marker,this.zoneAxis=ee.zoneAxis||"y";let de=this.zones=(ee.zones||[]).map(ye=>({...ye}));return(ee.negativeColor||ee.negativeFillColor)&&!ee.zones&&(N={value:ee[this.zoneAxis+"Threshold"]||ee.threshold||0,className:"highcharts-negative"},me||(N.color=ee.negativeColor,N.fillColor=ee.negativeFillColor),de.push(N)),de.length&&O(de[de.length-1].value)&&de.push(me?{}:{color:this.color,fillColor:this.fillColor}),r(this,"afterSetOptions",{options:ee}),ee}getName(){return Y(this.options.name,"Series "+(this.index+1))}getCyclic(x,N,R){let K,q,he=this.chart,me=`${x}Index`,Ce=`${x}Counter`,Se=R?.length||he.options.chart.colorCount;!N&&(O(q=Y("color"===x?this.options.colorIndex:void 0,this[me]))?K=q:(he.series.length||(he[Ce]=0),K=he[Ce]%Se,he[Ce]+=1),R&&(N=R[K])),void 0!==K&&(this[me]=K),this[x]=N}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||F.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)}findPointIndex(x,N){let R,K,q,he=x.id,me=x.x,Ce=this.points,Se=this.options.dataSorting;if(he){let Oe=this.chart.get(he);Oe instanceof fe&&(R=Oe)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let Oe=Ae=>!Ae.touched&&Ae.index===x.index;if(Se&&Se.matchByName?Oe=Ae=>!Ae.touched&&Ae.name===x.name:this.options.relativeXValue&&(Oe=Ae=>!Ae.touched&&Ae.options.x===x.x),!(R=n(Ce,Oe)))return}return R&&void 0!==(q=R&&R.index)&&(K=!0),void 0===q&&p(me)&&(q=this.xData.indexOf(me,N)),-1!==q&&void 0!==q&&this.cropped&&(q=q>=this.cropStart?q-this.cropStart:q),!K&&p(q)&&Ce[q]&&Ce[q].touched&&(q=void 0),q}updateData(x,N){let Se,Oe,Ae,Fe,R=this.options,K=R.dataSorting,q=this.points,he=[],me=this.requireSorting,Ce=x.length===q.length,oe=!0;if(this.xIncrement=null,x.forEach(function(ee,de){let ye,Te=O(ee)&&this.pointClass.prototype.optionsToObject.call({series:this},ee)||{};Te.id||p(Te.x)?(-1===(ye=this.findPointIndex(Te,Fe))||void 0===ye?he.push(ee):q[ye]&&ee!==R.data[ye]?(q[ye].update(ee,!1,null,!1),q[ye].touched=!0,me&&(Fe=ye+1)):q[ye]&&(q[ye].touched=!0),(!Ce||de!==ye||K&&K.enabled||this.hasDerivedData)&&(Se=!0)):he.push(ee)},this),Se)for(Oe=q.length;Oe--;)(Ae=q[Oe])&&!Ae.touched&&Ae.remove&&Ae.remove(!1,N);else!Ce||K&&K.enabled?oe=!1:(x.forEach(function(ee,de){ee===q[de].y||q[de].destroyed||q[de].update(ee,!1,null,!1)}),he.length=0);return q.forEach(function(ee){ee&&(ee.touched=!1)}),!!oe&&(he.forEach(function(ee){this.addPoint(ee,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=_(this.xData),this.autoIncrement()),!0)}setData(x,N=!0,R,K){let _e,Me,Ee,Qe,q=this,he=q.points,me=he&&he.length||0,Ce=q.options,Se=q.chart,Oe=Ce.dataSorting,Ae=q.xAxis,Fe=Ce.turboThreshold,oe=this.xData,ee=this.yData,de=q.pointArrayMap,ye=de&&de.length,Te=Ce.keys,Xe=0,Ze=1,lt=null;Se.options.chart.allowMutatingData||(Ce.data&&delete q.options.data,q.userOptions.data&&delete q.userOptions.data,Qe=j(!0,x));let st=(x=Qe||x||[]).length;if(Oe&&Oe.enabled&&(x=this.sortData(x)),Se.options.chart.allowMutatingData&&!1!==K&&st&&me&&!q.cropped&&!q.hasGroupedData&&q.visible&&!q.boosted&&(Ee=this.updateData(x,R)),!Ee){if(q.xIncrement=null,q.colorCounter=0,this.parallelArrays.forEach(function(kt){q[kt+"Data"].length=0}),Fe&&st>Fe)if(p(lt=q.getFirstValidPoint(x)))for(_e=0;_e=0?Xe:0,Ze=Ze>=0?Ze:1),1===lt.length&&(Ze=0),Xe===Ze)for(_e=0;_e{let me=d(R,q),Ce=d(R,he);return Ceme?1:0}).forEach(function(q,he){q.x=he},this),N.linkedSeries&&N.linkedSeries.forEach(function(q){let he=q.options,me=he.data;he.dataSorting&&he.dataSorting.enabled||!me||(me.forEach(function(Ce,Se){me[Se]=K(q,Ce),x[Se]&&(me[Se].x=x[Se].x,me[Se].index=Se)}),q.setData(me,!1))}),x}getProcessedData(x){let Se,Oe,Fe,oe,ee,N=this,R=N.xAxis,K=N.options,q=K.cropThreshold,he=x||N.getExtremesFromAll||K.getExtremesFromAll,me=R?.logarithmic,Ce=N.isCartesian,Ae=0,de=N.xData,ye=N.yData,Te=!1,_e=de.length;R&&(oe=(Fe=R.getExtremes()).min,ee=Fe.max,Te=!(!R.categories||R.names.length)),Ce&&N.sorted&&!he&&(!q||_e>q||N.forceCrop)&&(de[_e-1]ee?(de=[],ye=[]):N.yData&&(de[0]ee)&&(de=(Se=this.cropData(N.xData,N.yData,oe,ee)).xData,ye=Se.yData,Ae=Se.start,Oe=!0));let Me=l([me?de.map(me.log2lin):de],()=>N.requireSorting&&!Te&&y(15,!1,N.chart));return{xData:de,yData:ye,cropped:Oe,cropStart:Ae,closestPointRange:Me}}processData(x){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!x)return!1;let R=this.getProcessedData();this.cropped=R.cropped,this.cropStart=R.cropStart,this.processedXData=R.xData,this.processedYData=R.yData,this.closestPointRange=this.basePointRange=R.closestPointRange,r(this,"afterProcessData")}cropData(x,N,R,K){let he,me,q=x.length,Ce=0,Se=q;for(he=0;he=R){Ce=Math.max(0,he-1);break}for(me=he;meK){Se=me+1;break}return{xData:x.slice(Ce,Se),yData:N.slice(Ce,Se),start:Ce,end:Se}}generatePoints(){let Fe,oe,ee,de,x=this.options,N=this.processedData||x.data,R=this.processedXData,K=this.processedYData,q=this.pointClass,he=R.length,me=this.cropStart||0,Ce=this.hasGroupedData,Se=x.keys,Oe=[],Ae=x.dataGrouping&&x.dataGrouping.groupAll?me:0,ye=this.data;if(!ye&&!Ce){let Te=[];Te.length=N.length,ye=this.data=Te}for(Se&&Ce&&(this.options.keys=!1),de=0;de0:oe.length)||!Ce),Ae=N||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!R||(q[ee+me]||Fe)>=ye&&(q[ee-me]||Fe)<=Te,Oe&&Ae)if(de=oe.length)for(;de--;)p(oe[de])&&(he[_e++]=oe[de]);else he[_e++]=oe;let Ee={activeYData:he,dataMin:b(he),dataMax:_(he)};return r(this,"afterGetExtremes",{dataExtremes:Ee}),Ee}applyExtremes(){let x=this.getExtremes();return this.dataMin=x.dataMin,this.dataMax=x.dataMax,x}getFirstValidPoint(x){let N=x.length,R=0,K=null;for(;null===K&&R1)&&(he.step=function(Fe,oe){Ae&&Ae.apply(oe,arguments),"width"===oe.prop&&Se?.element&&Se.attr(q?"height":"width",Fe+99)}),Ce.addClass("highcharts-animating").animate(Oe,he)}}afterAnimate(){this.setClip(),H(this.chart.sharedClips,(x,N,R)=>{x&&!this.chart.container.querySelector(`[clip-path="url(#${x.id})"]`)&&(x.destroy(),delete R[N])}),this.finishedAnimating=!0,r(this,"afterAnimate")}drawPoints(x=this.points){let N,R,K,q,he,me,Ce,Se=this.chart,Oe=Se.styledMode,{colorAxis:Ae,options:Fe}=this,oe=Fe.marker,ee=this[this.specialGroup||"markerGroup"],de=this.xAxis,ye=Y(oe.enabled,!de||!!de.isRadial||null,this.closestPointRangePx>=oe.enabledThreshold*oe.radius);if(!1!==oe.enabled||this._hasPointMarkers)for(N=0;N0||R.hasImage)&&(R.graphic=K=Se.renderer.symbol(Te,Ce.x,Ce.y,Ce.width,Ce.height,me?he:oe).add(ee),this.enabledDataSorting&&Se.hasRendered&&(K.attr({x:R.startXPos}),q="animate")),K&&"animate"===q&&K[_e?"show":"hide"](_e).animate(Ce),K){let Me=this.pointAttribs(R,Oe||!R.selected?void 0:"select");Oe?Ae&&K.css({fill:Me.fill}):K[q](Me)}K&&K.addClass(R.getClassName(),!0)}else K&&(R.graphic=K.destroy())}markerAttribs(x,N){let Ce,Se,R=this.options,K=R.marker,q=x.marker||{},he=q.symbol||K.symbol,me={},Oe=Y(q.radius,K&&K.radius);N&&(Ce=K.states[N],Oe=Y((Se=q.states&&q.states[N])&&Se.radius,Ce&&Ce.radius,Oe&&Oe+(Ce&&Ce.radiusPlus||0))),x.hasImage=he&&0===he.indexOf("url"),x.hasImage&&(Oe=0);let Ae=x.pos();return p(Oe)&&Ae&&(me.x=Ae[0]-Oe,me.y=Ae[1]-Oe,R.crisp&&(me.x=Math.floor(me.x))),Oe&&(me.width=me.height=2*Oe),me}pointAttribs(x,N){let Se,Oe,Fe,oe,R=this.options.marker,K=x&&x.options,q=K&&K.marker||{},he=K&&K.color,me=x&&x.color,Ce=x&&x.zone&&x.zone.color,Ae=this.color,ee=Y(q.lineWidth,R.lineWidth),de=1;return Ae=he||Ce||me||Ae,Fe=q.fillColor||R.fillColor||Ae,oe=q.lineColor||R.lineColor||Ae,Se=R.states[N=N||"normal"]||{},ee=Y((Oe=q.states&&q.states[N]||{}).lineWidth,Se.lineWidth,ee+Y(Oe.lineWidthPlus,Se.lineWidthPlus,0)),Fe=Oe.fillColor||Se.fillColor||Fe,{stroke:oe=Oe.lineColor||Se.lineColor||oe,"stroke-width":ee,fill:Fe,opacity:de=Y(Oe.opacity,Se.opacity,de)}}destroy(x){let N,R,K,q=this,he=q.chart,me=/AppleWebKit\/533/.test(I.navigator.userAgent),Ce=q.data||[];for(r(q,"destroy",{keepEventsForUpdate:x}),this.removeEvents(x),(q.axisTypes||[]).forEach(function(Se){(K=q[Se])&&K.series&&(g(K.series,q),K.isDirty=K.forceRedraw=!0)}),q.legendItem&&q.chart.legend.destroyItem(q),N=Ce.length;N--;)(R=Ce[N])&&R.destroy&&R.destroy();for(let Se of q.zones)f(Se,void 0,!0);$.clearTimeout(q.animationTimeout),H(q,function(Se,Oe){Se instanceof te&&!Se.survive&&Se[me&&"group"===Oe?"hide":"destroy"]()}),he.hoverSeries===q&&(he.hoverSeries=void 0),g(he.series,q),he.orderItems("series"),H(q,function(Se,Oe){x&&"hcEvents"===Oe||delete q[Oe]})}applyZones(){let{area:x,chart:N,graph:R,zones:K,points:q,xAxis:he,yAxis:me,zoneAxis:Ce}=this,{inverted:Se,renderer:Oe}=N,Ae=this[`${Ce}Axis`],{isXAxis:Fe,len:oe=0}=Ae||{},ee=(R?.strokeWidth()||0)/2+1,de=(ye,Te=0,_e=0)=>{Se&&(_e=oe-_e);let{translated:Me=0,lineClip:Ee}=ye,Xe=_e-Me;Ee?.push(["L",Te,Math.abs(Xe){Ee.forEach((Xe,Ze)=>{("M"===Xe[0]||"L"===Xe[0])&&(Ee[Ze]=[Xe[0],Fe?oe-Xe[1]:Xe[1],Fe?Xe[2]:oe-Xe[2]])})};if(K.forEach(Ee=>{Ee.lineClip=[],Ee.translated=T(Ae.toPixels(Y(Ee.value,ye),!0)||0,0,oe)}),R&&!this.showLine&&R.hide(),x&&x.hide(),"y"===Ce&&q.length{let Xe=Ee.lineClip||[],Ze=Math.round(Ee.translated||0);he.reversed&&Xe.reverse();let{clip:lt,simpleClip:Qe}=Ee,st=0,kt=0,pt=he.len,ht=me.len;Fe?(st=Ze,pt=Me):(kt=Ze,ht=Me);let Lt=[["M",st,kt],["L",pt,kt],["L",pt,ht],["L",st,ht],["Z"]],Gt=[Lt[0],...Xe,Lt[1],Lt[2],..._e,Lt[3],Lt[4]];_e=Xe.reverse(),Me=Ze,Se&&(Te(Gt),x&&Te(Lt)),lt?(lt.animate({d:Gt}),Qe?.animate({d:Lt})):(lt=Ee.clip=Oe.path(Gt),x&&(Qe=Ee.simpleClip=Oe.path(Lt))),R&&Ee.graph?.clip(lt),x&&Ee.area?.clip(Qe)})}else this.visible&&(R&&R.show(),x&&x.show())}plotGroup(x,N,R,K,q){let he=this[x],me=!he,Ce={visibility:R,zIndex:K||.1};return O(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(Ce.opacity=this.opacity),he||(this[x]=he=this.chart.renderer.g().add(q)),he.addClass("highcharts-"+N+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(O(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(he.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),he.attr(Ce)[me?"attr":"animate"](this.getPlotBox(N)),he}getPlotBox(x){let N=this.xAxis,R=this.yAxis,K=this.chart,q=K.inverted&&!K.polar&&N&&this.invertible&&"series"===x;return K.inverted&&(N=R,R=this.xAxis),{translateX:N?N.left:K.plotLeft,translateY:R?R.top:K.plotTop,rotation:q?90:0,rotationOriginX:q?(N.len-R.len)/2:0,rotationOriginY:q?(N.len+R.len)/2:0,scaleX:q?-1:1,scaleY:1}}removeEvents(x){let{eventsToUnbind:N}=this;x||U(this),N.length&&(N.forEach(R=>{R()}),N.length=0)}render(){let x=this,{chart:N,options:R,hasRendered:K}=x,q=A(R.animation),he=x.visible?"inherit":"hidden",me=R.zIndex,Ce=N.seriesGroup,Se=x.finishedAnimating?0:q.duration;r(this,"render"),x.plotGroup("group","series",he,me,Ce),x.markerGroup=x.plotGroup("markerGroup","markers",he,me,Ce),!1!==R.clip&&x.setClip(),Se&&x.animate?.(!0),x.drawGraph&&(x.drawGraph(),x.applyZones()),x.visible&&x.drawPoints(),x.drawDataLabels?.(),x.redrawPoints?.(),R.enableMouseTracking&&x.drawTracker?.(),Se&&x.animate?.(),K||(Se&&q.defer&&(Se+=q.defer),x.animationTimeout=w(()=>{x.afterAnimate()},Se||0)),x.isDirty=!1,x.hasRendered=!0,r(x,"afterRender")}redraw(){let x=this.isDirty||this.isDirtyData;this.translate(),this.render(),x&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(x,N){let{xAxis:R,yAxis:K}=this,q=this.chart.inverted;return this.searchKDTree({clientX:q?R.len-x.chartY+R.pos:x.chartX-R.pos,plotY:q?K.len-x.chartX+K.pos:x.chartY-K.pos},N,x)}buildKDTree(x){this.buildingKdTree=!0;let N=this,R=N.options.findNearestPointBy.indexOf("y")>-1?2:1;delete N.kdTree,w(function(){N.kdTree=function K(q,he,me){let Ce,Se,Oe=q?.length;if(Oe)return Ce=N.kdAxisArray[he%me],q.sort((Ae,Fe)=>(Ae[Ce]||0)-(Fe[Ce]||0)),{point:q[Se=Math.floor(Oe/2)],left:K(q.slice(0,Se),he+1,me),right:K(q.slice(Se+1),he+1,me)}}(N.getValidPoints(void 0,!N.directTouch),R,R),N.buildingKdTree=!1},N.options.kdNow||"touchstart"===x?.type?0:1)}searchKDTree(x,N,R){let K=this,[q,he]=this.kdAxisArray,me=N?"distX":"dist",Ce=(K.options.findNearestPointBy||"").indexOf("y")>-1?2:1,Se=!!K.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(R),this.kdTree)return function Oe(Ae,Fe,oe,ee){let Te,_e,de=Fe.point,ye=K.kdAxisArray[oe%ee],Me=de;!function(lt,Qe){let st=lt[q],kt=Qe[q],pt=O(st)&&O(kt)?st-kt:null,ht=lt[he],Lt=Qe[he],Gt=O(ht)&&O(Lt)?ht-Lt:0,ti=Se&&Qe.marker?.radius||0;Qe.dist=Math.sqrt((pt&&pt*pt||0)+Gt*Gt)-ti,Qe.distX=O(pt)?Math.abs(pt)-ti:Number.MAX_VALUE}(Ae,de);let Ee=(Ae[ye]||0)-(de[ye]||0)+(Se&&de.marker?.radius||0),Xe=Ee<0?"left":"right",Ze=Ee<0?"right":"left";return Fe[Xe]&&(Me=(Te=Oe(Ae,Fe[Xe],oe+1,ee))[me]=0&&he<=(K?K.len:N.plotHeight)&&q>=0&&q<=(R?R.len:N.plotWidth)}drawTracker(){let x=this,N=x.options,R=N.trackByArea,K=[].concat((R?x.areaPath:x.graphPath)||[]),q=x.chart,he=q.pointer,me=q.renderer,Ce=q.options.tooltip?.snap||0,Se=()=>{N.enableMouseTracking&&q.hoverSeries!==x&&x.onMouseOver()},Oe="rgba(192,192,192,"+(D?1e-4:.002)+")",Ae=x.tracker;Ae?Ae.attr({d:K}):x.graph&&(x.tracker=Ae=me.path(K).attr({visibility:x.visible?"inherit":"hidden",zIndex:2}).addClass(R?"highcharts-tracker-area":"highcharts-tracker-line").add(x.group),q.styledMode||Ae.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:Oe,fill:R?Oe:"none","stroke-width":x.graph.strokeWidth()+(R?0:2*Ce)}),[x.tracker,x.markerGroup,x.dataLabelsGroup].forEach(Fe=>{Fe&&(Fe.addClass("highcharts-tracker").on("mouseover",Se).on("mouseout",oe=>{he?.onTrackerMouseOut(oe)}),N.cursor&&!q.styledMode&&Fe.css({cursor:N.cursor}),Fe.on("touchstart",Se))})),r(this,"afterDrawTracker")}addPoint(x,N,R,K,q){let he,me,Ce=this.options,Se=this.data,Oe=this.chart,Ae=this.xAxis,Fe=Ae&&Ae.hasNames&&Ae.names,oe=Ce.data,ee=this.xData;N=Y(N,!0);let de={series:this};this.pointClass.prototype.applyOptions.apply(de,[x]);let ye=de.x;if(me=ee.length,this.requireSorting&&yeye;)me--;this.updateParallelArrays(de,"splice",[me,0,0]),this.updateParallelArrays(de,me),Fe&&de.name&&(Fe[ye]=de.name),oe.splice(me,0,x),(he||this.processedData)&&(this.data.splice(me,0,null),this.processData()),"point"===Ce.legendType&&this.generatePoints(),R&&(Se[0]&&Se[0].remove?Se[0].remove(!1):(Se.shift(),this.updateParallelArrays(de,"shift"),oe.shift())),!1!==q&&r(this,"addPoint",{point:de}),this.isDirty=!0,this.isDirtyData=!0,N&&Oe.redraw(K)}removePoint(x,N,R){let K=this,q=K.data,he=q[x],me=K.points,Ce=K.chart,Se=function(){me&&me.length===q.length&&me.splice(x,1),q.splice(x,1),K.options.data.splice(x,1),K.updateParallelArrays(he||{series:K},"splice",[x,1]),he&&he.destroy(),K.isDirty=!0,K.isDirtyData=!0,N&&Ce.redraw()};B(R,Ce),N=Y(N,!0),he?he.firePointEvent("remove",null,Se):Se()}remove(x,N,R,K){let q=this,he=q.chart;function me(){q.destroy(K),he.isDirtyLegend=he.isDirtyBox=!0,he.linkSeries(K),Y(x,!0)&&he.redraw(N)}!1!==R?r(q,"remove",null,me):me()}update(x,N){r(this,"update",{options:x=a(x,this.userOptions)});let Ae,Fe,R=this,K=R.chart,q=R.userOptions,he=R.initialType||R.type,me=K.options.plotOptions,Ce=E[he].prototype,Se=R.finishedAnimating&&{animation:!1},Oe={},oe=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],ee=x.type||q.type||K.options.chart.type,de=!(this.hasDerivedData||ee&&ee!==this.type||void 0!==x.pointStart||void 0!==x.pointInterval||void 0!==x.relativeXValue||x.joinBy||x.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(Te=>R.hasOptionChanged(Te)));ee=ee||he,de&&(oe.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==x.visible&&oe.push("area","graph"),R.parallelArrays.forEach(function(Te){oe.push(Te+"Data")}),x.data&&(x.dataSorting&&o(R.options.dataSorting,x.dataSorting),this.setData(x.data,!1))),x=j(q,{index:void 0===q.index?R.index:q.index,pointStart:me?.series?.pointStart??q.pointStart??R.xData?.[0]},!de&&{data:R.options.data},x,Se),de&&x.data&&(x.data=R.options.data),(oe=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(oe)).forEach(function(Te){oe[Te]=R[Te],delete R[Te]});let ye=!1;if(E[ee]){if(ye=ee!==R.type,R.remove(!1,!1,!1,!0),ye)if(K.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(R,E[ee].prototype);else{let Te=Object.hasOwnProperty.call(R,"hcEvents")&&R.hcEvents;for(Fe in Ce)R[Fe]=void 0;o(R,E[ee].prototype),Te?R.hcEvents=Te:delete R.hcEvents}}else y(17,!0,K,{missingModuleFor:ee});if(oe.forEach(function(Te){R[Te]=oe[Te]}),R.init(K,x),de&&this.points)for(let Te of(!1===(Ae=R.options).visible?(Oe.graphic=1,Oe.dataLabel=1):(this.hasMarkerChanged(Ae,q)&&(Oe.graphic=1),R.hasDataLabels?.()||(Oe.dataLabel=1)),this.points))Te&&Te.series&&(Te.resolveColor(),Object.keys(Oe).length&&Te.destroyElements(Oe),!1===Ae.showInLegend&&Te.legendItem&&K.legend.destroyItem(Te));R.initialType=he,K.linkSeries(),K.setSortedData(),ye&&R.linkedSeries.length&&(R.isDirtyData=!0),r(this,"afterUpdate"),Y(N,!0)&&K.redraw(!!de&&void 0)}setName(x){this.name=this.options.name=this.userOptions.name=x,this.chart.isDirtyLegend=!0}hasOptionChanged(x){let R=this.options[x],K=this.chart.options.plotOptions,q=this.userOptions[x],he=Y(K?.[this.type]?.[x],K?.series?.[x]);return q&&!O(he)?R!==q:R!==Y(he,R)}onMouseOver(){let x=this.chart,N=x.hoverSeries;x.pointer?.setHoverChartIndex(),N&&N!==this&&N.onMouseOut(),this.options.events.mouseOver&&r(this,"mouseOver"),this.setState("hover"),x.hoverSeries=this}onMouseOut(){let x=this.options,N=this.chart,R=N.tooltip,K=N.hoverPoint;N.hoverSeries=null,K&&K.onMouseOut(),this&&x.events.mouseOut&&r(this,"mouseOut"),R&&!this.stickyTracking&&(!R.shared||this.noSharedTooltip)&&R.hide(),N.series.forEach(function(q){q.setState("",!0)})}setState(x,N){let R=this,K=R.options,q=R.graph,he=K.inactiveOtherPoints,me=K.states,Ce=Y(me[x||"normal"]&&me[x||"normal"].animation,R.chart.options.chart.animation),Se=K.lineWidth,Oe=K.opacity;if(R.state!==(x=x||"")&&([R.group,R.markerGroup,R.dataLabelsGroup].forEach(function(Ae){Ae&&(R.state&&Ae.removeClass("highcharts-series-"+R.state),x&&Ae.addClass("highcharts-series-"+x))}),R.state=x,!R.chart.styledMode)){if(me[x]&&!1===me[x].enabled)return;if(x&&(Se=me[x].lineWidth||Se+(me[x].lineWidthPlus||0),Oe=Y(me[x].opacity,Oe)),q&&!q.dashstyle&&p(Se))for(let Ae of[q,...this.zones.map(Fe=>Fe.graph)])Ae?.animate({"stroke-width":Se},Ce);he||[R.group,R.markerGroup,R.dataLabelsGroup,R.labelBySeries].forEach(function(Ae){Ae&&Ae.animate({opacity:Oe},Ce)})}N&&he&&R.points&&R.setAllPointsToState(x||void 0)}setAllPointsToState(x){this.points.forEach(function(N){N.setState&&N.setState(x)})}setVisible(x,N){let R=this,K=R.chart,q=K.options.chart.ignoreHiddenSeries;R.visible=x=R.options.visible=R.userOptions.visible=void 0===x?!R.visible:x;let me=x?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(Ce=>{R[Ce]?.[me]()}),(K.hoverSeries===R||K.hoverPoint?.series===R)&&R.onMouseOut(),R.legendItem&&K.legend.colorizeItem(R,x),R.isDirty=!0,R.options.stacking&&K.series.forEach(Ce=>{Ce.options.stacking&&Ce.visible&&(Ce.isDirty=!0)}),R.linkedSeries.forEach(Ce=>{Ce.setVisible(x,!1)}),q&&(K.isDirtyBox=!0),r(R,me),!1!==N&&K.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(x){this.selected=x=this.options.selected=void 0===x?!this.selected:x,this.checkbox&&(this.checkbox.checked=x),r(this,x?"select":"unselect")}shouldShowTooltip(x,N,R={}){return R.series=this,R.visiblePlotOnly=!0,this.chart.isInsidePlot(x,N,R)}drawLegendSymbol(x,N){le[this.options.legendSymbol||"rectangle"]?.call(this,x,N)}}return X.defaultOptions=pe,X.types=J.seriesTypes,X.registerType=J.registerSeriesType,o(X.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:fe,requireSorting:!0,sorted:!0}),J.series=X,X}),Pe(V,"Core/Chart/Chart.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Time.js"],V["Core/Utilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Axis/Tick.js"]],function(Z,ie,re,ve,le,fe,pe,J,te,$,A,B,F,L){let{animate:D,animObject:I,setAnimation:E}=Z,{defaultOptions:_,defaultTime:b}=re,{numberFormat:T}=ve,{registerEventOptions:z}=le,{charts:O,doc:f,marginNames:a,svg:g,win:y}=fe,{seriesTypes:o}=te,{addEvent:n,attr:r,createElement:l,css:d,defined:C,diffObjects:k,discardElement:p,erase:S,error:j,extend:H,find:Y,fireEvent:U,getStyle:se,isArray:w,isNumber:X,isObject:G,isString:x,merge:N,objectEach:R,pick:K,pInt:q,relativeLength:he,removeEvent:me,splat:Ce,syncTimeout:Se,uniqueKey:Oe}=B;class Ae{static chart(oe,ee,de){return new Ae(oe,ee,de)}constructor(oe,ee,de){this.sharedClips={};let ye=[...arguments];(x(oe)||oe.nodeName)&&(this.renderTo=ye.shift()),this.init(ye[0],ye[1])}setZoomOptions(){let oe=this.options.chart,ee=oe.zooming;this.zooming={...ee,type:K(oe.zoomType,ee.type),key:K(oe.zoomKey,ee.key),pinchType:K(oe.pinchType,ee.pinchType),singleTouch:K(oe.zoomBySingleTouch,ee.singleTouch,!1),resetButton:N(ee.resetButton,oe.resetZoomButton)}}init(oe,ee){U(this,"init",{args:arguments},function(){let de=N(_,oe),ye=de.chart;this.userOptions=H({},oe),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=ee,this.isResizing=0,this.options=de,this.axes=[],this.series=[],this.time=oe.time&&Object.keys(oe.time).length?new A(oe.time):fe.time,this.numberFormatter=ye.numberFormatter||T,this.styledMode=ye.styledMode,this.hasCartesianSeries=ye.showAxes,this.index=O.length,O.push(this),fe.chartCount++,z(this,ye),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),U(this,"afterInit"),this.firstRender()})}initSeries(oe){let de=oe.type||this.options.chart.type,ye=o[de];ye||j(17,!0,this,{missingModuleFor:de});let Te=new ye;return"function"==typeof Te.init&&Te.init(this,oe),Te}setSortedData(){this.getSeriesOrderByLinks().forEach(function(oe){oe.points||oe.data||!oe.enabledDataSorting||oe.setData(oe.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(oe,ee){return oe.linkedSeries.length||ee.linkedSeries.length?ee.linkedSeries.length-oe.linkedSeries.length:0})}orderItems(oe,ee=0){let de=this[oe],ye=this.options[oe]=Ce(this.options[oe]).slice(),Te=this.userOptions[oe]=this.userOptions[oe]?Ce(this.userOptions[oe]).slice():[];if(this.hasRendered&&(ye.splice(ee),Te.splice(ee)),de)for(let _e=ee,Me=de.length;_e=Math.max(Xe+_e,ht.pos)&&Lt<=Math.min(Xe+_e+Qe.width,ht.pos+ht.len)||(pt.isInsidePlot=!1)}if(!de.ignoreY&&pt.isInsidePlot){let ht=!ye&&de.axis&&!de.axis.isXAxis&&de.axis||lt&&(ye?lt.xAxis:lt.yAxis)||{pos:Me,len:1/0},Lt=de.paneCoordinates?ht.pos+kt:Me+kt;Lt>=Math.max(Ze+Me,ht.pos)&&Lt<=Math.min(Ze+Me+Qe.height,ht.pos+ht.len)||(pt.isInsidePlot=!1)}return U(this,"afterIsInsidePlot",pt),pt.isInsidePlot}redraw(oe){U(this,"beforeRedraw");let Ze,lt,Qe,pt,ee=this.hasCartesianSeries?this.axes:this.colorAxis||[],de=this.series,ye=this.pointer,Te=this.legend,_e=this.userOptions.legend,Me=this.renderer,Ee=Me.isHidden(),Xe=[],st=this.isDirtyBox,kt=this.isDirtyLegend;for(Me.rootFontSize=Me.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),E(!!this.hasRendered&&oe,this),Ee&&this.temporaryDisplay(),this.layOutTitles(!1),Qe=de.length;Qe--;)if(((pt=de[Qe]).options.stacking||pt.options.centerInCategory)&&(lt=!0,pt.isDirty)){Ze=!0;break}if(Ze)for(Qe=de.length;Qe--;)(pt=de[Qe]).options.stacking&&(pt.isDirty=!0);de.forEach(function(ht){ht.isDirty&&("point"===ht.options.legendType?("function"==typeof ht.updateTotals&&ht.updateTotals(),kt=!0):_e&&(_e.labelFormatter||_e.labelFormat)&&(kt=!0)),ht.isDirtyData&&U(ht,"updatedData")}),kt&&Te&&Te.options.enabled&&(Te.render(),this.isDirtyLegend=!1),lt&&this.getStacks(),ee.forEach(function(ht){ht.updateNames(),ht.setScale()}),this.getMargins(),ee.forEach(function(ht){ht.isDirty&&(st=!0)}),ee.forEach(function(ht){let Lt=ht.min+","+ht.max;ht.extKey!==Lt&&(ht.extKey=Lt,Xe.push(function(){U(ht,"afterSetExtremes",H(ht.eventArgs,ht.getExtremes())),delete ht.eventArgs})),(st||lt)&&ht.redraw()}),st&&this.drawChartBox(),U(this,"predraw"),de.forEach(function(ht){(st||ht.isDirty)&&ht.visible&&ht.redraw(),ht.isDirtyData=!1}),ye&&ye.reset(!0),Me.draw(),U(this,"redraw"),U(this,"render"),Ee&&this.temporaryDisplay(!0),Xe.forEach(function(ht){ht.call()})}get(oe){let ee=this.series;function de(Te){return Te.id===oe||Te.options&&Te.options.id===oe}let ye=Y(this.axes,de)||Y(this.series,de);for(let Te=0;!ye&&Te(ee.getPointsCollection().forEach(de=>{K(de.selectedStaging,de.selected)&&oe.push(de)}),oe),[])}getSelectedSeries(){return this.series.filter(function(oe){return oe.selected})}setTitle(oe,ee,de){this.applyDescription("title",oe),this.applyDescription("subtitle",ee),this.applyDescription("caption",void 0),this.layOutTitles(de)}applyDescription(oe,ee){let de=this,ye=this.options[oe]=N(this.options[oe],ee),Te=this[oe];Te&&ee&&(this[oe]=Te=Te.destroy()),ye&&!Te&&((Te=this.renderer.text(ye.text,0,0,ye.useHTML).attr({align:ye.align,class:"highcharts-"+oe,zIndex:ye.zIndex||4}).add()).update=function(_e,Me){de.applyDescription(oe,_e),de.layOutTitles(Me)},this.styledMode||Te.css(H("title"===oe?{fontSize:this.options.isStock?"1em":"1.2em"}:{},ye.style)),this[oe]=Te)}layOutTitles(oe=!0){let ee=[0,0,0],de=this.renderer,ye=this.spacingBox;["title","subtitle","caption"].forEach(function(_e){let Me=this[_e],Ee=this.options[_e],Xe=Ee.verticalAlign||"top",Ze="title"===_e?"top"===Xe?-3:0:"top"===Xe?ee[0]+2:0;if(Me){Me.css({width:(Ee.width||ye.width+(Ee.widthAdjust||0))+"px"});let lt=de.fontMetrics(Me).b,Qe=Math.round(Me.getBBox(Ee.useHTML).height);Me.align(H({y:"bottom"===Xe?lt:Ze+lt,height:Qe},Ee),!1,"spacingBox"),Ee.floating||("top"===Xe?ee[0]=Math.ceil(ee[0]+Qe):"bottom"===Xe&&(ee[2]=Math.ceil(ee[2]+Qe)))}},this),ee[0]&&"top"===(this.options.title.verticalAlign||"top")&&(ee[0]+=this.options.title.margin),ee[2]&&"bottom"===this.options.caption.verticalAlign&&(ee[2]+=this.options.caption.margin);let Te=!this.titleOffset||this.titleOffset.join(",")!==ee.join(",");this.titleOffset=ee,U(this,"afterLayOutTitles"),!this.isDirtyBox&&Te&&(this.isDirtyBox=this.isDirtyLegend=Te,this.hasRendered&&oe&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:se(this.renderTo,"width",!0)||0,height:se(this.renderTo,"height",!0)||0}}getChartSize(){let oe=this.options.chart,ee=oe.width,de=oe.height,ye=this.getContainerBox();this.chartWidth=Math.max(0,ee||ye.width||600),this.chartHeight=Math.max(0,he(de,this.chartWidth)||(ye.height>1?ye.height:400)),this.containerBox=ye}temporaryDisplay(oe){let de,ee=this.renderTo;if(oe)for(;ee&&ee.style;)ee.hcOrigStyle&&(d(ee,ee.hcOrigStyle),delete ee.hcOrigStyle),ee.hcOrigDetached&&(f.body.removeChild(ee),ee.hcOrigDetached=!1),ee=ee.parentNode;else for(;ee&&ee.style&&(f.body.contains(ee)||ee.parentNode||(ee.hcOrigDetached=!0,f.body.appendChild(ee)),("none"===se(ee,"display",!1)||ee.hcOricDetached)&&(ee.hcOrigStyle={display:ee.style.display,height:ee.style.height,overflow:ee.style.overflow},de={display:"block",overflow:"hidden"},ee!==this.renderTo&&(de.height=0),d(ee,de),ee.offsetWidth||ee.style.setProperty("display","block","important")),(ee=ee.parentNode)!==f.body););}setClassName(oe){this.container.className="highcharts-container "+(oe||"")}getContainer(){let Te,oe=this.options,ee=oe.chart,de="data-highcharts-chart",ye=Oe(),_e=this.renderTo;_e||(this.renderTo=_e=ee.renderTo),x(_e)&&(this.renderTo=_e=f.getElementById(_e)),_e||j(13,!0,this);let Me=q(r(_e,de));X(Me)&&O[Me]&&O[Me].hasRendered&&O[Me].destroy(),r(_e,de,this.index),_e.innerHTML=F.emptyHTML,ee.skipClone||_e.offsetWidth||this.temporaryDisplay(),this.getChartSize();let Ee=this.chartHeight,Xe=this.chartWidth;d(_e,{overflow:"hidden"}),this.styledMode||(Te=H({position:"relative",overflow:"hidden",width:Xe+"px",height:Ee+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},ee.style||{}));let Ze=l("div",{id:ye},Te,_e);this.container=Ze,this.getChartSize(),Xe===this.chartWidth||(Xe=this.chartWidth,this.styledMode||d(Ze,{width:K(ee.style?.width,Xe+"px")})),this.containerBox=this.getContainerBox(),this._cursor=Ze.style.cursor;let lt=ee.renderer||!g?pe.getRendererType(ee.renderer):$;if(this.renderer=new lt(Ze,Xe,Ee,void 0,ee.forExport,oe.exporting&&oe.exporting.allowHTML,this.styledMode),E(void 0,this),this.setClassName(ee.className),this.styledMode)for(let Qe in oe.defs)this.renderer.definition(oe.defs[Qe]);else this.renderer.setStyle(ee.style);this.renderer.chartIndex=this.index,U(this,"afterGetContainer")}getMargins(oe){let{spacing:ee,margin:de,titleOffset:ye}=this;this.resetMargins(),ye[0]&&!C(de[0])&&(this.plotTop=Math.max(this.plotTop,ye[0]+ee[0])),ye[2]&&!C(de[2])&&(this.marginBottom=Math.max(this.marginBottom,ye[2]+ee[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(de,ee),U(this,"getMargins"),oe||this.getAxisMargins()}getAxisMargins(){let oe=this,ee=oe.axisOffset=[0,0,0,0],de=oe.colorAxis,ye=oe.margin,Te=function(_e){_e.forEach(function(Me){Me.visible&&Me.getOffset()})};oe.hasCartesianSeries?Te(oe.axes):de&&de.length&&Te(de),a.forEach(function(_e,Me){C(ye[Me])||(oe[_e]+=ee[Me])}),oe.setChartSize()}getOptions(){return k(this.userOptions,_)}reflow(oe){let ee=this,de=ee.containerBox,ye=ee.getContainerBox();delete ee.pointer?.chartPosition,!ee.isPrinting&&!ee.isResizing&&de&&ye.width&&((ye.width!==de.width||ye.height!==de.height)&&(B.clearTimeout(ee.reflowTimeout),ee.reflowTimeout=Se(function(){ee.container&&ee.setSize(void 0,void 0,!1)},oe?100:0)),ee.containerBox=ye)}setReflow(){let oe=this,ee=de=>{oe.options?.chart.reflow&&oe.hasLoaded&&oe.reflow(de)};if("function"==typeof ResizeObserver)new ResizeObserver(ee).observe(oe.renderTo);else{let de=n(y,"resize",ee);n(this,"destroy",de)}}setSize(oe,ee,de){let ye=this,Te=ye.renderer;ye.isResizing+=1,E(de,ye);let _e=Te.globalAnimation;ye.oldChartHeight=ye.chartHeight,ye.oldChartWidth=ye.chartWidth,void 0!==oe&&(ye.options.chart.width=oe),void 0!==ee&&(ye.options.chart.height=ee),ye.getChartSize();let{chartWidth:Me,chartHeight:Ee,scrollablePixelsX:Xe=0,scrollablePixelsY:Ze=0}=ye;(ye.isDirtyBox||Me!==ye.oldChartWidth||Ee!==ye.oldChartHeight)&&(ye.styledMode||(_e?D:d)(ye.container,{width:`${Me+Xe}px`,height:`${Ee+Ze}px`},_e),ye.setChartSize(!0),Te.setSize(Me,Ee,_e),ye.axes.forEach(function(lt){lt.isDirty=!0,lt.setScale()}),ye.isDirtyLegend=!0,ye.isDirtyBox=!0,ye.layOutTitles(),ye.getMargins(),ye.redraw(_e),ye.oldChartHeight=void 0,U(ye,"resize"),setTimeout(()=>{ye&&U(ye,"endResize",void 0,()=>{ye.isResizing-=1})},I(_e).duration))}setChartSize(oe){let ee,de,ye,Te,_e=this.inverted,Me=this.renderer,Ee=this.chartWidth,Xe=this.chartHeight,Ze=this.options.chart,lt=this.spacing,Qe=this.clipOffset;this.plotLeft=ee=Math.round(this.plotLeft),this.plotTop=de=Math.round(this.plotTop),this.plotWidth=ye=Math.max(0,Math.round(Ee-ee-this.marginRight)),this.plotHeight=Te=Math.max(0,Math.round(Xe-de-this.marginBottom)),this.plotSizeX=_e?Te:ye,this.plotSizeY=_e?ye:Te,this.plotBorderWidth=Ze.plotBorderWidth||0,this.spacingBox=Me.spacingBox={x:lt[3],y:lt[0],width:Ee-lt[3]-lt[1],height:Xe-lt[0]-lt[2]},this.plotBox=Me.plotBox={x:ee,y:de,width:ye,height:Te};let st=2*Math.floor(this.plotBorderWidth/2),kt=Math.ceil(Math.max(st,Qe[3])/2),pt=Math.ceil(Math.max(st,Qe[0])/2);this.clipBox={x:kt,y:pt,width:Math.floor(this.plotSizeX-Math.max(st,Qe[1])/2-kt),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(st,Qe[2])/2-pt))},oe||(this.axes.forEach(function(ht){ht.setAxisSize(),ht.setAxisTranslation()}),Me.alignElements()),U(this,"afterSetChartSize",{skipAxes:oe})}resetMargins(){U(this,"resetMargins");let oe=this,ee=oe.options.chart;["margin","spacing"].forEach(function(de){let ye=ee[de],Te=G(ye)?ye:[ye,ye,ye,ye];["Top","Right","Bottom","Left"].forEach(function(_e,Me){oe[de][Me]=K(ee[de+_e],Te[Me])})}),a.forEach(function(de,ye){oe[de]=K(oe.margin[ye],oe.spacing[ye])}),oe.axisOffset=[0,0,0,0],oe.clipOffset=[0,0,0,0]}drawChartBox(){let Dt,At,_t,oe=this.options.chart,ee=this.renderer,de=this.chartWidth,ye=this.chartHeight,Te=this.styledMode,_e=this.plotBGImage,Me=oe.backgroundColor,Ee=oe.plotBackgroundColor,Xe=oe.plotBackgroundImage,Ze=this.plotLeft,lt=this.plotTop,Qe=this.plotWidth,st=this.plotHeight,kt=this.plotBox,pt=this.clipRect,ht=this.clipBox,Lt=this.chartBackground,Gt=this.plotBackground,ti=this.plotBorder,wt="animate";Lt||(this.chartBackground=Lt=ee.rect().addClass("highcharts-background").add(),wt="attr"),Te?Dt=At=Lt.strokeWidth():(At=(Dt=oe.borderWidth||0)+(oe.shadow?8:0),_t={fill:Me||"none"},(Dt||Lt["stroke-width"])&&(_t.stroke=oe.borderColor,_t["stroke-width"]=Dt),Lt.attr(_t).shadow(oe.shadow)),Lt[wt]({x:At/2,y:At/2,width:de-At-Dt%2,height:ye-At-Dt%2,r:oe.borderRadius}),wt="animate",Gt||(wt="attr",this.plotBackground=Gt=ee.rect().addClass("highcharts-plot-background").add()),Gt[wt](kt),!Te&&(Gt.attr({fill:Ee||"none"}).shadow(oe.plotShadow),Xe&&(_e?(Xe!==_e.attr("href")&&_e.attr("href",Xe),_e.animate(kt)):this.plotBGImage=ee.image(Xe,Ze,lt,Qe,st).add())),pt?pt.animate({width:ht.width,height:ht.height}):this.clipRect=ee.clipRect(ht),wt="animate",ti||(wt="attr",this.plotBorder=ti=ee.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),Te||ti.attr({stroke:oe.plotBorderColor,"stroke-width":oe.plotBorderWidth||0,fill:"none"}),ti[wt](ti.crisp({x:Ze,y:lt,width:Qe,height:st},-ti.strokeWidth())),this.isDirtyBox=!1,U(this,"afterDrawChartBox")}propFromSeries(){let oe,ee,de,ye=this,Te=ye.options.chart,_e=ye.options.series;["inverted","angular","polar"].forEach(function(Me){for(ee=o[Te.type],de=Te[Me]||ee&&ee.prototype[Me],oe=_e&&_e.length;!de&&oe--;)(ee=o[_e[oe].type])&&ee.prototype[Me]&&(de=!0);ye[Me]=de})}linkSeries(oe){let ee=this,de=ee.series;de.forEach(function(ye){ye.linkedSeries.length=0}),de.forEach(function(ye){let{linkedTo:Te}=ye.options;if(x(Te)){let _e;(_e=":previous"===Te?ee.series[ye.index-1]:ee.get(Te))&&_e.linkedParent!==ye&&(_e.linkedSeries.push(ye),ye.linkedParent=_e,_e.enabledDataSorting&&ye.setDataSortingOptions(),ye.visible=K(ye.options.visible,_e.options.visible,ye.visible))}}),U(this,"afterLinkSeries",{isUpdating:oe})}renderSeries(){this.series.forEach(function(oe){oe.translate(),oe.render()})}render(){let Ee,oe=this.axes,ee=this.colorAxis,de=this.renderer,ye=this.options.chart.axisLayoutRuns||2,Te=Ze=>{Ze.forEach(lt=>{lt.visible&<.render()})},_e=0,Me=!0,Xe=0;for(let Ze of(this.setTitle(),U(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),oe)){let{options:lt}=Ze,{labels:Qe}=lt;if(Ze.horiz&&Ze.visible&&Qe.enabled&&Ze.series.length&&"colorAxis"!==Ze.coll&&!this.polar){_e=lt.tickLength,Ze.createGroups();let st=new L(Ze,0,"",!0),kt=st.createLabel("x",Qe);if(st.destroy(),kt&&K(Qe.reserveSpace,!X(lt.crossing))&&(_e=kt.getBBox().height+Qe.distance+Math.max(lt.offset||0,0)),_e){kt?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-_e,0);(Me||Ee||ye>1)&&Xe(Xe?1:1.1),Ee=lt/this.plotHeight>(Xe?1:1.05),Xe++}this.drawChartBox(),this.hasCartesianSeries?Te(oe):ee&&ee.length&&Te(ee),this.seriesGroup||(this.seriesGroup=de.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(oe){let ee=this,de=N(!0,this.options.credits,oe);de.enabled&&!this.credits&&(this.credits=this.renderer.text(de.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){de.href&&(y.location.href=de.href)}).attr({align:de.position.align,zIndex:8}),ee.styledMode||this.credits.css(de.style),this.credits.add().align(de.position),this.credits.update=function(ye){ee.credits=ee.credits.destroy(),ee.addCredits(ye)})}destroy(){let oe,ee=this,de=ee.axes,ye=ee.series,Te=ee.container,_e=Te&&Te.parentNode;for(U(ee,"destroy"),ee.renderer.forExport?S(O,ee):O[ee.index]=void 0,fe.chartCount--,ee.renderTo.removeAttribute("data-highcharts-chart"),me(ee),oe=de.length;oe--;)de[oe]=de[oe].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),oe=ye.length;oe--;)ye[oe]=ye[oe].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(Me){let Ee=ee[Me];Ee&&Ee.destroy&&(ee[Me]=Ee.destroy())}),Te&&(Te.innerHTML=F.emptyHTML,me(Te),_e&&p(Te)),R(ee,function(Me,Ee){delete ee[Ee]})}firstRender(){let oe=this,ee=oe.options;oe.getContainer(),oe.resetMargins(),oe.setChartSize(),oe.propFromSeries(),oe.getAxes();let de=w(ee.series)?ee.series:[];ee.series=[],de.forEach(function(ye){oe.initSeries(ye)}),oe.linkSeries(),oe.setSortedData(),U(oe,"beforeRender"),oe.render(),oe.pointer?.getChartPosition(),oe.renderer.imgCount||oe.hasLoaded||oe.onload(),oe.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(oe){oe&&void 0!==this.index&&oe.apply(this,[this])},this),U(this,"load"),U(this,"render"),C(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:oe,title:ee}=this;!oe||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(ee&&ee.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(oe,ee){let de=this,ye="object"==typeof ee?ee:{enabled:ee,type:"x"},Te=ye.type,_e=Te&&de[{x:"xAxis",xy:"axes",y:"yAxis"}[Te]].filter(Ee=>Ee.options.panningEnabled&&!Ee.options.isInternal),Me=de.options.chart;Me?.panning&&(Me.panning=ye),U(this,"pan",{originalEvent:oe},()=>{de.transform({axes:_e,event:oe,to:{x:oe.chartX-(de.mouseDownX||0),y:oe.chartY-(de.mouseDownY||0)},trigger:"pan"}),d(de.container,{cursor:"move"})})}transform(oe){let Qe,{axes:ee=this.axes,event:de,from:ye={},reset:Te,selection:_e,to:Me={},trigger:Ee}=oe,{inverted:Xe,resetZoomButton:Ze}=this,lt=!1;for(let st of(this.hoverPoints?.forEach(kt=>kt.setState()),ee)){let{horiz:kt,len:pt,minPointOffset:ht=0,options:Lt,reversed:Gt}=st,ti=kt?"width":"height",Dt=kt?"x":"y",At=Me[ti]||st.len,_t=ye[ti]||st.len,wt=10>Math.abs(At)?1:At/_t,Qt=(ye[Dt]||0)+_t/2-st.pos,di=Qt-((Me[Dt]??st.pos)+At/2-st.pos)/wt,Fi=Gt&&!Xe||!Gt&&Xe?-1:1;if(!Te&&(Qt<0||Qt>st.len))continue;let mi=st.toValue(di,!0)+ht*Fi,vi=st.toValue(di+pt/wt,!0)-(ht*Fi||0),Gi=st.allExtremes;if(mi>vi&&([mi,vi]=[vi,mi]),1===wt&&!Te&&"yAxis"===st.coll&&!Gi){for(let Cs of st.series){let Mn=Cs.getExtremes(Cs.getProcessedData(!0).yData,!0);Gi??(Gi={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),X(Mn.dataMin)&&X(Mn.dataMax)&&(Gi.dataMin=Math.min(Mn.dataMin,Gi.dataMin),Gi.dataMax=Math.max(Mn.dataMax,Gi.dataMax))}st.allExtremes=Gi}let{dataMin:xs,dataMax:jn,min:ls,max:fs}=H(st.getExtremes(),Gi||{}),Gn=xs??Lt.min,dn=jn??Lt.max,Mi=vi-mi,_s=st.categories?0:Math.min(Mi,dn-Gn),On=Gn-_s*(C(Lt.min)?0:Lt.minPadding),Pn=dn+_s*(C(Lt.max)?0:Lt.maxPadding),As=st.allowZoomOutside||1===wt||"zoom"!==Ee&&wt>1,$n=Math.min(Lt.min??On,On,As?ls:On),$i=Math.max(Lt.max??Pn,Pn,As?fs:Pn);(!st.isOrdinal||1!==wt||Te)&&(mi<$n&&(mi=$n,wt>=1&&(vi=mi+Mi)),vi>$i&&(vi=$i,wt>=1&&(mi=vi-Mi)),(Te||st.series.length&&(mi!==ls||vi!==fs)&&mi>=$n&&vi<=$i)&&(_e?_e[st.coll].push({axis:st,min:mi,max:vi}):(st.isPanning="zoom"!==Ee,st.setExtremes(Te?void 0:mi,Te?void 0:vi,!1,!1,{move:di,trigger:Ee,scale:wt}),!Te&&(mi>$n||vi<$i)&&"mousewheel"!==Ee&&(Qe=!0)),lt=!0),de&&(this[kt?"mouseDownX":"mouseDownY"]=de[kt?"chartX":"chartY"]))}return lt&&(_e?U(this,"selection",_e,()=>{delete oe.selection,oe.trigger="zoom",this.transform(oe)}):(Qe&&!Ze?this.showResetZoom():!Qe&&Ze&&(this.resetZoomButton=Ze.destroy()),this.redraw("zoom"===Ee&&(this.options.chart.animation??this.pointCount<100)))),lt}}return H(Ae.prototype,{callbacks:[],collectionsWithInit:{xAxis:[Ae.prototype.addAxis,[!0]],yAxis:[Ae.prototype.addAxis,[!1]],series:[Ae.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),Ae}),Pe(V,"Extensions/ScrollablePlotArea.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){let{stop:le}=Z,{composed:fe}=ie,{addEvent:pe,createElement:J,css:te,defined:$,merge:A,pushUnique:B}=ve;function F(){let I=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!I&&(this.scrollablePlotArea=I=new D(this)),I?.applyFixed()}function L(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class D{static compose(E,_,b){B(fe,this.compose)&&(pe(E,"afterInit",L),pe(_,"afterSetChartSize",T=>this.afterSetSize(T.target,T)),pe(_,"render",F),pe(b,"show",L))}static afterSetSize(E,_){let b,T,z,{minWidth:O,minHeight:f}=E.options.chart.scrollablePlotArea||{},{clipBox:a,plotBox:g,inverted:y,renderer:o}=E;if(!o.forExport&&(O?(E.scrollablePixelsX=b=Math.max(0,O-E.chartWidth),b&&(E.scrollablePlotBox=A(E.plotBox),g.width=E.plotWidth+=b,a[y?"height":"width"]+=b,z=!0)):f&&(E.scrollablePixelsY=T=Math.max(0,f-E.chartHeight),$(T)&&(E.scrollablePlotBox=A(E.plotBox),g.height=E.plotHeight+=T,a[y?"width":"height"]+=T,z=!1)),$(z)&&!_.skipAxes))for(let n of E.axes)n.horiz===z&&(n.setAxisSize(),n.setAxisTranslation())}constructor(E){let _,b=E.options.chart,T=re.getRendererType(),z=b.scrollablePlotArea||{},O=this.moveFixedElements.bind(this),f={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};E.scrollablePixelsX&&(f.overflowX="auto"),E.scrollablePixelsY&&(f.overflowY="auto"),this.chart=E;let a=this.parentDiv=J("div",{className:"highcharts-scrolling-parent"},{position:"relative"},E.renderTo),g=this.scrollingContainer=J("div",{className:"highcharts-scrolling"},f,a),y=this.innerContainer=J("div",{className:"highcharts-inner-container"},void 0,g),o=this.fixedDiv=J("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(b.style?.zIndex||0)+2,top:0},void 0,!0),n=this.fixedRenderer=new T(o,E.chartWidth,E.chartHeight,b.style);this.mask=n.path().attr({fill:b.backgroundColor||"#fff","fill-opacity":z.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),g.parentNode.insertBefore(o,g),te(E.renderTo,{overflow:"visible"}),pe(E,"afterShowResetZoom",O),pe(E,"afterApplyDrilldown",O),pe(E,"afterLayOutTitles",O),pe(g,"scroll",()=>{let{pointer:r,hoverPoint:l}=E;r&&(delete r.chartPosition,l&&(_=l),r.runPointActions(void 0,_,!0))}),y.appendChild(E.container)}applyFixed(){let{chart:E,fixedRenderer:_,isDirty:b,scrollingContainer:T}=this,{axisOffset:z,chartWidth:O,chartHeight:f,container:a,plotHeight:g,plotLeft:y,plotTop:o,plotWidth:n,scrollablePixelsX:r=0,scrollablePixelsY:l=0}=E,{scrollPositionX:d=0,scrollPositionY:C=0}=E.options.chart.scrollablePlotArea||{},k=O+r,p=f+l;_.setSize(O,f),(b??!0)&&(this.isDirty=!1,this.moveFixedElements()),le(E.container),te(a,{width:`${k}px`,height:`${p}px`}),E.renderer.boxWrapper.attr({width:k,height:p,viewBox:[0,0,k,p].join(" ")}),E.chartBackground?.attr({width:k,height:p}),te(T,{width:`${O}px`,height:`${f}px`}),$(b)||(T.scrollLeft=r*d,T.scrollTop=l*C);let S=o-z[0]-1,j=y-z[3]-1,H=o+g+z[2]+1,Y=y+n+z[1]+1,U=y+n-r,se=o+g-l,w=[["M",0,0]];r?w=[["M",0,S],["L",y-1,S],["L",y-1,H],["L",0,H],["Z"],["M",U,S],["L",O,S],["L",O,H],["L",U,H],["Z"]]:l&&(w=[["M",j,0],["L",j,o-1],["L",Y,o-1],["L",Y,0],["Z"],["M",j,se],["L",j,f],["L",Y,f],["L",Y,se],["Z"]]),"adjustHeight"!==E.redrawTrigger&&this.mask.attr({d:w})}moveFixedElements(){let E,{container:_,inverted:b,scrollablePixelsX:T,scrollablePixelsY:z}=this.chart,O=this.fixedRenderer,f=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-reset-zoom",".highcharts-drillup-button",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];for(let a of(T&&!b?E=".highcharts-yaxis":T&&b||z&&!b?E=".highcharts-xaxis":z&&b&&(E=".highcharts-yaxis"),E&&f.push(`${E}:not(.highcharts-radial-axis)`,`${E}-labels:not(.highcharts-radial-axis-labels)`),f))[].forEach.call(_.querySelectorAll(a),g=>{(g.namespaceURI===O.SVG_NS?O.box:O.box.parentNode).appendChild(g),g.style.pointerEvents="auto"})}}return D}),Pe(V,"Core/Axis/Stacking/StackItem.js",[V["Core/Templating.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{format:ve}=Z,{series:le}=ie,{destroyObjectProperties:fe,fireEvent:pe,isNumber:J,pick:te}=re;return class{constructor($,A,B,F,L){let D=$.chart.inverted,I=$.reversed;this.axis=$;let E=this.isNegative=!!B!=!!I;this.options=A=A||{},this.x=F,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=L,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:A.align||(D?E?"left":"right":"center"),verticalAlign:A.verticalAlign||(D?"middle":E?"bottom":"top"),y:A.y,x:A.x},this.textAlign=A.textAlign||(D?E?"right":"left":"center")}destroy(){fe(this,this.axis)}render($){let A=this.axis.chart,B=this.options,F=B.format,L=F?ve(F,this,A):B.formatter.call(this);if(this.label)this.label.attr({text:L,visibility:"hidden"});else{this.label=A.renderer.label(L,null,void 0,B.shape,void 0,void 0,B.useHTML,!1,"stack-labels");let D={r:B.borderRadius||0,text:L,padding:te(B.padding,5),visibility:"hidden"};A.styledMode||(D.fill=B.backgroundColor,D.stroke=B.borderColor,D["stroke-width"]=B.borderWidth,this.label.css(B.style||{})),this.label.attr(D),this.label.added||this.label.add($)}this.label.labelrank=A.plotSizeY,pe(this,"afterRender")}setOffset($,A,B,F,L,D){let{alignOptions:I,axis:E,label:_,options:b,textAlign:T}=this,z=E.chart,O=this.getStackBox({xOffset:$,width:A,boxBottom:B,boxTop:F,defaultX:L,xAxis:D}),{verticalAlign:f}=I;if(_&&O){let o,a=_.getBBox(void 0,0),g=_.padding,y="justify"===te(b.overflow,"justify");I.x=b.x||0,I.y=b.y||0;let{x:n,y:r}=this.adjustStackPosition({labelBox:a,verticalAlign:f,textAlign:T});O.x-=n,O.y-=r,_.align(I,!1,O),(o=z.isInsidePlot(_.alignAttr.x+I.x+n,_.alignAttr.y+I.y+r))||(y=!1),y&&le.prototype.justifyDataLabel.call(E,_,I,_.alignAttr,a,O),_.attr({x:_.alignAttr.x,y:_.alignAttr.y,rotation:b.rotation,rotationOriginX:a.width*{left:0,center:.5,right:1}[b.textAlign||"center"],rotationOriginY:a.height/2}),te(!y&&b.crop,!0)&&(o=J(_.x)&&J(_.y)&&z.isInsidePlot(_.x-g+(_.width||0),_.y)&&z.isInsidePlot(_.x+g,_.y)),_[o?"show":"hide"]()}pe(this,"afterSetOffset",{xOffset:$,width:A})}adjustStackPosition({labelBox:$,verticalAlign:A,textAlign:B}){let F={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:$.width/2+$.width/2*F[B],y:$.height/2*F[A]}}getStackBox($){let A=this.axis,B=A.chart,{boxTop:F,defaultX:L,xOffset:D,width:I,boxBottom:E}=$,_=A.stacking.usePercentage?100:te(F,this.total,0),b=A.toPixels(_),T=$.xAxis||B.xAxis[0],z=te(L,T.translate(this.x))+D,O=Math.abs(b-A.toPixels(E||J(A.min)&&A.logarithmic&&A.logarithmic.lin2log(A.min)||0)),a=this.isNegative;return B.inverted?{x:(a?b:b-O)-B.plotLeft,y:T.height-z-I,width:O,height:I}:{x:z+T.transB-B.plotLeft,y:(a?b-O:b)-B.plotTop,width:I,height:O}}}}),Pe(V,"Core/Axis/Stacking/StackingAxis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le){var fe;let{getDeferredAnimation:pe}=Z,{series:{prototype:J}}=re,{addEvent:te,correctFloat:$,defined:A,destroyObjectProperties:B,fireEvent:F,isArray:L,isNumber:D,objectEach:I,pick:E}=le;function _(){let o=this.inverted;this.axes.forEach(n=>{n.stacking&&n.stacking.stacks&&n.hasVisibleSeries&&(n.stacking.oldStacks=n.stacking.stacks)}),this.series.forEach(n=>{let r=n.xAxis&&n.xAxis.options||{};n.options.stacking&&n.reserveSpace()&&(n.stackKey=[n.type,E(n.options.stack,""),o?r.top:r.left,o?r.height:r.width].join(","))})}function b(){let o=this.stacking;if(o){let n=o.stacks;I(n,(r,l)=>{B(r),delete n[l]}),o.stackTotalGroup?.destroy()}}function T(){this.stacking||(this.stacking=new y(this))}function z(o,n,r,l){return!A(o)||o.x!==n||l&&o.stackKey!==l?o={x:n,index:0,key:l,stackKey:l}:o.index++,o.key=[r,n,o.index].join(","),o}function O(){let o,n=this,l=n.stackKey||"",d=n.yAxis.stacking.stacks,C=n.processedXData,p=n[n.options.stacking+"Stacker"];p&&[l,"-"+l].forEach(S=>{let H,Y,U,j=C.length;for(;j--;)H=C[j],o=n.getStackIndicator(o,H,n.index,S),Y=d[S]?.[H],(U=Y?.points[o.key||""])&&p.call(n,U,Y,j)})}function f(o,n,r){let l=n.total?100/n.total:0;o[0]=$(o[0]*l),o[1]=$(o[1]*l),this.stackedYData[r]=o[1]}function a(o){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?J.setStackedPoints.call(this,o,"group"):o.stacking.resetStacks())}function g(o,n){let r,l,d,C,k,p,S,j,H,Y=n||this.options.stacking;if(!Y||!this.reserveSpace()||({group:"xAxis"}[Y]||"yAxis")!==o.coll)return;let U=this.processedXData,se=this.processedYData,w=[],X=se.length,G=this.options,x=G.threshold||0,N=G.startFromThreshold?x:0,R=G.stack,K=n?`${this.type},${Y}`:this.stackKey||"",q="-"+K,he=this.negStacks,me=o.stacking,Ce=me.stacks,Se=me.oldStacks;for(me.stacksTouched+=1,S=0;S0&&!1===this.singleStacks&&(d.points[p][0]=d.points[this.index+","+j+",0"][0])):(delete d.points[p],delete d.points[this.index]);let Oe=d.total||0;"percent"===Y?(C=l?K:q,Oe=he&&Ce[C]?.[j]?(C=Ce[C][j]).total=Math.max(C.total||0,Oe)+Math.abs(H)||0:$(Oe+(Math.abs(H)||0))):"group"===Y?(L(H)&&(H=H[0]),null!==H&&Oe++):Oe=$(Oe+(H||0)),d.cumulative="group"===Y?(Oe||1)-1:$(E(d.cumulative,N)+(H||0)),d.total=Oe,null!==H&&(d.points[p].push(d.cumulative),w[S]=d.cumulative,d.hasValidPoints=!0)}"percent"===Y&&(me.usePercentage=!0),"group"!==Y&&(this.stackedYData=w),me.oldStacks={}}class y{constructor(n){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=n}buildStacks(){let n,r,l=this.axis,d=l.series,C="xAxis"===l.coll,k=l.options.reversedStacks,p=d.length;for(this.resetStacks(),this.usePercentage=!1,r=p;r--;)n=d[k?r:p-r-1],C&&n.setGroupedPoints(l),n.setStackedPoints(l);if(!C)for(r=0;r{I(n,r=>{r.cumulative=r.total})}))}resetStacks(){I(this.stacks,n=>{I(n,(r,l)=>{D(r.touched)&&r.touched{I(p,S=>{S.render(k)})}),k.animate({opacity:1},C)}}return(fe||(fe={})).compose=function(o,n,r){let l=n.prototype,d=r.prototype;l.getStacks||(te(o,"init",T),te(o,"destroy",b),l.getStacks=_,d.getStackIndicator=z,d.modifyStacks=O,d.percentStacker=f,d.setGroupedPoints=a,d.setStackedPoints=g)},fe}),Pe(V,"Series/Line/LineSeries.js",[V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{defined:ve,merge:le,isObject:fe}=re;class pe extends Z{drawGraph(){let te=this.options,$=(this.gappedPath||this.getGraphPath).call(this),A=this.chart.styledMode;[this,...this.zones].forEach((B,F)=>{let L,D=B.graph,I=D?"animate":"attr",E=B.dashStyle||te.dashStyle;D?(D.endX=this.preventGraphAnimation?null:$.xMap,D.animate({d:$})):$.length&&(B.graph=D=this.chart.renderer.path($).addClass("highcharts-graph"+(F?` highcharts-zone-graph-${F-1} `:" ")+(F&&B.className||"")).attr({zIndex:1}).add(this.group)),D&&!A&&(L={stroke:!F&&te.lineColor||B.color||this.color||"#cccccc","stroke-width":te.lineWidth||0,fill:this.fillGraph&&this.color||"none"},E?L.dashstyle=E:"square"!==te.linecap&&(L["stroke-linecap"]=L["stroke-linejoin"]="round"),D[I](L).shadow(F<2&&te.shadow&&le({filterUnits:"userSpaceOnUse"},fe(te.shadow)?te.shadow:{}))),D&&(D.startX=$.xMap,D.isArea=$.isArea)})}getGraphPath(te,$,A){let I,B=this,F=B.options,L=[],D=[],E=F.step,_=(te=te||B.points).reversed;return _&&te.reverse(),(E={right:1,center:2}[E]||E&&3)&&_&&(E=4-E),(te=this.getValidPoints(te,!1,!(F.connectNulls&&!$&&!A))).forEach(function(b,T){let z,O=b.plotX,f=b.plotY,a=te[T-1],g=b.isNull||"number"!=typeof f;(b.leftCliff||a&&a.rightCliff)&&!A&&(I=!0),g&&!ve($)&&T>0?I=!F.connectNulls:g&&!$?I=!0:(0===T||I?z=[["M",b.plotX,b.plotY]]:B.getPointSpline?z=[B.getPointSpline(te,b,T)]:E?(z=1===E?[["L",a.plotX,f]]:2===E?[["L",(a.plotX+O)/2,a.plotY],["L",(a.plotX+O)/2,f]]:[["L",O,a.plotY]]).push(["L",O,f]):z=[["L",O,f]],D.push(b.x),E&&(D.push(b.x),2===E&&D.push(b.x)),L.push.apply(L,z),I=!1)}),L.xMap=D,B.graphPath=L,L}}return pe.defaultOptions=le(Z.defaultOptions,{legendSymbol:"lineMarker"}),ie.registerSeriesType("line",pe),pe}),Pe(V,"Series/Area/AreaSeries.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie){let{seriesTypes:{line:re}}=Z,{extend:ve,merge:le,objectEach:fe,pick:pe}=ie;class J extends re{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:$,options:A}=this;[this,...this.zones].forEach((B,F)=>{let L={},D=B.fillColor||A.fillColor,I=B.area,E=I?"animate":"attr";I?(I.endX=this.preventGraphAnimation?null:$.xMap,I.animate({d:$})):(L.zIndex=0,(I=B.area=this.chart.renderer.path($).addClass("highcharts-area"+(F?` highcharts-zone-area-${F-1} `:" ")+(F&&B.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(L.fill=D||B.color||this.color,L["fill-opacity"]=D?1:A.fillOpacity??.75,I.css({pointerEvents:this.stickyTracking?"none":"auto"})),I[E](L),I.startX=$.xMap,I.shiftUnit=A.step?2:1})}getGraphPath($){let A,B,F,L=re.prototype.getGraphPath,D=this.options,I=D.stacking,E=this.yAxis,_=[],b=[],T=this.index,z=E.stacking.stacks[this.stackKey],O=D.threshold,f=Math.round(E.getThreshold(D.threshold)),a=pe(D.connectNulls,"percent"===I),g=function(d,C,k){let Y,U,p=$[d],S=I&&z[p.x].points[T],j=p[k+"Null"]||0,H=p[k+"Cliff"]||0,se=!0;H||j?(Y=(j?S[0]:S[1])+H,U=S[0]+H,se=!!j):!I&&$[C]&&$[C].isNull&&(Y=U=O),void 0!==Y&&(b.push({plotX:A,plotY:null===Y?f:E.getThreshold(Y),isNull:se,isCliff:!0}),_.push({plotX:A,plotY:null===U?f:E.getThreshold(U),doCurve:!1}))};$=$||this.points,I&&($=this.getStackPoints($));for(let d=0,C=$.length;df.visible);F.forEach(function(f,a){let y,o,g=0;if(E[f]&&!E[f].isNull)B.push(E[f]),[-1,1].forEach(function(n){let r=1===n?"rightNull":"leftNull",l=I[F[a+n]],d=0;if(l){let C=z;for(;C>=0&&C=0&&nO&&B>I?(B=Math.max(O,I),L=2*I-B):Ba&&L>I?(L=Math.max(a,I),B=2*I-L):L=Math.abs(f)&&r>.5;return g=r-(f=Math.round(f)+n),l&&g&&(f-=1,g+=1),{x:O,y:f,width:a,height:g}}adjustForMissingColumns(O,f,a,g){if(!a.isNull&&g.columnCount>1){let y=this.xAxis.series.filter(l=>l.visible).map(l=>l.index),o=0,n=0;b(this.xAxis.stacking?.stacks,l=>{if("number"==typeof a.x){let d=l[a.x.toString()];if(d&&D(d.points[this.index])){let C=Object.keys(d.points).filter(k=>!k.match(",")&&d.points[k]&&d.points[k].length>1).map(parseFloat).filter(k=>-1!==y.indexOf(k)).sort((k,p)=>p-k);o=C.indexOf(this.index),n=C.length}}}),o=this.xAxis.reversed?n-1-o:o,O=(a.plotX||0)+((n-1)*g.paddedWidth+f)/2-f-o*g.paddedWidth}return O}translate(){let O=this,f=O.chart,a=O.options,g=O.dense=O.closestPointRange*O.xAxis.transA<2,y=O.borderWidth=_(a.borderWidth,g?0:1),o=O.xAxis,n=O.yAxis,r=a.threshold,l=_(a.minPointLength,5),d=O.getColumnMetrics(),C=d.width,k=O.pointXOffset=d.offset,p=O.dataMin,S=O.dataMax,j=O.barW=Math.max(C,1+2*y),H=O.translatedThreshold=n.getThreshold(r);f.inverted&&(H-=.5),a.pointPadding&&(j=Math.ceil(j)),le.prototype.translate.apply(O),O.points.forEach(function(Y){let G,U=_(Y.yBottom,H),se=999+Math.abs(U),w=Y.plotX||0,X=A(Y.plotY,-se,n.len+se),x=Math.min(X,U),N=Math.max(X,U)-x,R=C,K=w+k,q=j;l&&Math.abs(N)l?U-l:H-(G?l:0)),B(Y.options.pointWidth)&&(K-=Math.round(((R=q=Math.ceil(Y.options.pointWidth))-C)/2)),a.centerInCategory&&!a.stacking&&(K=O.adjustForMissingColumns(K,R,Y,d)),Y.barX=K,Y.pointWidth=R,Y.tooltipPos=f.inverted?[A(n.len+n.pos-f.plotLeft-X,n.pos-f.plotLeft,n.len+n.pos-f.plotLeft),o.len+o.pos-f.plotTop-K-q/2,N]:[o.left-f.plotLeft+K+q/2,A(X+n.pos-f.plotTop,n.pos-f.plotTop,n.len+n.pos-f.plotTop),N],Y.shapeType=O.pointClass.prototype.shapeType||"roundedRect",Y.shapeArgs=O.crispCol(K,Y.isNull?H:x,q,Y.isNull?0:N)}),L(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(O,f){let n,r,l,a=this.options,g=this.pointAttrToOptions||{},y=g.stroke||"borderColor",o=g["stroke-width"]||"borderWidth",d=O&&O.color||this.color,C=O&&O[y]||a[y]||d,k=O&&O.options.dashStyle||a.dashStyle,p=O&&O[o]||a[o]||this[o]||0,S=_(O&&O.opacity,a.opacity,1);O&&this.zones.length&&(r=O.getZone(),d=O.options.color||r&&(r.color||O.nonZonedColor)||this.color,r&&(C=r.borderColor||C,k=r.dashStyle||k,p=r.borderWidth||p)),f&&O&&(l=(n=E(a.states[f],O.options.states&&O.options.states[f]||{})).brightness,d=n.color||void 0!==l&&te(d).brighten(n.brightness).get()||d,C=n[y]||C,p=n[o]||p,k=n.dashStyle||k,S=_(n.opacity,S));let j={fill:d,stroke:C,"stroke-width":p,opacity:S};return k&&(j.dashstyle=k),j}drawPoints(O=this.points){let f,a=this,g=this.chart,y=a.options,o=g.renderer,n=y.animationLimit||250;O.forEach(function(r){let d=r.graphic,C=!!d,k=d&&g.pointCounto?.enabled)}function b(o,n,r,l,d){let C=this.chart,k=this.isCartesian&&C.inverted,p=this.enabledDataSorting,S=o.plotX,j=o.plotY,H=r.rotation||0,Y=pe(S)&&pe(j)&&C.isInsidePlot(S,Math.round(j),{inverted:k,paneCoordinates:!0,series:this}),U=0===H&&"justify"===L(r.overflow,p?"none":"justify"),se=this.visible&&!1!==o.visible&&pe(S)&&(o.series.forceDL||p&&!U||Y||L(r.inside,!!this.options.stacking)&&l&&C.isInsidePlot(S,k?l.x+1:l.y+l.height-1,{inverted:k,paneCoordinates:!0,series:this})),w=o.pos();if(se&&w){let G=n.getBBox(),x=n.getBBox(void 0,0),N={right:1,center:.5}[r.align||0]||0,R={bottom:1,middle:.5}[r.verticalAlign||0]||0;if(l=J({x:w[0],y:Math.round(w[1]),width:0,height:0},l||{}),J(r,{width:G.width,height:G.height}),p&&this.xAxis&&!U&&this.setDataLabelStartPos(o,n,d,Y,l),n.align(B(r,{width:x.width,height:x.height}),!1,l,!1),n.alignAttr.x+=N*(x.width-G.width),n.alignAttr.y+=R*(x.height-G.height),n[n.placed?"animate":"attr"]({x:n.alignAttr.x+(G.width-x.width)/2,y:n.alignAttr.y+(G.height-x.height)/2,rotationOriginX:(n.width||0)/2,rotationOriginY:(n.height||0)/2}),U&&l.height>=0)this.justifyDataLabel(n,r,n.alignAttr,G,l,d);else if(L(r.crop,!0)){let{x:K,y:q}=n.alignAttr;se=C.isInsidePlot(K,q,{paneCoordinates:!0,series:this})&&C.isInsidePlot(K+G.width-1,q+G.height-1,{paneCoordinates:!0,series:this})}r.shape&&!H&&n[d?"attr":"animate"]({anchorX:w[0],anchorY:w[1]})}d&&p&&(n.placed=!1),se||p&&!U?(n.show(),n.placed=!0):(n.hide(),n.placed=!1)}function T(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function z(o){let n=this.hasRendered||0,r=this.initDataLabelsGroup().attr({opacity:+n});return!n&&r&&(this.visible&&r.show(),this.options.animation?r.animate({opacity:1},o):r.attr({opacity:1})),r}function O(o){let n;o=o||this.points;let r=this,l=r.chart,d=r.options,C=l.renderer,{backgroundColor:k,plotBackgroundColor:p}=l.options.chart,S=C.getContrast(A(p)&&p||A(k)&&k||"#000000"),j=g(r),{animation:H,defer:Y}=j[0],U=Y?le(l,H,r):{defer:0,duration:0};te(this,"drawDataLabels"),r.hasDataLabels?.()&&(n=this.initDataLabels(U),o.forEach(se=>{let w=se.dataLabels||[];I(a(j,se.dlOptions||se.options?.dataLabels)).forEach((G,x)=>{let me,Ce,Se,Oe,ee,N=G.enabled&&(se.visible||se.dataLabelOnHidden)&&(!se.isNull||se.dataLabelOnNull)&&function(de,ye){let Te=ye.filter;if(Te){let _e=Te.operator,Me=de[Te.property],Ee=Te.value;return">"===_e&&Me>Ee||"<"===_e&&Me="===_e&&Me>=Ee||"<="===_e&&Me<=Ee||"=="===_e&&Me==Ee||"==="===_e&&Me===Ee||"!="===_e&&Me!=Ee||"!=="===_e&&Me!==Ee}return!0}(se,G),{backgroundColor:R,borderColor:K,distance:q,style:he={}}=G,Ae={},Fe=w[x],oe=!Fe;if(N&&(Ce=L(G[se.formatPrefix+"Format"],G.format),me=se.getLabelConfig(),Se=pe(Ce)?fe(Ce,me,l):(G[se.formatPrefix+"Formatter"]||G.formatter).call(me,G),Oe=G.rotation,!l.styledMode&&(he.color=L(G.color,he.color,A(r.color)?r.color:void 0,"#000000"),"contrast"===he.color?("none"!==R&&(ee=R),se.contrastColor=C.getContrast("auto"!==ee&&ee||se.color||r.color),he.color=ee||!pe(q)&&G.inside||0>D(q||0)||d.stacking?se.contrastColor:S):delete se.contrastColor,d.cursor&&(he.cursor=d.cursor)),Ae={r:G.borderRadius||0,rotation:Oe,padding:G.padding,zIndex:1},l.styledMode||(Ae.fill="auto"===R?se.color:R,Ae.stroke="auto"===K?se.color:K,Ae["stroke-width"]=G.borderWidth),F(Ae,(de,ye)=>{void 0===de&&delete Ae[ye]})),!Fe||N&&pe(Se)&&!!Fe.div==!!G.useHTML&&(Fe.rotation&&G.rotation||Fe.rotation===G.rotation)||(Fe=void 0,oe=!0),N&&pe(Se)&&(Fe?Ae.text=Se:(Fe=C.label(Se,0,0,G.shape,void 0,void 0,G.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+se.colorIndex+" "+(G.className||"")+(G.useHTML?" highcharts-tracker":"")),Fe)){Fe.options=G,Fe.attr(Ae),l.styledMode||Fe.css(he).shadow(G.shadow);let de=G[se.formatPrefix+"TextPath"]||G.textPath;de&&!G.useHTML&&(Fe.setTextPath(se.getDataLabelPath?.(Fe)||se.graphic,de),se.dataLabelPath&&!de.enabled&&(se.dataLabelPath=se.dataLabelPath.destroy())),Fe.added||Fe.add(n),r.alignDataLabel(se,Fe,G,void 0,oe),Fe.isActive=!0,w[x]&&w[x]!==Fe&&w[x].destroy(),w[x]=Fe}});let X=w.length;for(;X--;)w[X]&&w[X].isActive?w[X].isActive=!1:(w[X]?.destroy(),w.splice(X,1));se.dataLabel=w[0],se.dataLabels=w})),te(this,"afterDrawDataLabels")}function f(o,n,r,l,d,C){let U,se,k=this.chart,p=n.align,S=n.verticalAlign,j=o.box?0:o.padding||0,{x:H=0,y:Y=0}=n;return(U=(r.x||0)+j)<0&&("right"===p&&H>=0?(n.align="left",n.inside=!0):H-=U,se=!0),(U=(r.x||0)+l.width-j)>k.plotWidth&&("left"===p&&H<=0?(n.align="right",n.inside=!0):H+=k.plotWidth-U,se=!0),(U=r.y+j)<0&&("bottom"===S&&Y>=0?(n.verticalAlign="top",n.inside=!0):Y-=U,se=!0),(U=(r.y||0)+l.height-j)>k.plotHeight&&("top"===S&&Y<=0?(n.verticalAlign="bottom",n.inside=!0):Y+=k.plotHeight-U,se=!0),se&&(n.x=H,n.y=Y,o.placed=!C,o.align(n,void 0,d)),se}function a(o,n){let l,r=[];if($(o)&&!$(n))r=o.map(function(d){return B(d,n)});else if($(n)&&!$(o))r=n.map(function(d){return B(o,d)});else if($(o)||$(n)){if($(o)&&$(n))for(l=Math.max(o.length,n.length);l--;)r[l]=B(o[l],n[l])}else r=B(o,n);return r}function g(o){let n=o.chart.options.plotOptions;return I(a(a(n?.series?.dataLabels,n?.[o.type]?.dataLabels),o.options.dataLabels))}function y(o,n,r,l,d){let C=this.chart,k=C.inverted,p=this.xAxis,S=p.reversed,j=((k?n.height:n.width)||0)/2,H=o.pointWidth,Y=H?H/2:0;n.startXPos=k?d.x:S?-j-Y:p.width-j+Y,n.startYPos=k?S?this.yAxis.height-j+Y:-j-Y:d.y,l?"hidden"===n.visibility&&(n.show(),n.attr({opacity:0}).animate({opacity:1})):n.attr({opacity:1}).animate({opacity:0},void 0,n.hide),C.hasRendered&&(r&&n.attr({x:n.startXPos,y:n.startYPos}),n.placed=!0)}E.compose=function(o){let n=o.prototype;n.initDataLabels||(n.initDataLabels=z,n.initDataLabelsGroup=T,n.alignDataLabel=b,n.drawDataLabels=O,n.justifyDataLabel=f,n.setDataLabelStartPos=y,n.hasDataLabels=_)}}(ve||(ve={})),ve}),Pe(V,"Series/Column/ColumnDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){var le;let{composed:fe}=ie,{series:pe}=re,{merge:J,pick:te,pushUnique:$}=ve;return function(A){function B(F,L,D,I,E){let _=this.chart.inverted,b=F.series,T=(b.xAxis?b.xAxis.len:this.chart.plotSizeX)||0,z=(b.yAxis?b.yAxis.len:this.chart.plotSizeY)||0,O=F.dlBox||F.shapeArgs,f=te(F.below,F.plotY>te(this.translatedThreshold,z)),a=te(D.inside,!!this.options.stacking);if(O){if(I=J(O),"allow"!==D.overflow||!1!==D.crop){I.y<0&&(I.height+=I.y,I.y=0);let g=I.y+I.height-z;g>0&&g\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),Pe(V,"Series/Scatter/ScatterSeries.js",[V["Series/Scatter/ScatterSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{column:ve,line:le}=ie.seriesTypes,{addEvent:fe,extend:pe,merge:J}=re;class te extends le{applyJitter(){let A=this,B=this.options.jitter,F=this.points.length;B&&this.points.forEach(function(L,D){["x","y"].forEach(function(I,E){let _,T,z,O,b="plot"+I.toUpperCase();B[I]&&!L.isNull&&(_=A[I+"Axis"],O=B[I]*_.transA,_&&!_.isLog&&(T=Math.max(0,L[b]-O),z=Math.min(_.len,L[b]+O),L[b]=T+(z-T)*function(f){let a=1e4*Math.sin(f);return a-Math.floor(a)}(D+E*F),"x"===I&&(L.clientX=L.plotX)))})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return te.defaultOptions=J(le.defaultOptions,Z),pe(te.prototype,{drawTracker:ve.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),fe(te,"afterTranslate",function(){this.applyJitter()}),ie.registerSeriesType("scatter",te),te}),Pe(V,"Series/CenteredUtilities.js",[V["Core/Globals.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(Z,ie,re){var ve,le;let{deg2rad:fe}=Z,{fireEvent:pe,isNumber:J,pick:te,relativeLength:$}=re;return(le=ve||(ve={})).getCenter=function(){let b,O,f,A=this.options,B=this.chart,F=2*(A.slicedOffset||0),L=B.plotWidth-2*F,D=B.plotHeight-2*F,I=A.center,E=Math.min(L,D),_=A.thickness,T=A.size,z=A.innerSize||0;"string"==typeof T&&(T=parseFloat(T)),"string"==typeof z&&(z=parseFloat(z));let a=[te(I[0],"50%"),te(I[1],"50%"),te(T&&T<0?void 0:A.size,"100%"),te(z&&z<0?void 0:A.innerSize||0,"0%")];for(!B.angular||this instanceof ie||(a[3]=0),O=0;O<4;++O)f=a[O],b=O<2||2===O&&/%$/.test(f),a[O]=$(f,[L,D,E,a[2]][O])+(b?F:0);return a[3]>a[2]&&(a[3]=a[2]),J(_)&&2*_0&&(a[3]=a[2]-2*_),pe(this,"afterGetCenter",{positions:a}),a},le.getStartAndEndRadians=function(A,B){let F=J(A)?A:0,L=J(B)&&B>F&&B-F<360?B:F+360;return{start:fe*(F+-90),end:fe*(L+-90)}},ve}),Pe(V,"Series/Pie/PiePoint.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{setAnimation:ve}=Z,{addEvent:le,defined:fe,extend:pe,isNumber:J,pick:te,relativeLength:$}=re;class A extends ie{getConnectorPath(F){let L=F.dataLabelPosition,D=F.options||{},I=D.connectorShape;return L&&(this.connectorShapes[I]||I).call(this,{...L.computed,alignment:L.alignment},L.connectorPosition,D)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(F){let L=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(L.x,L.y,L.r+F,L.r+F,{innerR:L.r-1,start:L.start,end:L.end,borderRadius:L.borderRadius})}constructor(F,L,D){super(F,L,D),this.half=0,this.name??(this.name="Slice");let I=E=>{this.slice("select"===E.type)};le(this,"select",I),le(this,"unselect",I)}isValid(){return J(this.y)&&this.y>=0}setVisible(F,L=!0){F!==this.visible&&this.update({visible:F??!this.visible},L,void 0,!1)}slice(F,L,D){let I=this.series;ve(D,I.chart),L=te(L,!0),this.sliced=this.options.sliced=F=fe(F)?F:!this.sliced,I.options.data[I.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return pe(A.prototype,{connectorShapes:{fixedOffset:function(B,F,L){let D=F.breakAt,I=F.touchingSliceAt;return[["M",B.x,B.y],L.softConnector?["C",B.x+("left"===B.alignment?-5:5),B.y,2*D.x-I.x,2*D.y-I.y,D.x,D.y]:["L",D.x,D.y],["L",I.x,I.y]]},straight:function(B,F){let L=F.touchingSliceAt;return[["M",B.x,B.y],["L",L.x,L.y]]},crookedLine:function(B,F,L){let{breakAt:D,touchingSliceAt:I}=F,{series:E}=this,[_,b,T]=E.center,z=T/2,{plotLeft:O,plotWidth:f}=E.chart,a="left"===B.alignment,{x:g,y}=B,o=D.x;if(L.crookDistance){let r=$(L.crookDistance,1);o=a?_+z+(f+O-_-z)*(1-r):O+(_-z)*r}else o=_+(b-y)*Math.tan((this.angle||0)-Math.PI/2);let n=[["M",g,y]];return(a?o<=g&&o>=D.x:o>=g&&o<=D.x)&&n.push(["L",o,y]),n.push(["L",D.x,D.y],["L",I.x,I.y]),n}}}),A}),Pe(V,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),Pe(V,"Series/Pie/PieSeries.js",[V["Series/CenteredUtilities.js"],V["Series/Column/ColumnSeries.js"],V["Core/Globals.js"],V["Series/Pie/PiePoint.js"],V["Series/Pie/PieSeriesDefaults.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe,pe,J,te){let{getStartAndEndRadians:$}=Z,{noop:A}=re,{clamp:B,extend:F,fireEvent:L,merge:D,pick:I}=te;class E extends fe{animate(b){let T=this,O=T.startAngleRad;b||T.points.forEach(function(f){let a=f.graphic,g=f.shapeArgs;a&&g&&(a.attr({r:I(f.startR,T.center&&T.center[3]/2),start:O,end:O}),a.animate({r:g.r,start:g.start,end:g.end},T.options.animation))})}drawEmpty(){let b,T,z=this.startAngleRad,O=this.endAngleRad,f=this.options;0===this.total&&this.center?(b=this.center[0],T=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(b,T,this.center[1]/2,0,z,O).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:J.arc(b,T,this.center[2]/2,0,{start:z,end:O,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":f.borderWidth,fill:f.fillColor||"none",stroke:f.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let b=this.chart.renderer;this.points.forEach(function(T){T.graphic&&T.hasNewShapeType()&&(T.graphic=T.graphic.destroy()),T.graphic||(T.graphic=b[T.shapeType](T.shapeArgs).add(T.series.group),T.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(b,T,z,O){let f=this.center,a=this.radii?this.radii[z.index]||0:f[2]/2,g=O.dataLabelPosition,y=g?.distance||0,o=Math.asin(B((b-f[1])/(a+y),-1,1));return f[0]+Math.cos(o)*(a+y)*(T?-1:1)+(y>0?(T?-1:1)*(O.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let b,T,z,O,f=this,a=f.chart;this.drawEmpty(),f.group&&!a.styledMode&&f.group.shadow(f.options.shadow),f.points.forEach(function(g){let y={};T=g.graphic,!g.isNull&&T?(O=g.shapeArgs,b=g.getTranslate(),a.styledMode||(z=f.pointAttribs(g,g.selected&&"select")),g.delayedRendering?(T.setRadialReference(f.center).attr(O).attr(b),a.styledMode||T.attr(z).attr({"stroke-linejoin":"round"}),g.delayedRendering=!1):(T.setRadialReference(f.center),a.styledMode||D(!0,y,z),D(!0,y,O,b),T.animate(y)),T.attr({visibility:g.visible?"inherit":"hidden"}),T.addClass(g.getClassName(),!0)):T&&(g.graphic=T.destroy())})}sortByAngle(b,T){b.sort(function(z,O){return void 0!==z.angle&&(O.angle-z.angle)*T})}translate(b){L(this,"translate"),this.generatePoints();let n,r,l,d,C,k,p,T=this.options,z=T.slicedOffset,O=$(T.startAngle,T.endAngle),f=this.startAngleRad=O.start,a=(this.endAngleRad=O.end)-f,g=this.points,y=T.ignoreHiddenPoint,o=g.length,S=0;for(b||(this.center=b=this.getCenter()),k=0;k1.5*Math.PI?l-=2*Math.PI:l<-Math.PI/2&&(l+=2*Math.PI),p.slicedTranslation={translateX:Math.round(Math.cos(l)*z),translateY:Math.round(Math.sin(l)*z)},d=Math.cos(l)*b[2]/2,C=Math.sin(l)*b[2]/2,p.tooltipPos=[b[0]+.7*d,b[1]+.7*C],p.half=l<-Math.PI/2||l>Math.PI/2?1:0,p.angle=l}L(this,"afterTranslate")}updateTotals(){let O,f,b=this.points,T=b.length,z=this.options.ignoreHiddenPoint,a=0;for(O=0;O0&&(f.visible||!z)?f.y/a*100:0,f.total=a}}return E.defaultOptions=D(fe.defaultOptions,le),F(E.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:ie.prototype.drawTracker,getCenter:Z.getCenter,getSymbol:A,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:ie.prototype.pointAttribs,pointClass:ve,requireSorting:!1,searchPoint:A,trackerGroups:["group","dataLabelsGroup"]}),pe.registerSeriesType("pie",E),E}),Pe(V,"Series/Pie/PieDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le){var fe;let{composed:pe,noop:J}=ie,{distribute:te}=re,{series:$}=ve,{arrayMax:A,clamp:B,defined:F,pick:L,pushUnique:D,relativeLength:I}=le;return function(E){let _={radialDistributionY:function(f,a){return(a.dataLabelPosition?.top||0)+f.distributeBox.pos},radialDistributionX:function(f,a,g,y,o){let n=o.dataLabelPosition;return f.getX(g<(n?.top||0)+2||g>(n?.bottom||0)-2?y:g,a.half,a,o)},justify:function(f,a,g,y){return y[0]+(f.half?-1:1)*(g+(a.dataLabelPosition?.distance||0))},alignToPlotEdges:function(f,a,g,y){let o=f.getBBox().width;return a?o+y:g-o-y},alignToConnectors:function(f,a,g,y){let n,o=0;return f.forEach(function(r){(n=r.dataLabel.getBBox().width)>o&&(o=n)}),a?o+y:g-o-y}};function b(f,a){let{center:g,options:y}=this,o=g[2]/2,n=f.angle||0,r=Math.cos(n),l=Math.sin(n),d=g[0]+r*o,C=g[1]+l*o,k=Math.min((y.slicedOffset||0)+(y.borderWidth||0),a/5);return{natural:{x:d+r*a,y:C+l*a},computed:{},alignment:a<0?"center":f.half?"right":"left",connectorPosition:{breakAt:{x:d+r*k,y:C+l*k},touchingSliceAt:{x:d,y:C}},distance:a}}function T(){let j,H,Y,f=this,a=f.points,g=f.chart,y=g.plotWidth,o=g.plotHeight,n=g.plotLeft,r=Math.round(g.chartWidth/3),l=f.center,d=l[2]/2,C=l[1],k=[[],[]],p=[0,0,0,0],S=f.dataLabelPositioners,U=0;f.visible&&f.hasDataLabels?.()&&(a.forEach(se=>{(se.dataLabels||[]).forEach(w=>{w.shortened&&(w.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),w.shortened=!1)})}),$.prototype.drawDataLabels.apply(f),a.forEach(se=>{(se.dataLabels||[]).forEach((w,X)=>{let G=l[2]/2,x=w.options,N=I(x?.distance||0,G);0===X&&k[se.half].push(se),!F(x?.style?.width)&&w.getBBox().width>r&&(w.css({width:Math.round(.7*r)+"px"}),w.shortened=!0),w.dataLabelPosition=this.getDataLabelPosition(se,N),U=Math.max(U,N)})}),k.forEach((se,w)=>{let x,N,K,G=[],R=0;se.length&&(f.sortByAngle(se,w-.5),U>0&&(x=Math.max(0,C-d-U),N=Math.min(C+d+U,g.plotHeight),se.forEach(q=>{(q.dataLabels||[]).forEach(he=>{let me=he.dataLabelPosition;me&&me.distance>0&&(me.top=Math.max(0,C-d-me.distance),me.bottom=Math.min(C+d+me.distance,g.plotHeight),R=he.getBBox().height||21,q.distributeBox={target:(he.dataLabelPosition?.natural.y||0)-me.top+R/2,size:R,rank:q.y},G.push(q.distributeBox))})}),te(G,K=N+R-x,K/5)),se.forEach(q=>{(q.dataLabels||[]).forEach(he=>{let me=he.options||{},Ce=q.distributeBox,Se=he.dataLabelPosition,Oe=Se?.natural.y||0,Ae=me.connectorPadding||0,Fe=0,oe=Oe,ee="inherit";if(Se){if(G&&F(Ce)&&Se.distance>0&&(void 0===Ce.pos?ee="hidden":(Y=Ce.size,oe=S.radialDistributionY(q,he))),me.justify)Fe=S.justify(q,he,d,l);else switch(me.alignTo){case"connectors":Fe=S.alignToConnectors(se,w,y,n);break;case"plotEdges":Fe=S.alignToPlotEdges(he,w,y,n);break;default:Fe=S.radialDistributionX(f,q,oe,Oe,he)}if(Se.attribs={visibility:ee,align:Se.alignment},Se.posAttribs={x:Fe+(me.x||0)+({left:Ae,right:-Ae}[Se.alignment]||0),y:oe+(me.y||0)-he.getBBox().height/2},Se.computed.x=Fe,Se.computed.y=oe,L(me.crop,!0)){let de;Fe-(H=he.getBBox().width)y-Ae&&0===w&&(de=Math.round(Fe+H-y+Ae),p[1]=Math.max(de,p[1])),oe-Y/2<0?p[0]=Math.max(Math.round(Y/2-oe),p[0]):oe+Y/2>o&&(p[2]=Math.max(Math.round(oe+Y/2-o),p[2])),Se.sideOverflow=de}}})}))}),(0===A(p)||this.verifyDataLabelOverflow(p))&&(this.placeDataLabels(),this.points.forEach(se=>{(se.dataLabels||[]).forEach(w=>{let{connectorColor:X,connectorWidth:G=1}=w.options||{},x=w.dataLabelPosition;if(G){let N;j=w.connector,x&&x.distance>0?(N=!j,j||(w.connector=j=g.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+se.colorIndex+(se.className?" "+se.className:"")).add(f.dataLabelsGroup)),g.styledMode||j.attr({"stroke-width":G,stroke:X||se.color||"#666666"}),j[N?"attr":"animate"]({d:se.getConnectorPath(w)}),j.attr({visibility:x.attribs?.visibility})):j&&(w.connector=j.destroy())}})})))}function z(){this.points.forEach(f=>{(f.dataLabels||[]).forEach(a=>{let g=a.dataLabelPosition;g?(g.sideOverflow&&(a.css({width:Math.max(a.getBBox().width-g.sideOverflow,0)+"px",textOverflow:(a.options?.style||{}).textOverflow||"ellipsis"}),a.shortened=!0),a.attr(g.attribs),a[a.moved?"animate":"attr"](g.posAttribs),a.moved=!0):a&&a.attr({y:-9999})}),delete f.distributeBox},this)}function O(f){let a=this.center,g=this.options,y=g.center,o=g.minSize||80,n=o,r=null!==g.size;return!r&&(null!==y[0]?n=Math.max(a[2]-Math.max(f[1],f[3]),o):(n=Math.max(a[2]-f[1]-f[3],o),a[0]+=(f[3]-f[1])/2),null!==y[1]?n=B(n,o,a[2]-Math.max(f[0],f[2])):(n=B(n,o,a[2]-f[0]-f[2]),a[1]+=(f[0]-f[2])/2),n!(b.x>=_.x+_.width||b.x+b.width<=_.x||b.y>=_.y+_.height||b.y+b.height<=_.y),E=!1;for(let _=0;_<$;_++)(B=te[_])&&(B.oldOpacity=B.opacity,B.newOpacity=1,B.absoluteBox=function(b){if(b&&(!b.alignAttr||b.placed)){let T=b.box?0:b.padding||0,z=b.alignAttr||{x:b.attr("x"),y:b.attr("y")},O=b.getBBox();return b.width=O.width,b.height=O.height,{x:z.x+(b.parentGroup?.translateX||0)+T,y:z.y+(b.parentGroup?.translateY||0)+T,width:(b.width||0)-2*T,height:(b.height||0)-2*T}}}(B));te.sort((_,b)=>(b.labelrank||0)-(_.labelrank||0));for(let _=0;_<$;++_){D=(F=te[_])&&F.absoluteBox;for(let b=_+1;b<$;++b)I=(L=te[b])&&L.absoluteBox,D&&I&&F!==L&&0!==F.newOpacity&&0!==L.newOpacity&&"hidden"!==F.visibility&&"hidden"!==L.visibility&&A(D,I)&&((F.labelrank{ve(B,F=>{F.label&&$.push(F.label)})});for(let A of te.series||[])if(A.visible&&A.hasDataLabels?.()){let B=F=>{for(let L of F)L.visible&&(L.dataLabels||[]).forEach(D=>{let I=D.options||{};D.labelrank=le(I.labelrank,L.labelrank,L.shapeArgs?.height),I.allowOverlap??Number(I.distance)>0?(D.oldOpacity=D.opacity,D.newOpacity=1,pe(D,te)):$.push(D)})};B(A.nodes||[]),B(A.points)}this.hideOverlappingLabels($)}return{compose:function(te){let $=te.prototype;$.hideOverlappingLabels||($.hideOverlappingLabels=fe,ie(te,"render",J))}}}),Pe(V,"Extensions/BorderRadius.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{defaultOptions:ve}=Z,{noop:le}=ie,{addEvent:fe,extend:pe,isObject:J,merge:te,relativeLength:$}=re,A={radius:0,scope:"stack",where:void 0},B=le,F=le;function L(b,T,z,O,f={}){let a=B(b,T,z,O,f),{innerR:g=0,r:y=z,start:o=0,end:n=0}=f;if(f.open||!f.borderRadius)return a;let r=n-o,l=Math.sin(r/2),d=Math.max(Math.min($(f.borderRadius||0,y-g),(y-g)/2,y*l/(1+l)),0),C=Math.min(d,r/Math.PI*2*g),k=a.length-1;for(;k--;)!function(p,S,j){let H,Y,U,se=p[S],w=p[S+1];if("Z"===w[0]&&(w=p[0]),"M"!==se[0]&&"L"!==se[0]||"A"!==w[0]?"A"===se[0]&&("M"===w[0]||"L"===w[0])&&(H=w,Y=se):(H=se,Y=w,U=!0),H&&Y&&Y.params){let X=Y[1],G=Y[5],x=Y.params,{start:N,end:R,cx:K,cy:q}=x,he=G?X-j:X+j,me=he?Math.asin(j/he):0,Ce=G?me:-me,Se=Math.cos(me)*he;U?(x.start=N+Ce,H[1]=K+Se*Math.cos(N),H[2]=q+Se*Math.sin(N),p.splice(S+1,0,["A",j,j,0,0,1,K+X*Math.cos(x.start),q+X*Math.sin(x.start)])):(x.end=R-Ce,Y[6]=K+X*Math.cos(x.end),Y[7]=q+X*Math.sin(x.end),p.splice(S+1,0,["A",j,j,0,0,1,K+Se*Math.cos(R),q+Se*Math.sin(R)])),Y[4]=Math.abs(x.end-x.start)1?C:d);return a}function D(){if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){let{options:b,yAxis:T}=this,z="percent"===b.stacking,O=ve.plotOptions?.[this.type]?.borderRadius,f=I(b.borderRadius,J(O)?O:{}),a=T.options.reversed;for(let g of this.points){let{shapeArgs:y}=g;if("roundedRect"===g.shapeType&&y){let{width:o=0,height:n=0,y:r=0}=y,l=r,d=n;if("stack"===f.scope&&g.stackTotal){let S=T.translate(z?100:g.stackTotal,!1,!0,!1,!0),j=T.translate(b.threshold||0,!1,!0,!1,!0),H=this.crispCol(0,Math.min(S,j),0,Math.abs(S-j));l=H.y,d=H.height}let C=(g.negative?-1:1)*(a?-1:1)==-1,k=f.where;!k&&this.is("waterfall")&&Math.abs((g.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(k="all"),k||(k="end");let p=Math.min($(f.radius,o),o/2,"all"===k?n/2:1/0)||0;"end"===k&&(C&&(l-=p),d+=p),pe(y,{brBoxHeight:d,brBoxY:l,r:p})}}}}function I(b,T){return J(b)||(b={radius:b||0}),te(A,T,b)}function E(){let b=I(this.options.borderRadius);for(let T of this.points){let z=T.shapeArgs;z&&(z.borderRadius=$(b.radius,(z.r||0)-(z.innerR||0)))}}function _(b,T,z,O,f={}){let a=F(b,T,z,O,f),{r:g=0,brBoxHeight:y=O,brBoxY:o=T}=f,n=T-o,r=o+y-(T+O),l=n-g>-.1?0:g,d=r-g>-.1?0:g,C=Math.max(l&&n,0),k=Math.max(d&&r,0),p=[b+l,T],S=[b+z-l,T],j=[b+z,T+l],H=[b+z,T+O-d],Y=[b+z-d,T+O],U=[b+d,T+O],se=[b,T+O-d],w=[b,T+l],X=(G,x)=>Math.sqrt(Math.pow(G,2)-Math.pow(x,2));if(C){let G=X(l,l-C);p[0]-=G,S[0]+=G,j[1]=w[1]=T+l-C}if(O=pe(L.minWidth,0)&&this.chartHeight>=pe(L.minHeight,0)}).call(this)&&F.push(B._id)}function A(B,F){let E,L=this.options.responsive,D=this.currentResponsive,I=[];!F&&L&&L.rules&&L.rules.forEach(T=>{void 0===T._id&&(T._id=J()),this.matchResponsiveRule(T,I)},this);let _=fe(...I.map(T=>le((L||{}).rules||[],z=>z._id===T)).map(T=>T&&T.chartOptions));_.isResponsiveOptions=!0,I=I.toString()||void 0,I!==(D&&D.ruleIds)&&(D&&this.update(D.undoOptions,B,!0),I?((E=re(_,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:I,mergedOptions:_,undoOptions:E},this.update(_,B,!0)):this.currentResponsive=void 0)}te.compose=function(B){let F=B.prototype;return F.matchResponsiveRule||ve(F,{matchResponsiveRule:$,setResponsive:A}),B}}(ie||(ie={})),ie}),Pe(V,"masters/highcharts.src.js",[V["Core/Globals.js"],V["Core/Utilities.js"],V["Core/Defaults.js"],V["Core/Animation/Fx.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Templating.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Renderer/HTML/HTMLElement.js"],V["Core/Axis/Axis.js"],V["Core/Axis/DateTimeAxis.js"],V["Core/Axis/LogarithmicAxis.js"],V["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],V["Core/Axis/Tick.js"],V["Core/Tooltip.js"],V["Core/Series/Point.js"],V["Core/Pointer.js"],V["Core/Legend/Legend.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Chart/Chart.js"],V["Extensions/ScrollablePlotArea.js"],V["Core/Axis/Stacking/StackingAxis.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Series/Column/ColumnDataLabel.js"],V["Series/Pie/PieDataLabel.js"],V["Core/Series/DataLabel.js"],V["Extensions/OverlappingDataLabels.js"],V["Extensions/BorderRadius.js"],V["Core/Responsive.js"],V["Core/Color/Color.js"],V["Core/Time.js"]],function(Z,ie,re,ve,le,fe,pe,J,te,$,A,B,F,L,D,I,E,_,b,T,z,O,f,a,g,y,o,n,r,l,d,C,k,p,S,j){return Z.AST=fe,Z.Axis=F,Z.Chart=f,Z.Color=S,Z.DataLabel=d,Z.Fx=ve,Z.HTMLElement=B,Z.Legend=z,Z.LegendSymbol=O,Z.OverlappingDataLabels=Z.OverlappingDataLabels||C,Z.PlotLineOrBand=I,Z.Point=b,Z.Pointer=T,Z.RendererRegistry=J,Z.Series=o,Z.SeriesRegistry=n,Z.StackItem=y,Z.SVGElement=$,Z.SVGRenderer=A,Z.Templating=pe,Z.Tick=E,Z.Time=j,Z.Tooltip=_,Z.animate=le.animate,Z.animObject=le.animObject,Z.chart=f.chart,Z.color=S.parse,Z.dateFormat=pe.dateFormat,Z.defaultOptions=re.defaultOptions,Z.distribute=te.distribute,Z.format=pe.format,Z.getDeferredAnimation=le.getDeferredAnimation,Z.getOptions=re.getOptions,Z.numberFormat=pe.numberFormat,Z.seriesType=n.seriesType,Z.setAnimation=le.setAnimation,Z.setOptions=re.setOptions,Z.stop=le.stop,Z.time=re.defaultTime,Z.timers=ve.timers,k.compose(Z.Series,Z.SVGElement,Z.SVGRenderer),r.compose(Z.Series.types.column),d.compose(Z.Series),L.compose(Z.Axis),B.compose(Z.SVGRenderer),z.compose(Z.Chart),D.compose(Z.Axis),C.compose(Z.Chart),l.compose(Z.Series.types.pie),I.compose(Z.Axis),T.compose(Z.Chart),p.compose(Z.Chart),a.compose(Z.Axis,Z.Chart,Z.Series),g.compose(Z.Axis,Z.Chart,Z.Series),_.compose(Z.Pointer),ie.extend(Z,ie),Z}),Pe(V,"Extensions/ArrowSymbols.js",[],function(){function Z(le,fe,pe,J){return[["M",le,fe+J/2],["L",le+pe,fe],["L",le,fe+J/2],["L",le+pe,fe+J]]}function ie(le,fe,pe,J){return Z(le,fe,pe/2,J)}function re(le,fe,pe,J){return[["M",le+pe,fe],["L",le,fe+J/2],["L",le+pe,fe+J],["Z"]]}function ve(le,fe,pe,J){return re(le,fe,pe/2,J)}return{compose:function(le){let fe=le.prototype.symbols;fe.arrow=Z,fe["arrow-filled"]=re,fe["arrow-filled-half"]=ve,fe["arrow-half"]=ie,fe["triangle-left"]=re,fe["triangle-left-half"]=ve}}}),Pe(V,"Gantt/Connection.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie){let{defined:re,error:ve,merge:le,objectEach:fe}=ie,pe=Z.deg2rad,J=Math.max,te=Math.min;return class{constructor($,A,B){this.init($,A,B)}init($,A,B){this.fromPoint=$,this.toPoint=A,this.options=B,this.chart=$.series.chart,this.pathfinder=this.chart.pathfinder}renderPath($,A){let B=this.chart,F=B.styledMode,L=this.pathfinder,D={},I=this.graphics&&this.graphics.path;L.group||(L.group=B.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(B.seriesGroup)),L.group.translate(B.plotLeft,B.plotTop),I&&I.renderer||(I=B.renderer.path().add(L.group),F||I.attr({opacity:0})),I.attr(A),D.d=$,F||(D.opacity=1),I.animate(D),this.graphics=this.graphics||{},this.graphics.path=I}addMarker($,A,B){let F,L,D,I,E,_,b,T,z=this.fromPoint.series.chart,O=z.pathfinder,f=z.renderer,a="start"===$?this.fromPoint:this.toPoint,g=a.getPathfinderAnchorPoint(A);A.enabled&&((T="start"===$?B[1]:B[B.length-2])&&"M"===T[0]||"L"===T[0])&&(b={x:T[1],y:T[2]},L=a.getRadiansToVector(b,g),F=a.getMarkerVector(L,A.radius,g),D=-L/pe,A.width&&A.height?(E=A.width,_=A.height):E=_=2*A.radius,this.graphics=this.graphics||{},I={x:F.x-E/2,y:F.y-_/2,width:E,height:_,rotation:D,rotationOriginX:F.x,rotationOriginY:F.y},this.graphics[$]?this.graphics[$].animate(I):(this.graphics[$]=f.symbol(A.symbol).addClass("highcharts-point-connecting-path-"+$+"-marker highcharts-color-"+this.fromPoint.colorIndex).attr(I).add(O.group),f.styledMode||this.graphics[$].attr({fill:A.color||this.fromPoint.color,stroke:A.lineColor,"stroke-width":A.lineWidth,opacity:0}).animate({opacity:1},a.series.options.animation)))}getPath($){let A=this.pathfinder,B=this.chart,F=A.algorithms[$.type],L=A.chartObstacles;return"function"!=typeof F?(ve('"'+$.type+'" is not a Pathfinder algorithm.'),{path:[],obstacles:[]}):(F.requiresObstacles&&!L&&(L=A.chartObstacles=A.getChartObstacles($),B.options.connectors.algorithmMargin=$.algorithmMargin,A.chartObstacleMetrics=A.getObstacleMetrics(L)),F(this.fromPoint.getPathfinderAnchorPoint($.startMarker),this.toPoint.getPathfinderAnchorPoint($.endMarker),le({chartObstacles:L,lineObstacles:A.lineObstacles||[],obstacleMetrics:A.chartObstacleMetrics,hardBounds:{xMin:0,xMax:B.plotWidth,yMin:0,yMax:B.plotHeight},obstacleOptions:{margin:$.algorithmMargin},startDirectionX:A.getAlgorithmStartDirection($.startMarker)},$)))}render(){let $=this.fromPoint,A=$.series,B=A.chart,F=B.pathfinder,L={},D=le(B.options.connectors,A.options.connectors,$.options.connectors,this.options);!B.styledMode&&(L.stroke=D.lineColor||$.color,L["stroke-width"]=D.lineWidth,D.dashStyle&&(L.dashstyle=D.dashStyle)),L.class="highcharts-point-connecting-path highcharts-color-"+$.colorIndex,re((D=le(L,D)).marker.radius)||(D.marker.radius=te(J(Math.ceil((D.algorithmMargin||8)/2)-1,1),5));let I=this.getPath(D),E=I.path;I.obstacles&&(F.lineObstacles=F.lineObstacles||[],F.lineObstacles=F.lineObstacles.concat(I.obstacles)),this.renderPath(E,L),this.addMarker("start",le(D.marker,D.startMarker),E),this.addMarker("end",le(D.marker,D.endMarker),E)}destroy(){this.graphics&&(fe(this.graphics,function($){$.destroy()}),delete this.graphics)}}}),Pe(V,"Extensions/CurrentDateIndication.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie){let{composed:re}=Z,{addEvent:ve,merge:le,pushUnique:fe,wrap:pe}=ie,J={color:"#ccd3ff",width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:function(B,F){return this.axis.chart.time.dateFormat(F||"",B)},rotation:0,style:{fontSize:"0.7em"}}};function te(){let B=this.options,F=B.currentDateIndicator;if(F){let L="object"==typeof F?le(J,F):le(J);L.value=Date.now(),L.className="highcharts-current-date-indicator",B.plotLines||(B.plotLines=[]),B.plotLines.push(L)}}function $(){this.label&&this.label.attr({text:this.getLabelText(this.options.label)})}function A(B,F){let L=this.options;return L&&L.className&&-1!==L.className.indexOf("highcharts-current-date-indicator")&&L.label&&"function"==typeof L.label.formatter?(L.value=Date.now(),L.label.formatter.call(this,L.value,L.label.format)):B.call(this,F)}return{compose:function(B,F){fe(re,"CurrentDateIndication")&&(ve(B,"afterSetOptions",te),ve(F,"render",$),pe(F.prototype,"getLabelText",A))}}}),Pe(V,"Core/Chart/GanttChart.js",[V["Core/Chart/Chart.js"],V["Core/Defaults.js"],V["Core/Utilities.js"]],function(Z,ie,re){var ve;let{defaultOptions:le}=ie,{isArray:fe,merge:pe,splat:J}=re;class te extends Z{init(A,B){let F,L=A.xAxis,D=A.yAxis;A.xAxis=A.yAxis=void 0;let I=pe(!0,{chart:{type:"gantt"},title:{text:""},legend:{enabled:!1},navigator:{series:{type:"gantt"},yAxis:{type:"category"}}},A,{isGantt:!0});A.xAxis=L,A.yAxis=D,I.xAxis=(fe(A.xAxis)?A.xAxis:[A.xAxis||{},{}]).map((E,_)=>(1===_&&(F=0),pe({grid:{borderColor:"#cccccc",enabled:!0},opposite:le.xAxis?.opposite??E.opposite??!0,linkedTo:F},E,{type:"datetime"}))),I.yAxis=J(A.yAxis||{}).map(E=>pe({grid:{borderColor:"#cccccc",enabled:!0},staticScale:50,reversed:!0,type:E.categories?E.type:"treegrid"},E)),super.init(I,B)}}return(ve=te||(te={})).ganttChart=function($,A,B){return new ve($,A,B)},te}),Pe(V,"Stock/Navigator/ChartNavigatorComposition.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie){let re,{isTouchDevice:ve}=Z,{addEvent:le,merge:fe,pick:pe}=ie,J=[];function te(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function $(){let I,E,_,b=this.legend,T=this.navigator;if(T){I=b&&b.options,E=T.xAxis,_=T.yAxis;let{scrollbarHeight:z,scrollButtonSize:O}=T;this.inverted?(T.left=T.opposite?this.chartWidth-z-T.height:this.spacing[3]+z,T.top=this.plotTop+O):(T.left=pe(E.left,this.plotLeft+O),T.top=T.navigatorOptions.top||this.chartHeight-T.height-z-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(I&&"bottom"===I.verticalAlign&&"proximate"!==I.layout&&I.enabled&&!I.floating?b.legendHeight+pe(I.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),E&&_&&(this.inverted?E.options.left=_.options.left=T.left:E.options.top=_.options.top=T.top,E.setAxisSize(),_.setAxisSize())}}function A(I){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new re(this),pe(I.redraw,!0)&&this.redraw(I.animation))}function B(){let I=this.options;(I.navigator.enabled||I.scrollbar.enabled)&&(this.scroller=this.navigator=new re(this))}function F(){let I=this.options,E=I.navigator,_=I.rangeSelector;if((E&&E.enabled||_&&_.enabled)&&(!ve&&"x"===this.zooming.type||ve&&"x"===this.zooming.pinchType))return!1}function L(I){let E=I.navigator;if(E&&I.xAxis[0]){let _=I.xAxis[0].getExtremes();E.render(_.min,_.max)}}function D(I){let E=I.options.navigator||{},_=I.options.scrollbar||{};!this.navigator&&!this.scroller&&(E.enabled||_.enabled)&&(fe(!0,this.options.navigator,E),fe(!0,this.options.scrollbar,_),delete I.options.navigator,delete I.options.scrollbar)}return{compose:function(I,E){ie.pushUnique(J,I)&&(re=E,I.prototype.callbacks.push(L),le(I,"afterAddSeries",te),le(I,"afterSetChartSize",$),le(I,"afterUpdate",A),le(I,"beforeRender",B),le(I,"beforeShowResetZoom",F),le(I,"update",D))}}}),Pe(V,"Core/Axis/NavigatorAxisComposition.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie){let{isTouchDevice:re}=Z,{addEvent:ve,correctFloat:le,defined:fe,isNumber:pe,pick:J}=ie;function te(){this.navigatorAxis||(this.navigatorAxis=new A(this))}function $(B){let F,L=this.chart,D=L.options,I=D.navigator,E=this.navigatorAxis,_=L.zooming.pinchType,b=D.rangeSelector,T=L.zooming.type;if(this.isXAxis&&(I?.enabled||b?.enabled))if("y"===T&&"zoom"===B.trigger)F=!1;else if(("zoom"===B.trigger&&"xy"===T||re&&"xy"===_)&&this.options.range){let z=E.previousZoom;fe(B.min)?E.previousZoom=[this.min,this.max]:z&&(B.min=z[0],B.max=z[1],E.previousZoom=void 0)}void 0!==F&&B.preventDefault()}class A{static compose(F){F.keepProps.includes("navigatorAxis")||(F.keepProps.push("navigatorAxis"),ve(F,"init",te),ve(F,"setExtremes",$))}constructor(F){this.axis=F}destroy(){this.axis=void 0}toFixedRange(F,L,D,I){let E=this.axis,_=E.chart,b=J(E.ordinal?.convertOverscroll(E.options.overscroll),0),T=J(D,E.translate(F,!0,!E.horiz)),z=J(I,E.translate(L,!0,!E.horiz)),O=_&&_.fixedRange,f=(E.pointRange||0)/2;if(fe(D)||(T=le(T+f)),fe(I)||(z=le(z-f)),O&&E.dataMin&&E.dataMax){let a=E.dataMax+b;z>=a&&(T=le(a-O),z=le(a)),T<=E.dataMin&&(z=le(E.dataMin+O))}return pe(T)&&pe(z)||(T=z=void 0),{min:T,max:z}}}return A}),Pe(V,"Stock/Navigator/NavigatorDefaults.js",[V["Core/Color/Color.js"],V["Core/Series/SeriesRegistry.js"]],function(Z,ie){let{parse:re}=Z,{seriesTypes:ve}=ie;return{height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:re("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===ve.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}),Pe(V,"Stock/Navigator/NavigatorSymbols.js",[],function(){return{"navigator-handle":function(Z,ie,re,ve,le={}){let fe=le.width?le.width/2:re,pe=Math.round(fe/3)+.5;return[["M",-fe-1,.5],["L",fe,.5],["L",fe,(ve=le.height||ve)+.5],["L",-fe-1,ve+.5],["L",-fe-1,.5],["M",-pe,4],["L",-pe,ve-3],["M",pe-1,4],["L",pe-1,ve-3]]}}}),Pe(V,"Stock/Utilities/StockUtilities.js",[V["Core/Utilities.js"]],function(Z){let{defined:ie}=Z;return{setFixedRange:function(re){let ve=this.xAxis[0];this.fixedRange=ie(ve.dataMax)&&ie(ve.dataMin)&&re?Math.min(re,ve.dataMax-ve.dataMin):re}}}),Pe(V,"Stock/Navigator/NavigatorComposition.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Axis/NavigatorAxisComposition.js"],V["Stock/Navigator/NavigatorDefaults.js"],V["Stock/Navigator/NavigatorSymbols.js"],V["Core/Renderer/RendererRegistry.js"],V["Stock/Utilities/StockUtilities.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe,pe,J){let{setOptions:te}=Z,{composed:$}=ie,{getRendererType:A}=fe,{setFixedRange:B}=pe,{addEvent:F,extend:L,pushUnique:D}=J;function I(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(E,_,b){re.compose(_),D($,"Navigator")&&(E.prototype.setFixedRange=B,L(A().prototype.symbols,le),F(b,"afterUpdate",I),te({navigator:ve}))}}}),Pe(V,"Core/Axis/ScrollbarAxis.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie){var re;let{composed:ve}=Z,{addEvent:le,defined:fe,pick:pe,pushUnique:J}=ie;return function(te){let $;function A(D){let I=pe(D.options&&D.options.min,D.min),E=pe(D.options&&D.options.max,D.max);return{axisMin:I,axisMax:E,scrollMin:fe(D.dataMin)?Math.min(I,D.min,D.dataMin,pe(D.threshold,1/0)):I,scrollMax:fe(D.dataMax)?Math.max(E,D.max,D.dataMax,pe(D.threshold,-1/0)):E}}function B(){let D=this.scrollbar,E=this.horiz?2:D&&!D.options.opposite?3:1;D&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[E]+=D.size+(D.options.margin||0))}function F(){let D=this;D.options&&D.options.scrollbar&&D.options.scrollbar.enabled&&(D.options.scrollbar.vertical=!D.horiz,D.options.startOnTick=D.options.endOnTick=!1,D.scrollbar=new $(D.chart.renderer,D.options.scrollbar,D.chart),le(D.scrollbar,"changed",function(I){let E,_,{axisMin:b,axisMax:T,scrollMin:z,scrollMax:O}=A(D),f=O-z;fe(b)&&fe(T)&&(D.horiz&&!D.reversed||!D.horiz&&D.reversed?(E=z+f*this.to,_=z+f*this.from):(E=z+f*(1-this.from),_=z+f*(1-this.to)),this.shouldUpdateExtremes(I.DOMType)?D.setExtremes(_,E,!0,"mousemove"!==I.DOMType&&"touchmove"!==I.DOMType&&void 0,I):this.setRange(this.from,this.to))}))}function L(){let D,I,E,{scrollMin:_,scrollMax:b}=A(this),T=this.scrollbar,z=this.axisTitleMargin+(this.titleOffset||0),O=this.chart.scrollbarsOffsets,f=this.options.margin||0;if(T&&O){if(this.horiz)this.opposite||(O[1]+=z),T.position(this.left,this.top+this.height+2+O[1]-(this.opposite?f:0),this.width,this.height),this.opposite||(O[1]+=f),D=1;else{let a;this.opposite&&(O[0]+=z),a=T.options.opposite?this.left+this.width+2+O[0]-(this.opposite?0:f):this.opposite?0:f,T.position(a,this.top,this.width,this.height),this.opposite&&(O[0]+=f),D=0}O[D]+=T.size+(T.options.margin||0),isNaN(_)||isNaN(b)||!fe(this.min)||!fe(this.max)||this.min===this.max?T.setRange(0,1):(I=(this.min-_)/(b-_),E=(this.max-_)/(b-_),this.horiz&&!this.reversed||!this.horiz&&this.reversed?T.setRange(I,E):T.setRange(1-E,1-I))}}te.compose=function(D,I){J(ve,"Axis.Scrollbar")&&($=I,le(D,"afterGetOffset",B),le(D,"afterInit",F),le(D,"afterRender",L))}}(re||(re={})),re}),Pe(V,"Stock/Scrollbar/ScrollbarDefaults.js",[],function(){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}}),Pe(V,"Stock/Scrollbar/Scrollbar.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Axis/ScrollbarAxis.js"],V["Stock/Scrollbar/ScrollbarDefaults.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le){let{defaultOptions:fe}=Z,{addEvent:pe,correctFloat:J,defined:te,destroyObjectProperties:$,fireEvent:A,merge:B,pick:F,removeEvent:L}=le;class D{static compose(E){re.compose(E,D)}static swapXY(E,_){return _&&E.forEach(b=>{let T,z=b.length;for(let O=0;Othis.calculatedWidth?_.minWidth:0;return{chartX:(E.chartX-this.x-this.xOffset)/(this.barWidth-b),chartY:(E.chartY-this.y-this.yOffset)/(this.barWidth-b)}}destroy(){let E=this,_=E.chart.scroller;E.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(b){E[b]&&E[b].destroy&&(E[b]=E[b].destroy())}),_&&E===_.scrollbar&&(_.scrollbar=null,$(_.scrollbarButtons))}drawScrollbarButton(E){let _=this.renderer,b=this.scrollbarButtons,T=this.options,z=this.size,O=_.g().add(this.group);if(b.push(O),T.buttonsEnabled){let f=_.rect().addClass("highcharts-scrollbar-button").add(O);this.chart.styledMode||f.attr({stroke:T.buttonBorderColor,"stroke-width":T.buttonBorderWidth,fill:T.buttonBackgroundColor}),f.attr(f.crisp({x:-.5,y:-.5,width:z+1,height:z+1,r:T.buttonBorderRadius},f.strokeWidth()));let a=_.path(D.swapXY([["M",z/2+(E?-1:1),z/2-3],["L",z/2+(E?-1:1),z/2+3],["L",z/2+(E?2:-2),z/2]],T.vertical)).addClass("highcharts-scrollbar-arrow").add(b[E]);this.chart.styledMode||a.attr({fill:T.buttonArrowColor})}}init(E,_,b){this.scrollbarButtons=[],this.renderer=E,this.userOptions=_,this.options=B(ve,fe.scrollbar,_),this.options.margin=F(this.options.margin,10),this.chart=b,this.size=F(this.options.size,this.options.height),_.enabled&&(this.render(),this.addEvents())}mouseDownHandler(E){let _=this.chart.pointer?.normalize(E)||E,b=this.cursorToScrollbarPosition(_);this.chartX=b.chartX,this.chartY=b.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(E){let _,b=this.chart.pointer?.normalize(E)||E,T=this.options.vertical?"chartY":"chartX",z=this.initPositions||[];this.grabbedCenter&&(!E.touches||0!==E.touches[0][T])&&(_=this.cursorToScrollbarPosition(b)[T]-this[T],this.hasDragged=!0,this.updatePosition(z[0]+_,z[1]+_),this.hasDragged&&A(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:E.type,DOMEvent:E}))}mouseUpHandler(E){this.hasDragged&&A(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:E.type,DOMEvent:E}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(E,_,b,T){let{buttonsEnabled:z,margin:O=0,vertical:f}=this.options,a=this.rendered?"animate":"attr",g=T,y=0;this.group.show(),this.x=E,this.y=_+this.trackBorderWidth,this.width=b,this.height=T,this.xOffset=g,this.yOffset=y,f?(this.width=this.yOffset=b=y=this.size,this.xOffset=g=0,this.yOffset=y=z?this.size:0,this.barWidth=T-(z?2*b:0),this.x=E+=O):(this.height=T=this.size,this.xOffset=g=z?this.size:0,this.barWidth=b-(z?2*T:0),this.y=this.y+O),this.group[a]({translateX:E,translateY:this.y}),this.track[a]({width:b,height:T}),this.scrollbarButtons[1][a]({translateX:f?0:b-g,translateY:f?T-y:0})}removeEvents(){this._events.forEach(function(E){L.apply(null,E)}),this._events.length=0}render(){let E=this.renderer,_=this.options,b=this.size,T=this.chart.styledMode,z=E.g("scrollbar").attr({zIndex:_.zIndex}).hide().add();this.group=z,this.track=E.rect().addClass("highcharts-scrollbar-track").attr({r:_.trackBorderRadius||0,height:b,width:b}).add(z),T||this.track.attr({fill:_.trackBackgroundColor,stroke:_.trackBorderColor,"stroke-width":_.trackBorderWidth});let O=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-O%2/2,y:-O%2/2}),this.scrollbarGroup=E.g().add(z),this.scrollbar=E.rect().addClass("highcharts-scrollbar-thumb").attr({height:b-O,width:b-O,r:_.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=E.path(D.swapXY([["M",-3,b/4],["L",-3,2*b/3],["M",0,b/4],["L",0,2*b/3],["M",3,b/4],["L",3,2*b/3]],_.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),T||(this.scrollbar.attr({fill:_.barBackgroundColor,stroke:_.barBorderColor,"stroke-width":_.barBorderWidth}),this.scrollbarRifles.attr({stroke:_.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(E,_){let b,T,z=this.options,O=z.vertical,f=z.minWidth,a=this.barWidth,g=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!te(a))return;let y=a*Math.min(_,1);b=Math.ceil(a*(E=Math.max(E,0))),this.calculatedWidth=T=J(y-b),T=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(E){return F(this.options.liveRedraw,ie.svg&&!ie.isTouchDevice&&!this.chart.boosted)||"mouseup"===E||"touchend"===E||!te(E)}trackClick(E){let _=this.chart.pointer?.normalize(E)||E,b=this.to-this.from;this.options.vertical&&_.chartY>this.y+this.scrollbarTop||!this.options.vertical&&_.chartX>this.x+this.scrollbarLeft?this.updatePosition(this.from+b,this.to+b):this.updatePosition(this.from-b,this.to-b),A(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:E})}update(E){this.destroy(),this.init(this.chart.renderer,B(!0,this.options,E),this.chart)}updatePosition(E,_){_>1&&(E=J(1-J(_-E)),_=1),E<0&&(_=J(_-E),E=0),this.from=E,this.to=_}}return D.defaultOptions=ve,fe.scrollbar=B(!0,D.defaultOptions,fe.scrollbar),D}),Pe(V,"Stock/Navigator/Navigator.js",[V["Core/Axis/Axis.js"],V["Stock/Navigator/ChartNavigatorComposition.js"],V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Axis/NavigatorAxisComposition.js"],V["Stock/Navigator/NavigatorComposition.js"],V["Stock/Scrollbar/Scrollbar.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe,pe,J){let{defaultOptions:te}=re,{isTouchDevice:$}=ve,{addEvent:A,clamp:B,correctFloat:F,defined:L,destroyObjectProperties:D,erase:I,extend:E,find:_,fireEvent:b,isArray:T,isNumber:z,merge:O,pick:f,removeEvent:a,splat:g}=J;function y(n,...r){let l=[].filter.call(r,z);if(l.length)return Math[n].apply(0,l)}class o{static compose(r,l,d){ie.compose(r,o),fe.compose(r,l,d)}constructor(r){this.scrollbarHeight=0,this.init(r)}drawHandle(r,l,d,C){let k=this.navigatorOptions.handles.height;this.handles[l][C](d?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(r,10)+.5-k)}:{translateX:Math.round(this.left+parseInt(r,10)),translateY:Math.round(this.top+this.height/2-k/2-1)})}drawOutline(r,l,d,C){let x,N,k=this.navigatorOptions.maskInside,p=this.outline.strokeWidth(),S=p/2,j=p%2/2,H=this.scrollButtonSize,Y=this.size,U=this.top,se=this.height,w=U-S,X=U+se,G=this.left;d?(x=U+l+j,N=[["M",G+se,U-H-j],["L",G+se,x],["L",G,x],["M",G,l=U+r+j],["L",G+se,l],["L",G+se,U+Y+H]],k&&N.push(["M",G+se,x-S],["L",G+se,l+S])):(G-=H,N=[["M",G,w],["L",r+=G+H-j,w],["L",r,X],["M",l+=G+H-j,X],["L",l,w],["L",G+Y+2*H,U+S]],k&&N.push(["M",r-S,w],["L",l+S,w])),this.outline[C]({d:N})}drawMasks(r,l,d,C){let k,p,S,j,H=this.left,Y=this.top,U=this.height;d?(S=[H,H,H],j=[Y,Y+r,Y+l],p=[U,U,U],k=[r,l-r,this.size-l]):(S=[H,H+r,H+l],j=[Y,Y,Y],p=[r,l-r,this.size-l],k=[U,U,U]),this.shades.forEach((se,w)=>{se[C]({x:S[w],y:j[w],width:p[w],height:k[w]})})}renderElements(){let r=this,l=r.navigatorOptions,d=l.maskInside,C=r.chart,p=C.renderer,S={cursor:C.inverted?"ns-resize":"ew-resize"},j=r.navigatorGroup=p.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();if([!d,d,!d].forEach((H,Y)=>{let U=p.rect().addClass("highcharts-navigator-mask"+(1===Y?"-inside":"-outside")).add(j);C.styledMode||(U.attr({fill:H?l.maskFill:"rgba(0,0,0,0)"}),1===Y&&U.css(S)),r.shades[Y]=U}),r.outline=p.path().addClass("highcharts-navigator-outline").add(j),C.styledMode||r.outline.attr({"stroke-width":l.outlineWidth,stroke:l.outlineColor}),l.handles&&l.handles.enabled){let H=l.handles,{height:Y,width:U}=H;[0,1].forEach(se=>{r.handles[se]=p.symbol(H.symbols[se],-U/2-1,0,U,Y,H),C.inverted&&r.handles[se].attr({rotation:90,rotationOriginX:Math.floor(-U/2),rotationOriginY:(Y+U)/2}),r.handles[se].attr({zIndex:7-se}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][se]).add(j),C.styledMode||r.handles[se].attr({fill:H.backgroundColor,stroke:H.borderColor,"stroke-width":H.lineWidth}).css(S)})}}update(r){(this.series||[]).forEach(l=>{l.baseSeries&&delete l.baseSeries.navigatorSeries}),this.destroy(),O(!0,this.chart.options.navigator,r),this.init(this.chart)}render(r,l,d,C){let G,x,N,K,q,k=this.chart,p=this.xAxis,S=p.pointRange||0,j=p.navigatorAxis.fake?k.xAxis[0]:p,H=this.navigatorEnabled,Y=this.rendered,U=k.inverted,se=k.xAxis[0].minRange,w=k.xAxis[0].options.maxRange,X=this.scrollButtonSize,R=this.scrollbarHeight;if(this.hasDragged&&!L(d))return;if(r=F(r-S/2),l=F(l+S/2),!z(r)||!z(l)){if(!Y)return;d=0,C=f(p.width,j.width)}this.left=f(p.left,k.plotLeft+X+(U?k.plotWidth:0));let he=this.size=K=f(p.len,(U?k.plotHeight:k.plotWidth)-2*X);G=U?R:K+2*X,d=f(d,p.toPixels(r,!0)),C=f(C,p.toPixels(l,!0)),z(d)&&Math.abs(d)!==1/0||(d=0,C=G);let me=p.toValue(d,!0),Ce=p.toValue(C,!0),Se=Math.abs(F(Ce-me));Sew&&(this.grabbedLeft?d=p.toPixels(Ce-w-S,!0):this.grabbedRight&&(C=p.toPixels(me+w+S,!0))),this.zoomedMax=B(Math.max(d,C),0,he),this.zoomedMin=B(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(d,C),0,he),this.range=this.zoomedMax-this.zoomedMin,he=Math.round(this.zoomedMax);let Oe=Math.round(this.zoomedMin);H&&(this.navigatorGroup.attr({visibility:"inherit"}),q=Y&&!this.hasDragged?"animate":"attr",this.drawMasks(Oe,he,U,q),this.drawOutline(Oe,he,U,q),this.navigatorOptions.handles.enabled&&(this.drawHandle(Oe,0,U,q),this.drawHandle(he,1,U,q))),this.scrollbar&&(U?(N=this.top-X,x=this.left-R+(H||!j.opposite?0:(j.titleOffset||0)+j.axisTitleMargin),R=K+2*X):(N=this.top+(H?this.height:-R),x=this.left-X),this.scrollbar.position(x,N,G,R),this.scrollbar.setRange(this.zoomedMin/(K||1),this.zoomedMax/(K||1))),this.rendered=!0,b(this,"afterRender")}addMouseEvents(){let k,p,r=this,l=r.chart,d=l.container,C=[];r.mouseMoveHandler=k=function(S){r.onMouseMove(S)},r.mouseUpHandler=p=function(S){r.onMouseUp(S)},(C=r.getPartsEvents("mousedown")).push(A(l.renderTo,"mousemove",k),A(d.ownerDocument,"mouseup",p),A(l.renderTo,"touchmove",k),A(d.ownerDocument,"touchend",p)),C.concat(r.getPartsEvents("touchstart")),r.eventsToUnbind=C,r.series&&r.series[0]&&C.push(A(r.series[0].xAxis,"foundExtremes",function(){l.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(r){let l=this,d=[];return["shades","handles"].forEach(function(C){l[C].forEach(function(k,p){d.push(A(k.element,r,function(S){l[C+"Mousedown"](S,p)}))})}),d}shadesMousedown(r,l){r=this.chart.pointer?.normalize(r)||r;let Y,U,se,w,C=this.xAxis,k=this.zoomedMin,p=this.size,S=this.range,j=this.left,H=r.chartX;this.chart.inverted&&(H=r.chartY,j=this.top),1===l?(this.grabbedCenter=H,this.fixedWidth=S,this.dragOffset=H-k):(w=H-j-S/2,0===l?w=Math.max(0,w):2===l&&w+S>=p&&(w=p-S,this.reversedExtremes?(w-=S,U=this.getUnionExtremes().dataMin):Y=this.getUnionExtremes().dataMax),w!==k&&(this.fixedWidth=S,L((se=C.navigatorAxis.toFixedRange(w,w+S,U,Y)).min)&&b(this,"setRange",{min:Math.min(se.min,se.max),max:Math.max(se.min,se.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(r,l){r=this.chart.pointer?.normalize(r)||r;let d=this.chart,C=d.xAxis[0],k=this.reversedExtremes;0===l?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=k?C.min:C.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=k?C.max:C.min),d.setFixedRange(void 0)}onMouseMove(r){let H,l=this,d=l.chart,C=l.navigatorSize,k=l.range,p=l.dragOffset,S=d.inverted,j=l.left;(!r.touches||0!==r.touches[0].pageX)&&(H=(r=d.pointer?.normalize(r)||r).chartX,S&&(j=l.top,H=r.chartY),l.grabbedLeft?(l.hasDragged=!0,l.render(0,0,H-j,l.otherHandlePos)):l.grabbedRight?(l.hasDragged=!0,l.render(0,0,l.otherHandlePos,H-j)):l.grabbedCenter&&(l.hasDragged=!0,HC+p-k&&(H=C+p-k),l.render(0,0,H-p,H-p+k)),l.hasDragged&&l.scrollbar&&f(l.scrollbar.options.liveRedraw,!$&&!this.chart.boosted)&&(r.DOMType=r.type,setTimeout(function(){l.onMouseUp(r)},0)))}onMouseUp(r){let l,d,C,k,p,S,H=this.xAxis,Y=this.scrollbar,U=r.DOMEvent||r,se=this.chart.inverted,w=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!Y||!Y.hasDragged)||"scrollbar"===r.trigger)&&(C=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?k=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(p=this.fixedExtreme),this.zoomedMax===this.size&&(p=this.reversedExtremes?C.dataMin:C.dataMax),0===this.zoomedMin&&(k=this.reversedExtremes?C.dataMax:C.dataMin),L((S=H.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,k,p)).min)&&b(this,"setRange",{min:Math.min(S.min,S.max),max:Math.max(S.min,S.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:U}})),"mousemove"!==r.DOMType&&"touchmove"!==r.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&z(this.zoomedMin)&&z(this.zoomedMax)&&(d=Math.round(this.zoomedMin),l=Math.round(this.zoomedMax),this.shades&&this.drawMasks(d,l,se,w),this.outline&&this.drawOutline(d,l,se,w),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(d,0,se,w),this.drawHandle(l,1,se,w)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(r){r()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let r=this.baseSeries||[];this.navigatorEnabled&&r[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&r.forEach(function(l){a(l,"updatedData",this.updatedDataHandler)},this),r[0].xAxis&&a(r[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}init(r){let l=r.options,d=l.navigator||{},C=d.enabled,k=l.scrollbar||{},p=k.enabled,S=C&&d.height||0,j=p&&k.height||0,H=k.buttonsEnabled&&j||0;this.handles=[],this.shades=[],this.chart=r,this.setBaseSeries(),this.height=S,this.scrollbarHeight=j,this.scrollButtonSize=H,this.scrollbarEnabled=p,this.navigatorEnabled=C,this.navigatorOptions=d,this.scrollbarOptions=k,this.opposite=f(d.opposite,!(C||!r.inverted));let Y=this,U=Y.baseSeries,se=r.xAxis.length,w=r.yAxis.length,X=U&&U[0]&&U[0].xAxis||r.xAxis[0]||{options:{}};if(r.isDirtyBox=!0,Y.navigatorEnabled?(Y.xAxis=new Z(r,O({breaks:X.options.breaks,ordinal:X.options.ordinal,overscroll:X.options.overscroll},d.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",type:"datetime",index:se,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},r.inverted?{offsets:[H,0,-H,0],width:S}:{offsets:[0,-H,0,H],height:S}),"xAxis"),Y.yAxis=new Z(r,O(d.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:w,isInternal:!0,reversed:f(d.yAxis&&d.yAxis.reversed,r.yAxis[0]&&r.yAxis[0].reversed,!1),zoomEnabled:!1},r.inverted?{width:S}:{height:S}),"yAxis"),U||d.series.data?Y.updateNavigatorSeries(!1):0===r.series.length&&(Y.unbindRedraw=A(r,"beforeRedraw",function(){r.series.length>0&&!Y.series&&(Y.setBaseSeries(),Y.unbindRedraw())})),Y.reversedExtremes=r.inverted&&!Y.xAxis.reversed||!r.inverted&&Y.xAxis.reversed,Y.renderElements(),Y.addMouseEvents()):(Y.xAxis={chart:r,navigatorAxis:{fake:!0},translate:function(G,x){let N=r.xAxis[0],R=N.getExtremes(),K=N.len-2*H,q=y("min",N.options.min,R.dataMin),he=y("max",N.options.max,R.dataMax)-q;return x?G*he/K+q:K*(G-q)/he},toPixels:function(G){return this.translate(G)},toValue:function(G){return this.translate(G,!0)}},Y.xAxis.navigatorAxis.axis=Y.xAxis,Y.xAxis.navigatorAxis.toFixedRange=le.prototype.toFixedRange.bind(Y.xAxis.navigatorAxis)),r.options.scrollbar.enabled){let G=O(r.options.scrollbar,{vertical:r.inverted});!z(G.margin)&&Y.navigatorEnabled&&(G.margin=r.inverted?-3:3),r.scrollbar=Y.scrollbar=new pe(r.renderer,G,r),A(Y.scrollbar,"changed",function(x){let N=Y.size,R=N*this.to,K=N*this.from;Y.hasDragged=Y.scrollbar.hasDragged,Y.render(0,0,K,R),this.shouldUpdateExtremes(x.DOMType)&&setTimeout(function(){Y.onMouseUp(x)})})}Y.addBaseSeriesEvents(),Y.addChartEvents()}getUnionExtremes(r){let l,d=this.chart.xAxis[0],C=this.xAxis,k=C.options,p=d.options;return r&&null===d.dataMin||(l={dataMin:f(k&&k.min,y("min",p.min,d.dataMin,C.dataMin,C.min)),dataMax:f(k&&k.max,y("max",p.max,d.dataMax,C.dataMax,C.max))}),l}setBaseSeries(r,l){let d=this.chart,C=this.baseSeries=[];r=r||d.options&&d.options.navigator.baseSeries||(d.series.length?_(d.series,k=>!k.options.isInternal).index:0),(d.series||[]).forEach((k,p)=>{!k.options.isInternal&&(k.options.showInNavigator||(p===r||k.options.id===r)&&!1!==k.options.showInNavigator)&&C.push(k)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,l)}updateNavigatorSeries(r,l){let j,H,U,d=this,C=d.chart,k=d.baseSeries,p={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},S=d.series=(d.series||[]).filter(se=>{let w=se.baseSeries;return!(0>k.indexOf(w)&&(w&&(a(w,"updatedData",d.updatedDataHandler),delete w.navigatorSeries),se.chart&&se.destroy(),1))}),Y=d.navigatorOptions.series;k&&k.length&&k.forEach(se=>{let w=se.navigatorSeries,X=E({color:se.color,visible:se.visible},T(Y)?te.navigator.series:Y);if(w&&!1===d.navigatorOptions.adaptToUpdatedData)return;p.name="Navigator "+k.length,U=(j=se.options||{}).navigatorOptions||{},X.dataLabels=g(X.dataLabels),(H=O(j,p,X,U)).pointRange=f(X.pointRange,U.pointRange,te.plotOptions[H.type||"line"].pointRange);let G=U.data||X.data;d.hasNavigatorData=d.hasNavigatorData||!!G,H.data=G||j.data&&j.data.slice(0),w&&w.options?w.update(H,l):(se.navigatorSeries=C.initSeries(H),C.setSortedData(),se.navigatorSeries.baseSeries=se,S.push(se.navigatorSeries))}),(Y.data&&!(k&&k.length)||T(Y))&&(d.hasNavigatorData=!1,(Y=g(Y)).forEach((se,w)=>{p.name="Navigator "+(S.length+1),(H=O(te.navigator.series,{color:C.series[w]&&!C.series[w].options.isInternal&&C.series[w].color||C.options.colors[w]||C.options.colors[0]},p,se)).data=se.data,H.data&&(d.hasNavigatorData=!0,S.push(C.initSeries(H)))})),r&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let r=this,l=r.baseSeries||[];l[0]&&l[0].xAxis&&l[0].eventsToUnbind.push(A(l[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),l.forEach(d=>{d.eventsToUnbind.push(A(d,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),d.eventsToUnbind.push(A(d,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&d.xAxis&&d.eventsToUnbind.push(A(d,"updatedData",this.updatedDataHandler)),d.eventsToUnbind.push(A(d,"remove",function(){this.navigatorSeries&&(I(r.series,this.navigatorSeries),L(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(r){return this.baseSeries.reduce(function(l,d){return Math.min(l,d.xData&&d.xData.length?d.xData[0]:l)},r)}modifyNavigatorAxisExtremes(){let r=this.xAxis;if(void 0!==r.getExtremes){let l=this.getUnionExtremes(!0);l&&(l.dataMin!==r.min||l.dataMax!==r.max)&&(r.min=l.dataMin,r.max=l.dataMax)}}modifyBaseAxisExtremes(){let r,l,d=this.chart.navigator,C=this.getExtremes(),S=C.dataMin,j=C.dataMax,H=C.max-C.min,Y=d.stickToMin,U=d.stickToMax,se=f(this.ordinal?.convertOverscroll(this.options.overscroll),0),w=d.series&&d.series[0],X=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(Y&&(r=(l=S)+H),U&&(r=j+se,Y||(l=Math.max(S,r-H,d.getBaseSeriesMin(w&&w.xData?w.xData[0]:-Number.MAX_VALUE)))),X&&(Y||U)&&z(l)&&(this.min=this.userMin=l,this.max=this.userMax=r)),d.stickToMin=d.stickToMax=null}updatedDataHandler(){let r=this.chart.navigator,l=this.navigatorSeries,d=r.reversedExtremes?0===Math.round(r.zoomedMin):Math.round(r.zoomedMax)>=Math.round(r.size);r.stickToMax=f(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,d),r.stickToMin=r.shouldStickToMin(this,r),l&&!r.hasNavigatorData&&(l.options.pointStart=this.xData[0],l.setData(this.options.data,!1,null,!1))}shouldStickToMin(r,l){let d=l.getBaseSeriesMin(r.xData[0]),C=r.xAxis,k=C.max,p=C.min,S=C.options.range;return!(!z(k)||!z(p))&&(S&&k-d>0?k-d{r.destroy&&r.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(r=>{this[r]&&this[r].destroy&&this[r].destroy(),this[r]=null}),[this.handles].forEach(r=>{D(r)})}}return o}),Pe(V,"Stock/RangeSelector/RangeSelectorDefaults.js",[],function(){return{lang:{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"\u2192"},rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%e %b %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#334eff",cursor:"pointer",fontSize:"0.8em"},labelStyle:{color:"#666666",fontSize:"0.8em"}}}}),Pe(V,"Stock/RangeSelector/RangeSelectorComposition.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Stock/RangeSelector/RangeSelectorDefaults.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){let le,{defaultOptions:fe}=Z,{composed:pe}=ie,{addEvent:J,defined:te,extend:$,find:A,isNumber:B,merge:F,pick:L,pushUnique:D}=ve,I=[];function E(){let g,y,o=this.range,n=o.type,r=this.max,l=this.chart.time,d=function(k,p){let S="year"===n?"FullYear":"Month",j=new l.Date(k),H=l.get(S,j);return l.set(S,j,H+p),H===l.get(S,j)&&l.set("Date",j,0),j.getTime()-k};B(o)?(g=r-o,y=o):o&&(g=r+d(r,-(o.count||1)),this.chart&&this.chart.setFixedRange(r-g));let C=L(this.dataMin,Number.MIN_VALUE);return B(g)||(g=C),g<=C&&(g=C,void 0===y&&(y=d(g,o.count)),this.newMax=Math.min(g+y,L(this.dataMax,Number.MAX_VALUE))),B(r)?!B(o)&&o&&o._offsetMin&&(g+=o._offsetMin):g=void 0,g}function _(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new le(this))}function b(){let g=this.axes,y=this.rangeSelector;if(y){B(y.deferredYTDClick)&&(y.clickButton(y.deferredYTDClick),delete y.deferredYTDClick),g.forEach(n=>{n.updateNames(),n.setScale()}),this.getAxisMargins(),y.render();let o=y.options.verticalAlign;y.options.floating||("bottom"===o?this.extraBottomMargin=!0:"middle"===o||(this.extraTopMargin=!0))}}function T(g){let y,o,n,r,l=g.rangeSelector,d=()=>{l&&(y=g.xAxis[0].getExtremes(),o=g.legend,r=l&&l.options.verticalAlign,B(y.min)&&l.render(y.min,y.max),o.display&&"top"===r&&r===o.options.verticalAlign&&(n=F(g.spacingBox),"vertical"===o.options.layout?n.y=g.plotTop:n.y+=l.getHeight(),o.group.placed=!1,o.align(n)))};l&&(A(I,C=>C[0]===g)||I.push([g,[J(g.xAxis[0],"afterSetExtremes",function(C){l&&l.render(C.min,C.max)}),J(g,"redraw",d)]]),d())}function z(){for(let g=0,y=I.length;gn()),void I.splice(g,1)}}function O(){let g=this.rangeSelector;if(g){let y=g.getHeight();this.extraTopMargin&&(this.plotTop+=y),this.extraBottomMargin&&(this.marginBottom+=y)}}function f(){let g=this.rangeSelector;if(g&&!g.options.floating){g.render();let y=g.options.verticalAlign;"bottom"===y?this.extraBottomMargin=!0:"middle"!==y&&(this.extraTopMargin=!0)}}function a(g){let y=g.options.rangeSelector,o=this.extraBottomMargin,n=this.extraTopMargin,r=this.rangeSelector;if(y&&y.enabled&&!te(r)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=r=new le(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,r){T(this);let l=y&&y.verticalAlign||r.options&&r.options.verticalAlign;r.options.floating||("bottom"===l?this.extraBottomMargin=!0:"middle"===l||(this.extraTopMargin=!0)),(this.extraBottomMargin!==o||this.extraTopMargin!==n)&&(this.isDirtyBox=!0)}}return{compose:function(g,y,o){if(le=o,D(pe,"RangeSelector")){let n=y.prototype;g.prototype.minFromRange=E,J(y,"afterGetContainer",_),J(y,"beforeRender",b),J(y,"destroy",z),J(y,"getMargins",O),J(y,"render",f),J(y,"update",a),n.callbacks.push(T),$(fe,{rangeSelector:re.rangeSelector}),$(fe.lang,re.lang)}}}}),Pe(V,"Stock/RangeSelector/RangeSelector.js",[V["Core/Axis/Axis.js"],V["Core/Defaults.js"],V["Core/Globals.js"],V["Stock/RangeSelector/RangeSelectorComposition.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe){let{defaultOptions:pe}=ie,{addEvent:J,createElement:te,css:$,defined:A,destroyObjectProperties:B,discardElement:F,extend:L,fireEvent:D,isNumber:I,merge:E,objectEach:_,pad:b,pick:T,pInt:z,splat:O}=fe;class f{static compose(g,y){ve.compose(g,y,f)}constructor(g){this.buttonOptions=f.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.chart=g,this.init(g)}clickButton(g,y){let S,H,U,se,w,X,G,o=this.chart,n=this.buttonOptions[g],r=o.xAxis[0],l=o.scroller&&o.scroller.getUnionExtremes()||r||{},d=n.type,C=n.dataGrouping,k=l.dataMin,p=l.dataMax,j=r&&Math.round(Math.min(r.max,T(p,r.max))),Y=n._range,x=!0;if(null!==k&&null!==p){if(this.setSelected(g),C&&(this.forcedDataGrouping=!0,Z.prototype.setDataGrouping.call(r||{chart:this.chart},C,!1),this.frozenStates=n.preserveDataGrouping),"month"===d||"year"===d)r?(X={range:n,max:j,chart:o,dataMin:k,dataMax:p},S=r.minFromRange.call(X),I(X.newMax)&&(j=X.newMax),x=!1):Y=n;else if(Y)j=Math.min((S=Math.max(j-Y,k))+Y,p),x=!1;else if("ytd"===d){if(!r)return void(this.deferredYTDClick=g);(void 0===p||void 0===k)&&(k=Number.MAX_VALUE,p=Number.MIN_VALUE,o.series.forEach(N=>{let R=N.xData;R&&(k=Math.min(R[0],k),p=Math.max(R[R.length-1],p))}),y=!1),S=U=(G=this.getYTDExtremes(p,k,o.time.useUTC)).min,j=G.max}else"all"===d&&r&&(o.navigator&&o.navigator.baseSeries[0]&&(o.navigator.baseSeries[0].xAxis.options.range=void 0),S=k,j=p);x&&n._offsetMin&&A(S)&&(S+=n._offsetMin),n._offsetMax&&A(j)&&(j+=n._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=g+1),r?(r.setExtremes(S,j,T(y,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:n}),o.setFixedRange(n._range)):(w=(H=O(o.options.xAxis)[0]).range,H.range=Y,se=H.min,H.min=U,J(o,"load",function(){o.setFixedRange(n._range),H.range=w,H.min=se})),D(this,"afterBtnClick")}}setSelected(g){this.selected=this.options.selected=g}init(g){let y=this,o=g.options.rangeSelector,n=o.buttons||y.defaultButtons.slice(),r=o.selected,l=function(){let d=y.minInput,C=y.maxInput;d&&d.blur&&D(d,"blur"),C&&C.blur&&D(C,"blur")};y.chart=g,y.options=o,y.buttons=[],y.buttonOptions=n,this.eventsToUnbind=[],this.eventsToUnbind.push(J(g.container,"mousedown",l)),this.eventsToUnbind.push(J(g,"resize",l)),n.forEach(y.computeButtonRange),void 0!==r&&n[r]&&this.clickButton(r,!1),this.eventsToUnbind.push(J(g,"load",function(){g.xAxis&&g.xAxis[0]&&J(g.xAxis[0],"setExtremes",function(d){I(this.max)&&I(this.min)&&this.max-this.min!==g.fixedRange&&"rangeSelectorButton"!==d.trigger&&"updatedData"!==d.trigger&&y.forcedDataGrouping&&!y.frozenStates&&this.setDataGrouping(!1,!1)})}))}updateButtonStates(){let g=this,y=this.chart,o=this.dropdown,n=y.xAxis[0],r=Math.round(n.max-n.min),l=!n.hasVisibleSeries,d=864e5,C=y.scroller&&y.scroller.getUnionExtremes()||n,k=C.dataMin,p=C.dataMax,S=g.getYTDExtremes(p,k,y.time.useUTC),j=S.min,H=S.max,Y=g.selected,U=g.options.allButtonsEnabled,se=g.buttons,w=I(Y),X=!1;g.buttonOptions.forEach((G,x)=>{let N=G._range,R=G.type,K=G.count||1,q=se[x],he=G._offsetMax-G._offsetMin,me=x===Y,Ce=N>p-k,Se=NN&&(oe=!0)}else("month"===R||"year"===R)&&r+36e5>={month:28,year:365}[R]*d*K-he&&r-36e5<={month:31,year:366}[R]*d*K+he?oe=!0:"ytd"===R?(oe=H-j+he===r,Ae=!me):"all"===R&&(oe=n.max-n.min>=p-k,Fe=!me&&w&&oe);let ee=!U&&!(X&&"all"===R)&&(Ce||Se||Fe||l);ee?Oe=3:(X&&"all"===R||me&&oe||oe&&!w&&!Ae||me&&g.frozenStates)&&(w=!0,Oe=2),q.state!==Oe&&(q.setState(Oe),o&&(o.options[x+1].disabled=ee,2===Oe&&(o.selectedIndex=x+1)),0===Oe&&Y===x?g.setSelected():(2===Oe&&!A(Y)||X)&&g.setSelected(x))})}computeButtonRange(g){let y=g.type,o=g.count||1,n={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5};n[y]?g._range=n[y]*o:("month"===y||"year"===y)&&(g._range=24*{month:30,year:365}[y]*36e5*o),g._offsetMin=T(g.offsetMin,0),g._offsetMax=T(g.offsetMax,0),g._range+=g._offsetMax-g._offsetMin}getInputValue(g){let y="min"===g?this.minInput:this.maxInput,n=this.chart.time;return y?("text"===y.type&&this.chart.options.rangeSelector.inputDateParser||this.defaultInputDateParser)(y.value,n.useUTC,n):0}setInputValue(g,y){let o=this.options,n=this.chart.time,r="min"===g?this.minInput:this.maxInput,l="min"===g?this.minDateBox:this.maxDateBox;if(r){let d=r.getAttribute("data-hc-time"),C=A(d)?Number(d):void 0;if(A(y)){let k=C;A(k)&&r.setAttribute("data-hc-time-previous",k),r.setAttribute("data-hc-time",y),C=y}r.value=n.dateFormat(this.inputTypeFormats[r.type]||o.inputEditDateFormat,C),l&&l.attr({text:n.dateFormat(o.inputDateFormat,C)})}}setInputExtremes(g,y,o){let n="min"===g?this.minInput:this.maxInput;if(n){let r=this.inputTypeFormats[n.type],l=this.chart.time;if(r){let d=l.dateFormat(r,y);n.min!==d&&(n.min=d);let C=l.dateFormat(r,o);n.max!==C&&(n.max=C)}}}showInput(g){let y="min"===g?this.minDateBox:this.maxDateBox,o="min"===g?this.minInput:this.maxInput;if(o&&y&&this.inputGroup){let n="text"===o.type,{translateX:r=0,translateY:l=0}=this.inputGroup,{x:d=0,width:C=0,height:k=0}=y,{inputBoxWidth:p}=this.options;$(o,{width:n?C+(p?-2:20)+"px":"auto",height:k-2+"px",border:"2px solid silver"}),$(o,n&&p?{left:r+d+"px",top:l+"px"}:{left:Math.min(Math.round(d+r-(o.offsetWidth-C)/2),this.chart.chartWidth-o.offsetWidth)+"px",top:l-(o.offsetHeight-k)/2+"px"})}}hideInput(g){let y="min"===g?this.minInput:this.maxInput;y&&$(y,{top:"-9999em",border:0,width:"1px",height:"1px"})}defaultInputDateParser(g,y,o){let n=g.split("/").join("-").split(" ").join("T");if(-1===n.indexOf("T")&&(n+="T00:00"),y)n+="Z";else{let l;if(re.isSafari&&(!((l=n).length>6)||l.lastIndexOf("-")!==l.length-6&&l.lastIndexOf("+")!==l.length-6)){let d=new Date(n).getTimezoneOffset()/60;n+=d<=0?`+${b(-d)}:00`:`-${b(d)}:00`}}let r=Date.parse(n);if(!I(r)){let l=g.split("-");r=Date.UTC(z(l[0]),z(l[1])-1,z(l[2]))}return o&&y&&I(r)&&(r+=o.getTimezoneOffset(r)),r}drawInput(g){let{chart:y,div:o,inputGroup:n}=this,r=this,l=y.renderer.style||{},d=y.renderer,C=y.options.rangeSelector,p="min"===g;function S(){let{maxInput:w,minInput:X}=r,G=y.xAxis[0],x=y.scroller&&y.scroller.getUnionExtremes()||G,N=x.dataMin,R=x.dataMax,K=r.getInputValue(g);K!==Number(U.getAttribute("data-hc-time-previous"))&&I(K)&&(U.setAttribute("data-hc-time-previous",K),p&&w&&I(N)?K>Number(w.getAttribute("data-hc-time"))?K=void 0:KR&&(K=R)),void 0!==K&&G.setExtremes(p?K:G.min,p?G.max:K,void 0,void 0,{trigger:"rangeSelectorInput"}))}let j=pe.lang[p?"rangeSelectorFrom":"rangeSelectorTo"]||"",H=d.label(j,0).addClass("highcharts-range-label").attr({padding:j?2:0,height:j?C.inputBoxHeight:0}).add(n),Y=d.label("",0).addClass("highcharts-range-input").attr({padding:2,width:C.inputBoxWidth,height:C.inputBoxHeight,"text-align":"center"}).on("click",function(){r.showInput(g),r[g+"Input"].focus()});y.styledMode||Y.attr({stroke:C.inputBoxBorderColor,"stroke-width":1}),Y.add(n);let U=te("input",{name:g,className:"highcharts-range-selector"},void 0,o);U.setAttribute("type",function(w){if(-1!==w.indexOf("%L"))return"text";let X=["a","A","d","e","w","b","B","m","o","y","Y"].some(x=>-1!==w.indexOf("%"+x)),G=["H","k","I","l","M","S"].some(x=>-1!==w.indexOf("%"+x));return X&&G?"datetime-local":X?"date":G?"time":"text"}(C.inputDateFormat||"%e %b %Y")),y.styledMode||(H.css(E(l,C.labelStyle)),Y.css(E({color:"#333333"},l,C.inputStyle)),$(U,L({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:l.fontSize,fontFamily:l.fontFamily,top:"-9999em"},C.inputStyle))),U.onfocus=()=>{r.showInput(g)},U.onblur=()=>{U===re.doc.activeElement&&S(),r.hideInput(g),r.setInputValue(g),U.blur()};let se=!1;return U.onchange=()=>{se||(S(),r.hideInput(g),U.blur())},U.onkeypress=w=>{13===w.keyCode&&S()},U.onkeydown=w=>{se=!0,(38===w.keyCode||40===w.keyCode)&&S()},U.onkeyup=()=>{se=!1},{dateBox:Y,input:U,label:H}}getPosition(){let g=this.chart,y=g.options.rangeSelector,o="top"===y.verticalAlign?g.plotTop-g.axisOffset[0]:0;return{buttonTop:o+y.buttonPosition.y,inputTop:o+y.inputPosition.y-10}}getYTDExtremes(g,y,o){let n=this.chart.time,r=new n.Date(g),l=n.get("FullYear",r),d=Math.max(y,o?n.Date.UTC(l,0,1):+new n.Date(l,0,1)),C=r.getTime();return{max:Math.min(g||C,C),min:d}}render(g,y){let o=this.chart,n=o.renderer,r=o.container,l=o.options,d=l.rangeSelector,C=T(l.chart.style&&l.chart.style.zIndex,0)+1,k=d.inputEnabled;if(!1!==d.enabled){if(!this.rendered&&(this.group=n.g("range-selector-group").attr({zIndex:7}).add(),this.div=te("div",void 0,{position:"relative",height:0,zIndex:C}),this.buttonOptions.length&&this.renderButtons(),r.parentNode&&r.parentNode.insertBefore(this.div,r),k)){this.inputGroup=n.g("input-group").add(this.group);let S=this.drawInput("min");this.minDateBox=S.dateBox,this.minLabel=S.label,this.minInput=S.input;let j=this.drawInput("max");this.maxDateBox=j.dateBox,this.maxLabel=j.label,this.maxInput=j.input}if(k){this.setInputValue("min",g),this.setInputValue("max",y);let S=o.scroller&&o.scroller.getUnionExtremes()||o.xAxis[0]||{};if(A(S.dataMin)&&A(S.dataMax)){let j=o.xAxis[0].minRange||0;this.setInputExtremes("min",S.dataMin,Math.min(S.dataMax,this.getInputValue("max"))-j),this.setInputExtremes("max",Math.max(S.dataMin,this.getInputValue("min"))+j,S.dataMax)}if(this.inputGroup){let j=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(H=>{if(H){let{width:Y}=H.getBBox();Y&&(H.attr({x:j}),j+=Y+d.inputSpacing)}})}}this.alignElements(),this.rendered=!0}}renderButtons(){let{buttons:g,chart:y,options:o}=this,n=pe.lang,r=y.renderer,l=E(o.buttonTheme),d=l&&l.states,C=l.width||28;delete l.width,delete l.states,this.buttonGroup=r.g("range-selector-buttons").add(this.group);let k=this.dropdown=te("select",void 0,{position:"absolute",width:"1px",height:"1px",padding:0,border:0,top:"-9999em",cursor:"pointer",opacity:1e-4},this.div);J(k,"touchstart",()=>{k.style.fontSize="16px"}),[[re.isMS?"mouseover":"mouseenter"],[re.isMS?"mouseout":"mouseleave"],["change","click"]].forEach(([p,S])=>{J(k,p,()=>{let j=g[this.currentButtonIndex()];j&&D(j.element,S||p)})}),this.zoomText=r.label(n&&n.rangeSelectorZoom||"",0).attr({padding:o.buttonTheme.padding,height:o.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(o.labelStyle),l["stroke-width"]=T(l["stroke-width"],0)),te("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,k),this.buttonOptions.forEach((p,S)=>{te("option",{textContent:p.title||p.text},void 0,k),g[S]=r.button(p.text,0,0,j=>{let H,Y=p.events&&p.events.click;Y&&(H=Y.call(p,j)),!1!==H&&this.clickButton(S),this.isActive=!0},l,d&&d.hover,d&&d.select,d&&d.disabled).attr({"text-align":"center",width:C}).add(this.buttonGroup),p.title&&g[S].attr("title",p.title)})}alignElements(){let{buttonGroup:g,buttons:y,chart:o,group:n,inputGroup:r,options:l,zoomText:d}=this,C=o.options,k=C.exporting&&!1!==C.exporting.enabled&&C.navigation&&C.navigation.buttonOptions,{buttonPosition:p,inputPosition:S,verticalAlign:j}=l,H=(U,se)=>k&&this.titleCollision(o)&&"top"===j&&"right"===se.align&&se.y-U.getBBox().height-12<(k.y||0)+(k.height||0)+o.spacing[0]?-40:0,Y=o.plotLeft;if(n&&p&&S){let U=p.x-o.spacing[3];if(g){if(this.positionButtons(),!this.initialButtonGroupWidth){let q=0;d&&(q+=d.getBBox().width+5),y.forEach((he,me)=>{q+=he.width||0,me!==y.length-1&&(q+=l.buttonSpacing)}),this.initialButtonGroupWidth=q}Y-=o.spacing[3],this.updateButtonStates();let K=H(g,p);this.alignButtonGroup(K),n.placed=g.placed=o.hasLoaded}let se=0;r&&(se=H(r,S),"left"===S.align?U=Y:"right"===S.align&&(U=-Math.max(o.axisOffset[1],-se)),r.align({y:S.y,width:r.getBBox().width,align:S.align,x:S.x+U-2},!0,o.spacingBox),r.placed=o.hasLoaded),this.handleCollision(se),n.align({verticalAlign:j},!0,o.spacingBox);let w=n.alignAttr.translateY,X=n.getBBox().height+20,G=0;if("bottom"===j){let K=o.legend&&o.legend.options;G=w-(X=X+(K&&"bottom"===K.verticalAlign&&K.enabled&&!K.floating?o.legend.legendHeight+T(K.margin,10):0)-20)-(l.floating?0:l.y)-(o.titleOffset?o.titleOffset[2]:0)-10}"top"===j?(l.floating&&(G=0),o.titleOffset&&o.titleOffset[0]&&(G=o.titleOffset[0]),G+=o.margin[0]-o.spacing[0]||0):"middle"===j&&(S.y===p.y?G=w:(S.y||p.y)&&(S.y<0||p.y<0?G-=Math.min(S.y,p.y):G=w-X)),n.translate(l.x,l.y+Math.floor(G));let{minInput:x,maxInput:N,dropdown:R}=this;l.inputEnabled&&x&&N&&(x.style.marginTop=n.translateY+"px",N.style.marginTop=n.translateY+"px"),R&&(R.style.marginTop=n.translateY+"px")}}alignButtonGroup(g,y){let{chart:o,options:n,buttonGroup:r}=this,{buttonPosition:l}=n,d=o.plotLeft-o.spacing[3],C=l.x-o.spacing[3];"right"===l.align?C+=g-d:"center"===l.align&&(C-=d/2),r&&r.align({y:l.y,width:T(y,this.initialButtonGroupWidth),align:l.align,x:C},!0,o.spacingBox)}positionButtons(){let{buttons:g,chart:y,options:o,zoomText:n}=this,r=y.hasLoaded?"animate":"attr",{buttonPosition:l}=o,d=y.plotLeft,C=d;n&&"hidden"!==n.visibility&&(n[r]({x:T(d+l.x,d)}),C+=l.x+n.getBBox().width+5);for(let k=0,p=this.buttonOptions.length;k{let S=0;return this.buttons.forEach(j=>{let H=j.getBBox();H.width>S&&(S=H.width)}),S},k=S=>{if(n&&o){let j=n.alignAttr.translateX+n.alignOptions.x-g+n.getBBox().x+2,H=n.alignOptions.width,Y=o.alignAttr.translateX+o.getBBox().x;return Y+S>j&&j+H>Y&&r.y{n&&o&&n.attr({translateX:n.alignAttr.translateX+(y.axisOffset[1]>=-g?0:-g),translateY:n.alignAttr.translateY+o.getBBox().height+10})};if(o){if("always"===l)return this.collapseButtons(g),void(k(C())&&p());"never"===l&&this.expandButtons()}n&&o?d.align===r.align||k(this.initialButtonGroupWidth+20)?"responsive"===l?(this.collapseButtons(g),k(C())&&p()):p():"responsive"===l&&this.expandButtons():o&&"responsive"===l&&(this.initialButtonGroupWidth>y.plotWidth?this.collapseButtons(g):this.expandButtons())}collapseButtons(g){let{buttons:y,buttonOptions:o,chart:n,dropdown:r,options:l,zoomText:d}=this;if(!0===this.isCollapsed)return;this.isCollapsed=!0;let C=n.userOptions.rangeSelector&&n.userOptions.rangeSelector.buttonTheme||{},k=j=>({text:j?`${j} \u25be`:"\u25be",width:"auto",paddingLeft:T(l.buttonTheme.paddingLeft,C.padding,8),paddingRight:T(l.buttonTheme.paddingRight,C.padding,8)});d&&d.hide();let p=!1;o.forEach((j,H)=>{let Y=y[H];2!==Y.state?Y.hide():(Y.show(),Y.attr(k(j.text)),p=!0)}),p||(r&&(r.selectedIndex=0),y[0].show(),y[0].attr(k(this.zoomText&&this.zoomText.textStr)));let{align:S}=l.buttonPosition;this.positionButtons(),("right"===S||"center"===S)&&this.alignButtonGroup(g,y[this.currentButtonIndex()].getBBox().width),this.showDropdown()}expandButtons(){let{buttons:g,buttonOptions:y,options:o,zoomText:n}=this;this.hideDropdown(),!1!==this.isCollapsed&&(this.isCollapsed=!1,n&&n.show(),y.forEach((r,l)=>{let d=g[l];d.show(),d.attr({text:r.text,width:o.buttonTheme.width||28,paddingLeft:T(o.buttonTheme.paddingLeft,"unset"),paddingRight:T(o.buttonTheme.paddingRight,"unset")}),d.state<2&&d.setState(0)}),this.positionButtons())}currentButtonIndex(){let{dropdown:g}=this;return g&&g.selectedIndex>0?g.selectedIndex-1:0}showDropdown(){let{buttonGroup:g,buttons:y,chart:o,dropdown:n}=this;if(g&&n){let{translateX:r=0,translateY:l=0}=g,d=y[this.currentButtonIndex()].getBBox();$(n,{left:o.plotLeft+r+"px",top:l+.5+"px",width:d.width+"px",height:d.height+"px"}),this.hasVisibleDropdown=!0}}hideDropdown(){let{dropdown:g}=this;g&&($(g,{top:"-9999em",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let g=this.options,y=this.group,r=g.y,l=g.buttonPosition.y,d=g.inputPosition.y,C=0;if(g.height)return g.height;this.alignElements(),C=y?y.getBBox(!0).height+13+r:0;let k=Math.min(d,l);return(d<0&&l<0||d>0&&l>0)&&(C+=Math.abs(k)),C}titleCollision(g){return!(g.options.title.text||g.options.subtitle.text)}update(g){let y=this.chart;E(!0,y.options.rangeSelector,g),this.destroy(),this.init(y),this.render()}destroy(){let g=this,y=g.minInput,o=g.maxInput;g.eventsToUnbind&&(g.eventsToUnbind.forEach(n=>n()),g.eventsToUnbind=void 0),B(g.buttons),y&&(y.onfocus=y.onblur=y.onchange=null),o&&(o.onfocus=o.onblur=o.onchange=null),_(g,function(n,r){n&&"chart"!==r&&(n instanceof le?n.destroy():n instanceof e.HTMLElement&&F(n)),n!==f.prototype[r]&&(g[r]=null)},this)}}return L(f.prototype,{defaultButtons:[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}}),f}),Pe(V,"Series/PathUtilities.js",[],function(){function Z(ie,re){let ve=[];for(let le=0;le>1].xMin)>0)E=b+1;else{if(!(T<0))return b;_=b-1}return E>0?E-1:0}function J(F,L){let D=pe(F,L.x+1)+1;for(;D--;){var I;if(F[D].xMax>=L.x&&L.x<=(I=F[D]).xMax&&L.x>=I.xMin&&L.y<=I.yMax&&L.y>=I.yMin)return D}return-1}function te(F){let L=[];if(F.length){L.push(["M",F[0].start.x,F[0].start.y]);for(let D=0;Dfe(L.y-F.y))?"x":"y";function y(l,d,C,k,p){let S={x:l.x,y:l.y};return S[d]=C[k||d]+(p||0),S}function o(l,d,C){let k=fe(d[C]-l[C+"Min"])>fe(d[C]-l[C+"Max"]);return y(d,C,l,C+(k?"Max":"Min"),k?1:-1)}b>-1?(T={start:f=o(E[b],L,z),end:L},g=f):g=L,_>-1&&(f=o(O=E[_],F,z),I.push({start:F,end:f}),f[z]>=F[z]==f[z]>=g[z]&&(a=F[z="y"===z?"x":"y"]fe(L.y-F.y)),E=I?"x":"y",_=[],b=D.obstacleMetrics,T=ve(F.x,L.x)-b.maxWidth-10,z=le(F.x,L.x)+b.maxWidth+10,O=ve(F.y,L.y)-b.maxHeight-10,f=le(F.y,L.y)+b.maxHeight+10,o=!1,n=D.chartObstacles,r=pe(n,z),l=pe(n,T);function d(k,p,S){let j,H,Y,U,se=k.x0&&n[w].xMin<=H.x||se<0&&n[w].xMax>=j.x);){if(n[w].xMin<=H.x&&n[w].xMax>=j.x&&n[w].yMin<=Y.y&&n[w].yMax>=U.y)return S?{y:k.y,x:k.x=Y[se+"Max"],x=k[se+"Min"]<=Y[se+"Min"],N=k[se+"Max"]>=U[se+"Max"],R=k[se+"Min"]<=U[se+"Min"],K=fe(k[se+"Min"]-p[se]),q=fe(k[se+"Max"]-p[se]),he=10>fe(K-q)?p[se]-1&&(y=function(k,p,S){let j=ve(k.xMax-p.x,p.x-k.xMin)-1;)g=L[E]-F[E]<0,(y={x:L.x,y:L.y})[E]=n[r][g?E+"Max":E+"Min"]+(g?1:-1),_.push({end:L,start:y}),L=y;return{path:te(a=(a=function k(p,S,j){let H,Y,U,se,w,X,G;if(p.x===S.x&&p.y===S.y)return[];let x=j?"x":"y",N=D.obstacleOptions.margin,R={soft:{xMin:T,xMax:z,yMin:O,yMax:f},hard:D.hardBounds};return(w=J(n,p))>-1?(se=C(w=n[w],p,S,j,R),$(w,D.hardBounds),G=j?{y:p.y,x:w[se?"xMax":"xMin"]+(se?1:-1)}:{x:p.x,y:w[se?"yMax":"yMin"]+(se?1:-1)},(X=J(n,G))>-1&&($(X=n[X],D.hardBounds),G[x]=se?le(w[x+"Max"]-N+1,(X[x+"Min"]+w[x+"Max"])/2):ve(w[x+"Min"]+N-1,(X[x+"Max"]+w[x+"Min"])/2),p.x===G.x&&p.y===G.y?(o&&(G[x]=se?le(w[x+"Max"],X[x+"Max"])+1:ve(w[x+"Min"],X[x+"Min"])-1),o=!o):o=!1),Y=[{start:p,end:G}]):(H=d(p,{x:j?S.x:p.x,y:j?p.y:S.y},j),Y=[{start:p,end:{x:H.x,y:H.y}}],H[j?"x":"y"]!==S[j?"x":"y"]&&(se=C(H.obstacle,H,S,!j,R),$(H.obstacle,D.hardBounds),U={x:j?H.x:H.obstacle[se?"xMax":"xMin"]+(se?1:-1),y:j?H.obstacle[se?"yMax":"yMin"]+(se?1:-1):H.y},Y=Y.concat(k({x:H.x,y:H.y},U,j=!j)))),Y.concat(k(Y[Y.length-1].end,S,!j))}(F,L,I)).concat(_.reverse())),obstacles:a}}return A.requiresObstacles=!0,B.requiresObstacles=!0,{fastAvoid:B,straight:function(F,L){return{path:[["M",F.x,F.y],["L",L.x,L.y]],obstacles:[{start:F,end:L}]}},simpleConnect:A}}),Pe(V,"Gantt/ConnectorsDefaults.js",[],function(){return{connectors:{type:"straight",radius:0,lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}}}),Pe(V,"Gantt/PathfinderComposition.js",[V["Gantt/ConnectorsDefaults.js"],V["Core/Defaults.js"],V["Core/Utilities.js"]],function(Z,ie,re){var ve;let{setOptions:le}=ie,{defined:fe,error:pe,merge:J}=re;function te($){let A=$.shapeArgs;if(A)return{xMin:A.x||0,xMax:(A.x||0)+(A.width||0),yMin:A.y||0,yMax:(A.y||0)+(A.height||0)};let B=$.graphic&&$.graphic.getBBox();return B?{xMin:$.plotX-B.width/2,xMax:$.plotX+B.width/2,yMin:$.plotY-B.height/2,yMax:$.plotY+B.height/2}:null}return function($){function A(L){let D,I,E=te(this);switch(L.align){case"right":D="xMax";break;case"left":D="xMin"}switch(L.verticalAlign){case"top":I="yMin";break;case"bottom":I="yMax"}return{x:D?E[D]:(E.xMin+E.xMax)/2,y:I?E[I]:(E.yMin+E.yMax)/2}}function B(L,D){let I;return!fe(D)&&(I=te(this))&&(D={x:(I.xMin+I.xMax)/2,y:(I.yMin+I.yMax)/2}),Math.atan2(D.y-L.y,L.x-D.x)}function F(L,D,I){let E=2*Math.PI,_=te(this),b=_.xMax-_.xMin,T=_.yMax-_.yMin,z=Math.atan2(T,b),O=b/2,f=T/2,a=_.xMin+O,g=_.yMin+f,y={x:a,y:g},o=L,n=1,r=!1,l=1,d=1;for(;o<-Math.PI;)o+=E;for(;o>Math.PI;)o-=E;return n=Math.tan(o),o>-z&&o<=z?(d=-1,r=!0):o>z&&o<=Math.PI-z?d=-1:o>Math.PI-z||o<=-(Math.PI-z)?(l=-1,r=!0):l=-1,r?(y.x+=l*O,y.y+=d*O*n):(y.x+=T/(2*n)*l,y.y+=d*f),I.x!==a&&(y.x=I.x),I.y!==g&&(y.y=I.y),{x:y.x+D*Math.cos(o),y:y.y-D*Math.sin(o)}}$.compose=function(L,D,I){let E=I.prototype;E.getPathfinderAnchorPoint||(L.prototype.callbacks.push(function(_){!1!==_.options.connectors.enabled&&((_.options.pathfinder||_.series.reduce(function(b,T){return T.options&&J(!0,T.options.connectors=T.options.connectors||{},T.options.pathfinder),b||T.options&&T.options.pathfinder},!1))&&(J(!0,_.options.connectors=_.options.connectors||{},_.options.pathfinder),pe('WARNING: Pathfinder options have been renamed. Use "chart.connectors" or "series.connectors" instead.')),this.pathfinder=new D(this),this.pathfinder.update(!0))}),E.getMarkerVector=F,E.getPathfinderAnchorPoint=A,E.getRadiansToVector=B,le(Z))}}(ve||(ve={})),ve}),Pe(V,"Gantt/Pathfinder.js",[V["Gantt/Connection.js"],V["Gantt/PathfinderAlgorithms.js"],V["Gantt/PathfinderComposition.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le){let{addEvent:fe,defined:pe,pick:J,splat:te}=le,$=Math.max,A=Math.min;class B{static compose(L,D){re.compose(L,B,D)}constructor(L){this.init(L)}init(L){this.chart=L,this.connections=[],fe(L,"redraw",function(){this.pathfinder.update()})}update(L){let D=this.chart,I=this,E=I.connections;I.connections=[],D.series.forEach(function(_){_.visible&&!_.options.isInternal&&_.points.forEach(function(b){let T,z=b.options;z&&z.dependency&&(z.connect=z.dependency);let O=b.options?.connect&&te(b.options.connect);b.visible&&!1!==b.isInside&&O&&O.forEach(function(f){(T=D.get("string"==typeof f?f:f.to))instanceof ve&&T.series.visible&&T.visible&&!1!==T.isInside&&I.connections.push(new Z(b,T,"string"==typeof f?{}:f))})})});for(let b,T,_=0,z=E.length,O=I.connections.length;_o.yMin-r&&y.yMin-ro.xMin-r&&y.xMin-ro.xMax?y.xMin-o.xMax:o.xMin-y.xMax:1/0,k=d?y.yMin>o.yMax?y.yMin-o.yMax:o.yMin-y.yMax:1/0;return d&&l?r?g(y,o,Math.floor(r/2)):1/0:A(C,k)}(b[f],b[a]))<80&&O.push(T);return O.push(80),$(Math.floor(O.sort(function(f,a){return f-a})[Math.floor(O.length/10)]/2-1),1)}(E),E.forEach(function(b){b.xMin-=_,b.xMax+=_,b.yMin-=_,b.yMax+=_})),E}getObstacleMetrics(L){let E,_,D=0,I=0,b=L.length;for(;b--;)E=L[b].xMax-L[b].xMin,_=L[b].yMax-L[b].yMin,D=1&&(te.plotHeight=B,te.redrawTrigger="adjustHeight",te.setSize(void 0,te.chartHeight+F,$)),J.series.forEach(function(L){let D=L.sharedClipKey&&te.sharedClips[L.sharedClipKey];D&&D.attr(te.inverted?{width:te.plotHeight}:{height:te.plotHeight})})}}this.initiatedScale=!0}this.redrawTrigger=null}return{compose:function(J,te){let $=te.prototype;$.adjustHeight||(ie(J,"afterSetOptions",fe),$.adjustHeight=pe,ie(te,"render",$.adjustHeight))}}}),Pe(V,"masters/modules/static-scale.src.js",[V["Core/Globals.js"],V["Extensions/StaticScale.js"]],function(Z,ie){return ie.compose(Z.Axis,Z.Chart),Z}),Pe(V,"Series/XRange/XRangeSeriesDefaults.js",[V["Core/Utilities.js"]],function(Z){let{correctFloat:ie,isNumber:re,isObject:ve}=Z;return{colorByPoint:!0,dataLabels:{formatter:function(){let le=this.point.partialFill;if(ve(le)&&(le=le.amount),re(le)&&le>0)return ie(100*le)+"%"},inside:!0,verticalAlign:"middle",style:{whiteSpace:"nowrap"}},tooltip:{headerFormat:'{point.x} - {point.x2}
',pointFormat:'\u25cf {series.name}: {point.yCategory}
'},borderRadius:3,pointRange:0}}),Pe(V,"Series/XRange/XRangePoint.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie){let{column:{prototype:{pointClass:re}}}=Z.seriesTypes,{extend:ve}=ie;class le extends re{static getColorByCategory(pe,J){let te=pe.options.colors||pe.chart.options.colors,A=J.y%(te?te.length:pe.chart.options.chart.colorCount);return{colorIndex:A,color:te&&te[A]}}resolveColor(){let pe=this.series;if(pe.options.colorByPoint&&!this.options.color){let J=le.getColorByCategory(pe,this);pe.chart.styledMode||(this.color=J.color),this.options.colorIndex||(this.colorIndex=J.colorIndex)}else this.color=this.options.color||pe.color}constructor(pe,J){super(pe,J),this.y||(this.y=0)}setState(){super.setState.apply(this,arguments),this.series.drawPoint(this,this.series.getAnimationVerb())}getLabelConfig(){let pe=super.getLabelConfig.call(this),J=this.series.yAxis.categories;return pe.x2=this.x2,pe.yCategory=this.yCategory=J&&J[this.y],pe.key=this.category||this.name,pe}isValid(){return"number"==typeof this.x&&"number"==typeof this.x2}}return ve(le.prototype,{ttBelow:!1,tooltipDateKeys:["x","x2"]}),le}),Pe(V,"Series/XRange/XRangeSeries.js",[V["Core/Globals.js"],V["Core/Color/Color.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"],V["Series/XRange/XRangeSeriesDefaults.js"],V["Series/XRange/XRangePoint.js"]],function(Z,ie,re,ve,le,fe){let{composed:pe,noop:J}=Z,{parse:te}=ie,{column:$}=re.seriesTypes,{addEvent:A,clamp:B,defined:F,extend:L,find:D,isNumber:I,isObject:E,merge:_,pick:b,pushUnique:T,relativeLength:z}=ve;function O(){let a,g;if(this.isXAxis){for(let y of(a=b(this.dataMax,-Number.MAX_VALUE),this.series))if(y.x2Data)for(let o of y.x2Data)o&&o>a&&(a=o,g=!0);g&&(this.dataMax=a)}}class f extends ${static compose(g){T(pe,"Series.XRange")&&A(g,"afterGetSeriesExtremes",O)}init(){super.init.apply(this,arguments),this.options.stacking=void 0}getColumnMetrics(){let g=()=>{for(let o of this.chart.series){let n=o.xAxis;o.xAxis=o.yAxis,o.yAxis=n}};g();let y=super.getColumnMetrics();return g(),y}cropData(g,y,o,n){let r=super.cropData(this.x2Data,y,o,n);return r.xData=g.slice(r.start,r.end),r}findPointIndex(g){let y,{cropStart:o,points:n}=this,{id:r}=g;if(r){let l=D(n,d=>d.id===r);y=l?l.index:void 0}if(void 0===y){let l=D(n,d=>d.x===g.x&&d.x2===g.x2&&!d.touched);y=l?l.index:void 0}return this.cropped&&I(y)&&I(o)&&y>=o&&(y-=o),y}alignDataLabel(g){let y=g.plotX;g.plotX=b(g.dlBox&&g.dlBox.centerX,g.plotX),g.dataLabel&&g.shapeArgs?.width&&g.dataLabel.css({width:`${g.shapeArgs.width}px`}),super.alignDataLabel.apply(this,arguments),g.plotX=y}translatePoint(g){let X,G,R,K,q,he,y=this.xAxis,o=this.yAxis,n=this.columnMetrics,r=this.options,l=r.minPointLength||0,d=(g.shapeArgs&&g.shapeArgs.width||0)/2,C=this.pointXOffset=n.offset,k=b(g.x2,g.x+(g.len||0)),p=r.borderRadius,S=this.chart.plotTop,j=this.chart.plotLeft,H=g.plotX,Y=y.translate(k,0,0,0,1),U=Math.abs(Y-H),se=this.chart.inverted,w=b(r.borderWidth,1)%2/2,x=n.offset,N=Math.round(n.width);l&&((X=l-U)<0&&(X=0),H-=X/2,Y+=X/2),H=Math.max(H,-10),Y=B(Y,-10,y.len+10),F(g.options.pointWidth)&&(x-=(Math.ceil(g.options.pointWidth)-N)/2,N=Math.ceil(g.options.pointWidth)),r.pointPlacement&&I(g.plotY)&&o.categories&&(g.plotY=o.translate(g.y,0,1,0,1,r.pointPlacement));let me=Math.floor(Math.min(H,Y))+w,Ce=Math.floor(Math.max(H,Y))+w-me,Se=Math.min(z("object"==typeof p?p.radius:p||0,N),Math.min(Ce,N)/2),Oe={x:me,y:Math.floor(g.plotY+x)+w,width:Ce,height:N,r:Se};g.shapeArgs=Oe,se?g.tooltipPos[1]+=C+d:g.tooltipPos[0]-=d+C-Oe.width/2,K=(R=Oe.x)+Oe.width,R<0||K>y.len?(R=B(R,0,y.len),q=(K=B(K,0,y.len))-R,g.dlBox=_(Oe,{x:R,width:K-R,centerX:q?q/2:null})):g.dlBox=null;let Ae=g.tooltipPos,Fe=se?1:0,oe=se?0:1,ee=this.columnMetrics?this.columnMetrics.offset:-n.width/2;se?Ae[Fe]+=Oe.width/2:Ae[Fe]=B(Ae[Fe]+(y.reversed?-1:0)*Oe.width,y.left-j,y.left+y.len-j-1),Ae[oe]=B(Ae[oe]+(se?-1:1)*ee,o.top-S,o.top+o.len-S-1),(G=g.partialFill)&&(E(G)&&(G=G.amount),I(G)||(G=0),g.partShapeArgs=_(Oe),he=Math.max(Math.round(U*G+g.plotX-H),0),g.clipRectArgs={x:y.reversed?Oe.x+U-he:Oe.x,y:Oe.y,width:he,height:Oe.height})}translate(){for(let g of(super.translate.apply(this,arguments),this.points))this.translatePoint(g)}drawPoint(g,y){let o=this.options,n=this.chart.renderer,r=g.shapeType,l=g.shapeArgs,d=g.partShapeArgs,C=g.clipRectArgs,k=g.state,p=o.states[k||"normal"]||{},S=void 0===k?"attr":y,j=this.pointAttribs(g,k),H=b(this.chart.options.chart.animation,p.animation),Y=g.graphic,U=g.partialFill;if(g.isNull||!1===g.visible)Y&&(g.graphic=Y.destroy());else if(Y?Y.rect[y](l):(g.graphic=Y=n.g("point").addClass(g.getClassName()).add(g.group||this.group),Y.rect=n[r](_(l)).addClass(g.getClassName()).addClass("highcharts-partfill-original").add(Y)),d&&(Y.partRect?(Y.partRect[y](_(d)),Y.partialClipRect[y](_(C))):(Y.partialClipRect=n.clipRect(C.x,C.y,C.width,C.height),Y.partRect=n[r](d).addClass("highcharts-partfill-overlay").add(Y).clip(Y.partialClipRect))),!this.chart.styledMode&&(Y.rect[y](j,H).shadow(o.shadow),d)){E(U)||(U={}),E(o.partialFill)&&(U=_(o.partialFill,U));let se=U.fill||te(j.fill).brighten(-.3).get()||te(g.color||this.color).brighten(-.3).get();j.fill=se,Y.partRect[S](j,H).shadow(o.shadow)}}drawPoints(){let g=this.getAnimationVerb();for(let y of this.points)this.drawPoint(y,g)}getAnimationVerb(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"}isPointInside(g){let y=g.shapeArgs,o=g.plotX,n=g.plotY;return y?void 0!==o&&void 0!==n&&n>=0&&n<=this.yAxis.len&&(y.x||0)+(y.width||0)>=0&&o<=this.xAxis.len:super.isPointInside.apply(this,arguments)}}return f.defaultOptions=_($.defaultOptions,le),L(f.prototype,{pointClass:fe,pointArrayMap:["x2","y"],getExtremesFromAll:!0,parallelArrays:["x","x2","y"],requireSorting:!1,type:"xrange",animate:re.series.prototype.animate,autoIncrement:J,buildKDTree:J}),re.registerSeriesType("xrange",f),f}),Pe(V,"masters/modules/xrange.src.js",[V["Core/Globals.js"],V["Series/XRange/XRangeSeries.js"]],function(Z,ie){return ie.compose(Z.Axis),Z}),Pe(V,"Series/Gantt/GanttPoint.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie){let{xrange:{prototype:{pointClass:re}}}=Z.seriesTypes,{pick:ve}=ie;class le extends re{static setGanttPointAliases(pe){function J(te,$){void 0!==$&&(pe[te]=$)}J("x",ve(pe.start,pe.x)),J("x2",ve(pe.end,pe.x2)),J("partialFill",ve(pe.completed,pe.partialFill))}applyOptions(pe,J){let te=super.applyOptions(pe,J);return le.setGanttPointAliases(te),te}isValid(){return("number"==typeof this.start||"number"==typeof this.x)&&("number"==typeof this.end||"number"==typeof this.x2||this.milestone)}}return le}),Pe(V,"Series/Gantt/GanttSeriesDefaults.js",[V["Core/Utilities.js"]],function(Z){let{isNumber:ie}=Z;return{grouping:!1,dataLabels:{enabled:!0},tooltip:{headerFormat:'{series.name}
',pointFormat:null,pointFormatter:function(){let re=this.series,ve=re.xAxis,le=re.tooltipOptions.dateTimeLabelFormats,fe=ve.options.startOfWeek,pe=re.tooltipOptions,J=this.options.milestone,te=pe.xDateFormat,$=""+(this.name||this.yCategory)+"";if(pe.pointFormat)return this.tooltipFormatter(pe.pointFormat);!te&&ie(this.start)&&(te=re.chart.time.getDateFormat(ve.closestPointRange,this.start,fe,le||{}));let A=re.chart.time.dateFormat(te,this.start),B=re.chart.time.dateFormat(te,this.end);return $+="
",$+=J?A+"
":"Start: "+A+"
End: "+B+"
",$}},connectors:{type:"simpleConnect",animation:{reversed:!0},radius:0,startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}}}),Pe(V,"Core/Axis/BrokenAxis.js",[V["Core/Axis/Stacking/StackItem.js"],V["Core/Utilities.js"]],function(Z,ie){var re;let{addEvent:ve,find:le,fireEvent:fe,isArray:pe,isNumber:J,pick:te}=ie;return function($){function A(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function B(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function F(){let T=this.brokenAxis;if(T?.hasBreaks){let z=this.tickPositions,O=this.tickPositions.info,f=[];for(let a=0;ad.to||f>d.from&&ad.from&&ad.from&&a>d.to&&a0){let y,o;for("value"!==this.options.gapUnit&&(a*=this.basePointRange),z&&z>a&&z>=this.basePointRange&&(a=z);g--;)if(o&&!1!==o.visible||(o=O[g+1]),y=O[g],!1!==o.visible&&!1!==y.visible){if(o.x-y.x>a){let n=(y.x+o.x)/2;O.splice(g+1,0,{isNull:!0,x:n}),f.stacking&&this.options.stacking&&((f.stacking.stacks[this.stackKey][n]=new Z(f,f.options.stackLabels,!1,n,this.stack)).total=0)}o=y}}return this.getGraphPath(O)}$.compose=function(T,z){if(!T.keepProps.includes("brokenAxis")){T.keepProps.push("brokenAxis"),ve(T,"init",L),ve(T,"afterInit",A),ve(T,"afterSetTickPositions",F),ve(T,"afterSetOptions",B);let O=z.prototype;O.drawBreaks=E,O.gappedPath=_,ve(z,"afterGeneratePoints",D),ve(z,"afterRender",I)}return T};class b{static isInBreak(z,O){let f=z.repeat||1/0,a=z.from,g=z.to-z.from,y=O>=a?(O-a)%f:f-(a-O)%f;return z.inclusive?y<=g:y=a);y++)(g.to=z)break;if(b.isInBreak(g,z)){a-=z-g.from;break}}return a}constructor(z){this.hasBreaks=!1,this.axis=z}findBreakAt(z,O){return le(O,function(f){return f.fromk;)S-=C;for(;S{se.getOffset()})}Y&&j.apply(this)}function T(j){if(!0===(this.options.grid||{}).enabled){let{axisTitle:H,height:Y,horiz:U,left:se,offset:w,opposite:X,options:G,top:x,width:N}=this,R=this.tickSize(),K=H&&H.getBBox().width,q=G.title.x,he=G.title.y,me=L(G.title.margin,U?5:10),Ce=H?this.chart.renderer.fontMetrics(H).f:0,Se=(U?x+Y:se)+(U?1:-1)*(X?-1:1)*(R?R[0]/2:0)+(this.side===ve.bottom?Ce:0);j.titlePosition.x=U?se-(K||0)/2-me+q:Se+(X?N:0)+w+q,j.titlePosition.y=U?Se-(X?Y:0)+(X?Ce:-Ce)/2+w+he:x-me+he}}function z(){let{chart:j,options:{grid:H={}},userOptions:Y}=this;if(H.enabled&&function(U){let se=U.options;se.labels.align=L(se.labels.align,"center"),U.categories||(se.showLastLabel=!1),U.labelRotation=0,se.labels.rotation=0,se.minTickInterval=1}(this),H.columns){let U=this.grid.columns=[],se=this.grid.columnIndex=0;for(;++seX.render()),!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent&&this.linkedParent.scrollbar)&&this.tickPositions.length){let X,G,x=this.tickmarkOffset,N=this.tickPositions[this.tickPositions.length-1],R=this.tickPositions[0];for(;(X=this.hiddenLabels.pop())&&X.element;)X.show();for(;(G=this.hiddenMarks.pop())&&G.element;)G.show();(X=this.ticks[R].label)&&(U-R>x?this.hiddenLabels.push(X.hide()):X.show()),(X=this.ticks[N].label)&&(N-se>x?this.hiddenLabels.push(X.hide()):X.show());let K=this.ticks[N].mark;K&&N-se0&&this.ticks[N].isLast&&this.hiddenMarks.push(K.hide())}}}function f(){let j=this.tickPositions&&this.tickPositions.info,H=this.options,U=this.userOptions.labels||{};(H.grid||{}).enabled&&(this.horiz?(this.series.forEach(se=>{se.options.pointRange=0}),j&&H.dateTimeLabelFormats&&H.labels&&!J(U.align)&&(!1===H.dateTimeLabelFormats[j.unitName].range||j.count>1)&&(H.labels.align="left",J(U.x)||(H.labels.x=3))):"treegrid"!==this.options.type&&this.grid&&this.grid.columns&&(this.minPointOffset=this.tickInterval))}function a(j){let H,Y=this.options,U=j.userOptions,se=Y&&E(Y.grid)?Y.grid:{};!0===se.enabled&&(H=F(!0,{className:"highcharts-grid-axis "+(U.className||""),dateTimeLabelFormats:{hour:{list:["%H:%M","%H"]},day:{list:["%A, %e. %B","%a, %e. %b","%E"]},week:{list:["Week %W","W%W"]},month:{list:["%B","%b","%o"]}},grid:{borderWidth:1},labels:{padding:2,style:{fontSize:"0.9em"}},margin:0,title:{text:null,reserveSpace:!1,rotation:0,style:{textOverflow:"ellipsis"}},units:[["millisecond",[1,10,100]],["second",[1,10]],["minute",[1,5,15]],["hour",[1,6]],["day",[1]],["week",[1]],["month",[1]],["year",null]]},U),"xAxis"!==this.coll||(J(U.linkedTo)&&!J(U.tickPixelInterval)&&(H.tickPixelInterval=350),!(!J(U.tickPixelInterval)&&J(U.linkedTo))||J(U.tickPositioner)||J(U.tickInterval)||J(U.units)||(H.tickPositioner=function(w,X){let G=this.linkedParent&&this.linkedParent.tickPositions&&this.linkedParent.tickPositions.info;if(G){let N,x=H.units||[],R=1,K="year";for(let me=0;mej.setScale())}function o(j){let{horiz:H,maxLabelDimensions:Y,options:{grid:U={}}}=this;if(U.enabled&&Y){let se=2*this.options.labels.distance,w=H?U.cellHeight||se+Y.height:se+Y.width;A(j.tickSize)?j.tickSize[0]=w:j.tickSize=[w,0]}}function n(){this.axes.forEach(j=>{(j.grid&&j.grid.columns||[]).forEach(H=>{H.setAxisSize(),H.setAxisTranslation()})})}function r(j){let{grid:H}=this;(H.columns||[]).forEach(Y=>Y.destroy(j.keepEvents)),H.columns=void 0}function l(j){let H=j.userOptions||{},Y=H.grid||{};Y.enabled&&J(Y.borderColor)&&(H.tickColor=H.lineColor=Y.borderColor),this.grid||(this.grid=new S(this)),this.hiddenLabels=[],this.hiddenMarks=[]}function d(j){let H=this.label,Y=this.axis,U=Y.reversed,se=Y.chart,w=Y.options.grid||{},X=Y.options.labels,G=X.align,x=ve[Y.side],N=j.tickmarkOffset,R=Y.tickPositions,K=this.pos-N,q=B(R[j.index+1])?R[j.index+1]-N:(Y.max||0)+N,he=Y.tickSize("tick"),me=he?he[0]:0,Ce=he?he[1]/2:0;if(!0===w.enabled){let Se,Oe,Ae,Fe;if("top"===x?Oe=(Se=Y.top+Y.offset)-me:"bottom"===x?Se=(Oe=se.chartHeight-Y.bottom+Y.offset)+me:(Se=Y.top+Y.len-(Y.translate(U?q:K)||0),Oe=Y.top+Y.len-(Y.translate(U?K:q)||0)),"right"===x?Fe=(Ae=se.chartWidth-Y.right+Y.offset)+me:"left"===x?Ae=(Fe=Y.left+Y.offset)-me:(Ae=Math.round(Y.left+(Y.translate(U?q:K)||0))-Ce,Fe=Math.min(Math.round(Y.left+(Y.translate(U?K:q)||0))-Ce,Y.left+Y.len)),this.slotWidth=Fe-Ae,j.pos.x="left"===G?Ae:"right"===G?Fe:Ae+(Fe-Ae)/2,j.pos.y=Oe+(Se-Oe)/2,H){let oe=se.renderer.fontMetrics(H),ee=H.getBBox().height;if(X.useHTML)j.pos.y+=oe.b+-ee/2;else{let de=Math.round(ee/oe.h);j.pos.y+=(oe.b-(oe.h-oe.f))/2+-(de-1)*oe.h/2}}j.pos.x+=Y.horiz&&X.x||0}}function C(j){let{axis:H,value:Y}=j;if(H.options.grid&&H.options.grid.enabled){let U,se=H.tickPositions,w=(H.linkedParent||H).series[0],X=Y===se[0],G=Y===se[se.length-1],x=w&&$(w.options.data,function(N){return N[H.isXAxis?"x":"y"]===Y});x&&w.is("gantt")&&(U=F(x),ie.seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(U)),j.isFirst=X,j.isLast=G,j.point=U}}function k(){let j=this.options,H=j.grid||{},Y=this.categories,U=this.tickPositions,se=U[0],w=U[1],X=U[U.length-1],G=U[U.length-2],R=this.linkedParent&&this.linkedParent.min||this.min,K=this.linkedParent&&this.linkedParent.max||this.max,q=this.tickInterval,he=B(R)&&R>=se+q&&RR,Ce=B(K)&&X>K&&X-qG;!0===H.enabled&&!Y&&(this.isXAxis||this.isLinked)&&((me||he)&&!j.startOnTick&&(U[0]=R),(Ce||Se)&&!j.endOnTick&&(U[U.length-1]=K))}function p(j){let{options:{grid:Y={}}}=this;return!0===Y.enabled&&this.categories?this.tickInterval:j.apply(this,Array.prototype.slice.call(arguments,1))}(le=ve||(ve={}))[le.top=0]="top",le[le.right=1]="right",le[le.bottom=2]="bottom",le[le.left=3]="left";class S{constructor(H){this.axis=H}isOuterAxis(){let H=this.axis,Y=H.chart,U=H.grid.columnIndex,se=H.linkedParent?.grid.columns||H.grid.columns||[],w=U?H.linkedParent:H,X=-1,G=0;return 3===H.side&&!Y.inverted&&se.length?!H.linkedParent:((Y[H.coll]||[]).forEach((x,N)=>{x.side!==H.side||x.options.isInternal||(G=N,x!==w||(X=N))}),G===X&&(!B(U)||se.length===U))}renderBorder(H){let Y=this.axis,U=Y.chart.renderer,se=Y.options,w=U.path(H).addClass("highcharts-axis-line").add(Y.axisGroup);return U.styledMode||w.attr({stroke:se.lineColor,"stroke-width":se.lineWidth,zIndex:7}),w}}return fe.E=function(j){return this.dateFormat("%a",j,!0).charAt(0)},fe.W=function(j){let H=this,Y=new this.Date(j);["Hours","Milliseconds","Minutes","Seconds"].forEach(function(X){H.set(X,Y,0)});let U=(this.get("Day",Y)+6)%7,se=new this.Date(Y.valueOf());this.set("Date",se,this.get("Date",Y)-U+3);let w=new this.Date(this.get("FullYear",se),0,1);return 4!==this.get("Day",w)&&(this.set("Month",Y,0),this.set("Date",Y,1+(11-this.get("Day",w))%7)),(1+Math.floor((se.valueOf()-w.valueOf())/6048e5)).toString()},{compose:function(j,H,Y){return j.keepProps.includes("grid")||(j.keepProps.push("grid"),j.prototype.getMaxLabelDimensions=_,I(j.prototype,"unsquish",p),I(j.prototype,"getOffset",b),pe(j,"init",l),pe(j,"afterGetTitlePosition",T),pe(j,"afterInit",z),pe(j,"afterRender",O),pe(j,"afterSetAxisTranslation",f),pe(j,"afterSetOptions",a),pe(j,"afterSetOptions",g),pe(j,"afterSetScale",y),pe(j,"afterTickSize",o),pe(j,"trimTicks",k),pe(j,"destroy",r),pe(H,"afterSetChartSize",n),pe(Y,"afterGetLabelPosition",d),pe(Y,"labelFormat",C)),j}}}),Pe(V,"Gantt/Tree.js",[V["Core/Utilities.js"]],function(Z){let{extend:ie,isNumber:re,pick:ve}=Z;function le(fe,pe,J,te,$,A){let E,_,B=A&&A.after,F=A&&A.before,L={data:te,depth:J-1,id:fe,level:J,parent:pe||""},D=0,I=0;"function"==typeof F&&F(L,A);let b=($[fe]||[]).map(T=>{let z=le(T.id,fe,J+1,T,$,A),O=T.start||NaN,f=!0===T.milestone?O:T.end||NaN;return E=!re(E)||O_?f:_,D=D+1+z.descendants,I=Math.max(z.height+1,I),z});return te&&(te.start=ve(te.start,E),te.end=ve(te.end,_)),ie(L,{children:b,descendants:D,height:I}),"function"==typeof B&&B(L,A),L}return{getNode:le,getTree:function(fe,pe){return le("",null,1,null,function(J){let te=[],$=J.reduce((A,B)=>{let{parent:F="",id:L}=B;return void 0===A[F]&&(A[F]=[]),A[F].push(B),L&&te.push(L),A},{});return Object.keys($).forEach(A=>{if(""!==A&&-1===te.indexOf(A)){let B=$[A].map(function(F){let{...L}=F;return L});$[""].push(...B),delete $[A]}}),$}(fe),pe)}}}),Pe(V,"Core/Axis/TreeGrid/TreeGridTick.js",[V["Core/Utilities.js"]],function(Z){let{addEvent:ie,removeEvent:re,isObject:ve,isNumber:le,pick:fe,wrap:pe}=Z;function J(){this.treeGrid||(this.treeGrid=new A(this))}function te(B,F,L,D,I,E,_,b,T){let z,O,f,a=fe(this.options&&this.options.labels,E),g=this.pos,y=this.axis,o="treegrid"===y.options.type,n=B.apply(this,[F,L,D,I,a,_,b,T]);if(o){let{width:r=0,padding:l=(y.linkedParent?0:5)}=a&&ve(a.symbol,!0)?a.symbol:{},d=a&&le(a.indentation)?a.indentation:0;f=(O=(z=y.treeGrid.mapOfPosToGridNode)&&z[g])&&O.depth||1,n.x+=r+2*l+(f-1)*d}return n}function $(B){let F,L,D,{pos:I,axis:E,label:_,treeGrid:b,options:T}=this,z=b?.labelIcon,O=_?.element,{treeGrid:f,options:a,chart:g,tickPositions:y}=E,o=f.mapOfPosToGridNode,n=fe(T?.labels,a?.labels),r=n&&ve(n.symbol,!0)?n.symbol:{},l=o&&o[I],{descendants:d,depth:C}=l||{},k=l&&d&&d>0,p="treegrid"===a.type&&O,S=y.indexOf(I)>-1,j="highcharts-treegrid-node-",H=j+"level-",Y=g.styledMode;p&&l&&_.removeClass(RegExp(H+".*")).addClass(H+C),B.apply(this,Array.prototype.slice.call(arguments,1)),p&&k?(F=f.isCollapsed(l),function(U,se){let w=U.treeGrid,X=!w.labelIcon,G=se.renderer,x=se.xy,N=se.options,R=N.width||0,K=N.height||0,he={x:x.x-R/2-(N.padding??U.axis.linkedParent?0:5),y:x.y-K/2},me=se.collapsed?90:180,Ce=se.show&&le(he.y),Se=w.labelIcon;Se||(w.labelIcon=Se=G.path(G.symbols[N.type](N.x||0,N.y||0,R,K)).addClass("highcharts-label-icon").add(se.group)),Se[Ce?"show":"hide"](),G.styledMode||Se.attr({cursor:"pointer",fill:fe(se.color,"#666666"),"stroke-width":1,stroke:N.lineColor,strokeWidth:N.lineWidth||0}),Se[X?"attr":"animate"]({translateX:he.x,translateY:he.y,rotation:me})}(this,{color:!Y&&_.styles.color||"",collapsed:F,group:_.parentGroup,options:r,renderer:_.renderer,show:S,xy:_.xy}),L=j+(F?"collapsed":"expanded"),D=j+(F?"expanded":"collapsed"),_.addClass(L).removeClass(D),Y||_.css({cursor:"pointer"}),[_,z].forEach(U=>{U&&!U.attachedTreeGridEvents&&(ie(U.element,"mouseover",function(){_.addClass("highcharts-treegrid-node-active"),_.renderer.styledMode||_.css({textDecoration:"underline"})}),ie(U.element,"mouseout",function(){!function(se,w){let X=ve(w.style)?w.style:{};se.removeClass("highcharts-treegrid-node-active"),se.renderer.styledMode||se.css({textDecoration:X.textDecoration||"none"})}(_,n)}),ie(U.element,"click",function(){b.toggleCollapse()}),U.attachedTreeGridEvents=!0)})):z&&(re(O),_?.css({cursor:"default"}),z.destroy())}class A{static compose(F){let L=F.prototype;L.toggleCollapse||(ie(F,"init",J),pe(L,"getLabelPosition",te),pe(L,"renderLabel",$),L.collapse=function(D){this.treeGrid.collapse(D)},L.expand=function(D){this.treeGrid.expand(D)},L.toggleCollapse=function(D){this.treeGrid.toggleCollapse(D)})}constructor(F){this.tick=F}collapse(F){let L=this.tick,D=L.axis,I=D.brokenAxis;if(I&&D.treeGrid.mapOfPosToGridNode){let b=D.treeGrid.collapse(D.treeGrid.mapOfPosToGridNode[L.pos]);I.setBreaks(b,fe(F,!0))}}destroy(){this.labelIcon&&this.labelIcon.destroy()}expand(F){let{pos:L,axis:D}=this.tick,{treeGrid:I,brokenAxis:E}=D,_=I.mapOfPosToGridNode;if(E&&_){let T=I.expand(_[L]);E.setBreaks(T,fe(F,!0))}}toggleCollapse(F){let L=this.tick,D=L.axis,I=D.brokenAxis;if(I&&D.treeGrid.mapOfPosToGridNode){let b=D.treeGrid.toggleCollapse(D.treeGrid.mapOfPosToGridNode[L.pos]);I.setBreaks(b,fe(F,!0))}}}return A}),Pe(V,"Series/TreeUtilities.js",[V["Core/Color/Color.js"],V["Core/Utilities.js"]],function(Z,ie){let{extend:re,isArray:ve,isNumber:le,isObject:fe,merge:pe,pick:J,relativeLength:te}=ie;return{getColor:function($,A){let B,F,L,D,I,E,_=A.index,T=A.parentColor,z=A.parentColorIndex,O=A.series,f=A.colors,a=A.siblings;return $&&(B=O.points[$.i],F=A.mapOptionsToLevel[$.level]||{},B&&F.colorByPoint&&(D=B.index%(f?f.length:O.chart.options.chart.colorCount),L=f&&f[D]),O.chart.styledMode||(I=J(B&&B.options.color,F&&F.color,L,T&&(o=>{let n=F&&F.colorVariation;return n&&"brightness"===n.key&&_&&a?Z.parse(o).brighten(n.to*(_/a)).get():o})(T),O.color)),E=J(B&&B.options.colorIndex,F&&F.colorIndex,D,z,A.colorIndex)),{color:I,colorIndex:E}},getLevelOptions:function($){let B,F,L,D,I,E,A={};if(fe($))for(D=le($.from)?$.from:1,E=$.levels,F={},B=fe($.defaults)?$.defaults:{},ve(E)&&(F=E.reduce((_,b)=>{let T,z,O;return fe(b)&&le(b.level)&&(z=J((O=pe({},b)).levelIsConstant,B.levelIsConstant),delete O.levelIsConstant,delete O.level,fe(_[T=b.level+(z?0:D-1)])?pe(!0,_[T],O):_[T]=O),_},{})),I=le($.to)?$.to:1,L=0;L<=I;L++)A[L]=pe({},B,fe(F[L])?F[L]:{});return A},getNodeWidth:function($,A){let{chart:B,options:F}=$,{nodeDistance:L=0,nodeWidth:D=0}=F,{plotSizeX:I=1}=B;if("auto"===D){if("string"==typeof L&&/%$/.test(L))return I/(A+parseFloat(L)/100*(A-1));let E=Number(L);return(I+E)/(A||1)-E}return te(D,I)},setTreeValues:function $(A,B){let F=B.before,L=B.idRoot,E=B.points[A.i],_=E&&E.options||{},b=[],T=0;A.levelDynamic=A.level-(!1!==B.levelIsConstant?0:B.mapIdToNode[L].level),A.name=J(E&&E.name,""),A.visible=L===A.id||!0===B.visible,"function"==typeof F&&(A=F(A,B)),A.children.forEach((O,f)=>{let a=re({},B);re(a,{index:f,siblings:A.children.length,visible:A.visible}),O=$(O,a),b.push(O),O.visible&&(T+=O.val)});let z=J(_.value,T);return A.visible=z>=0&&(T>0||A.visible),A.children=b,A.childrenTotal=T,A.isLeaf=A.visible&&!T,A.val=z,A},updateRootId:function($){let A,B;return fe($)&&(B=fe($.options)?$.options:{},A=J($.rootNode,B.rootId,""),fe($.userOptions)&&($.userOptions.rootId=A),$.rootNode=A),A}}}),Pe(V,"Core/Axis/TreeGrid/TreeGridAxis.js",[V["Core/Axis/BrokenAxis.js"],V["Core/Axis/GridAxis.js"],V["Gantt/Tree.js"],V["Core/Axis/TreeGrid/TreeGridTick.js"],V["Series/TreeUtilities.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe){let pe,{getLevelOptions:J}=le,{addEvent:te,find:$,fireEvent:A,isArray:B,isObject:F,isString:L,merge:D,pick:I,removeEvent:E,wrap:_}=fe;function b(o,n){let r=o.collapseEnd||0,l=o.collapseStart||0;return r>=n&&(l-=.5),{from:l,to:r,showPoints:!1}}function T(o,n,r){let l=[],d=[],C={},k="boolean"==typeof n&&n,p={},S=-1,j=re.getTree(o,{after:function(H){let Y=p[H.pos],U=0,se=0;Y.children.forEach(function(w){se+=(w.descendants||0)+1,U=Math.max((w.height||0)+1,U)}),Y.descendants=se,Y.height=U,Y.collapsed&&d.push(Y)},before:function(H){let Y,U,se=F(H.data,!0)?H.data:{},w=L(se.name)?se.name:"",X=C[H.parent],G=F(X,!0)?p[X.pos]:null;k&&F(G,!0)&&(Y=$(G.children,function(x){return x.name===w}))?(U=Y.pos,Y.nodes.push(H)):U=S++,!p[U]&&(p[U]=Y={depth:G?G.depth+1:0,name:w,id:se.id,nodes:[H],children:[],pos:U},-1!==U&&l.push(w),F(G,!0)&&G.children.push(Y)),L(H.id)&&(C[H.id]=H),Y&&!0===se.collapsed&&(Y.collapsed=!0),H.pos=U}});return{categories:l,mapOfIdToNode:C,mapOfPosToGridNode:p=function(H,Y){let U=function(se,w,X){let x=w+(-1===w?0:Y-1),N=(x-w)/2,R=w+N;return se.nodes.forEach(function(K){let q=K.data;F(q,!0)&&(q.y=w+(q.seriesIndex||0),delete q.seriesIndex),K.pos=R}),X[R]=se,se.pos=R,se.tickmarkOffset=N+.5,se.collapseStart=x+.5,se.children.forEach(function(K){U(K,x+1,X),x=(K.collapseEnd||0)-.5}),se.collapseEnd=x+.5,X};return U(H[-1],-1,{})}(p,r),collapsedNodes:d,tree:j}}function z(o){o.target.axes.filter(function(n){return"treegrid"===n.options.type}).forEach(function(n){let S,j,r=n.options||{},l=r.labels,d=r.uniqueNames,C=r.max,k=!n.treeGrid.mapOfPosToGridNode||n.series.some(function(H){return!H.hasRendered||H.isDirtyData||H.isDirty}),p=0;if(k){if(S=n.series.reduce(function(H,Y){return Y.visible&&((Y.options.data||[]).forEach(function(U){Y.options.keys&&Y.options.keys.length&&(U=Y.pointClass.prototype.optionsToObject.call({series:Y},U),Y.pointClass.setGanttPointAliases(U)),F(U,!0)&&(U.seriesIndex=p,H.push(U))}),!0===d&&p++),H},[]),C&&S.length=0&&U.indexOf(se.x2)>=0&&(U=se)}),F(U,!0)?D(U):U});H.visible&&H.setData(Y,!1)}),n.treeGrid.mapOptionsToLevel=J({defaults:l,from:1,levels:l&&l.levels,to:n.treeGrid.tree&&n.treeGrid.tree.height}),"beforeRender"===o.type&&(n.treeGrid.collapsedNodes=j.collapsedNodes)}})}function O(o,n){let k,p,S,d=this.ticks,C=d[n];"treegrid"===this.options.type&&this.treeGrid.mapOfPosToGridNode?((k=(this.treeGrid.mapOptionsToLevel||{})[(S=this.treeGrid.mapOfPosToGridNode[n]).depth])&&(p={labels:k}),!C&&pe?d[n]=C=new pe(this,n,void 0,void 0,{category:S.name,tickmarkOffset:S.tickmarkOffset,options:p}):(C.parameters.category=S.name,C.options=p,C.addLabel())):o.apply(this,Array.prototype.slice.call(arguments,1))}function f(o,n,r,l){let d=this,C="treegrid"===r.type;d.treeGrid||(d.treeGrid=new y(d)),C&&(te(n,"beforeRender",z),te(n,"beforeRedraw",z),te(n,"addSeries",function(k){if(k.options.data){let p=T(k.options.data,r.uniqueNames||!1,1);d.treeGrid.collapsedNodes=(d.treeGrid.collapsedNodes||[]).concat(p.collapsedNodes)}}),te(d,"foundExtremes",function(){d.treeGrid.collapsedNodes&&d.treeGrid.collapsedNodes.forEach(function(k){let p=d.treeGrid.collapse(k);d.brokenAxis&&(d.brokenAxis.setBreaks(p,!1),d.treeGrid.collapsedNodes&&(d.treeGrid.collapsedNodes=d.treeGrid.collapsedNodes.filter(S=>k.collapseStart!==S.collapseStart||k.collapseEnd!==S.collapseEnd)))})}),te(d,"afterBreaks",function(){"yAxis"===d.coll&&!d.staticScale&&d.chart.options.chart.height&&(d.isDirty=!0)}),r=D({grid:{enabled:!0},labels:{align:"left",levels:[{level:void 0},{level:1,style:{fontWeight:"bold"}}],symbol:{type:"triangle",x:-5,y:-5,height:10,width:10}},uniqueNames:!1},r,{reversed:!0})),o.apply(d,[n,r,l]),C&&(d.hasNames=!0,d.options.showLastLabel=!0)}function a(o){let n=this.options,r="number"==typeof n.linkedTo?this.chart[this.coll]?.[n.linkedTo]:void 0;if("treegrid"===n.type){if(this.min=I(this.userMin,n.min,this.dataMin),this.max=I(this.userMax,n.max,this.dataMax),A(this,"foundExtremes"),this.setAxisTranslation(),this.tickInterval=1,this.tickmarkOffset=.5,this.tickPositions=this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[],r){let l=r.getExtremes();this.min=I(l.min,l.dataMin),this.max=I(l.max,l.dataMax),this.tickPositions=r.tickPositions}this.linkedParent=r}else o.apply(this,Array.prototype.slice.call(arguments,1))}function g(o){let n=this;"treegrid"===n.options.type&&n.visible&&n.tickPositions.forEach(function(r){let l=n.ticks[r];l.label&&l.label.attachedTreeGridEvents&&(E(l.label.element),l.label.attachedTreeGridEvents=!1)}),o.apply(n,Array.prototype.slice.call(arguments,1))}class y{static compose(n,r,l,d){if(!n.keepProps.includes("treeGrid")){let C=n.prototype;n.keepProps.push("treeGrid"),_(C,"generateTick",O),_(C,"init",f),_(C,"setTickInterval",a),_(C,"redraw",g),C.utils={getNode:re.getNode},pe||(pe=d)}return ie.compose(n,r,d),Z.compose(n,l),ve.compose(d),n}constructor(n){this.axis=n}setCollapsedStatus(n){let r=this.axis,l=r.chart;r.series.forEach(function(d){let C=d.options.data;if(n.id&&C){let k=l.get(n.id),p=C[d.data.indexOf(k)];k&&p&&(k.collapsed=n.collapsed,p.collapsed=n.collapsed)}})}collapse(n){let r=this.axis,l=r.options.breaks||[],d=b(n,r.max);return l.push(d),n.collapsed=!0,r.treeGrid.setCollapsedStatus(n),l}expand(n){let r=this.axis,l=r.options.breaks||[],d=b(n,r.max);return n.collapsed=!1,r.treeGrid.setCollapsedStatus(n),l.reduce(function(C,k){return(k.to!==d.to||k.from!==d.from)&&C.push(k),C},[])}getTickPositions(){let n=this.axis,r=Math.floor(n.min/n.tickInterval)*n.tickInterval,l=Math.ceil(n.max/n.tickInterval)*n.tickInterval;return Object.keys(n.treeGrid.mapOfPosToGridNode||{}).reduce(function(d,C){let k=+C;return k>=r&&k<=l&&!(n.brokenAxis&&n.brokenAxis.isInAnyBreak(k))&&d.push(k),d},[])}isCollapsed(n){let r=this.axis,l=r.options.breaks||[],d=b(n,r.max);return l.some(function(C){return C.from===d.from&&C.to===d.to})}toggleCollapse(n){return this.isCollapsed(n)?this.expand(n):this.collapse(n)}}return y}),Pe(V,"Series/Gantt/GanttSeries.js",[V["Series/Gantt/GanttPoint.js"],V["Series/Gantt/GanttSeriesDefaults.js"],V["Gantt/Pathfinder.js"],V["Core/Series/SeriesRegistry.js"],V["Extensions/StaticScale.js"],V["Core/Axis/TreeGrid/TreeGridAxis.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe,pe){let{series:J,seriesTypes:{xrange:te}}=ve,{extend:$,isNumber:A,merge:B}=pe;class F extends te{static compose(D,I,E,_){te.compose(D),I&&(le.compose(D,I),E)&&(re.compose(I,E.prototype.pointClass),_&&fe.compose(D,I,E,_))}drawPoint(D,I){let a,E=this.options,_=this.chart.renderer,b=D.shapeArgs,z=D.selected&&"select",O=E.stacking&&!E.borderRadius,f=D.graphic;D.options.milestone?A(D.plotY)&&null!==D.y&&!1!==D.visible?(a=_.symbols.diamond(b.x||0,b.y||0,b.width||0,b.height||0),f?f[I]({d:a}):D.graphic=f=_.path(a).addClass(D.getClassName(),!0).add(D.group||this.group),this.chart.styledMode||D.graphic.attr(this.pointAttribs(D,z)).shadow(E.shadow,null,O)):f&&(D.graphic=f.destroy()):super.drawPoint(D,I)}translatePoint(D){let I,E;super.translatePoint(D),D.options.milestone&&(E=(I=D.shapeArgs).height||0,D.shapeArgs={x:(I.x||0)-E/2,y:I.y,width:E,height:E})}}return F.defaultOptions=B(te.defaultOptions,ie),$(F.prototype,{pointArrayMap:["start","end","y"],pointClass:Z,setData:J.prototype.setData}),ve.registerSeriesType("gantt",F),F}),Pe(V,"masters/modules/gantt.src.js",[V["Core/Globals.js"],V["Extensions/ArrowSymbols.js"],V["Gantt/Connection.js"],V["Extensions/CurrentDateIndication.js"],V["Core/Chart/GanttChart.js"],V["Stock/Navigator/Navigator.js"],V["Stock/RangeSelector/RangeSelector.js"],V["Stock/Scrollbar/Scrollbar.js"],V["Series/Gantt/GanttSeries.js"]],function(Z,ie,re,ve,le,fe,pe,J,te){return Z.Connection=Z.Connection||re,Z.GanttChart=Z.GanttChart||le,Z.Navigator=Z.Navigator||fe,Z.RangeSelector=Z.RangeSelector||pe,Z.Scrollbar=Z.Scrollbar||J,Z.ganttChart=Z.GanttChart.ganttChart,ie.compose(Z.SVGRenderer),ve.compose(Z.Axis,Z.PlotLineOrBand),te.compose(Z.Axis,Z.Chart,Z.Series,Z.Tick),Z.Navigator.compose(Z.Chart,Z.Axis,Z.Series),Z.RangeSelector.compose(Z.Axis,Z.Chart),Z.Scrollbar.compose(Z.Axis),Z}),Pe(V,"masters/highcharts-gantt.src.js",[V["masters/highcharts.src.js"]],function(Z){return Z.product="Highcharts Gantt",Z}),V["masters/highcharts-gantt.src.js"]._modules=V,V["masters/highcharts-gantt.src.js"]},ri.exports?(V.default=V,ri.exports=e&&e.document?V(e):V):void 0!==(M=function(){return V(e)}.call(Ft,He,Ft,ri))&&(ri.exports=M)},12168:(ri,Ft,He)=>{var M,e,V;V=function(V){"use strict";var Pe=V?V._modules:{};function Z(ie,re,ve,le){ie.hasOwnProperty(re)||(ie[re]=le.apply(null,ve),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:re,module:ie[re]}})))}Z(Pe,"Extensions/Pane/PaneComposition.js",[Pe["Core/Utilities.js"]],function(ie){const{addEvent:re,correctFloat:ve,defined:le,pick:fe}=ie;function pe(L){const D=this;let I;return L&&D.pane.forEach(E=>{te(L.chartX-D.plotLeft,L.chartY-D.plotTop,E.center)&&(I=E)}),I}function te(L,D,I,E,_){let b=!0;const T=I[0],z=I[1],O=Math.sqrt(Math.pow(L-T,2)+Math.pow(D-z,2));if(le(E)&&le(_)){const f=Math.atan2(ve(D-z,8),ve(L-T,8));_!==E&&(b=E>_?f>=E&&f<=Math.PI||f<=_&&f>=-Math.PI:f>=E&&f<=ve(_,8))}return O<=Math.ceil(I[2]/2)&&b}function $(L){this.polar&&(L.options.inverted&&([L.x,L.y]=[L.y,L.x]),L.isInsidePlot=this.pane.some(I=>te(L.x,L.y,I.center,I.axis&&I.axis.normalizedStartAngleRad,I.axis&&I.axis.normalizedEndAngleRad)))}function A(L){const D=this.chart;L.hoverPoint&&L.hoverPoint.plotX&&L.hoverPoint.plotY&&D.hoverPane&&!te(L.hoverPoint.plotX,L.hoverPoint.plotY,D.hoverPane.center)&&(L.hoverPoint=void 0)}function B(L){const D=this.chart;D.polar?(D.hoverPane=D.getHoverPane(L),L.filter=function(I){return I.visible&&!(!L.shared&&I.directTouch)&&fe(I.options.enableMouseTracking,!0)&&(!D.hoverPane||I.xAxis.pane===D.hoverPane)}):D.hoverPane=void 0}return{compose:function J(L,D){const I=L.prototype;I.getHoverPane||(I.collectionsWithUpdate.push("pane"),I.getHoverPane=pe,re(L,"afterIsInsidePlot",$),re(D,"afterGetHoverData",A),re(D,"beforeGetHoverData",B))}}}),Z(Pe,"Extensions/Pane/PaneDefaults.js",[],function(){return{pane:{center:["50%","50%"],size:"85%",innerSize:"0%",startAngle:0},background:{shape:"circle",borderWidth:1,borderColor:"#cccccc",backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#ffffff"],[1,"#e6e6e6"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"}}}),Z(Pe,"Extensions/Pane/Pane.js",[Pe["Series/CenteredUtilities.js"],Pe["Extensions/Pane/PaneComposition.js"],Pe["Extensions/Pane/PaneDefaults.js"],Pe["Core/Utilities.js"]],function(ie,re,ve,le){const{extend:fe,merge:pe,splat:J}=le;class te{constructor(A,B){this.coll="pane",this.init(A,B)}init(A,B){this.chart=B,this.background=[],B.pane.push(this),this.setOptions(A)}setOptions(A){this.options=A=pe(ve.pane,this.chart.angular?{background:{}}:void 0,A)}render(){const A=this.options;this.group||(this.group=this.chart.renderer.g("pane-group").attr({zIndex:A.zIndex||0}).add()),this.updateCenter();let F=this.options.background;if(F){F=J(F);const L=Math.max(F.length,this.background.length||0);for(let D=0;Dd,y.y=y.high,y._plotY=y.plotY,y.plotY=l,O[g]=y.dataLabel,y.dataLabel=y.dataLabelUpper,y.below=o,a?n.align||(n.align=o?"right":"left"):n.verticalAlign||(n.verticalAlign=o?"top":"bottom")}for(this.options.dataLabels=n,J.drawDataLabels&&J.drawDataLabels.apply(this,arguments),g=z;g--;)y=T[g],y&&(y.dataLabelUpper=y.dataLabel,y.dataLabel=O[g],delete y.dataLabels,y.y=y.low,y.plotY=y._plotY)}if(r.enabled||this.hasDataLabels?.()){for(g=z;g--;)if(y=T[g],y){const{plotHigh:l=0,plotLow:d=0}=y;o=r.inside?ld,y.below=!o,a?r.align||(r.align=o?"left":"right"):r.verticalAlign||(r.verticalAlign=o?"bottom":"top")}this.options.dataLabels=r,J.drawDataLabels&&J.drawDataLabels.apply(this,arguments)}if(n.enabled)for(g=z;g--;)y=T[g],y&&(y.dataLabels=[y.dataLabelUpper,y.dataLabel].filter(function(l){return!!l}));this.options.dataLabels=f}}alignDataLabel(){te.alignDataLabel.apply(this,arguments)}modifyMarkerSettings(){const T=this,z={marker:T.options.marker,symbol:T.symbol};if(T.options.lowMarker){const{options:{marker:O,lowMarker:f}}=T;T.options.marker=I(O,f),f.symbol&&(T.symbol=f.symbol)}return z}restoreMarkerSettings(T){this.options.marker=T.marker,this.symbol=T.symbol}drawPoints(){const T=this,z=T.points.length;let O,f;const a=T.modifyMarkerSettings();for(J.drawPoints.apply(T,arguments),T.restoreMarkerSettings(a),O=0;O=0&&f.plotY<=T.yAxis.len&&f.plotX>=0&&f.plotX<=T.xAxis.len),O++;for(J.drawPoints.apply(T,arguments),O=0;O\u25cf {series.name}: {point.low} - {point.high}
'},trackByArea:!0,dataLabels:{align:void 0,verticalAlign:void 0,xLow:0,xHigh:0,yLow:0,yHigh:0}}),$(_,"afterTranslate",function(){"low,high"===this.pointArrayMap.join(",")&&this.points.forEach(b=>{const T=b.high,z=b.plotY;b.isNull?b.plotY=void 0:(b.plotLow=z,b.plotHigh=L(T)?this.yAxis.translate(this.dataModify?this.dataModify.modifyValue(T):T,!1,!0,void 0,!0):void 0,this.dataModify&&(b.yBottom=b.plotHigh))})},{order:0}),$(_,"afterTranslate",function(){this.points.forEach(b=>{if(this.chart.polar)this.highToXY(b),b.plotLow=b.plotY,b.tooltipPos=[((b.plotHighX||0)+(b.plotLowX||0))/2,((b.plotHigh||0)+(b.plotLow||0))/2];else{const T=b.pos(!1,b.plotLow),z=b.pos(!1,b.plotHigh);T&&z&&(T[0]=(T[0]+z[0])/2,T[1]=(T[1]+z[1])/2),b.tooltipPos=T}})},{order:3}),B(_.prototype,{deferTranslatePolar:!0,pointArrayMap:["low","high"],pointClass:ie,pointValKey:"low",setStackedPoints:fe}),ve.registerSeriesType("arearange",_),_}),Z(Pe,"Series/AreaSplineRange/AreaSplineRangeSeries.js",[Pe["Series/AreaRange/AreaRangeSeries.js"],Pe["Core/Series/SeriesRegistry.js"],Pe["Core/Utilities.js"]],function(ie,re,ve){const{spline:{prototype:le}}=re.seriesTypes,{merge:fe,extend:pe}=ve;class J extends ie{}return J.defaultOptions=fe(ie.defaultOptions),pe(J.prototype,{getPointSpline:le.getPointSpline}),re.registerSeriesType("areasplinerange",J),J}),Z(Pe,"Series/BoxPlot/BoxPlotSeriesDefaults.js",[],function(){return{threshold:null,tooltip:{pointFormat:'\u25cf {series.name}
Maximum: {point.high}
Upper quartile: {point.q3}
Median: {point.median}
Lower quartile: {point.q1}
Minimum: {point.low}
'},whiskerLength:"50%",fillColor:"#ffffff",lineWidth:1,medianWidth:2,whiskerWidth:2}}),Z(Pe,"Series/BoxPlot/BoxPlotSeries.js",[Pe["Series/BoxPlot/BoxPlotSeriesDefaults.js"],Pe["Series/Column/ColumnSeries.js"],Pe["Core/Globals.js"],Pe["Core/Series/SeriesRegistry.js"],Pe["Core/Utilities.js"]],function(ie,re,ve,le,fe){const{noop:pe}=ve,{extend:J,merge:te,pick:$}=fe;class A extends re{pointAttribs(){return{}}translate(){const F=this,L=F.yAxis,D=F.pointArrayMap;super.translate.apply(F),F.points.forEach(function(I){D.forEach(function(E){null!==I[E]&&(I[E+"Plot"]=L.translate(I[E],0,1,0,1))}),I.plotHigh=I.highPlot})}drawPoints(){const F=this,L=F.points,D=F.options,I=F.chart,E=I.renderer,_=!1!==F.doQuartiles,b=F.options.whiskerLength;let T,z,O,f,a,y,r,l,d,C,k,p,o=0;for(const S of L){r=S.graphic;const j=r?"animate":"attr",H=S.shapeArgs,Y={},U={},se={},w={},X=S.color||F.color;if(typeof S.plotY<"u"){let G;l=Math.round(H.width),d=Math.floor(H.x),C=d+l,k=Math.round(l/2),T=Math.floor(_?S.q1Plot:S.lowPlot),z=Math.floor(_?S.q3Plot:S.lowPlot),O=Math.floor(S.highPlot),f=Math.floor(S.lowPlot),r||(S.graphic=r=E.g("point").add(F.group),S.stem=E.path().addClass("highcharts-boxplot-stem").add(r),b&&(S.whiskers=E.path().addClass("highcharts-boxplot-whisker").add(r)),_&&(S.box=E.path(void 0).addClass("highcharts-boxplot-box").add(r)),S.medianShape=E.path(void 0).addClass("highcharts-boxplot-median").add(r)),I.styledMode||(U.stroke=S.stemColor||D.stemColor||X,U["stroke-width"]=$(S.stemWidth,D.stemWidth,D.lineWidth),U.dashstyle=S.stemDashStyle||D.stemDashStyle||D.dashStyle,S.stem.attr(U),b&&(se.stroke=S.whiskerColor||D.whiskerColor||X,se["stroke-width"]=$(S.whiskerWidth,D.whiskerWidth,D.lineWidth),se.dashstyle=S.whiskerDashStyle||D.whiskerDashStyle||D.dashStyle,S.whiskers.attr(se)),_&&(Y.fill=S.fillColor||D.fillColor||X,Y.stroke=D.lineColor||X,Y["stroke-width"]=D.lineWidth||0,Y.dashstyle=S.boxDashStyle||D.boxDashStyle||D.dashStyle,S.box.attr(Y)),w.stroke=S.medianColor||D.medianColor||X,w["stroke-width"]=$(S.medianWidth,D.medianWidth,D.lineWidth),w.dashstyle=S.medianDashStyle||D.medianDashStyle||D.dashStyle,S.medianShape.attr(w)),y=S.stem.strokeWidth()%2/2,o=d+k+y,G=[["M",o,z],["L",o,O],["M",o,T],["L",o,f]],S.stem[j]({d:G}),_&&(y=S.box.strokeWidth()%2/2,T=Math.floor(T)+y,z=Math.floor(z)+y,d+=y,C+=y,G=[["M",d,z],["L",d,T],["L",C,T],["L",C,z],["L",d,z],["Z"]],S.box[j]({d:G})),b&&(y=S.whiskers.strokeWidth()%2/2,O+=y,f+=y,p=/%$/.test(b)?k*parseFloat(b)/100:b/2,G=[["M",o-p,O],["L",o+p,O],["M",o-p,f],["L",o+p,f]],S.whiskers[j]({d:G})),a=Math.round(S.medianPlot),y=S.medianShape.strokeWidth()%2/2,a+=y,G=[["M",d,a],["L",C,a]],S.medianShape[j]({d:G})}}}toYData(F){return[F.low,F.q1,F.median,F.q3,F.high]}}return A.defaultOptions=te(re.defaultOptions,ie),J(A.prototype,{pointArrayMap:["low","q1","median","q3","high"],pointValKey:"high",drawDataLabels:pe,setStackedPoints:pe}),le.registerSeriesType("boxplot",A),A}),Z(Pe,"Series/Bubble/BubbleLegendDefaults.js",[],function(){return{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:"0.9em",color:"#000000"},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}}),Z(Pe,"Series/Bubble/BubbleLegendItem.js",[Pe["Core/Color/Color.js"],Pe["Core/Templating.js"],Pe["Core/Globals.js"],Pe["Core/Utilities.js"]],function(ie,re,ve,le){const{parse:fe}=ie,{noop:pe}=ve,{arrayMax:J,arrayMin:te,isNumber:$,merge:A,pick:B,stableSort:F}=le;return class L{constructor(I,E){this.setState=pe,this.init(I,E)}init(I,E){this.options=I,this.visible=!0,this.chart=E.chart,this.legend=E}addToLegend(I){I.splice(this.options.legendIndex,0,this)}drawLegendSymbol(I){const E=B(I.options.itemDistance,20),_=this.legendItem||{},b=this.options,T=b.ranges,z=b.connectorDistance;let O;if(!T||!T.length||!$(T[0].value))return void(I.options.bubbleLegend.autoRanges=!0);F(T,function(y,o){return o.value-y.value}),this.ranges=T,this.setOptions(),this.render();const f=this.getMaxLabelSize(),a=this.ranges[0].radius,g=2*a;O=z-a+f.width,O=O>0?O:0,this.maxLabel=f,this.movementX="left"===b.labels.align?O:0,_.labelWidth=g+O+E,_.labelHeight=g+f.height/2}setOptions(){const I=this.ranges,E=this.options,_=this.chart.series[E.seriesIndex],b=this.legend.baseline,T={zIndex:E.zIndex,"stroke-width":E.borderWidth},z={zIndex:E.zIndex,"stroke-width":E.connectorWidth},O={align:this.legend.options.rtl||"left"===E.labels.align?"right":"left",zIndex:E.zIndex},f=_.options.marker.fillOpacity,a=this.chart.styledMode;I.forEach(function(g,y){a||(T.stroke=B(g.borderColor,E.borderColor,_.color),T.fill=B(g.color,E.color,1!==f?fe(_.color).setOpacity(f).get("rgba"):_.color),z.stroke=B(g.connectorColor,E.connectorColor,_.color)),I[y].radius=this.getRangeRadius(g.value),I[y]=A(I[y],{center:I[0].radius-I[y].radius+b}),a||A(!0,I[y],{bubbleAttribs:A(T),connectorAttribs:A(z),labelAttribs:O})},this)}getRangeRadius(I){const E=this.options;return this.chart.series[this.options.seriesIndex].getRadius.call(this,E.ranges[E.ranges.length-1].value,E.ranges[0].value,E.minSize,E.maxSize,I)}render(){const I=this.legendItem||{},E=this.chart.renderer,_=this.options.zThreshold;this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),I.symbol=E.g("bubble-legend"),I.label=E.g("bubble-legend-item").css(this.legend.itemStyle||{}),I.symbol.translateX=0,I.symbol.translateY=0,I.symbol.add(I.label),I.label.add(I.group);for(const b of this.ranges)b.value>=_&&this.renderRange(b);this.hideOverlappingLabels()}renderRange(I){const E=this.ranges[0],_=this.legend,b=this.options,T=b.labels,z=this.chart,O=z.series[b.seriesIndex],f=z.renderer,a=this.symbols,g=a.labels,y=I.center,o=Math.abs(I.radius),n=b.connectorDistance||0,r=T.align,C=b.connectorWidth,k=E.radius||0,p=y-o-b.borderWidth/2+C/2,S=(p%1?1:.5)-(C%2?0:.5),j=f.styledMode;let H=_.options.rtl||"left"===r?-n:n;"center"===r&&(H=0,b.connectorDistance=0,I.labelAttribs.align="center"),a.bubbleItems.push(f.circle(k,y+S,o).attr(j?{}:I.bubbleAttribs).addClass((j?"highcharts-color-"+O.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(b.className||"")).add(this.legendItem.symbol)),a.connectors.push(f.path(f.crispLine([["M",k,p],["L",k+H,p]],b.connectorWidth)).attr(j?{}:I.connectorAttribs).addClass((j?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(b.connectorClassName||"")).add(this.legendItem.symbol));const Y=f.text(this.formatLabel(I)).attr(j?{}:I.labelAttribs).css(j?{}:T.style).addClass("highcharts-bubble-legend-labels "+(b.labels.className||"")).add(this.legendItem.symbol),U={x:k+H+b.labels.x,y:p+b.labels.y+.4*Y.getBBox().height};Y.attr(U),g.push(Y),Y.placed=!0,Y.alignAttr=U}getMaxLabelSize(){let E,_;return this.symbols.labels.forEach(function(b){_=b.getBBox(!0),E=E?_.width>E.width?_:E:_}),E||{}}formatLabel(I){const E=this.options,_=E.labels.formatter,b=E.labels.format,{numberFormatter:T}=this.chart;return b?re.format(b,I):_?_.call(I):T(I.value,1)}hideOverlappingLabels(){const _=this.symbols;!this.options.labels.allowOverlap&&_&&(this.chart.hideOverlappingLabels(_.labels),_.labels.forEach(function(b,T){b.newOpacity?b.newOpacity!==b.oldOpacity&&_.connectors[T].show():_.connectors[T].hide()}))}getRanges(){const I=this.legend.bubbleLegend,_=I.options.ranges;let b,T,z=Number.MAX_VALUE,O=-Number.MAX_VALUE;return I.chart.series.forEach(function(f){f.isBubble&&!f.ignoreSeries&&(T=f.zData.filter($),T.length&&(z=B(f.options.zMin,Math.min(z,Math.max(te(T),!1===f.options.displayNegative?f.options.zThreshold:-Number.MAX_VALUE))),O=B(f.options.zMax,Math.max(O,J(T)))))}),b=z===O?[{value:O}]:[{value:z},{value:(z+O)/2},{value:O,autoRanges:!0}],_.length&&_[0].radius&&b.reverse(),b.forEach(function(f,a){_&&_[a]&&(b[a]=A(_[a],f))}),b}predictBubbleSizes(){const I=this.chart,E=I.legend.options,_=E.floating,b="horizontal"===E.layout,T=b?I.legend.lastLineHeight:0,z=I.plotSizeX,O=I.plotSizeY,f=I.series[this.options.seriesIndex],a=f.getPxExtremes(),g=Math.ceil(a.minPxSize),y=Math.ceil(a.maxPxSize),o=Math.min(O,z);let n,r=f.options.maxSize;return _||!/%$/.test(r)?n=y:(r=parseFloat(r),n=(o+T)*r/100/(r/100+1),(b&&O-n>=z||!b&&z-n>=O)&&(n=y)),[g,Math.ceil(n)]}updateRanges(I,E){const _=this.legend.options.bubbleLegend;_.minSize=I,_.maxSize=E,_.ranges=this.getRanges()}correctSizes(){const I=this.legend,b=this.chart.series[this.options.seriesIndex].getPxExtremes(),z=this.options.maxSize;Math.abs(Math.ceil(b.maxPxSize)-z)>1&&(this.updateRanges(this.options.minSize,b.maxPxSize),I.render())}}}),Z(Pe,"Series/Bubble/BubbleLegendComposition.js",[Pe["Series/Bubble/BubbleLegendDefaults.js"],Pe["Series/Bubble/BubbleLegendItem.js"],Pe["Core/Defaults.js"],Pe["Core/Globals.js"],Pe["Core/Utilities.js"]],function(ie,re,ve,le,fe){const{setOptions:pe}=ve,{composed:J}=le,{addEvent:te,objectEach:$,pushUnique:A,wrap:B}=fe;function F(z,O,f){const a=this,g=a.legend,y=D(a)>=0;let o,n,r;g&&g.options.enabled&&g.bubbleLegend&&g.options.bubbleLegend.autoRanges&&y?(o=g.bubbleLegend.options,n=g.bubbleLegend.predictBubbleSizes(),g.bubbleLegend.updateRanges(n[0],n[1]),o.placed||(g.group.placed=!1,g.allItems.forEach(l=>{r=l.legendItem||{},r.group&&(r.group.translateY=void 0)})),g.render(),a.getMargins(),a.axes.forEach(function(l){l.visible&&l.render(),o.placed||(l.setScale(),l.updateNames(),$(l.ticks,function(d){d.isNew=!0,d.isNewLabel=!0}))}),o.placed=!0,a.getMargins(),z.call(a,O,f),g.bubbleLegend.correctSizes(),b(g,I(g))):(z.call(a,O,f),g&&g.options.enabled&&g.bubbleLegend&&(g.render(),b(g,I(g))))}function D(z){const O=z.series;let f=0;for(;fg.height&&(g.height=O[r].itemHeight);g.step=n}return f}function E(z){const O=this,f=O.bubbleLegend,a=O.options,g=a.bubbleLegend,y=D(O.chart);f&&f.ranges&&f.ranges.length&&(g.ranges.length&&(g.autoRanges=!!g.ranges[0].autoRanges),O.destroyItem(f)),y>=0&&a.enabled&&g.enabled&&(g.seriesIndex=y,O.bubbleLegend=new re(g,O),O.bubbleLegend.addToLegend(z.allItems))}function _(z){if(z.defaultPrevented)return!1;const O=this,f=O.chart,a=O.visible,g=O.chart.legend;let y;g&&g.bubbleLegend&&(O.visible=!a,O.ignoreSeries=a,y=D(f)>=0,g.bubbleLegend.visible!==y&&(g.update({bubbleLegend:{enabled:y}}),g.bubbleLegend.visible=y),O.visible=a)}function b(z,O){const a=z.options.rtl;let g,y,o,n,r=0;z.allItems.forEach((l,d)=>{n=l.legendItem||{},n.group&&(g=n.group.translateX||0,y=n.y||0,o=l.movementX,(o||a&&l.ranges)&&(o=a?g-l.options.maxSize/2:g+o,n.group.attr({translateX:o})),d>O[r].step&&r++,n.group.attr({translateY:Math.round(y+O[r].height/2)}),n.y=y+O[r].height/2)})}return{compose:function L(z,O,f){A(J,"Series.BubbleLegend")&&(pe({legend:{bubbleLegend:ie}}),B(z.prototype,"drawChartBox",F),te(O,"afterGetAllItems",E),te(f,"legendItemClick",_))}}}),Z(Pe,"Series/Bubble/BubblePoint.js",[Pe["Core/Series/Point.js"],Pe["Core/Series/SeriesRegistry.js"],Pe["Core/Utilities.js"]],function(ie,re,ve){const{seriesTypes:{scatter:{prototype:{pointClass:le}}}}=re,{extend:fe}=ve;class pe extends le{haloPath(te){return ie.prototype.haloPath.call(this,0===te?0:(this.marker&&this.marker.radius||0)+te)}}return fe(pe.prototype,{ttBelow:!1}),pe}),Z(Pe,"Series/Bubble/BubbleSeries.js",[Pe["Series/Bubble/BubbleLegendComposition.js"],Pe["Series/Bubble/BubblePoint.js"],Pe["Core/Color/Color.js"],Pe["Core/Globals.js"],Pe["Core/Series/SeriesRegistry.js"],Pe["Core/Utilities.js"]],function(ie,re,ve,le,fe,pe){const{parse:J}=ve,{composed:te,noop:$}=le,{series:A,seriesTypes:{column:{prototype:B},scatter:F}}=fe,{addEvent:L,arrayMax:D,arrayMin:I,clamp:E,extend:_,isNumber:b,merge:T,pick:z,pushUnique:O}=pe;function f(){const g=this.len,{coll:y,isXAxis:o,min:n}=this,r=o?"xData":"yData",l=(this.max||0)-(n||0);let p,d=0,C=g,k=g/l;"xAxis"!==y&&"yAxis"!==y||(this.series.forEach(S=>{if(S.bubblePadding&&S.reserveSpace()){this.allowZoomOutside=!0,p=!0;const j=S[r];if(o&&((S.onPoint||S).getRadii(0,0,S),S.onPoint&&(S.radii=S.onPoint.radii)),l>0){let H=j.length;for(;H--;)if(b(j[H])&&this.dataMin<=j[H]&&j[H]<=this.max){const Y=S.radii&&S.radii[H]||0;d=Math.min((j[H]-n)*k-Y,d),C=Math.max((j[H]-n)*k+Y,C)}}}}),p&&l>0&&!this.logarithmic&&(C-=g,k*=(g+Math.max(0,d)-Math.min(C,g))/g,[["min","userMin",d],["max","userMax",C]].forEach(S=>{typeof z(this.options[S[0]],this[S[1]])>"u"&&(this[S[0]]+=S[2]/k)})))}class a extends F{static compose(y,o,n,r){ie.compose(o,n,r),O(te,"Series.Bubble")&&L(y,"foundExtremes",f)}animate(y){!y&&this.points.length{if(Y.bubblePadding&&Y.reserveSpace()){const U=(Y.onPoint||Y).getZExtremes();U&&(S=Math.min(z(S,U.zMin),U.zMin),j=Math.max(z(j,U.zMax),U.zMax),H=!0)}}),H?(C={zMin:S,zMax:j},this.chart.bubbleZExtremes=C):C={zMin:0,zMax:0}}for(l=0,r=y.length;l0&&(j=(l-y)/S)}return k&&j>=0&&(j=Math.sqrt(j)),Math.ceil(n+j*(r-n))/2}hasData(){return!!this.processedXData.length}pointAttribs(y,o){const r=this.options.marker.fillOpacity,l=A.prototype.pointAttribs.call(this,y,o);return 1!==r&&(l.fill=J(l.fill).setOpacity(r).get("rgba")),l}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){const{data:y,options:o,radii:n}=this,{minPxSize:r}=this.getPxExtremes();let l=y.length;for(;l--;){const d=y[l],C=n?n[l]:0;"z"===this.zoneAxis&&(d.negative=(d.z||0)<(o.zThreshold||0)),b(C)&&C>=r/2?(d.marker=_(d.marker,{radius:C,width:2*C,height:2*C}),d.dlBox={x:d.plotX-C,y:d.plotY-C,width:2*C,height:2*C}):(d.shapeArgs=d.plotY=d.dlBox=void 0,d.isInside=!1)}}getPxExtremes(){const y=Math.min(this.chart.plotWidth,this.chart.plotHeight),o=l=>{let d;return"string"==typeof l&&(d=/%$/.test(l),l=parseInt(l,10)),d?y*l/100:l},n=o(z(this.options.minSize,8));return{minPxSize:n,maxPxSize:Math.max(o(z(this.options.maxSize,"20%")),n)}}getZExtremes(){const y=this.options,o=(this.zData||[]).filter(b);if(o.length){const n=z(y.zMin,E(I(o),!1===y.displayNegative?y.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),r=z(y.zMax,D(o));if(b(n)&&b(r))return{zMin:n,zMax:r}}}}return a.defaultOptions=T(F.defaultOptions,{dataLabels:{formatter:function(){const{numberFormatter:g}=this.series.chart,{z:y}=this.point;return b(y)?g(y,-1):""},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"}),_(a.prototype,{alignDataLabel:B.alignDataLabel,applyZones:$,bubblePadding:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:re,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),L(a,"updatedData",g=>{delete g.target.chart.bubbleZExtremes}),L(a,"remove",g=>{delete g.target.chart.bubbleZExtremes}),fe.registerSeriesType("bubble",a),a}),Z(Pe,"Series/ColumnRange/ColumnRangePoint.js",[Pe["Core/Series/SeriesRegistry.js"],Pe["Core/Utilities.js"]],function(ie,re){const{seriesTypes:{column:{prototype:{pointClass:{prototype:ve}}},arearange:{prototype:{pointClass:le}}}}=ie,{extend:fe,isNumber:pe}=re;class J extends le{isValid(){return pe(this.low)}}return fe(J.prototype,{setState:ve.setState}),J}),Z(Pe,"Series/ColumnRange/ColumnRangeSeries.js",[Pe["Series/ColumnRange/ColumnRangePoint.js"],Pe["Core/Globals.js"],Pe["Core/Series/SeriesRegistry.js"],Pe["Core/Utilities.js"]],function(ie,re,ve,le){const{noop:fe}=re,{seriesTypes:{arearange:pe,column:J,column:{prototype:te}}}=ve,{addEvent:$,clamp:A,extend:B,isNumber:F,merge:L,pick:D}=le;class E extends pe{setOptions(){return L(!0,arguments[0],{stacking:void 0}),pe.prototype.setOptions.apply(this,arguments)}translate(){return te.translate.apply(this)}pointAttribs(){return te.pointAttribs.apply(this,arguments)}translate3dPoints(){return te.translate3dPoints.apply(this,arguments)}translate3dShapes(){return te.translate3dShapes.apply(this,arguments)}afterColumnTranslate(){const b=this.yAxis,T=this.xAxis,z=T.startAngleRad,O=this.chart,f=this.xAxis.isRadial,a=Math.max(O.chartWidth,O.chartHeight)+999;let g,y,o,n;function r(l){return A(l,-a,a)}this.points.forEach(l=>{const d=l.shapeArgs||{},C=this.options.minPointLength,k=l.plotY,p=b.translate(l.high,0,1,0,1);if(F(p)&&F(k))if(l.plotHigh=r(p),l.plotLow=r(k),n=l.plotHigh,g=D(l.rectPlotY,l.plotY)-l.plotHigh,Math.abs(g)\u25cf {series.name}: {point.low} - {point.high}
'},whiskerWidth:null}}),Z(Pe,"Series/ErrorBar/ErrorBarSeries.js",[Pe["Series/BoxPlot/BoxPlotSeries.js"],Pe["Series/Column/ColumnSeries.js"],Pe["Series/ErrorBar/ErrorBarSeriesDefaults.js"],Pe["Core/Series/SeriesRegistry.js"],Pe["Core/Utilities.js"]],function(ie,re,ve,le,fe){const{arearange:pe}=le.seriesTypes,{addEvent:J,merge:te,extend:$}=fe;class A extends ie{getColumnMetrics(){const F=this;return F.linkedParent&&F.linkedParent.columnMetrics||re.prototype.getColumnMetrics.call(F)}drawDataLabels(){const F=this,L=F.pointValKey;if(pe){pe.prototype.drawDataLabels.call(F);for(const D of F.points)D.y=D[L]}}toYData(F){return[F.low,F.high]}}return A.defaultOptions=te(ie.defaultOptions,ve),J(A,"afterTranslate",function(){for(const B of this.points)B.plotLow=B.plotY},{order:0}),$(A.prototype,{pointArrayMap:["low","high"],pointValKey:"high",doQuartiles:!1}),le.registerSeriesType("errorbar",A),A}),Z(Pe,"Series/Gauge/GaugePoint.js",[Pe["Core/Series/SeriesRegistry.js"]],function(ie){const{series:{prototype:{pointClass:re}}}=ie;return class ve extends re{setState(fe){this.state=fe}}}),Z(Pe,"Series/Gauge/GaugeSeries.js",[Pe["Series/Gauge/GaugePoint.js"],Pe["Core/Globals.js"],Pe["Core/Series/SeriesRegistry.js"],Pe["Core/Utilities.js"]],function(ie,re,ve,le){const{noop:fe}=re,{series:pe,seriesTypes:{column:J}}=ve,{clamp:te,isNumber:$,extend:A,merge:B,pick:F,pInt:L,defined:D}=le;class I extends pe{translate(){const _=this,b=_.yAxis,T=_.options,z=b.center;_.generatePoints(),_.points.forEach(O=>{const f=B(T.dial,O.dial),a=L(f.radius)*z[2]/200,g=L(f.baseLength)*a/100,y=L(f.rearLength)*a/100,o=f.baseWidth,n=f.topWidth;let r=T.overshoot,l=b.startAngleRad+b.translate(O.y,void 0,void 0,void 0,!0);($(r)||!1===T.wrap)&&(r=$(r)?r/180*Math.PI:0,l=te(l,b.startAngleRad-r,b.endAngleRad+r)),l=180*l/Math.PI,O.shapeType="path",O.shapeArgs={d:f.path||[["M",-y,-o/2],["L",g,-o/2],["L",a,-n/2],["L",a,n/2],["L",g,o/2],["L",-y,o/2],["Z"]],translateX:z[0],translateY:z[1],rotation:l},O.plotX=z[0],O.plotY=z[1],D(O.y)&&b.max-b.min&&(O.percentage=(O.y-b.min)/(b.max-b.min)*100)})}drawPoints(){const _=this,b=_.chart,T=_.yAxis.center,z=_.pivot,O=_.options,f=O.pivot,a=b.renderer;_.points.forEach(g=>{const y=g.graphic,o=g.shapeArgs,n=o.d,r=B(O.dial,g.dial);y?(y.animate(o),o.d=n):g.graphic=a[g.shapeType](o).addClass("highcharts-dial").add(_.group),b.styledMode||g.graphic[y?"animate":"attr"]({stroke:r.borderColor,"stroke-width":r.borderWidth,fill:r.backgroundColor})}),z?z.animate({translateX:T[0],translateY:T[1]}):f&&(_.pivot=a.circle(0,0,f.radius).attr({zIndex:2}).addClass("highcharts-pivot").translate(T[0],T[1]).add(_.group),b.styledMode||_.pivot.attr({fill:f.backgroundColor,stroke:f.borderColor,"stroke-width":f.borderWidth}))}animate(_){const b=this;_||b.points.forEach(T=>{const z=T.graphic;z&&(z.attr({rotation:180*b.yAxis.startAngleRad/Math.PI}),z.animate({rotation:T.shapeArgs.rotation},b.options.animation))})}render(){this.group=this.plotGroup("group","series",this.visible?"inherit":"hidden",this.options.zIndex,this.chart.seriesGroup),pe.prototype.render.call(this),this.group.clip(this.chart.clipRect)}setData(_,b){pe.prototype.setData.call(this,_,!1),this.processData(),this.generatePoints(),F(b,!0)&&this.chart.redraw()}hasData(){return!!this.points.length}}return I.defaultOptions=B(pe.defaultOptions,{dataLabels:{borderColor:"#cccccc",borderRadius:3,borderWidth:1,crop:!1,defer:!1,enabled:!0,verticalAlign:"top",y:15,zIndex:2},dial:{backgroundColor:"#000000",baseLength:"70%",baseWidth:3,borderColor:"#cccccc",borderWidth:0,radius:"80%",rearLength:"10%",topWidth:1},pivot:{radius:5,borderWidth:0,borderColor:"#cccccc",backgroundColor:"#000000"},tooltip:{headerFormat:""},showInLegend:!1}),A(I.prototype,{angular:!0,directTouch:!0,drawGraph:fe,drawTracker:J.prototype.drawTracker,fixedBox:!0,forceDL:!0,noSharedTooltip:!0,pointClass:ie,trackerGroups:["group","dataLabelsGroup"]}),ve.registerSeriesType("gauge",I),I}),Z(Pe,"Series/DragNodesComposition.js",[Pe["Core/Globals.js"],Pe["Core/Utilities.js"]],function(ie,re){const{composed:ve}=ie,{addEvent:le,pushUnique:fe}=re;function J(){const L=this;let D,I,E;L.container&&(D=le(L.container,"mousedown",_=>{const b=L.hoverPoint;b&&b.series&&b.series.hasDraggableNodes&&b.series.options.draggable&&(b.series.onMouseDown(b,_),I=le(L.container,"mousemove",T=>b&&b.series&&b.series.onMouseMove(b,T)),E=le(L.container.ownerDocument,"mouseup",T=>(I(),E(),b&&b.series&&b.series.onMouseUp(b,T))))})),le(L,"destroy",function(){D()})}return{compose:function pe(L){fe(ve,"DragNodes")&&le(L,"load",J)},onMouseDown:function te(L,D){const I=this.chart.pointer?.normalize(D)||D;L.fixedPosition={chartX:I.chartX,chartY:I.chartY,plotX:L.plotX,plotY:L.plotY},L.inDragMode=!0},onMouseMove:function $(L,D){if(L.fixedPosition&&L.inDragMode){const E=this.chart,_=E.pointer?.normalize(D)||D,b=L.fixedPosition.chartX-_.chartX,T=L.fixedPosition.chartY-_.chartY,z=E.graphLayoutsLookup;let O,f;(Math.abs(b)>5||Math.abs(T)>5)&&(O=L.fixedPosition.plotX-b,f=L.fixedPosition.plotY-T,E.isInsidePlot(O,f)&&(L.plotX=O,L.plotY=f,L.hasDragged=!0,this.redrawHalo(L),z.forEach(a=>{a.restartSimulation()})))}},onMouseUp:function A(L){L.fixedPosition&&(L.hasDragged&&(this.layout.enableSimulation?this.layout.start():this.chart.redraw()),L.inDragMode=L.hasDragged=!1,this.options.fixedDraggable||delete L.fixedPosition)},redrawHalo:function B(L){L&&this.halo&&this.halo.attr({d:L.haloPath(this.options.states.hover.halo.size)})}}}),Z(Pe,"Series/GraphLayoutComposition.js",[Pe["Core/Animation/AnimationUtilities.js"],Pe["Core/Globals.js"],Pe["Core/Utilities.js"]],function(ie,re,ve){const{setAnimation:le}=ie,{composed:fe}=re,{addEvent:pe,pushUnique:J}=ve;function B(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(E=>{E.updateSimulation()}),this.redraw())}function F(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(E=>{E.updateSimulation(!1)}),this.redraw())}function L(){this.graphLayoutsLookup&&this.graphLayoutsLookup.forEach(E=>{E.stop()})}function D(){let E,_=!1;const b=T=>{T.maxIterations--&&isFinite(T.temperature)&&!T.isStable()&&!T.enableSimulation&&(T.beforeStep&&T.beforeStep(),T.step(),E=!1,_=!0)};if(this.graphLayoutsLookup){for(le(!1,this),this.graphLayoutsLookup.forEach(T=>T.start());!E;)E=!0,this.graphLayoutsLookup.forEach(b);_&&this.series.forEach(T=>{T&&T.layout&&T.render()})}}return{compose:function A(E){J(fe,"GraphLayout")&&(pe(E,"afterPrint",B),pe(E,"beforePrint",F),pe(E,"predraw",L),pe(E,"render",D))},integrations:{},layouts:{}}}),Z(Pe,"Series/PackedBubble/PackedBubblePoint.js",[Pe["Core/Chart/Chart.js"],Pe["Core/Series/Point.js"],Pe["Core/Series/SeriesRegistry.js"]],function(ie,re,ve){const{seriesTypes:{bubble:{prototype:{pointClass:le}}}}=ve;return class fe extends le{destroy(){return this.series.layout&&this.series.layout.removeElementFromCollection(this,this.series.layout.nodes),re.prototype.destroy.apply(this,arguments)}firePointEvent(){const te=this.series.options;if(this.isParentNode&&te.parentNode){const $=te.allowPointSelect;te.allowPointSelect=te.parentNode.allowPointSelect,re.prototype.firePointEvent.apply(this,arguments),te.allowPointSelect=$}else re.prototype.firePointEvent.apply(this,arguments)}select(){const $=this.series.chart;this.isParentNode?($.getSelectedPoints=$.getSelectedParentNodes,re.prototype.select.apply(this,arguments),$.getSelectedPoints=ie.prototype.getSelectedPoints):re.prototype.select.apply(this,arguments)}}}),Z(Pe,"Series/PackedBubble/PackedBubbleSeriesDefaults.js",[Pe["Core/Utilities.js"]],function(ie){const{isNumber:re}=ie;return{minSize:"10%",maxSize:"50%",sizeBy:"area",zoneAxis:"y",crisp:!1,tooltip:{pointFormat:"Value: {point.value}"},draggable:!0,useSimulation:!0,parentNode:{allowPointSelect:!1},dataLabels:{formatter:function(){const{numberFormatter:le}=this.series.chart,{value:fe}=this.point;return re(fe)?le(fe,-1):""},parentNodeFormatter:function(){return this.name},parentNodeTextPath:{enabled:!0},padding:0,style:{transition:"opacity 2000ms"}},layoutAlgorithm:{initialPositions:"circle",initialPositionRadius:20,bubblePadding:5,parentNodeLimit:!1,seriesInteraction:!0,dragBetweenSeries:!1,parentNodeOptions:{maxIterations:400,gravitationalConstant:.03,maxSpeed:50,initialPositionRadius:100,seriesInteraction:!0,marker:{fillColor:null,fillOpacity:1,lineWidth:null,lineColor:null,symbol:"circle"}},enableSimulation:!0,type:"packedbubble",integration:"packedbubble",maxIterations:1e3,splitSeries:!1,maxSpeed:5,gravitationalConstant:.01,friction:-.981}}}),Z(Pe,"Series/Networkgraph/VerletIntegration.js",[],function(){return{attractive:function ie($,A,B){const F=$.getMass(),L=-B.x*A*this.diffTemperature,D=-B.y*A*this.diffTemperature;$.fromNode.fixedPosition||($.fromNode.plotX-=L*F.fromNode/$.fromNode.degree,$.fromNode.plotY-=D*F.fromNode/$.fromNode.degree),$.toNode.fixedPosition||($.toNode.plotX+=L*F.toNode/$.toNode.degree,$.toNode.plotY+=D*F.toNode/$.toNode.degree)},attractiveForceFunction:function re($,A){return(A-$)/$},barycenter:function ve(){let $=this.options.gravitationalConstant,A=this.barycenter.xFactor,B=this.barycenter.yFactor;A=(A-(this.box.left+this.box.width)/2)*$,B=(B-(this.box.top+this.box.height)/2)*$,this.nodes.forEach(function(F){F.fixedPosition||(F.plotX-=A/F.mass/F.degree,F.plotY-=B/F.mass/F.degree)})},getK:function le($){return Math.pow($.box.width*$.box.height/$.nodes.length,.5)},integrate:function fe($,A){let B=-$.options.friction,F=$.options.maxSpeed,I=(A.plotX+A.dispX-A.prevX)*B,E=(A.plotY+A.dispY-A.prevY)*B,_=Math.abs,b=_(I)/(I||1),T=_(E)/(E||1);I=b*Math.min(F,Math.abs(I)),E=T*Math.min(F,Math.abs(E)),A.prevX=A.plotX+A.dispX,A.prevY=A.plotY+A.dispY,A.plotX+=I,A.plotY+=E,A.temperature=$.vectorLength({x:I,y:E})},repulsive:function pe($,A,B){const F=A*this.diffTemperature/$.mass/$.degree;$.fixedPosition||($.plotX+=B.x*F,$.plotY+=B.y*F)},repulsiveForceFunction:function J($,A){return(A-$)/$*(A>$?1:0)}}}),Z(Pe,"Series/PackedBubble/PackedBubbleIntegration.js",[Pe["Core/Globals.js"],Pe["Series/Networkgraph/VerletIntegration.js"]],function(ie,re){const{noop:ve}=ie;return{barycenter:function le(){const te=this,$=te.options.gravitationalConstant,A=te.box,B=te.nodes;let F,L;for(const D of B)te.options.splitSeries&&!D.isParentNode?(F=D.series.parentNode.plotX,L=D.series.parentNode.plotY):(F=A.width/2,L=A.height/2),D.fixedPosition||(D.plotX-=(D.plotX-F)*$/(D.mass*Math.sqrt(B.length)),D.plotY-=(D.plotY-L)*$/(D.mass*Math.sqrt(B.length)))},getK:ve,integrate:re.integrate,repulsive:function fe(te,$,A,B){const F=$*this.diffTemperature/te.mass/te.degree,L=A.x*F,D=A.y*F;te.fixedPosition||(te.plotX+=L,te.plotY+=D),B.fixedPosition||(B.plotX-=L,B.plotY-=D)},repulsiveForceFunction:function pe(te,$,A,B){return Math.min(te,(A.marker.radius+B.marker.radius)/2)}}}),Z(Pe,"Series/Networkgraph/EulerIntegration.js",[],function(){return{attractive:function ie($,A,B,F){const L=$.getMass(),D=B.x/F*A,I=B.y/F*A;$.fromNode.fixedPosition||($.fromNode.dispX-=D*L.fromNode/$.fromNode.degree,$.fromNode.dispY-=I*L.fromNode/$.fromNode.degree),$.toNode.fixedPosition||($.toNode.dispX+=D*L.toNode/$.toNode.degree,$.toNode.dispY+=I*L.toNode/$.toNode.degree)},attractiveForceFunction:function re($,A){return $*$/A},barycenter:function ve(){const $=this.options.gravitationalConstant,A=this.barycenter.xFactor,B=this.barycenter.yFactor;this.nodes.forEach(function(F){if(!F.fixedPosition){const L=F.getDegree(),D=L*(1+L/2);F.dispX+=(A-F.plotX)*$*D/F.degree,F.dispY+=(B-F.plotY)*$*D/F.degree}})},getK:function le($){return Math.pow($.box.width*$.box.height/$.nodes.length,.3)},integrate:function fe($,A){let B;A.dispX+=A.dispX*$.options.friction,A.dispY+=A.dispY*$.options.friction,B=A.temperature=$.vectorLength({x:A.dispX,y:A.dispY}),0!==B&&(A.plotX+=A.dispX/B*Math.min(Math.abs(A.dispX),$.temperature),A.plotY+=A.dispY/B*Math.min(Math.abs(A.dispY),$.temperature))},repulsive:function pe($,A,B,F){$.dispX+=B.x/F*A/$.degree,$.dispY+=B.y/F*A/$.degree},repulsiveForceFunction:function J($,A){return A*A/$}}}),Z(Pe,"Series/Networkgraph/QuadTreeNode.js",[],function(){class ie{constructor(ve){this.body=!1,this.isEmpty=!1,this.isInternal=!1,this.nodes=[],this.box=ve,this.boxSize=Math.min(ve.width,ve.height)}divideBox(){const ve=this.box.width/2,le=this.box.height/2;this.nodes[0]=new ie({left:this.box.left,top:this.box.top,width:ve,height:le}),this.nodes[1]=new ie({left:this.box.left+ve,top:this.box.top,width:ve,height:le}),this.nodes[2]=new ie({left:this.box.left+ve,top:this.box.top+le,width:ve,height:le}),this.nodes[3]=new ie({left:this.box.left,top:this.box.top+le,width:ve,height:le})}getBoxPosition(ve){const fe=ve.plotYthis.step())):(this.simulation=!1,this.series.forEach(_=>{B(_,"afterSimulation")}))}}stop(){this.simulation&&J.cancelAnimationFrame(this.simulation)}setArea(I,E,_,b){this.box={left:I,top:E,width:_,height:b}}setK(){this.k=this.options.linkLength||this.integration.getK(this)}addElementsToCollection(I,E){for(const _ of I)-1===E.indexOf(_)&&E.push(_)}removeElementFromCollection(I,E){const _=E.indexOf(I);-1!==_&&E.splice(_,1)}clear(){this.nodes.length=0,this.links.length=0,this.series.length=0,this.resetSimulation()}resetSimulation(){this.forcedStop=!1,this.systemTemperature=0,this.setMaxIterations(),this.setTemperature(),this.setDiffTemperature()}restartSimulation(){this.simulation?this.resetSimulation():(this.setInitialRendering(!1),this.enableSimulation?this.start():this.setMaxIterations(1),this.chart&&this.chart.redraw(),this.setInitialRendering(!0))}setMaxIterations(I){this.maxIterations=F(I,this.options.maxIterations)}setTemperature(){this.temperature=this.startTemperature=Math.sqrt(this.nodes.length)}setDiffTemperature(){this.diffTemperature=this.startTemperature/(this.options.maxIterations+1)}setInitialRendering(I){this.initialRendering=I}createQuadTree(){this.quadTree=new le(this.box.left,this.box.top,this.box.width,this.box.height),this.quadTree.insertNodes(this.nodes)}initPositions(){const I=this.options.initialPositions;if(A(I)){I.call(this);for(const E of this.nodes)$(E.prevX)||(E.prevX=E.plotX),$(E.prevY)||(E.prevY=E.plotY),E.dispX=0,E.dispY=0}else"circle"===I?this.setCircularPositions():this.setRandomPositions()}setCircularPositions(){const I=this.box,E=this.nodes,b=2*Math.PI/(E.length+1),T=E.filter(function(y){return 0===y.linksTo.length}),z={},O=this.options.initialPositionRadius,f=y=>{for(const o of y.linksFrom||[])z[o.toNode.id]||(z[o.toNode.id]=!0,a.push(o.toNode),f(o.toNode))};let g,a=[];for(const y of T)a.push(y),f(y);if(a.length)for(const y of E)-1===a.indexOf(y)&&a.push(y);else a=E;for(let y=0,o=a.length;y{let O=z*z/Math.PI;return O-=Math.floor(O),O};let T;for(let z=0,O=E.length;zthis.barnesHutApproximation(I,E));else{let I,E,_;for(const b of this.nodes)for(const T of this.nodes)b!==T&&!b.fixedPosition&&(_=this.getDistXY(b,T),E=this.vectorLength(_),0!==E&&(I=this.repulsiveForce(E,this.k),this.force("repulsive",b,I*T.mass,_,E)))}}attractiveForces(){let I,E,_;for(const b of this.links)b.fromNode&&b.toNode&&(I=this.getDistXY(b.fromNode,b.toNode),E=this.vectorLength(I),0!==E&&(_=this.attractiveForce(E,this.k),this.force("attractive",b,_,I,E)))}applyLimits(){const I=this.nodes;for(const E of I){if(E.fixedPosition)return;this.integration.integrate(this,E),this.applyLimitBox(E,this.box),E.dispX=0,E.dispY=0}}applyLimitBox(I,E){const _=I.radius;I.plotX=te(I.plotX,E.left+_,E.width-_),I.plotY=te(I.plotY,E.top+_,E.height-_)}coolDown(I,E,_){return I-E*_}isStable(){return Math.abs(this.systemTemperature-this.prevSystemTemperature)<1e-5||this.temperature<=0}getSystemTemperature(){let I=0;for(const E of this.nodes)I+=E.temperature;return I}vectorLength(I){return Math.sqrt(I.x*I.x+I.y*I.y)}getDistR(I,E){const _=this.getDistXY(I,E);return this.vectorLength(_)}getDistXY(I,E){const _=I.plotX-E.plotX,b=I.plotY-E.plotY;return{x:_,y:b,absX:Math.abs(_),absY:Math.abs(b)}}}return L}),Z(Pe,"Series/PackedBubble/PackedBubbleLayout.js",[Pe["Series/GraphLayoutComposition.js"],Pe["Series/PackedBubble/PackedBubbleIntegration.js"],Pe["Series/Networkgraph/ReingoldFruchtermanLayout.js"],Pe["Core/Utilities.js"]],function(ie,re,ve,le){const{addEvent:fe,pick:pe}=le;function J(){const B=[];return this.series.forEach(F=>{F.parentNode&&F.parentNode.selected&&B.push(F.parentNode)}),B}function te(){this.allDataPoints&&delete this.allDataPoints}class $ extends ve{constructor(){super(...arguments),this.index=NaN,this.nodes=[],this.series=[]}static compose(B){ve.compose(B),ie.integrations.packedbubble=re,ie.layouts.packedbubble=$;const F=B.prototype;F.getSelectedParentNodes||(fe(B,"beforeRedraw",te),F.getSelectedParentNodes=J)}beforeStep(){this.options.marker&&this.series.forEach(B=>{B&&B.calculateParentRadius()})}isStable(){const B=Math.abs(this.prevSystemTemperature-this.systemTemperature),F=10*this.systemTemperature/Math.sqrt(this.nodes.length);return Math.abs(F)<1&&B<1e-5||this.temperature<=0}setCircularPositions(){const B=this,F=B.box,L=B.nodes,I=2*Math.PI/(L.length+1),E=B.options.initialPositionRadius;let _,b,T=0;for(const z of L)B.options.splitSeries&&!z.isParentNode?(_=z.series.parentNode.plotX,b=z.series.parentNode.plotY):(_=F.width/2,b=F.height/2),z.plotX=z.prevX=pe(z.plotX,_+E*Math.cos(z.index||T*I)),z.plotY=z.prevY=pe(z.plotY,b+E*Math.sin(z.index||T*I)),z.dispX=0,z.dispY=0,T++}repulsiveForces(){const B=this,F=B.options.bubblePadding;let L,D,I;B.nodes.forEach(E=>{E.degree=E.mass,E.neighbours=0,B.nodes.forEach(_=>{L=0,E!==_&&!E.fixedPosition&&(B.options.seriesInteraction||E.series===_.series)&&(I=B.getDistXY(E,_),D=B.vectorLength(I)-(E.marker.radius+_.marker.radius+F),D<0&&(E.degree+=.01,E.neighbours++,L=B.repulsiveForce(-D/Math.sqrt(E.neighbours),B.k,E,_)),B.force("repulsive",E,L*_.mass,I,_,D))})})}applyLimitBox(B,F){const L=this;let I,E;L.options.splitSeries&&!B.isParentNode&&L.options.parentNodeLimit&&(I=L.getDistXY(B,B.series.parentNode),E=B.series.parentNodeRadius-B.marker.radius-L.vectorLength(I),E<0&&E>-2*B.marker.radius&&(B.plotX-=.01*I.x,B.plotY-=.01*I.y)),super.applyLimitBox(B,F)}}return ie.layouts.packedbubble=$,$}),Z(Pe,"Series/SimulationSeriesUtilities.js",[Pe["Core/Utilities.js"],Pe["Core/Animation/AnimationUtilities.js"]],function(ie,re){const{merge:ve,syncTimeout:le}=ie,{animObject:fe}=re;return{initDataLabels:function J(){const $=this,A=$.options.dataLabels;if(!$.dataLabelsGroup){const B=this.initDataLabelsGroup();return!$.chart.styledMode&&A?.style&&B.css(A.style),B.attr({opacity:0}),$.visible&&B.show(),B}return $.dataLabelsGroup.attr(ve({opacity:1},this.getPlotBox("data-labels"))),$.dataLabelsGroup},initDataLabelsDefer:function pe(){const $=this.options.dataLabels;$?.defer&&this.options.layoutAlgorithm?.enableSimulation?le(()=>{this.deferDataLabels=!1},$?fe($.animation).defer:0):this.deferDataLabels=!1}}}),Z(Pe,"Series/PackedBubble/PackedBubbleSeries.js",[Pe["Core/Color/Color.js"],Pe["Series/DragNodesComposition.js"],Pe["Series/GraphLayoutComposition.js"],Pe["Core/Globals.js"],Pe["Series/PackedBubble/PackedBubblePoint.js"],Pe["Series/PackedBubble/PackedBubbleSeriesDefaults.js"],Pe["Series/PackedBubble/PackedBubbleLayout.js"],Pe["Core/Series/SeriesRegistry.js"],Pe["Series/SimulationSeriesUtilities.js"],Pe["Core/Utilities.js"]],function(ie,re,ve,le,fe,pe,J,te,$,A){const{parse:B}=ie,{noop:F}=le,{series:{prototype:L},seriesTypes:{bubble:D}}=te,{initDataLabels:I,initDataLabelsDefer:E}=$,{addEvent:_,clamp:b,defined:T,extend:z,fireEvent:O,isArray:f,isNumber:a,merge:g,pick:y}=A;class o extends D{constructor(){super(...arguments),this.parentNodeMass=0,this.deferDataLabels=!0}static compose(r,l,d,C){D.compose(r,l,d,C),re.compose(l),J.compose(l)}accumulateAllPoints(){const r=this.chart,l=[];let d;for(const C of r.series)if(C.is("packedbubble")&&C.reserveSpace()){d=C.yData||[];for(let k=0;k{S.mass=2,S.degree=1,S.collisionNmb=1}),p.setArea(0,0,this.chart.plotWidth,this.chart.plotHeight),p.addElementsToCollection([this],p.series),p.addElementsToCollection(this.points,p.nodes)}addSeriesLayout(){const r=this.options.layoutAlgorithm=this.options.layoutAlgorithm||{},l=r.type||"packedbubble",d=this.chart.graphLayoutsStorage,C=this.chart.graphLayoutsLookup,k=g(r,r.parentNodeOptions,{enableSimulation:this.layout.options.enableSimulation});let p=d[l+"-series"];p||(d[l+"-series"]=p=new ve.layouts[l],p.init(k),C.splice(p.index,0,p)),this.parentNodeLayout=p,this.createParentNodes()}calculateParentRadius(){const r=this.seriesBox();this.parentNodeRadius=b(Math.sqrt(2*this.parentNodeMass/Math.PI)+20,20,r?Math.max(Math.sqrt(Math.pow(r.width,2)+Math.pow(r.height,2))/2+20,20):Math.sqrt(2*this.parentNodeMass/Math.PI)+20),this.parentNode&&(this.parentNode.marker.radius=this.parentNode.radius=this.parentNodeRadius)}calculateZExtremes(){let d=this.options.zMin,C=this.options.zMax,k=1/0,p=-1/0;return d&&C||(this.chart.series.forEach(S=>{S.yData.forEach(j=>{T(j)&&(j>p&&(p=j),j{this.parentNodeMass+=Math.PI*Math.pow(j.marker.radius,2)}),this.calculateParentRadius(),d.nodes.forEach(j=>{j.seriesIndex===this.index&&(k=!0)}),d.setArea(0,0,l.plotWidth,l.plotHeight),k||(p||(p=new r(this,{mass:this.parentNodeRadius/2,marker:S,dataLabels:{inside:!1},states:{normal:{marker:S},hover:{marker:S}},dataLabelOnNull:!0,degree:this.parentNodeRadius,isParentNode:!0,seriesIndex:this.index})),this.parentNode&&(p.plotX=this.parentNode.plotX,p.plotY=this.parentNode.plotY),this.parentNode=p,d.addElementsToCollection([this],d.series),d.addElementsToCollection([p],d.nodes))}deferLayout(){const r=this.options.layoutAlgorithm;this.visible&&(this.addLayout(),r.splitSeries&&this.addSeriesLayout())}destroy(){this.chart.graphLayoutsLookup&&this.chart.graphLayoutsLookup.forEach(r=>{r.removeElementFromCollection(this,r.series)},this),this.parentNode&&this.parentNodeLayout&&(this.parentNodeLayout.removeElementFromCollection(this.parentNode,this.parentNodeLayout.nodes),this.parentNode.dataLabel&&(this.parentNode.dataLabel=this.parentNode.dataLabel.destroy())),L.destroy.apply(this,arguments)}drawDataLabels(){this.deferDataLabels||(L.drawDataLabels.call(this,this.points),this.parentNode&&(this.parentNode.formatPrefix="parentNode",L.drawDataLabels.call(this,[this.parentNode])))}drawGraph(){if(!this.layout||!this.layout.options.splitSeries)return;const r=this.chart,l=this.layout.options.parentNodeOptions.marker,d={fill:l.fillColor||B(this.color).brighten(.4).get(),opacity:l.fillOpacity,stroke:l.lineColor||this.color,"stroke-width":y(l.lineWidth,this.options.lineWidth)};let C={};this.parentNodesGroup=this.plotGroup("parentNodesGroup","parentNode",this.visible?"inherit":"hidden",.1,r.seriesGroup),this.group?.attr({zIndex:2}),this.calculateParentRadius(),this.parentNode&&T(this.parentNode.plotX)&&T(this.parentNode.plotY)&&T(this.parentNodeRadius)&&(C=g({x:this.parentNode.plotX-this.parentNodeRadius,y:this.parentNode.plotY-this.parentNodeRadius,width:2*this.parentNodeRadius,height:2*this.parentNodeRadius},d),this.parentNode.graphic||(this.graph=this.parentNode.graphic=r.renderer.symbol(d.symbol).add(this.parentNodesGroup)),this.parentNode.graphic.attr(C))}drawTracker(){const r=this.parentNode;let l;super.drawTracker(),r&&(l=f(r.dataLabels)?r.dataLabels:r.dataLabel?[r.dataLabel]:[],r.graphic&&(r.graphic.element.point=r),l.forEach(d=>{(d.div||d.element).point=r}))}getPointRadius(){const r=this.chart,C=this.options,k=C.useSimulation,p=Math.min(r.plotWidth,r.plotHeight),S={},j=[],H=r.allDataPoints||[],Y=H.length;let U,se,w,X;["minSize","maxSize"].forEach(x=>{const N=parseInt(C[x],10),R=/%$/.test(C[x]);S[x]=R?p*N/100:N*Math.sqrt(Y)}),r.minRadius=U=S.minSize/Math.sqrt(Y),r.maxRadius=se=S.maxSize/Math.sqrt(Y);const G=k?this.calculateZExtremes():[U,se];H.forEach((x,N)=>{w=k?b(x[2],G[0],G[1]):x[2],X=this.getRadius(G[0],G[1],U,se,w),0===X&&(X=null),H[N][2]=X,j.push(X)}),this.radii=j}init(){return L.init.apply(this,arguments),E.call(this),this.eventsToUnbind.push(_(this,"updatedData",function(){this.chart.series.forEach(r=>{r.type===this.type&&(r.isDirty=!0)},this)})),this}onMouseUp(r){const l=r;if(l.fixedPosition&&!l.removed){const d=this.layout,C=this.parentNodeLayout;let k,p;C&&d.options.dragBetweenSeries&&C.nodes.forEach(S=>{l&&l.marker&&S!==l.series.parentNode&&(k=d.getDistXY(l,S),p=d.vectorLength(k)-S.marker.radius-l.marker.radius,p<0&&(S.series.addPoint(g(l.options,{plotX:l.plotX,plotY:l.plotY}),!1),d.removeElementFromCollection(l,d.nodes),l.remove()))}),re.onMouseUp.apply(this,arguments)}}placeBubbles(r){const l=this.checkOverlap,d=this.positionBubble,C=[];let j,Y,k=1,p=0,S=0,H=[];const U=r.sort((se,w)=>w[2]-se[2]);if(U.length){if(C.push([[0,0,U[0][2],U[0][3],U[0][4]]]),U.length>1)for(C.push([[0,0-U[1][2]-U[0][2],U[1][2],U[1][3],U[1][4]]]),Y=2;Y1&&C[k-1][S+1]&&l(j,C[k-1][S+1])?(S++,C[k].push(d(C[k][p],C[k-1][S],U[Y])),p++):(p++,C[k].push(j));this.chart.stages=C,this.chart.rawPositions=[].concat.apply([],C),this.resizeRadius(),H=this.chart.rawPositions}return H}pointAttribs(r,l){const d=this.options;let k=d.marker;r&&r.isParentNode&&d.layoutAlgorithm&&d.layoutAlgorithm.parentNodeOptions&&(k=d.layoutAlgorithm.parentNodeOptions.marker);const p=k.fillOpacity,S=L.pointAttribs.call(this,r,l);return 1!==p&&(S["fill-opacity"]=p),S}positionBubble(r,l,d){const C=Math.sqrt,k=Math.asin,p=Math.acos,S=Math.pow,j=Math.abs,H=C(S(r[0]-l[0],2)+S(r[1]-l[1],2)),Y=p((S(H,2)+S(d[2]+l[2],2)-S(d[2]+r[2],2))/(2*(d[2]+l[2])*H)),U=k(j(r[0]-l[0])/H),X=(r[1]-l[1]<0?0:Math.PI)+Y+U*((r[0]-l[0])*(r[1]-l[1])<0?1:-1),G=Math.cos(X),x=Math.sin(X);return[l[0]+(l[2]+d[2])*x,l[1]-(l[2]+d[2])*G,d[2],d[3],d[4]]}render(){const r=[];L.render.apply(this,arguments),this.options.dataLabels.allowOverlap||(this.data.forEach(l=>{f(l.dataLabels)&&l.dataLabels.forEach(d=>{r.push(d)})}),this.options.useSimulation&&this.chart.hideOverlappingLabels(r))}resizeRadius(){const r=this.chart,l=r.rawPositions,d=Math.min,C=Math.max,k=r.plotLeft,p=r.plotTop,S=r.plotHeight,j=r.plotWidth;let H,Y,U,se,w;H=U=Number.POSITIVE_INFINITY,Y=se=Number.NEGATIVE_INFINITY;for(const N of l)w=N[2],H=d(H,N[0]-w),Y=C(Y,N[0]+w),U=d(U,N[1]-w),se=C(se,N[1]+w);const X=[Y-H,se-U],x=d.apply([],[(j-k)/X[0],(S-p)/X[1]]);if(Math.abs(x-1)>1e-10){for(const N of l)N[2]*=x;this.placeBubbles(l)}else r.diffY=S/2+p-U-(se-U)/2,r.diffX=j/2+k-H-(Y-H)/2}seriesBox(){const r=this.chart,d=Math.max,C=Math.min,k=[r.plotLeft,r.plotLeft+r.plotWidth,r.plotTop,r.plotTop+r.plotHeight];let p;return this.data.forEach(S=>{T(S.plotX)&&T(S.plotY)&&S.marker.radius&&(p=S.marker.radius,k[0]=C(k[0],S.plotX-p),k[1]=d(k[1],S.plotX+p),k[2]=C(k[2],S.plotY-p),k[3]=d(k[3],S.plotY+p))}),a(k.width/k.height)?k:null}setVisible(){const r=this;L.setVisible.apply(r,arguments),r.parentNodeLayout&&r.graph?r.visible?(r.graph.show(),r.parentNode.dataLabel&&r.parentNode.dataLabel.show()):(r.graph.hide(),r.parentNodeLayout.removeElementFromCollection(r.parentNode,r.parentNodeLayout.nodes),r.parentNode.dataLabel&&r.parentNode.dataLabel.hide()):r.layout&&(r.visible?r.layout.addElementsToCollection(r.points,r.layout.nodes):r.points.forEach(l=>{r.layout.removeElementFromCollection(l,r.layout.nodes)}))}translate(){const r=this.chart,l=this.data,d=this.index,C=this.options.useSimulation;let k,p,S;this.processedXData=this.xData,this.generatePoints(),T(r.allDataPoints)||(r.allDataPoints=this.accumulateAllPoints(),this.getPointRadius()),C?S=r.allDataPoints:(S=this.placeBubbles(r.allDataPoints),this.options.draggable=!1);for(const j of S)j[3]===d&&(k=l[j[4]],p=y(j[2],void 0),C||(k.plotX=j[0]-r.plotLeft+r.diffX,k.plotY=j[1]-r.plotTop+r.diffY),a(p)&&(k.marker=z(k.marker,{radius:p,width:2*p,height:2*p}),k.radius=p));C&&this.deferLayout(),O(this,"afterTranslate")}}return o.defaultOptions=g(D.defaultOptions,pe),z(o.prototype,{pointClass:fe,axisTypes:[],directTouch:!0,forces:["barycenter","repulsive"],hasDraggableNodes:!0,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointArrayMap:["value"],pointValKey:"value",requireSorting:!1,trackerGroups:["group","dataLabelsGroup","parentNodesGroup"],initDataLabels:I,alignDataLabel:L.alignDataLabel,indexateNodes:F,onMouseDown:re.onMouseDown,onMouseMove:re.onMouseMove,redrawHalo:re.redrawHalo,searchPoint:F}),te.registerSeriesType("packedbubble",o),o}),Z(Pe,"Series/Polygon/PolygonSeriesDefaults.js",[],function(){return{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0,legendSymbol:"rectangle"}}),Z(Pe,"Series/Polygon/PolygonSeries.js",[Pe["Core/Globals.js"],Pe["Series/Polygon/PolygonSeriesDefaults.js"],Pe["Core/Series/SeriesRegistry.js"],Pe["Core/Utilities.js"]],function(ie,re,ve,le){const{noop:fe}=ie,{area:pe,line:J,scatter:te}=ve.seriesTypes,{extend:$,merge:A}=le;class B extends te{getGraphPath(){const L=J.prototype.getGraphPath.call(this);let D=L.length+1;for(;D--;)(D===L.length||"M"===L[D][0])&&D>0&&L.splice(D,0,["Z"]);return this.areaPath=L,L}drawGraph(){this.options.fillColor=this.color,pe.prototype.drawGraph.call(this)}}return B.defaultOptions=A(te.defaultOptions,re),$(B.prototype,{type:"polygon",drawTracker:J.prototype.drawTracker,setStackedPoints:fe}),ve.registerSeriesType("polygon",B),B}),Z(Pe,"Core/Axis/RadialAxis.js",[Pe["Core/Defaults.js"],Pe["Core/Globals.js"],Pe["Core/Utilities.js"]],function(ie,re,ve){const{defaultOptions:le}=ie,{composed:fe,noop:pe}=re,{addEvent:J,correctFloat:te,defined:$,extend:A,fireEvent:B,isObject:F,merge:L,pick:D,pushUnique:I,relativeLength:E,wrap:_}=ve;var b;return function(T){const z={gridLineWidth:1,labels:{align:void 0,x:0,y:void 0,style:{textOverflow:"none"}},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},O={endOnTick:!1,gridLineWidth:0,labels:{align:"center",distance:-25,x:0,y:void 0},lineWidth:1,minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickPosition:"inside",tickWidth:2,title:{rotation:0,text:""},zIndex:2},f={gridLineInterpolation:"circle",gridLineWidth:1,labels:{align:"right",x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}};function a(){this.autoConnect=this.isCircular&&typeof D(this.userMax,this.options.max)>"u"&&te(this.endAngleRad-this.startAngleRad)===te(2*Math.PI),!this.isCircular&&this.chart.inverted&&this.max++,this.autoConnect&&(this.max+=(this.categories?1:this.pointRange)||this.closestPointRange||0)}function y(){return()=>{if(this.isRadial&&this.tickPositions&&this.options.labels&&!0!==this.options.labels.allowOverlap)return this.tickPositions.map(me=>this.ticks[me]&&this.ticks[me].label).filter(me=>!!me)}}function o(){return pe}function n(me,Ce,Se){const Oe=this.pane.center;let Fe,oe,ee,de,Ae=me.value;return this.isCircular?($(Ae)?me.point&&(Fe=me.point.shapeArgs||{},Fe.start&&(Ae=this.chart.inverted?this.translate(me.point.rectPlotY,!0):me.point.x)):(ee=me.chartX||0,de=me.chartY||0,Ae=this.translate(Math.atan2(de-Se,ee-Ce)-this.startAngleRad,!0)),oe=this.getPosition(Ae),ee=oe.x,de=oe.y):($(Ae)||(ee=me.chartX,de=me.chartY),$(ee)&&$(de)&&(Se=Oe[1]+this.chart.plotTop,Ae=this.translate(Math.min(Math.sqrt(Math.pow(ee-Ce,2)+Math.pow(de-Se,2)),Oe[2]/2)-Oe[3]/2,!0))),[Ae,ee||0,de||0]}function r(me,Ce,Se){const Oe=this.pane.center,Ae=this.chart,Fe=this.left||0,oe=this.top||0;let ee,ye,de=D(Ce,Oe[2]/2-this.offset);return typeof Se>"u"&&(Se=this.horiz?0:this.center&&-this.center[3]/2),Se&&(de+=Se),this.isCircular||typeof Ce<"u"?(ye=this.chart.renderer.symbols.arc(Fe+Oe[0],oe+Oe[1],de,de,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0}),ye.xBounds=[Fe+Oe[0]],ye.yBounds=[oe+Oe[1]-de]):(ee=this.postTranslate(this.angleRad,de),ye=[["M",this.center[0]+Ae.plotLeft,this.center[1]+Ae.plotTop],["L",ee.x,ee.y]]),ye}function l(){this.constructor.prototype.getOffset.call(this),this.chart.axisOffset[this.side]=0}function d(me,Ce,Se){const Oe=this.chart,Ae=Lt=>{if("string"==typeof Lt){let Gt=parseInt(Lt,10);return _e.test(Lt)&&(Gt=Gt*ee/100),Gt}return Lt},Fe=this.center,oe=this.startAngleRad,ee=Fe[2]/2,de=Math.min(this.offset,0),ye=this.left||0,Te=this.top||0,_e=/%$/,Me=this.isCircular;let Ee,Xe,Ze,lt,Qe,st,kt=D(Ae(Se.outerRadius),ee),pt=Ae(Se.innerRadius),ht=D(Ae(Se.thickness),10);if("polygon"===this.options.gridLineInterpolation)st=this.getPlotLinePath({value:me}).concat(this.getPlotLinePath({value:Ce,reverse:!0}));else{me=Math.max(me,this.min),Ce=Math.min(Ce,this.max);const Lt=this.translate(me),Gt=this.translate(Ce);Me||(kt=Lt||0,pt=Gt||0),"circle"!==Se.shape&&Me?(Ee=oe+(Lt||0),Xe=oe+(Gt||0)):(Ee=-Math.PI/2,Xe=1.5*Math.PI,Qe=!0),kt-=de,ht-=de,st=Oe.renderer.symbols.arc(ye+Fe[0],Te+Fe[1],kt,kt,{start:Math.min(Ee,Xe),end:Math.max(Ee,Xe),innerR:D(pt,kt-ht),open:Qe}),Me&&(Ze=(Xe+Ee)/2,lt=ye+Fe[0]+Fe[2]/2*Math.cos(Ze),st.xBounds=Ze>-Math.PI/2&&Ze-Math.PI&&Ze<0||Ze>Math.PI?-10:10)}return st}function C(me){const Ce=this.pane.center,Se=this.chart,Oe=Se.inverted,Ae=me.reverse,Fe=this.pane.options.background?this.pane.options.background[0]||this.pane.options.background:{},oe=Fe.innerRadius||"0%",ee=Fe.outerRadius||"100%",de=Ce[0]+Se.plotLeft,ye=Ce[1]+Se.plotTop,Te=this.height,_e=me.isCrosshair,Me=Ce[3]/2;let Xe,Ze,lt,Qe,st,kt,pt,ht,Lt,Ee=me.value;const Gt=this.getPosition(Ee);let ti=Gt.x,Dt=Gt.y;if(_e&&(ht=this.getCrosshairPosition(me,de,ye),Ee=ht[0],ti=ht[1],Dt=ht[2]),this.isCircular)Ze=Math.sqrt(Math.pow(ti-de,2)+Math.pow(Dt-ye,2)),lt="string"==typeof oe?E(oe,1):oe/Ze,Qe="string"==typeof ee?E(ee,1):ee/Ze,Ce&&Me&&(Xe=Me/Ze,ltTe)&&(Ee=0),"circle"===this.options.gridLineInterpolation)Lt=this.getLinePath(0,Ee,Me);else if(Lt=[],Se[Oe?"yAxis":"xAxis"].forEach(At=>{At.pane===this.pane&&(st=At)}),st){pt=st.tickPositions,st.autoConnect&&(pt=pt.concat([pt[0]])),Ae&&(pt=pt.slice().reverse()),Ee&&(Ee+=Me);for(let At=0;AtMath.PI&&(de-=Fe),ye>Math.PI&&(ye-=Fe),this.normalizedStartAngleRad=de,this.normalizedEndAngleRad=ye}}function Y(me){this.isRadial&&(me.align=void 0,me.preventDefault())}function U(){if(this.chart&&this.chart.labelCollectors){const me=this.labelCollector?this.chart.labelCollectors.indexOf(this.labelCollector):-1;me>=0&&this.chart.labelCollectors.splice(me,1)}}function se(me){const Ce=this.chart,Se=Ce.angular,Oe=Ce.polar,Ae=this.isXAxis,Fe=this.coll,oe=Se&&Ae,de=this.pane=Ce.pane&&Ce.pane[me.userOptions.pane||0];let ye;"colorAxis"!==Fe?(Se?(oe?function j(me){me.isHidden=!0,me.createLabelCollector=o,me.getOffset=pe,me.redraw=N,me.render=N,me.setScale=pe,me.setCategories=pe,me.setTitle=pe}(this):S(this),ye=!Ae):Oe&&(S(this),ye=this.horiz),Se||Oe?(this.isRadial=!0,this.labelCollector||(this.labelCollector=this.createLabelCollector()),this.labelCollector&&Ce.labelCollectors.push(this.labelCollector)):this.isRadial=!1,de&&ye&&(de.axis=this),this.isCircular=ye):this.isRadial=!1}function w(){this.isRadial&&this.beforeSetTickPositions()}function X(me){const Ce=this.label;if(!Ce)return;const Se=this.axis,Oe=Ce.getBBox(),Ae=Se.options.labels,Fe=(Se.translate(this.pos)+Se.startAngleRad+Math.PI/2)/Math.PI*180%360,oe=Math.round(Fe),ee=$(Ae.y)?0:.3*-Oe.height;let ye,de=Ae.y,Te=20,_e=Ae.align,Me="end",Ee=oe<0?oe+360:oe,Xe=Ee,Ze=0,lt=0;Se.isRadial&&(ye=Se.getPosition(this.pos,Se.center[2]/2+E(D(Ae.distance,-25),Se.center[2]/2,-Se.center[2]/2)),"auto"===Ae.rotation?Ce.attr({rotation:Fe}):$(de)||(de=Se.chart.renderer.fontMetrics(Ce).b-Oe.height/2),$(_e)||(Se.isCircular?(Oe.width>Se.len*Se.tickInterval/(Se.max-Se.min)&&(Te=0),_e=Fe>Te&&Fe<180-Te?"left":Fe>180+Te&&Fe<360-Te?"right":"center"):_e="center",Ce.attr({align:_e})),"auto"===_e&&2===Se.tickPositions.length&&Se.isCircular&&(Ee>90&&Ee<180?Ee=180-Ee:Ee>270&&Ee<=360&&(Ee=540-Ee),Xe>180&&Xe<=360&&(Xe=360-Xe),(Se.pane.options.startAngle===oe||Se.pane.options.startAngle===oe+360||Se.pane.options.startAngle===oe-360)&&(Me="start"),_e=oe>=-90&&oe<=90||oe>=-360&&oe<=-270||oe>=270&&oe<=360?"start"===Me?"right":"left":"start"===Me?"left":"right",Xe>70&&Xe<110&&(_e="center"),Ee<15||Ee>=180&&Ee<195?Ze=.3*Oe.height:Ee>=15&&Ee<=35?Ze="start"===Me?0:.75*Oe.height:Ee>=195&&Ee<=215?Ze="start"===Me?.75*Oe.height:0:Ee>35&&Ee<=90?Ze="start"===Me?.25*-Oe.height:Oe.height:Ee>215&&Ee<=270&&(Ze="start"===Me?Oe.height:.25*-Oe.height),Xe<15?lt="start"===Me?.15*-Oe.height:.15*Oe.height:Xe>165&&Xe<=180&&(lt="start"===Me?.15*Oe.height:.15*-Oe.height),Ce.attr({align:_e}),Ce.translate(lt,Ze+ee)),me.pos.x=ye.x+(Ae.x||0),me.pos.y=ye.y+(de||0))}function G(me){this.axis.getPosition&&A(me.pos,this.axis.getPosition(this.pos))}function x(me,Ce){const Se=this.chart,Oe=this.center;return me=this.startAngleRad+me,{x:Se.plotLeft+Oe[0]+Math.cos(me)*Ce,y:Se.plotTop+Oe[1]+Math.sin(me)*Ce}}function N(){this.isDirty=!1}function R(){let Ce,Se;this.constructor.prototype.setAxisSize.call(this),this.isRadial&&(this.pane.updateCenter(this),Ce=this.center=this.pane.center.slice(),this.isCircular?this.sector=this.endAngleRad-this.startAngleRad:(Se=this.postTranslate(this.angleRad,Ce[3]/2),Ce[0]=Se.x-this.chart.plotLeft,Ce[1]=Se.y-this.chart.plotTop),this.len=this.width=this.height=(Ce[2]-Ce[3])*D(this.sector,1)/2)}function K(){this.constructor.prototype.setAxisTranslation.call(this),this.center&&(this.transA=this.isCircular?(this.endAngleRad-this.startAngleRad)/(this.max-this.min||1):(this.center[2]-this.center[3])/2/(this.max-this.min||1),this.minPixelPadding=this.isXAxis?this.transA*this.minPointOffset:0)}function q(me){const{coll:Ce}=this,{angular:Se,inverted:Oe,polar:Ae}=this.chart;let Fe={};Se?this.isXAxis||(Fe=L(le.yAxis,O)):Ae&&(Fe=this.horiz?L(le.xAxis,z):L("xAxis"===Ce?le.xAxis:le.yAxis,f)),Oe&&"yAxis"===Ce&&(Fe.stackLabels=F(le.yAxis,!0)?le.yAxis.stackLabels:{},Fe.reversedStacks=!0);const oe=this.options=L(Fe,me);oe.plotBands||(oe.plotBands=[]),B(this,"afterSetOptions")}function he(me,Ce,Se,Oe,Ae,Fe,oe){const ee=this.axis;let de,ye;return ee.isRadial?(de=ee.getPosition(this.pos,ee.center[2]/2+Oe),ye=["M",Ce,Se,"L",de.x,de.y]):ye=me.call(this,Ce,Se,Oe,Ae,Fe,oe),ye}T.compose=function g(me,Ce){return I(fe,"Axis.Radial")&&(J(me,"afterInit",H),J(me,"autoLabelAlign",Y),J(me,"destroy",U),J(me,"init",se),J(me,"initialAxisTranslation",w),J(Ce,"afterGetLabelPosition",X),J(Ce,"afterGetPosition",G),_(Ce.prototype,"getMarkPath",he)),me}}(b||(b={})),b}),Z(Pe,"Series/PolarComposition.js",[Pe["Core/Animation/AnimationUtilities.js"],Pe["Core/Globals.js"],Pe["Core/Series/Series.js"],Pe["Extensions/Pane/Pane.js"],Pe["Core/Axis/RadialAxis.js"],Pe["Core/Utilities.js"]],function(ie,re,ve,le,fe,pe){const{animObject:J}=ie,{composed:te}=re,{addEvent:$,defined:A,find:B,isNumber:F,merge:L,pick:D,pushUnique:I,relativeLength:E,splat:_,uniqueKey:b,wrap:T}=pe;function f(G,x,N,R){const he=R?1:0;let me,Ce,Se,Oe,Ae,Fe;me=x>=0&&x<=G.length-1?x:x<0?G.length-1+x:0;const oe=me-1<0?G.length-(1+he):me-1,de=G[oe],ye=G[me+1>G.length-1?he:me+1],Xe=G[me].plotX,Ze=G[me].plotY;Ce=(1.5*Xe+de.plotX)/2.5,Se=(1.5*Ze+de.plotY)/2.5,Oe=(1.5*Xe+ye.plotX)/2.5,Ae=(1.5*Ze+ye.plotY)/2.5;const lt=Math.sqrt(Math.pow(Ce-Xe,2)+Math.pow(Se-Ze,2)),Qe=Math.sqrt(Math.pow(Oe-Xe,2)+Math.pow(Ae-Ze,2)),st=Math.atan2(Se-Ze,Ce-Xe),kt=Math.atan2(Ae-Ze,Oe-Xe);Fe=Math.PI/2+(st+kt)/2,Math.abs(st-Fe)>Math.PI/2&&(Fe-=Math.PI),Ce=Xe+Math.cos(Fe)*lt,Se=Ze+Math.sin(Fe)*lt,Oe=Xe+Math.cos(Math.PI+Fe)*Qe,Ae=Ze+Math.sin(Math.PI+Fe)*Qe;const pt={rightContX:Oe,rightContY:Ae,leftContX:Ce,leftContY:Se,plotX:Xe,plotY:Ze};return N&&(pt.prevPointCont=f(G,oe,!1,R)),pt}function a(){(this.pane||[]).forEach(G=>{G.render()})}function g(G){const x=G.args[0].xAxis,N=G.args[0].yAxis,R=G.args[0].chart;x&&N&&("polygon"===N.gridLineInterpolation?(x.startOnTick=!0,x.endOnTick=!0):"polygon"===x.gridLineInterpolation&&R.inverted&&(N.startOnTick=!0,N.endOnTick=!0))}function y(){this.pane||(this.pane=[]),this.options.pane=_(this.options.pane),this.options.pane.forEach(G=>{new le(G,this)},this)}function o(G){const x=G.args.marker,N=this.chart.xAxis[0],R=this.chart.yAxis[0],K=this.chart.inverted,q=K?R:N,he=K?N:R;if(this.chart.polar){G.preventDefault();const me=(x.attr?x.attr("start"):x.start)-q.startAngleRad,Ce=x.attr?x.attr("r"):x.r,Se=(x.attr?x.attr("end"):x.end)-q.startAngleRad,Oe=x.attr?x.attr("innerR"):x.innerR;G.result.x=me+q.pos,G.result.width=Se-me,G.result.y=he.len+he.pos-Ce,G.result.height=Ce-Oe}}function n(G){const x=this.chart;if(x.polar&&x.hoverPane&&x.hoverPane.axis){G.preventDefault();const N=x.hoverPane.center,R=x.mouseDownX||0,K=x.mouseDownY||0,q=G.args.chartY,he=G.args.chartX,me=2*Math.PI,Ce=x.hoverPane.axis.startAngleRad,Se=x.hoverPane.axis.endAngleRad,Oe=x.inverted?x.xAxis[0]:x.yAxis[0],Ae={};let Fe="arc";if(Ae.x=N[0]+x.plotLeft,Ae.y=N[1]+x.plotTop,this.zoomHor){const oe=Ce>0?Se-Ce:Math.abs(Ce)+Math.abs(Se);let ee=Math.atan2(K-x.plotTop-N[1],R-x.plotLeft-N[0])-Ce,de=Math.atan2(q-x.plotTop-N[1],he-x.plotLeft-N[0])-Ce;Ae.r=N[2]/2,Ae.innerR=N[3]/2,ee<=0&&(ee+=me),de<=0&&(de+=me),deSe+(me-oe)/2&&(de=ee,ee=Ce<=0?Ce:0);const ye=Ae.start=Math.max(ee+Ce,Ce),Te=Ae.end=Math.min(de+Ce,Se);if("polygon"===Oe.options.gridLineInterpolation){const _e=x.hoverPane.axis,Me=ye-_e.startAngleRad+_e.pos,Ee=Te-ye;let Xe=Oe.getPlotLinePath({value:Oe.max}),Ze=_e.toValue(Me),lt=_e.toValue(Me+Ee);if(Ze<_e.getExtremes().min){const{min:Qe,max:st}=_e.getExtremes();Ze=st-(Qe-Ze)}if(lt<_e.getExtremes().min){const{min:Qe,max:st}=_e.getExtremes();lt=st-(Qe-lt)}ltN[2]/2&&(de=N[2]/2),eex.max?(K[q].isNull=!0,K[q].plotY=NaN):K[q].isNull=K[q].isValid&&!K[q].isValid());this.hasClipCircleSetter||(this.hasClipCircleSetter=!!G.eventsToUnbind.push($(G,"afterRender",function(){let he;R.polar&&!1!==this.options.clip&&(he=this.yAxis.pane.center,this.clipCircle?this.clipCircle.animate({x:he[0],y:he[1],r:he[2]/2,innerR:he[3]/2}):this.clipCircle=function z(G,x,N,R,K){const q=b(),he=G.createElement("clipPath").attr({id:q}).add(G.defs),me=K?G.arc(x,N,R,K,0,2*Math.PI).add(he):G.circle(x,N,R).add(he);return me.id=q,me.clipPath=he,me}(R.renderer,he[0],he[1],he[2]/2,he[3]/2),this.group.clip(this.clipCircle),this.setClip=re.noop)})))}}function d(G){const x=this,N=x.chart,R=x.xAxis,q=R.pane&&R.pane.center,Ce=N.inverted?{clientX:G.chartX-x.yAxis.pos,plotY:G.chartY-R.pos}:{clientX:180+Math.atan2(G.chartX-(q&&q[0]||0)-N.plotLeft,G.chartY-(q&&q[1]||0)-N.plotTop)*(-180/Math.PI)};return x.searchKDTree(Ce)}function C(G,x,N,R){const K=R.tickInterval,q=R.tickPositions;let he=B(q,Ce=>Ce>=N),me=B([...q].reverse(),Ce=>Ce<=x);return A(he)||(he=q[q.length-1]),A(me)||(me=q[0],he+=K,G[0][0]="L",G.unshift(G[G.length-3])),(G=G.slice(q.indexOf(me),q.indexOf(he)+1))[0][0]="M",G}function k(G,x){return B(this.pane||[],N=>N.options.id===x)||G.call(this,x)}function p(G,x,N,R,K,q){const he=this.chart,me=D(R.inside,!!this.options.stacking);let Ce,Se,Oe;he.polar?(Ce=x.rectPlotX/Math.PI*180,he.inverted?(this.forceDL=he.isInsidePlot(x.plotX,x.plotY),me&&x.shapeArgs?(Se=x.shapeArgs,Oe=this.yAxis.postTranslate(((Se.start||0)+(Se.end||0))/2-this.xAxis.startAngleRad,x.barX+x.pointWidth/2),K=L(K,{x:Oe.x-he.plotLeft,y:Oe.y-he.plotTop})):x.tooltipPos&&(K=L(K,{x:x.tooltipPos[0],y:x.tooltipPos[1]})),R.align=D(R.align,"center"),R.verticalAlign=D(R.verticalAlign,"middle")):R=function O(G,x){let N,R;return null===x.align&&(N=G>20&&G<160?"left":G>200&&G<340?"right":"center",x.align=N),null===x.verticalAlign&&(R=G<45||G>315?"bottom":G>135&&G<225?"top":"middle",x.verticalAlign=R),x}(Ce,R),ve.prototype.alignDataLabel.call(this,x,N,R,K,q),this.isRadialBar&&x.shapeArgs&&x.shapeArgs.start===x.shapeArgs.end?N.hide():N.show()):G.call(this,x,N,R,K,q)}function S(){const G=this,x=G.options,N=x.stacking,R=G.chart,K=G.xAxis,q=G.yAxis,he=q.reversed,me=q.center,Ce=K.startAngleRad,Oe=K.endAngleRad-Ce;let oe,ee,de,ye,Te,Ee,Xe,Ze,lt,Qe,st,kt,pt,Ae=x.threshold,Fe=0,_e=0,Me=0;if(K.isRadial)for(oe=G.points,de=oe.length,ye=q.translate(q.min),Te=q.translate(q.max),Ae=x.threshold||0,R.inverted&&F(Ae)&&(Fe=q.translate(Ae),A(Fe)&&(Fe<0?Fe=0:Fe>Oe&&(Fe=Oe),G.translatedThreshold=Fe+Ce));de--;){if(ee=oe[de],st=ee.barX,Xe=ee.x,Ze=ee.y,ee.shapeType="arc",R.inverted){ee.plotY=q.translate(Ze),N&&q.stacking?(Qe=q.stacking.stacks[(Ze<0?"-":"")+G.stackKey],G.visible&&Qe&&Qe[Xe]&&(ee.isNull||(lt=Qe[Xe].points[G.getStackIndicator(void 0,Xe,G.index).key],_e=q.translate(lt[0]),Me=q.translate(lt[1]),A(_e)&&(_e=pe.clamp(_e,0,Oe))))):(_e=Fe,Me=ee.plotY),_e>Me&&(Me=[_e,_e=Me][0]),he?Me>ye?Me=ye:_eye||MeTe?Me=Te:(MeTe)&&(_e=Me=0),q.min>q.max&&(_e=Me=he?Oe:0),_e+=Ce,Me+=Ce,me&&(ee.barX=st+=me[3]/2),kt=Math.max(st,0),pt=Math.max(st+ee.pointWidth,0);const ht=x.borderRadius,Gt=E(("object"==typeof ht?ht.radius:ht)||0,pt-kt);ee.shapeArgs={x:me[0],y:me[1],r:pt,innerR:kt,start:_e,end:Me,borderRadius:Gt},ee.opacity=_e===Me?0:void 0,ee.plotY=(A(G.translatedThreshold)&&(_eme[1])}}function j(G,x){const N=this;let R,K;if(this.chart.polar){x=x||this.points;for(let he=0;he{typeof he.polarPlotY>"u"&&N.polar.toXY(he)})}const q=G.apply(this,[].slice.call(arguments,1));return K&&x.pop(),q}function H(G,x){const N=this.chart;let R={xAxis:[],yAxis:[]};return N.polar?N.axes.forEach(K=>{if("colorAxis"===K.coll)return;const q=K.isXAxis,he=K.center,me=x.chartX-he[0]-N.plotLeft,Ce=x.chartY-he[1]-N.plotTop;R[q?"xAxis":"yAxis"].push({axis:K,value:K.translate(q?Math.PI-Math.atan2(me,Ce):Math.sqrt(Math.pow(me,2)+Math.pow(Ce,2)),!0)})}):R=G.call(this,x),R}function Y(G,x){this.chart.polar||G.call(this,x)}function U(G,x){const N=this,R=this.chart,K=this.group,q=this.markerGroup,he=this.xAxis&&this.xAxis.center,me=R.plotLeft,Ce=R.plotTop;let Oe,Ae,Fe,oe,ee,de,Se=this.options.animation;R.polar?N.isRadialBar?x||(N.startAngleRad=D(N.translatedThreshold,N.xAxis.startAngleRad),re.seriesTypes.pie.prototype.animate.call(N,x)):(Se=J(Se),N.is("column")?x||(Ae=he[3]/2,N.points.forEach(ye=>{Fe=ye.graphic,oe=ye.shapeArgs,ee=oe&&oe.r,de=oe&&oe.innerR,Fe&&oe&&(Fe.attr({r:Ae,innerR:Ae}),Fe.animate({r:ee,innerR:de},N.options.animation))})):x?(Oe={translateX:he[0]+me,translateY:he[1]+Ce,scaleX:.001,scaleY:.001},K.attr(Oe),q&&q.attr(Oe)):(Oe={translateX:me,translateY:Ce,scaleX:1,scaleY:1},K.animate(Oe,Se),q&&q.animate(Oe,Se))):G.call(this,x)}function se(G,x,N,R){let K,q;if(this.chart.polar)if(R){q=f(x,R,!0,this.connectEnds);const he=q.prevPointCont&&q.prevPointCont.rightContX,me=q.prevPointCont&&q.prevPointCont.rightContY;K=["C",F(he)?he:q.plotX,F(me)?me:q.plotY,F(q.leftContX)?q.leftContX:q.plotX,F(q.leftContY)?q.leftContY:q.plotY,q.plotX,q.plotY]}else K=["M",N.plotX,N.plotY];else K=G.call(this,x,N,R);return K}function w(G,x,N=this.plotY){if(!this.destroyed){const{plotX:R,series:K}=this,{chart:q}=K;return q.polar&&F(R)&&F(N)?[R+(x?q.plotLeft:0),N+(x?q.plotTop:0)]:G.call(this,x,N)}}class X{static compose(x,N,R,K,q,he,me,Ce,Se,Oe){if(le.compose(N,R),fe.compose(x,q),I(te,"Polar")){const Ae=N.prototype,Fe=he.prototype,oe=R.prototype,ee=K.prototype;if($(N,"afterDrawChartBox",a),$(N,"getAxes",y),$(N,"init",g),T(Ae,"get",k),T(oe,"getCoordinates",H),T(oe,"pinch",Y),$(R,"getSelectionMarkerAttrs",n),$(R,"getSelectionBox",o),$(K,"afterInit",r),$(K,"afterTranslate",l,{order:2}),$(K,"afterColumnTranslate",S,{order:4}),T(ee,"animate",U),T(Fe,"pos",w),Ce){const de=Ce.prototype;T(de,"alignDataLabel",p),T(de,"animate",U)}if(Se&&T(Se.prototype,"getGraphPath",j),Oe){const de=Oe.prototype;T(de,"getPointSpline",se),me&&(me.prototype.getPointSpline=de.getPointSpline)}}}constructor(x){this.series=x}arc(x,N,R,K){const q=this.series,he=q.xAxis.center,me=q.yAxis.len,Ce=he[3]/2;let Se=me-N+Ce,Oe=me-D(x,me)+Ce;return q.yAxis.reversed&&(Se<0&&(Se=Ce),Oe<0&&(Oe=Ce)),{x:he[0],y:he[1],r:Se,innerR:Oe,start:R,end:K}}toXY(x){const N=this.series,R=N.chart,K=N.xAxis,q=N.yAxis,he=x.plotX,me=R.inverted,Ce=x.y;let Ae,Se=x.plotY,Oe=me?he:q.len-Se;if(me&&N&&!N.isRadialBar&&(x.plotY=Se=F(Ce)?q.translate(Ce):0),x.rectPlotX=he,x.rectPlotY=Se,q.center&&(Oe+=q.center[3]/2),F(Se)){const Fe=me?q.postTranslate(Se,Oe):K.postTranslate(he,Oe);x.plotX=x.polarPlotX=Fe.x-R.plotLeft,x.plotY=x.polarPlotY=Fe.y-R.plotTop}N.kdByAngle?(Ae=(he/Math.PI*180+K.pane.options.startAngle)%360,Ae<0&&(Ae+=360),x.clientX=Ae):x.clientX=x.plotX}}return X}),Z(Pe,"Core/Axis/WaterfallAxis.js",[Pe["Core/Globals.js"],Pe["Core/Axis/Stacking/StackItem.js"],Pe["Core/Utilities.js"]],function(ie,re,ve){const{composed:le}=ie,{addEvent:fe,objectEach:pe,pushUnique:J}=ve;var te;return function($){function B(){const _=this.waterfall.stacks;_&&(_.changed=!1,delete _.alreadyChanged)}function F(){const E=this,_=E.options.stackLabels;_&&_.enabled&&E.waterfall.stacks&&E.waterfall.renderStackTotals()}function L(){const E=this;E.waterfall||(E.waterfall=new I(E))}function D(){const E=this.axes,_=this.series;for(const b of _)if(b.options.stacking){for(const T of E)T.isXAxis||(T.waterfall.stacks.changed=!0);break}}$.compose=function A(E,_){J(le,"Axis.Waterfall")&&(fe(E,"init",L),fe(E,"afterBuildStacks",B),fe(E,"afterRender",F),fe(_,"beforeRedraw",D))};class I{constructor(_){this.axis=_,this.stacks={changed:!1}}renderStackTotals(){const _=this.axis,b=_.waterfall.stacks,T=_.stacking&&_.stacking.stackTotalGroup,z=new re(_,_.options.stackLabels||{},!1,0,void 0);this.dummyStackItem=z,T&&pe(b,O=>{pe(O,(f,a)=>{z.total=f.stackTotal,z.x=+a,f.label&&(z.label=f.label),re.prototype.render.call(z,T),f.label=z.label,delete z.label})}),z.total=null}}$.Composition=I}(te||(te={})),te}),Z(Pe,"Series/Waterfall/WaterfallPoint.js",[Pe["Series/Column/ColumnSeries.js"],Pe["Core/Series/Point.js"],Pe["Core/Utilities.js"]],function(ie,re,ve){const{isNumber:le}=ve;return class fe extends ie.prototype.pointClass{getClassName(){let J=re.prototype.getClassName.call(this);return this.isSum?J+=" highcharts-sum":this.isIntermediateSum&&(J+=" highcharts-intermediate-sum"),J}isValid(){return le(this.y)||this.isSum||!!this.isIntermediateSum}}}),Z(Pe,"Series/Waterfall/WaterfallSeriesDefaults.js",[],function(){return{dataLabels:{inside:!0},lineWidth:1,lineColor:"#333333",dashStyle:"Dot",borderColor:"#333333",states:{hover:{lineWidthPlus:0}}}}),Z(Pe,"Series/Waterfall/WaterfallSeries.js",[Pe["Core/Series/SeriesRegistry.js"],Pe["Core/Utilities.js"],Pe["Core/Axis/WaterfallAxis.js"],Pe["Series/Waterfall/WaterfallPoint.js"],Pe["Series/Waterfall/WaterfallSeriesDefaults.js"]],function(ie,re,ve,le,fe){const{column:pe,line:J}=ie.seriesTypes,{addEvent:te,arrayMax:$,arrayMin:A,correctFloat:B,extend:F,isNumber:L,merge:D,objectEach:I,pick:E}=re;function _(T,z){return Object.hasOwnProperty.call(T,z)}class b extends pe{generatePoints(){pe.prototype.generatePoints.apply(this);for(let z=0,O=this.points.length;z0?f:void 0);const a=pe.prototype.pointAttribs.call(this,z,O);return delete a.dashstyle,a}getGraphPath(){return[["M",0,0]]}getCrispPath(){const z=this.data.filter(l=>L(l.y)),O=this.yAxis,f=z.length,a=Math.round(this.graph.strokeWidth())%2/2,g=Math.round(this.borderWidth)%2/2,y=this.xAxis.reversed,o=this.yAxis.reversed,n=this.options.stacking,r=[];for(let l=1;l0?-p.height:0;if(S&&p&&d){let Y;Y=n?Math.round(O.translate(S[l-1].connectorThreshold,!1,!0,!1,!0)+(o?j:0))-a:p.y+C.minPointLengthOffset+g-a,r.push(["M",(p.x||0)+(y?0:p.width||0),Y],["L",(d.x||0)+(y&&d.width||0),Y])}if(p&&r.length&&(!n&&k<0&&!o||k>0&&o)){const H=r[r.length-2];H&&"number"==typeof H[2]&&(H[2]+=p.height||0);const Y=r[r.length-1];Y&&"number"==typeof Y[2]&&(Y[2]+=p.height||0)}}return r}drawGraph(){J.prototype.drawGraph.call(this),this.graph&&this.graph.attr({d:this.getCrispPath()})}setStackedPoints(z){const O=this,f=O.options,a=z.waterfall?.stacks,g=f.threshold||0,y=O.stackKey,o=O.xData,n=o.length;let d,S,j,H,Y,U,se,w,X,r=g,l=r,C=0,k=0,p=0;const G=(x,N,R,K)=>{if(d){if(S)for(;R=0?d.posTotal+=U:d.negTotal+=U,Y=f.data[N],j=d.absolutePos=d.posTotal,H=d.absoluteNeg=d.negTotal,d.stackTotal=j+H,S=d.stackState.length,Y&&Y.isIntermediateSum?(G(p,k,0,p),p=k,k=g,r^=l,l^=r,r^=l):Y&&Y.isSum?(G(g,C,S,0),r=g):(G(r,U,0,C),Y&&(C+=U,k+=U)),d.stateIndex++,d.threshold=r,r+=d.stackTotal;a.changed=!1,a.alreadyChanged||(a.alreadyChanged=[]),a.alreadyChanged.push(y)}}getExtremes(){const z=this.options.stacking;let O,f,a,g;return z?(O=this.yAxis,f=O.waterfall.stacks,a=this.stackedYNeg=[],g=this.stackedYPos=[],I(f[this.stackKey],"overlap"===z?function(y){a.push(A(y.stackState)),g.push($(y.stackState))}:function(y){a.push(y.negTotal+y.threshold),g.push(y.posTotal+y.threshold)}),{dataMin:A(a),dataMax:$(g)}):{dataMin:this.dataMin,dataMax:this.dataMax}}}return b.defaultOptions=D(pe.defaultOptions,fe),b.compose=ve.compose,F(b.prototype,{pointValKey:"y",showLine:!0,pointClass:le}),te(b,"afterColumnTranslate",function(){const T=this,{options:z,points:O,yAxis:f}=T,a=E(z.minPointLength,5),g=a/2,y=z.threshold||0,o=z.stacking,n=f.waterfall.stacks[T.stackKey];let d,C,k,p,r=y,l=y;for(let S=0;S=0?C:C-w,_(G,"absolutePos")&&delete G.absolutePos,_(G,"absoluteNeg")&&delete G.absoluteNeg):(w>=0?(C=G.threshold+G.posTotal,G.posTotal-=w,d=C):(C=G.threshold+G.negTotal,G.negTotal-=w,d=C-w),G.posTotal||L(G.absolutePos)&&_(G,"absolutePos")&&(G.posTotal=G.absolutePos,delete G.absolutePos),G.negTotal||L(G.absoluteNeg)&&_(G,"absoluteNeg")&&(G.negTotal=G.absoluteNeg,delete G.absoluteNeg)),j.isSum||(G.connectorThreshold=G.threshold+G.stackTotal),f.reversed?(k=w>=0?d-w:d+w,p=d):(k=d,p=d-w),j.below=k<=y,U.y=f.translate(k,!1,!0,!1,!0),U.height=Math.abs(U.y-f.translate(p,!1,!0,!1,!0));const x=f.waterfall.dummyStackItem;x&&(x.x=S,x.label=n[S].label,x.setOffset(T.pointXOffset||0,T.barW||0,T.stackedYNeg[S],T.stackedYPos[S],void 0,this.xAxis))}}else d=Math.max(l,l+w)+se[0],U.y=f.translate(d,!1,!0,!1,!0),j.isSum?(U.y=f.translate(se[1],!1,!0,!1,!0),U.height=Math.min(f.translate(se[0],!1,!0,!1,!0),f.len)-U.y,j.below=se[1]<=y):j.isIntermediateSum?(w>=0?(k=se[1]+r,p=r):(k=r,p=se[1]+r),f.reversed&&(k^=p,p^=k,k^=p),U.y=f.translate(k,!1,!0,!1,!0),U.height=Math.abs(U.y-Math.min(f.translate(p,!1,!0,!1,!0),f.len)),r+=se[1],j.below=k<=y):(U.height=H>0?f.translate(l,!1,!0,!1,!0)-U.y:f.translate(l,!1,!0,!1,!0)-f.translate(l-H,!1,!0,!1,!0),l+=H,j.below=lparseInt(ie.userAgent.split("Firefox/")[1],10),ie.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],ie.noop=function(){},ie.supportsPassiveEvents=function(){let re=!1;if(!ie.isMS){let ve=Object.defineProperty({},"passive",{get:function(){re=!0}});ie.win.addEventListener&&ie.win.removeEventListener&&(ie.win.addEventListener("testPassive",ie.noop,ve),ie.win.removeEventListener("testPassive",ie.noop,ve))}return re}(),ie.charts=[],ie.composed=[],ie.dateFormats={},ie.seriesTypes={},ie.symbolSizes={},ie.chartCount=0,Z}),Pe(V,"Core/Utilities.js",[V["Core/Globals.js"]],function(Z){let ie,{charts:re,doc:ve,win:le}=Z;function fe(o,n,r,l){let d=n?"Highcharts error":"Highcharts warning";32===o&&(o=`${d}: Deprecated member`);let C=F(o),k=C?`${d} #${o}: www.highcharts.com/errors/${o}/`:o.toString();if(void 0!==l){let p="";C&&(k+="?"),f(l,function(S,j){p+=`\n - ${j}: ${S}`,C&&(k+=encodeURI(j)+"="+encodeURI(S))}),k+=p}g(Z,"displayError",{chart:r,code:o,message:k,params:l},function(){if(n)throw Error(k);le.console&&-1===fe.messages.indexOf(k)&&console.warn(k)}),fe.messages.push(k)}function pe(o,n){return parseInt(o,n||10)}function J(o){return"string"==typeof o}function te(o){let n=Object.prototype.toString.call(o);return"[object Array]"===n||"[object Array Iterator]"===n}function $(o,n){return!(!o||"object"!=typeof o||n&&te(o))}function A(o){return $(o)&&"number"==typeof o.nodeType}function B(o){let n=o&&o.constructor;return!(!$(o,!0)||A(o)||!n||!n.name||"Object"===n.name)}function F(o){return"number"==typeof o&&!isNaN(o)&&o<1/0&&o>-1/0}function L(o){return null!=o}function D(o,n,r){let l,d=J(n)&&!L(r),C=(k,p)=>{L(k)?o.setAttribute(p,k):d?(l=o.getAttribute(p))||"class"!==p||(l=o.getAttribute(p+"Name")):o.removeAttribute(p)};return J(n)?C(r,n):f(n,C),l}function I(o){return te(o)?o:[o]}function E(o,n){let r;for(r in o||(o={}),n)o[r]=n[r];return o}function _(){let o=arguments,n=o.length;for(let r=0;r1e14?o:parseFloat(o.toPrecision(n||14))}(fe||(fe={})).messages=[],Math.easeInOutSine=function(o){return-.5*(Math.cos(Math.PI*o)-1)};let O=Array.prototype.find?function(o,n){return o.find(n)}:function(o,n){let r,l=o.length;for(r=0;rp.order-S.order),d.forEach(p=>{!1===p.fn.call(o,r)&&r.preventDefault()})}l&&!r.defaultPrevented&&l.call(o,r)}f({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(o,n){Z[n]=function(r){return fe(32,!1,void 0,{[`Highcharts.${n}`]:`use Array.${o}`}),Array.prototype[o].apply(r,[].slice.call(arguments,1))}});let y=function(){let o=Math.random().toString(36).substring(2,9)+"-",n=0;return function(){return"highcharts-"+(ie?"":o)+n++}}();return le.jQuery&&(le.jQuery.fn.highcharts=function(){let o=[].slice.call(arguments);if(this[0])return o[0]?(new(Z[J(o[0])?o.shift():"Chart"])(this[0],o[0],o[1]),this):re[D(this[0],"data-highcharts-chart")]}),{addEvent:function(o,n,r,l={}){let d="function"==typeof o&&o.prototype||o;Object.hasOwnProperty.call(d,"hcEvents")||(d.hcEvents={});let C=d.hcEvents;Z.Point&&o instanceof Z.Point&&o.series&&o.series.chart&&(o.series.chart.runTrackerClick=!0);let k=o.addEventListener;return k&&k.call(o,n,r,!!Z.supportsPassiveEvents&&{passive:void 0===l.passive?-1!==n.indexOf("touch"):l.passive,capture:!1}),C[n]||(C[n]=[]),C[n].push({fn:r,order:"number"==typeof l.order?l.order:1/0}),C[n].sort((S,j)=>S.order-j.order),function(){a(o,n,r)}},arrayMax:function(o){let n=o.length,r=o[0];for(;n--;)o[n]>r&&(r=o[n]);return r},arrayMin:function(o){let n=o.length,r=o[0];for(;n--;)o[n]n?o-1&&p[U]){Y=I(Y),S[U]=[];for(let se=0;se{if(p.length>1)for(C=l=p.length-1;C>0;C--)(d=p[C]-p[C-1])<0&&!k?(n?.(),n=void 0):d&&(void 0===r||d=k-1&&(k=Math.floor(p)),Math.max(0,k-(o(n,"padding-left",!0)||0)-(o(n,"padding-right",!0)||0))}if("height"===r)return Math.max(0,Math.min(n.offsetHeight,n.scrollHeight)-(o(n,"padding-top",!0)||0)-(o(n,"padding-bottom",!0)||0));let C=le.getComputedStyle(n,void 0);return C&&(d=C.getPropertyValue(r),_(l,"opacity"!==r)&&(d=pe(d))),d},inArray:function(o,n,r){return fe(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),n.indexOf(o,r)},insertItem:function(o,n){let r,l=o.options.index,d=n.length;for(r=o.options.isInternal?d:0;r=o))&&(d||!(p<=(n[C]+(n[C+1]||n[C]))/2)));C++);return z(k*r,-Math.round(Math.log(.001)/Math.LN10))},objectEach:f,offset:function(o){let n=ve.documentElement,r=o.parentElement||o.parentNode?o.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:r.top+(le.pageYOffset||n.scrollTop)-(n.clientTop||0),left:r.left+(le.pageXOffset||n.scrollLeft)-(n.clientLeft||0),width:r.width,height:r.height}},pad:function(o,n,r){return Array((n||2)+1-String(o).replace("-","").length).join(r||"0")+o},pick:_,pInt:pe,pushUnique:function(o,n){return 0>o.indexOf(n)&&!!o.push(n)},relativeLength:function(o,n,r){return/%$/.test(o)?n*parseFloat(o)/100+(r||0):parseFloat(o)},removeEvent:a,replaceNested:function(o,...n){let r,l;do{for(l of(r=o,n))o=o.replace(l[0],l[1])}while(o!==r);return o},splat:I,stableSort:function(o,n){let r,l,d=o.length;for(l=0;l0?setTimeout(o,n,r):(o.call(0,r),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:y,useSerialIds:function(o){return ie=_(o,ie)},wrap:function(o,n,r){let l=o[n];o[n]=function(){let d=arguments,C=this;return r.apply(this,[function(){return l.apply(C,arguments.length?arguments:d)}].concat([].slice.call(arguments)))}}}}),Pe(V,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),Pe(V,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),Pe(V,"Core/Time.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie){let{win:re}=Z,{defined:ve,error:le,extend:fe,isNumber:pe,isObject:J,merge:te,objectEach:$,pad:A,pick:B,splat:F,timeUnits:L}=ie,D=Z.isSafari&&re.Intl&&re.Intl.DateTimeFormat.prototype.formatRange,I=Z.isSafari&&re.Intl&&!re.Intl.DateTimeFormat.prototype.formatRange;class E{constructor(b){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=re.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(b)}get(b,T){if(this.variableTimezone||this.timezoneOffset){let z=T.getTime(),O=z-this.getTimezoneOffset(T);T.setTime(O);let f=T["getUTC"+b]();return T.setTime(z),f}return this.useUTC?T["getUTC"+b]():T["get"+b]()}set(b,T,z){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===b||"Seconds"===b||"Minutes"===b&&this.getTimezoneOffset(T)%36e5==0)return T["setUTC"+b](z);let O=this.getTimezoneOffset(T),f=T.getTime()-O;T.setTime(f),T["setUTC"+b](z);let a=this.getTimezoneOffset(T);return f=T.getTime()+a,T.setTime(f)}return this.useUTC||D&&"FullYear"===b?T["setUTC"+b](z):T["set"+b](z)}update(b={}){let T=B(b.useUTC,!0);this.options=b=te(!0,this.options,b),this.Date=b.Date||re.Date||Date,this.useUTC=T,this.timezoneOffset=T&&b.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=T&&!(!b.getTimezoneOffset&&!b.timezone)}makeTime(b,T,z,O,f,a){let g,y,o;return this.useUTC?(g=this.Date.UTC.apply(0,arguments),y=this.getTimezoneOffset(g),g+=y,y!==(o=this.getTimezoneOffset(g))?g+=o-y:y-36e5!==this.getTimezoneOffset(g-36e5)||I||(g-=36e5)):g=new this.Date(b,T,B(z,1),B(O,0),B(f,0),B(a,0)).getTime(),g}timezoneOffsetFunction(){let b=this,T=this.options,z=T.getTimezoneOffset;return this.useUTC?T.timezone?O=>{try{let f=`shortOffset,${T.timezone||""}`,[a,g,y,o,n=0]=(E.formatCache[f]=E.formatCache[f]||Intl.DateTimeFormat("en",{timeZone:T.timezone,timeZoneName:"shortOffset"})).format(O).split(/(GMT|:)/).map(Number),r=-36e5*(y+n/60);if(pe(r))return r}catch{le(34)}return 0}:this.useUTC&&z?O=>6e4*z(O.valueOf()):()=>6e4*(b.timezoneOffset||0):O=>6e4*new Date(O.toString()).getTimezoneOffset()}dateFormat(b,T,z){if(!ve(T)||isNaN(T))return Z.defaultOptions.lang&&Z.defaultOptions.lang.invalidDate||"";b=B(b,"%Y-%m-%d %H:%M:%S");let O=this,f=new this.Date(T),a=this.get("Hours",f),g=this.get("Day",f),y=this.get("Date",f),o=this.get("Month",f),n=this.get("FullYear",f),r=Z.defaultOptions.lang,l=r&&r.weekdays,d=r&&r.shortWeekdays;return $(fe({a:d?d[g]:l[g].substr(0,3),A:l[g],d:A(y),e:A(y,2," "),w:g,b:r.shortMonths[o],B:r.months[o],m:A(o+1),o:o+1,y:n.toString().substr(2,2),Y:n,H:A(a),k:a,I:A(a%12||12),l:a%12||12,M:A(this.get("Minutes",f)),p:a<12?"AM":"PM",P:a<12?"am":"pm",S:A(this.get("Seconds",f)),L:A(Math.floor(T%1e3),3)},Z.dateFormats),function(C,k){for(;-1!==b.indexOf("%"+k);)b=b.replace("%"+k,"function"==typeof C?C.call(O,T):C)}),z?b.substr(0,1).toUpperCase()+b.substr(1):b}resolveDTLFormat(b){return J(b,!0)?b:{main:(b=F(b))[0],from:b[1],to:b[2]}}getTimeTicks(b,T,z,O){let f,a,g,y,o=this,r=[],l={},d=new(0,o.Date)(T),C=b.unitRange,k=b.count||1;if(O=B(O,1),ve(T)){o.set("Milliseconds",d,C>=L.second?0:k*Math.floor(o.get("Milliseconds",d)/k)),C>=L.second&&o.set("Seconds",d,C>=L.minute?0:k*Math.floor(o.get("Seconds",d)/k)),C>=L.minute&&o.set("Minutes",d,C>=L.hour?0:k*Math.floor(o.get("Minutes",d)/k)),C>=L.hour&&o.set("Hours",d,C>=L.day?0:k*Math.floor(o.get("Hours",d)/k)),C>=L.day&&o.set("Date",d,C>=L.month?1:Math.max(1,k*Math.floor(o.get("Date",d)/k))),C>=L.month&&(o.set("Month",d,C>=L.year?0:k*Math.floor(o.get("Month",d)/k)),a=o.get("FullYear",d)),C>=L.year&&(a-=a%k,o.set("FullYear",d,a)),C===L.week&&(y=o.get("Day",d),o.set("Date",d,o.get("Date",d)-y+O+(y4*L.month||o.getTimezoneOffset(T)!==o.getTimezoneOffset(z));let H=d.getTime();for(f=1;H1?H=o.makeTime(a,p,S,j+f*k):H+=C*k:H=o.makeTime(a,p,S+f*k*(C===L.day?1:7)),f++;r.push(H),C<=L.hour&&r.length<1e4&&r.forEach(function(Y){Y%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",Y)&&(l[Y]="day")})}return r.info=fe(b,{higherRanks:l,totalRange:C*k}),r}getDateFormat(b,T,z,O){let f=this.dateFormat("%m-%d %H:%M:%S.%L",T),a="01-01 00:00:00.000",g={millisecond:15,second:12,minute:9,hour:6,day:3},y="millisecond",o=y;for(y in L){if(b===L.week&&+this.dateFormat("%w",T)===z&&f.substr(6)===a.substr(6)){y="week";break}if(L[y]>b){y=o;break}if(g[y]&&f.substr(g[y])!==a.substr(g[y]))break;"week"!==y&&(o=y)}return this.resolveDTLFormat(O[y]).main}}return E.formatCache={},E}),Pe(V,"Core/Defaults.js",[V["Core/Chart/ChartDefaults.js"],V["Core/Globals.js"],V["Core/Color/Palettes.js"],V["Core/Time.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le){let{isTouchDevice:fe,svg:pe}=ie,{merge:J}=le,te={colors:re.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",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"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:Z,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:pe,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:fe?25:10,headerFormat:'{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};te.chart.styledMode=!1;let $=new ve(te.time);return{defaultOptions:te,defaultTime:$,getOptions:function(){return te},setOptions:function(A){return J(!0,te,A),(A.time||A.global)&&(ie.time?ie.time.update(J(te.global,te.time,A.global,A.time)):ie.time=$),te}}}),Pe(V,"Core/Color/Color.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie){let{isNumber:re,merge:ve,pInt:le}=ie;class fe{static parse(J){return J?new fe(J):fe.None}constructor(J){let te,$,A,B;this.rgba=[NaN,NaN,NaN,NaN],this.input=J;let F=Z.Color;if(F&&F!==fe)return new F(J);if("object"==typeof J&&void 0!==J.stops)this.stops=J.stops.map(L=>new fe(L[1]));else if("string"==typeof J){if(this.input=J=fe.names[J.toLowerCase()]||J,"#"===J.charAt(0)){let L=J.length,D=parseInt(J.substr(1),16);7===L?$=[(16711680&D)>>16,(65280&D)>>8,255&D,1]:4===L&&($=[(3840&D)>>4|(3840&D)>>8,(240&D)>>4|240&D,(15&D)<<4|15&D,1])}if(!$)for(A=fe.parsers.length;A--&&!$;)(te=(B=fe.parsers[A]).regex.exec(J))&&($=B.parse(te))}$&&(this.rgba=$)}get(J){let te=this.input,$=this.rgba;if("object"==typeof te&&void 0!==this.stops){let A=ve(te);return A.stops=[].slice.call(A.stops),this.stops.forEach((B,F)=>{A.stops[F]=[A.stops[F][0],B.get(J)]}),A}return $&&re($[0])?"rgb"===J||!J&&1===$[3]?"rgb("+$[0]+","+$[1]+","+$[2]+")":"a"===J?`${$[3]}`:"rgba("+$.join(",")+")":te}brighten(J){let te=this.rgba;if(this.stops)this.stops.forEach(function($){$.brighten(J)});else if(re(J)&&0!==J)for(let $=0;$<3;$++)te[$]+=le(255*J),te[$]<0&&(te[$]=0),te[$]>255&&(te[$]=255);return this}setOpacity(J){return this.rgba[3]=J,this}tweenTo(J,te){let $=this.rgba,A=J.rgba;if(!re($[0])||!re(A[0]))return J.input||"none";let B=1!==A[3]||1!==$[3];return(B?"rgba(":"rgb(")+Math.round(A[0]+($[0]-A[0])*(1-te))+","+Math.round(A[1]+($[1]-A[1])*(1-te))+","+Math.round(A[2]+($[2]-A[2])*(1-te))+(B?","+(A[3]+($[3]-A[3])*(1-te)):"")+")"}}return fe.names={white:"#ffffff",black:"#000000"},fe.parsers=[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(pe){return[le(pe[1]),le(pe[2]),le(pe[3]),parseFloat(pe[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(pe){return[le(pe[1]),le(pe[2]),le(pe[3]),1]}}],fe.None=new fe(""),fe}),Pe(V,"Core/Animation/Fx.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{parse:ve}=Z,{win:le}=ie,{isNumber:fe,objectEach:pe}=re;class J{constructor($,A,B){this.pos=NaN,this.options=A,this.elem=$,this.prop=B}dSetter(){let $=this.paths,A=$&&$[0],B=$&&$[1],F=this.now||0,L=[];if(1!==F&&A&&B)if(A.length===B.length&&F<1)for(let D=0;D=E+this.startTime?(this.now=this.end,this.pos=1,this.update(),_[this.prop]=!0,B=!0,pe(_,function(b){!0!==b&&(B=!1)}),B&&I&&I.call(D),A=!1):(this.pos=L.easing((F-this.startTime)/E),this.now=this.start+(this.end-this.start)*this.pos,this.update(),A=!0),A}initPath($,A,B){let _,b,T,z,F=$.startX,L=$.endX,D=B.slice(),I=$.isArea,E=I?2:1,O=A&&A.slice();if(!O)return[D,D];function f(g,y){for(;g.length{let z=A(T.options.animation);_=pe(L)&&re(L.defer)?I.defer:Math.max(_,z.duration+z.defer),b=Math.min(I.duration,z.duration)}),F.renderer.forExport&&(_=0),{defer:Math.max(0,_-b),duration:Math.min(_,b)}},setAnimation:function(F,L){L.renderer.globalAnimation=$(F,L.options.chart.animation,!0)},stop:B}}),Pe(V,"Core/Renderer/HTML/AST.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie){let{SVG_NS:re,win:ve}=Z,{attr:le,createElement:fe,css:pe,error:J,isFunction:te,isString:$,objectEach:A,splat:B}=ie,{trustedTypes:F}=ve,L=F&&te(F.createPolicy)&&F.createPolicy("highcharts",{createHTML:_=>_}),D=L?L.createHTML(""):"",I=function(){try{return!!(new DOMParser).parseFromString(D,"text/html")}catch{return!1}}();class E{static filterUserAttributes(b){return A(b,(T,z)=>{let O=!0;-1===E.allowedAttributes.indexOf(z)&&(O=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(z)&&(O=$(T)&&E.allowedReferences.some(f=>0===T.indexOf(f))),O||(J(33,!1,void 0,{"Invalid attribute in config":`${z}`}),delete b[z]),$(T)&&b[z]&&(b[z]=T.replace(/{let O=z.split(":").map(a=>a.trim()),f=O.shift();return f&&O.length&&(T[f.replace(/-([a-z])/g,a=>a[1].toUpperCase())]=O.join(":")),T},{})}static setElementHTML(b,T){b.innerHTML=E.emptyHTML,T&&new E(T).addToDOM(b)}constructor(b){this.nodes="string"==typeof b?this.parseMarkup(b):b}addToDOM(b){return function T(z,O){let f;return B(z).forEach(function(a){let g,y=a.tagName,o=a.textContent?Z.doc.createTextNode(a.textContent):void 0,n=E.bypassHTMLFiltering;if(y)if("#text"===y)g=o;else if(-1!==E.allowedTags.indexOf(y)||n){let l=Z.doc.createElementNS("svg"===y?re:O.namespaceURI||re,y),d=a.attributes||{};A(a,function(C,k){"tagName"!==k&&"attributes"!==k&&"children"!==k&&"style"!==k&&"textContent"!==k&&(d[k]=C)}),le(l,n?d:E.filterUserAttributes(d)),a.style&&pe(l,a.style),o&&l.appendChild(o),T(a.children||[],l),g=l}else J(33,!1,void 0,{"Invalid tagName in config":y});g&&O.appendChild(g),f=g}),f}(this.nodes,b)}parseMarkup(b){let T,z=[];if(b=b.trim().replace(/ style=(["'])/g," data-style=$1"),I)T=(new DOMParser).parseFromString(L?L.createHTML(b):b,"text/html");else{let f=fe("div");f.innerHTML=b,T={body:f}}let O=(f,a)=>{let g=f.nodeName.toLowerCase(),y={tagName:g};"#text"===g&&(y.textContent=f.textContent||"");let o=f.attributes;if(o){let n={};[].forEach.call(o,r=>{"data-style"===r.name?y.style=E.parseStyle(r.value):n[r.name]=r.value}),y.attributes=n}if(f.childNodes.length){let n=[];[].forEach.call(f.childNodes,r=>{O(r,n)}),n.length&&(y.children=n)}a.push(y)};return[].forEach.call(T.body.childNodes,f=>O(f,z)),z}}return E.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","markerHeight","markerWidth","offset","opacity","orient","padding","paddingLeft","paddingRight","patternUnits","r","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],E.allowedReferences=["https://","http://","mailto:","/","../","./","#"],E.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feDropShadow","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],E.emptyHTML=D,E.bypassHTMLFiltering=!1,E}),Pe(V,"Core/Templating.js",[V["Core/Defaults.js"],V["Core/Utilities.js"]],function(Z,ie){let{defaultOptions:re,defaultTime:ve}=Z,{extend:le,getNestedProperty:fe,isArray:pe,isNumber:J,isObject:te,pick:$,pInt:A}=ie,B={add:(D,I)=>D+I,divide:(D,I)=>0!==I?D/I:"",eq:(D,I)=>D==I,each:function(D){let I=arguments[arguments.length-1];return!!pe(D)&&D.map((E,_)=>F(I.body,le(te(E)?E:{"@this":E},{"@index":_,"@first":0===_,"@last":_===D.length-1}))).join("")},ge:(D,I)=>D>=I,gt:(D,I)=>D>I,if:D=>!!D,le:(D,I)=>D<=I,lt:(D,I)=>DD*I,ne:(D,I)=>D!=I,subtract:(D,I)=>D-I,unless:D=>!D};function F(D="",I,E){let o,n,l,_=/\{([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= #\(\)]+)\}/g,b=/\(([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= ]+)\)/g,T=[],z=/f$/,O=/\.([0-9])/,f=re.lang,a=E&&E.time||ve,g=E&&E.numberFormatter||L,y=(d="")=>{let C;return"true"===d||"false"!==d&&((C=Number(d)).toString()===d?C:fe(d,I))},r=0;for(;null!==(o=_.exec(D));){let d=b.exec(o[1]);d&&(o=d,l=!0),n&&n.isBlock||(n={ctx:I,expression:o[1],find:o[0],isBlock:"#"===o[1].charAt(0),start:o.index,startInner:o.index+o[0].length,length:o[0].length});let C=o[1].split(" ")[0].replace("#","");B[C]&&(n.isBlock&&C===n.fn&&r++,n.fn||(n.fn=C));let k="else"===o[1];if(n.isBlock&&n.fn&&(o[1]===`/${n.fn}`||k))if(r)!k&&r--;else{let p=n.startInner,S=D.substr(p,o.index-p);void 0===n.body?(n.body=S,n.startInner=o.index+o[0].length):n.elseBody=S,n.find+=S+o[0],k||(T.push(n),n=void 0)}else n.isBlock||T.push(n);if(d&&!n?.isBlock)break}return T.forEach(d=>{let C,k,{body:p,elseBody:S,expression:j,fn:H}=d;if(H){let Y=[d],U=j.split(" ");for(k=B[H].length;k--;)Y.unshift(y(U[k+1]));C=B[H].apply(I,Y),d.isBlock&&"boolean"==typeof C&&(C=F(C?p:S,I))}else{let Y=j.split(":");if(C=y(Y.shift()||""),Y.length&&"number"==typeof C){let U=Y.join(":");if(z.test(U)){let se=parseInt((U.match(O)||["","-1"])[1],10);null!==C&&(C=g(C,se,f.decimalPoint,U.indexOf(",")>-1?f.thousandsSep:""))}else C=a.dateFormat(U,C)}}D=D.replace(d.find,$(C,""))}),l?F(D,I,E):D}function L(D,I,E,_){let b,T;I=+I;let z=re.lang,O=((D=+D||0).toString().split(".")[1]||"").split("e")[0].length,f=D.toString().split("e"),a=I;-1===I?I=Math.min(O,20):J(I)?I&&f[1]&&f[1]<0&&((T=I+ +f[1])>=0?(f[0]=(+f[0]).toExponential(T).split("e")[0],I=T):(f[0]=f[0].split(".")[0]||0,D=I<20?(f[0]*Math.pow(10,f[1])).toFixed(I):0,f[1]=0)):I=2;let g=(Math.abs(f[1]?f[0]:D)+Math.pow(10,-Math.max(I,O)-1)).toFixed(I),y=String(A(g)),o=y.length>3?y.length%3:0;return E=$(E,z.decimalPoint),_=$(_,z.thousandsSep),b=(D<0?"-":"")+(o?y.substr(0,o)+_:""),0>+f[1]&&!a?b="0":b+=y.substr(o).replace(/(\d{3})(?=\d)/g,"$1"+_),I&&(b+=E+g.slice(-I)),f[1]&&0!=+b&&(b+="e"+f[1]),b}return{dateFormat:function(D,I,E){return ve.dateFormat(D,I,E)},format:F,helpers:B,numberFormat:L}}),Pe(V,"Core/Renderer/RendererRegistry.js",[V["Core/Globals.js"]],function(Z){var ie,re;let ve;return(re=ie||(ie={})).rendererTypes={},re.getRendererType=function(le=ve){return re.rendererTypes[le]||re.rendererTypes[ve]},re.registerRendererType=function(le,fe,pe){re.rendererTypes[le]=fe,(!ve||pe)&&(ve=le,Z.Renderer=fe)},ie}),Pe(V,"Core/Renderer/RendererUtilities.js",[V["Core/Utilities.js"]],function(Z){var ie;let{clamp:re,pick:ve,pushUnique:le,stableSort:fe}=Z;return(ie||(ie={})).distribute=function pe(J,te,$){let _,b,T,O,f,g,A=J,B=A.reducedLen||te,F=(y,o)=>y.target-o.target,L=[],D=J.length,I=[],E=L.push,z=!0,a=0;for(_=D;_--;)a+=J[_].size;if(a>B){for(fe(J,(y,o)=>(o.rank||0)-(y.rank||0)),T=(g=J[0].rank===J[J.length-1].rank)?D/2:-1,b=g?T:D-1;T&&a>B;)O=J[_=Math.floor(b)],le(I,_)&&(a-=O.size),b+=T,g&&b>=J.length&&(T/=2,b=T);I.sort((y,o)=>o-y).forEach(y=>E.apply(L,J.splice(y,1)))}for(fe(J,F),J=J.map(y=>({size:y.size,targets:[y.target],align:ve(y.align,.5)}));z;){for(_=J.length;_--;)O=J[_],f=(Math.min.apply(0,O.targets)+Math.max.apply(0,O.targets))/2,O.pos=re(f-O.size*O.align,0,te-O.size);for(_=J.length,z=!1;_--;)_>0&&J[_-1].pos+J[_-1].size>J[_].pos&&(J[_-1].size+=J[_].size,J[_-1].targets=J[_-1].targets.concat(J[_].targets),J[_-1].align=.5,J[_-1].pos+J[_-1].size>te&&(J[_-1].pos=te-J[_-1].size),J.splice(_,1),z=!0)}return E.apply(A,L),_=0,J.some(y=>{let o=0;return(y.targets||[]).some(()=>(A[_].pos=y.pos+o,void 0!==$&&Math.abs(A[_].pos-A[_].target)>$?(A.slice(0,_+1).forEach(n=>delete n.pos),A.reducedLen=(A.reducedLen||te)-.1*te,A.reducedLen>.1*te&&pe(A,te,$),!0):(o+=A[_].size,_++,!1)))}),fe(A,F),A},ie}),Pe(V,"Core/Renderer/SVG/SVGElement.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){let{animate:le,animObject:fe,stop:pe}=Z,{deg2rad:J,doc:te,svg:$,SVG_NS:A,win:B}=re,{addEvent:F,attr:L,createElement:D,css:I,defined:E,erase:_,extend:b,fireEvent:T,isArray:z,isFunction:O,isObject:f,isString:a,merge:g,objectEach:y,pick:o,pInt:n,replaceNested:r,syncTimeout:l,uniqueKey:d}=ve;class C{_defaultGetter(p){let S=o(this[p+"Value"],this[p],this.element?this.element.getAttribute(p):null,0);return/^[\-0-9\.]+$/.test(S)&&(S=parseFloat(S)),S}_defaultSetter(p,S,j){j.setAttribute(S,p)}add(p){let S,j=this.renderer,H=this.element;return p&&(this.parentGroup=p),void 0!==this.textStr&&"text"===this.element.nodeName&&j.buildText(this),this.added=!0,(!p||p.handleZ||this.zIndex)&&(S=this.zIndexSetter()),S||(p?p.element:j.box).appendChild(H),this.onAdd&&this.onAdd(),this}addClass(p,S){let j=S?"":this.attr("class")||"";return(p=(p||"").split(/ /g).reduce(function(H,Y){return-1===j.indexOf(Y)&&H.push(Y),H},j?[j]:[]).join(" "))!==j&&this.attr("class",p),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(p,S,j,H=!0){let Y,U,se,w,X,G={},x=this.renderer,N=x.alignedObjects;p?(this.alignOptions=p,this.alignByTranslate=S,(!j||a(j))&&(this.alignTo=se=j||"renderer",_(N,this),N.push(this),j=void 0)):(p=this.alignOptions,S=this.alignByTranslate,se=this.alignTo),j=o(j,x[se],x);let R=p.align,K=p.verticalAlign;return Y=(j.x||0)+(p.x||0),U=(j.y||0)+(p.y||0),"right"===R?w=1:"center"===R&&(w=2),w&&(Y+=(j.width-(p.width||0))/w),G[S?"translateX":"x"]=Math.round(Y),"bottom"===K?X=1:"middle"===K&&(X=2),X&&(U+=(j.height-(p.height||0))/X),G[S?"translateY":"y"]=Math.round(U),H&&(this[this.placed?"animate":"attr"](G),this.placed=!0),this.alignAttr=G,this}alignSetter(p){let S={left:"start",center:"middle",right:"end"};S[p]&&(this.alignValue=p,this.element.setAttribute("text-anchor",S[p]))}animate(p,S,j){let H=fe(o(S,this.renderer.globalAnimation,!0)),Y=H.defer;return te.hidden&&(H.duration=0),0!==H.duration?(j&&(H.complete=j),l(()=>{this.element&&le(this,p,H)},Y)):(this.attr(p,void 0,j||H.complete),y(p,function(U,se){H.step&&H.step.call(this,U,{prop:se,pos:1,elem:this})},this)),this}applyTextOutline(p){let S=this.element;-1!==p.indexOf("contrast")&&(p=p.replace(/contrast/g,this.renderer.getContrast(S.style.fill)));let j=p.split(" "),H=j[j.length-1],Y=j[0];if(Y&&"none"!==Y&&re.svg){this.fakeTS=!0,Y=Y.replace(/(^[\d\.]+)(.*?)$/g,function(G,x,N){return 2*Number(x)+N}),this.removeTextOutline();let U=te.createElementNS(A,"tspan");L(U,{class:"highcharts-text-outline",fill:H,stroke:H,"stroke-width":Y,"stroke-linejoin":"round"});let se=S.querySelector("textPath")||S;[].forEach.call(se.childNodes,G=>{let x=G.cloneNode(!0);x.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(N=>x.removeAttribute(N)),U.appendChild(x)});let w=0;[].forEach.call(se.querySelectorAll("text tspan"),G=>{w+=Number(G.getAttribute("dy"))});let X=te.createElementNS(A,"tspan");X.textContent="\u200b",L(X,{x:Number(S.getAttribute("x")),dy:-w}),U.appendChild(X),se.insertBefore(U,se.firstChild)}}attr(p,S,j,H){let se,w,G,Y=this.element,U=C.symbolCustomAttribs,X=this;return"string"==typeof p&&void 0!==S&&(se=p,(p={})[se]=S),"string"==typeof p?X=(this[p+"Getter"]||this._defaultGetter).call(this,p,Y):(y(p,function(x,N){G=!1,H||pe(this,N),this.symbolName&&-1!==U.indexOf(N)&&(w||(this.symbolAttr(p),w=!0),G=!0),this.rotation&&("x"===N||"y"===N)&&(this.doTransform=!0),G||(this[N+"Setter"]||this._defaultSetter).call(this,x,N,Y)},this),this.afterSetters()),j&&j.call(this),X}clip(p){if(p&&!p.clipPath){let S=d()+"-",j=this.renderer.createElement("clipPath").attr({id:S}).add(this.renderer.defs);b(p,{clipPath:j,id:S,count:0}),p.add(j)}return this.attr("clip-path",p?`url(${this.renderer.url}#${p.id})`:"none")}crisp(p,S){let j=Math.round(S=S||p.strokeWidth||0)%2/2;return p.x=Math.floor(p.x||this.x||0)+j,p.y=Math.floor(p.y||this.y||0)+j,p.width=Math.floor((p.width||this.width||0)-2*j),p.height=Math.floor((p.height||this.height||0)-2*j),E(p.strokeWidth)&&(p.strokeWidth=S),p}complexColor(p,S,j){let Y,U,se,w,X,G,x,N,R,K,he,H=this.renderer,q=[];T(this.renderer,"complexColor",{args:arguments},function(){if(p.radialGradient?U="radialGradient":p.linearGradient&&(U="linearGradient"),U){if(se=p[U],X=H.gradients,G=p.stops,R=j.radialReference,z(se)&&(p[U]=se={x1:se[0],y1:se[1],x2:se[2],y2:se[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===U&&R&&!E(se.gradientUnits)&&(w=se,se=g(se,H.getRadialAttr(R,w),{gradientUnits:"userSpaceOnUse"})),y(se,function(me,Ce){"id"!==Ce&&q.push(Ce,me)}),y(G,function(me){q.push(me)}),X[q=q.join(",")])K=X[q].attr("id");else{se.id=K=d();let me=X[q]=H.createElement(U).attr(se).add(H.defs);me.radAttr=w,me.stops=[],G.forEach(function(Ce){0===Ce[1].indexOf("rgba")?(x=(Y=ie.parse(Ce[1])).get("rgb"),N=Y.get("a")):(x=Ce[1],N=1);let Se=H.createElement("stop").attr({offset:Ce[0],"stop-color":x,"stop-opacity":N}).add(me);me.stops.push(Se)})}he="url("+H.url+"#"+K+")",j.setAttribute(S,he),j.gradient=q,p.toString=function(){return he}}})}css(p){let Y,S=this.styles,j={},H=this.element,U=!S;if(S&&y(p,function(se,w){S&&S[w]!==se&&(j[w]=se,U=!0)}),U){S&&(p=b(S,j)),null===p.width||"auto"===p.width?delete this.textWidth:"text"===H.nodeName.toLowerCase()&&p.width&&(Y=this.textWidth=n(p.width)),b(this.styles,p),Y&&!$&&this.renderer.forExport&&delete p.width;let se=g(p);H.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(w=>se&&delete se[w]),se.color&&(se.fill=se.color)),I(H,se)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),p.textOutline&&this.applyTextOutline(p.textOutline)),this}dashstyleSetter(p){let S,j=this["stroke-width"];if("inherit"===j&&(j=1),p=p&&p.toLowerCase()){let H=p.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(S=H.length;S--;)H[S]=""+n(H[S])*o(j,NaN);p=H.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",p)}}destroy(){let U,se,p=this,S=p.element||{},j=p.renderer,H=S.ownerSVGElement,Y="SPAN"===S.nodeName&&p.parentGroup||void 0;if(S.onclick=S.onmouseout=S.onmouseover=S.onmousemove=S.point=null,pe(p),p.clipPath&&H){let w=p.clipPath;[].forEach.call(H.querySelectorAll("[clip-path],[CLIP-PATH]"),function(X){X.getAttribute("clip-path").indexOf(w.element.id)>-1&&X.removeAttribute("clip-path")}),p.clipPath=w.destroy()}if(p.connector=p.connector?.destroy(),p.stops){for(se=0;seY&&Y.join?(U?H+" ":"")+Y.join(" "):(Y||"").toString(),"")),/(NaN| {2}|^$)/.test(p)&&(p="M 0 0"),this[S]!==p&&(j.setAttribute(S,p),this[S]=p)}fillSetter(p,S,j){"string"==typeof p?j.setAttribute(S,p):p&&this.complexColor(p,S,j)}hrefSetter(p,S,j){j.setAttributeNS("http://www.w3.org/1999/xlink",S,p)}getBBox(p,S){let j,H,Y,U,{alignValue:se,element:w,renderer:X,styles:G,textStr:x}=this,{cache:N,cacheKeys:R}=X,K=w.namespaceURI===this.SVG_NS,q=o(S,this.rotation,0),he=X.styledMode?w&&C.prototype.getStyle.call(w,"font-size"):G.fontSize;if(E(x)&&(-1===(U=x.toString()).indexOf("<")&&(U=U.replace(/[0-9]/g,"0")),U+=["",X.rootFontSize,he,q,this.textWidth,se,G.textOverflow,G.fontWeight].join(",")),U&&!p&&(j=N[U]),!j){if(K||X.forExport){try{Y=this.fakeTS&&function(me){let Ce=w.querySelector(".highcharts-text-outline");Ce&&I(Ce,{display:me})},O(Y)&&Y("none"),j=w.getBBox?b({},w.getBBox()):{width:w.offsetWidth,height:w.offsetHeight,x:0,y:0},O(Y)&&Y("")}catch{}(!j||j.width<0)&&(j={x:0,y:0,width:0,height:0})}else j=this.htmlGetBBox();H=j.height,K&&(j.height=H={"11px,17":14,"13px,20":16}[`${he||""},${Math.round(H)}`]||H),q&&(j=this.getRotatedBox(j,q))}if(U&&(""===x||j.height>0)){for(;R.length>250;)delete N[R.shift()];N[U]||R.push(U),N[U]=j}return j}getRotatedBox(p,S){let{x:j,y:H,width:Y,height:U}=p,{alignValue:se,translateY:w,rotationOriginX:X=0,rotationOriginY:G=0}=this,x={right:1,center:.5}[se||0]||0,N=Number(this.element.getAttribute("y")||0)-(w?0:H),R=S*J,K=(S-90)*J,q=Math.cos(R),he=Math.sin(R),me=Y*q,Ce=Y*he,Se=Math.cos(K),Oe=Math.sin(K),[[Ae,Fe],[oe,ee]]=[X,G].map(pt=>[pt-pt*q,pt*he]),de=j+x*(Y-me)+Ae+ee+N*Se,ye=de+me,Te=ye-U*Se,_e=Te-me,Me=H+N-x*Ce-Fe+oe+N*Oe,Ee=Me+Ce,Xe=Ee-U*Oe,Ze=Xe-Ce,lt=Math.min(de,ye,Te,_e),Qe=Math.min(Me,Ee,Xe,Ze);return{x:lt,y:Qe,width:Math.max(de,ye,Te,_e)-lt,height:Math.max(Me,Ee,Xe,Ze)-Qe}}getStyle(p){return B.getComputedStyle(this.element||this,"").getPropertyValue(p)}hasClass(p){return-1!==(""+this.attr("class")).split(" ").indexOf(p)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(p,S){this.onEvents={},this.opacity=1,this.SVG_NS=A,this.element="span"===S||"body"===S?D(S):te.createElementNS(this.SVG_NS,S),this.renderer=p,this.styles={},T(this,"afterInit")}on(p,S){let{onEvents:j}=this;return j[p]&&j[p](),j[p]=F(this.element,p,S),this}opacitySetter(p,S,j){let H=Number(Number(p).toFixed(3));this.opacity=H,j.setAttribute(S,H)}removeClass(p){return this.attr("class",(""+this.attr("class")).replace(a(p)?RegExp(`(^| )${p}( |$)`):p," ").replace(/ +/g," ").trim())}removeTextOutline(){let p=this.element.querySelector("tspan.highcharts-text-outline");p&&this.safeRemoveChild(p)}safeRemoveChild(p){let S=p.parentNode;S&&S.removeChild(p)}setRadialReference(p){let S=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=p,S&&S.radAttr&&S.animate(this.renderer.getRadialAttr(p,S.radAttr)),this}setTextPath(p,S){S=g(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},S);let j=this.renderer.url,H=this.text||this,Y=H.textPath,{attributes:U,enabled:se}=S;if(p=p||Y&&Y.path,Y&&Y.undo(),p&&se){let w=F(H,"afterModifyTree",X=>{if(p&&se){let G=p.attr("id");G||p.attr("id",G=d());let x={x:0,y:0};E(U.dx)&&(x.dx=U.dx,delete U.dx),E(U.dy)&&(x.dy=U.dy,delete U.dy),H.attr(x),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let N=X.nodes.slice(0);X.nodes.length=0,X.nodes[0]={tagName:"textPath",attributes:b(U,{"text-anchor":U.textAnchor,href:`${j}#${G}`}),children:N}}});H.textPath={path:p,undo:w}}else H.attr({dx:0,dy:0}),delete H.textPath;return this.added&&(H.textCache="",this.renderer.buildText(H)),this}shadow(p){let{renderer:S}=this,j=g(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},f(p)?p:{}),H=S.shadowDefinition(j);return this.attr({filter:p?`url(${S.url}#${H})`:"none"})}show(p=!0){return this.attr({visibility:p?"inherit":"visible"})}"stroke-widthSetter"(p,S,j){this[S]=p,j.setAttribute(S,p)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let j,p=this.getStyle("stroke-width"),S=0;return/px$/.test(p)?S=n(p):""!==p&&(L(j=te.createElementNS(A,"rect"),{width:p,"stroke-width":0}),this.element.parentNode.appendChild(j),S=j.getBBox().width,j.parentNode.removeChild(j)),S}symbolAttr(p){let S=this;C.symbolCustomAttribs.forEach(function(j){S[j]=o(p[j],S[j])}),S.attr({d:S.renderer.symbols[S.symbolName](S.x,S.y,S.width,S.height,S)})}textSetter(p){p!==this.textStr&&(delete this.textPxLength,this.textStr=p,this.added&&this.renderer.buildText(this))}titleSetter(p){let S=this.element,j=S.getElementsByTagName("title")[0]||te.createElementNS(this.SVG_NS,"title");S.insertBefore?S.insertBefore(j,S.firstChild):S.appendChild(j),j.textContent=r(o(p,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let p=this.element;return p.parentNode.appendChild(p),this}translate(p,S){return this.attr({translateX:p,translateY:S})}updateTransform(p="transform"){let{element:S,matrix:j,rotation:H=0,rotationOriginX:Y,rotationOriginY:U,scaleX:se,scaleY:w,translateX:X=0,translateY:G=0}=this,x=["translate("+X+","+G+")"];E(j)&&x.push("matrix("+j.join(",")+")"),H&&(x.push("rotate("+H+" "+o(Y,S.getAttribute("x"),0)+" "+o(U,S.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:H,rotationOriginX:(Y||0)-this.padding,rotationOriginY:(U||0)-this.padding})),(E(se)||E(w))&&x.push("scale("+o(se,1)+" "+o(w,1)+")"),x.length&&!(this.text||this).textPath&&S.setAttribute(p,x.join(" "))}visibilitySetter(p,S,j){"inherit"===p?j.removeAttribute(S):this[S]!==p&&j.setAttribute(S,p),this[S]=p}xGetter(p){return"circle"===this.element.nodeName&&("x"===p?p="cx":"y"===p&&(p="cy")),this._defaultGetter(p)}zIndexSetter(p,S){let w,X,G,N,K,j=this.renderer,H=this.parentGroup,Y=(H||j).element||j.box,U=this.element,se=Y===j.box,x=!1,R=this.added;if(E(p)?(U.setAttribute("data-z-index",p),this[S]===(p=+p)&&(R=!1)):E(this[S])&&U.removeAttribute("data-z-index"),this[S]=p,R){for((p=this.zIndex)&&H&&(H.handleZ=!0),K=(w=Y.childNodes).length-1;K>=0&&!x;K--)N=!E(G=(X=w[K]).getAttribute("data-z-index")),X!==U&&(p<0&&N&&!se&&!K?(Y.insertBefore(U,w[K]),x=!0):(n(G)<=p||N&&(!E(p)||p>=0))&&(Y.insertBefore(U,w[K+1]),x=!0));x||(Y.insertBefore(U,w[se?3:0]),x=!0)}return x}}return C.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],C.prototype.strokeSetter=C.prototype.fillSetter,C.prototype.yGetter=C.prototype.xGetter,C.prototype.matrixSetter=C.prototype.rotationOriginXSetter=C.prototype.rotationOriginYSetter=C.prototype.rotationSetter=C.prototype.scaleXSetter=C.prototype.scaleYSetter=C.prototype.translateXSetter=C.prototype.translateYSetter=C.prototype.verticalAlignSetter=function(k,p){this[p]=k,this.doTransform=!0},C}),Pe(V,"Core/Renderer/SVG/SVGLabel.js",[V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(Z,ie){let{defined:re,extend:ve,isNumber:le,merge:fe,pick:pe,removeEvent:J}=ie;class te extends Z{constructor(A,B,F,L,D,I,E,_,b,T){let z;super(A,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.textStr=B,this.x=F,this.y=L,this.anchorX=I,this.anchorY=E,this.baseline=b,this.className=T,this.addClass("button"===T?"highcharts-no-tooltip":"highcharts-label"),T&&this.addClass("highcharts-"+T),this.text=A.text(void 0,0,0,_).attr({zIndex:1}),"string"==typeof D&&((z=/^url\((.*?)\)$/.test(D))||this.renderer.symbols[D])&&(this.symbolKey=D),this.bBox=te.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=A.styledMode||z,this.deferredAttr={},this.alignFactor=0}alignSetter(A){let B={left:0,center:.5,right:1}[A];B!==this.alignFactor&&(this.alignFactor=B,this.bBox&&le(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(A,B){this.anchorX=A,this.boxAttr(B,Math.round(A)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(A,B){this.anchorY=A,this.boxAttr(B,A-this.ySetting)}boxAttr(A,B){this.box?this.box.attr(A,B):this.deferredAttr[A]=B}css(A){if(A){let B={};A=fe(A),te.textProps.forEach(F=>{void 0!==A[F]&&(B[F]=A[F],delete A[F])}),this.text.css(B),"fontSize"in B||"fontWeight"in B?this.updateTextPadding():("width"in B||"textOverflow"in B)&&this.updateBoxSize()}return Z.prototype.css.call(this,A)}destroy(){J(this.element,"mouseenter"),J(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),Z.prototype.destroy.call(this)}fillSetter(A,B){A&&(this.needsBox=!0),this.fill=A,this.boxAttr(B,A)}getBBox(A,B){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:F,height:L=0,translateX:D=0,translateY:I=0,width:E=0}=this,_=pe(this.paddingLeft,F),b=B??(this.rotation||0),T={width:E,height:L,x:D+this.bBox.x-_,y:I+this.bBox.y-F+this.baselineOffset};return b&&(T=this.getRotatedBox(T,b)),T}getCrispAdjust(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(A){this.heightSetting=A}onAdd(){this.text.add(this),this.attr({text:pe(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&re(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(A,B){le(A)?A!==this[B]&&(this[B]=A,this.updateTextPadding()):this[B]=void 0}rSetter(A,B){this.boxAttr(B,A)}strokeSetter(A,B){this.stroke=A,this.boxAttr(B,A)}"stroke-widthSetter"(A,B){A&&(this.needsBox=!0),this["stroke-width"]=A,this.boxAttr(B,A)}"text-alignSetter"(A){this.textAlign=A}textSetter(A){void 0!==A&&this.text.attr({text:A}),this.updateTextPadding()}updateBoxSize(){let A,B=this.text,F={},L=this.padding,D=this.bBox=le(this.widthSetting)&&le(this.heightSetting)&&!this.textAlign||!re(B.textStr)?te.emptyBBox:B.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||D.height||0)+2*L;let I=this.renderer.fontMetrics(B);if(this.baselineOffset=L+Math.min((this.text.firstLineMetrics||I).b,D.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-I.h)/2),this.needsBox&&!B.textPath){if(!this.box){let E=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();E.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),E.add(this)}A=this.getCrispAdjust(),F.x=A,F.y=(this.baseline?-this.baselineOffset:0)+A,F.width=Math.round(this.width),F.height=Math.round(this.height),this.box.attr(ve(F,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let A=this.text;if(!A.textPath){this.updateBoxSize();let B=this.baseline?0:this.baselineOffset,F=pe(this.paddingLeft,this.padding);re(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(F+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(F!==A.x||B!==A.y)&&(A.attr("x",F),A.hasBoxWidthChanged&&(this.bBox=A.getBBox(!0)),void 0!==B&&A.attr("y",B)),A.x=F,A.y=B}}widthSetter(A){this.widthSetting=le(A)?A:void 0}getPaddedWidth(){let A=this.padding,B=pe(this.paddingLeft,A),F=pe(this.paddingRight,A);return(this.widthSetting||this.bBox.width||0)+B+F}xSetter(A){this.x=A,this.alignFactor&&(A-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(A),this.attr("translateX",this.xSetting)}ySetter(A){this.ySetting=this.y=Math.round(A),this.attr("translateY",this.ySetting)}}return te.emptyBBox={width:0,height:0,x:0,y:0},te.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],te}),Pe(V,"Core/Renderer/SVG/Symbols.js",[V["Core/Utilities.js"]],function(Z){let{defined:ie,isNumber:re,pick:ve}=Z;function le(J,te,$,A,B){let F=[];if(B){let L=B.start||0,D=ve(B.r,$),I=ve(B.r,A||$),E=.001>Math.abs((B.end||0)-L-2*Math.PI),_=(B.end||0)-.001,b=B.innerR,T=ve(B.open,E),z=Math.cos(L),O=Math.sin(L),f=Math.cos(_),a=Math.sin(_),g=ve(B.longArc,_-L-Math.PI<.001?0:1),y=["A",D,I,0,g,ve(B.clockwise,1),J+D*f,te+I*a];y.params={start:L,end:_,cx:J,cy:te},F.push(["M",J+D*z,te+I*O],y),ie(b)&&((y=["A",b,b,0,g,ie(B.clockwise)?1-B.clockwise:0,J+b*z,te+b*O]).params={start:_,end:L,cx:J,cy:te},F.push(T?["M",J+b*f,te+b*a]:["L",J+b*f,te+b*a],y)),T||F.push(["Z"])}return F}function fe(J,te,$,A,B){return B&&B.r?pe(J,te,$,A,B):[["M",J,te],["L",J+$,te],["L",J+$,te+A],["L",J,te+A],["Z"]]}function pe(J,te,$,A,B){let F=B?.r||0;return[["M",J+F,te],["L",J+$-F,te],["A",F,F,0,0,1,J+$,te+F],["L",J+$,te+A-F],["A",F,F,0,0,1,J+$-F,te+A],["L",J+F,te+A],["A",F,F,0,0,1,J,te+A-F],["L",J,te+F],["A",F,F,0,0,1,J+F,te],["Z"]]}return{arc:le,callout:function(J,te,$,A,B){let F=Math.min(B&&B.r||0,$,A),L=F+6,D=B&&B.anchorX,I=B&&B.anchorY||0,E=pe(J,te,$,A,{r:F});if(!re(D)||D<$&&D>0&&I0)return E;if(J+D>$-L)if(I>te+L&&Ite+L&&I0){let _=IA&&D<$-L?E.splice(5,1,["L",D+6,te+A],["L",D,te+A+6],["L",D-6,te+A],["L",J+F,te+A]):I<0&&D>L&&E.splice(1,1,["L",D-6,te],["L",D,te-6],["L",D+6,te],["L",$-F,te]);return E},circle:function(J,te,$,A){return le(J+$/2,te+A/2,$/2,A/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(J,te,$,A){return[["M",J+$/2,te],["L",J+$,te+A/2],["L",J+$/2,te+A],["L",J,te+A/2],["Z"]]},rect:fe,roundedRect:pe,square:fe,triangle:function(J,te,$,A){return[["M",J+$/2,te],["L",J+$,te+A],["L",J,te+A],["Z"]]},"triangle-down":function(J,te,$,A){return[["M",J,te],["L",J+$,te],["L",J+$/2,te+A],["Z"]]}}}),Pe(V,"Core/Renderer/SVG/TextBuilder.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{doc:ve,SVG_NS:le,win:fe}=ie,{attr:pe,extend:J,fireEvent:te,isString:$,objectEach:A,pick:B}=re;return class{constructor(F){let L=F.styles;this.renderer=F.renderer,this.svgElement=F,this.width=F.textWidth,this.textLineHeight=L&&L.lineHeight,this.textOutline=L&&L.textOutline,this.ellipsis=!(!L||"ellipsis"!==L.textOverflow),this.noWrap=!(!L||"nowrap"!==L.whiteSpace)}buildSVG(){let F=this.svgElement,L=F.element,D=F.renderer,I=B(F.textStr,"").toString(),E=-1!==I.indexOf("<"),_=L.childNodes,b=!F.added&&D.box,T=[I,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,F.getStyle("font-size"),this.width].join(",");if(T!==F.textCache){F.textCache=T,delete F.actualWidth;for(let z=_.length;z--;)L.removeChild(_[z]);if(E||this.ellipsis||this.width||F.textPath||-1!==I.indexOf(" ")&&(!this.noWrap||//g.test(I))){if(""!==I){b&&b.appendChild(L);let z=new Z(I);this.modifyTree(z.nodes),z.addToDOM(L),this.modifyDOM(),this.ellipsis&&-1!==(L.textContent||"").indexOf("\u2026")&&F.attr("title",this.unescapeEntities(F.textStr||"",["<",">"])),b&&b.removeChild(L)}}else L.appendChild(ve.createTextNode(this.unescapeEntities(I)));$(this.textOutline)&&F.applyTextOutline&&F.applyTextOutline(this.textOutline)}}modifyDOM(){let F,L=this.svgElement,D=pe(L.element,"x");for(L.firstLineMetrics=void 0;(F=L.element.firstChild)&&/^[\s\u200B]*$/.test(F.textContent||" ");)L.element.removeChild(F);[].forEach.call(L.element.querySelectorAll("tspan.highcharts-br"),(b,T)=>{b.nextSibling&&b.previousSibling&&(0===T&&1===b.previousSibling.nodeType&&(L.firstLineMetrics=L.renderer.fontMetrics(b.previousSibling)),pe(b,{dy:this.getLineHeight(b.nextSibling),x:D}))});let I=this.width||0;if(!I)return;let E=(b,T)=>{let z=b.textContent||"",O=z.replace(/([^\^])-/g,"$1- ").split(" "),f=!this.noWrap&&(O.length>1||L.element.childNodes.length>1),a=this.getLineHeight(T),g=0,y=L.actualWidth;if(this.ellipsis)z&&this.truncate(b,z,void 0,0,Math.max(0,I-.8*a),(o,n)=>o.substring(0,n)+"\u2026");else if(f){let o=[],n=[];for(;T.firstChild&&T.firstChild!==b;)n.push(T.firstChild),T.removeChild(T.firstChild);for(;O.length;)O.length&&!this.noWrap&&g>0&&(o.push(b.textContent||""),b.textContent=O.join(" ").replace(/- /g,"-")),this.truncate(b,void 0,O,0===g&&y||0,I,(r,l)=>O.slice(0,l).join(" ").replace(/- /g,"-")),y=L.actualWidth,g++;n.forEach(r=>{T.insertBefore(r,b)}),o.forEach(r=>{T.insertBefore(ve.createTextNode(r),b);let l=ve.createElementNS(le,"tspan");l.textContent="\u200b",pe(l,{dy:a,x:D}),T.insertBefore(l,b)})}},_=b=>{[].slice.call(b.childNodes).forEach(T=>{T.nodeType===fe.Node.TEXT_NODE?E(T,b):(-1!==T.className.baseVal.indexOf("highcharts-br")&&(L.actualWidth=0),_(T))})};_(L.element)}getLineHeight(F){let L=F.nodeType===fe.Node.TEXT_NODE?F.parentElement:F;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(L||this.svgElement.element).h}modifyTree(F){let L=(D,I)=>{let{attributes:E={},children:_,style:b={},tagName:T}=D,z=this.renderer.styledMode;if("b"===T||"strong"===T?z?E.class="highcharts-strong":b.fontWeight="bold":("i"===T||"em"===T)&&(z?E.class="highcharts-emphasized":b.fontStyle="italic"),b&&b.color&&(b.fill=b.color),"br"===T){E.class="highcharts-br",D.textContent="\u200b";let O=F[I+1];O&&O.textContent&&(O.textContent=O.textContent.replace(/^ +/gm,""))}else"a"===T&&_&&_.some(O=>"#text"===O.tagName)&&(D.children=[{children:_,tagName:"tspan"}]);"#text"!==T&&"a"!==T&&(D.tagName="tspan"),J(D,{attributes:E,style:b}),_&&_.filter(O=>"#text"!==O.tagName).forEach(L)};F.forEach(L),te(this.svgElement,"afterModifyTree",{nodes:F})}truncate(F,L,D,I,E,_){let b,T,z=this.svgElement,{rotation:O}=z,f=[],a=D?1:0,g=(L||D||"").length,y=g,o=function(n,r){let l=r||n,d=F.parentNode;if(d&&void 0===f[l]&&d.getSubStringLength)try{f[l]=I+d.getSubStringLength(0,D?l+1:l)}catch{}return f[l]};if(z.rotation=0,I+(T=o(F.textContent.length))>E){for(;a<=g;)y=Math.ceil((a+g)/2),D&&(b=_(D,y)),T=o(y,b&&b.length-1),a===g?a=g+1:T>E?g=y-1:a=y;0===g?F.textContent="":L&&g===L.length-1||(F.textContent=b||_(L||D,y))}D&&D.splice(0,y),z.actualWidth=T,z.rotation=O}unescapeEntities(F,L){return A(this.renderer.escapes,function(D,I){L&&-1!==L.indexOf(D)||(F=F.toString().replace(RegExp(D,"g"),I))}),F}}}),Pe(V,"Core/Renderer/SVG/SVGRenderer.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGLabel.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Renderer/SVG/TextBuilder.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe,pe,J,te){let $,{charts:A,deg2rad:B,doc:F,isFirefox:L,isMS:D,isWebKit:I,noop:E,SVG_NS:_,symbolSizes:b,win:T}=re,{addEvent:z,attr:O,createElement:f,css:a,defined:g,destroyObjectProperties:y,extend:o,isArray:n,isNumber:r,isObject:l,isString:d,merge:C,pick:k,pInt:p,replaceNested:S,uniqueKey:j}=te;class H{constructor(U,se,w,X,G,x,N){let R,K,q=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),he=q.element;N||q.css(this.getStyle(X||{})),U.appendChild(he),O(U,"dir","ltr"),-1===U.innerHTML.indexOf("xmlns")&&O(he,"xmlns",this.SVG_NS),this.box=he,this.boxWrapper=q,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(F.createTextNode("Created with Highcharts 11.4.0")),this.defs=this.createElement("defs").add(),this.allowHTML=x,this.forExport=G,this.styledMode=N,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=q.getStyle("font-size"),this.setSize(se,w,!1),L&&U.getBoundingClientRect&&((R=function(){a(U,{left:0,top:0}),K=U.getBoundingClientRect(),a(U,{left:Math.ceil(K.left)-K.left+"px",top:Math.ceil(K.top)-K.top+"px"})})(),this.unSubPixelFix=z(T,"resize",R))}definition(U){return new Z([U]).addToDOM(this.defs.element)}getReferenceURL(){if((L||I)&&F.getElementsByTagName("base").length){if(!g($)){let U=j(),se=new Z([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:U},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${U})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(F.body);a(se,{position:"fixed",top:0,left:0,zIndex:9e5});let w=F.elementFromPoint(6,6);$="hitme"===(w&&w.id),F.body.removeChild(se)}if($)return S(T.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(U){return this.style=o({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},U),this.style}setStyle(U){this.boxWrapper.css(this.getStyle(U))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let U=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),y(this.gradients||{}),this.gradients=null,this.defs=U.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(U){return new this.Element(this,U)}getRadialAttr(U,se){return{cx:U[0]-U[2]/2+(se.cx||0)*U[2],cy:U[1]-U[2]/2+(se.cy||0)*U[2],r:(se.r||0)*U[2]}}shadowDefinition(U){let se=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(U).map(X=>`${X}-${U[X]}`)].join("-").toLowerCase().replace(/[^a-z0-9\-]/g,""),w=C({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},U);return this.defs.element.querySelector(`#${se}`)||this.definition({tagName:"filter",attributes:{id:se,filterUnits:w.filterUnits},children:[{tagName:"feDropShadow",attributes:{dx:w.offsetX,dy:w.offsetY,"flood-color":w.color,"flood-opacity":Math.min(5*w.opacity,1),stdDeviation:w.width/2}}]}),se}buildText(U){new J(U).buildSVG()}getContrast(U){let se=ie.parse(U).rgba.map(X=>{let G=X/255;return G<=.03928?G/12.92:Math.pow((G+.055)/1.055,2.4)}),w=.2126*se[0]+.7152*se[1]+.0722*se[2];return 1.05/(w+.05)>(w+.05)/.05?"#FFFFFF":"#000000"}button(U,se,w,X,G={},x,N,R,K,q){let he,me,Ce,Se=this.label(U,se,w,K,void 0,void 0,q,void 0,"button"),Oe=this.styledMode,Ae=G.states||{},Fe=0;delete(G=C(G)).states;let oe=C({color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},G.style);delete G.style;let ee=Z.filterUserAttributes(G);return Se.attr(C({padding:8,r:2},ee)),Oe||(ee=C({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},ee),he=(x=C(ee,{fill:"#e6e6e6"},Z.filterUserAttributes(x||Ae.hover||{}))).style,delete x.style,me=(N=C(ee,{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},Z.filterUserAttributes(N||Ae.select||{}))).style,delete N.style,Ce=(R=C(ee,{style:{color:"#cccccc"}},Z.filterUserAttributes(R||Ae.disabled||{}))).style,delete R.style),z(Se.element,D?"mouseover":"mouseenter",function(){3!==Fe&&Se.setState(1)}),z(Se.element,D?"mouseout":"mouseleave",function(){3!==Fe&&Se.setState(Fe)}),Se.setState=function(de){if(1!==de&&(Se.state=Fe=de),Se.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][de||0]),!Oe){Se.attr([ee,x,N,R][de||0]);let ye=[oe,he,me,Ce][de||0];l(ye)&&Se.css(ye)}},!Oe&&(Se.attr(ee).css(o({cursor:"default"},oe)),q&&Se.text.css({pointerEvents:"none"})),Se.on("touchstart",de=>de.stopPropagation()).on("click",function(de){3!==Fe&&X.call(Se,de)})}crispLine(U,se,w="round"){let X=U[0],G=U[1];return g(X[1])&&X[1]===G[1]&&(X[1]=G[1]=Math[w](X[1])-se%2/2),g(X[2])&&X[2]===G[2]&&(X[2]=G[2]=Math[w](X[2])+se%2/2),U}path(U){let se=this.styledMode?{}:{fill:"none"};return n(U)?se.d=U:l(U)&&o(se,U),this.createElement("path").attr(se)}circle(U,se,w){let X=l(U)?U:void 0===U?{}:{x:U,y:se,r:w},G=this.createElement("circle");return G.xSetter=G.ySetter=function(x,N,R){R.setAttribute("c"+N,x)},G.attr(X)}arc(U,se,w,X,G,x){let N;l(U)?(se=(N=U).y,w=N.r,X=N.innerR,G=N.start,x=N.end,U=N.x):N={innerR:X,start:G,end:x};let R=this.symbol("arc",U,se,w,w,N);return R.r=w,R}rect(U,se,w,X,G,x){let N=l(U)?U:void 0===U?{}:{x:U,y:se,r:G,width:Math.max(w||0,0),height:Math.max(X||0,0)},R=this.createElement("rect");return this.styledMode||(void 0!==x&&(N["stroke-width"]=x,o(N,R.crisp(N))),N.fill="none"),R.rSetter=function(K,q,he){R.r=K,O(he,{rx:K,ry:K})},R.rGetter=function(){return R.r||0},R.attr(N)}roundedRect(U){return this.symbol("roundedRect").attr(U)}setSize(U,se,w){this.width=U,this.height=se,this.boxWrapper.animate({width:U,height:se},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:k(w,!0)?void 0:0}),this.alignElements()}g(U){let se=this.createElement("g");return U?se.attr({class:"highcharts-"+U}):se}image(U,se,w,X,G,x){let N={preserveAspectRatio:"none"};r(se)&&(N.x=se),r(w)&&(N.y=w),r(X)&&(N.width=X),r(G)&&(N.height=G);let R=this.createElement("image").attr(N),K=function(q){R.attr({href:U}),x.call(R,q)};if(x){R.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let q=new T.Image;z(q,"load",K),q.src=U,q.complete&&K({})}else R.attr({href:U});return R}symbol(U,se,w,X,G,x){let N,R,K,q,he=this,me=/^url\((.*?)\)$/,Ce=me.test(U),Se=!Ce&&(this.symbols[U]?U:"circle"),Oe=Se&&this.symbols[Se];if(Oe)"number"==typeof se&&(R=Oe.call(this.symbols,Math.round(se||0),Math.round(w||0),X||0,G||0,x)),N=this.path(R),he.styledMode||N.attr("fill","none"),o(N,{symbolName:Se||void 0,x:se,y:w,width:X,height:G}),x&&o(N,x);else if(Ce){K=U.match(me)[1];let Ae=N=this.image(K);Ae.imgwidth=k(x&&x.width,b[K]&&b[K].width),Ae.imgheight=k(x&&x.height,b[K]&&b[K].height),q=Fe=>Fe.attr({width:Fe.width,height:Fe.height}),["width","height"].forEach(Fe=>{Ae[`${Fe}Setter`]=function(oe,ee){this[ee]=oe;let{alignByTranslate:de,element:ye,width:Te,height:_e,imgwidth:Me,imgheight:Ee}=this,Xe="width"===ee?Me:Ee,Ze=1;x&&"within"===x.backgroundSize&&Te&&_e&&Me&&Ee?(Ze=Math.min(Te/Me,_e/Ee),O(ye,{width:Math.round(Me*Ze),height:Math.round(Ee*Ze)})):ye&&Xe&&ye.setAttribute(ee,Xe),!de&&Me&&Ee&&this.translate(((Te||0)-Me*Ze)/2,((_e||0)-Ee*Ze)/2)}}),g(se)&&Ae.attr({x:se,y:w}),Ae.isImg=!0,g(Ae.imgwidth)&&g(Ae.imgheight)?q(Ae):(Ae.attr({width:0,height:0}),f("img",{onload:function(){let Fe=A[he.chartIndex];0===this.width&&(a(this,{position:"absolute",top:"-999em"}),F.body.appendChild(this)),b[K]={width:this.width,height:this.height},Ae.imgwidth=this.width,Ae.imgheight=this.height,Ae.element&&q(Ae),this.parentNode&&this.parentNode.removeChild(this),he.imgCount--,he.imgCount||!Fe||Fe.hasLoaded||Fe.onload()},src:K}),this.imgCount++)}return N}clipRect(U,se,w,X){return this.rect(U,se,w,X,0)}text(U,se,w,X){let G={};if(X&&(this.allowHTML||!this.forExport))return this.html(U,se,w);G.x=Math.round(se||0),w&&(G.y=Math.round(w)),g(U)&&(G.text=U);let x=this.createElement("text").attr(G);return X&&(!this.forExport||this.allowHTML)||(x.xSetter=function(N,R,K){let q=K.getElementsByTagName("tspan"),he=K.getAttribute(R);for(let Ce,me=0;meU.align())}}return o(H.prototype,{Element:le,SVG_NS:_,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:pe,draw:E}),ve.registerRendererType("svg",H,!0),H}),Pe(V,"Core/Renderer/HTML/HTMLElement.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){let{composed:le}=ie,{attr:fe,css:pe,createElement:J,defined:te,extend:$,pInt:A,pushUnique:B}=ve;function F(E,_,b){let T=this.div?.style||b.style;re.prototype[`${_}Setter`].call(this,E,_,b),T&&(T[_]=E)}let L=(E,_)=>{if(!E.div){let b=fe(E.element,"class"),T=E.css,z=J("div",b?{className:b}:void 0,{position:"absolute",left:`${E.translateX||0}px`,top:`${E.translateY||0}px`,...E.styles,display:E.display,opacity:E.opacity,visibility:E.visibility},E.parentGroup?.div||_);E.classSetter=(O,f,a)=>{a.setAttribute("class",O),z.className=O},E.translateXSetter=E.translateYSetter=(O,f)=>{E[f]=O,z.style["translateX"===f?"left":"top"]=`${O}px`,E.doTransform=!0},E.opacitySetter=E.visibilitySetter=F,E.css=O=>(T.call(E,O),O.cursor&&(z.style.cursor=O.cursor),O.pointerEvents&&(z.style.pointerEvents=O.pointerEvents),E),E.on=function(){return re.prototype.on.apply({element:z,onEvents:E.onEvents},arguments),E},E.div=z}return E.div};class D extends re{static compose(_){B(le,this.compose)&&(_.prototype.html=function(b,T,z){return new D(this,"span").attr({text:b,x:Math.round(T),y:Math.round(z)})})}constructor(_,b){super(_,b),this.css({position:"absolute",..._.styledMode?{}:{fontFamily:_.style.fontFamily,fontSize:_.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(_,b,T){this.xCorr=-_*T,this.yCorr=-b}css(_){let b,{element:T}=this,z="SPAN"===T.tagName&&_&&"width"in _,O=z&&_.width;return z&&(delete _.width,this.textWidth=A(O)||void 0,b=!0),"ellipsis"===_?.textOverflow&&(_.whiteSpace="nowrap",_.overflow="hidden"),$(this.styles,_),pe(T,_),b&&this.updateTransform(),this}htmlGetBBox(){let{element:_}=this;return{x:_.offsetLeft,y:_.offsetTop,width:_.offsetWidth,height:_.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:_,renderer:b,rotation:T,rotationOriginX:z,rotationOriginY:O,styles:f,textAlign:a="left",textWidth:g,translateX:y=0,translateY:o=0,x:n=0,y:r=0}=this,l=f.whiteSpace;if(pe(_,{marginLeft:`${y}px`,marginTop:`${o}px`}),"SPAN"===_.tagName){let k,d=[T,a,_.innerHTML,g,this.textAlign].join(","),C=-1*this.parentGroup?.padding||0,p=!1;if(g!==this.oldTextWidth){let U=this.textPxLength?this.textPxLength:(pe(_,{width:"",whiteSpace:l||"nowrap"}),_.offsetWidth),se=g||0;(se>this.oldTextWidth||U>se)&&(/[ \-]/.test(_.textContent||_.innerText)||"ellipsis"===_.style.textOverflow)&&(pe(_,{width:U>se||T?g+"px":"auto",display:"block",whiteSpace:l||"normal"}),this.oldTextWidth=g,p=!0)}this.hasBoxWidthChanged=p,d!==this.cTT&&(k=b.fontMetrics(_).b,te(T)&&(T!==(this.oldRotation||0)||a!==this.oldAlign)&&this.setSpanRotation(T,C,C),this.getSpanCorrection(!te(T)&&this.textPxLength||_.offsetWidth,k,{left:0,center:.5,right:1}[a]));let{xCorr:S=0,yCorr:j=0}=this;pe(_,{left:`${n+S}px`,top:`${r+j}px`,transformOrigin:`${(z??n)-S-n-C}px ${(O??r)-j-r-C}px`}),this.cTT=d,this.oldRotation=T,this.oldAlign=a}}setSpanRotation(_,b,T){pe(this.element,{transform:`rotate(${_}deg)`,transformOrigin:`${b}% ${T}px`})}add(_){let b,T=this.renderer.box.parentNode,z=[];if(this.parentGroup=_,_&&!(b=_.div)){let O=_;for(;O;)z.push(O),O=O.parentGroup;for(let f of z.reverse())b=L(f,T)}return(b||T).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(_){_!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,Z.setElementHTML(this.element,_??""),this.textStr=_,this.doTransform=!0)}alignSetter(_){this.alignValue=this.textAlign=_,this.doTransform=!0}xSetter(_,b){this[b]=_,this.doTransform=!0}}let I=D.prototype;return I.visibilitySetter=I.opacitySetter=F,I.ySetter=I.rotationSetter=I.rotationOriginXSetter=I.rotationOriginYSetter=I.xSetter,D}),Pe(V,"Core/Axis/AxisDefaults.js",[],function(){var Z,ie;return(ie=Z||(Z={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},ie.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:re}=this.axis.chart;return re(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},Z}),Pe(V,"Core/Foundation.js",[V["Core/Utilities.js"]],function(Z){var ie;let{addEvent:re,isFunction:ve,objectEach:le,removeEvent:fe}=Z;return(ie||(ie={})).registerEventOptions=function(pe,J){pe.eventOptions=pe.eventOptions||{},le(J.events,function(te,$){pe.eventOptions[$]!==te&&(pe.eventOptions[$]&&(fe(pe,$,pe.eventOptions[$]),delete pe.eventOptions[$]),ve(te)&&(pe.eventOptions[$]=te,re(pe,$,te,{order:0})))})},ie}),Pe(V,"Core/Axis/Tick.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{deg2rad:ve}=ie,{clamp:le,correctFloat:fe,defined:pe,destroyObjectProperties:J,extend:te,fireEvent:$,isNumber:A,merge:B,objectEach:F,pick:L}=re;return class{constructor(D,I,E,_,b){this.isNew=!0,this.isNewLabel=!0,this.axis=D,this.pos=I,this.type=E||"",this.parameters=b||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,$(this,"init"),E||_||this.addLabel()}addLabel(){let l,d,C,D=this,I=D.axis,E=I.options,_=I.chart,b=I.categories,T=I.logarithmic,z=I.names,O=D.pos,f=L(D.options&&D.options.labels,E.labels),a=I.tickPositions,g=O===a[0],y=O===a[a.length-1],o=(!f.step||1===f.step)&&1===I.tickInterval,n=a.info,r=D.label,k=this.parameters.category||(b?L(b[O],z[O],O):O);T&&A(k)&&(k=fe(T.lin2log(k))),I.dateTime&&(n?l=(d=_.time.resolveDTLFormat(E.dateTimeLabelFormats[!E.grid&&n.higherRanks[O]||n.unitName])).main:A(k)&&(l=I.dateTime.getXDateFormat(k,E.dateTimeLabelFormats||{}))),D.isFirst=g,D.isLast=y;let p={axis:I,chart:_,dateTimeLabelFormat:l,isFirst:g,isLast:y,pos:O,tick:D,tickPositionInfo:n,value:k};$(this,"labelFormat",p);let S=Y=>f.formatter?f.formatter.call(Y,Y):f.format?(Y.text=I.defaultLabelFormatter.call(Y),Z.format(f.format,Y,_)):I.defaultLabelFormatter.call(Y),j=S.call(p,p),H=d&&d.list;D.shortenLabel=H?function(){for(C=0;C0&&_+g*y>O&&(k=Math.round((b-_)/Math.cos(a*ve))):(d=_-g*y,C=_+(1-g)*y,dO&&(r=O-D.x+r*g,l=-1),(r=Math.min(o,r))r||I.autoRotation&&(f.styles||{}).width)&&(k=r)),k&&(this.shortenLabel?this.shortenLabel():(n.width=Math.floor(k)+"px",(E.style||{}).textOverflow||(n.textOverflow="ellipsis"),f.css(n)))}moveLabel(D,I){let z,E=this,_=E.label,b=E.axis,T=!1;_&&_.textStr===D?(E.movedLabel=_,T=!0,delete E.label):F(b.ticks,function(O){T||O.isNew||O===E||!O.label||O.label.textStr!==D||(E.movedLabel=O.label,T=!0,O.labelPos=E.movedLabel.xy,delete O.label)}),!T&&(E.labelPos||_)&&(z=E.labelPos||_.xy,E.movedLabel=E.createLabel(D,I,z),E.movedLabel&&E.movedLabel.attr({opacity:0}))}render(D,I,E){let _=this.axis,b=_.horiz,T=this.pos,z=L(this.tickmarkOffset,_.tickmarkOffset),O=this.getPosition(b,T,z,I),f=O.x,a=O.y,g=_.pos,y=g+_.len,o=b&&f===y||!b&&a===g?-1:1,n=b?f:a;!_.chart.polar&&this.isNew&&(fe(n)y)&&(E=0);let r=L(E,this.label&&this.label.newOpacity,1);E=L(E,1),this.isActive=!0,this.renderGridLine(I,E,o),this.renderMark(O,E,o),this.renderLabel(O,I,r,D),this.isNew=!1,$(this,"afterRender")}renderGridLine(D,I,E){let y,_=this.axis,b=_.options,T={},z=this.pos,O=this.type,f=L(this.tickmarkOffset,_.tickmarkOffset),a=_.chart.renderer,g=this.gridLine,o=b.gridLineWidth,n=b.gridLineColor,r=b.gridLineDashStyle;"minor"===this.type&&(o=b.minorGridLineWidth,n=b.minorGridLineColor,r=b.minorGridLineDashStyle),g||(_.chart.styledMode||(T.stroke=n,T["stroke-width"]=o||0,T.dashstyle=r),O||(T.zIndex=1),D&&(I=0),this.gridLine=g=a.path().attr(T).addClass("highcharts-"+(O?O+"-":"")+"grid-line").add(_.gridGroup)),g&&(y=_.getPlotLinePath({value:z+f,lineWidth:g.strokeWidth()*E,force:"pass",old:D,acrossPanes:!1}))&&g[D||this.isNew?"attr":"animate"]({d:y,opacity:I})}renderMark(D,I,E){let _=this.axis,b=_.options,T=_.chart.renderer,z=this.type,O=_.tickSize(z?z+"Tick":"tick"),f=D.x,a=D.y,g=L(b["minor"!==z?"tickWidth":"minorTickWidth"],!z&&_.isXAxis?1:0),y=b["minor"!==z?"tickColor":"minorTickColor"],o=this.mark,n=!o;O&&(_.opposite&&(O[0]=-O[0]),o||(this.mark=o=T.path().addClass("highcharts-"+(z?z+"-":"")+"tick").add(_.axisGroup),_.chart.styledMode||o.attr({stroke:y,"stroke-width":g})),o[n?"attr":"animate"]({d:this.getMarkPath(f,a,O[0],o.strokeWidth()*E,_.horiz,T),opacity:I}))}renderLabel(D,I,E,_){let b=this.axis,T=b.horiz,z=b.options,O=this.label,f=z.labels,a=f.step,g=L(this.tickmarkOffset,b.tickmarkOffset),y=D.x,o=D.y,n=!0;O&&A(y)&&(O.xy=D=this.getLabelPosition(y,o,O,T,f,g,_,a),this.isFirst&&!this.isLast&&!z.showFirstLabel||this.isLast&&!this.isFirst&&!z.showLastLabel?n=!1:!T||f.step||f.rotation||I||0===E||this.handleOverflow(D),a&&_%a&&(n=!1),n&&A(D.y)?(D.opacity=E,O[this.isNewLabel?"attr":"animate"](D).show(!0),this.isNewLabel=!1):(O.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let D=this.label,I=this.axis;D&&!this.isNew&&(D.animate({opacity:0},void 0,D.destroy),delete this.label),I.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),Pe(V,"Core/Axis/Axis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/AxisDefaults.js"],V["Core/Color/Color.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Axis/Tick.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe,pe,J){let{animObject:te}=Z,{xAxis:$,yAxis:A}=ie,{defaultOptions:B}=ve,{registerEventOptions:F}=le,{deg2rad:L}=fe,{arrayMax:D,arrayMin:I,clamp:E,correctFloat:_,defined:b,destroyObjectProperties:T,erase:z,error:O,extend:f,fireEvent:a,getClosestDistance:g,insertItem:y,isArray:o,isNumber:n,isString:r,merge:l,normalizeTickInterval:d,objectEach:C,pick:k,relativeLength:p,removeEvent:S,splat:j,syncTimeout:H}=J,Y=(se,w)=>d(w,void 0,void 0,k(se.options.allowDecimals,w<.5||void 0!==se.tickAmount),!!se.tickAmount);f(B,{xAxis:$,yAxis:l($,A)});class U{constructor(w,X,G){this.init(w,X,G)}init(w,X,G=this.coll){let x="xAxis"===G,N=this.isZAxis||(w.inverted?!x:x);this.chart=w,this.horiz=N,this.isXAxis=x,this.coll=G,a(this,"init",{userOptions:X}),this.opposite=k(X.opposite,this.opposite),this.side=k(X.side,this.side,N?this.opposite?0:2:this.opposite?1:3),this.setOptions(X);let R=this.options,K=R.labels,q=R.type;this.userOptions=X,this.minPixelPadding=0,this.reversed=k(R.reversed,this.reversed),this.visible=R.visible,this.zoomEnabled=R.zoomEnabled,this.hasNames="category"===q||!0===R.categories,this.categories=o(R.categories)&&R.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=b(R.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=R.minRange||R.maxZoom,this.range=R.range,this.offset=R.offset||0,this.max=void 0,this.min=void 0;let he=k(R.crosshair,j(w.options.tooltip.crosshairs)[x?0:1]);this.crosshair=!0===he?{}:he,-1===w.axes.indexOf(this)&&(x?w.axes.splice(w.xAxis.length,0,this):w.axes.push(this),y(this,w[this.coll])),w.orderItems(this.coll),this.series=this.series||[],w.inverted&&!this.isZAxis&&x&&!b(this.reversed)&&(this.reversed=!0),this.labelRotation=n(K.rotation)?K.rotation:void 0,F(this,R),a(this,"afterInit")}setOptions(w){this.options=l(this.horiz?{labels:{autoRotation:[-45]},margin:15}:{title:{rotation:90*this.side}},B[this.coll],w),a(this,"afterSetOptions",{userOptions:w})}defaultLabelFormatter(){let Se,Oe,w=this.axis,{numberFormatter:X}=this.chart,G=n(this.value)?this.value:NaN,x=w.chart.time,N=w.categories,R=this.dateTimeLabelFormat,K=B.lang,q=K.numericSymbols,he=K.numericSymbolMagnitude||1e3,me=w.logarithmic?Math.abs(G):w.tickInterval,Ce=q&&q.length;if(N)Oe=`${this.value}`;else if(R)Oe=x.dateFormat(R,G);else if(Ce&&q&&me>=1e3)for(;Ce--&&void 0===Oe;)me>=(Se=Math.pow(he,Ce+1))&&10*G%Se==0&&null!==q[Ce]&&0!==G&&(Oe=X(G/Se,-1)+q[Ce]);return void 0===Oe&&(Oe=Math.abs(G)>=1e4?X(G,-1):X(G,-1,void 0,"")),Oe}getSeriesExtremes(){let w,X=this;a(this,"getSeriesExtremes",null,function(){X.hasVisibleSeries=!1,X.dataMin=X.dataMax=X.threshold=void 0,X.softThreshold=!X.isXAxis,X.series.forEach(G=>{if(G.reserveSpace()){let N,K,q,x=G.options,R=x.threshold;if(X.hasVisibleSeries=!0,X.positiveValuesOnly&&0>=(R||0)&&(R=void 0),X.isXAxis)(N=G.xData)&&N.length&&(N=X.logarithmic?N.filter(he=>he>0):N,K=(w=G.getXExtremes(N)).min,q=w.max,n(K)||K instanceof Date||(N=N.filter(n),K=(w=G.getXExtremes(N)).min,q=w.max),N.length&&(X.dataMin=Math.min(k(X.dataMin,K),K),X.dataMax=Math.max(k(X.dataMax,q),q)));else{let he=G.applyExtremes();n(he.dataMin)&&(K=he.dataMin,X.dataMin=Math.min(k(X.dataMin,K),K)),n(he.dataMax)&&(q=he.dataMax,X.dataMax=Math.max(k(X.dataMax,q),q)),b(R)&&(X.threshold=R),(!x.softThreshold||X.positiveValuesOnly)&&(X.softThreshold=!1)}}})}),a(this,"afterGetSeriesExtremes")}translate(w,X,G,x,N,R){let K=this.linkedParent||this,q=x&&K.old?K.old.min:K.min;if(!n(q))return NaN;let he=K.minPixelPadding,me=(K.isOrdinal||K.brokenAxis?.hasBreaks||K.logarithmic&&N)&&K.lin2val,Ce=1,Se=0,Oe=x&&K.old?K.old.transA:K.transA,Ae=0;if(Oe||(Oe=K.transA),G&&(Ce*=-1,Se=K.len),K.reversed&&(Ce*=-1,Se-=Ce*(K.sector||K.len)),X)Ae=(w=w*Ce+Se-he)/Oe+q,me&&(Ae=K.lin2val(Ae));else{me&&(w=K.val2lin(w));let Fe=Ce*(w-q)*Oe;Ae=(K.isRadial?Fe:_(Fe))+Se+Ce*he+(n(R)?Oe*R:0)}return Ae}toPixels(w,X){return this.translate(w,!1,!this.horiz,void 0,!0)+(X?0:this.pos)}toValue(w,X){return this.translate(w-(X?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(w){let Ae,Fe,oe,ee,de,X=this,G=X.chart,x=X.left,N=X.top,R=w.old,K=w.value,q=w.lineWidth,he=R&&G.oldChartHeight||G.chartHeight,me=R&&G.oldChartWidth||G.chartWidth,Ce=X.transB,Se=w.translatedValue,Oe=w.force;function ye(_e,Me,Ee){return"pass"!==Oe&&(_eEe)&&(Oe?_e=E(_e,Me,Ee):de=!0),_e}let Te={value:K,lineWidth:q,old:R,force:Oe,acrossPanes:w.acrossPanes,translatedValue:Se};return a(this,"getPlotLinePath",Te,function(_e){Ae=oe=Math.round((Se=E(Se=k(Se,X.translate(K,void 0,void 0,R)),-1e5,1e5))+Ce),Fe=ee=Math.round(he-Se-Ce),n(Se)?X.horiz?(Fe=N,ee=he-X.bottom+(G.scrollablePixelsY||0),Ae=oe=ye(Ae,x,x+X.width)):(Ae=x,oe=me-X.right+(G.scrollablePixelsX||0),Fe=ee=ye(Fe,N,N+X.height)):(de=!0,Oe=!1),_e.path=de&&!Oe?void 0:G.renderer.crispLine([["M",Ae,Fe],["L",oe,ee]],q||1)}),Te.path}getLinearTickPositions(w,X,G){let x,N,R,K=_(Math.floor(X/w)*w),q=_(Math.ceil(G/w)*w),he=[];if(_(K+w)===K&&(R=20),this.single)return[X];for(x=K;x<=q&&(he.push(x),(x=_(x+w,R))!==N);)N=x;return he}getMinorTickInterval(){let{minorTicks:w,minorTickInterval:X}=this.options;return!0===w?k(X,"auto"):!1!==w?X:void 0}getMinorTickPositions(){let he,w=this.options,X=this.tickPositions,G=this.minorTickInterval,x=this.pointRangePadding||0,N=(this.min||0)-x,R=(this.max||0)+x,K=R-N,q=[];if(K&&K/G(me.xIncrement?me.xData?.slice(0,2):me.xData)||[]))||0),this.dataMax-this.dataMin)),n(G)&&n(x)&&n(N)&&G-x=N,R=(N-G+x)/2,q=[x-R,k(w.min,x-R)],K&&(q[2]=X?X.log2lin(this.dataMin):this.dataMin),he=[(x=D(q))+N,k(w.max,x+N)],K&&(he[2]=X?X.log2lin(this.dataMax):this.dataMax),(G=I(he))-xx-N),w=g([G]))}return w&&X?Math.min(w,X):w||X}nameToX(w){let N,X=o(this.options.categories),G=X?this.categories:this.names,x=w.options.x;return w.series.requireSorting=!1,b(x)||(x=this.options.uniqueNames&&G?X?G.indexOf(w.name):k(G.keys[w.name],-1):w.series.autoIncrement()),-1===x?!X&&G&&(N=G.length):N=x,void 0!==N?(this.names[N]=w.name,this.names.keys[w.name]=N):w.x&&(N=w.x),N}updateNames(){let w=this,X=this.names;X.length>0&&(Object.keys(X.keys).forEach(function(G){delete X.keys[G]}),X.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(G=>{G.xIncrement=null,(!G.points||G.isDirtyData)&&(w.max=Math.max(w.max,G.xData.length-1),G.processData(),G.generatePoints()),G.data.forEach(function(x,N){let R;x?.options&&void 0!==x.name&&void 0!==(R=w.nameToX(x))&&R!==x.x&&(x.x=R,G.xData[N]=R)})}))}setAxisTranslation(){let K,me,w=this,X=w.max-w.min,G=w.linkedParent,x=!!w.categories,N=w.isXAxis,R=w.axisPointRange||0,q=0,he=0,Ce=w.transA;(N||x||R)&&(K=w.getClosest(),G?(q=G.minPointOffset,he=G.pointRangePadding):w.series.forEach(function(Se){let Oe=x?1:N?k(Se.options.pointRange,K,0):w.axisPointRange||0,Ae=Se.options.pointPlacement;if(R=Math.max(R,Oe),!w.single||x){let Fe=Se.is("xrange")?!N:N;q=Math.max(q,Fe&&r(Ae)?0:Oe/2),he=Math.max(he,Fe&&"on"===Ae?0:Oe)}}),me=w.ordinal&&w.ordinal.slope&&K?w.ordinal.slope/K:1,w.minPointOffset=q*=me,w.pointRangePadding=he*=me,w.pointRange=Math.min(R,w.single&&x?1:X),N&&K&&(w.closestPointRange=K)),w.translationSlope=w.transA=Ce=w.staticScale||w.len/(X+he||1),w.transB=w.horiz?w.left:w.bottom,w.minPixelPadding=Ce*q,a(this,"afterSetAxisTranslation")}minFromRange(){let{max:w,min:X}=this;return n(w)&&n(X)&&w-X||void 0}setTickInterval(w){let Ee,Ze,lt,Qe,st,{categories:X,chart:G,dataMax:x,dataMin:N,dateTime:R,isXAxis:K,logarithmic:q,options:he,softThreshold:me}=this,Ce=n(this.threshold)?this.threshold:void 0,Se=this.minRange||0,{ceiling:Oe,floor:Ae,linkedTo:Fe,softMax:oe,softMin:ee}=he,de=n(Fe)&&G[this.coll]?.[Fe],ye=he.tickPixelInterval,Te=he.maxPadding,_e=he.minPadding,Me=0,Xe=n(he.tickInterval)&&he.tickInterval>=0?he.tickInterval:void 0;if(R||X||de||this.getTickAmount(),Qe=k(this.userMin,he.min),st=k(this.userMax,he.max),de?(this.linkedParent=de,Ee=de.getExtremes(),this.min=k(Ee.min,Ee.dataMin),this.max=k(Ee.max,Ee.dataMax),he.type!==de.options.type&&O(11,!0,G)):(me&&b(Ce)&&n(x)&&n(N)&&(N>=Ce?(Ze=Ce,_e=0):x<=Ce&&(lt=Ce,Te=0)),this.min=k(Qe,Ze,N),this.max=k(st,lt,x)),n(this.max)&&n(this.min)&&(q&&(this.positiveValuesOnly&&!w&&0>=Math.min(this.min,k(N,this.min))&&O(10,!0,G),this.min=_(q.log2lin(this.min),16),this.max=_(q.log2lin(this.max),16)),this.range&&n(N)&&(this.userMin=this.min=Qe=Math.max(N,this.minFromRange()||0),this.userMax=st=this.max,this.range=void 0)),a(this,"foundExtremes"),this.adjustForMinRange(),n(this.min)&&n(this.max)){if(!n(this.userMin)&&n(ee)&&eethis.max&&(this.max=st=oe),X||this.axisPointRange||this.stacking?.usePercentage||de||!(Me=this.max-this.min)||(!b(Qe)&&_e&&(this.min-=Me*_e),b(st)||!Te||(this.max+=Me*Te)),!n(this.userMin)&&n(Ae)&&(this.min=Math.max(this.min,Ae)),!n(this.userMax)&&n(Oe)&&(this.max=Math.min(this.max,Oe)),me&&n(N)&&n(x)){let pt=Ce||0;!b(Qe)&&this.min=pt?this.min=he.minRange?Math.min(pt,this.max-Se):pt:!b(st)&&this.max>pt&&x<=pt&&(this.max=he.minRange?Math.max(pt,this.min+Se):pt)}!G.polar&&this.min>this.max&&(b(he.min)?this.max=this.min:b(he.max)&&(this.min=this.max)),Me=this.max-this.min}if(this.tickInterval=this.min!==this.max&&n(this.min)&&n(this.max)?de&&!Xe&&ye===de.options.tickPixelInterval?Xe=de.tickInterval:k(Xe,this.tickAmount?Me/Math.max(this.tickAmount-1,1):void 0,X?1:Me*ye/Math.max(this.len,ye)):1,K&&!w){let pt=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(ht){ht.forceCrop=ht.forceCropping?.(),ht.processData(pt)}),a(this,"postProcessData",{hasExtremesChanged:pt})}this.setAxisTranslation(),a(this,"initialAxisTranslation"),this.pointRange&&!Xe&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let kt=k(he.minTickInterval,R&&!this.series.some(pt=>pt.noSharedTooltip)?this.closestPointRange:0);!Xe&&this.tickIntervalMath.max(2*this.len,200))q=[this.min,this.max],O(19,!1,this.chart);else if(this.dateTime)q=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,w.units),this.min,this.max,w.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)q=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let me=this.tickInterval,Ce=me;for(;Ce<=2*me&&(q=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&q.length>this.tickAmount);)this.tickInterval=Y(this,Ce*=1.1)}q.length>this.len&&(q=[q[0],q[q.length-1]])[0]===q[1]&&(q.length=1),G&&(this.tickPositions=q,(he=G.apply(this,[this.min,this.max]))&&(q=he))}this.tickPositions=q,this.paddedTicks=q.slice(0),this.trimTicks(q,R,K),!this.isLinked&&n(this.min)&&n(this.max)&&(this.single&&q.length<2&&!this.categories&&!this.series.some(me=>me.is("heatmap")&&"between"===me.options.pointPlacement)&&(this.min-=.5,this.max+=.5),X||he||this.adjustTickAmount()),a(this,"afterSetTickPositions")}trimTicks(w,X,G){let x=w[0],N=w[w.length-1],R=!this.isOrdinal&&this.minPointOffset||0;if(a(this,"trimTicks"),!this.isLinked){if(X&&x!==-1/0)this.min=x;else for(;this.min-R>w[0];)w.shift();if(G)this.max=N;else for(;this.max+R{let{horiz:Se,options:Oe}=Ce;return[Se?Oe.left:Oe.top,Oe.width,Oe.height,Oe.pane].join(",")},me=he(this);G[this.coll].forEach(function(Ce){let{series:Se}=Ce;Se.length&&Se.some(Oe=>Oe.visible)&&Ce!==X&&he(Ce)===me&&(w=!0,x.push(Ce))})}if(w&&K){x.forEach(me=>{let Ce=me.getThresholdAlignment(X);n(Ce)&&q.push(Ce)});let he=q.length>1?q.reduce((me,Ce)=>me+Ce,0)/q.length:void 0;x.forEach(me=>{me.thresholdAlignment=he})}return w}getThresholdAlignment(w){if((!n(this.dataMin)||this!==w&&this.series.some(X=>X.isDirty||X.isDirtyData))&&this.getSeriesExtremes(),n(this.threshold)){let X=E((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(X=1-X),X}}getTickAmount(){let w=this.options,X=w.tickPixelInterval,G=w.tickAmount;b(w.tickInterval)||G||!(this.lenR.push(_(R[R.length-1]+Oe)),oe=()=>R.unshift(_(R[0]-Oe));if(n(q)&&(Ae=q<.5?Math.ceil(q*(K-1)):Math.floor(q*(K-1)),N.reversed&&(Ae=K-1-Ae)),w.hasData()&&n(x)&&n(G)){let ee=()=>{w.transA*=(he-1)/(K-1),w.min=N.startOnTick?R[0]:Math.min(x,R[0]),w.max=N.endOnTick?R[R.length-1]:Math.max(G,R[R.length-1])};if(n(Ae)&&n(w.threshold)){for(;R[Ae]!==me||R.length!==K||R[0]>x||R[R.length-1]w.threshold?oe():Fe();if(Oe>8*w.tickInterval)break;Oe*=2}ee()}else if(he0&&Se{G=G||R.isDirtyData||R.isDirty,x=x||R.xAxis&&R.xAxis.isDirty||!1}),this.setAxisSize();let N=this.len!==(this.old&&this.old.len);N||G||x||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(X&&"yAxis"===w&&X.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),X&&"xAxis"===w&&X.buildStacks(),this.isDirty||(this.isDirty=N||this.min!==this.old?.min||this.max!==this.old?.max)):X&&X.cleanStacks(),G&&delete this.allExtremes,a(this,"afterSetScale")}setExtremes(w,X,G=!0,x,N){this.series.forEach(R=>{delete R.kdTree}),a(this,"setExtremes",N=f(N,{min:w,max:X}),R=>{this.userMin=R.min,this.userMax=R.max,this.eventArgs=R,G&&this.chart.redraw(x)})}setAxisSize(){let w=this.chart,X=this.options,G=X.offsets||[0,0,0,0],x=this.horiz,N=this.width=Math.round(p(k(X.width,w.plotWidth-G[3]+G[1]),w.plotWidth)),R=this.height=Math.round(p(k(X.height,w.plotHeight-G[0]+G[2]),w.plotHeight)),K=this.top=Math.round(p(k(X.top,w.plotTop+G[0]),w.plotHeight,w.plotTop)),q=this.left=Math.round(p(k(X.left,w.plotLeft+G[3]),w.plotWidth,w.plotLeft));this.bottom=w.chartHeight-R-K,this.right=w.chartWidth-N-q,this.len=Math.max(x?N:R,0),this.pos=x?q:K}getExtremes(){let w=this.logarithmic;return{min:w?_(w.lin2log(this.min)):this.min,max:w?_(w.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(w){let X=this.logarithmic,G=X?X.lin2log(this.min):this.min,x=X?X.lin2log(this.max):this.max;return null===w||w===-1/0?w=G:w===1/0?w=x:G>w?w=G:x15&&X<165?x.align="right":X>195&&X<345&&(x.align="left")}),G.align}tickSize(w){let N,X=this.options,G=k(X["tick"===w?"tickWidth":"minorTickWidth"],"tick"===w&&this.isXAxis&&!this.categories?1:0),x=X["tick"===w?"tickLength":"minorTickLength"];G&&x&&("inside"===X[w+"Position"]&&(x=-x),N=[x,G]);let R={tickSize:N};return a(this,"afterTickSize",R),R.tickSize}labelMetrics(){let w=this.chart.renderer,X=this.ticks,G=X[Object.keys(X)[0]]||{};return this.chart.renderer.fontMetrics(G.label||G.movedLabel||w.box)}unsquish(){let me,Se,w=this.options.labels,X=this.horiz,G=this.tickInterval,x=this.len/(((this.categories?1:0)+this.max-this.min)/G),N=w.rotation,R=this.labelMetrics().h,K=Math.max(this.max-this.min,0),q=function(Oe){let Ae=Oe/(x||1);return(Ae=Ae>1?Math.ceil(Ae):1)*G>K&&Oe!==1/0&&x!==1/0&&K&&(Ae=Math.ceil(K/G)),_(Ae*G)},he=G,Ce=Number.MAX_VALUE;if(X){if(!w.staggerLines&&(n(N)?Se=[N]:x=-90&&Fe<=90)&&(Ae=(Oe=q(Math.abs(R/Math.sin(L*Fe))))+Math.abs(Fe/360))Fe&&(Fe=ye.label.textPxLength)}),this.maxLabelLength=Fe,this.autoRotation)Fe>he&&Fe>Ce.h?me.rotation=this.labelRotation:this.labelRotation=0;else if(q&&(Oe=he,!Se))for(Ae="clip",ee=G.length;!K&&ee--;)(oe=x[G[ee]].label)&&("ellipsis"===oe.styles.textOverflow?oe.css({textOverflow:"clip"}):oe.textPxLength>q&&oe.css({width:q+"px"}),oe.getBBox().height>this.len/G.length-(Ce.h-Ce.f)&&(oe.specificTextOverflow="ellipsis"));me.rotation&&(Oe=Fe>.5*w.chartHeight?.33*w.chartHeight:Fe,Se||(Ae="ellipsis")),this.labelAlign=N.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(me.align=this.labelAlign),G.forEach(function(de){let ye=x[de],Te=ye&&ye.label,_e=R.width,Me={};Te&&(Te.attr(me),ye.shortenLabel?ye.shortenLabel():Oe&&!_e&&"nowrap"!==R.whiteSpace&&(OeN.g(K).attr({zIndex:he}).addClass(`highcharts-${G.toLowerCase()}${q} `+(this.isRadial?`highcharts-radial-axis${q} `:"")+(x.className||"")).add(w);this.axisGroup||(this.gridGroup=R("grid","-grid",x.gridZIndex),this.axisGroup=R("axis","",x.zIndex),this.labelGroup=R("axis-labels","-labels",x.labels.zIndex))}getOffset(){let ee,ye,Me,Ee,w=this,{chart:X,horiz:G,options:x,side:N,ticks:R,tickPositions:K,coll:q}=w,he=X.inverted&&!w.isZAxis?[1,0,3,2][N]:N,me=w.hasData(),Ce=x.title,Se=x.labels,Oe=n(x.crossing),Ae=X.axisOffset,Fe=X.clipOffset,oe=[-1,1,1,-1][N],de=0,Te=0,_e=0;if(w.showAxis=ee=me||x.showEmpty,w.staggerLines=w.horiz&&Se.staggerLines||void 0,w.createGroups(),me||w.isLinked?(K.forEach(function(Xe){w.generateTick(Xe)}),w.renderUnsquish(),w.reserveSpaceDefault=0===N||2===N||{1:"left",3:"right"}[N]===w.labelAlign,k(Se.reserveSpace,!Oe&&null,"center"===w.labelAlign||null,w.reserveSpaceDefault)&&K.forEach(function(Xe){_e=Math.max(R[Xe].getLabelSize(),_e)}),w.staggerLines&&(_e*=w.staggerLines),w.labelOffset=_e*(w.opposite?-1:1)):C(R,function(Xe,Ze){Xe.destroy(),delete R[Ze]}),Ce?.text&&!1!==Ce.enabled&&(w.addTitle(ee),ee&&!Oe&&!1!==Ce.reserveSpace&&(w.titleOffset=de=w.axisTitle.getBBox()[G?"height":"width"],Te=b(ye=Ce.offset)?0:k(Ce.margin,G?5:10))),w.renderLine(),w.offset=oe*k(x.offset,Ae[N]?Ae[N]+(x.margin||0):0),w.tickRotCorr=w.tickRotCorr||{x:0,y:0},Ee=0===N?-w.labelMetrics().h:2===N?w.tickRotCorr.y:0,Me=Math.abs(_e)+Te,_e&&(Me-=Ee,Me+=oe*(G?k(Se.y,w.tickRotCorr.y+oe*Se.distance):k(Se.x,oe*Se.distance))),w.axisTitleMargin=k(ye,Me),w.getMaxLabelDimensions&&(w.maxLabelDimensions=w.getMaxLabelDimensions(R,K)),"colorAxis"!==q){let Xe=this.tickSize("tick");Ae[N]=Math.max(Ae[N],(w.axisTitleMargin||0)+de+oe*w.offset,Me,K&&K.length&&Xe?Xe[0]+oe*w.offset:0);let Ze=!w.axisLine||x.offset?0:2*Math.floor(w.axisLine.strokeWidth()/2);Fe[he]=Math.max(Fe[he],Ze)}a(this,"afterGetOffset")}getLinePath(w){let X=this.chart,G=this.opposite,x=this.offset,N=this.horiz,R=this.left+(G?this.width:0)+x,K=X.chartHeight-this.bottom-(G?this.height:0)+x;return G&&(w*=-1),X.renderer.crispLine([["M",N?this.left:R,N?K:this.top],["L",N?X.chartWidth-this.right:R,N?K:X.chartHeight-this.bottom]],w)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(w){let X=this.horiz,G=this.left,x=this.top,N=this.len,R=this.options.title,K=X?G:x,q=this.opposite,he=this.offset,me=R.x,Ce=R.y,Se=this.chart.renderer.fontMetrics(w),Oe=w?Math.max(w.getBBox(!1,0).height-Se.h-1,0):0,Ae={low:K+(X?0:N),middle:K+N/2,high:K+(X?N:0)}[R.align],Fe=(X?x+this.height:G)+(X?1:-1)*(q?-1:1)*(this.axisTitleMargin||0)+[-Oe,Oe,Se.f,-Oe][this.side],oe={x:X?Ae+me:Fe+(q?this.width:0)+he+me,y:X?Fe+Ce-(q?this.height:0)+he:Ae+Ce};return a(this,"afterGetTitlePosition",{titlePosition:oe}),oe}renderMinorTick(w,X){let G=this.minorTicks;G[w]||(G[w]=new pe(this,w,"minor")),X&&G[w].isNew&&G[w].render(null,!0),G[w].render(null,!1,1)}renderTick(w,X,G){let N=this.ticks;(!this.isLinked||w>=this.min&&w<=this.max||this.grid&&this.grid.isColumn)&&(N[w]||(N[w]=new pe(this,w)),G&&N[w].isNew&&N[w].render(X,!0,-1),N[w].render(X))}render(){let w,X,G=this,x=G.chart,N=G.logarithmic,K=G.options,q=G.isLinked,he=G.tickPositions,me=G.axisTitle,Ce=G.ticks,Se=G.minorTicks,Oe=G.alternateBands,Ae=K.stackLabels,Fe=K.alternateGridColor,oe=K.crossing,ee=G.tickmarkOffset,de=G.axisLine,ye=G.showAxis,Te=te(x.renderer.globalAnimation);if(G.labelEdge.length=0,G.overlap=!1,[Ce,Se,Oe].forEach(function(_e){C(_e,function(Me){Me.isActive=!1})}),n(oe)){let _e=this.isXAxis?x.yAxis[0]:x.xAxis[0],Me=[1,-1,-1,1][this.side];if(_e){let Ee=_e.toPixels(oe,!0);G.horiz&&(Ee=_e.len-Ee),G.offset=Me*Ee}}if(G.hasData()||q){let _e=G.chart.hasRendered&&G.old&&n(G.old.min);G.minorTickInterval&&!G.categories&&G.getMinorTickPositions().forEach(function(Me){G.renderMinorTick(Me,_e)}),he.length&&(he.forEach(function(Me,Ee){G.renderTick(Me,Ee,_e)}),ee&&(0===G.min||G.single)&&(Ce[-1]||(Ce[-1]=new pe(G,-1,null,!0)),Ce[-1].render(-1))),Fe&&he.forEach(function(Me,Ee){X=void 0!==he[Ee+1]?he[Ee+1]+ee:G.max-ee,Ee%2==0&&Me=.5)A=Math.round(A),_=D.getLinearTickPositions(A,B,F);else if(A>=.08){let b,T,z,O,f,a,g;for(b=A>.3?[1,2,4]:A>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],T=Math.floor(B);TB&&(!L||a<=F)&&void 0!==a&&_.push(a),a>F&&(g=!0),a=f}else{let b=this.lin2log(B),T=this.lin2log(F),z=L?D.getMinorTickInterval():E.tickInterval;A=ve(A=le("auto"===z?null:z,this.minorAutoInterval,E.tickPixelInterval/(L?5:1)*(T-b)/((L?I/D.tickPositions.length:I)||1))),_=D.getLinearTickPositions(A,b,T).map(this.log2lin),L||(this.minorAutoInterval=A/5)}return L||(D.tickInterval=A),_}lin2log(A){return Math.pow(10,A)}log2lin(A){return Math.log(A)/Math.LN10}}fe.Additions=te}(ie||(ie={})),ie}),Pe(V,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[V["Core/Utilities.js"]],function(Z){var ie;let{erase:re,extend:ve,isNumber:le}=Z;return function(fe){let pe;function J(D){return this.addPlotBandOrLine(D,"plotBands")}function te(D,I){let E=this.userOptions,_=new pe(this,D);if(this.visible&&(_=_.render()),_){if(this._addedPlotLB||(this._addedPlotLB=!0,(E.plotLines||[]).concat(E.plotBands||[]).forEach(b=>{this.addPlotBandOrLine(b)})),I){let b=E[I]||[];b.push(D),E[I]=b}this.plotLinesAndBands.push(_)}return _}function $(D){return this.addPlotBandOrLine(D,"plotLines")}function A(D,I,E){let f,g,_=this.getPlotLinePath({value:I,force:!0,acrossPanes:(E=E||this.options).acrossPanes}),b=[],T=this.horiz,z=!le(this.min)||!le(this.max)||Dthis.max&&I>this.max,O=this.getPlotLinePath({value:D,force:!0,acrossPanes:E.acrossPanes}),a=1;if(O&&_)for(z&&(g=O.toString()===_.toString(),a=0),f=0;f{r?.on(Y,U=>{b[Y].apply(this,[U])})}),this.eventsAdded=!0),!p&&r.d||!l?.length?r&&(l?(r.show(),r.animate({d:l})):r.d&&(r.hide(),n&&(this.label=n=n.destroy()))):r.attr({d:l}),o&&(le(o.text)||le(o.formatter))&&l?.length&&L.width>0&&L.height>0&&!l.isFlat?(o=te({align:I&&C&&"center",x:I?!C&&4:10,verticalAlign:!I&&C&&"middle",y:I?C?16:10:C?6:-4,rotation:I&&!C&&90},o),this.renderLabel(o,l,C,T)):n&&n.hide(),this}renderLabel(L,D,I,E){let _=this.axis,T=this.label;T||(this.label=T=_.chart.renderer.text(this.getLabelText(L),0,0,L.useHTML).attr({align:L.textAlign||L.align,rotation:L.rotation,class:"highcharts-plot-"+(I?"band":"line")+"-label"+(L.className||""),zIndex:E}),_.chart.styledMode||T.css(te({fontSize:"0.8em",textOverflow:"ellipsis"},L.style)),T.add());let z=D.xBounds||[D[0][1],D[1][1],I?D[2][1]:D[0][1]],O=D.yBounds||[D[0][2],D[1][2],I?D[2][2]:D[0][2]],f=ve(z),a=ve(O);T.align(L,!1,{x:f,y:a,width:re(z)-f,height:re(O)-a}),T.alignValue&&"left"!==T.alignValue||T.css({width:(90===T.rotation?_.height-(T.alignAttr.y-_.top):(L.clip?_.width:_.chart.chartWidth)-(T.alignAttr.x-_.left))+"px"}),T.show(!0)}getLabelText(L){return le(L.formatter)?L.formatter.call(this):L.text}destroy(){pe(this.axis.plotLinesAndBands,this),delete this.axis,fe(this)}}return B}),Pe(V,"Core/Tooltip.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le){var fe;let{format:pe}=Z,{composed:J,doc:te,isSafari:$}=ie,{distribute:A}=re,{addEvent:B,clamp:F,css:L,discardElement:D,extend:I,fireEvent:E,isArray:_,isNumber:b,isString:T,merge:z,pick:O,pushUnique:f,splat:a,syncTimeout:g}=le;class y{constructor(n,r,l){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=n,this.init(n,r),this.pointer=l}bodyFormatter(n){return n.map(function(r){let l=r.series.tooltipOptions;return(l[(r.point.formatPrefix||"point")+"Formatter"]||r.point.tooltipFormatter).call(r.point,l[(r.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(n){this.chart.series.forEach(function(r){let l=r&&r.tt;l&&(!l.isActive||n?r.tt=l.destroy():l.isActive=!1)})}defaultFormatter(n){let r,l=this.points||a(this);return(r=(r=[n.tooltipFooterHeaderFormatter(l[0])]).concat(n.bodyFormatter(l))).push(n.tooltipFooterHeaderFormatter(l[0],!0)),r}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),D(this.container)),le.clearTimeout(this.hideTimer),le.clearTimeout(this.tooltipTimeout)}getAnchor(n,r){let l,{chart:d,pointer:C}=this,k=d.inverted,p=d.plotTop,S=d.plotLeft;if((n=a(n))[0].series&&n[0].series.yAxis&&!n[0].series.yAxis.options.reversedStacks&&(n=n.slice().reverse()),this.followPointer&&r)void 0===r.chartX&&(r=C.normalize(r)),l=[r.chartX-S,r.chartY-p];else if(n[0].tooltipPos)l=n[0].tooltipPos;else{let j=0,H=0;n.forEach(function(Y){let U=Y.pos(!0);U&&(j+=U[0],H+=U[1])}),j/=n.length,H/=n.length,this.shared&&n.length>1&&r&&(k?j=r.chartX:H=r.chartY),l=[j-S,H-p]}return l.map(Math.round)}getClassName(n,r,l){let C=n.series,k=C.options;return[this.options.className,"highcharts-label",l&&"highcharts-tooltip-header",r?"highcharts-tooltip-box":"highcharts-tooltip",!l&&"highcharts-color-"+O(n.colorIndex,C.colorIndex),k&&k.className].filter(T).join(" ")}getLabel(){let n=this,r=this.chart.styledMode,l=this.options,d=this.split&&this.allowShared,C=this.container,k=this.chart.renderer;if(this.label){let p=!this.label.hasClass("highcharts-label");(!d&&p||d&&!p)&&this.destroy()}if(!this.label){if(this.outside){let p=this.chart.options.chart.style,S=ve.getRendererType();this.container=C=ie.doc.createElement("div"),C.className="highcharts-tooltip-container",L(C,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(p&&p.zIndex||0)+3)}),this.renderer=k=new S(C,0,0,p,void 0,void 0,k.styledMode)}if(d?this.label=k.g("tooltip"):(this.label=k.label("",0,0,l.shape,void 0,void 0,l.useHTML,void 0,"tooltip").attr({padding:l.padding,r:l.borderRadius}),r||this.label.attr({fill:l.backgroundColor,"stroke-width":l.borderWidth||0}).css(l.style).css({pointerEvents:l.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),n.outside){let p=this.label,{xSetter:S,ySetter:j}=p;p.xSetter=function(H){S.call(p,n.distance),C&&(C.style.left=H+"px")},p.ySetter=function(H){j.call(p,n.distance),C&&(C.style.top=H+"px")}}this.label.attr({zIndex:8}).shadow(l.shadow).add()}return C&&!C.parentElement&&ie.doc.body.appendChild(C),this.label}getPlayingField(){let{body:n,documentElement:r}=te,{chart:l,distance:d,outside:C}=this;return{width:C?Math.max(n.scrollWidth,r.scrollWidth,n.offsetWidth,r.offsetWidth,r.clientWidth)-2*d:l.chartWidth,height:C?Math.max(n.scrollHeight,r.scrollHeight,n.offsetHeight,r.offsetHeight,r.clientHeight):l.chartHeight}}getPosition(n,r,l){let Ce,{distance:d,chart:C,outside:k,pointer:p}=this,{inverted:S,plotLeft:j,plotTop:H,polar:Y}=C,{plotX:U=0,plotY:se=0}=l,w={},X=S&&l.h||0,{height:G,width:x}=this.getPlayingField(),N=p.getChartPosition(),R=de=>de*N.scaleX,K=de=>de*N.scaleY,q=de=>{let ye="x"===de;return[de,ye?x:G,ye?n:r].concat(k?[ye?R(n):K(r),ye?N.left-d+R(U+j):N.top-d+K(se+H),0,ye?x:G]:[ye?n:r,ye?U+j:se+H,ye?j:H,ye?j+C.plotWidth:H+C.plotHeight])},he=q("y"),me=q("x"),Se=!!l.negative;!Y&&C.hoverSeries?.yAxis?.reversed&&(Se=!Se);let Oe=!this.followPointer&&O(l.ttBelow,!Y&&!S===Se),Ae=function(de,ye,Te,_e,Me,Ee,Xe){let Ze=k?"y"===de?K(d):R(d):d,lt=(Te-_e)/2,Qe=_eye?pt:pt+X)}},Fe=function(de,ye,Te,_e,Me){if(Meye-d)return!1;w[de]=Meye-_e/2?ye-_e-2:Me-Te/2},oe=function(de){[he,me]=[me,he],Ce=de},ee=()=>{!1!==Ae.apply(0,he)?!1!==Fe.apply(0,me)||Ce||(oe(!0),ee()):Ce?w.x=w.y=0:(oe(!0),ee())};return(S&&!Y||this.len>1)&&oe(),ee(),w}hide(n){let r=this;le.clearTimeout(this.hideTimer),n=O(n,this.options.hideDelay),this.isHidden||(this.hideTimer=g(function(){let l=r.getLabel();r.getLabel().animate({opacity:0},{duration:n&&150,complete:()=>{l.hide(),r.container&&r.container.remove()}}),r.isHidden=!0},n))}init(n,r){this.chart=n,this.options=r,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=r.split&&!n.inverted&&!n.polar,this.shared=r.shared||this.split,this.outside=O(r.outside,!(!n.scrollablePixelsX&&!n.scrollablePixelsY))}shouldStickOnContact(n){return!(this.followPointer||!this.options.stickOnContact||n&&!this.pointer.inClass(n.target,"highcharts-tooltip"))}move(n,r,l,d){let C=this,k=C.now,p=!1!==C.options.animation&&!C.isHidden&&(Math.abs(n-k.x)>1||Math.abs(r-k.y)>1),S=C.followPointer||C.len>1;I(k,{x:p?(2*k.x+n)/3:n,y:p?(k.y+r)/2:r,anchorX:S?void 0:p?(2*k.anchorX+l)/3:l,anchorY:S?void 0:p?(k.anchorY+d)/2:d}),C.getLabel().attr(k),C.drawTracker(),p&&(le.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){C&&C.move(n,r,l,d)},32))}refresh(n,r){let{chart:l,options:d,pointer:C,shared:k}=this,p=a(n),S=p[0],j=[],H=d.format,Y=d.formatter||this.defaultFormatter,U=l.styledMode,se={};if(!d.enabled||!S.series)return;le.clearTimeout(this.hideTimer),this.allowShared=!(!_(n)&&n.series&&n.series.noSharedTooltip),this.followPointer=!this.split&&S.series.tooltipOptions.followPointer;let w=this.getAnchor(n,r),X=w[0],G=w[1];k&&this.allowShared?(C.applyInactiveState(p),p.forEach(function(R){R.setState("hover"),j.push(R.getLabelConfig())}),(se=S.getLabelConfig()).points=j):se=S.getLabelConfig(),this.len=j.length;let x=T(H)?pe(H,se,l):Y.call(se,this),N=S.series;if(this.distance=O(N.tooltipOptions.distance,16),!1===x)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(x,p);else{let R=X,K=G;if(r&&C.isDirectTouch&&(R=r.chartX-l.plotLeft,K=r.chartY-l.plotTop),!l.polar&&!1!==N.options.clip&&!p.some(q=>C.isDirectTouch||q.series.shouldShowTooltip(R,K)))return void this.hide();{let q=this.getLabel();(!d.style.width||U)&&q.css({width:(this.outside?this.getPlayingField():l.spacingBox).width+"px"}),q.attr({text:x&&x.join?x.join(""):x}),q.addClass(this.getClassName(S),!0),U||q.attr({stroke:d.borderColor||S.color||N.color||"#666666"}),this.updatePosition({plotX:X,plotY:G,negative:S.negative,ttBelow:S.ttBelow,h:w[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}E(this,"refresh")}renderSplit(n,r){let l=this,{chart:d,chart:{chartWidth:C,chartHeight:k,plotHeight:p,plotLeft:S,plotTop:j,scrollablePixelsY:H=0,scrollablePixelsX:Y,styledMode:U},distance:se,options:w,options:{positioner:X},pointer:G}=l,{scrollLeft:x=0,scrollTop:N=0}=d.scrollablePlotArea?.scrollingContainer||{},R=l.outside&&"number"!=typeof Y?te.documentElement.getBoundingClientRect():{left:x,right:x+C,top:N,bottom:N+k},K=l.getLabel(),q=this.renderer||d.renderer,he=!(!d.xAxis[0]||!d.xAxis[0].opposite),{left:me,top:Ce}=G.getChartPosition(),Se=j+N,Oe=0,Ae=p-H;function Fe(_e,Me,Ee,Xe,Ze=!0){let lt,Qe;return Ee?(lt=he?0:Ae,Qe=F(_e-Xe/2,R.left,R.right-Xe-(l.outside?me:0))):(lt=Me-Se,Qe=F(Qe=Ze?_e-Xe-se:_e+se,Ze?Qe:R.left,R.right)),{x:Qe,y:lt}}T(n)&&(n=[!1,n]);let oe=n.slice(0,r.length+1).reduce(function(_e,Me,Ee){if(!1!==Me&&""!==Me){let Xe=r[Ee-1]||{isHeader:!0,plotX:r[0].plotX,plotY:p,series:{}},Ze=Xe.isHeader,lt=Ze?l:Xe.series,Qe=lt.tt=function(Lt,Gt,ti){let Dt=Lt,{isHeader:At,series:_t}=Gt;if(!Dt){let wt={padding:w.padding,r:w.borderRadius};U||(wt.fill=w.backgroundColor,wt["stroke-width"]=w.borderWidth??1),Dt=q.label("",0,0,w[At?"headerShape":"shape"],void 0,void 0,w.useHTML).addClass(l.getClassName(Gt,!0,At)).attr(wt).add(K)}return Dt.isActive=!0,Dt.attr({text:ti}),U||Dt.css(w.style).attr({stroke:w.borderColor||Gt.color||_t.color||"#333333"}),Dt}(lt.tt,Xe,Me.toString()),st=Qe.getBBox(),kt=st.width+Qe.strokeWidth();Ze&&(Oe=st.height,Ae+=Oe,he&&(Se-=Oe));let{anchorX:pt,anchorY:ht}=function(Lt){let Gt,ti,{isHeader:Dt,plotX:At=0,plotY:_t=0,series:wt}=Lt;if(Dt)Gt=Math.max(S+At,S),ti=j+p/2;else{let{xAxis:Qt,yAxis:di}=wt;Gt=Qt.pos+F(At,-se,Qt.len+se),wt.shouldShowTooltip(0,di.pos-j+_t,{ignoreX:!0})&&(ti=di.pos+_t)}return{anchorX:Gt=F(Gt,R.left-se,R.right+se),anchorY:ti}}(Xe);if("number"==typeof ht){let Lt=st.height+1,Gt=X?X.call(l,kt,Lt,Xe):Fe(pt,ht,Ze,kt);_e.push({align:X?0:void 0,anchorX:pt,anchorY:ht,boxWidth:kt,point:Xe,rank:O(Gt.rank,Ze?1:0),size:Lt,target:Gt.y,tt:Qe,x:Gt.x})}else Qe.isActive=!1}return _e},[]);!X&&oe.some(_e=>{let{outside:Me}=l,Ee=(Me?me:0)+_e.anchorX;return EeEe})&&(oe=oe.map(_e=>{let{x:Me,y:Ee}=Fe(_e.anchorX,_e.anchorY,_e.point.isHeader,_e.boxWidth,!1);return I(_e,{target:Ee,x:Me})})),l.cleanSplit(),A(oe,Ae);let ee={left:me,right:me};oe.forEach(function(_e){let{x:Me,boxWidth:Ee,isHeader:Xe}=_e;!Xe&&(l.outside&&me+Meee.right&&(ee.right=me+Me))}),oe.forEach(function(_e){let{x:Me,anchorX:Ee,anchorY:Xe,pos:Ze,point:{isHeader:lt}}=_e,Qe={visibility:void 0===Ze?"hidden":"inherit",x:Me,y:(Ze||0)+Se,anchorX:Ee,anchorY:Xe};if(l.outside&&Me0&&(lt||(Qe.x=Me+st,Qe.anchorX=Ee+st),lt&&(Qe.x=(ee.right-ee.left)/2,Qe.anchorX=Ee+st))}_e.tt.attr(Qe)});let{container:de,outside:ye,renderer:Te}=l;if(ye&&de&&Te){let{width:_e,height:Me,x:Ee,y:Xe}=K.getBBox();Te.setSize(_e+Ee,Me+Xe,!1),de.style.left=ee.left+"px",de.style.top=Ce+"px"}$&&K.attr({opacity:1===K.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact())return void(this.tracker&&(this.tracker=this.tracker.destroy()));let n=this.chart,r=this.label,l=this.shared?n.hoverPoints:n.hoverPoint;if(!r||!l)return;let d={x:0,y:0,width:0,height:0},C=this.getAnchor(l),k=r.getBBox();C[0]+=n.plotLeft-(r.translateX||0),C[1]+=n.plotTop-(r.translateY||0),d.x=Math.min(0,C[0]),d.y=Math.min(0,C[1]),d.width=C[0]<0?Math.max(Math.abs(C[0]),k.width-C[0]):Math.max(Math.abs(C[0]),k.width),d.height=C[1]<0?Math.max(Math.abs(C[1]),k.height-Math.abs(C[1])):Math.max(Math.abs(C[1]),k.height),this.tracker?this.tracker.attr(d):(this.tracker=r.renderer.rect(d).addClass("highcharts-tracker").add(r),n.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(n){return n.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(n,r){let l=n.series,d=l.tooltipOptions,C=l.xAxis,k=C&&C.dateTime,p={isFooter:r,labelConfig:n},S=d.xDateFormat,j=d[r?"footerFormat":"headerFormat"];return E(this,"headerFormatter",p,function(H){k&&!S&&b(n.key)&&(S=k.getXDateFormat(n.key,d.dateTimeLabelFormats)),k&&S&&(n.point&&n.point.tooltipDateKeys||["key"]).forEach(function(Y){j=j.replace("{point."+Y+"}","{point."+Y+":"+S+"}")}),l.chart.styledMode&&(j=this.styledModeFormat(j)),H.text=pe(j,{point:n,series:l},this.chart)}),p.text}update(n){this.destroy(),this.init(this.chart,z(!0,this.options,n))}updatePosition(n){let x,{chart:r,container:l,distance:d,options:C,pointer:k,renderer:p}=this,{height:S=0,width:j=0}=this.getLabel(),{left:H,top:Y,scaleX:U,scaleY:se}=k.getChartPosition(),w=(C.positioner||this.getPosition).call(this,j,S,n),X=(n.plotX||0)+r.plotLeft,G=(n.plotY||0)+r.plotTop;p&&l&&(C.positioner&&(w.x+=H-d,w.y+=Y-d),x=(C.borderWidth||0)+2*d+2,p.setSize(j+x,S+x,!1),(1!==U||1!==se)&&(L(l,{transform:`scale(${U}, ${se})`}),X*=U,G*=se),X+=H-w.x,G+=Y-w.y),this.move(Math.round(w.x),Math.round(w.y||0),X,G)}}return(fe=y||(y={})).compose=function(o){f(J,"Core.Tooltip")&&B(o,"afterInit",function(){let n=this.chart;n.options.tooltip&&(n.tooltip=new fe(n,n.options.tooltip,this))})},y}),Pe(V,"Core/Series/Point.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le){let{animObject:fe}=ie,{defaultOptions:pe}=re,{format:J}=ve,{addEvent:te,erase:$,extend:A,fireEvent:B,getNestedProperty:F,isArray:L,isFunction:D,isNumber:I,isObject:E,pick:_,syncTimeout:b,removeEvent:T,uniqueKey:z}=le;class O{animateBeforeDestroy(){let a=this,g={x:a.startXPos,opacity:0},y=a.getGraphicalProps();y.singular.forEach(function(o){a[o]=a[o].animate("dataLabel"===o?{x:a[o].startXPos,y:a[o].startYPos,opacity:0}:g)}),y.plural.forEach(function(o){a[o].forEach(function(n){n.element&&n.animate(A({x:a.startXPos},n.startYPos?{x:n.startXPos,y:n.startYPos}:{}))})})}applyOptions(a,g){let y=this.series,o=y.options.pointValKey||y.pointValKey;return A(this,a=O.prototype.optionsToObject.call(this,a)),this.options=this.options?A(this.options,a):a,a.group&&delete this.group,a.dataLabels&&delete this.dataLabels,o&&(this.y=O.prototype.getNestedProperty.call(this,o)),this.selected&&(this.state="select"),"name"in this&&void 0===g&&y.xAxis&&y.xAxis.hasNames&&(this.x=y.xAxis.nameToX(this)),void 0===this.x&&y?this.x=void 0===g?y.autoIncrement():g:I(a.x)&&y.options.relativeXValue&&(this.x=y.autoIncrement(a.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let a=this,g=a.series,y=g.chart,o=g.options.dataSorting,n=y.hoverPoints,r=fe(a.series.chart.renderer.globalAnimation),l=()=>{for(let d in(a.graphic||a.graphics||a.dataLabel||a.dataLabels)&&(T(a),a.destroyElements()),a)delete a[d]};a.legendItem&&y.legend.destroyItem(a),n&&(a.setState(),$(n,a),n.length||(y.hoverPoints=null)),a===y.hoverPoint&&a.onMouseOut(),o&&o.enabled?(this.animateBeforeDestroy(),b(l,r.duration)):l(),y.pointCount--}this.destroyed=!0}destroyElements(a){let g=this,y=g.getGraphicalProps(a);y.singular.forEach(function(o){g[o]=g[o].destroy()}),y.plural.forEach(function(o){g[o].forEach(function(n){n&&n.element&&n.destroy()}),delete g[o]})}firePointEvent(a,g,y){let o=this,n=this.series.options;o.manageEvent(a),"click"===a&&n.allowPointSelect&&(y=function(r){!o.destroyed&&o.select&&o.select(null,r.ctrlKey||r.metaKey||r.shiftKey)}),B(o,a,g,y)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(a){let g,y,o=this,n=[],r={singular:[],plural:[]};for((a=a||{graphic:1,dataLabel:1}).graphic&&n.push("graphic","connector"),a.dataLabel&&n.push("dataLabel","dataLabelPath","dataLabelUpper"),y=n.length;y--;)o[g=n[y]]&&r.singular.push(g);return["graphic","dataLabel"].forEach(function(l){let d=l+"s";a[l]&&o[d]&&r.plural.push(d)}),r}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(a){return a?0===a.indexOf("custom.")?F(a,this.options):this[a]:void 0}getZone(){let o,a=this.series,g=a.zones,y=a.zoneAxis||"y",n=0;for(o=g[0];this[y]>=o.value;)o=g[++n];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=o&&o.color&&!this.options.color?o.color:this.nonZonedColor,o}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(a,g,y){this.formatPrefix="point",this.visible=!0,this.series=a,this.applyOptions(g,y),this.id??(this.id=z()),this.resolveColor(),a.chart.pointCount++,B(this,"afterInit")}isValid(){return(I(this.x)||this.x instanceof Date)&&I(this.y)}optionsToObject(a){let l,g=this.series,y=g.options.keys,o=y||g.pointArrayMap||["y"],n=o.length,r={},d=0,C=0;if(I(a)||null===a)r[o[0]]=a;else if(L(a))for(!y&&a.length>n&&("string"==(l=typeof a[0])?r.name=a[0]:"number"===l&&(r.x=a[0]),d++);C0?O.prototype.setNestedProperty(r,a[d],o[C]):r[o[C]]=a[d]),d++,C++;else"object"==typeof a&&(r=a,a.dataLabels&&(g.hasDataLabels=()=>!0),a.marker&&(g._hasPointMarkers=!0));return r}pos(a,g=this.plotY){if(!this.destroyed){let{plotX:y,series:o}=this,{chart:n,xAxis:r,yAxis:l}=o,d=0,C=0;if(I(y)&&I(g))return a&&(d=r?r.pos:n.plotLeft,C=l?l.pos:n.plotTop),n.inverted&&r&&l?[l.len-g+C,r.len-y+d]:[y+d,g+C]}}resolveColor(){let o,n,l,a=this.series,y=a.chart.styledMode,r=a.chart.options.chart.colorCount;delete this.nonZonedColor,a.options.colorByPoint?(y||(o=(n=a.options.colors||a.chart.options.colors)[a.colorCounter],r=n.length),l=a.colorCounter,a.colorCounter++,a.colorCounter===r&&(a.colorCounter=0)):(y||(o=a.color),l=a.colorIndex),this.colorIndex=_(this.options.colorIndex,l),this.color=_(this.options.color,o)}setNestedProperty(a,g,y){return y.split(".").reduce(function(o,n,r,l){return o[n]=l.length-1===r?g:E(o[n],!0)?o[n]:{},o[n]},a),a}shouldDraw(){return!this.isNull}tooltipFormatter(a){let g=this.series,y=g.tooltipOptions,o=_(y.valueDecimals,""),n=y.valuePrefix||"",r=y.valueSuffix||"";return g.chart.styledMode&&(a=g.chart.tooltip.styledModeFormat(a)),(g.pointArrayMap||["y"]).forEach(function(l){l="{point."+l,(n||r)&&(a=a.replace(RegExp(l+"}","g"),n+l+"}"+r)),a=a.replace(RegExp(l+"}","g"),l+":,."+o+"f}")}),J(a,{point:this,series:this.series},g.chart)}update(a,g,y,o){let n,r=this,l=r.series,d=r.graphic,C=l.chart,k=l.options;function p(){r.applyOptions(a);let S=d&&r.hasMockGraphic;d&&(null===r.y?!S:S)&&(r.graphic=d.destroy(),delete r.hasMockGraphic),E(a,!0)&&(d&&d.element&&a&&a.marker&&void 0!==a.marker.symbol&&(r.graphic=d.destroy()),a?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),n=r.index,l.updateParallelArrays(r,n),k.data[n]=E(k.data[n],!0)||E(a,!0)?r.options:_(a,k.data[n]),l.isDirty=l.isDirtyData=!0,!l.fixedBox&&l.hasCartesianSeries&&(C.isDirtyBox=!0),"point"===k.legendType&&(C.isDirtyLegend=!0),g&&C.redraw(y)}g=_(g,!0),!1===o?p():r.firePointEvent("update",{options:a},p)}remove(a,g){this.series.removePoint(this.series.data.indexOf(this),a,g)}select(a,g){let y=this,o=y.series,n=o.chart;a=_(a,!y.selected),this.selectedStaging=a,y.firePointEvent(a?"select":"unselect",{accumulate:g},function(){y.selected=y.options.selected=a,o.options.data[o.data.indexOf(y)]=y.options,y.setState(a&&"select"),g||n.getSelectedPoints().forEach(function(r){let l=r.series;r.selected&&r!==y&&(r.selected=r.options.selected=!1,l.options.data[l.data.indexOf(r)]=r.options,r.setState(n.hoverPoints&&l.options.inactiveOtherPoints?"inactive":""),r.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(a){let{inverted:g,pointer:y}=this.series.chart;y&&(a=a?y.normalize(a):y.getChartCoordinatesFromPoint(this,g),y.runPointActions(a,this))}onMouseOut(){let a=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(a.hoverPoints||[]).forEach(function(g){g.setState()}),a.hoverPoints=a.hoverPoint=null}manageEvent(a){let g=this.series.options.point||{},y=g.events?.[a];!D(y)||this.hcEvents?.[a]&&-1!==this.hcEvents?.[a]?.map(o=>o.fn).indexOf(y)?this.hasImportedEvents&&!y&&this.hcEvents?.[a]&&(T(this,a),delete this.hcEvents[a],Object.keys(this.hcEvents)||(this.hasImportedEvents=!1)):(te(this,a,y),this.hasImportedEvents=!0)}setState(a,g){let H,Y,U,w,y=this.series,o=this.state,n=y.options.states[a||"normal"]||{},r=pe.plotOptions[y.type].marker&&y.options.marker,d=r&&r.states&&r.states[a||"normal"]||{},k=this.marker||{},p=y.chart,S=r&&y.markerAttribs,j=y.halo,se=y.stateMarkerGraphic;if((a=a||"")===this.state&&!g||this.selected&&"select"!==a||!1===n.enabled||a&&(!1===d.enabled||r&&!1===r.enabled&&!1===d.enabled)||a&&k.states&&k.states[a]&&!1===k.states[a].enabled)return;if(this.state=a,S&&(H=y.markerAttribs(this,a)),this.graphic&&!this.hasMockGraphic){if(o&&this.graphic.removeClass("highcharts-point-"+o),a&&this.graphic.addClass("highcharts-point-"+a),!p.styledMode){Y=y.pointAttribs(this,a),U=_(p.options.chart.animation,n.animation);let N=Y.opacity;y.options.inactiveOtherPoints&&I(N)&&(this.dataLabels||[]).forEach(function(R){R&&!R.hasClass("highcharts-data-label-hidden")&&(R.animate({opacity:N},U),R.connector&&R.connector.animate({opacity:N},U))}),this.graphic.animate(Y,U)}H&&this.graphic.animate(H,_(p.options.chart.animation,d.animation,r.animation)),se&&se.hide()}else a&&d&&(w=k.symbol||y.symbol,se&&se.currentSymbol!==w&&(se=se.destroy()),H&&(se?se[g?"animate":"attr"]({x:H.x,y:H.y}):w&&(y.stateMarkerGraphic=se=p.renderer.symbol(w,H.x,H.y,H.width,H.height).add(y.markerGroup),se.currentSymbol=w)),!p.styledMode&&se&&"inactive"!==this.state&&se.attr(y.pointAttribs(this,a))),se&&(se[a&&this.isInside?"show":"hide"](),se.element.point=this,se.addClass(this.getClassName(),!0));let X=n.halo,G=this.graphic||se,x=G&&G.visibility||"inherit";X&&X.size&&G&&"hidden"!==x&&!this.isCluster?(j||(y.halo=j=p.renderer.path().add(G.parentGroup)),j.show()[g?"animate":"attr"]({d:this.haloPath(X.size)}),j.attr({class:"highcharts-halo highcharts-color-"+_(this.colorIndex,y.colorIndex)+(this.className?" "+this.className:""),visibility:x,zIndex:-1}),j.point=this,p.styledMode||j.attr(A({fill:this.color||y.color,"fill-opacity":X.opacity},Z.filterUserAttributes(X.attributes||{})))):j&&j.point&&j.point.haloPath&&j.animate({d:j.point.haloPath(0)},null,j.hide),B(this,"afterSetState",{state:a})}haloPath(a){let g=this.pos();return g?this.series.chart.renderer.symbols.circle(Math.floor(g[0])-a,g[1]-a,2*a,2*a):[]}}return O}),Pe(V,"Core/Pointer.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie,re){var ve;let{parse:le}=Z,{charts:fe,composed:pe}=ie,{addEvent:J,attr:te,css:$,extend:A,find:B,fireEvent:F,isNumber:L,isObject:D,objectEach:I,offset:E,pick:_,pushUnique:b,splat:T}=re;class z{applyInactiveState(f){let g,a=[];(f||[]).forEach(function(y){g=y.series,a.push(g),g.linkedParent&&a.push(g.linkedParent),g.linkedSeries&&(a=a.concat(g.linkedSeries)),g.navigatorSeries&&a.push(g.navigatorSeries)}),this.chart.series.forEach(function(y){-1===a.indexOf(y)?y.setState("inactive",!0):y.options.inactiveOtherPoints&&y.setAllPointsToState("inactive")})}destroy(){let f=this;this.eventsToUnbind.forEach(a=>a()),this.eventsToUnbind=[],!ie.chartCount&&(z.unbindDocumentMouseUp&&(z.unbindDocumentMouseUp=z.unbindDocumentMouseUp()),z.unbindDocumentTouchEnd&&(z.unbindDocumentTouchEnd=z.unbindDocumentTouchEnd())),clearInterval(f.tooltipTimeout),I(f,function(a,g){f[g]=void 0})}getSelectionMarkerAttrs(f,a){let g={args:{chartX:f,chartY:a},attrs:{},shapeType:"rect"};return F(this,"getSelectionMarkerAttrs",g,y=>{let o,{chart:n,zoomHor:r,zoomVert:l}=this,{mouseDownX:d=0,mouseDownY:C=0}=n,k=y.attrs;k.x=n.plotLeft,k.y=n.plotTop,k.width=r?1:n.plotWidth,k.height=l?1:n.plotHeight,r&&(o=f-d,k.width=Math.max(1,Math.abs(o)),k.x=(o>0?0:o)+d),l&&(o=a-C,k.height=Math.max(1,Math.abs(o)),k.y=(o>0?0:o)+C)}),g}drag(f){let Y,{chart:a}=this,{mouseDownX:g=0,mouseDownY:y=0}=a,{panning:o,panKey:n,selectionMarkerFill:r}=a.options.chart,l=a.plotLeft,d=a.plotTop,C=a.plotWidth,k=a.plotHeight,p=D(o)?o.enabled:o,S=n&&f[`${n}Key`],j=f.chartX,H=f.chartY,U=this.selectionMarker;if((!U||!U.touch)&&(jl+C&&(j=l+C),Hd+k&&(H=d+k),this.hasDragged=Math.sqrt(Math.pow(g-j,2)+Math.pow(y-H,2)),this.hasDragged>10)){Y=a.isInsidePlot(g-l,y-d,{visiblePlotOnly:!0});let{shapeType:se,attrs:w}=this.getSelectionMarkerAttrs(j,H);(a.hasCartesianSeries||a.mapView)&&this.hasZoom&&Y&&!S&&!U&&(this.selectionMarker=U=a.renderer[se](),U.attr({class:"highcharts-selection-marker",zIndex:7}).add(),a.styledMode||U.attr({fill:r||le("#334eff").setOpacity(.25).get()})),U&&U.attr(w),Y&&!U&&p&&a.pan(f,o)}}dragStart(f){let a=this.chart;a.mouseIsDown=f.type,a.cancelClick=!1,a.mouseDownX=f.chartX,a.mouseDownY=f.chartY}getSelectionBox(f){let a={args:{marker:f},result:f.getBBox()};return F(this,"getSelectionBox",a),a.result}drop(f){let a,{chart:g,selectionMarker:y}=this;for(let o of g.axes)o.isPanning&&(o.isPanning=!1,(o.options.startOnTick||o.options.endOnTick||o.series.some(n=>n.boosted))&&(o.forceRedraw=!0,o.setExtremes(o.userMin,o.userMax,!1),a=!0));if(a&&g.redraw(),y&&f){if(this.hasDragged){let o=this.getSelectionBox(y);g.transform({axes:g.axes.filter(n=>n.zoomEnabled&&("xAxis"===n.coll&&this.zoomX||"yAxis"===n.coll&&this.zoomY)),selection:{originalEvent:f,xAxis:[],yAxis:[],...o},from:o})}L(g.index)&&(this.selectionMarker=y.destroy())}g&&L(g.index)&&($(g.container,{cursor:g._cursor}),g.cancelClick=this.hasDragged>10,g.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(f,a,g){let y;return f.forEach(function(o){let n=!(o.noSharedTooltip&&a)&&0>o.options.findNearestPointBy.indexOf("y"),r=o.searchPoint(g,n);D(r,!0)&&r.series&&(!D(y,!0)||function(l,d){let C=l.distX-d.distX,k=l.dist-d.dist,p=d.series.group?.zIndex-l.series.group?.zIndex;return 0!==C&&a?C:0!==k?k:0!==p?p:l.series.index>d.series.index?-1:1}(y,r)>0)&&(y=r)}),y}getChartCoordinatesFromPoint(f,a){let{xAxis:g,yAxis:y}=f.series,o=f.shapeArgs;if(g&&y){let n=f.clientX??f.plotX??0,r=f.plotY||0;return f.isNode&&o&&L(o.x)&&L(o.y)&&(n=o.x,r=o.y),a?{chartX:y.len+y.pos-r,chartY:g.len+g.pos-n}:{chartX:n+g.pos,chartY:r+y.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:f}=this.chart,a=E(f);this.chartPosition={left:a.left,top:a.top,scaleX:1,scaleY:1};let{offsetHeight:g,offsetWidth:y}=f;return y>2&&g>2&&(this.chartPosition.scaleX=a.width/y,this.chartPosition.scaleY=a.height/g),this.chartPosition}getCoordinates(f){let a={xAxis:[],yAxis:[]};for(let g of this.chart.axes)a[g.isXAxis?"xAxis":"yAxis"].push({axis:g,value:g.toValue(f[g.horiz?"chartX":"chartY"])});return a}getHoverData(f,a,g,y,o,n){let C,r=[],l=function(S){return S.visible&&!(!o&&S.directTouch)&&_(S.options.enableMouseTracking,!0)},d=a,k={chartX:n?n.chartX:void 0,chartY:n?n.chartY:void 0,shared:o};F(this,"beforeGetHoverData",k),C=d&&!d.stickyTracking?[d]:g.filter(S=>S.stickyTracking&&(k.filter||l)(S));let p=y&&f||!n?f:this.findNearestKDPoint(C,o,n);return d=p&&p.series,p&&(o&&!d.noSharedTooltip?(C=g.filter(function(S){return k.filter?k.filter(S):l(S)&&!S.noSharedTooltip})).forEach(function(S){let j=B(S.points,function(H){return H.x===p.x&&!H.isNull});D(j)&&(S.boosted&&S.boost&&(j=S.boost.getPoint(j)),r.push(j))}):r.push(p)),F(this,"afterGetHoverData",k={hoverPoint:p}),{hoverPoint:k.hoverPoint,hoverSeries:d,hoverPoints:r}}getPointFromEvent(f){let g,a=f.target;for(;a&&!g;)g=a.point,a=a.parentNode;return g}onTrackerMouseOut(f){let g=f.relatedTarget,y=this.chart.hoverSeries;this.isDirectTouch=!1,!y||!g||y.stickyTracking||this.inClass(g,"highcharts-tooltip")||this.inClass(g,"highcharts-series-"+y.index)&&this.inClass(g,"highcharts-tracker")||y.onMouseOut()}inClass(f,a){let y,g=f;for(;g;){if(y=te(g,"class")){if(-1!==y.indexOf(a))return!0;if(-1!==y.indexOf("highcharts-container"))return!1}g=g.parentElement}}constructor(f,a){this.hasDragged=0,this.eventsToUnbind=[],this.options=a,this.chart=f,this.runChartClick=!!a.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),F(this,"afterInit")}normalize(f,a){let g=f.touches,y=g?g.length?g.item(0):_(g.changedTouches,f.changedTouches)[0]:f;a||(a=this.getChartPosition());let o=y.pageX-a.left,n=y.pageY-a.top;return A(f,{chartX:Math.round(o/=a.scaleX),chartY:Math.round(n/=a.scaleY)})}onContainerClick(f){let a=this.chart,g=a.hoverPoint,y=this.normalize(f),o=a.plotLeft,n=a.plotTop;!a.cancelClick&&(g&&this.inClass(y.target,"highcharts-tracker")?(F(g.series,"click",A(y,{point:g})),a.hoverPoint&&g.firePointEvent("click",y)):(A(y,this.getCoordinates(y)),a.isInsidePlot(y.chartX-o,y.chartY-n,{visiblePlotOnly:!0})&&F(a,"click",y)))}onContainerMouseDown(f){let a=!(1&~(f.buttons||f.button));f=this.normalize(f),ie.isFirefox&&0!==f.button&&this.onContainerMouseMove(f),(void 0===f.button||a)&&(this.zoomOption(f),a&&f.preventDefault?.(),this.dragStart(f))}onContainerMouseLeave(f){let{pointer:a}=fe[_(z.hoverChartIndex,-1)]||{};f=this.normalize(f),this.onContainerMouseMove(f),a&&f.relatedTarget&&!this.inClass(f.relatedTarget,"highcharts-tooltip")&&(a.reset(),a.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(f){let a=this.chart,g=a.tooltip,y=this.normalize(f);this.setHoverChartIndex(f),("mousedown"===a.mouseIsDown||this.touchSelect(y))&&this.drag(y),!a.openMenu&&(this.inClass(y.target,"highcharts-tracker")||a.isInsidePlot(y.chartX-a.plotLeft,y.chartY-a.plotTop,{visiblePlotOnly:!0}))&&(!g||!g.shouldStickOnContact(y))&&(this.inClass(y.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(y))}onDocumentTouchEnd(f){this.onDocumentMouseUp(f)}onContainerTouchMove(f){this.touchSelect(f)?this.onContainerMouseMove(f):this.touch(f)}onContainerTouchStart(f){this.touchSelect(f)?this.onContainerMouseDown(f):(this.zoomOption(f),this.touch(f,!0))}onDocumentMouseMove(f){let a=this.chart,g=a.tooltip,y=this.chartPosition,o=this.normalize(f,y);!y||a.isInsidePlot(o.chartX-a.plotLeft,o.chartY-a.plotTop,{visiblePlotOnly:!0})||g&&g.shouldStickOnContact(o)||this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(f){fe[_(z.hoverChartIndex,-1)]?.pointer?.drop(f)}pinch(f){let a=this,{chart:g,hasZoom:y,lastTouches:o}=a,n=[].map.call(f.touches||[],k=>a.normalize(k)),r=n.length,l=1===r&&(a.inClass(f.target,"highcharts-tracker")&&g.runTrackerClick||a.runChartClick),d=g.tooltip,C=1===r&&_(d?.options.followTouchMove,!0);r>1?a.initiated=!0:C&&(a.initiated=!1),y&&a.initiated&&!l&&!1!==f.cancelable&&f.preventDefault(),"touchstart"===f.type?(a.pinchDown=n,a.res=!0):C?this.runPointActions(a.normalize(f)):o&&(F(g,"touchpan",{originalEvent:f,touches:n},()=>{let k=p=>{let S=p[0],j=p[1]||S;return{x:S.chartX,y:S.chartY,width:j.chartX-S.chartX,height:j.chartY-S.chartY}};g.transform({axes:g.axes.filter(p=>p.zoomEnabled&&(this.zoomHor&&p.horiz||this.zoomVert&&!p.horiz)),to:k(n),from:k(o),trigger:f.type})}),a.res&&(a.res=!1,this.reset(!1,0))),a.lastTouches=n}reset(f,a){let g=this.chart,y=g.hoverSeries,o=g.hoverPoint,n=g.hoverPoints,r=g.tooltip,l=r&&r.shared?n:o;f&&l&&T(l).forEach(function(d){d.series.isCartesian&&void 0===d.plotX&&(f=!1)}),f?r&&l&&T(l).length&&(r.refresh(l),r.shared&&n?n.forEach(function(d){d.setState(d.state,!0),d.series.isCartesian&&(d.series.xAxis.crosshair&&d.series.xAxis.drawCrosshair(null,d),d.series.yAxis.crosshair&&d.series.yAxis.drawCrosshair(null,d))}):o&&(o.setState(o.state,!0),g.axes.forEach(function(d){d.crosshair&&o.series[d.coll]===d&&d.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),n&&n.forEach(function(d){d.setState()}),y&&y.onMouseOut(),r&&r.hide(a),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),g.axes.forEach(function(d){d.hideCrosshair()}),g.hoverPoints=g.hoverPoint=void 0)}runPointActions(f,a,g){let y=this.chart,n=y.tooltip&&y.tooltip.options.enabled?y.tooltip:void 0,r=!!n&&n.shared,l=a||y.hoverPoint,d=l&&l.series||y.hoverSeries,k=this.getHoverData(l,d,y.series,(!f||"touchmove"!==f.type)&&(!!a||d&&d.directTouch&&this.isDirectTouch),r,f);l=k.hoverPoint,d=k.hoverSeries;let p=k.hoverPoints,S=d&&d.tooltipOptions.followPointer&&!d.tooltipOptions.split,j=r&&d&&!d.noSharedTooltip;if(l&&(g||l!==y.hoverPoint||n&&n.isHidden)){if((y.hoverPoints||[]).forEach(function(H){-1===p.indexOf(H)&&H.setState()}),y.hoverSeries!==d&&d.onMouseOver(),this.applyInactiveState(p),(p||[]).forEach(function(H){H.setState("hover")}),y.hoverPoint&&y.hoverPoint.firePointEvent("mouseOut"),!l.series)return;y.hoverPoints=p,y.hoverPoint=l,l.firePointEvent("mouseOver",void 0,()=>{n&&l&&n.refresh(j?p:l,f)})}else if(S&&n&&!n.isHidden){let H=n.getAnchor([{}],f);y.isInsidePlot(H[0],H[1],{visiblePlotOnly:!0})&&n.updatePosition({plotX:H[0],plotY:H[1]})}this.unDocMouseMove||(this.unDocMouseMove=J(y.container.ownerDocument,"mousemove",H=>fe[z.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(H)),this.eventsToUnbind.push(this.unDocMouseMove)),y.axes.forEach(function(H){let Y,U=_((H.crosshair||{}).snap,!0);!U||(Y=y.hoverPoint)&&Y.series[H.coll]===H||(Y=B(p,se=>se.series&&se.series[H.coll]===H)),Y||!U?H.drawCrosshair(f,Y):H.hideCrosshair()})}setDOMEvents(){let f=this.chart.container,a=f.ownerDocument;f.onmousedown=this.onContainerMouseDown.bind(this),f.onmousemove=this.onContainerMouseMove.bind(this),f.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(J(f,"mouseenter",this.onContainerMouseEnter.bind(this)),J(f,"mouseleave",this.onContainerMouseLeave.bind(this))),z.unbindDocumentMouseUp||(z.unbindDocumentMouseUp=J(a,"mouseup",this.onDocumentMouseUp.bind(this)));let g=this.chart.renderTo.parentElement;for(;g&&"BODY"!==g.tagName;)this.eventsToUnbind.push(J(g,"scroll",()=>{delete this.chartPosition})),g=g.parentElement;this.eventsToUnbind.push(J(f,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),J(f,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),z.unbindDocumentTouchEnd||(z.unbindDocumentTouchEnd=J(a,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1}))}setHoverChartIndex(f){let a=this.chart,g=ie.charts[_(z.hoverChartIndex,-1)];g&&g!==a&&g.pointer?.onContainerMouseLeave(f||{relatedTarget:a.container}),g&&g.mouseIsDown||(z.hoverChartIndex=a.index)}touch(f,a){let g,{chart:y,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===f.touches.length?(f=this.normalize(f),y.isInsidePlot(f.chartX-y.plotLeft,f.chartY-y.plotTop,{visiblePlotOnly:!0})&&!y.openMenu?(a&&this.runPointActions(f),"touchmove"===f.type&&(g=!!o[0]&&Math.pow(o[0].chartX-f.chartX,2)+Math.pow(o[0].chartY-f.chartY,2)>=16),_(g,!0)&&this.pinch(f)):a&&this.reset()):2===f.touches.length&&this.pinch(f)}touchSelect(f){return!(!this.chart.zooming.singleTouch||!f.touches||1!==f.touches.length)}zoomOption(f){let o,n,a=this.chart,g=a.inverted,y=a.zooming.type||"";/touch/.test(f.type)&&(y=_(a.zooming.pinchType,y)),this.zoomX=o=/x/.test(y),this.zoomY=n=/y/.test(y),this.zoomHor=o&&!g||n&&g,this.zoomVert=n&&!g||o&&g,this.hasZoom=o||n}}return(ve=z||(z={})).compose=function(O){b(pe,"Core.Pointer")&&J(O,"beforeRender",function(){this.pointer=new ve(this,this.options)})},z}),Pe(V,"Core/Legend/Legend.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Series/Point.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe){var pe;let{animObject:J,setAnimation:te}=Z,{format:$}=ie,{composed:A,marginNames:B}=re,{distribute:F}=le,{addEvent:L,createElement:D,css:I,defined:E,discardElement:_,find:b,fireEvent:T,isNumber:z,merge:O,pick:f,pushUnique:a,relativeLength:g,stableSort:y,syncTimeout:o}=fe;class n{constructor(l,d){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=l,this.setOptions(d),d.enabled&&(this.render(),L(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),L(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(l){let d=f(l.padding,8);this.options=l,this.chart.styledMode||(this.itemStyle=l.itemStyle,this.itemHiddenStyle=O(this.itemStyle,l.itemHiddenStyle)),this.itemMarginTop=l.itemMarginTop,this.itemMarginBottom=l.itemMarginBottom,this.padding=d,this.initialItemY=d-5,this.symbolWidth=f(l.symbolWidth,16),this.pages=[],this.proximate="proximate"===l.layout&&!this.chart.inverted,this.baseline=void 0}update(l,d){let C=this.chart;this.setOptions(O(!0,this.options,l)),this.destroy(),C.isDirtyLegend=C.isDirtyBox=!0,f(d,!0)&&C.redraw(),T(this,"afterUpdate",{redraw:d})}colorizeItem(l,d){let{area:C,group:k,label:p,line:S,symbol:j}=l.legendItem||{};if(k?.[d?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:H={}}=this,Y=H.color,{fillColor:U,fillOpacity:se,lineColor:w,marker:X}=l.options,G=x=>(!d&&(x.fill&&(x.fill=Y),x.stroke&&(x.stroke=Y)),x);p?.css(O(d?this.itemStyle:H)),S?.attr(G({stroke:w||l.color})),j&&j.attr(G(X&&j.isMarker?l.pointAttribs():{fill:l.color})),C?.attr(G({fill:U||l.color,"fill-opacity":U?1:se??.75}))}T(this,"afterColorizeItem",{item:l,visible:d})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(l){let{group:d,x:C=0,y:k=0}=l.legendItem||{},p=this.options,H=l.checkbox;if(d&&d.element){let Y={translateX:p.rtl?this.legendWidth-C-2*p.symbolPadding-4:C,translateY:k};d[E(d.translateY)?"animate":"attr"](Y,void 0,()=>{T(this,"afterPositionItem",{item:l})})}H&&(H.x=C,H.y=k)}destroyItem(l){let d=l.checkbox,C=l.legendItem||{};for(let k of["group","label","line","symbol"])C[k]&&(C[k]=C[k].destroy());d&&_(d),l.legendItem=void 0}destroy(){for(let l of this.getAllItems())this.destroyItem(l);for(let l of["clipRect","up","down","pager","nav","box","title","group"])this[l]&&(this[l]=this[l].destroy());this.display=null}positionCheckboxes(){let l,d=this.group&&this.group.alignAttr,C=this.clipHeight||this.legendHeight,k=this.titleHeight;d&&(l=d.translateY,this.allItems.forEach(function(p){let S,j=p.checkbox;j&&(S=l+k+j.y+(this.scrollOffset||0)+3,I(j,{left:d.translateX+p.checkboxOffset+j.x-20+"px",top:S+"px",display:this.proximate||S>l-6&&S1.5*Ce?me.height:Ce))}layoutItem(l){let d=this.options,C=this.padding,k="horizontal"===d.layout,p=l.itemHeight,S=this.itemMarginBottom,j=this.itemMarginTop,H=k?f(d.itemDistance,20):0,Y=this.maxLegendWidth,U=d.alignColumns&&this.totalItemWidth>Y?this.maxItemWidth:l.itemWidth,se=l.legendItem||{};k&&this.itemX-C+U>Y&&(this.itemX=C,this.lastLineHeight&&(this.itemY+=j+this.lastLineHeight+S),this.lastLineHeight=0),this.lastItemY=j+this.itemY+S,this.lastLineHeight=Math.max(p,this.lastLineHeight),se.x=this.itemX,se.y=this.itemY,k?this.itemX+=U:(this.itemY+=j+p+S,this.lastLineHeight=p),this.offsetWidth=this.widthOption||Math.max((k?this.itemX-C-(l.checkbox?0:H):U)+C,this.offsetWidth)}getAllItems(){let l=[];return this.chart.series.forEach(function(d){let C=d&&d.options;d&&f(C.showInLegend,!E(C.linkedTo)&&void 0,!0)&&(l=l.concat((d.legendItem||{}).labels||("point"===C.legendType?d.data:d)))}),T(this,"afterGetAllItems",{allItems:l}),l}getAlignment(){let l=this.options;return this.proximate?l.align.charAt(0)+"tv":l.floating?"":l.align.charAt(0)+l.verticalAlign.charAt(0)+l.layout.charAt(0)}adjustMargins(l,d){let C=this.chart,k=this.options,p=this.getAlignment();p&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(S,j){S.test(p)&&!E(l[j])&&(C[B[j]]=Math.max(C[B[j]],C.legend[(j+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][j]*k[j%2?"x":"y"]+f(k.margin,12)+d[j]+(C.titleOffset[j]||0)))})}proximatePositions(){let l,d=this.chart,C=[],k="left"===this.options.align;for(let p of(this.allItems.forEach(function(S){let j,H,U,se,Y=k;S.yAxis&&(S.xAxis.options.reversed&&(Y=!Y),S.points&&(j=b(Y?S.points:S.points.slice(0).reverse(),function(w){return z(w.plotY)})),H=this.itemMarginTop+S.legendItem.label.getBBox().height+this.itemMarginBottom,se=S.yAxis.top-d.plotTop,U=S.visible?(j?j.plotY:S.yAxis.height)+(se-.3*H):se+S.yAxis.height,C.push({target:U,size:H,item:S}))},this),F(C,d.plotHeight)))l=p.item.legendItem||{},z(p.pos)&&(l.y=d.plotTop-d.spacing[0]+p.pos)}render(){let S,j,H,U,l=this.chart,d=l.renderer,C=this.options,k=this.padding,p=this.getAllItems(),Y=this.group,se=this.box;this.itemX=k,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=g(C.width,l.spacingBox.width-k),U=l.spacingBox.width-2*k-C.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(U/=2),this.maxLegendWidth=this.widthOption||U,Y||(this.group=Y=d.g("legend").addClass(C.className||"").attr({zIndex:7}).add(),this.contentGroup=d.g().attr({zIndex:1}).add(Y),this.scrollGroup=d.g().add(this.contentGroup)),this.renderTitle(),y(p,(w,X)=>(w.options&&w.options.legendIndex||0)-(X.options&&X.options.legendIndex||0)),C.reversed&&p.reverse(),this.allItems=p,this.display=S=!!p.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,p.forEach(this.renderItem,this),p.forEach(this.layoutItem,this),j=(this.widthOption||this.offsetWidth)+k,H=this.lastItemY+this.lastLineHeight+this.titleHeight,H=this.handleOverflow(H)+k,se||(this.box=se=d.rect().addClass("highcharts-legend-box").attr({r:C.borderRadius}).add(Y)),l.styledMode||se.attr({stroke:C.borderColor,"stroke-width":C.borderWidth||0,fill:C.backgroundColor||"none"}).shadow(C.shadow),j>0&&H>0&&se[se.placed?"animate":"attr"](se.crisp.call({},{x:0,y:0,width:j,height:H},se.strokeWidth())),Y[S?"show":"hide"](),l.styledMode&&"none"===Y.getStyle("display")&&(j=H=0),this.legendWidth=j,this.legendHeight=H,S&&this.align(),this.proximate||this.positionItems(),T(this,"afterRender")}align(l=this.chart.spacingBox){let d=this.chart,C=this.options,k=l.y;/(lth|ct|rth)/.test(this.getAlignment())&&d.titleOffset[0]>0?k+=d.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&d.titleOffset[2]>0&&(k-=d.titleOffset[2]),k!==l.y&&(l=O(l,{y:k})),d.hasRendered||(this.group.placed=!1),this.group.align(O(C,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":C.verticalAlign}),!0,l)}handleOverflow(l){let R,K,q,d=this,C=this.chart,k=C.renderer,p=this.options,S=p.y,j="top"===p.verticalAlign,H=this.padding,Y=p.maxHeight,U=p.navigation,se=f(U.animation,!0),w=U.arrowSize||12,X=this.pages,G=this.allItems,x=function(Se){"number"==typeof Se?Ce.attr({height:Se}):Ce&&(d.clipRect=Ce.destroy(),d.contentGroup.clip()),d.contentGroup.div&&(d.contentGroup.div.style.clip=Se?"rect("+H+"px,9999px,"+(H+Se)+"px,0)":"auto")},N=function(Se){return d[Se]=k.circle(0,0,1.3*w).translate(w/2,w/2).add(me),C.styledMode||d[Se].attr("fill","rgba(0,0,0,0.0001)"),d[Se]},he=C.spacingBox.height+(j?-S:S)-H,me=this.nav,Ce=this.clipRect;return"horizontal"!==p.layout||"middle"===p.verticalAlign||p.floating||(he/=2),Y&&(he=Math.min(he,Y)),X.length=0,l&&he>0&&l>he&&!1!==U.enabled?(this.clipHeight=R=Math.max(he-20-this.titleHeight-H,0),this.currentPage=f(this.currentPage,1),this.fullHeight=l,G.forEach((Se,Oe)=>{let Ae=(q=Se.legendItem||{}).y||0,Fe=Math.round(q.label.getBBox().height),oe=X.length;(!oe||Ae-X[oe-1]>R&&(K||Ae)!==X[oe-1])&&(X.push(K||Ae),oe++),q.pageIx=oe-1,K&&((G[Oe-1].legendItem||{}).pageIx=oe-1),Oe===G.length-1&&Ae+Fe-X[oe-1]>R&&Ae>X[oe-1]&&(X.push(Ae),q.pageIx=oe),Ae!==K&&(K=Ae)}),Ce||(Ce=d.clipRect=k.clipRect(0,H-2,9999,0),d.contentGroup.clip(Ce)),x(R),me||(this.nav=me=k.g().attr({zIndex:1}).add(this.group),this.up=k.symbol("triangle",0,0,w,w).add(me),N("upTracker").on("click",function(){d.scroll(-1,se)}),this.pager=k.text("",15,10).addClass("highcharts-legend-navigation"),!C.styledMode&&U.style&&this.pager.css(U.style),this.pager.add(me),this.down=k.symbol("triangle-down",0,0,w,w).add(me),N("downTracker").on("click",function(){d.scroll(1,se)})),d.scroll(0),l=he):me&&(x(),this.nav=me.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),l}scroll(l,d){let C=this.chart,k=this.pages,p=k.length,S=this.clipHeight,j=this.options.navigation,H=this.pager,Y=this.padding,U=this.currentPage+l;U>p&&(U=p),U>0&&(void 0!==d&&te(d,C),this.nav.attr({translateX:Y,translateY:S+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(se){se.attr({class:1===U?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),H.attr({text:U+"/"+p}),[this.down,this.downTracker].forEach(function(se){se.attr({x:18+this.pager.getBBox().width,class:U===p?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),C.styledMode||(this.up.attr({fill:1===U?j.inactiveColor:j.activeColor}),this.upTracker.css({cursor:1===U?"default":"pointer"}),this.down.attr({fill:U===p?j.inactiveColor:j.activeColor}),this.downTracker.css({cursor:U===p?"default":"pointer"})),this.scrollOffset=-k[U-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=U,this.positionCheckboxes(),o(()=>{T(this,"afterScroll",{currentPage:U})},J(f(d,C.renderer.globalAnimation,!0)).duration))}setItemEvents(l,d,C){let k=this,p=l.legendItem||{},S=k.chart.renderer.boxWrapper,j=l instanceof ve,H="highcharts-legend-"+(j?"point":"series")+"-active",Y=k.chart.styledMode,U=C?[d,p.symbol]:[p.group],se=w=>{k.allItems.forEach(X=>{l!==X&&[X].concat(X.linkedSeries||[]).forEach(G=>{G.setState(w,!j)})})};for(let w of U)w&&w.on("mouseover",function(){l.visible&&se("inactive"),l.setState("hover"),l.visible&&S.addClass(H),Y||d.css(k.options.itemHoverStyle)}).on("mouseout",function(){k.chart.styledMode||d.css(O(l.visible?k.itemStyle:k.itemHiddenStyle)),se(""),S.removeClass(H),l.setState()}).on("click",function(X){let G="legendItemClick",x=function(){l.setVisible&&l.setVisible(),se(l.visible?"inactive":"")};S.removeClass(H),X={browserEvent:X},l.firePointEvent?l.firePointEvent(G,X,x):T(l,G,X,x)})}createCheckboxForItem(l){l.checkbox=D("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:l.selected,defaultChecked:l.selected},this.options.itemCheckboxStyle,this.chart.container),L(l.checkbox,"click",function(d){T(l.series||l,"checkboxClick",{checked:d.target.checked,item:l},function(){l.select()})})}}return(pe=n||(n={})).compose=function(r){a(A,"Core.Legend")&&L(r,"beforeMargins",function(){this.legend=new pe(this,this.options.legend)})},n}),Pe(V,"Core/Legend/LegendSymbol.js",[V["Core/Utilities.js"]],function(Z){var ie;let{extend:re,merge:ve,pick:le}=Z;return function(fe){function pe(J,te,$){let f,A=this.legendItem=this.legendItem||{},{chart:B,options:F}=this,{baseline:L=0,symbolWidth:D,symbolHeight:I}=J,E=this.symbol||"circle",_=I/2,b=B.renderer,T=A.group,z=L-Math.round(I*($?.4:.3)),O={},a=F.marker,g=0;if(B.styledMode||(O["stroke-width"]=Math.min(F.lineWidth||0,24),F.dashStyle?O.dashstyle=F.dashStyle:"square"===F.linecap||(O["stroke-linecap"]="round")),A.line=b.path().addClass("highcharts-graph").attr(O).add(T),$&&(A.area=b.path().addClass("highcharts-area").add(T)),O["stroke-linecap"]&&(g=Math.min(A.line.strokeWidth(),D)/2),D){let y=[["M",g,z],["L",D-g,z]];A.line.attr({d:y}),A.area?.attr({d:[...y,["L",D-g,L],["L",g,L]]})}if(a&&!1!==a.enabled&&D){let y=Math.min(le(a.radius,_),_);0===E.indexOf("url")&&(a=ve(a,{width:I,height:I}),y=0),A.symbol=f=b.symbol(E,D/2-y,z-y,2*y,2*y,re({context:"legend"},a)).addClass("highcharts-point").add(T),f.isMarker=!0}}fe.areaMarker=function(J,te){pe.call(this,J,te,!0)},fe.lineMarker=pe,fe.rectangle=function(J,te){let $=te.legendItem||{},B=J.symbolHeight,F=J.options.squareSymbol;$.symbol=this.chart.renderer.rect(F?(J.symbolWidth-B)/2:0,J.baseline-B+1,F?B:J.symbolWidth,B,le(J.options.symbolRadius,B/2)).addClass("highcharts-point").attr({zIndex:3}).add($.group)}}(ie||(ie={})),ie}),Pe(V,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:Z}=this.series.chart;return"number"!=typeof this.y?"":Z(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),Pe(V,"Core/Series/SeriesRegistry.js",[V["Core/Globals.js"],V["Core/Defaults.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){var le;let{defaultOptions:fe}=ie,{extend:pe,extendClass:J,merge:te}=ve;return function($){function A(B,F){let L=fe.plotOptions||{},D=F.defaultOptions,I=F.prototype;return I.type=B,I.pointClass||(I.pointClass=re),!$.seriesTypes[B]&&(D&&(L[B]=D),$.seriesTypes[B]=F,!0)}$.seriesTypes=Z.seriesTypes,$.registerSeriesType=A,$.seriesType=function(B,F,L,D,I){let E=fe.plotOptions||{};if(E[B]=te(E[F=F||""],L),delete $.seriesTypes[B],A(B,J($.seriesTypes[F]||function(){},D)),$.seriesTypes[B].prototype.type=B,I){class _ extends re{}pe(_.prototype,I),$.seriesTypes[B].prototype.pointClass=_}return $.seriesTypes[B]}}(le||(le={})),le}),Pe(V,"Core/Series/Series.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Series/Point.js"],V["Core/Series/SeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe,pe,J,te,$){let{animObject:A,setAnimation:B}=Z,{defaultOptions:F}=ie,{registerEventOptions:L}=re,{svg:D,win:I}=ve,{seriesTypes:E}=J,{arrayMax:_,arrayMin:b,clamp:T,correctFloat:z,defined:O,destroyObjectProperties:f,diffObjects:a,erase:g,error:y,extend:o,find:n,fireEvent:r,getClosestDistance:l,getNestedProperty:d,insertItem:C,isArray:k,isNumber:p,isString:S,merge:j,objectEach:H,pick:Y,removeEvent:U,splat:se,syncTimeout:w}=$;class X{constructor(){this.zoneAxis="y"}init(x,N){let R;r(this,"init",{options:N});let K=this,q=x.series;this.eventsToUnbind=[],K.chart=x,K.options=K.setOptions(N);let he=K.options,me=!1!==he.visible;K.linkedSeries=[],K.bindAxes(),o(K,{name:he.name,state:"",visible:me,selected:!0===he.selected}),L(this,he);let Ce=he.events;(Ce&&Ce.click||he.point&&he.point.events&&he.point.events.click||he.allowPointSelect)&&(x.runTrackerClick=!0),K.getColor(),K.getSymbol(),K.parallelArrays.forEach(function(Se){K[Se+"Data"]||(K[Se+"Data"]=[])}),K.isCartesian&&(x.hasCartesianSeries=!0),q.length&&(R=q[q.length-1]),K._i=Y(R&&R._i,-1)+1,K.opacity=K.options.opacity,x.orderItems("series",C(this,q)),he.dataSorting&&he.dataSorting.enabled?K.setDataSortingOptions():K.points||K.data||K.setData(he.data,!1),r(this,"afterInit")}is(x){return E[x]&&this instanceof E[x]}bindAxes(){let x,N=this,R=N.options,K=N.chart;r(this,"bindAxes",null,function(){(N.axisTypes||[]).forEach(function(q){K[q].forEach(function(he){x=he.options,(Y(R[q],0)===he.index||void 0!==R[q]&&R[q]===x.id)&&(C(N,he.series),N[q]=he,he.isDirty=!0)}),N[q]||N.optionalAxis===q||y(18,!0,K)})}),r(this,"afterBindAxes")}updateParallelArrays(x,N,R){let K=x.series,q=p(N)?function(he){let me="y"===he&&K.toYData?K.toYData(x):x[he];K[he+"Data"][N]=me}:function(he){Array.prototype[N].apply(K[he+"Data"],R)};K.parallelArrays.forEach(q)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(x,N){let R=x.marker,K=N.marker||{};return R&&(K.enabled&&!R.enabled||K.symbol!==R.symbol||K.height!==R.height||K.width!==R.width)}autoIncrement(x){let me,Ce,N=this.options,R=N.pointIntervalUnit,K=N.relativeXValue,q=this.chart.time,he=this.xIncrement;return he=Y(he,N.pointStart,0),this.pointInterval=Ce=Y(this.pointInterval,N.pointInterval,1),K&&p(x)&&(Ce*=x),R&&(me=new q.Date(he),"day"===R?q.set("Date",me,q.get("Date",me)+Ce):"month"===R?q.set("Month",me,q.get("Month",me)+Ce):"year"===R&&q.set("FullYear",me,q.get("FullYear",me)+Ce),Ce=me.getTime()-he),K&&p(x)?he+Ce:(this.xIncrement=he+Ce,he)}setDataSortingOptions(){let x=this.options;o(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),O(x.pointRange)||(x.pointRange=1)}setOptions(x){let N,R=this.chart,K=R.options.plotOptions,q=R.userOptions||{},he=j(x),me=R.styledMode,Ce={plotOptions:K,userOptions:he};r(this,"setOptions",Ce);let Se=Ce.plotOptions[this.type],Oe=q.plotOptions||{},Ae=Oe.series||{},Fe=F.plotOptions[this.type]||{},oe=Oe[this.type]||{};this.userOptions=Ce.userOptions;let ee=j(Se,K.series,oe,he);this.tooltipOptions=j(F.tooltip,F.plotOptions.series?.tooltip,Fe?.tooltip,R.userOptions.tooltip,Oe.series?.tooltip,oe.tooltip,he.tooltip),this.stickyTracking=Y(he.stickyTracking,oe.stickyTracking,Ae.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||ee.stickyTracking),null===Se.marker&&delete ee.marker,this.zoneAxis=ee.zoneAxis||"y";let de=this.zones=(ee.zones||[]).map(ye=>({...ye}));return(ee.negativeColor||ee.negativeFillColor)&&!ee.zones&&(N={value:ee[this.zoneAxis+"Threshold"]||ee.threshold||0,className:"highcharts-negative"},me||(N.color=ee.negativeColor,N.fillColor=ee.negativeFillColor),de.push(N)),de.length&&O(de[de.length-1].value)&&de.push(me?{}:{color:this.color,fillColor:this.fillColor}),r(this,"afterSetOptions",{options:ee}),ee}getName(){return Y(this.options.name,"Series "+(this.index+1))}getCyclic(x,N,R){let K,q,he=this.chart,me=`${x}Index`,Ce=`${x}Counter`,Se=R?.length||he.options.chart.colorCount;!N&&(O(q=Y("color"===x?this.options.colorIndex:void 0,this[me]))?K=q:(he.series.length||(he[Ce]=0),K=he[Ce]%Se,he[Ce]+=1),R&&(N=R[K])),void 0!==K&&(this[me]=K),this[x]=N}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||F.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)}findPointIndex(x,N){let R,K,q,he=x.id,me=x.x,Ce=this.points,Se=this.options.dataSorting;if(he){let Oe=this.chart.get(he);Oe instanceof fe&&(R=Oe)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let Oe=Ae=>!Ae.touched&&Ae.index===x.index;if(Se&&Se.matchByName?Oe=Ae=>!Ae.touched&&Ae.name===x.name:this.options.relativeXValue&&(Oe=Ae=>!Ae.touched&&Ae.options.x===x.x),!(R=n(Ce,Oe)))return}return R&&void 0!==(q=R&&R.index)&&(K=!0),void 0===q&&p(me)&&(q=this.xData.indexOf(me,N)),-1!==q&&void 0!==q&&this.cropped&&(q=q>=this.cropStart?q-this.cropStart:q),!K&&p(q)&&Ce[q]&&Ce[q].touched&&(q=void 0),q}updateData(x,N){let Se,Oe,Ae,Fe,R=this.options,K=R.dataSorting,q=this.points,he=[],me=this.requireSorting,Ce=x.length===q.length,oe=!0;if(this.xIncrement=null,x.forEach(function(ee,de){let ye,Te=O(ee)&&this.pointClass.prototype.optionsToObject.call({series:this},ee)||{};Te.id||p(Te.x)?(-1===(ye=this.findPointIndex(Te,Fe))||void 0===ye?he.push(ee):q[ye]&&ee!==R.data[ye]?(q[ye].update(ee,!1,null,!1),q[ye].touched=!0,me&&(Fe=ye+1)):q[ye]&&(q[ye].touched=!0),(!Ce||de!==ye||K&&K.enabled||this.hasDerivedData)&&(Se=!0)):he.push(ee)},this),Se)for(Oe=q.length;Oe--;)(Ae=q[Oe])&&!Ae.touched&&Ae.remove&&Ae.remove(!1,N);else!Ce||K&&K.enabled?oe=!1:(x.forEach(function(ee,de){ee===q[de].y||q[de].destroyed||q[de].update(ee,!1,null,!1)}),he.length=0);return q.forEach(function(ee){ee&&(ee.touched=!1)}),!!oe&&(he.forEach(function(ee){this.addPoint(ee,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=_(this.xData),this.autoIncrement()),!0)}setData(x,N=!0,R,K){let _e,Me,Ee,Qe,q=this,he=q.points,me=he&&he.length||0,Ce=q.options,Se=q.chart,Oe=Ce.dataSorting,Ae=q.xAxis,Fe=Ce.turboThreshold,oe=this.xData,ee=this.yData,de=q.pointArrayMap,ye=de&&de.length,Te=Ce.keys,Xe=0,Ze=1,lt=null;Se.options.chart.allowMutatingData||(Ce.data&&delete q.options.data,q.userOptions.data&&delete q.userOptions.data,Qe=j(!0,x));let st=(x=Qe||x||[]).length;if(Oe&&Oe.enabled&&(x=this.sortData(x)),Se.options.chart.allowMutatingData&&!1!==K&&st&&me&&!q.cropped&&!q.hasGroupedData&&q.visible&&!q.boosted&&(Ee=this.updateData(x,R)),!Ee){if(q.xIncrement=null,q.colorCounter=0,this.parallelArrays.forEach(function(kt){q[kt+"Data"].length=0}),Fe&&st>Fe)if(p(lt=q.getFirstValidPoint(x)))for(_e=0;_e=0?Xe:0,Ze=Ze>=0?Ze:1),1===lt.length&&(Ze=0),Xe===Ze)for(_e=0;_e{let me=d(R,q),Ce=d(R,he);return Ceme?1:0}).forEach(function(q,he){q.x=he},this),N.linkedSeries&&N.linkedSeries.forEach(function(q){let he=q.options,me=he.data;he.dataSorting&&he.dataSorting.enabled||!me||(me.forEach(function(Ce,Se){me[Se]=K(q,Ce),x[Se]&&(me[Se].x=x[Se].x,me[Se].index=Se)}),q.setData(me,!1))}),x}getProcessedData(x){let Se,Oe,Fe,oe,ee,N=this,R=N.xAxis,K=N.options,q=K.cropThreshold,he=x||N.getExtremesFromAll||K.getExtremesFromAll,me=R?.logarithmic,Ce=N.isCartesian,Ae=0,de=N.xData,ye=N.yData,Te=!1,_e=de.length;R&&(oe=(Fe=R.getExtremes()).min,ee=Fe.max,Te=!(!R.categories||R.names.length)),Ce&&N.sorted&&!he&&(!q||_e>q||N.forceCrop)&&(de[_e-1]ee?(de=[],ye=[]):N.yData&&(de[0]ee)&&(de=(Se=this.cropData(N.xData,N.yData,oe,ee)).xData,ye=Se.yData,Ae=Se.start,Oe=!0));let Me=l([me?de.map(me.log2lin):de],()=>N.requireSorting&&!Te&&y(15,!1,N.chart));return{xData:de,yData:ye,cropped:Oe,cropStart:Ae,closestPointRange:Me}}processData(x){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!x)return!1;let R=this.getProcessedData();this.cropped=R.cropped,this.cropStart=R.cropStart,this.processedXData=R.xData,this.processedYData=R.yData,this.closestPointRange=this.basePointRange=R.closestPointRange,r(this,"afterProcessData")}cropData(x,N,R,K){let he,me,q=x.length,Ce=0,Se=q;for(he=0;he=R){Ce=Math.max(0,he-1);break}for(me=he;meK){Se=me+1;break}return{xData:x.slice(Ce,Se),yData:N.slice(Ce,Se),start:Ce,end:Se}}generatePoints(){let Fe,oe,ee,de,x=this.options,N=this.processedData||x.data,R=this.processedXData,K=this.processedYData,q=this.pointClass,he=R.length,me=this.cropStart||0,Ce=this.hasGroupedData,Se=x.keys,Oe=[],Ae=x.dataGrouping&&x.dataGrouping.groupAll?me:0,ye=this.data;if(!ye&&!Ce){let Te=[];Te.length=N.length,ye=this.data=Te}for(Se&&Ce&&(this.options.keys=!1),de=0;de0:oe.length)||!Ce),Ae=N||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!R||(q[ee+me]||Fe)>=ye&&(q[ee-me]||Fe)<=Te,Oe&&Ae)if(de=oe.length)for(;de--;)p(oe[de])&&(he[_e++]=oe[de]);else he[_e++]=oe;let Ee={activeYData:he,dataMin:b(he),dataMax:_(he)};return r(this,"afterGetExtremes",{dataExtremes:Ee}),Ee}applyExtremes(){let x=this.getExtremes();return this.dataMin=x.dataMin,this.dataMax=x.dataMax,x}getFirstValidPoint(x){let N=x.length,R=0,K=null;for(;null===K&&R1)&&(he.step=function(Fe,oe){Ae&&Ae.apply(oe,arguments),"width"===oe.prop&&Se?.element&&Se.attr(q?"height":"width",Fe+99)}),Ce.addClass("highcharts-animating").animate(Oe,he)}}afterAnimate(){this.setClip(),H(this.chart.sharedClips,(x,N,R)=>{x&&!this.chart.container.querySelector(`[clip-path="url(#${x.id})"]`)&&(x.destroy(),delete R[N])}),this.finishedAnimating=!0,r(this,"afterAnimate")}drawPoints(x=this.points){let N,R,K,q,he,me,Ce,Se=this.chart,Oe=Se.styledMode,{colorAxis:Ae,options:Fe}=this,oe=Fe.marker,ee=this[this.specialGroup||"markerGroup"],de=this.xAxis,ye=Y(oe.enabled,!de||!!de.isRadial||null,this.closestPointRangePx>=oe.enabledThreshold*oe.radius);if(!1!==oe.enabled||this._hasPointMarkers)for(N=0;N0||R.hasImage)&&(R.graphic=K=Se.renderer.symbol(Te,Ce.x,Ce.y,Ce.width,Ce.height,me?he:oe).add(ee),this.enabledDataSorting&&Se.hasRendered&&(K.attr({x:R.startXPos}),q="animate")),K&&"animate"===q&&K[_e?"show":"hide"](_e).animate(Ce),K){let Me=this.pointAttribs(R,Oe||!R.selected?void 0:"select");Oe?Ae&&K.css({fill:Me.fill}):K[q](Me)}K&&K.addClass(R.getClassName(),!0)}else K&&(R.graphic=K.destroy())}markerAttribs(x,N){let Ce,Se,R=this.options,K=R.marker,q=x.marker||{},he=q.symbol||K.symbol,me={},Oe=Y(q.radius,K&&K.radius);N&&(Ce=K.states[N],Oe=Y((Se=q.states&&q.states[N])&&Se.radius,Ce&&Ce.radius,Oe&&Oe+(Ce&&Ce.radiusPlus||0))),x.hasImage=he&&0===he.indexOf("url"),x.hasImage&&(Oe=0);let Ae=x.pos();return p(Oe)&&Ae&&(me.x=Ae[0]-Oe,me.y=Ae[1]-Oe,R.crisp&&(me.x=Math.floor(me.x))),Oe&&(me.width=me.height=2*Oe),me}pointAttribs(x,N){let Se,Oe,Fe,oe,R=this.options.marker,K=x&&x.options,q=K&&K.marker||{},he=K&&K.color,me=x&&x.color,Ce=x&&x.zone&&x.zone.color,Ae=this.color,ee=Y(q.lineWidth,R.lineWidth),de=1;return Ae=he||Ce||me||Ae,Fe=q.fillColor||R.fillColor||Ae,oe=q.lineColor||R.lineColor||Ae,Se=R.states[N=N||"normal"]||{},ee=Y((Oe=q.states&&q.states[N]||{}).lineWidth,Se.lineWidth,ee+Y(Oe.lineWidthPlus,Se.lineWidthPlus,0)),Fe=Oe.fillColor||Se.fillColor||Fe,{stroke:oe=Oe.lineColor||Se.lineColor||oe,"stroke-width":ee,fill:Fe,opacity:de=Y(Oe.opacity,Se.opacity,de)}}destroy(x){let N,R,K,q=this,he=q.chart,me=/AppleWebKit\/533/.test(I.navigator.userAgent),Ce=q.data||[];for(r(q,"destroy",{keepEventsForUpdate:x}),this.removeEvents(x),(q.axisTypes||[]).forEach(function(Se){(K=q[Se])&&K.series&&(g(K.series,q),K.isDirty=K.forceRedraw=!0)}),q.legendItem&&q.chart.legend.destroyItem(q),N=Ce.length;N--;)(R=Ce[N])&&R.destroy&&R.destroy();for(let Se of q.zones)f(Se,void 0,!0);$.clearTimeout(q.animationTimeout),H(q,function(Se,Oe){Se instanceof te&&!Se.survive&&Se[me&&"group"===Oe?"hide":"destroy"]()}),he.hoverSeries===q&&(he.hoverSeries=void 0),g(he.series,q),he.orderItems("series"),H(q,function(Se,Oe){x&&"hcEvents"===Oe||delete q[Oe]})}applyZones(){let{area:x,chart:N,graph:R,zones:K,points:q,xAxis:he,yAxis:me,zoneAxis:Ce}=this,{inverted:Se,renderer:Oe}=N,Ae=this[`${Ce}Axis`],{isXAxis:Fe,len:oe=0}=Ae||{},ee=(R?.strokeWidth()||0)/2+1,de=(ye,Te=0,_e=0)=>{Se&&(_e=oe-_e);let{translated:Me=0,lineClip:Ee}=ye,Xe=_e-Me;Ee?.push(["L",Te,Math.abs(Xe){Ee.forEach((Xe,Ze)=>{("M"===Xe[0]||"L"===Xe[0])&&(Ee[Ze]=[Xe[0],Fe?oe-Xe[1]:Xe[1],Fe?Xe[2]:oe-Xe[2]])})};if(K.forEach(Ee=>{Ee.lineClip=[],Ee.translated=T(Ae.toPixels(Y(Ee.value,ye),!0)||0,0,oe)}),R&&!this.showLine&&R.hide(),x&&x.hide(),"y"===Ce&&q.length{let Xe=Ee.lineClip||[],Ze=Math.round(Ee.translated||0);he.reversed&&Xe.reverse();let{clip:lt,simpleClip:Qe}=Ee,st=0,kt=0,pt=he.len,ht=me.len;Fe?(st=Ze,pt=Me):(kt=Ze,ht=Me);let Lt=[["M",st,kt],["L",pt,kt],["L",pt,ht],["L",st,ht],["Z"]],Gt=[Lt[0],...Xe,Lt[1],Lt[2],..._e,Lt[3],Lt[4]];_e=Xe.reverse(),Me=Ze,Se&&(Te(Gt),x&&Te(Lt)),lt?(lt.animate({d:Gt}),Qe?.animate({d:Lt})):(lt=Ee.clip=Oe.path(Gt),x&&(Qe=Ee.simpleClip=Oe.path(Lt))),R&&Ee.graph?.clip(lt),x&&Ee.area?.clip(Qe)})}else this.visible&&(R&&R.show(),x&&x.show())}plotGroup(x,N,R,K,q){let he=this[x],me=!he,Ce={visibility:R,zIndex:K||.1};return O(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(Ce.opacity=this.opacity),he||(this[x]=he=this.chart.renderer.g().add(q)),he.addClass("highcharts-"+N+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(O(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(he.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),he.attr(Ce)[me?"attr":"animate"](this.getPlotBox(N)),he}getPlotBox(x){let N=this.xAxis,R=this.yAxis,K=this.chart,q=K.inverted&&!K.polar&&N&&this.invertible&&"series"===x;return K.inverted&&(N=R,R=this.xAxis),{translateX:N?N.left:K.plotLeft,translateY:R?R.top:K.plotTop,rotation:q?90:0,rotationOriginX:q?(N.len-R.len)/2:0,rotationOriginY:q?(N.len+R.len)/2:0,scaleX:q?-1:1,scaleY:1}}removeEvents(x){let{eventsToUnbind:N}=this;x||U(this),N.length&&(N.forEach(R=>{R()}),N.length=0)}render(){let x=this,{chart:N,options:R,hasRendered:K}=x,q=A(R.animation),he=x.visible?"inherit":"hidden",me=R.zIndex,Ce=N.seriesGroup,Se=x.finishedAnimating?0:q.duration;r(this,"render"),x.plotGroup("group","series",he,me,Ce),x.markerGroup=x.plotGroup("markerGroup","markers",he,me,Ce),!1!==R.clip&&x.setClip(),Se&&x.animate?.(!0),x.drawGraph&&(x.drawGraph(),x.applyZones()),x.visible&&x.drawPoints(),x.drawDataLabels?.(),x.redrawPoints?.(),R.enableMouseTracking&&x.drawTracker?.(),Se&&x.animate?.(),K||(Se&&q.defer&&(Se+=q.defer),x.animationTimeout=w(()=>{x.afterAnimate()},Se||0)),x.isDirty=!1,x.hasRendered=!0,r(x,"afterRender")}redraw(){let x=this.isDirty||this.isDirtyData;this.translate(),this.render(),x&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(x,N){let{xAxis:R,yAxis:K}=this,q=this.chart.inverted;return this.searchKDTree({clientX:q?R.len-x.chartY+R.pos:x.chartX-R.pos,plotY:q?K.len-x.chartX+K.pos:x.chartY-K.pos},N,x)}buildKDTree(x){this.buildingKdTree=!0;let N=this,R=N.options.findNearestPointBy.indexOf("y")>-1?2:1;delete N.kdTree,w(function(){N.kdTree=function K(q,he,me){let Ce,Se,Oe=q?.length;if(Oe)return Ce=N.kdAxisArray[he%me],q.sort((Ae,Fe)=>(Ae[Ce]||0)-(Fe[Ce]||0)),{point:q[Se=Math.floor(Oe/2)],left:K(q.slice(0,Se),he+1,me),right:K(q.slice(Se+1),he+1,me)}}(N.getValidPoints(void 0,!N.directTouch),R,R),N.buildingKdTree=!1},N.options.kdNow||"touchstart"===x?.type?0:1)}searchKDTree(x,N,R){let K=this,[q,he]=this.kdAxisArray,me=N?"distX":"dist",Ce=(K.options.findNearestPointBy||"").indexOf("y")>-1?2:1,Se=!!K.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(R),this.kdTree)return function Oe(Ae,Fe,oe,ee){let Te,_e,de=Fe.point,ye=K.kdAxisArray[oe%ee],Me=de;!function(lt,Qe){let st=lt[q],kt=Qe[q],pt=O(st)&&O(kt)?st-kt:null,ht=lt[he],Lt=Qe[he],Gt=O(ht)&&O(Lt)?ht-Lt:0,ti=Se&&Qe.marker?.radius||0;Qe.dist=Math.sqrt((pt&&pt*pt||0)+Gt*Gt)-ti,Qe.distX=O(pt)?Math.abs(pt)-ti:Number.MAX_VALUE}(Ae,de);let Ee=(Ae[ye]||0)-(de[ye]||0)+(Se&&de.marker?.radius||0),Xe=Ee<0?"left":"right",Ze=Ee<0?"right":"left";return Fe[Xe]&&(Me=(Te=Oe(Ae,Fe[Xe],oe+1,ee))[me]=0&&he<=(K?K.len:N.plotHeight)&&q>=0&&q<=(R?R.len:N.plotWidth)}drawTracker(){let x=this,N=x.options,R=N.trackByArea,K=[].concat((R?x.areaPath:x.graphPath)||[]),q=x.chart,he=q.pointer,me=q.renderer,Ce=q.options.tooltip?.snap||0,Se=()=>{N.enableMouseTracking&&q.hoverSeries!==x&&x.onMouseOver()},Oe="rgba(192,192,192,"+(D?1e-4:.002)+")",Ae=x.tracker;Ae?Ae.attr({d:K}):x.graph&&(x.tracker=Ae=me.path(K).attr({visibility:x.visible?"inherit":"hidden",zIndex:2}).addClass(R?"highcharts-tracker-area":"highcharts-tracker-line").add(x.group),q.styledMode||Ae.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:Oe,fill:R?Oe:"none","stroke-width":x.graph.strokeWidth()+(R?0:2*Ce)}),[x.tracker,x.markerGroup,x.dataLabelsGroup].forEach(Fe=>{Fe&&(Fe.addClass("highcharts-tracker").on("mouseover",Se).on("mouseout",oe=>{he?.onTrackerMouseOut(oe)}),N.cursor&&!q.styledMode&&Fe.css({cursor:N.cursor}),Fe.on("touchstart",Se))})),r(this,"afterDrawTracker")}addPoint(x,N,R,K,q){let he,me,Ce=this.options,Se=this.data,Oe=this.chart,Ae=this.xAxis,Fe=Ae&&Ae.hasNames&&Ae.names,oe=Ce.data,ee=this.xData;N=Y(N,!0);let de={series:this};this.pointClass.prototype.applyOptions.apply(de,[x]);let ye=de.x;if(me=ee.length,this.requireSorting&&yeye;)me--;this.updateParallelArrays(de,"splice",[me,0,0]),this.updateParallelArrays(de,me),Fe&&de.name&&(Fe[ye]=de.name),oe.splice(me,0,x),(he||this.processedData)&&(this.data.splice(me,0,null),this.processData()),"point"===Ce.legendType&&this.generatePoints(),R&&(Se[0]&&Se[0].remove?Se[0].remove(!1):(Se.shift(),this.updateParallelArrays(de,"shift"),oe.shift())),!1!==q&&r(this,"addPoint",{point:de}),this.isDirty=!0,this.isDirtyData=!0,N&&Oe.redraw(K)}removePoint(x,N,R){let K=this,q=K.data,he=q[x],me=K.points,Ce=K.chart,Se=function(){me&&me.length===q.length&&me.splice(x,1),q.splice(x,1),K.options.data.splice(x,1),K.updateParallelArrays(he||{series:K},"splice",[x,1]),he&&he.destroy(),K.isDirty=!0,K.isDirtyData=!0,N&&Ce.redraw()};B(R,Ce),N=Y(N,!0),he?he.firePointEvent("remove",null,Se):Se()}remove(x,N,R,K){let q=this,he=q.chart;function me(){q.destroy(K),he.isDirtyLegend=he.isDirtyBox=!0,he.linkSeries(K),Y(x,!0)&&he.redraw(N)}!1!==R?r(q,"remove",null,me):me()}update(x,N){r(this,"update",{options:x=a(x,this.userOptions)});let Ae,Fe,R=this,K=R.chart,q=R.userOptions,he=R.initialType||R.type,me=K.options.plotOptions,Ce=E[he].prototype,Se=R.finishedAnimating&&{animation:!1},Oe={},oe=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],ee=x.type||q.type||K.options.chart.type,de=!(this.hasDerivedData||ee&&ee!==this.type||void 0!==x.pointStart||void 0!==x.pointInterval||void 0!==x.relativeXValue||x.joinBy||x.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(Te=>R.hasOptionChanged(Te)));ee=ee||he,de&&(oe.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==x.visible&&oe.push("area","graph"),R.parallelArrays.forEach(function(Te){oe.push(Te+"Data")}),x.data&&(x.dataSorting&&o(R.options.dataSorting,x.dataSorting),this.setData(x.data,!1))),x=j(q,{index:void 0===q.index?R.index:q.index,pointStart:me?.series?.pointStart??q.pointStart??R.xData?.[0]},!de&&{data:R.options.data},x,Se),de&&x.data&&(x.data=R.options.data),(oe=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(oe)).forEach(function(Te){oe[Te]=R[Te],delete R[Te]});let ye=!1;if(E[ee]){if(ye=ee!==R.type,R.remove(!1,!1,!1,!0),ye)if(K.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(R,E[ee].prototype);else{let Te=Object.hasOwnProperty.call(R,"hcEvents")&&R.hcEvents;for(Fe in Ce)R[Fe]=void 0;o(R,E[ee].prototype),Te?R.hcEvents=Te:delete R.hcEvents}}else y(17,!0,K,{missingModuleFor:ee});if(oe.forEach(function(Te){R[Te]=oe[Te]}),R.init(K,x),de&&this.points)for(let Te of(!1===(Ae=R.options).visible?(Oe.graphic=1,Oe.dataLabel=1):(this.hasMarkerChanged(Ae,q)&&(Oe.graphic=1),R.hasDataLabels?.()||(Oe.dataLabel=1)),this.points))Te&&Te.series&&(Te.resolveColor(),Object.keys(Oe).length&&Te.destroyElements(Oe),!1===Ae.showInLegend&&Te.legendItem&&K.legend.destroyItem(Te));R.initialType=he,K.linkSeries(),K.setSortedData(),ye&&R.linkedSeries.length&&(R.isDirtyData=!0),r(this,"afterUpdate"),Y(N,!0)&&K.redraw(!!de&&void 0)}setName(x){this.name=this.options.name=this.userOptions.name=x,this.chart.isDirtyLegend=!0}hasOptionChanged(x){let R=this.options[x],K=this.chart.options.plotOptions,q=this.userOptions[x],he=Y(K?.[this.type]?.[x],K?.series?.[x]);return q&&!O(he)?R!==q:R!==Y(he,R)}onMouseOver(){let x=this.chart,N=x.hoverSeries;x.pointer?.setHoverChartIndex(),N&&N!==this&&N.onMouseOut(),this.options.events.mouseOver&&r(this,"mouseOver"),this.setState("hover"),x.hoverSeries=this}onMouseOut(){let x=this.options,N=this.chart,R=N.tooltip,K=N.hoverPoint;N.hoverSeries=null,K&&K.onMouseOut(),this&&x.events.mouseOut&&r(this,"mouseOut"),R&&!this.stickyTracking&&(!R.shared||this.noSharedTooltip)&&R.hide(),N.series.forEach(function(q){q.setState("",!0)})}setState(x,N){let R=this,K=R.options,q=R.graph,he=K.inactiveOtherPoints,me=K.states,Ce=Y(me[x||"normal"]&&me[x||"normal"].animation,R.chart.options.chart.animation),Se=K.lineWidth,Oe=K.opacity;if(R.state!==(x=x||"")&&([R.group,R.markerGroup,R.dataLabelsGroup].forEach(function(Ae){Ae&&(R.state&&Ae.removeClass("highcharts-series-"+R.state),x&&Ae.addClass("highcharts-series-"+x))}),R.state=x,!R.chart.styledMode)){if(me[x]&&!1===me[x].enabled)return;if(x&&(Se=me[x].lineWidth||Se+(me[x].lineWidthPlus||0),Oe=Y(me[x].opacity,Oe)),q&&!q.dashstyle&&p(Se))for(let Ae of[q,...this.zones.map(Fe=>Fe.graph)])Ae?.animate({"stroke-width":Se},Ce);he||[R.group,R.markerGroup,R.dataLabelsGroup,R.labelBySeries].forEach(function(Ae){Ae&&Ae.animate({opacity:Oe},Ce)})}N&&he&&R.points&&R.setAllPointsToState(x||void 0)}setAllPointsToState(x){this.points.forEach(function(N){N.setState&&N.setState(x)})}setVisible(x,N){let R=this,K=R.chart,q=K.options.chart.ignoreHiddenSeries;R.visible=x=R.options.visible=R.userOptions.visible=void 0===x?!R.visible:x;let me=x?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(Ce=>{R[Ce]?.[me]()}),(K.hoverSeries===R||K.hoverPoint?.series===R)&&R.onMouseOut(),R.legendItem&&K.legend.colorizeItem(R,x),R.isDirty=!0,R.options.stacking&&K.series.forEach(Ce=>{Ce.options.stacking&&Ce.visible&&(Ce.isDirty=!0)}),R.linkedSeries.forEach(Ce=>{Ce.setVisible(x,!1)}),q&&(K.isDirtyBox=!0),r(R,me),!1!==N&&K.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(x){this.selected=x=this.options.selected=void 0===x?!this.selected:x,this.checkbox&&(this.checkbox.checked=x),r(this,x?"select":"unselect")}shouldShowTooltip(x,N,R={}){return R.series=this,R.visiblePlotOnly=!0,this.chart.isInsidePlot(x,N,R)}drawLegendSymbol(x,N){le[this.options.legendSymbol||"rectangle"]?.call(this,x,N)}}return X.defaultOptions=pe,X.types=J.seriesTypes,X.registerType=J.registerSeriesType,o(X.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:fe,requireSorting:!0,sorted:!0}),J.series=X,X}),Pe(V,"Core/Chart/Chart.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Time.js"],V["Core/Utilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Axis/Tick.js"]],function(Z,ie,re,ve,le,fe,pe,J,te,$,A,B,F,L){let{animate:D,animObject:I,setAnimation:E}=Z,{defaultOptions:_,defaultTime:b}=re,{numberFormat:T}=ve,{registerEventOptions:z}=le,{charts:O,doc:f,marginNames:a,svg:g,win:y}=fe,{seriesTypes:o}=te,{addEvent:n,attr:r,createElement:l,css:d,defined:C,diffObjects:k,discardElement:p,erase:S,error:j,extend:H,find:Y,fireEvent:U,getStyle:se,isArray:w,isNumber:X,isObject:G,isString:x,merge:N,objectEach:R,pick:K,pInt:q,relativeLength:he,removeEvent:me,splat:Ce,syncTimeout:Se,uniqueKey:Oe}=B;class Ae{static chart(oe,ee,de){return new Ae(oe,ee,de)}constructor(oe,ee,de){this.sharedClips={};let ye=[...arguments];(x(oe)||oe.nodeName)&&(this.renderTo=ye.shift()),this.init(ye[0],ye[1])}setZoomOptions(){let oe=this.options.chart,ee=oe.zooming;this.zooming={...ee,type:K(oe.zoomType,ee.type),key:K(oe.zoomKey,ee.key),pinchType:K(oe.pinchType,ee.pinchType),singleTouch:K(oe.zoomBySingleTouch,ee.singleTouch,!1),resetButton:N(ee.resetButton,oe.resetZoomButton)}}init(oe,ee){U(this,"init",{args:arguments},function(){let de=N(_,oe),ye=de.chart;this.userOptions=H({},oe),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=ee,this.isResizing=0,this.options=de,this.axes=[],this.series=[],this.time=oe.time&&Object.keys(oe.time).length?new A(oe.time):fe.time,this.numberFormatter=ye.numberFormatter||T,this.styledMode=ye.styledMode,this.hasCartesianSeries=ye.showAxes,this.index=O.length,O.push(this),fe.chartCount++,z(this,ye),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),U(this,"afterInit"),this.firstRender()})}initSeries(oe){let de=oe.type||this.options.chart.type,ye=o[de];ye||j(17,!0,this,{missingModuleFor:de});let Te=new ye;return"function"==typeof Te.init&&Te.init(this,oe),Te}setSortedData(){this.getSeriesOrderByLinks().forEach(function(oe){oe.points||oe.data||!oe.enabledDataSorting||oe.setData(oe.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(oe,ee){return oe.linkedSeries.length||ee.linkedSeries.length?ee.linkedSeries.length-oe.linkedSeries.length:0})}orderItems(oe,ee=0){let de=this[oe],ye=this.options[oe]=Ce(this.options[oe]).slice(),Te=this.userOptions[oe]=this.userOptions[oe]?Ce(this.userOptions[oe]).slice():[];if(this.hasRendered&&(ye.splice(ee),Te.splice(ee)),de)for(let _e=ee,Me=de.length;_e=Math.max(Xe+_e,ht.pos)&&Lt<=Math.min(Xe+_e+Qe.width,ht.pos+ht.len)||(pt.isInsidePlot=!1)}if(!de.ignoreY&&pt.isInsidePlot){let ht=!ye&&de.axis&&!de.axis.isXAxis&&de.axis||lt&&(ye?lt.xAxis:lt.yAxis)||{pos:Me,len:1/0},Lt=de.paneCoordinates?ht.pos+kt:Me+kt;Lt>=Math.max(Ze+Me,ht.pos)&&Lt<=Math.min(Ze+Me+Qe.height,ht.pos+ht.len)||(pt.isInsidePlot=!1)}return U(this,"afterIsInsidePlot",pt),pt.isInsidePlot}redraw(oe){U(this,"beforeRedraw");let Ze,lt,Qe,pt,ee=this.hasCartesianSeries?this.axes:this.colorAxis||[],de=this.series,ye=this.pointer,Te=this.legend,_e=this.userOptions.legend,Me=this.renderer,Ee=Me.isHidden(),Xe=[],st=this.isDirtyBox,kt=this.isDirtyLegend;for(Me.rootFontSize=Me.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),E(!!this.hasRendered&&oe,this),Ee&&this.temporaryDisplay(),this.layOutTitles(!1),Qe=de.length;Qe--;)if(((pt=de[Qe]).options.stacking||pt.options.centerInCategory)&&(lt=!0,pt.isDirty)){Ze=!0;break}if(Ze)for(Qe=de.length;Qe--;)(pt=de[Qe]).options.stacking&&(pt.isDirty=!0);de.forEach(function(ht){ht.isDirty&&("point"===ht.options.legendType?("function"==typeof ht.updateTotals&&ht.updateTotals(),kt=!0):_e&&(_e.labelFormatter||_e.labelFormat)&&(kt=!0)),ht.isDirtyData&&U(ht,"updatedData")}),kt&&Te&&Te.options.enabled&&(Te.render(),this.isDirtyLegend=!1),lt&&this.getStacks(),ee.forEach(function(ht){ht.updateNames(),ht.setScale()}),this.getMargins(),ee.forEach(function(ht){ht.isDirty&&(st=!0)}),ee.forEach(function(ht){let Lt=ht.min+","+ht.max;ht.extKey!==Lt&&(ht.extKey=Lt,Xe.push(function(){U(ht,"afterSetExtremes",H(ht.eventArgs,ht.getExtremes())),delete ht.eventArgs})),(st||lt)&&ht.redraw()}),st&&this.drawChartBox(),U(this,"predraw"),de.forEach(function(ht){(st||ht.isDirty)&&ht.visible&&ht.redraw(),ht.isDirtyData=!1}),ye&&ye.reset(!0),Me.draw(),U(this,"redraw"),U(this,"render"),Ee&&this.temporaryDisplay(!0),Xe.forEach(function(ht){ht.call()})}get(oe){let ee=this.series;function de(Te){return Te.id===oe||Te.options&&Te.options.id===oe}let ye=Y(this.axes,de)||Y(this.series,de);for(let Te=0;!ye&&Te(ee.getPointsCollection().forEach(de=>{K(de.selectedStaging,de.selected)&&oe.push(de)}),oe),[])}getSelectedSeries(){return this.series.filter(function(oe){return oe.selected})}setTitle(oe,ee,de){this.applyDescription("title",oe),this.applyDescription("subtitle",ee),this.applyDescription("caption",void 0),this.layOutTitles(de)}applyDescription(oe,ee){let de=this,ye=this.options[oe]=N(this.options[oe],ee),Te=this[oe];Te&&ee&&(this[oe]=Te=Te.destroy()),ye&&!Te&&((Te=this.renderer.text(ye.text,0,0,ye.useHTML).attr({align:ye.align,class:"highcharts-"+oe,zIndex:ye.zIndex||4}).add()).update=function(_e,Me){de.applyDescription(oe,_e),de.layOutTitles(Me)},this.styledMode||Te.css(H("title"===oe?{fontSize:this.options.isStock?"1em":"1.2em"}:{},ye.style)),this[oe]=Te)}layOutTitles(oe=!0){let ee=[0,0,0],de=this.renderer,ye=this.spacingBox;["title","subtitle","caption"].forEach(function(_e){let Me=this[_e],Ee=this.options[_e],Xe=Ee.verticalAlign||"top",Ze="title"===_e?"top"===Xe?-3:0:"top"===Xe?ee[0]+2:0;if(Me){Me.css({width:(Ee.width||ye.width+(Ee.widthAdjust||0))+"px"});let lt=de.fontMetrics(Me).b,Qe=Math.round(Me.getBBox(Ee.useHTML).height);Me.align(H({y:"bottom"===Xe?lt:Ze+lt,height:Qe},Ee),!1,"spacingBox"),Ee.floating||("top"===Xe?ee[0]=Math.ceil(ee[0]+Qe):"bottom"===Xe&&(ee[2]=Math.ceil(ee[2]+Qe)))}},this),ee[0]&&"top"===(this.options.title.verticalAlign||"top")&&(ee[0]+=this.options.title.margin),ee[2]&&"bottom"===this.options.caption.verticalAlign&&(ee[2]+=this.options.caption.margin);let Te=!this.titleOffset||this.titleOffset.join(",")!==ee.join(",");this.titleOffset=ee,U(this,"afterLayOutTitles"),!this.isDirtyBox&&Te&&(this.isDirtyBox=this.isDirtyLegend=Te,this.hasRendered&&oe&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:se(this.renderTo,"width",!0)||0,height:se(this.renderTo,"height",!0)||0}}getChartSize(){let oe=this.options.chart,ee=oe.width,de=oe.height,ye=this.getContainerBox();this.chartWidth=Math.max(0,ee||ye.width||600),this.chartHeight=Math.max(0,he(de,this.chartWidth)||(ye.height>1?ye.height:400)),this.containerBox=ye}temporaryDisplay(oe){let de,ee=this.renderTo;if(oe)for(;ee&&ee.style;)ee.hcOrigStyle&&(d(ee,ee.hcOrigStyle),delete ee.hcOrigStyle),ee.hcOrigDetached&&(f.body.removeChild(ee),ee.hcOrigDetached=!1),ee=ee.parentNode;else for(;ee&&ee.style&&(f.body.contains(ee)||ee.parentNode||(ee.hcOrigDetached=!0,f.body.appendChild(ee)),("none"===se(ee,"display",!1)||ee.hcOricDetached)&&(ee.hcOrigStyle={display:ee.style.display,height:ee.style.height,overflow:ee.style.overflow},de={display:"block",overflow:"hidden"},ee!==this.renderTo&&(de.height=0),d(ee,de),ee.offsetWidth||ee.style.setProperty("display","block","important")),(ee=ee.parentNode)!==f.body););}setClassName(oe){this.container.className="highcharts-container "+(oe||"")}getContainer(){let Te,oe=this.options,ee=oe.chart,de="data-highcharts-chart",ye=Oe(),_e=this.renderTo;_e||(this.renderTo=_e=ee.renderTo),x(_e)&&(this.renderTo=_e=f.getElementById(_e)),_e||j(13,!0,this);let Me=q(r(_e,de));X(Me)&&O[Me]&&O[Me].hasRendered&&O[Me].destroy(),r(_e,de,this.index),_e.innerHTML=F.emptyHTML,ee.skipClone||_e.offsetWidth||this.temporaryDisplay(),this.getChartSize();let Ee=this.chartHeight,Xe=this.chartWidth;d(_e,{overflow:"hidden"}),this.styledMode||(Te=H({position:"relative",overflow:"hidden",width:Xe+"px",height:Ee+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},ee.style||{}));let Ze=l("div",{id:ye},Te,_e);this.container=Ze,this.getChartSize(),Xe===this.chartWidth||(Xe=this.chartWidth,this.styledMode||d(Ze,{width:K(ee.style?.width,Xe+"px")})),this.containerBox=this.getContainerBox(),this._cursor=Ze.style.cursor;let lt=ee.renderer||!g?pe.getRendererType(ee.renderer):$;if(this.renderer=new lt(Ze,Xe,Ee,void 0,ee.forExport,oe.exporting&&oe.exporting.allowHTML,this.styledMode),E(void 0,this),this.setClassName(ee.className),this.styledMode)for(let Qe in oe.defs)this.renderer.definition(oe.defs[Qe]);else this.renderer.setStyle(ee.style);this.renderer.chartIndex=this.index,U(this,"afterGetContainer")}getMargins(oe){let{spacing:ee,margin:de,titleOffset:ye}=this;this.resetMargins(),ye[0]&&!C(de[0])&&(this.plotTop=Math.max(this.plotTop,ye[0]+ee[0])),ye[2]&&!C(de[2])&&(this.marginBottom=Math.max(this.marginBottom,ye[2]+ee[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(de,ee),U(this,"getMargins"),oe||this.getAxisMargins()}getAxisMargins(){let oe=this,ee=oe.axisOffset=[0,0,0,0],de=oe.colorAxis,ye=oe.margin,Te=function(_e){_e.forEach(function(Me){Me.visible&&Me.getOffset()})};oe.hasCartesianSeries?Te(oe.axes):de&&de.length&&Te(de),a.forEach(function(_e,Me){C(ye[Me])||(oe[_e]+=ee[Me])}),oe.setChartSize()}getOptions(){return k(this.userOptions,_)}reflow(oe){let ee=this,de=ee.containerBox,ye=ee.getContainerBox();delete ee.pointer?.chartPosition,!ee.isPrinting&&!ee.isResizing&&de&&ye.width&&((ye.width!==de.width||ye.height!==de.height)&&(B.clearTimeout(ee.reflowTimeout),ee.reflowTimeout=Se(function(){ee.container&&ee.setSize(void 0,void 0,!1)},oe?100:0)),ee.containerBox=ye)}setReflow(){let oe=this,ee=de=>{oe.options?.chart.reflow&&oe.hasLoaded&&oe.reflow(de)};if("function"==typeof ResizeObserver)new ResizeObserver(ee).observe(oe.renderTo);else{let de=n(y,"resize",ee);n(this,"destroy",de)}}setSize(oe,ee,de){let ye=this,Te=ye.renderer;ye.isResizing+=1,E(de,ye);let _e=Te.globalAnimation;ye.oldChartHeight=ye.chartHeight,ye.oldChartWidth=ye.chartWidth,void 0!==oe&&(ye.options.chart.width=oe),void 0!==ee&&(ye.options.chart.height=ee),ye.getChartSize();let{chartWidth:Me,chartHeight:Ee,scrollablePixelsX:Xe=0,scrollablePixelsY:Ze=0}=ye;(ye.isDirtyBox||Me!==ye.oldChartWidth||Ee!==ye.oldChartHeight)&&(ye.styledMode||(_e?D:d)(ye.container,{width:`${Me+Xe}px`,height:`${Ee+Ze}px`},_e),ye.setChartSize(!0),Te.setSize(Me,Ee,_e),ye.axes.forEach(function(lt){lt.isDirty=!0,lt.setScale()}),ye.isDirtyLegend=!0,ye.isDirtyBox=!0,ye.layOutTitles(),ye.getMargins(),ye.redraw(_e),ye.oldChartHeight=void 0,U(ye,"resize"),setTimeout(()=>{ye&&U(ye,"endResize",void 0,()=>{ye.isResizing-=1})},I(_e).duration))}setChartSize(oe){let ee,de,ye,Te,_e=this.inverted,Me=this.renderer,Ee=this.chartWidth,Xe=this.chartHeight,Ze=this.options.chart,lt=this.spacing,Qe=this.clipOffset;this.plotLeft=ee=Math.round(this.plotLeft),this.plotTop=de=Math.round(this.plotTop),this.plotWidth=ye=Math.max(0,Math.round(Ee-ee-this.marginRight)),this.plotHeight=Te=Math.max(0,Math.round(Xe-de-this.marginBottom)),this.plotSizeX=_e?Te:ye,this.plotSizeY=_e?ye:Te,this.plotBorderWidth=Ze.plotBorderWidth||0,this.spacingBox=Me.spacingBox={x:lt[3],y:lt[0],width:Ee-lt[3]-lt[1],height:Xe-lt[0]-lt[2]},this.plotBox=Me.plotBox={x:ee,y:de,width:ye,height:Te};let st=2*Math.floor(this.plotBorderWidth/2),kt=Math.ceil(Math.max(st,Qe[3])/2),pt=Math.ceil(Math.max(st,Qe[0])/2);this.clipBox={x:kt,y:pt,width:Math.floor(this.plotSizeX-Math.max(st,Qe[1])/2-kt),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(st,Qe[2])/2-pt))},oe||(this.axes.forEach(function(ht){ht.setAxisSize(),ht.setAxisTranslation()}),Me.alignElements()),U(this,"afterSetChartSize",{skipAxes:oe})}resetMargins(){U(this,"resetMargins");let oe=this,ee=oe.options.chart;["margin","spacing"].forEach(function(de){let ye=ee[de],Te=G(ye)?ye:[ye,ye,ye,ye];["Top","Right","Bottom","Left"].forEach(function(_e,Me){oe[de][Me]=K(ee[de+_e],Te[Me])})}),a.forEach(function(de,ye){oe[de]=K(oe.margin[ye],oe.spacing[ye])}),oe.axisOffset=[0,0,0,0],oe.clipOffset=[0,0,0,0]}drawChartBox(){let Dt,At,_t,oe=this.options.chart,ee=this.renderer,de=this.chartWidth,ye=this.chartHeight,Te=this.styledMode,_e=this.plotBGImage,Me=oe.backgroundColor,Ee=oe.plotBackgroundColor,Xe=oe.plotBackgroundImage,Ze=this.plotLeft,lt=this.plotTop,Qe=this.plotWidth,st=this.plotHeight,kt=this.plotBox,pt=this.clipRect,ht=this.clipBox,Lt=this.chartBackground,Gt=this.plotBackground,ti=this.plotBorder,wt="animate";Lt||(this.chartBackground=Lt=ee.rect().addClass("highcharts-background").add(),wt="attr"),Te?Dt=At=Lt.strokeWidth():(At=(Dt=oe.borderWidth||0)+(oe.shadow?8:0),_t={fill:Me||"none"},(Dt||Lt["stroke-width"])&&(_t.stroke=oe.borderColor,_t["stroke-width"]=Dt),Lt.attr(_t).shadow(oe.shadow)),Lt[wt]({x:At/2,y:At/2,width:de-At-Dt%2,height:ye-At-Dt%2,r:oe.borderRadius}),wt="animate",Gt||(wt="attr",this.plotBackground=Gt=ee.rect().addClass("highcharts-plot-background").add()),Gt[wt](kt),!Te&&(Gt.attr({fill:Ee||"none"}).shadow(oe.plotShadow),Xe&&(_e?(Xe!==_e.attr("href")&&_e.attr("href",Xe),_e.animate(kt)):this.plotBGImage=ee.image(Xe,Ze,lt,Qe,st).add())),pt?pt.animate({width:ht.width,height:ht.height}):this.clipRect=ee.clipRect(ht),wt="animate",ti||(wt="attr",this.plotBorder=ti=ee.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),Te||ti.attr({stroke:oe.plotBorderColor,"stroke-width":oe.plotBorderWidth||0,fill:"none"}),ti[wt](ti.crisp({x:Ze,y:lt,width:Qe,height:st},-ti.strokeWidth())),this.isDirtyBox=!1,U(this,"afterDrawChartBox")}propFromSeries(){let oe,ee,de,ye=this,Te=ye.options.chart,_e=ye.options.series;["inverted","angular","polar"].forEach(function(Me){for(ee=o[Te.type],de=Te[Me]||ee&&ee.prototype[Me],oe=_e&&_e.length;!de&&oe--;)(ee=o[_e[oe].type])&&ee.prototype[Me]&&(de=!0);ye[Me]=de})}linkSeries(oe){let ee=this,de=ee.series;de.forEach(function(ye){ye.linkedSeries.length=0}),de.forEach(function(ye){let{linkedTo:Te}=ye.options;if(x(Te)){let _e;(_e=":previous"===Te?ee.series[ye.index-1]:ee.get(Te))&&_e.linkedParent!==ye&&(_e.linkedSeries.push(ye),ye.linkedParent=_e,_e.enabledDataSorting&&ye.setDataSortingOptions(),ye.visible=K(ye.options.visible,_e.options.visible,ye.visible))}}),U(this,"afterLinkSeries",{isUpdating:oe})}renderSeries(){this.series.forEach(function(oe){oe.translate(),oe.render()})}render(){let Ee,oe=this.axes,ee=this.colorAxis,de=this.renderer,ye=this.options.chart.axisLayoutRuns||2,Te=Ze=>{Ze.forEach(lt=>{lt.visible&<.render()})},_e=0,Me=!0,Xe=0;for(let Ze of(this.setTitle(),U(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),oe)){let{options:lt}=Ze,{labels:Qe}=lt;if(Ze.horiz&&Ze.visible&&Qe.enabled&&Ze.series.length&&"colorAxis"!==Ze.coll&&!this.polar){_e=lt.tickLength,Ze.createGroups();let st=new L(Ze,0,"",!0),kt=st.createLabel("x",Qe);if(st.destroy(),kt&&K(Qe.reserveSpace,!X(lt.crossing))&&(_e=kt.getBBox().height+Qe.distance+Math.max(lt.offset||0,0)),_e){kt?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-_e,0);(Me||Ee||ye>1)&&Xe(Xe?1:1.1),Ee=lt/this.plotHeight>(Xe?1:1.05),Xe++}this.drawChartBox(),this.hasCartesianSeries?Te(oe):ee&&ee.length&&Te(ee),this.seriesGroup||(this.seriesGroup=de.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(oe){let ee=this,de=N(!0,this.options.credits,oe);de.enabled&&!this.credits&&(this.credits=this.renderer.text(de.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){de.href&&(y.location.href=de.href)}).attr({align:de.position.align,zIndex:8}),ee.styledMode||this.credits.css(de.style),this.credits.add().align(de.position),this.credits.update=function(ye){ee.credits=ee.credits.destroy(),ee.addCredits(ye)})}destroy(){let oe,ee=this,de=ee.axes,ye=ee.series,Te=ee.container,_e=Te&&Te.parentNode;for(U(ee,"destroy"),ee.renderer.forExport?S(O,ee):O[ee.index]=void 0,fe.chartCount--,ee.renderTo.removeAttribute("data-highcharts-chart"),me(ee),oe=de.length;oe--;)de[oe]=de[oe].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),oe=ye.length;oe--;)ye[oe]=ye[oe].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(Me){let Ee=ee[Me];Ee&&Ee.destroy&&(ee[Me]=Ee.destroy())}),Te&&(Te.innerHTML=F.emptyHTML,me(Te),_e&&p(Te)),R(ee,function(Me,Ee){delete ee[Ee]})}firstRender(){let oe=this,ee=oe.options;oe.getContainer(),oe.resetMargins(),oe.setChartSize(),oe.propFromSeries(),oe.getAxes();let de=w(ee.series)?ee.series:[];ee.series=[],de.forEach(function(ye){oe.initSeries(ye)}),oe.linkSeries(),oe.setSortedData(),U(oe,"beforeRender"),oe.render(),oe.pointer?.getChartPosition(),oe.renderer.imgCount||oe.hasLoaded||oe.onload(),oe.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(oe){oe&&void 0!==this.index&&oe.apply(this,[this])},this),U(this,"load"),U(this,"render"),C(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:oe,title:ee}=this;!oe||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(ee&&ee.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(oe,ee){let de=this,ye="object"==typeof ee?ee:{enabled:ee,type:"x"},Te=ye.type,_e=Te&&de[{x:"xAxis",xy:"axes",y:"yAxis"}[Te]].filter(Ee=>Ee.options.panningEnabled&&!Ee.options.isInternal),Me=de.options.chart;Me?.panning&&(Me.panning=ye),U(this,"pan",{originalEvent:oe},()=>{de.transform({axes:_e,event:oe,to:{x:oe.chartX-(de.mouseDownX||0),y:oe.chartY-(de.mouseDownY||0)},trigger:"pan"}),d(de.container,{cursor:"move"})})}transform(oe){let Qe,{axes:ee=this.axes,event:de,from:ye={},reset:Te,selection:_e,to:Me={},trigger:Ee}=oe,{inverted:Xe,resetZoomButton:Ze}=this,lt=!1;for(let st of(this.hoverPoints?.forEach(kt=>kt.setState()),ee)){let{horiz:kt,len:pt,minPointOffset:ht=0,options:Lt,reversed:Gt}=st,ti=kt?"width":"height",Dt=kt?"x":"y",At=Me[ti]||st.len,_t=ye[ti]||st.len,wt=10>Math.abs(At)?1:At/_t,Qt=(ye[Dt]||0)+_t/2-st.pos,di=Qt-((Me[Dt]??st.pos)+At/2-st.pos)/wt,Fi=Gt&&!Xe||!Gt&&Xe?-1:1;if(!Te&&(Qt<0||Qt>st.len))continue;let mi=st.toValue(di,!0)+ht*Fi,vi=st.toValue(di+pt/wt,!0)-(ht*Fi||0),Gi=st.allExtremes;if(mi>vi&&([mi,vi]=[vi,mi]),1===wt&&!Te&&"yAxis"===st.coll&&!Gi){for(let Cs of st.series){let Mn=Cs.getExtremes(Cs.getProcessedData(!0).yData,!0);Gi??(Gi={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),X(Mn.dataMin)&&X(Mn.dataMax)&&(Gi.dataMin=Math.min(Mn.dataMin,Gi.dataMin),Gi.dataMax=Math.max(Mn.dataMax,Gi.dataMax))}st.allExtremes=Gi}let{dataMin:xs,dataMax:jn,min:ls,max:fs}=H(st.getExtremes(),Gi||{}),Gn=xs??Lt.min,dn=jn??Lt.max,Mi=vi-mi,_s=st.categories?0:Math.min(Mi,dn-Gn),On=Gn-_s*(C(Lt.min)?0:Lt.minPadding),Pn=dn+_s*(C(Lt.max)?0:Lt.maxPadding),As=st.allowZoomOutside||1===wt||"zoom"!==Ee&&wt>1,$n=Math.min(Lt.min??On,On,As?ls:On),$i=Math.max(Lt.max??Pn,Pn,As?fs:Pn);(!st.isOrdinal||1!==wt||Te)&&(mi<$n&&(mi=$n,wt>=1&&(vi=mi+Mi)),vi>$i&&(vi=$i,wt>=1&&(mi=vi-Mi)),(Te||st.series.length&&(mi!==ls||vi!==fs)&&mi>=$n&&vi<=$i)&&(_e?_e[st.coll].push({axis:st,min:mi,max:vi}):(st.isPanning="zoom"!==Ee,st.setExtremes(Te?void 0:mi,Te?void 0:vi,!1,!1,{move:di,trigger:Ee,scale:wt}),!Te&&(mi>$n||vi<$i)&&"mousewheel"!==Ee&&(Qe=!0)),lt=!0),de&&(this[kt?"mouseDownX":"mouseDownY"]=de[kt?"chartX":"chartY"]))}return lt&&(_e?U(this,"selection",_e,()=>{delete oe.selection,oe.trigger="zoom",this.transform(oe)}):(Qe&&!Ze?this.showResetZoom():!Qe&&Ze&&(this.resetZoomButton=Ze.destroy()),this.redraw("zoom"===Ee&&(this.options.chart.animation??this.pointCount<100)))),lt}}return H(Ae.prototype,{callbacks:[],collectionsWithInit:{xAxis:[Ae.prototype.addAxis,[!0]],yAxis:[Ae.prototype.addAxis,[!1]],series:[Ae.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),Ae}),Pe(V,"Extensions/ScrollablePlotArea.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){let{stop:le}=Z,{composed:fe}=ie,{addEvent:pe,createElement:J,css:te,defined:$,merge:A,pushUnique:B}=ve;function F(){let I=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!I&&(this.scrollablePlotArea=I=new D(this)),I?.applyFixed()}function L(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class D{static compose(E,_,b){B(fe,this.compose)&&(pe(E,"afterInit",L),pe(_,"afterSetChartSize",T=>this.afterSetSize(T.target,T)),pe(_,"render",F),pe(b,"show",L))}static afterSetSize(E,_){let b,T,z,{minWidth:O,minHeight:f}=E.options.chart.scrollablePlotArea||{},{clipBox:a,plotBox:g,inverted:y,renderer:o}=E;if(!o.forExport&&(O?(E.scrollablePixelsX=b=Math.max(0,O-E.chartWidth),b&&(E.scrollablePlotBox=A(E.plotBox),g.width=E.plotWidth+=b,a[y?"height":"width"]+=b,z=!0)):f&&(E.scrollablePixelsY=T=Math.max(0,f-E.chartHeight),$(T)&&(E.scrollablePlotBox=A(E.plotBox),g.height=E.plotHeight+=T,a[y?"width":"height"]+=T,z=!1)),$(z)&&!_.skipAxes))for(let n of E.axes)n.horiz===z&&(n.setAxisSize(),n.setAxisTranslation())}constructor(E){let _,b=E.options.chart,T=re.getRendererType(),z=b.scrollablePlotArea||{},O=this.moveFixedElements.bind(this),f={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};E.scrollablePixelsX&&(f.overflowX="auto"),E.scrollablePixelsY&&(f.overflowY="auto"),this.chart=E;let a=this.parentDiv=J("div",{className:"highcharts-scrolling-parent"},{position:"relative"},E.renderTo),g=this.scrollingContainer=J("div",{className:"highcharts-scrolling"},f,a),y=this.innerContainer=J("div",{className:"highcharts-inner-container"},void 0,g),o=this.fixedDiv=J("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(b.style?.zIndex||0)+2,top:0},void 0,!0),n=this.fixedRenderer=new T(o,E.chartWidth,E.chartHeight,b.style);this.mask=n.path().attr({fill:b.backgroundColor||"#fff","fill-opacity":z.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),g.parentNode.insertBefore(o,g),te(E.renderTo,{overflow:"visible"}),pe(E,"afterShowResetZoom",O),pe(E,"afterApplyDrilldown",O),pe(E,"afterLayOutTitles",O),pe(g,"scroll",()=>{let{pointer:r,hoverPoint:l}=E;r&&(delete r.chartPosition,l&&(_=l),r.runPointActions(void 0,_,!0))}),y.appendChild(E.container)}applyFixed(){let{chart:E,fixedRenderer:_,isDirty:b,scrollingContainer:T}=this,{axisOffset:z,chartWidth:O,chartHeight:f,container:a,plotHeight:g,plotLeft:y,plotTop:o,plotWidth:n,scrollablePixelsX:r=0,scrollablePixelsY:l=0}=E,{scrollPositionX:d=0,scrollPositionY:C=0}=E.options.chart.scrollablePlotArea||{},k=O+r,p=f+l;_.setSize(O,f),(b??!0)&&(this.isDirty=!1,this.moveFixedElements()),le(E.container),te(a,{width:`${k}px`,height:`${p}px`}),E.renderer.boxWrapper.attr({width:k,height:p,viewBox:[0,0,k,p].join(" ")}),E.chartBackground?.attr({width:k,height:p}),te(T,{width:`${O}px`,height:`${f}px`}),$(b)||(T.scrollLeft=r*d,T.scrollTop=l*C);let S=o-z[0]-1,j=y-z[3]-1,H=o+g+z[2]+1,Y=y+n+z[1]+1,U=y+n-r,se=o+g-l,w=[["M",0,0]];r?w=[["M",0,S],["L",y-1,S],["L",y-1,H],["L",0,H],["Z"],["M",U,S],["L",O,S],["L",O,H],["L",U,H],["Z"]]:l&&(w=[["M",j,0],["L",j,o-1],["L",Y,o-1],["L",Y,0],["Z"],["M",j,se],["L",j,f],["L",Y,f],["L",Y,se],["Z"]]),"adjustHeight"!==E.redrawTrigger&&this.mask.attr({d:w})}moveFixedElements(){let E,{container:_,inverted:b,scrollablePixelsX:T,scrollablePixelsY:z}=this.chart,O=this.fixedRenderer,f=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-reset-zoom",".highcharts-drillup-button",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];for(let a of(T&&!b?E=".highcharts-yaxis":T&&b||z&&!b?E=".highcharts-xaxis":z&&b&&(E=".highcharts-yaxis"),E&&f.push(`${E}:not(.highcharts-radial-axis)`,`${E}-labels:not(.highcharts-radial-axis-labels)`),f))[].forEach.call(_.querySelectorAll(a),g=>{(g.namespaceURI===O.SVG_NS?O.box:O.box.parentNode).appendChild(g),g.style.pointerEvents="auto"})}}return D}),Pe(V,"Core/Axis/Stacking/StackItem.js",[V["Core/Templating.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{format:ve}=Z,{series:le}=ie,{destroyObjectProperties:fe,fireEvent:pe,isNumber:J,pick:te}=re;return class{constructor($,A,B,F,L){let D=$.chart.inverted,I=$.reversed;this.axis=$;let E=this.isNegative=!!B!=!!I;this.options=A=A||{},this.x=F,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=L,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:A.align||(D?E?"left":"right":"center"),verticalAlign:A.verticalAlign||(D?"middle":E?"bottom":"top"),y:A.y,x:A.x},this.textAlign=A.textAlign||(D?E?"right":"left":"center")}destroy(){fe(this,this.axis)}render($){let A=this.axis.chart,B=this.options,F=B.format,L=F?ve(F,this,A):B.formatter.call(this);if(this.label)this.label.attr({text:L,visibility:"hidden"});else{this.label=A.renderer.label(L,null,void 0,B.shape,void 0,void 0,B.useHTML,!1,"stack-labels");let D={r:B.borderRadius||0,text:L,padding:te(B.padding,5),visibility:"hidden"};A.styledMode||(D.fill=B.backgroundColor,D.stroke=B.borderColor,D["stroke-width"]=B.borderWidth,this.label.css(B.style||{})),this.label.attr(D),this.label.added||this.label.add($)}this.label.labelrank=A.plotSizeY,pe(this,"afterRender")}setOffset($,A,B,F,L,D){let{alignOptions:I,axis:E,label:_,options:b,textAlign:T}=this,z=E.chart,O=this.getStackBox({xOffset:$,width:A,boxBottom:B,boxTop:F,defaultX:L,xAxis:D}),{verticalAlign:f}=I;if(_&&O){let o,a=_.getBBox(void 0,0),g=_.padding,y="justify"===te(b.overflow,"justify");I.x=b.x||0,I.y=b.y||0;let{x:n,y:r}=this.adjustStackPosition({labelBox:a,verticalAlign:f,textAlign:T});O.x-=n,O.y-=r,_.align(I,!1,O),(o=z.isInsidePlot(_.alignAttr.x+I.x+n,_.alignAttr.y+I.y+r))||(y=!1),y&&le.prototype.justifyDataLabel.call(E,_,I,_.alignAttr,a,O),_.attr({x:_.alignAttr.x,y:_.alignAttr.y,rotation:b.rotation,rotationOriginX:a.width*{left:0,center:.5,right:1}[b.textAlign||"center"],rotationOriginY:a.height/2}),te(!y&&b.crop,!0)&&(o=J(_.x)&&J(_.y)&&z.isInsidePlot(_.x-g+(_.width||0),_.y)&&z.isInsidePlot(_.x+g,_.y)),_[o?"show":"hide"]()}pe(this,"afterSetOffset",{xOffset:$,width:A})}adjustStackPosition({labelBox:$,verticalAlign:A,textAlign:B}){let F={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:$.width/2+$.width/2*F[B],y:$.height/2*F[A]}}getStackBox($){let A=this.axis,B=A.chart,{boxTop:F,defaultX:L,xOffset:D,width:I,boxBottom:E}=$,_=A.stacking.usePercentage?100:te(F,this.total,0),b=A.toPixels(_),T=$.xAxis||B.xAxis[0],z=te(L,T.translate(this.x))+D,O=Math.abs(b-A.toPixels(E||J(A.min)&&A.logarithmic&&A.logarithmic.lin2log(A.min)||0)),a=this.isNegative;return B.inverted?{x:(a?b:b-O)-B.plotLeft,y:T.height-z-I,width:O,height:I}:{x:z+T.transB-B.plotLeft,y:(a?b-O:b)-B.plotTop,width:I,height:O}}}}),Pe(V,"Core/Axis/Stacking/StackingAxis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le){var fe;let{getDeferredAnimation:pe}=Z,{series:{prototype:J}}=re,{addEvent:te,correctFloat:$,defined:A,destroyObjectProperties:B,fireEvent:F,isArray:L,isNumber:D,objectEach:I,pick:E}=le;function _(){let o=this.inverted;this.axes.forEach(n=>{n.stacking&&n.stacking.stacks&&n.hasVisibleSeries&&(n.stacking.oldStacks=n.stacking.stacks)}),this.series.forEach(n=>{let r=n.xAxis&&n.xAxis.options||{};n.options.stacking&&n.reserveSpace()&&(n.stackKey=[n.type,E(n.options.stack,""),o?r.top:r.left,o?r.height:r.width].join(","))})}function b(){let o=this.stacking;if(o){let n=o.stacks;I(n,(r,l)=>{B(r),delete n[l]}),o.stackTotalGroup?.destroy()}}function T(){this.stacking||(this.stacking=new y(this))}function z(o,n,r,l){return!A(o)||o.x!==n||l&&o.stackKey!==l?o={x:n,index:0,key:l,stackKey:l}:o.index++,o.key=[r,n,o.index].join(","),o}function O(){let o,n=this,l=n.stackKey||"",d=n.yAxis.stacking.stacks,C=n.processedXData,p=n[n.options.stacking+"Stacker"];p&&[l,"-"+l].forEach(S=>{let H,Y,U,j=C.length;for(;j--;)H=C[j],o=n.getStackIndicator(o,H,n.index,S),Y=d[S]?.[H],(U=Y?.points[o.key||""])&&p.call(n,U,Y,j)})}function f(o,n,r){let l=n.total?100/n.total:0;o[0]=$(o[0]*l),o[1]=$(o[1]*l),this.stackedYData[r]=o[1]}function a(o){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?J.setStackedPoints.call(this,o,"group"):o.stacking.resetStacks())}function g(o,n){let r,l,d,C,k,p,S,j,H,Y=n||this.options.stacking;if(!Y||!this.reserveSpace()||({group:"xAxis"}[Y]||"yAxis")!==o.coll)return;let U=this.processedXData,se=this.processedYData,w=[],X=se.length,G=this.options,x=G.threshold||0,N=G.startFromThreshold?x:0,R=G.stack,K=n?`${this.type},${Y}`:this.stackKey||"",q="-"+K,he=this.negStacks,me=o.stacking,Ce=me.stacks,Se=me.oldStacks;for(me.stacksTouched+=1,S=0;S0&&!1===this.singleStacks&&(d.points[p][0]=d.points[this.index+","+j+",0"][0])):(delete d.points[p],delete d.points[this.index]);let Oe=d.total||0;"percent"===Y?(C=l?K:q,Oe=he&&Ce[C]?.[j]?(C=Ce[C][j]).total=Math.max(C.total||0,Oe)+Math.abs(H)||0:$(Oe+(Math.abs(H)||0))):"group"===Y?(L(H)&&(H=H[0]),null!==H&&Oe++):Oe=$(Oe+(H||0)),d.cumulative="group"===Y?(Oe||1)-1:$(E(d.cumulative,N)+(H||0)),d.total=Oe,null!==H&&(d.points[p].push(d.cumulative),w[S]=d.cumulative,d.hasValidPoints=!0)}"percent"===Y&&(me.usePercentage=!0),"group"!==Y&&(this.stackedYData=w),me.oldStacks={}}class y{constructor(n){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=n}buildStacks(){let n,r,l=this.axis,d=l.series,C="xAxis"===l.coll,k=l.options.reversedStacks,p=d.length;for(this.resetStacks(),this.usePercentage=!1,r=p;r--;)n=d[k?r:p-r-1],C&&n.setGroupedPoints(l),n.setStackedPoints(l);if(!C)for(r=0;r{I(n,r=>{r.cumulative=r.total})}))}resetStacks(){I(this.stacks,n=>{I(n,(r,l)=>{D(r.touched)&&r.touched{I(p,S=>{S.render(k)})}),k.animate({opacity:1},C)}}return(fe||(fe={})).compose=function(o,n,r){let l=n.prototype,d=r.prototype;l.getStacks||(te(o,"init",T),te(o,"destroy",b),l.getStacks=_,d.getStackIndicator=z,d.modifyStacks=O,d.percentStacker=f,d.setGroupedPoints=a,d.setStackedPoints=g)},fe}),Pe(V,"Series/Line/LineSeries.js",[V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{defined:ve,merge:le,isObject:fe}=re;class pe extends Z{drawGraph(){let te=this.options,$=(this.gappedPath||this.getGraphPath).call(this),A=this.chart.styledMode;[this,...this.zones].forEach((B,F)=>{let L,D=B.graph,I=D?"animate":"attr",E=B.dashStyle||te.dashStyle;D?(D.endX=this.preventGraphAnimation?null:$.xMap,D.animate({d:$})):$.length&&(B.graph=D=this.chart.renderer.path($).addClass("highcharts-graph"+(F?` highcharts-zone-graph-${F-1} `:" ")+(F&&B.className||"")).attr({zIndex:1}).add(this.group)),D&&!A&&(L={stroke:!F&&te.lineColor||B.color||this.color||"#cccccc","stroke-width":te.lineWidth||0,fill:this.fillGraph&&this.color||"none"},E?L.dashstyle=E:"square"!==te.linecap&&(L["stroke-linecap"]=L["stroke-linejoin"]="round"),D[I](L).shadow(F<2&&te.shadow&&le({filterUnits:"userSpaceOnUse"},fe(te.shadow)?te.shadow:{}))),D&&(D.startX=$.xMap,D.isArea=$.isArea)})}getGraphPath(te,$,A){let I,B=this,F=B.options,L=[],D=[],E=F.step,_=(te=te||B.points).reversed;return _&&te.reverse(),(E={right:1,center:2}[E]||E&&3)&&_&&(E=4-E),(te=this.getValidPoints(te,!1,!(F.connectNulls&&!$&&!A))).forEach(function(b,T){let z,O=b.plotX,f=b.plotY,a=te[T-1],g=b.isNull||"number"!=typeof f;(b.leftCliff||a&&a.rightCliff)&&!A&&(I=!0),g&&!ve($)&&T>0?I=!F.connectNulls:g&&!$?I=!0:(0===T||I?z=[["M",b.plotX,b.plotY]]:B.getPointSpline?z=[B.getPointSpline(te,b,T)]:E?(z=1===E?[["L",a.plotX,f]]:2===E?[["L",(a.plotX+O)/2,a.plotY],["L",(a.plotX+O)/2,f]]:[["L",O,a.plotY]]).push(["L",O,f]):z=[["L",O,f]],D.push(b.x),E&&(D.push(b.x),2===E&&D.push(b.x)),L.push.apply(L,z),I=!1)}),L.xMap=D,B.graphPath=L,L}}return pe.defaultOptions=le(Z.defaultOptions,{legendSymbol:"lineMarker"}),ie.registerSeriesType("line",pe),pe}),Pe(V,"Series/Area/AreaSeries.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie){let{seriesTypes:{line:re}}=Z,{extend:ve,merge:le,objectEach:fe,pick:pe}=ie;class J extends re{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:$,options:A}=this;[this,...this.zones].forEach((B,F)=>{let L={},D=B.fillColor||A.fillColor,I=B.area,E=I?"animate":"attr";I?(I.endX=this.preventGraphAnimation?null:$.xMap,I.animate({d:$})):(L.zIndex=0,(I=B.area=this.chart.renderer.path($).addClass("highcharts-area"+(F?` highcharts-zone-area-${F-1} `:" ")+(F&&B.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(L.fill=D||B.color||this.color,L["fill-opacity"]=D?1:A.fillOpacity??.75,I.css({pointerEvents:this.stickyTracking?"none":"auto"})),I[E](L),I.startX=$.xMap,I.shiftUnit=A.step?2:1})}getGraphPath($){let A,B,F,L=re.prototype.getGraphPath,D=this.options,I=D.stacking,E=this.yAxis,_=[],b=[],T=this.index,z=E.stacking.stacks[this.stackKey],O=D.threshold,f=Math.round(E.getThreshold(D.threshold)),a=pe(D.connectNulls,"percent"===I),g=function(d,C,k){let Y,U,p=$[d],S=I&&z[p.x].points[T],j=p[k+"Null"]||0,H=p[k+"Cliff"]||0,se=!0;H||j?(Y=(j?S[0]:S[1])+H,U=S[0]+H,se=!!j):!I&&$[C]&&$[C].isNull&&(Y=U=O),void 0!==Y&&(b.push({plotX:A,plotY:null===Y?f:E.getThreshold(Y),isNull:se,isCliff:!0}),_.push({plotX:A,plotY:null===U?f:E.getThreshold(U),doCurve:!1}))};$=$||this.points,I&&($=this.getStackPoints($));for(let d=0,C=$.length;df.visible);F.forEach(function(f,a){let y,o,g=0;if(E[f]&&!E[f].isNull)B.push(E[f]),[-1,1].forEach(function(n){let r=1===n?"rightNull":"leftNull",l=I[F[a+n]],d=0;if(l){let C=z;for(;C>=0&&C=0&&nO&&B>I?(B=Math.max(O,I),L=2*I-B):Ba&&L>I?(L=Math.max(a,I),B=2*I-L):L=Math.abs(f)&&r>.5;return g=r-(f=Math.round(f)+n),l&&g&&(f-=1,g+=1),{x:O,y:f,width:a,height:g}}adjustForMissingColumns(O,f,a,g){if(!a.isNull&&g.columnCount>1){let y=this.xAxis.series.filter(l=>l.visible).map(l=>l.index),o=0,n=0;b(this.xAxis.stacking?.stacks,l=>{if("number"==typeof a.x){let d=l[a.x.toString()];if(d&&D(d.points[this.index])){let C=Object.keys(d.points).filter(k=>!k.match(",")&&d.points[k]&&d.points[k].length>1).map(parseFloat).filter(k=>-1!==y.indexOf(k)).sort((k,p)=>p-k);o=C.indexOf(this.index),n=C.length}}}),o=this.xAxis.reversed?n-1-o:o,O=(a.plotX||0)+((n-1)*g.paddedWidth+f)/2-f-o*g.paddedWidth}return O}translate(){let O=this,f=O.chart,a=O.options,g=O.dense=O.closestPointRange*O.xAxis.transA<2,y=O.borderWidth=_(a.borderWidth,g?0:1),o=O.xAxis,n=O.yAxis,r=a.threshold,l=_(a.minPointLength,5),d=O.getColumnMetrics(),C=d.width,k=O.pointXOffset=d.offset,p=O.dataMin,S=O.dataMax,j=O.barW=Math.max(C,1+2*y),H=O.translatedThreshold=n.getThreshold(r);f.inverted&&(H-=.5),a.pointPadding&&(j=Math.ceil(j)),le.prototype.translate.apply(O),O.points.forEach(function(Y){let G,U=_(Y.yBottom,H),se=999+Math.abs(U),w=Y.plotX||0,X=A(Y.plotY,-se,n.len+se),x=Math.min(X,U),N=Math.max(X,U)-x,R=C,K=w+k,q=j;l&&Math.abs(N)l?U-l:H-(G?l:0)),B(Y.options.pointWidth)&&(K-=Math.round(((R=q=Math.ceil(Y.options.pointWidth))-C)/2)),a.centerInCategory&&!a.stacking&&(K=O.adjustForMissingColumns(K,R,Y,d)),Y.barX=K,Y.pointWidth=R,Y.tooltipPos=f.inverted?[A(n.len+n.pos-f.plotLeft-X,n.pos-f.plotLeft,n.len+n.pos-f.plotLeft),o.len+o.pos-f.plotTop-K-q/2,N]:[o.left-f.plotLeft+K+q/2,A(X+n.pos-f.plotTop,n.pos-f.plotTop,n.len+n.pos-f.plotTop),N],Y.shapeType=O.pointClass.prototype.shapeType||"roundedRect",Y.shapeArgs=O.crispCol(K,Y.isNull?H:x,q,Y.isNull?0:N)}),L(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(O,f){let n,r,l,a=this.options,g=this.pointAttrToOptions||{},y=g.stroke||"borderColor",o=g["stroke-width"]||"borderWidth",d=O&&O.color||this.color,C=O&&O[y]||a[y]||d,k=O&&O.options.dashStyle||a.dashStyle,p=O&&O[o]||a[o]||this[o]||0,S=_(O&&O.opacity,a.opacity,1);O&&this.zones.length&&(r=O.getZone(),d=O.options.color||r&&(r.color||O.nonZonedColor)||this.color,r&&(C=r.borderColor||C,k=r.dashStyle||k,p=r.borderWidth||p)),f&&O&&(l=(n=E(a.states[f],O.options.states&&O.options.states[f]||{})).brightness,d=n.color||void 0!==l&&te(d).brighten(n.brightness).get()||d,C=n[y]||C,p=n[o]||p,k=n.dashStyle||k,S=_(n.opacity,S));let j={fill:d,stroke:C,"stroke-width":p,opacity:S};return k&&(j.dashstyle=k),j}drawPoints(O=this.points){let f,a=this,g=this.chart,y=a.options,o=g.renderer,n=y.animationLimit||250;O.forEach(function(r){let d=r.graphic,C=!!d,k=d&&g.pointCounto?.enabled)}function b(o,n,r,l,d){let C=this.chart,k=this.isCartesian&&C.inverted,p=this.enabledDataSorting,S=o.plotX,j=o.plotY,H=r.rotation||0,Y=pe(S)&&pe(j)&&C.isInsidePlot(S,Math.round(j),{inverted:k,paneCoordinates:!0,series:this}),U=0===H&&"justify"===L(r.overflow,p?"none":"justify"),se=this.visible&&!1!==o.visible&&pe(S)&&(o.series.forceDL||p&&!U||Y||L(r.inside,!!this.options.stacking)&&l&&C.isInsidePlot(S,k?l.x+1:l.y+l.height-1,{inverted:k,paneCoordinates:!0,series:this})),w=o.pos();if(se&&w){let G=n.getBBox(),x=n.getBBox(void 0,0),N={right:1,center:.5}[r.align||0]||0,R={bottom:1,middle:.5}[r.verticalAlign||0]||0;if(l=J({x:w[0],y:Math.round(w[1]),width:0,height:0},l||{}),J(r,{width:G.width,height:G.height}),p&&this.xAxis&&!U&&this.setDataLabelStartPos(o,n,d,Y,l),n.align(B(r,{width:x.width,height:x.height}),!1,l,!1),n.alignAttr.x+=N*(x.width-G.width),n.alignAttr.y+=R*(x.height-G.height),n[n.placed?"animate":"attr"]({x:n.alignAttr.x+(G.width-x.width)/2,y:n.alignAttr.y+(G.height-x.height)/2,rotationOriginX:(n.width||0)/2,rotationOriginY:(n.height||0)/2}),U&&l.height>=0)this.justifyDataLabel(n,r,n.alignAttr,G,l,d);else if(L(r.crop,!0)){let{x:K,y:q}=n.alignAttr;se=C.isInsidePlot(K,q,{paneCoordinates:!0,series:this})&&C.isInsidePlot(K+G.width-1,q+G.height-1,{paneCoordinates:!0,series:this})}r.shape&&!H&&n[d?"attr":"animate"]({anchorX:w[0],anchorY:w[1]})}d&&p&&(n.placed=!1),se||p&&!U?(n.show(),n.placed=!0):(n.hide(),n.placed=!1)}function T(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function z(o){let n=this.hasRendered||0,r=this.initDataLabelsGroup().attr({opacity:+n});return!n&&r&&(this.visible&&r.show(),this.options.animation?r.animate({opacity:1},o):r.attr({opacity:1})),r}function O(o){let n;o=o||this.points;let r=this,l=r.chart,d=r.options,C=l.renderer,{backgroundColor:k,plotBackgroundColor:p}=l.options.chart,S=C.getContrast(A(p)&&p||A(k)&&k||"#000000"),j=g(r),{animation:H,defer:Y}=j[0],U=Y?le(l,H,r):{defer:0,duration:0};te(this,"drawDataLabels"),r.hasDataLabels?.()&&(n=this.initDataLabels(U),o.forEach(se=>{let w=se.dataLabels||[];I(a(j,se.dlOptions||se.options?.dataLabels)).forEach((G,x)=>{let me,Ce,Se,Oe,ee,N=G.enabled&&(se.visible||se.dataLabelOnHidden)&&(!se.isNull||se.dataLabelOnNull)&&function(de,ye){let Te=ye.filter;if(Te){let _e=Te.operator,Me=de[Te.property],Ee=Te.value;return">"===_e&&Me>Ee||"<"===_e&&Me="===_e&&Me>=Ee||"<="===_e&&Me<=Ee||"=="===_e&&Me==Ee||"==="===_e&&Me===Ee||"!="===_e&&Me!=Ee||"!=="===_e&&Me!==Ee}return!0}(se,G),{backgroundColor:R,borderColor:K,distance:q,style:he={}}=G,Ae={},Fe=w[x],oe=!Fe;if(N&&(Ce=L(G[se.formatPrefix+"Format"],G.format),me=se.getLabelConfig(),Se=pe(Ce)?fe(Ce,me,l):(G[se.formatPrefix+"Formatter"]||G.formatter).call(me,G),Oe=G.rotation,!l.styledMode&&(he.color=L(G.color,he.color,A(r.color)?r.color:void 0,"#000000"),"contrast"===he.color?("none"!==R&&(ee=R),se.contrastColor=C.getContrast("auto"!==ee&&ee||se.color||r.color),he.color=ee||!pe(q)&&G.inside||0>D(q||0)||d.stacking?se.contrastColor:S):delete se.contrastColor,d.cursor&&(he.cursor=d.cursor)),Ae={r:G.borderRadius||0,rotation:Oe,padding:G.padding,zIndex:1},l.styledMode||(Ae.fill="auto"===R?se.color:R,Ae.stroke="auto"===K?se.color:K,Ae["stroke-width"]=G.borderWidth),F(Ae,(de,ye)=>{void 0===de&&delete Ae[ye]})),!Fe||N&&pe(Se)&&!!Fe.div==!!G.useHTML&&(Fe.rotation&&G.rotation||Fe.rotation===G.rotation)||(Fe=void 0,oe=!0),N&&pe(Se)&&(Fe?Ae.text=Se:(Fe=C.label(Se,0,0,G.shape,void 0,void 0,G.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+se.colorIndex+" "+(G.className||"")+(G.useHTML?" highcharts-tracker":"")),Fe)){Fe.options=G,Fe.attr(Ae),l.styledMode||Fe.css(he).shadow(G.shadow);let de=G[se.formatPrefix+"TextPath"]||G.textPath;de&&!G.useHTML&&(Fe.setTextPath(se.getDataLabelPath?.(Fe)||se.graphic,de),se.dataLabelPath&&!de.enabled&&(se.dataLabelPath=se.dataLabelPath.destroy())),Fe.added||Fe.add(n),r.alignDataLabel(se,Fe,G,void 0,oe),Fe.isActive=!0,w[x]&&w[x]!==Fe&&w[x].destroy(),w[x]=Fe}});let X=w.length;for(;X--;)w[X]&&w[X].isActive?w[X].isActive=!1:(w[X]?.destroy(),w.splice(X,1));se.dataLabel=w[0],se.dataLabels=w})),te(this,"afterDrawDataLabels")}function f(o,n,r,l,d,C){let U,se,k=this.chart,p=n.align,S=n.verticalAlign,j=o.box?0:o.padding||0,{x:H=0,y:Y=0}=n;return(U=(r.x||0)+j)<0&&("right"===p&&H>=0?(n.align="left",n.inside=!0):H-=U,se=!0),(U=(r.x||0)+l.width-j)>k.plotWidth&&("left"===p&&H<=0?(n.align="right",n.inside=!0):H+=k.plotWidth-U,se=!0),(U=r.y+j)<0&&("bottom"===S&&Y>=0?(n.verticalAlign="top",n.inside=!0):Y-=U,se=!0),(U=(r.y||0)+l.height-j)>k.plotHeight&&("top"===S&&Y<=0?(n.verticalAlign="bottom",n.inside=!0):Y+=k.plotHeight-U,se=!0),se&&(n.x=H,n.y=Y,o.placed=!C,o.align(n,void 0,d)),se}function a(o,n){let l,r=[];if($(o)&&!$(n))r=o.map(function(d){return B(d,n)});else if($(n)&&!$(o))r=n.map(function(d){return B(o,d)});else if($(o)||$(n)){if($(o)&&$(n))for(l=Math.max(o.length,n.length);l--;)r[l]=B(o[l],n[l])}else r=B(o,n);return r}function g(o){let n=o.chart.options.plotOptions;return I(a(a(n?.series?.dataLabels,n?.[o.type]?.dataLabels),o.options.dataLabels))}function y(o,n,r,l,d){let C=this.chart,k=C.inverted,p=this.xAxis,S=p.reversed,j=((k?n.height:n.width)||0)/2,H=o.pointWidth,Y=H?H/2:0;n.startXPos=k?d.x:S?-j-Y:p.width-j+Y,n.startYPos=k?S?this.yAxis.height-j+Y:-j-Y:d.y,l?"hidden"===n.visibility&&(n.show(),n.attr({opacity:0}).animate({opacity:1})):n.attr({opacity:1}).animate({opacity:0},void 0,n.hide),C.hasRendered&&(r&&n.attr({x:n.startXPos,y:n.startYPos}),n.placed=!0)}E.compose=function(o){let n=o.prototype;n.initDataLabels||(n.initDataLabels=z,n.initDataLabelsGroup=T,n.alignDataLabel=b,n.drawDataLabels=O,n.justifyDataLabel=f,n.setDataLabelStartPos=y,n.hasDataLabels=_)}}(ve||(ve={})),ve}),Pe(V,"Series/Column/ColumnDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){var le;let{composed:fe}=ie,{series:pe}=re,{merge:J,pick:te,pushUnique:$}=ve;return function(A){function B(F,L,D,I,E){let _=this.chart.inverted,b=F.series,T=(b.xAxis?b.xAxis.len:this.chart.plotSizeX)||0,z=(b.yAxis?b.yAxis.len:this.chart.plotSizeY)||0,O=F.dlBox||F.shapeArgs,f=te(F.below,F.plotY>te(this.translatedThreshold,z)),a=te(D.inside,!!this.options.stacking);if(O){if(I=J(O),"allow"!==D.overflow||!1!==D.crop){I.y<0&&(I.height+=I.y,I.y=0);let g=I.y+I.height-z;g>0&&g\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),Pe(V,"Series/Scatter/ScatterSeries.js",[V["Series/Scatter/ScatterSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{column:ve,line:le}=ie.seriesTypes,{addEvent:fe,extend:pe,merge:J}=re;class te extends le{applyJitter(){let A=this,B=this.options.jitter,F=this.points.length;B&&this.points.forEach(function(L,D){["x","y"].forEach(function(I,E){let _,T,z,O,b="plot"+I.toUpperCase();B[I]&&!L.isNull&&(_=A[I+"Axis"],O=B[I]*_.transA,_&&!_.isLog&&(T=Math.max(0,L[b]-O),z=Math.min(_.len,L[b]+O),L[b]=T+(z-T)*function(f){let a=1e4*Math.sin(f);return a-Math.floor(a)}(D+E*F),"x"===I&&(L.clientX=L.plotX)))})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return te.defaultOptions=J(le.defaultOptions,Z),pe(te.prototype,{drawTracker:ve.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),fe(te,"afterTranslate",function(){this.applyJitter()}),ie.registerSeriesType("scatter",te),te}),Pe(V,"Series/CenteredUtilities.js",[V["Core/Globals.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(Z,ie,re){var ve,le;let{deg2rad:fe}=Z,{fireEvent:pe,isNumber:J,pick:te,relativeLength:$}=re;return(le=ve||(ve={})).getCenter=function(){let b,O,f,A=this.options,B=this.chart,F=2*(A.slicedOffset||0),L=B.plotWidth-2*F,D=B.plotHeight-2*F,I=A.center,E=Math.min(L,D),_=A.thickness,T=A.size,z=A.innerSize||0;"string"==typeof T&&(T=parseFloat(T)),"string"==typeof z&&(z=parseFloat(z));let a=[te(I[0],"50%"),te(I[1],"50%"),te(T&&T<0?void 0:A.size,"100%"),te(z&&z<0?void 0:A.innerSize||0,"0%")];for(!B.angular||this instanceof ie||(a[3]=0),O=0;O<4;++O)f=a[O],b=O<2||2===O&&/%$/.test(f),a[O]=$(f,[L,D,E,a[2]][O])+(b?F:0);return a[3]>a[2]&&(a[3]=a[2]),J(_)&&2*_0&&(a[3]=a[2]-2*_),pe(this,"afterGetCenter",{positions:a}),a},le.getStartAndEndRadians=function(A,B){let F=J(A)?A:0,L=J(B)&&B>F&&B-F<360?B:F+360;return{start:fe*(F+-90),end:fe*(L+-90)}},ve}),Pe(V,"Series/Pie/PiePoint.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{setAnimation:ve}=Z,{addEvent:le,defined:fe,extend:pe,isNumber:J,pick:te,relativeLength:$}=re;class A extends ie{getConnectorPath(F){let L=F.dataLabelPosition,D=F.options||{},I=D.connectorShape;return L&&(this.connectorShapes[I]||I).call(this,{...L.computed,alignment:L.alignment},L.connectorPosition,D)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(F){let L=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(L.x,L.y,L.r+F,L.r+F,{innerR:L.r-1,start:L.start,end:L.end,borderRadius:L.borderRadius})}constructor(F,L,D){super(F,L,D),this.half=0,this.name??(this.name="Slice");let I=E=>{this.slice("select"===E.type)};le(this,"select",I),le(this,"unselect",I)}isValid(){return J(this.y)&&this.y>=0}setVisible(F,L=!0){F!==this.visible&&this.update({visible:F??!this.visible},L,void 0,!1)}slice(F,L,D){let I=this.series;ve(D,I.chart),L=te(L,!0),this.sliced=this.options.sliced=F=fe(F)?F:!this.sliced,I.options.data[I.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return pe(A.prototype,{connectorShapes:{fixedOffset:function(B,F,L){let D=F.breakAt,I=F.touchingSliceAt;return[["M",B.x,B.y],L.softConnector?["C",B.x+("left"===B.alignment?-5:5),B.y,2*D.x-I.x,2*D.y-I.y,D.x,D.y]:["L",D.x,D.y],["L",I.x,I.y]]},straight:function(B,F){let L=F.touchingSliceAt;return[["M",B.x,B.y],["L",L.x,L.y]]},crookedLine:function(B,F,L){let{breakAt:D,touchingSliceAt:I}=F,{series:E}=this,[_,b,T]=E.center,z=T/2,{plotLeft:O,plotWidth:f}=E.chart,a="left"===B.alignment,{x:g,y}=B,o=D.x;if(L.crookDistance){let r=$(L.crookDistance,1);o=a?_+z+(f+O-_-z)*(1-r):O+(_-z)*r}else o=_+(b-y)*Math.tan((this.angle||0)-Math.PI/2);let n=[["M",g,y]];return(a?o<=g&&o>=D.x:o>=g&&o<=D.x)&&n.push(["L",o,y]),n.push(["L",D.x,D.y],["L",I.x,I.y]),n}}}),A}),Pe(V,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),Pe(V,"Series/Pie/PieSeries.js",[V["Series/CenteredUtilities.js"],V["Series/Column/ColumnSeries.js"],V["Core/Globals.js"],V["Series/Pie/PiePoint.js"],V["Series/Pie/PieSeriesDefaults.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe,pe,J,te){let{getStartAndEndRadians:$}=Z,{noop:A}=re,{clamp:B,extend:F,fireEvent:L,merge:D,pick:I}=te;class E extends fe{animate(b){let T=this,O=T.startAngleRad;b||T.points.forEach(function(f){let a=f.graphic,g=f.shapeArgs;a&&g&&(a.attr({r:I(f.startR,T.center&&T.center[3]/2),start:O,end:O}),a.animate({r:g.r,start:g.start,end:g.end},T.options.animation))})}drawEmpty(){let b,T,z=this.startAngleRad,O=this.endAngleRad,f=this.options;0===this.total&&this.center?(b=this.center[0],T=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(b,T,this.center[1]/2,0,z,O).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:J.arc(b,T,this.center[2]/2,0,{start:z,end:O,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":f.borderWidth,fill:f.fillColor||"none",stroke:f.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let b=this.chart.renderer;this.points.forEach(function(T){T.graphic&&T.hasNewShapeType()&&(T.graphic=T.graphic.destroy()),T.graphic||(T.graphic=b[T.shapeType](T.shapeArgs).add(T.series.group),T.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(b,T,z,O){let f=this.center,a=this.radii?this.radii[z.index]||0:f[2]/2,g=O.dataLabelPosition,y=g?.distance||0,o=Math.asin(B((b-f[1])/(a+y),-1,1));return f[0]+Math.cos(o)*(a+y)*(T?-1:1)+(y>0?(T?-1:1)*(O.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let b,T,z,O,f=this,a=f.chart;this.drawEmpty(),f.group&&!a.styledMode&&f.group.shadow(f.options.shadow),f.points.forEach(function(g){let y={};T=g.graphic,!g.isNull&&T?(O=g.shapeArgs,b=g.getTranslate(),a.styledMode||(z=f.pointAttribs(g,g.selected&&"select")),g.delayedRendering?(T.setRadialReference(f.center).attr(O).attr(b),a.styledMode||T.attr(z).attr({"stroke-linejoin":"round"}),g.delayedRendering=!1):(T.setRadialReference(f.center),a.styledMode||D(!0,y,z),D(!0,y,O,b),T.animate(y)),T.attr({visibility:g.visible?"inherit":"hidden"}),T.addClass(g.getClassName(),!0)):T&&(g.graphic=T.destroy())})}sortByAngle(b,T){b.sort(function(z,O){return void 0!==z.angle&&(O.angle-z.angle)*T})}translate(b){L(this,"translate"),this.generatePoints();let n,r,l,d,C,k,p,T=this.options,z=T.slicedOffset,O=$(T.startAngle,T.endAngle),f=this.startAngleRad=O.start,a=(this.endAngleRad=O.end)-f,g=this.points,y=T.ignoreHiddenPoint,o=g.length,S=0;for(b||(this.center=b=this.getCenter()),k=0;k1.5*Math.PI?l-=2*Math.PI:l<-Math.PI/2&&(l+=2*Math.PI),p.slicedTranslation={translateX:Math.round(Math.cos(l)*z),translateY:Math.round(Math.sin(l)*z)},d=Math.cos(l)*b[2]/2,C=Math.sin(l)*b[2]/2,p.tooltipPos=[b[0]+.7*d,b[1]+.7*C],p.half=l<-Math.PI/2||l>Math.PI/2?1:0,p.angle=l}L(this,"afterTranslate")}updateTotals(){let O,f,b=this.points,T=b.length,z=this.options.ignoreHiddenPoint,a=0;for(O=0;O0&&(f.visible||!z)?f.y/a*100:0,f.total=a}}return E.defaultOptions=D(fe.defaultOptions,le),F(E.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:ie.prototype.drawTracker,getCenter:Z.getCenter,getSymbol:A,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:ie.prototype.pointAttribs,pointClass:ve,requireSorting:!1,searchPoint:A,trackerGroups:["group","dataLabelsGroup"]}),pe.registerSeriesType("pie",E),E}),Pe(V,"Series/Pie/PieDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le){var fe;let{composed:pe,noop:J}=ie,{distribute:te}=re,{series:$}=ve,{arrayMax:A,clamp:B,defined:F,pick:L,pushUnique:D,relativeLength:I}=le;return function(E){let _={radialDistributionY:function(f,a){return(a.dataLabelPosition?.top||0)+f.distributeBox.pos},radialDistributionX:function(f,a,g,y,o){let n=o.dataLabelPosition;return f.getX(g<(n?.top||0)+2||g>(n?.bottom||0)-2?y:g,a.half,a,o)},justify:function(f,a,g,y){return y[0]+(f.half?-1:1)*(g+(a.dataLabelPosition?.distance||0))},alignToPlotEdges:function(f,a,g,y){let o=f.getBBox().width;return a?o+y:g-o-y},alignToConnectors:function(f,a,g,y){let n,o=0;return f.forEach(function(r){(n=r.dataLabel.getBBox().width)>o&&(o=n)}),a?o+y:g-o-y}};function b(f,a){let{center:g,options:y}=this,o=g[2]/2,n=f.angle||0,r=Math.cos(n),l=Math.sin(n),d=g[0]+r*o,C=g[1]+l*o,k=Math.min((y.slicedOffset||0)+(y.borderWidth||0),a/5);return{natural:{x:d+r*a,y:C+l*a},computed:{},alignment:a<0?"center":f.half?"right":"left",connectorPosition:{breakAt:{x:d+r*k,y:C+l*k},touchingSliceAt:{x:d,y:C}},distance:a}}function T(){let j,H,Y,f=this,a=f.points,g=f.chart,y=g.plotWidth,o=g.plotHeight,n=g.plotLeft,r=Math.round(g.chartWidth/3),l=f.center,d=l[2]/2,C=l[1],k=[[],[]],p=[0,0,0,0],S=f.dataLabelPositioners,U=0;f.visible&&f.hasDataLabels?.()&&(a.forEach(se=>{(se.dataLabels||[]).forEach(w=>{w.shortened&&(w.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),w.shortened=!1)})}),$.prototype.drawDataLabels.apply(f),a.forEach(se=>{(se.dataLabels||[]).forEach((w,X)=>{let G=l[2]/2,x=w.options,N=I(x?.distance||0,G);0===X&&k[se.half].push(se),!F(x?.style?.width)&&w.getBBox().width>r&&(w.css({width:Math.round(.7*r)+"px"}),w.shortened=!0),w.dataLabelPosition=this.getDataLabelPosition(se,N),U=Math.max(U,N)})}),k.forEach((se,w)=>{let x,N,K,G=[],R=0;se.length&&(f.sortByAngle(se,w-.5),U>0&&(x=Math.max(0,C-d-U),N=Math.min(C+d+U,g.plotHeight),se.forEach(q=>{(q.dataLabels||[]).forEach(he=>{let me=he.dataLabelPosition;me&&me.distance>0&&(me.top=Math.max(0,C-d-me.distance),me.bottom=Math.min(C+d+me.distance,g.plotHeight),R=he.getBBox().height||21,q.distributeBox={target:(he.dataLabelPosition?.natural.y||0)-me.top+R/2,size:R,rank:q.y},G.push(q.distributeBox))})}),te(G,K=N+R-x,K/5)),se.forEach(q=>{(q.dataLabels||[]).forEach(he=>{let me=he.options||{},Ce=q.distributeBox,Se=he.dataLabelPosition,Oe=Se?.natural.y||0,Ae=me.connectorPadding||0,Fe=0,oe=Oe,ee="inherit";if(Se){if(G&&F(Ce)&&Se.distance>0&&(void 0===Ce.pos?ee="hidden":(Y=Ce.size,oe=S.radialDistributionY(q,he))),me.justify)Fe=S.justify(q,he,d,l);else switch(me.alignTo){case"connectors":Fe=S.alignToConnectors(se,w,y,n);break;case"plotEdges":Fe=S.alignToPlotEdges(he,w,y,n);break;default:Fe=S.radialDistributionX(f,q,oe,Oe,he)}if(Se.attribs={visibility:ee,align:Se.alignment},Se.posAttribs={x:Fe+(me.x||0)+({left:Ae,right:-Ae}[Se.alignment]||0),y:oe+(me.y||0)-he.getBBox().height/2},Se.computed.x=Fe,Se.computed.y=oe,L(me.crop,!0)){let de;Fe-(H=he.getBBox().width)y-Ae&&0===w&&(de=Math.round(Fe+H-y+Ae),p[1]=Math.max(de,p[1])),oe-Y/2<0?p[0]=Math.max(Math.round(Y/2-oe),p[0]):oe+Y/2>o&&(p[2]=Math.max(Math.round(oe+Y/2-o),p[2])),Se.sideOverflow=de}}})}))}),(0===A(p)||this.verifyDataLabelOverflow(p))&&(this.placeDataLabels(),this.points.forEach(se=>{(se.dataLabels||[]).forEach(w=>{let{connectorColor:X,connectorWidth:G=1}=w.options||{},x=w.dataLabelPosition;if(G){let N;j=w.connector,x&&x.distance>0?(N=!j,j||(w.connector=j=g.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+se.colorIndex+(se.className?" "+se.className:"")).add(f.dataLabelsGroup)),g.styledMode||j.attr({"stroke-width":G,stroke:X||se.color||"#666666"}),j[N?"attr":"animate"]({d:se.getConnectorPath(w)}),j.attr({visibility:x.attribs?.visibility})):j&&(w.connector=j.destroy())}})})))}function z(){this.points.forEach(f=>{(f.dataLabels||[]).forEach(a=>{let g=a.dataLabelPosition;g?(g.sideOverflow&&(a.css({width:Math.max(a.getBBox().width-g.sideOverflow,0)+"px",textOverflow:(a.options?.style||{}).textOverflow||"ellipsis"}),a.shortened=!0),a.attr(g.attribs),a[a.moved?"animate":"attr"](g.posAttribs),a.moved=!0):a&&a.attr({y:-9999})}),delete f.distributeBox},this)}function O(f){let a=this.center,g=this.options,y=g.center,o=g.minSize||80,n=o,r=null!==g.size;return!r&&(null!==y[0]?n=Math.max(a[2]-Math.max(f[1],f[3]),o):(n=Math.max(a[2]-f[1]-f[3],o),a[0]+=(f[3]-f[1])/2),null!==y[1]?n=B(n,o,a[2]-Math.max(f[0],f[2])):(n=B(n,o,a[2]-f[0]-f[2]),a[1]+=(f[0]-f[2])/2),n!(b.x>=_.x+_.width||b.x+b.width<=_.x||b.y>=_.y+_.height||b.y+b.height<=_.y),E=!1;for(let _=0;_<$;_++)(B=te[_])&&(B.oldOpacity=B.opacity,B.newOpacity=1,B.absoluteBox=function(b){if(b&&(!b.alignAttr||b.placed)){let T=b.box?0:b.padding||0,z=b.alignAttr||{x:b.attr("x"),y:b.attr("y")},O=b.getBBox();return b.width=O.width,b.height=O.height,{x:z.x+(b.parentGroup?.translateX||0)+T,y:z.y+(b.parentGroup?.translateY||0)+T,width:(b.width||0)-2*T,height:(b.height||0)-2*T}}}(B));te.sort((_,b)=>(b.labelrank||0)-(_.labelrank||0));for(let _=0;_<$;++_){D=(F=te[_])&&F.absoluteBox;for(let b=_+1;b<$;++b)I=(L=te[b])&&L.absoluteBox,D&&I&&F!==L&&0!==F.newOpacity&&0!==L.newOpacity&&"hidden"!==F.visibility&&"hidden"!==L.visibility&&A(D,I)&&((F.labelrank{ve(B,F=>{F.label&&$.push(F.label)})});for(let A of te.series||[])if(A.visible&&A.hasDataLabels?.()){let B=F=>{for(let L of F)L.visible&&(L.dataLabels||[]).forEach(D=>{let I=D.options||{};D.labelrank=le(I.labelrank,L.labelrank,L.shapeArgs?.height),I.allowOverlap??Number(I.distance)>0?(D.oldOpacity=D.opacity,D.newOpacity=1,pe(D,te)):$.push(D)})};B(A.nodes||[]),B(A.points)}this.hideOverlappingLabels($)}return{compose:function(te){let $=te.prototype;$.hideOverlappingLabels||($.hideOverlappingLabels=fe,ie(te,"render",J))}}}),Pe(V,"Extensions/BorderRadius.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{defaultOptions:ve}=Z,{noop:le}=ie,{addEvent:fe,extend:pe,isObject:J,merge:te,relativeLength:$}=re,A={radius:0,scope:"stack",where:void 0},B=le,F=le;function L(b,T,z,O,f={}){let a=B(b,T,z,O,f),{innerR:g=0,r:y=z,start:o=0,end:n=0}=f;if(f.open||!f.borderRadius)return a;let r=n-o,l=Math.sin(r/2),d=Math.max(Math.min($(f.borderRadius||0,y-g),(y-g)/2,y*l/(1+l)),0),C=Math.min(d,r/Math.PI*2*g),k=a.length-1;for(;k--;)!function(p,S,j){let H,Y,U,se=p[S],w=p[S+1];if("Z"===w[0]&&(w=p[0]),"M"!==se[0]&&"L"!==se[0]||"A"!==w[0]?"A"===se[0]&&("M"===w[0]||"L"===w[0])&&(H=w,Y=se):(H=se,Y=w,U=!0),H&&Y&&Y.params){let X=Y[1],G=Y[5],x=Y.params,{start:N,end:R,cx:K,cy:q}=x,he=G?X-j:X+j,me=he?Math.asin(j/he):0,Ce=G?me:-me,Se=Math.cos(me)*he;U?(x.start=N+Ce,H[1]=K+Se*Math.cos(N),H[2]=q+Se*Math.sin(N),p.splice(S+1,0,["A",j,j,0,0,1,K+X*Math.cos(x.start),q+X*Math.sin(x.start)])):(x.end=R-Ce,Y[6]=K+X*Math.cos(x.end),Y[7]=q+X*Math.sin(x.end),p.splice(S+1,0,["A",j,j,0,0,1,K+Se*Math.cos(R),q+Se*Math.sin(R)])),Y[4]=Math.abs(x.end-x.start)1?C:d);return a}function D(){if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){let{options:b,yAxis:T}=this,z="percent"===b.stacking,O=ve.plotOptions?.[this.type]?.borderRadius,f=I(b.borderRadius,J(O)?O:{}),a=T.options.reversed;for(let g of this.points){let{shapeArgs:y}=g;if("roundedRect"===g.shapeType&&y){let{width:o=0,height:n=0,y:r=0}=y,l=r,d=n;if("stack"===f.scope&&g.stackTotal){let S=T.translate(z?100:g.stackTotal,!1,!0,!1,!0),j=T.translate(b.threshold||0,!1,!0,!1,!0),H=this.crispCol(0,Math.min(S,j),0,Math.abs(S-j));l=H.y,d=H.height}let C=(g.negative?-1:1)*(a?-1:1)==-1,k=f.where;!k&&this.is("waterfall")&&Math.abs((g.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(k="all"),k||(k="end");let p=Math.min($(f.radius,o),o/2,"all"===k?n/2:1/0)||0;"end"===k&&(C&&(l-=p),d+=p),pe(y,{brBoxHeight:d,brBoxY:l,r:p})}}}}function I(b,T){return J(b)||(b={radius:b||0}),te(A,T,b)}function E(){let b=I(this.options.borderRadius);for(let T of this.points){let z=T.shapeArgs;z&&(z.borderRadius=$(b.radius,(z.r||0)-(z.innerR||0)))}}function _(b,T,z,O,f={}){let a=F(b,T,z,O,f),{r:g=0,brBoxHeight:y=O,brBoxY:o=T}=f,n=T-o,r=o+y-(T+O),l=n-g>-.1?0:g,d=r-g>-.1?0:g,C=Math.max(l&&n,0),k=Math.max(d&&r,0),p=[b+l,T],S=[b+z-l,T],j=[b+z,T+l],H=[b+z,T+O-d],Y=[b+z-d,T+O],U=[b+d,T+O],se=[b,T+O-d],w=[b,T+l],X=(G,x)=>Math.sqrt(Math.pow(G,2)-Math.pow(x,2));if(C){let G=X(l,l-C);p[0]-=G,S[0]+=G,j[1]=w[1]=T+l-C}if(O=pe(L.minWidth,0)&&this.chartHeight>=pe(L.minHeight,0)}).call(this)&&F.push(B._id)}function A(B,F){let E,L=this.options.responsive,D=this.currentResponsive,I=[];!F&&L&&L.rules&&L.rules.forEach(T=>{void 0===T._id&&(T._id=J()),this.matchResponsiveRule(T,I)},this);let _=fe(...I.map(T=>le((L||{}).rules||[],z=>z._id===T)).map(T=>T&&T.chartOptions));_.isResponsiveOptions=!0,I=I.toString()||void 0,I!==(D&&D.ruleIds)&&(D&&this.update(D.undoOptions,B,!0),I?((E=re(_,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:I,mergedOptions:_,undoOptions:E},this.update(_,B,!0)):this.currentResponsive=void 0)}te.compose=function(B){let F=B.prototype;return F.matchResponsiveRule||ve(F,{matchResponsiveRule:$,setResponsive:A}),B}}(ie||(ie={})),ie}),Pe(V,"masters/highcharts.src.js",[V["Core/Globals.js"],V["Core/Utilities.js"],V["Core/Defaults.js"],V["Core/Animation/Fx.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Templating.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Renderer/HTML/HTMLElement.js"],V["Core/Axis/Axis.js"],V["Core/Axis/DateTimeAxis.js"],V["Core/Axis/LogarithmicAxis.js"],V["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],V["Core/Axis/Tick.js"],V["Core/Tooltip.js"],V["Core/Series/Point.js"],V["Core/Pointer.js"],V["Core/Legend/Legend.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Chart/Chart.js"],V["Extensions/ScrollablePlotArea.js"],V["Core/Axis/Stacking/StackingAxis.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Series/Column/ColumnDataLabel.js"],V["Series/Pie/PieDataLabel.js"],V["Core/Series/DataLabel.js"],V["Extensions/OverlappingDataLabels.js"],V["Extensions/BorderRadius.js"],V["Core/Responsive.js"],V["Core/Color/Color.js"],V["Core/Time.js"]],function(Z,ie,re,ve,le,fe,pe,J,te,$,A,B,F,L,D,I,E,_,b,T,z,O,f,a,g,y,o,n,r,l,d,C,k,p,S,j){return Z.AST=fe,Z.Axis=F,Z.Chart=f,Z.Color=S,Z.DataLabel=d,Z.Fx=ve,Z.HTMLElement=B,Z.Legend=z,Z.LegendSymbol=O,Z.OverlappingDataLabels=Z.OverlappingDataLabels||C,Z.PlotLineOrBand=I,Z.Point=b,Z.Pointer=T,Z.RendererRegistry=J,Z.Series=o,Z.SeriesRegistry=n,Z.StackItem=y,Z.SVGElement=$,Z.SVGRenderer=A,Z.Templating=pe,Z.Tick=E,Z.Time=j,Z.Tooltip=_,Z.animate=le.animate,Z.animObject=le.animObject,Z.chart=f.chart,Z.color=S.parse,Z.dateFormat=pe.dateFormat,Z.defaultOptions=re.defaultOptions,Z.distribute=te.distribute,Z.format=pe.format,Z.getDeferredAnimation=le.getDeferredAnimation,Z.getOptions=re.getOptions,Z.numberFormat=pe.numberFormat,Z.seriesType=n.seriesType,Z.setAnimation=le.setAnimation,Z.setOptions=re.setOptions,Z.stop=le.stop,Z.time=re.defaultTime,Z.timers=ve.timers,k.compose(Z.Series,Z.SVGElement,Z.SVGRenderer),r.compose(Z.Series.types.column),d.compose(Z.Series),L.compose(Z.Axis),B.compose(Z.SVGRenderer),z.compose(Z.Chart),D.compose(Z.Axis),C.compose(Z.Chart),l.compose(Z.Series.types.pie),I.compose(Z.Axis),T.compose(Z.Chart),p.compose(Z.Chart),a.compose(Z.Axis,Z.Chart,Z.Series),g.compose(Z.Axis,Z.Chart,Z.Series),_.compose(Z.Pointer),ie.extend(Z,ie),Z}),V["masters/highcharts.src.js"]._modules=V,V["masters/highcharts.src.js"]},ri.exports?(V.default=V,ri.exports=e&&e.document?V(e):V):void 0!==(M=function(){return V(e)}.call(Ft,He,Ft,ri))&&(ri.exports=M)},12146:function(ri,Ft,He){var M,e,V;e=typeof window<"u"?window:this,V=function(e){"use strict";var V={};function Pe(Z,ie,re,ve){Z.hasOwnProperty(ie)||(Z[ie]=ve.apply(null,re),"function"==typeof CustomEvent&&e.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:ie,module:Z[ie]}})))}return Pe(V,"Core/Globals.js",[],function(){var Z,ie;return(ie=Z||(Z={})).SVG_NS="http://www.w3.org/2000/svg",ie.product="Highcharts",ie.version="11.4.0",ie.win=void 0!==e?e:{},ie.doc=ie.win.document,ie.svg=ie.doc&&ie.doc.createElementNS&&!!ie.doc.createElementNS(ie.SVG_NS,"svg").createSVGRect,ie.userAgent=ie.win.navigator&&ie.win.navigator.userAgent||"",ie.isChrome=-1!==ie.userAgent.indexOf("Chrome"),ie.isFirefox=-1!==ie.userAgent.indexOf("Firefox"),ie.isMS=/(edge|msie|trident)/i.test(ie.userAgent)&&!ie.win.opera,ie.isSafari=!ie.isChrome&&-1!==ie.userAgent.indexOf("Safari"),ie.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(ie.userAgent),ie.isWebKit=-1!==ie.userAgent.indexOf("AppleWebKit"),ie.deg2rad=2*Math.PI/360,ie.hasBidiBug=ie.isFirefox&&4>parseInt(ie.userAgent.split("Firefox/")[1],10),ie.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],ie.noop=function(){},ie.supportsPassiveEvents=function(){let re=!1;if(!ie.isMS){let ve=Object.defineProperty({},"passive",{get:function(){re=!0}});ie.win.addEventListener&&ie.win.removeEventListener&&(ie.win.addEventListener("testPassive",ie.noop,ve),ie.win.removeEventListener("testPassive",ie.noop,ve))}return re}(),ie.charts=[],ie.composed=[],ie.dateFormats={},ie.seriesTypes={},ie.symbolSizes={},ie.chartCount=0,Z}),Pe(V,"Core/Utilities.js",[V["Core/Globals.js"]],function(Z){let ie,{charts:re,doc:ve,win:le}=Z;function fe(o,n,r,l){let d=n?"Highcharts error":"Highcharts warning";32===o&&(o=`${d}: Deprecated member`);let C=F(o),k=C?`${d} #${o}: www.highcharts.com/errors/${o}/`:o.toString();if(void 0!==l){let p="";C&&(k+="?"),f(l,function(S,j){p+=`\n - ${j}: ${S}`,C&&(k+=encodeURI(j)+"="+encodeURI(S))}),k+=p}g(Z,"displayError",{chart:r,code:o,message:k,params:l},function(){if(n)throw Error(k);le.console&&-1===fe.messages.indexOf(k)&&console.warn(k)}),fe.messages.push(k)}function pe(o,n){return parseInt(o,n||10)}function J(o){return"string"==typeof o}function te(o){let n=Object.prototype.toString.call(o);return"[object Array]"===n||"[object Array Iterator]"===n}function $(o,n){return!(!o||"object"!=typeof o||n&&te(o))}function A(o){return $(o)&&"number"==typeof o.nodeType}function B(o){let n=o&&o.constructor;return!(!$(o,!0)||A(o)||!n||!n.name||"Object"===n.name)}function F(o){return"number"==typeof o&&!isNaN(o)&&o<1/0&&o>-1/0}function L(o){return null!=o}function D(o,n,r){let l,d=J(n)&&!L(r),C=(k,p)=>{L(k)?o.setAttribute(p,k):d?(l=o.getAttribute(p))||"class"!==p||(l=o.getAttribute(p+"Name")):o.removeAttribute(p)};return J(n)?C(r,n):f(n,C),l}function I(o){return te(o)?o:[o]}function E(o,n){let r;for(r in o||(o={}),n)o[r]=n[r];return o}function _(){let o=arguments,n=o.length;for(let r=0;r1e14?o:parseFloat(o.toPrecision(n||14))}(fe||(fe={})).messages=[],Math.easeInOutSine=function(o){return-.5*(Math.cos(Math.PI*o)-1)};let O=Array.prototype.find?function(o,n){return o.find(n)}:function(o,n){let r,l=o.length;for(r=0;rp.order-S.order),d.forEach(p=>{!1===p.fn.call(o,r)&&r.preventDefault()})}l&&!r.defaultPrevented&&l.call(o,r)}f({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(o,n){Z[n]=function(r){return fe(32,!1,void 0,{[`Highcharts.${n}`]:`use Array.${o}`}),Array.prototype[o].apply(r,[].slice.call(arguments,1))}});let y=function(){let o=Math.random().toString(36).substring(2,9)+"-",n=0;return function(){return"highcharts-"+(ie?"":o)+n++}}();return le.jQuery&&(le.jQuery.fn.highcharts=function(){let o=[].slice.call(arguments);if(this[0])return o[0]?(new(Z[J(o[0])?o.shift():"Chart"])(this[0],o[0],o[1]),this):re[D(this[0],"data-highcharts-chart")]}),{addEvent:function(o,n,r,l={}){let d="function"==typeof o&&o.prototype||o;Object.hasOwnProperty.call(d,"hcEvents")||(d.hcEvents={});let C=d.hcEvents;Z.Point&&o instanceof Z.Point&&o.series&&o.series.chart&&(o.series.chart.runTrackerClick=!0);let k=o.addEventListener;return k&&k.call(o,n,r,!!Z.supportsPassiveEvents&&{passive:void 0===l.passive?-1!==n.indexOf("touch"):l.passive,capture:!1}),C[n]||(C[n]=[]),C[n].push({fn:r,order:"number"==typeof l.order?l.order:1/0}),C[n].sort((S,j)=>S.order-j.order),function(){a(o,n,r)}},arrayMax:function(o){let n=o.length,r=o[0];for(;n--;)o[n]>r&&(r=o[n]);return r},arrayMin:function(o){let n=o.length,r=o[0];for(;n--;)o[n]n?o-1&&p[U]){Y=I(Y),S[U]=[];for(let se=0;se{if(p.length>1)for(C=l=p.length-1;C>0;C--)(d=p[C]-p[C-1])<0&&!k?(n?.(),n=void 0):d&&(void 0===r||d=k-1&&(k=Math.floor(p)),Math.max(0,k-(o(n,"padding-left",!0)||0)-(o(n,"padding-right",!0)||0))}if("height"===r)return Math.max(0,Math.min(n.offsetHeight,n.scrollHeight)-(o(n,"padding-top",!0)||0)-(o(n,"padding-bottom",!0)||0));let C=le.getComputedStyle(n,void 0);return C&&(d=C.getPropertyValue(r),_(l,"opacity"!==r)&&(d=pe(d))),d},inArray:function(o,n,r){return fe(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),n.indexOf(o,r)},insertItem:function(o,n){let r,l=o.options.index,d=n.length;for(r=o.options.isInternal?d:0;r=o))&&(d||!(p<=(n[C]+(n[C+1]||n[C]))/2)));C++);return z(k*r,-Math.round(Math.log(.001)/Math.LN10))},objectEach:f,offset:function(o){let n=ve.documentElement,r=o.parentElement||o.parentNode?o.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:r.top+(le.pageYOffset||n.scrollTop)-(n.clientTop||0),left:r.left+(le.pageXOffset||n.scrollLeft)-(n.clientLeft||0),width:r.width,height:r.height}},pad:function(o,n,r){return Array((n||2)+1-String(o).replace("-","").length).join(r||"0")+o},pick:_,pInt:pe,pushUnique:function(o,n){return 0>o.indexOf(n)&&!!o.push(n)},relativeLength:function(o,n,r){return/%$/.test(o)?n*parseFloat(o)/100+(r||0):parseFloat(o)},removeEvent:a,replaceNested:function(o,...n){let r,l;do{for(l of(r=o,n))o=o.replace(l[0],l[1])}while(o!==r);return o},splat:I,stableSort:function(o,n){let r,l,d=o.length;for(l=0;l0?setTimeout(o,n,r):(o.call(0,r),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:y,useSerialIds:function(o){return ie=_(o,ie)},wrap:function(o,n,r){let l=o[n];o[n]=function(){let d=arguments,C=this;return r.apply(this,[function(){return l.apply(C,arguments.length?arguments:d)}].concat([].slice.call(arguments)))}}}}),Pe(V,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),Pe(V,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),Pe(V,"Core/Time.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie){let{win:re}=Z,{defined:ve,error:le,extend:fe,isNumber:pe,isObject:J,merge:te,objectEach:$,pad:A,pick:B,splat:F,timeUnits:L}=ie,D=Z.isSafari&&re.Intl&&re.Intl.DateTimeFormat.prototype.formatRange,I=Z.isSafari&&re.Intl&&!re.Intl.DateTimeFormat.prototype.formatRange;class E{constructor(b){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=re.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(b)}get(b,T){if(this.variableTimezone||this.timezoneOffset){let z=T.getTime(),O=z-this.getTimezoneOffset(T);T.setTime(O);let f=T["getUTC"+b]();return T.setTime(z),f}return this.useUTC?T["getUTC"+b]():T["get"+b]()}set(b,T,z){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===b||"Seconds"===b||"Minutes"===b&&this.getTimezoneOffset(T)%36e5==0)return T["setUTC"+b](z);let O=this.getTimezoneOffset(T),f=T.getTime()-O;T.setTime(f),T["setUTC"+b](z);let a=this.getTimezoneOffset(T);return f=T.getTime()+a,T.setTime(f)}return this.useUTC||D&&"FullYear"===b?T["setUTC"+b](z):T["set"+b](z)}update(b={}){let T=B(b.useUTC,!0);this.options=b=te(!0,this.options,b),this.Date=b.Date||re.Date||Date,this.useUTC=T,this.timezoneOffset=T&&b.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=T&&!(!b.getTimezoneOffset&&!b.timezone)}makeTime(b,T,z,O,f,a){let g,y,o;return this.useUTC?(g=this.Date.UTC.apply(0,arguments),y=this.getTimezoneOffset(g),g+=y,y!==(o=this.getTimezoneOffset(g))?g+=o-y:y-36e5!==this.getTimezoneOffset(g-36e5)||I||(g-=36e5)):g=new this.Date(b,T,B(z,1),B(O,0),B(f,0),B(a,0)).getTime(),g}timezoneOffsetFunction(){let b=this,T=this.options,z=T.getTimezoneOffset;return this.useUTC?T.timezone?O=>{try{let f=`shortOffset,${T.timezone||""}`,[a,g,y,o,n=0]=(E.formatCache[f]=E.formatCache[f]||Intl.DateTimeFormat("en",{timeZone:T.timezone,timeZoneName:"shortOffset"})).format(O).split(/(GMT|:)/).map(Number),r=-36e5*(y+n/60);if(pe(r))return r}catch{le(34)}return 0}:this.useUTC&&z?O=>6e4*z(O.valueOf()):()=>6e4*(b.timezoneOffset||0):O=>6e4*new Date(O.toString()).getTimezoneOffset()}dateFormat(b,T,z){if(!ve(T)||isNaN(T))return Z.defaultOptions.lang&&Z.defaultOptions.lang.invalidDate||"";b=B(b,"%Y-%m-%d %H:%M:%S");let O=this,f=new this.Date(T),a=this.get("Hours",f),g=this.get("Day",f),y=this.get("Date",f),o=this.get("Month",f),n=this.get("FullYear",f),r=Z.defaultOptions.lang,l=r&&r.weekdays,d=r&&r.shortWeekdays;return $(fe({a:d?d[g]:l[g].substr(0,3),A:l[g],d:A(y),e:A(y,2," "),w:g,b:r.shortMonths[o],B:r.months[o],m:A(o+1),o:o+1,y:n.toString().substr(2,2),Y:n,H:A(a),k:a,I:A(a%12||12),l:a%12||12,M:A(this.get("Minutes",f)),p:a<12?"AM":"PM",P:a<12?"am":"pm",S:A(this.get("Seconds",f)),L:A(Math.floor(T%1e3),3)},Z.dateFormats),function(C,k){for(;-1!==b.indexOf("%"+k);)b=b.replace("%"+k,"function"==typeof C?C.call(O,T):C)}),z?b.substr(0,1).toUpperCase()+b.substr(1):b}resolveDTLFormat(b){return J(b,!0)?b:{main:(b=F(b))[0],from:b[1],to:b[2]}}getTimeTicks(b,T,z,O){let f,a,g,y,o=this,r=[],l={},d=new(0,o.Date)(T),C=b.unitRange,k=b.count||1;if(O=B(O,1),ve(T)){o.set("Milliseconds",d,C>=L.second?0:k*Math.floor(o.get("Milliseconds",d)/k)),C>=L.second&&o.set("Seconds",d,C>=L.minute?0:k*Math.floor(o.get("Seconds",d)/k)),C>=L.minute&&o.set("Minutes",d,C>=L.hour?0:k*Math.floor(o.get("Minutes",d)/k)),C>=L.hour&&o.set("Hours",d,C>=L.day?0:k*Math.floor(o.get("Hours",d)/k)),C>=L.day&&o.set("Date",d,C>=L.month?1:Math.max(1,k*Math.floor(o.get("Date",d)/k))),C>=L.month&&(o.set("Month",d,C>=L.year?0:k*Math.floor(o.get("Month",d)/k)),a=o.get("FullYear",d)),C>=L.year&&(a-=a%k,o.set("FullYear",d,a)),C===L.week&&(y=o.get("Day",d),o.set("Date",d,o.get("Date",d)-y+O+(y4*L.month||o.getTimezoneOffset(T)!==o.getTimezoneOffset(z));let H=d.getTime();for(f=1;H1?H=o.makeTime(a,p,S,j+f*k):H+=C*k:H=o.makeTime(a,p,S+f*k*(C===L.day?1:7)),f++;r.push(H),C<=L.hour&&r.length<1e4&&r.forEach(function(Y){Y%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",Y)&&(l[Y]="day")})}return r.info=fe(b,{higherRanks:l,totalRange:C*k}),r}getDateFormat(b,T,z,O){let f=this.dateFormat("%m-%d %H:%M:%S.%L",T),a="01-01 00:00:00.000",g={millisecond:15,second:12,minute:9,hour:6,day:3},y="millisecond",o=y;for(y in L){if(b===L.week&&+this.dateFormat("%w",T)===z&&f.substr(6)===a.substr(6)){y="week";break}if(L[y]>b){y=o;break}if(g[y]&&f.substr(g[y])!==a.substr(g[y]))break;"week"!==y&&(o=y)}return this.resolveDTLFormat(O[y]).main}}return E.formatCache={},E}),Pe(V,"Core/Defaults.js",[V["Core/Chart/ChartDefaults.js"],V["Core/Globals.js"],V["Core/Color/Palettes.js"],V["Core/Time.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le){let{isTouchDevice:fe,svg:pe}=ie,{merge:J}=le,te={colors:re.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",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"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:Z,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:pe,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:fe?25:10,headerFormat:'{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};te.chart.styledMode=!1;let $=new ve(te.time);return{defaultOptions:te,defaultTime:$,getOptions:function(){return te},setOptions:function(A){return J(!0,te,A),(A.time||A.global)&&(ie.time?ie.time.update(J(te.global,te.time,A.global,A.time)):ie.time=$),te}}}),Pe(V,"Core/Color/Color.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie){let{isNumber:re,merge:ve,pInt:le}=ie;class fe{static parse(J){return J?new fe(J):fe.None}constructor(J){let te,$,A,B;this.rgba=[NaN,NaN,NaN,NaN],this.input=J;let F=Z.Color;if(F&&F!==fe)return new F(J);if("object"==typeof J&&void 0!==J.stops)this.stops=J.stops.map(L=>new fe(L[1]));else if("string"==typeof J){if(this.input=J=fe.names[J.toLowerCase()]||J,"#"===J.charAt(0)){let L=J.length,D=parseInt(J.substr(1),16);7===L?$=[(16711680&D)>>16,(65280&D)>>8,255&D,1]:4===L&&($=[(3840&D)>>4|(3840&D)>>8,(240&D)>>4|240&D,(15&D)<<4|15&D,1])}if(!$)for(A=fe.parsers.length;A--&&!$;)(te=(B=fe.parsers[A]).regex.exec(J))&&($=B.parse(te))}$&&(this.rgba=$)}get(J){let te=this.input,$=this.rgba;if("object"==typeof te&&void 0!==this.stops){let A=ve(te);return A.stops=[].slice.call(A.stops),this.stops.forEach((B,F)=>{A.stops[F]=[A.stops[F][0],B.get(J)]}),A}return $&&re($[0])?"rgb"===J||!J&&1===$[3]?"rgb("+$[0]+","+$[1]+","+$[2]+")":"a"===J?`${$[3]}`:"rgba("+$.join(",")+")":te}brighten(J){let te=this.rgba;if(this.stops)this.stops.forEach(function($){$.brighten(J)});else if(re(J)&&0!==J)for(let $=0;$<3;$++)te[$]+=le(255*J),te[$]<0&&(te[$]=0),te[$]>255&&(te[$]=255);return this}setOpacity(J){return this.rgba[3]=J,this}tweenTo(J,te){let $=this.rgba,A=J.rgba;if(!re($[0])||!re(A[0]))return J.input||"none";let B=1!==A[3]||1!==$[3];return(B?"rgba(":"rgb(")+Math.round(A[0]+($[0]-A[0])*(1-te))+","+Math.round(A[1]+($[1]-A[1])*(1-te))+","+Math.round(A[2]+($[2]-A[2])*(1-te))+(B?","+(A[3]+($[3]-A[3])*(1-te)):"")+")"}}return fe.names={white:"#ffffff",black:"#000000"},fe.parsers=[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(pe){return[le(pe[1]),le(pe[2]),le(pe[3]),parseFloat(pe[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(pe){return[le(pe[1]),le(pe[2]),le(pe[3]),1]}}],fe.None=new fe(""),fe}),Pe(V,"Core/Animation/Fx.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{parse:ve}=Z,{win:le}=ie,{isNumber:fe,objectEach:pe}=re;class J{constructor($,A,B){this.pos=NaN,this.options=A,this.elem=$,this.prop=B}dSetter(){let $=this.paths,A=$&&$[0],B=$&&$[1],F=this.now||0,L=[];if(1!==F&&A&&B)if(A.length===B.length&&F<1)for(let D=0;D=E+this.startTime?(this.now=this.end,this.pos=1,this.update(),_[this.prop]=!0,B=!0,pe(_,function(b){!0!==b&&(B=!1)}),B&&I&&I.call(D),A=!1):(this.pos=L.easing((F-this.startTime)/E),this.now=this.start+(this.end-this.start)*this.pos,this.update(),A=!0),A}initPath($,A,B){let _,b,T,z,F=$.startX,L=$.endX,D=B.slice(),I=$.isArea,E=I?2:1,O=A&&A.slice();if(!O)return[D,D];function f(g,y){for(;g.length{let z=A(T.options.animation);_=pe(L)&&re(L.defer)?I.defer:Math.max(_,z.duration+z.defer),b=Math.min(I.duration,z.duration)}),F.renderer.forExport&&(_=0),{defer:Math.max(0,_-b),duration:Math.min(_,b)}},setAnimation:function(F,L){L.renderer.globalAnimation=$(F,L.options.chart.animation,!0)},stop:B}}),Pe(V,"Core/Renderer/HTML/AST.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie){let{SVG_NS:re,win:ve}=Z,{attr:le,createElement:fe,css:pe,error:J,isFunction:te,isString:$,objectEach:A,splat:B}=ie,{trustedTypes:F}=ve,L=F&&te(F.createPolicy)&&F.createPolicy("highcharts",{createHTML:_=>_}),D=L?L.createHTML(""):"",I=function(){try{return!!(new DOMParser).parseFromString(D,"text/html")}catch{return!1}}();class E{static filterUserAttributes(b){return A(b,(T,z)=>{let O=!0;-1===E.allowedAttributes.indexOf(z)&&(O=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(z)&&(O=$(T)&&E.allowedReferences.some(f=>0===T.indexOf(f))),O||(J(33,!1,void 0,{"Invalid attribute in config":`${z}`}),delete b[z]),$(T)&&b[z]&&(b[z]=T.replace(/{let O=z.split(":").map(a=>a.trim()),f=O.shift();return f&&O.length&&(T[f.replace(/-([a-z])/g,a=>a[1].toUpperCase())]=O.join(":")),T},{})}static setElementHTML(b,T){b.innerHTML=E.emptyHTML,T&&new E(T).addToDOM(b)}constructor(b){this.nodes="string"==typeof b?this.parseMarkup(b):b}addToDOM(b){return function T(z,O){let f;return B(z).forEach(function(a){let g,y=a.tagName,o=a.textContent?Z.doc.createTextNode(a.textContent):void 0,n=E.bypassHTMLFiltering;if(y)if("#text"===y)g=o;else if(-1!==E.allowedTags.indexOf(y)||n){let l=Z.doc.createElementNS("svg"===y?re:O.namespaceURI||re,y),d=a.attributes||{};A(a,function(C,k){"tagName"!==k&&"attributes"!==k&&"children"!==k&&"style"!==k&&"textContent"!==k&&(d[k]=C)}),le(l,n?d:E.filterUserAttributes(d)),a.style&&pe(l,a.style),o&&l.appendChild(o),T(a.children||[],l),g=l}else J(33,!1,void 0,{"Invalid tagName in config":y});g&&O.appendChild(g),f=g}),f}(this.nodes,b)}parseMarkup(b){let T,z=[];if(b=b.trim().replace(/ style=(["'])/g," data-style=$1"),I)T=(new DOMParser).parseFromString(L?L.createHTML(b):b,"text/html");else{let f=fe("div");f.innerHTML=b,T={body:f}}let O=(f,a)=>{let g=f.nodeName.toLowerCase(),y={tagName:g};"#text"===g&&(y.textContent=f.textContent||"");let o=f.attributes;if(o){let n={};[].forEach.call(o,r=>{"data-style"===r.name?y.style=E.parseStyle(r.value):n[r.name]=r.value}),y.attributes=n}if(f.childNodes.length){let n=[];[].forEach.call(f.childNodes,r=>{O(r,n)}),n.length&&(y.children=n)}a.push(y)};return[].forEach.call(T.body.childNodes,f=>O(f,z)),z}}return E.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","markerHeight","markerWidth","offset","opacity","orient","padding","paddingLeft","paddingRight","patternUnits","r","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],E.allowedReferences=["https://","http://","mailto:","/","../","./","#"],E.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feDropShadow","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],E.emptyHTML=D,E.bypassHTMLFiltering=!1,E}),Pe(V,"Core/Templating.js",[V["Core/Defaults.js"],V["Core/Utilities.js"]],function(Z,ie){let{defaultOptions:re,defaultTime:ve}=Z,{extend:le,getNestedProperty:fe,isArray:pe,isNumber:J,isObject:te,pick:$,pInt:A}=ie,B={add:(D,I)=>D+I,divide:(D,I)=>0!==I?D/I:"",eq:(D,I)=>D==I,each:function(D){let I=arguments[arguments.length-1];return!!pe(D)&&D.map((E,_)=>F(I.body,le(te(E)?E:{"@this":E},{"@index":_,"@first":0===_,"@last":_===D.length-1}))).join("")},ge:(D,I)=>D>=I,gt:(D,I)=>D>I,if:D=>!!D,le:(D,I)=>D<=I,lt:(D,I)=>DD*I,ne:(D,I)=>D!=I,subtract:(D,I)=>D-I,unless:D=>!D};function F(D="",I,E){let o,n,l,_=/\{([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= #\(\)]+)\}/g,b=/\(([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= ]+)\)/g,T=[],z=/f$/,O=/\.([0-9])/,f=re.lang,a=E&&E.time||ve,g=E&&E.numberFormatter||L,y=(d="")=>{let C;return"true"===d||"false"!==d&&((C=Number(d)).toString()===d?C:fe(d,I))},r=0;for(;null!==(o=_.exec(D));){let d=b.exec(o[1]);d&&(o=d,l=!0),n&&n.isBlock||(n={ctx:I,expression:o[1],find:o[0],isBlock:"#"===o[1].charAt(0),start:o.index,startInner:o.index+o[0].length,length:o[0].length});let C=o[1].split(" ")[0].replace("#","");B[C]&&(n.isBlock&&C===n.fn&&r++,n.fn||(n.fn=C));let k="else"===o[1];if(n.isBlock&&n.fn&&(o[1]===`/${n.fn}`||k))if(r)!k&&r--;else{let p=n.startInner,S=D.substr(p,o.index-p);void 0===n.body?(n.body=S,n.startInner=o.index+o[0].length):n.elseBody=S,n.find+=S+o[0],k||(T.push(n),n=void 0)}else n.isBlock||T.push(n);if(d&&!n?.isBlock)break}return T.forEach(d=>{let C,k,{body:p,elseBody:S,expression:j,fn:H}=d;if(H){let Y=[d],U=j.split(" ");for(k=B[H].length;k--;)Y.unshift(y(U[k+1]));C=B[H].apply(I,Y),d.isBlock&&"boolean"==typeof C&&(C=F(C?p:S,I))}else{let Y=j.split(":");if(C=y(Y.shift()||""),Y.length&&"number"==typeof C){let U=Y.join(":");if(z.test(U)){let se=parseInt((U.match(O)||["","-1"])[1],10);null!==C&&(C=g(C,se,f.decimalPoint,U.indexOf(",")>-1?f.thousandsSep:""))}else C=a.dateFormat(U,C)}}D=D.replace(d.find,$(C,""))}),l?F(D,I,E):D}function L(D,I,E,_){let b,T;I=+I;let z=re.lang,O=((D=+D||0).toString().split(".")[1]||"").split("e")[0].length,f=D.toString().split("e"),a=I;-1===I?I=Math.min(O,20):J(I)?I&&f[1]&&f[1]<0&&((T=I+ +f[1])>=0?(f[0]=(+f[0]).toExponential(T).split("e")[0],I=T):(f[0]=f[0].split(".")[0]||0,D=I<20?(f[0]*Math.pow(10,f[1])).toFixed(I):0,f[1]=0)):I=2;let g=(Math.abs(f[1]?f[0]:D)+Math.pow(10,-Math.max(I,O)-1)).toFixed(I),y=String(A(g)),o=y.length>3?y.length%3:0;return E=$(E,z.decimalPoint),_=$(_,z.thousandsSep),b=(D<0?"-":"")+(o?y.substr(0,o)+_:""),0>+f[1]&&!a?b="0":b+=y.substr(o).replace(/(\d{3})(?=\d)/g,"$1"+_),I&&(b+=E+g.slice(-I)),f[1]&&0!=+b&&(b+="e"+f[1]),b}return{dateFormat:function(D,I,E){return ve.dateFormat(D,I,E)},format:F,helpers:B,numberFormat:L}}),Pe(V,"Core/Renderer/RendererRegistry.js",[V["Core/Globals.js"]],function(Z){var ie,re;let ve;return(re=ie||(ie={})).rendererTypes={},re.getRendererType=function(le=ve){return re.rendererTypes[le]||re.rendererTypes[ve]},re.registerRendererType=function(le,fe,pe){re.rendererTypes[le]=fe,(!ve||pe)&&(ve=le,Z.Renderer=fe)},ie}),Pe(V,"Core/Renderer/RendererUtilities.js",[V["Core/Utilities.js"]],function(Z){var ie;let{clamp:re,pick:ve,pushUnique:le,stableSort:fe}=Z;return(ie||(ie={})).distribute=function pe(J,te,$){let _,b,T,O,f,g,A=J,B=A.reducedLen||te,F=(y,o)=>y.target-o.target,L=[],D=J.length,I=[],E=L.push,z=!0,a=0;for(_=D;_--;)a+=J[_].size;if(a>B){for(fe(J,(y,o)=>(o.rank||0)-(y.rank||0)),T=(g=J[0].rank===J[J.length-1].rank)?D/2:-1,b=g?T:D-1;T&&a>B;)O=J[_=Math.floor(b)],le(I,_)&&(a-=O.size),b+=T,g&&b>=J.length&&(T/=2,b=T);I.sort((y,o)=>o-y).forEach(y=>E.apply(L,J.splice(y,1)))}for(fe(J,F),J=J.map(y=>({size:y.size,targets:[y.target],align:ve(y.align,.5)}));z;){for(_=J.length;_--;)O=J[_],f=(Math.min.apply(0,O.targets)+Math.max.apply(0,O.targets))/2,O.pos=re(f-O.size*O.align,0,te-O.size);for(_=J.length,z=!1;_--;)_>0&&J[_-1].pos+J[_-1].size>J[_].pos&&(J[_-1].size+=J[_].size,J[_-1].targets=J[_-1].targets.concat(J[_].targets),J[_-1].align=.5,J[_-1].pos+J[_-1].size>te&&(J[_-1].pos=te-J[_-1].size),J.splice(_,1),z=!0)}return E.apply(A,L),_=0,J.some(y=>{let o=0;return(y.targets||[]).some(()=>(A[_].pos=y.pos+o,void 0!==$&&Math.abs(A[_].pos-A[_].target)>$?(A.slice(0,_+1).forEach(n=>delete n.pos),A.reducedLen=(A.reducedLen||te)-.1*te,A.reducedLen>.1*te&&pe(A,te,$),!0):(o+=A[_].size,_++,!1)))}),fe(A,F),A},ie}),Pe(V,"Core/Renderer/SVG/SVGElement.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){let{animate:le,animObject:fe,stop:pe}=Z,{deg2rad:J,doc:te,svg:$,SVG_NS:A,win:B}=re,{addEvent:F,attr:L,createElement:D,css:I,defined:E,erase:_,extend:b,fireEvent:T,isArray:z,isFunction:O,isObject:f,isString:a,merge:g,objectEach:y,pick:o,pInt:n,replaceNested:r,syncTimeout:l,uniqueKey:d}=ve;class C{_defaultGetter(p){let S=o(this[p+"Value"],this[p],this.element?this.element.getAttribute(p):null,0);return/^[\-0-9\.]+$/.test(S)&&(S=parseFloat(S)),S}_defaultSetter(p,S,j){j.setAttribute(S,p)}add(p){let S,j=this.renderer,H=this.element;return p&&(this.parentGroup=p),void 0!==this.textStr&&"text"===this.element.nodeName&&j.buildText(this),this.added=!0,(!p||p.handleZ||this.zIndex)&&(S=this.zIndexSetter()),S||(p?p.element:j.box).appendChild(H),this.onAdd&&this.onAdd(),this}addClass(p,S){let j=S?"":this.attr("class")||"";return(p=(p||"").split(/ /g).reduce(function(H,Y){return-1===j.indexOf(Y)&&H.push(Y),H},j?[j]:[]).join(" "))!==j&&this.attr("class",p),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(p,S,j,H=!0){let Y,U,se,w,X,G={},x=this.renderer,N=x.alignedObjects;p?(this.alignOptions=p,this.alignByTranslate=S,(!j||a(j))&&(this.alignTo=se=j||"renderer",_(N,this),N.push(this),j=void 0)):(p=this.alignOptions,S=this.alignByTranslate,se=this.alignTo),j=o(j,x[se],x);let R=p.align,K=p.verticalAlign;return Y=(j.x||0)+(p.x||0),U=(j.y||0)+(p.y||0),"right"===R?w=1:"center"===R&&(w=2),w&&(Y+=(j.width-(p.width||0))/w),G[S?"translateX":"x"]=Math.round(Y),"bottom"===K?X=1:"middle"===K&&(X=2),X&&(U+=(j.height-(p.height||0))/X),G[S?"translateY":"y"]=Math.round(U),H&&(this[this.placed?"animate":"attr"](G),this.placed=!0),this.alignAttr=G,this}alignSetter(p){let S={left:"start",center:"middle",right:"end"};S[p]&&(this.alignValue=p,this.element.setAttribute("text-anchor",S[p]))}animate(p,S,j){let H=fe(o(S,this.renderer.globalAnimation,!0)),Y=H.defer;return te.hidden&&(H.duration=0),0!==H.duration?(j&&(H.complete=j),l(()=>{this.element&&le(this,p,H)},Y)):(this.attr(p,void 0,j||H.complete),y(p,function(U,se){H.step&&H.step.call(this,U,{prop:se,pos:1,elem:this})},this)),this}applyTextOutline(p){let S=this.element;-1!==p.indexOf("contrast")&&(p=p.replace(/contrast/g,this.renderer.getContrast(S.style.fill)));let j=p.split(" "),H=j[j.length-1],Y=j[0];if(Y&&"none"!==Y&&re.svg){this.fakeTS=!0,Y=Y.replace(/(^[\d\.]+)(.*?)$/g,function(G,x,N){return 2*Number(x)+N}),this.removeTextOutline();let U=te.createElementNS(A,"tspan");L(U,{class:"highcharts-text-outline",fill:H,stroke:H,"stroke-width":Y,"stroke-linejoin":"round"});let se=S.querySelector("textPath")||S;[].forEach.call(se.childNodes,G=>{let x=G.cloneNode(!0);x.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(N=>x.removeAttribute(N)),U.appendChild(x)});let w=0;[].forEach.call(se.querySelectorAll("text tspan"),G=>{w+=Number(G.getAttribute("dy"))});let X=te.createElementNS(A,"tspan");X.textContent="\u200b",L(X,{x:Number(S.getAttribute("x")),dy:-w}),U.appendChild(X),se.insertBefore(U,se.firstChild)}}attr(p,S,j,H){let se,w,G,Y=this.element,U=C.symbolCustomAttribs,X=this;return"string"==typeof p&&void 0!==S&&(se=p,(p={})[se]=S),"string"==typeof p?X=(this[p+"Getter"]||this._defaultGetter).call(this,p,Y):(y(p,function(x,N){G=!1,H||pe(this,N),this.symbolName&&-1!==U.indexOf(N)&&(w||(this.symbolAttr(p),w=!0),G=!0),this.rotation&&("x"===N||"y"===N)&&(this.doTransform=!0),G||(this[N+"Setter"]||this._defaultSetter).call(this,x,N,Y)},this),this.afterSetters()),j&&j.call(this),X}clip(p){if(p&&!p.clipPath){let S=d()+"-",j=this.renderer.createElement("clipPath").attr({id:S}).add(this.renderer.defs);b(p,{clipPath:j,id:S,count:0}),p.add(j)}return this.attr("clip-path",p?`url(${this.renderer.url}#${p.id})`:"none")}crisp(p,S){let j=Math.round(S=S||p.strokeWidth||0)%2/2;return p.x=Math.floor(p.x||this.x||0)+j,p.y=Math.floor(p.y||this.y||0)+j,p.width=Math.floor((p.width||this.width||0)-2*j),p.height=Math.floor((p.height||this.height||0)-2*j),E(p.strokeWidth)&&(p.strokeWidth=S),p}complexColor(p,S,j){let Y,U,se,w,X,G,x,N,R,K,he,H=this.renderer,q=[];T(this.renderer,"complexColor",{args:arguments},function(){if(p.radialGradient?U="radialGradient":p.linearGradient&&(U="linearGradient"),U){if(se=p[U],X=H.gradients,G=p.stops,R=j.radialReference,z(se)&&(p[U]=se={x1:se[0],y1:se[1],x2:se[2],y2:se[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===U&&R&&!E(se.gradientUnits)&&(w=se,se=g(se,H.getRadialAttr(R,w),{gradientUnits:"userSpaceOnUse"})),y(se,function(me,Ce){"id"!==Ce&&q.push(Ce,me)}),y(G,function(me){q.push(me)}),X[q=q.join(",")])K=X[q].attr("id");else{se.id=K=d();let me=X[q]=H.createElement(U).attr(se).add(H.defs);me.radAttr=w,me.stops=[],G.forEach(function(Ce){0===Ce[1].indexOf("rgba")?(x=(Y=ie.parse(Ce[1])).get("rgb"),N=Y.get("a")):(x=Ce[1],N=1);let Se=H.createElement("stop").attr({offset:Ce[0],"stop-color":x,"stop-opacity":N}).add(me);me.stops.push(Se)})}he="url("+H.url+"#"+K+")",j.setAttribute(S,he),j.gradient=q,p.toString=function(){return he}}})}css(p){let Y,S=this.styles,j={},H=this.element,U=!S;if(S&&y(p,function(se,w){S&&S[w]!==se&&(j[w]=se,U=!0)}),U){S&&(p=b(S,j)),null===p.width||"auto"===p.width?delete this.textWidth:"text"===H.nodeName.toLowerCase()&&p.width&&(Y=this.textWidth=n(p.width)),b(this.styles,p),Y&&!$&&this.renderer.forExport&&delete p.width;let se=g(p);H.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(w=>se&&delete se[w]),se.color&&(se.fill=se.color)),I(H,se)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),p.textOutline&&this.applyTextOutline(p.textOutline)),this}dashstyleSetter(p){let S,j=this["stroke-width"];if("inherit"===j&&(j=1),p=p&&p.toLowerCase()){let H=p.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(S=H.length;S--;)H[S]=""+n(H[S])*o(j,NaN);p=H.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",p)}}destroy(){let U,se,p=this,S=p.element||{},j=p.renderer,H=S.ownerSVGElement,Y="SPAN"===S.nodeName&&p.parentGroup||void 0;if(S.onclick=S.onmouseout=S.onmouseover=S.onmousemove=S.point=null,pe(p),p.clipPath&&H){let w=p.clipPath;[].forEach.call(H.querySelectorAll("[clip-path],[CLIP-PATH]"),function(X){X.getAttribute("clip-path").indexOf(w.element.id)>-1&&X.removeAttribute("clip-path")}),p.clipPath=w.destroy()}if(p.connector=p.connector?.destroy(),p.stops){for(se=0;seY&&Y.join?(U?H+" ":"")+Y.join(" "):(Y||"").toString(),"")),/(NaN| {2}|^$)/.test(p)&&(p="M 0 0"),this[S]!==p&&(j.setAttribute(S,p),this[S]=p)}fillSetter(p,S,j){"string"==typeof p?j.setAttribute(S,p):p&&this.complexColor(p,S,j)}hrefSetter(p,S,j){j.setAttributeNS("http://www.w3.org/1999/xlink",S,p)}getBBox(p,S){let j,H,Y,U,{alignValue:se,element:w,renderer:X,styles:G,textStr:x}=this,{cache:N,cacheKeys:R}=X,K=w.namespaceURI===this.SVG_NS,q=o(S,this.rotation,0),he=X.styledMode?w&&C.prototype.getStyle.call(w,"font-size"):G.fontSize;if(E(x)&&(-1===(U=x.toString()).indexOf("<")&&(U=U.replace(/[0-9]/g,"0")),U+=["",X.rootFontSize,he,q,this.textWidth,se,G.textOverflow,G.fontWeight].join(",")),U&&!p&&(j=N[U]),!j){if(K||X.forExport){try{Y=this.fakeTS&&function(me){let Ce=w.querySelector(".highcharts-text-outline");Ce&&I(Ce,{display:me})},O(Y)&&Y("none"),j=w.getBBox?b({},w.getBBox()):{width:w.offsetWidth,height:w.offsetHeight,x:0,y:0},O(Y)&&Y("")}catch{}(!j||j.width<0)&&(j={x:0,y:0,width:0,height:0})}else j=this.htmlGetBBox();H=j.height,K&&(j.height=H={"11px,17":14,"13px,20":16}[`${he||""},${Math.round(H)}`]||H),q&&(j=this.getRotatedBox(j,q))}if(U&&(""===x||j.height>0)){for(;R.length>250;)delete N[R.shift()];N[U]||R.push(U),N[U]=j}return j}getRotatedBox(p,S){let{x:j,y:H,width:Y,height:U}=p,{alignValue:se,translateY:w,rotationOriginX:X=0,rotationOriginY:G=0}=this,x={right:1,center:.5}[se||0]||0,N=Number(this.element.getAttribute("y")||0)-(w?0:H),R=S*J,K=(S-90)*J,q=Math.cos(R),he=Math.sin(R),me=Y*q,Ce=Y*he,Se=Math.cos(K),Oe=Math.sin(K),[[Ae,Fe],[oe,ee]]=[X,G].map(pt=>[pt-pt*q,pt*he]),de=j+x*(Y-me)+Ae+ee+N*Se,ye=de+me,Te=ye-U*Se,_e=Te-me,Me=H+N-x*Ce-Fe+oe+N*Oe,Ee=Me+Ce,Xe=Ee-U*Oe,Ze=Xe-Ce,lt=Math.min(de,ye,Te,_e),Qe=Math.min(Me,Ee,Xe,Ze);return{x:lt,y:Qe,width:Math.max(de,ye,Te,_e)-lt,height:Math.max(Me,Ee,Xe,Ze)-Qe}}getStyle(p){return B.getComputedStyle(this.element||this,"").getPropertyValue(p)}hasClass(p){return-1!==(""+this.attr("class")).split(" ").indexOf(p)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(p,S){this.onEvents={},this.opacity=1,this.SVG_NS=A,this.element="span"===S||"body"===S?D(S):te.createElementNS(this.SVG_NS,S),this.renderer=p,this.styles={},T(this,"afterInit")}on(p,S){let{onEvents:j}=this;return j[p]&&j[p](),j[p]=F(this.element,p,S),this}opacitySetter(p,S,j){let H=Number(Number(p).toFixed(3));this.opacity=H,j.setAttribute(S,H)}removeClass(p){return this.attr("class",(""+this.attr("class")).replace(a(p)?RegExp(`(^| )${p}( |$)`):p," ").replace(/ +/g," ").trim())}removeTextOutline(){let p=this.element.querySelector("tspan.highcharts-text-outline");p&&this.safeRemoveChild(p)}safeRemoveChild(p){let S=p.parentNode;S&&S.removeChild(p)}setRadialReference(p){let S=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=p,S&&S.radAttr&&S.animate(this.renderer.getRadialAttr(p,S.radAttr)),this}setTextPath(p,S){S=g(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},S);let j=this.renderer.url,H=this.text||this,Y=H.textPath,{attributes:U,enabled:se}=S;if(p=p||Y&&Y.path,Y&&Y.undo(),p&&se){let w=F(H,"afterModifyTree",X=>{if(p&&se){let G=p.attr("id");G||p.attr("id",G=d());let x={x:0,y:0};E(U.dx)&&(x.dx=U.dx,delete U.dx),E(U.dy)&&(x.dy=U.dy,delete U.dy),H.attr(x),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let N=X.nodes.slice(0);X.nodes.length=0,X.nodes[0]={tagName:"textPath",attributes:b(U,{"text-anchor":U.textAnchor,href:`${j}#${G}`}),children:N}}});H.textPath={path:p,undo:w}}else H.attr({dx:0,dy:0}),delete H.textPath;return this.added&&(H.textCache="",this.renderer.buildText(H)),this}shadow(p){let{renderer:S}=this,j=g(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},f(p)?p:{}),H=S.shadowDefinition(j);return this.attr({filter:p?`url(${S.url}#${H})`:"none"})}show(p=!0){return this.attr({visibility:p?"inherit":"visible"})}"stroke-widthSetter"(p,S,j){this[S]=p,j.setAttribute(S,p)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let j,p=this.getStyle("stroke-width"),S=0;return/px$/.test(p)?S=n(p):""!==p&&(L(j=te.createElementNS(A,"rect"),{width:p,"stroke-width":0}),this.element.parentNode.appendChild(j),S=j.getBBox().width,j.parentNode.removeChild(j)),S}symbolAttr(p){let S=this;C.symbolCustomAttribs.forEach(function(j){S[j]=o(p[j],S[j])}),S.attr({d:S.renderer.symbols[S.symbolName](S.x,S.y,S.width,S.height,S)})}textSetter(p){p!==this.textStr&&(delete this.textPxLength,this.textStr=p,this.added&&this.renderer.buildText(this))}titleSetter(p){let S=this.element,j=S.getElementsByTagName("title")[0]||te.createElementNS(this.SVG_NS,"title");S.insertBefore?S.insertBefore(j,S.firstChild):S.appendChild(j),j.textContent=r(o(p,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let p=this.element;return p.parentNode.appendChild(p),this}translate(p,S){return this.attr({translateX:p,translateY:S})}updateTransform(p="transform"){let{element:S,matrix:j,rotation:H=0,rotationOriginX:Y,rotationOriginY:U,scaleX:se,scaleY:w,translateX:X=0,translateY:G=0}=this,x=["translate("+X+","+G+")"];E(j)&&x.push("matrix("+j.join(",")+")"),H&&(x.push("rotate("+H+" "+o(Y,S.getAttribute("x"),0)+" "+o(U,S.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:H,rotationOriginX:(Y||0)-this.padding,rotationOriginY:(U||0)-this.padding})),(E(se)||E(w))&&x.push("scale("+o(se,1)+" "+o(w,1)+")"),x.length&&!(this.text||this).textPath&&S.setAttribute(p,x.join(" "))}visibilitySetter(p,S,j){"inherit"===p?j.removeAttribute(S):this[S]!==p&&j.setAttribute(S,p),this[S]=p}xGetter(p){return"circle"===this.element.nodeName&&("x"===p?p="cx":"y"===p&&(p="cy")),this._defaultGetter(p)}zIndexSetter(p,S){let w,X,G,N,K,j=this.renderer,H=this.parentGroup,Y=(H||j).element||j.box,U=this.element,se=Y===j.box,x=!1,R=this.added;if(E(p)?(U.setAttribute("data-z-index",p),this[S]===(p=+p)&&(R=!1)):E(this[S])&&U.removeAttribute("data-z-index"),this[S]=p,R){for((p=this.zIndex)&&H&&(H.handleZ=!0),K=(w=Y.childNodes).length-1;K>=0&&!x;K--)N=!E(G=(X=w[K]).getAttribute("data-z-index")),X!==U&&(p<0&&N&&!se&&!K?(Y.insertBefore(U,w[K]),x=!0):(n(G)<=p||N&&(!E(p)||p>=0))&&(Y.insertBefore(U,w[K+1]),x=!0));x||(Y.insertBefore(U,w[se?3:0]),x=!0)}return x}}return C.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],C.prototype.strokeSetter=C.prototype.fillSetter,C.prototype.yGetter=C.prototype.xGetter,C.prototype.matrixSetter=C.prototype.rotationOriginXSetter=C.prototype.rotationOriginYSetter=C.prototype.rotationSetter=C.prototype.scaleXSetter=C.prototype.scaleYSetter=C.prototype.translateXSetter=C.prototype.translateYSetter=C.prototype.verticalAlignSetter=function(k,p){this[p]=k,this.doTransform=!0},C}),Pe(V,"Core/Renderer/SVG/SVGLabel.js",[V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(Z,ie){let{defined:re,extend:ve,isNumber:le,merge:fe,pick:pe,removeEvent:J}=ie;class te extends Z{constructor(A,B,F,L,D,I,E,_,b,T){let z;super(A,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.textStr=B,this.x=F,this.y=L,this.anchorX=I,this.anchorY=E,this.baseline=b,this.className=T,this.addClass("button"===T?"highcharts-no-tooltip":"highcharts-label"),T&&this.addClass("highcharts-"+T),this.text=A.text(void 0,0,0,_).attr({zIndex:1}),"string"==typeof D&&((z=/^url\((.*?)\)$/.test(D))||this.renderer.symbols[D])&&(this.symbolKey=D),this.bBox=te.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=A.styledMode||z,this.deferredAttr={},this.alignFactor=0}alignSetter(A){let B={left:0,center:.5,right:1}[A];B!==this.alignFactor&&(this.alignFactor=B,this.bBox&&le(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(A,B){this.anchorX=A,this.boxAttr(B,Math.round(A)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(A,B){this.anchorY=A,this.boxAttr(B,A-this.ySetting)}boxAttr(A,B){this.box?this.box.attr(A,B):this.deferredAttr[A]=B}css(A){if(A){let B={};A=fe(A),te.textProps.forEach(F=>{void 0!==A[F]&&(B[F]=A[F],delete A[F])}),this.text.css(B),"fontSize"in B||"fontWeight"in B?this.updateTextPadding():("width"in B||"textOverflow"in B)&&this.updateBoxSize()}return Z.prototype.css.call(this,A)}destroy(){J(this.element,"mouseenter"),J(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),Z.prototype.destroy.call(this)}fillSetter(A,B){A&&(this.needsBox=!0),this.fill=A,this.boxAttr(B,A)}getBBox(A,B){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:F,height:L=0,translateX:D=0,translateY:I=0,width:E=0}=this,_=pe(this.paddingLeft,F),b=B??(this.rotation||0),T={width:E,height:L,x:D+this.bBox.x-_,y:I+this.bBox.y-F+this.baselineOffset};return b&&(T=this.getRotatedBox(T,b)),T}getCrispAdjust(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(A){this.heightSetting=A}onAdd(){this.text.add(this),this.attr({text:pe(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&re(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(A,B){le(A)?A!==this[B]&&(this[B]=A,this.updateTextPadding()):this[B]=void 0}rSetter(A,B){this.boxAttr(B,A)}strokeSetter(A,B){this.stroke=A,this.boxAttr(B,A)}"stroke-widthSetter"(A,B){A&&(this.needsBox=!0),this["stroke-width"]=A,this.boxAttr(B,A)}"text-alignSetter"(A){this.textAlign=A}textSetter(A){void 0!==A&&this.text.attr({text:A}),this.updateTextPadding()}updateBoxSize(){let A,B=this.text,F={},L=this.padding,D=this.bBox=le(this.widthSetting)&&le(this.heightSetting)&&!this.textAlign||!re(B.textStr)?te.emptyBBox:B.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||D.height||0)+2*L;let I=this.renderer.fontMetrics(B);if(this.baselineOffset=L+Math.min((this.text.firstLineMetrics||I).b,D.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-I.h)/2),this.needsBox&&!B.textPath){if(!this.box){let E=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();E.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),E.add(this)}A=this.getCrispAdjust(),F.x=A,F.y=(this.baseline?-this.baselineOffset:0)+A,F.width=Math.round(this.width),F.height=Math.round(this.height),this.box.attr(ve(F,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let A=this.text;if(!A.textPath){this.updateBoxSize();let B=this.baseline?0:this.baselineOffset,F=pe(this.paddingLeft,this.padding);re(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(F+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(F!==A.x||B!==A.y)&&(A.attr("x",F),A.hasBoxWidthChanged&&(this.bBox=A.getBBox(!0)),void 0!==B&&A.attr("y",B)),A.x=F,A.y=B}}widthSetter(A){this.widthSetting=le(A)?A:void 0}getPaddedWidth(){let A=this.padding,B=pe(this.paddingLeft,A),F=pe(this.paddingRight,A);return(this.widthSetting||this.bBox.width||0)+B+F}xSetter(A){this.x=A,this.alignFactor&&(A-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(A),this.attr("translateX",this.xSetting)}ySetter(A){this.ySetting=this.y=Math.round(A),this.attr("translateY",this.ySetting)}}return te.emptyBBox={width:0,height:0,x:0,y:0},te.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],te}),Pe(V,"Core/Renderer/SVG/Symbols.js",[V["Core/Utilities.js"]],function(Z){let{defined:ie,isNumber:re,pick:ve}=Z;function le(J,te,$,A,B){let F=[];if(B){let L=B.start||0,D=ve(B.r,$),I=ve(B.r,A||$),E=.001>Math.abs((B.end||0)-L-2*Math.PI),_=(B.end||0)-.001,b=B.innerR,T=ve(B.open,E),z=Math.cos(L),O=Math.sin(L),f=Math.cos(_),a=Math.sin(_),g=ve(B.longArc,_-L-Math.PI<.001?0:1),y=["A",D,I,0,g,ve(B.clockwise,1),J+D*f,te+I*a];y.params={start:L,end:_,cx:J,cy:te},F.push(["M",J+D*z,te+I*O],y),ie(b)&&((y=["A",b,b,0,g,ie(B.clockwise)?1-B.clockwise:0,J+b*z,te+b*O]).params={start:_,end:L,cx:J,cy:te},F.push(T?["M",J+b*f,te+b*a]:["L",J+b*f,te+b*a],y)),T||F.push(["Z"])}return F}function fe(J,te,$,A,B){return B&&B.r?pe(J,te,$,A,B):[["M",J,te],["L",J+$,te],["L",J+$,te+A],["L",J,te+A],["Z"]]}function pe(J,te,$,A,B){let F=B?.r||0;return[["M",J+F,te],["L",J+$-F,te],["A",F,F,0,0,1,J+$,te+F],["L",J+$,te+A-F],["A",F,F,0,0,1,J+$-F,te+A],["L",J+F,te+A],["A",F,F,0,0,1,J,te+A-F],["L",J,te+F],["A",F,F,0,0,1,J+F,te],["Z"]]}return{arc:le,callout:function(J,te,$,A,B){let F=Math.min(B&&B.r||0,$,A),L=F+6,D=B&&B.anchorX,I=B&&B.anchorY||0,E=pe(J,te,$,A,{r:F});if(!re(D)||D<$&&D>0&&I0)return E;if(J+D>$-L)if(I>te+L&&Ite+L&&I0){let _=IA&&D<$-L?E.splice(5,1,["L",D+6,te+A],["L",D,te+A+6],["L",D-6,te+A],["L",J+F,te+A]):I<0&&D>L&&E.splice(1,1,["L",D-6,te],["L",D,te-6],["L",D+6,te],["L",$-F,te]);return E},circle:function(J,te,$,A){return le(J+$/2,te+A/2,$/2,A/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(J,te,$,A){return[["M",J+$/2,te],["L",J+$,te+A/2],["L",J+$/2,te+A],["L",J,te+A/2],["Z"]]},rect:fe,roundedRect:pe,square:fe,triangle:function(J,te,$,A){return[["M",J+$/2,te],["L",J+$,te+A],["L",J,te+A],["Z"]]},"triangle-down":function(J,te,$,A){return[["M",J,te],["L",J+$,te],["L",J+$/2,te+A],["Z"]]}}}),Pe(V,"Core/Renderer/SVG/TextBuilder.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{doc:ve,SVG_NS:le,win:fe}=ie,{attr:pe,extend:J,fireEvent:te,isString:$,objectEach:A,pick:B}=re;return class{constructor(F){let L=F.styles;this.renderer=F.renderer,this.svgElement=F,this.width=F.textWidth,this.textLineHeight=L&&L.lineHeight,this.textOutline=L&&L.textOutline,this.ellipsis=!(!L||"ellipsis"!==L.textOverflow),this.noWrap=!(!L||"nowrap"!==L.whiteSpace)}buildSVG(){let F=this.svgElement,L=F.element,D=F.renderer,I=B(F.textStr,"").toString(),E=-1!==I.indexOf("<"),_=L.childNodes,b=!F.added&&D.box,T=[I,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,F.getStyle("font-size"),this.width].join(",");if(T!==F.textCache){F.textCache=T,delete F.actualWidth;for(let z=_.length;z--;)L.removeChild(_[z]);if(E||this.ellipsis||this.width||F.textPath||-1!==I.indexOf(" ")&&(!this.noWrap||//g.test(I))){if(""!==I){b&&b.appendChild(L);let z=new Z(I);this.modifyTree(z.nodes),z.addToDOM(L),this.modifyDOM(),this.ellipsis&&-1!==(L.textContent||"").indexOf("\u2026")&&F.attr("title",this.unescapeEntities(F.textStr||"",["<",">"])),b&&b.removeChild(L)}}else L.appendChild(ve.createTextNode(this.unescapeEntities(I)));$(this.textOutline)&&F.applyTextOutline&&F.applyTextOutline(this.textOutline)}}modifyDOM(){let F,L=this.svgElement,D=pe(L.element,"x");for(L.firstLineMetrics=void 0;(F=L.element.firstChild)&&/^[\s\u200B]*$/.test(F.textContent||" ");)L.element.removeChild(F);[].forEach.call(L.element.querySelectorAll("tspan.highcharts-br"),(b,T)=>{b.nextSibling&&b.previousSibling&&(0===T&&1===b.previousSibling.nodeType&&(L.firstLineMetrics=L.renderer.fontMetrics(b.previousSibling)),pe(b,{dy:this.getLineHeight(b.nextSibling),x:D}))});let I=this.width||0;if(!I)return;let E=(b,T)=>{let z=b.textContent||"",O=z.replace(/([^\^])-/g,"$1- ").split(" "),f=!this.noWrap&&(O.length>1||L.element.childNodes.length>1),a=this.getLineHeight(T),g=0,y=L.actualWidth;if(this.ellipsis)z&&this.truncate(b,z,void 0,0,Math.max(0,I-.8*a),(o,n)=>o.substring(0,n)+"\u2026");else if(f){let o=[],n=[];for(;T.firstChild&&T.firstChild!==b;)n.push(T.firstChild),T.removeChild(T.firstChild);for(;O.length;)O.length&&!this.noWrap&&g>0&&(o.push(b.textContent||""),b.textContent=O.join(" ").replace(/- /g,"-")),this.truncate(b,void 0,O,0===g&&y||0,I,(r,l)=>O.slice(0,l).join(" ").replace(/- /g,"-")),y=L.actualWidth,g++;n.forEach(r=>{T.insertBefore(r,b)}),o.forEach(r=>{T.insertBefore(ve.createTextNode(r),b);let l=ve.createElementNS(le,"tspan");l.textContent="\u200b",pe(l,{dy:a,x:D}),T.insertBefore(l,b)})}},_=b=>{[].slice.call(b.childNodes).forEach(T=>{T.nodeType===fe.Node.TEXT_NODE?E(T,b):(-1!==T.className.baseVal.indexOf("highcharts-br")&&(L.actualWidth=0),_(T))})};_(L.element)}getLineHeight(F){let L=F.nodeType===fe.Node.TEXT_NODE?F.parentElement:F;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(L||this.svgElement.element).h}modifyTree(F){let L=(D,I)=>{let{attributes:E={},children:_,style:b={},tagName:T}=D,z=this.renderer.styledMode;if("b"===T||"strong"===T?z?E.class="highcharts-strong":b.fontWeight="bold":("i"===T||"em"===T)&&(z?E.class="highcharts-emphasized":b.fontStyle="italic"),b&&b.color&&(b.fill=b.color),"br"===T){E.class="highcharts-br",D.textContent="\u200b";let O=F[I+1];O&&O.textContent&&(O.textContent=O.textContent.replace(/^ +/gm,""))}else"a"===T&&_&&_.some(O=>"#text"===O.tagName)&&(D.children=[{children:_,tagName:"tspan"}]);"#text"!==T&&"a"!==T&&(D.tagName="tspan"),J(D,{attributes:E,style:b}),_&&_.filter(O=>"#text"!==O.tagName).forEach(L)};F.forEach(L),te(this.svgElement,"afterModifyTree",{nodes:F})}truncate(F,L,D,I,E,_){let b,T,z=this.svgElement,{rotation:O}=z,f=[],a=D?1:0,g=(L||D||"").length,y=g,o=function(n,r){let l=r||n,d=F.parentNode;if(d&&void 0===f[l]&&d.getSubStringLength)try{f[l]=I+d.getSubStringLength(0,D?l+1:l)}catch{}return f[l]};if(z.rotation=0,I+(T=o(F.textContent.length))>E){for(;a<=g;)y=Math.ceil((a+g)/2),D&&(b=_(D,y)),T=o(y,b&&b.length-1),a===g?a=g+1:T>E?g=y-1:a=y;0===g?F.textContent="":L&&g===L.length-1||(F.textContent=b||_(L||D,y))}D&&D.splice(0,y),z.actualWidth=T,z.rotation=O}unescapeEntities(F,L){return A(this.renderer.escapes,function(D,I){L&&-1!==L.indexOf(D)||(F=F.toString().replace(RegExp(D,"g"),I))}),F}}}),Pe(V,"Core/Renderer/SVG/SVGRenderer.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGLabel.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Renderer/SVG/TextBuilder.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe,pe,J,te){let $,{charts:A,deg2rad:B,doc:F,isFirefox:L,isMS:D,isWebKit:I,noop:E,SVG_NS:_,symbolSizes:b,win:T}=re,{addEvent:z,attr:O,createElement:f,css:a,defined:g,destroyObjectProperties:y,extend:o,isArray:n,isNumber:r,isObject:l,isString:d,merge:C,pick:k,pInt:p,replaceNested:S,uniqueKey:j}=te;class H{constructor(U,se,w,X,G,x,N){let R,K,q=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),he=q.element;N||q.css(this.getStyle(X||{})),U.appendChild(he),O(U,"dir","ltr"),-1===U.innerHTML.indexOf("xmlns")&&O(he,"xmlns",this.SVG_NS),this.box=he,this.boxWrapper=q,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(F.createTextNode("Created with Highcharts 11.4.0")),this.defs=this.createElement("defs").add(),this.allowHTML=x,this.forExport=G,this.styledMode=N,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=q.getStyle("font-size"),this.setSize(se,w,!1),L&&U.getBoundingClientRect&&((R=function(){a(U,{left:0,top:0}),K=U.getBoundingClientRect(),a(U,{left:Math.ceil(K.left)-K.left+"px",top:Math.ceil(K.top)-K.top+"px"})})(),this.unSubPixelFix=z(T,"resize",R))}definition(U){return new Z([U]).addToDOM(this.defs.element)}getReferenceURL(){if((L||I)&&F.getElementsByTagName("base").length){if(!g($)){let U=j(),se=new Z([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:U},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${U})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(F.body);a(se,{position:"fixed",top:0,left:0,zIndex:9e5});let w=F.elementFromPoint(6,6);$="hitme"===(w&&w.id),F.body.removeChild(se)}if($)return S(T.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(U){return this.style=o({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},U),this.style}setStyle(U){this.boxWrapper.css(this.getStyle(U))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let U=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),y(this.gradients||{}),this.gradients=null,this.defs=U.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(U){return new this.Element(this,U)}getRadialAttr(U,se){return{cx:U[0]-U[2]/2+(se.cx||0)*U[2],cy:U[1]-U[2]/2+(se.cy||0)*U[2],r:(se.r||0)*U[2]}}shadowDefinition(U){let se=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(U).map(X=>`${X}-${U[X]}`)].join("-").toLowerCase().replace(/[^a-z0-9\-]/g,""),w=C({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},U);return this.defs.element.querySelector(`#${se}`)||this.definition({tagName:"filter",attributes:{id:se,filterUnits:w.filterUnits},children:[{tagName:"feDropShadow",attributes:{dx:w.offsetX,dy:w.offsetY,"flood-color":w.color,"flood-opacity":Math.min(5*w.opacity,1),stdDeviation:w.width/2}}]}),se}buildText(U){new J(U).buildSVG()}getContrast(U){let se=ie.parse(U).rgba.map(X=>{let G=X/255;return G<=.03928?G/12.92:Math.pow((G+.055)/1.055,2.4)}),w=.2126*se[0]+.7152*se[1]+.0722*se[2];return 1.05/(w+.05)>(w+.05)/.05?"#FFFFFF":"#000000"}button(U,se,w,X,G={},x,N,R,K,q){let he,me,Ce,Se=this.label(U,se,w,K,void 0,void 0,q,void 0,"button"),Oe=this.styledMode,Ae=G.states||{},Fe=0;delete(G=C(G)).states;let oe=C({color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},G.style);delete G.style;let ee=Z.filterUserAttributes(G);return Se.attr(C({padding:8,r:2},ee)),Oe||(ee=C({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},ee),he=(x=C(ee,{fill:"#e6e6e6"},Z.filterUserAttributes(x||Ae.hover||{}))).style,delete x.style,me=(N=C(ee,{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},Z.filterUserAttributes(N||Ae.select||{}))).style,delete N.style,Ce=(R=C(ee,{style:{color:"#cccccc"}},Z.filterUserAttributes(R||Ae.disabled||{}))).style,delete R.style),z(Se.element,D?"mouseover":"mouseenter",function(){3!==Fe&&Se.setState(1)}),z(Se.element,D?"mouseout":"mouseleave",function(){3!==Fe&&Se.setState(Fe)}),Se.setState=function(de){if(1!==de&&(Se.state=Fe=de),Se.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][de||0]),!Oe){Se.attr([ee,x,N,R][de||0]);let ye=[oe,he,me,Ce][de||0];l(ye)&&Se.css(ye)}},!Oe&&(Se.attr(ee).css(o({cursor:"default"},oe)),q&&Se.text.css({pointerEvents:"none"})),Se.on("touchstart",de=>de.stopPropagation()).on("click",function(de){3!==Fe&&X.call(Se,de)})}crispLine(U,se,w="round"){let X=U[0],G=U[1];return g(X[1])&&X[1]===G[1]&&(X[1]=G[1]=Math[w](X[1])-se%2/2),g(X[2])&&X[2]===G[2]&&(X[2]=G[2]=Math[w](X[2])+se%2/2),U}path(U){let se=this.styledMode?{}:{fill:"none"};return n(U)?se.d=U:l(U)&&o(se,U),this.createElement("path").attr(se)}circle(U,se,w){let X=l(U)?U:void 0===U?{}:{x:U,y:se,r:w},G=this.createElement("circle");return G.xSetter=G.ySetter=function(x,N,R){R.setAttribute("c"+N,x)},G.attr(X)}arc(U,se,w,X,G,x){let N;l(U)?(se=(N=U).y,w=N.r,X=N.innerR,G=N.start,x=N.end,U=N.x):N={innerR:X,start:G,end:x};let R=this.symbol("arc",U,se,w,w,N);return R.r=w,R}rect(U,se,w,X,G,x){let N=l(U)?U:void 0===U?{}:{x:U,y:se,r:G,width:Math.max(w||0,0),height:Math.max(X||0,0)},R=this.createElement("rect");return this.styledMode||(void 0!==x&&(N["stroke-width"]=x,o(N,R.crisp(N))),N.fill="none"),R.rSetter=function(K,q,he){R.r=K,O(he,{rx:K,ry:K})},R.rGetter=function(){return R.r||0},R.attr(N)}roundedRect(U){return this.symbol("roundedRect").attr(U)}setSize(U,se,w){this.width=U,this.height=se,this.boxWrapper.animate({width:U,height:se},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:k(w,!0)?void 0:0}),this.alignElements()}g(U){let se=this.createElement("g");return U?se.attr({class:"highcharts-"+U}):se}image(U,se,w,X,G,x){let N={preserveAspectRatio:"none"};r(se)&&(N.x=se),r(w)&&(N.y=w),r(X)&&(N.width=X),r(G)&&(N.height=G);let R=this.createElement("image").attr(N),K=function(q){R.attr({href:U}),x.call(R,q)};if(x){R.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let q=new T.Image;z(q,"load",K),q.src=U,q.complete&&K({})}else R.attr({href:U});return R}symbol(U,se,w,X,G,x){let N,R,K,q,he=this,me=/^url\((.*?)\)$/,Ce=me.test(U),Se=!Ce&&(this.symbols[U]?U:"circle"),Oe=Se&&this.symbols[Se];if(Oe)"number"==typeof se&&(R=Oe.call(this.symbols,Math.round(se||0),Math.round(w||0),X||0,G||0,x)),N=this.path(R),he.styledMode||N.attr("fill","none"),o(N,{symbolName:Se||void 0,x:se,y:w,width:X,height:G}),x&&o(N,x);else if(Ce){K=U.match(me)[1];let Ae=N=this.image(K);Ae.imgwidth=k(x&&x.width,b[K]&&b[K].width),Ae.imgheight=k(x&&x.height,b[K]&&b[K].height),q=Fe=>Fe.attr({width:Fe.width,height:Fe.height}),["width","height"].forEach(Fe=>{Ae[`${Fe}Setter`]=function(oe,ee){this[ee]=oe;let{alignByTranslate:de,element:ye,width:Te,height:_e,imgwidth:Me,imgheight:Ee}=this,Xe="width"===ee?Me:Ee,Ze=1;x&&"within"===x.backgroundSize&&Te&&_e&&Me&&Ee?(Ze=Math.min(Te/Me,_e/Ee),O(ye,{width:Math.round(Me*Ze),height:Math.round(Ee*Ze)})):ye&&Xe&&ye.setAttribute(ee,Xe),!de&&Me&&Ee&&this.translate(((Te||0)-Me*Ze)/2,((_e||0)-Ee*Ze)/2)}}),g(se)&&Ae.attr({x:se,y:w}),Ae.isImg=!0,g(Ae.imgwidth)&&g(Ae.imgheight)?q(Ae):(Ae.attr({width:0,height:0}),f("img",{onload:function(){let Fe=A[he.chartIndex];0===this.width&&(a(this,{position:"absolute",top:"-999em"}),F.body.appendChild(this)),b[K]={width:this.width,height:this.height},Ae.imgwidth=this.width,Ae.imgheight=this.height,Ae.element&&q(Ae),this.parentNode&&this.parentNode.removeChild(this),he.imgCount--,he.imgCount||!Fe||Fe.hasLoaded||Fe.onload()},src:K}),this.imgCount++)}return N}clipRect(U,se,w,X){return this.rect(U,se,w,X,0)}text(U,se,w,X){let G={};if(X&&(this.allowHTML||!this.forExport))return this.html(U,se,w);G.x=Math.round(se||0),w&&(G.y=Math.round(w)),g(U)&&(G.text=U);let x=this.createElement("text").attr(G);return X&&(!this.forExport||this.allowHTML)||(x.xSetter=function(N,R,K){let q=K.getElementsByTagName("tspan"),he=K.getAttribute(R);for(let Ce,me=0;meU.align())}}return o(H.prototype,{Element:le,SVG_NS:_,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:pe,draw:E}),ve.registerRendererType("svg",H,!0),H}),Pe(V,"Core/Renderer/HTML/HTMLElement.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){let{composed:le}=ie,{attr:fe,css:pe,createElement:J,defined:te,extend:$,pInt:A,pushUnique:B}=ve;function F(E,_,b){let T=this.div?.style||b.style;re.prototype[`${_}Setter`].call(this,E,_,b),T&&(T[_]=E)}let L=(E,_)=>{if(!E.div){let b=fe(E.element,"class"),T=E.css,z=J("div",b?{className:b}:void 0,{position:"absolute",left:`${E.translateX||0}px`,top:`${E.translateY||0}px`,...E.styles,display:E.display,opacity:E.opacity,visibility:E.visibility},E.parentGroup?.div||_);E.classSetter=(O,f,a)=>{a.setAttribute("class",O),z.className=O},E.translateXSetter=E.translateYSetter=(O,f)=>{E[f]=O,z.style["translateX"===f?"left":"top"]=`${O}px`,E.doTransform=!0},E.opacitySetter=E.visibilitySetter=F,E.css=O=>(T.call(E,O),O.cursor&&(z.style.cursor=O.cursor),O.pointerEvents&&(z.style.pointerEvents=O.pointerEvents),E),E.on=function(){return re.prototype.on.apply({element:z,onEvents:E.onEvents},arguments),E},E.div=z}return E.div};class D extends re{static compose(_){B(le,this.compose)&&(_.prototype.html=function(b,T,z){return new D(this,"span").attr({text:b,x:Math.round(T),y:Math.round(z)})})}constructor(_,b){super(_,b),this.css({position:"absolute",..._.styledMode?{}:{fontFamily:_.style.fontFamily,fontSize:_.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(_,b,T){this.xCorr=-_*T,this.yCorr=-b}css(_){let b,{element:T}=this,z="SPAN"===T.tagName&&_&&"width"in _,O=z&&_.width;return z&&(delete _.width,this.textWidth=A(O)||void 0,b=!0),"ellipsis"===_?.textOverflow&&(_.whiteSpace="nowrap",_.overflow="hidden"),$(this.styles,_),pe(T,_),b&&this.updateTransform(),this}htmlGetBBox(){let{element:_}=this;return{x:_.offsetLeft,y:_.offsetTop,width:_.offsetWidth,height:_.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:_,renderer:b,rotation:T,rotationOriginX:z,rotationOriginY:O,styles:f,textAlign:a="left",textWidth:g,translateX:y=0,translateY:o=0,x:n=0,y:r=0}=this,l=f.whiteSpace;if(pe(_,{marginLeft:`${y}px`,marginTop:`${o}px`}),"SPAN"===_.tagName){let k,d=[T,a,_.innerHTML,g,this.textAlign].join(","),C=-1*this.parentGroup?.padding||0,p=!1;if(g!==this.oldTextWidth){let U=this.textPxLength?this.textPxLength:(pe(_,{width:"",whiteSpace:l||"nowrap"}),_.offsetWidth),se=g||0;(se>this.oldTextWidth||U>se)&&(/[ \-]/.test(_.textContent||_.innerText)||"ellipsis"===_.style.textOverflow)&&(pe(_,{width:U>se||T?g+"px":"auto",display:"block",whiteSpace:l||"normal"}),this.oldTextWidth=g,p=!0)}this.hasBoxWidthChanged=p,d!==this.cTT&&(k=b.fontMetrics(_).b,te(T)&&(T!==(this.oldRotation||0)||a!==this.oldAlign)&&this.setSpanRotation(T,C,C),this.getSpanCorrection(!te(T)&&this.textPxLength||_.offsetWidth,k,{left:0,center:.5,right:1}[a]));let{xCorr:S=0,yCorr:j=0}=this;pe(_,{left:`${n+S}px`,top:`${r+j}px`,transformOrigin:`${(z??n)-S-n-C}px ${(O??r)-j-r-C}px`}),this.cTT=d,this.oldRotation=T,this.oldAlign=a}}setSpanRotation(_,b,T){pe(this.element,{transform:`rotate(${_}deg)`,transformOrigin:`${b}% ${T}px`})}add(_){let b,T=this.renderer.box.parentNode,z=[];if(this.parentGroup=_,_&&!(b=_.div)){let O=_;for(;O;)z.push(O),O=O.parentGroup;for(let f of z.reverse())b=L(f,T)}return(b||T).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(_){_!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,Z.setElementHTML(this.element,_??""),this.textStr=_,this.doTransform=!0)}alignSetter(_){this.alignValue=this.textAlign=_,this.doTransform=!0}xSetter(_,b){this[b]=_,this.doTransform=!0}}let I=D.prototype;return I.visibilitySetter=I.opacitySetter=F,I.ySetter=I.rotationSetter=I.rotationOriginXSetter=I.rotationOriginYSetter=I.xSetter,D}),Pe(V,"Core/Axis/AxisDefaults.js",[],function(){var Z,ie;return(ie=Z||(Z={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},ie.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:re}=this.axis.chart;return re(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},Z}),Pe(V,"Core/Foundation.js",[V["Core/Utilities.js"]],function(Z){var ie;let{addEvent:re,isFunction:ve,objectEach:le,removeEvent:fe}=Z;return(ie||(ie={})).registerEventOptions=function(pe,J){pe.eventOptions=pe.eventOptions||{},le(J.events,function(te,$){pe.eventOptions[$]!==te&&(pe.eventOptions[$]&&(fe(pe,$,pe.eventOptions[$]),delete pe.eventOptions[$]),ve(te)&&(pe.eventOptions[$]=te,re(pe,$,te,{order:0})))})},ie}),Pe(V,"Core/Axis/Tick.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{deg2rad:ve}=ie,{clamp:le,correctFloat:fe,defined:pe,destroyObjectProperties:J,extend:te,fireEvent:$,isNumber:A,merge:B,objectEach:F,pick:L}=re;return class{constructor(D,I,E,_,b){this.isNew=!0,this.isNewLabel=!0,this.axis=D,this.pos=I,this.type=E||"",this.parameters=b||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,$(this,"init"),E||_||this.addLabel()}addLabel(){let l,d,C,D=this,I=D.axis,E=I.options,_=I.chart,b=I.categories,T=I.logarithmic,z=I.names,O=D.pos,f=L(D.options&&D.options.labels,E.labels),a=I.tickPositions,g=O===a[0],y=O===a[a.length-1],o=(!f.step||1===f.step)&&1===I.tickInterval,n=a.info,r=D.label,k=this.parameters.category||(b?L(b[O],z[O],O):O);T&&A(k)&&(k=fe(T.lin2log(k))),I.dateTime&&(n?l=(d=_.time.resolveDTLFormat(E.dateTimeLabelFormats[!E.grid&&n.higherRanks[O]||n.unitName])).main:A(k)&&(l=I.dateTime.getXDateFormat(k,E.dateTimeLabelFormats||{}))),D.isFirst=g,D.isLast=y;let p={axis:I,chart:_,dateTimeLabelFormat:l,isFirst:g,isLast:y,pos:O,tick:D,tickPositionInfo:n,value:k};$(this,"labelFormat",p);let S=Y=>f.formatter?f.formatter.call(Y,Y):f.format?(Y.text=I.defaultLabelFormatter.call(Y),Z.format(f.format,Y,_)):I.defaultLabelFormatter.call(Y),j=S.call(p,p),H=d&&d.list;D.shortenLabel=H?function(){for(C=0;C0&&_+g*y>O&&(k=Math.round((b-_)/Math.cos(a*ve))):(d=_-g*y,C=_+(1-g)*y,dO&&(r=O-D.x+r*g,l=-1),(r=Math.min(o,r))r||I.autoRotation&&(f.styles||{}).width)&&(k=r)),k&&(this.shortenLabel?this.shortenLabel():(n.width=Math.floor(k)+"px",(E.style||{}).textOverflow||(n.textOverflow="ellipsis"),f.css(n)))}moveLabel(D,I){let z,E=this,_=E.label,b=E.axis,T=!1;_&&_.textStr===D?(E.movedLabel=_,T=!0,delete E.label):F(b.ticks,function(O){T||O.isNew||O===E||!O.label||O.label.textStr!==D||(E.movedLabel=O.label,T=!0,O.labelPos=E.movedLabel.xy,delete O.label)}),!T&&(E.labelPos||_)&&(z=E.labelPos||_.xy,E.movedLabel=E.createLabel(D,I,z),E.movedLabel&&E.movedLabel.attr({opacity:0}))}render(D,I,E){let _=this.axis,b=_.horiz,T=this.pos,z=L(this.tickmarkOffset,_.tickmarkOffset),O=this.getPosition(b,T,z,I),f=O.x,a=O.y,g=_.pos,y=g+_.len,o=b&&f===y||!b&&a===g?-1:1,n=b?f:a;!_.chart.polar&&this.isNew&&(fe(n)y)&&(E=0);let r=L(E,this.label&&this.label.newOpacity,1);E=L(E,1),this.isActive=!0,this.renderGridLine(I,E,o),this.renderMark(O,E,o),this.renderLabel(O,I,r,D),this.isNew=!1,$(this,"afterRender")}renderGridLine(D,I,E){let y,_=this.axis,b=_.options,T={},z=this.pos,O=this.type,f=L(this.tickmarkOffset,_.tickmarkOffset),a=_.chart.renderer,g=this.gridLine,o=b.gridLineWidth,n=b.gridLineColor,r=b.gridLineDashStyle;"minor"===this.type&&(o=b.minorGridLineWidth,n=b.minorGridLineColor,r=b.minorGridLineDashStyle),g||(_.chart.styledMode||(T.stroke=n,T["stroke-width"]=o||0,T.dashstyle=r),O||(T.zIndex=1),D&&(I=0),this.gridLine=g=a.path().attr(T).addClass("highcharts-"+(O?O+"-":"")+"grid-line").add(_.gridGroup)),g&&(y=_.getPlotLinePath({value:z+f,lineWidth:g.strokeWidth()*E,force:"pass",old:D,acrossPanes:!1}))&&g[D||this.isNew?"attr":"animate"]({d:y,opacity:I})}renderMark(D,I,E){let _=this.axis,b=_.options,T=_.chart.renderer,z=this.type,O=_.tickSize(z?z+"Tick":"tick"),f=D.x,a=D.y,g=L(b["minor"!==z?"tickWidth":"minorTickWidth"],!z&&_.isXAxis?1:0),y=b["minor"!==z?"tickColor":"minorTickColor"],o=this.mark,n=!o;O&&(_.opposite&&(O[0]=-O[0]),o||(this.mark=o=T.path().addClass("highcharts-"+(z?z+"-":"")+"tick").add(_.axisGroup),_.chart.styledMode||o.attr({stroke:y,"stroke-width":g})),o[n?"attr":"animate"]({d:this.getMarkPath(f,a,O[0],o.strokeWidth()*E,_.horiz,T),opacity:I}))}renderLabel(D,I,E,_){let b=this.axis,T=b.horiz,z=b.options,O=this.label,f=z.labels,a=f.step,g=L(this.tickmarkOffset,b.tickmarkOffset),y=D.x,o=D.y,n=!0;O&&A(y)&&(O.xy=D=this.getLabelPosition(y,o,O,T,f,g,_,a),this.isFirst&&!this.isLast&&!z.showFirstLabel||this.isLast&&!this.isFirst&&!z.showLastLabel?n=!1:!T||f.step||f.rotation||I||0===E||this.handleOverflow(D),a&&_%a&&(n=!1),n&&A(D.y)?(D.opacity=E,O[this.isNewLabel?"attr":"animate"](D).show(!0),this.isNewLabel=!1):(O.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let D=this.label,I=this.axis;D&&!this.isNew&&(D.animate({opacity:0},void 0,D.destroy),delete this.label),I.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),Pe(V,"Core/Axis/Axis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/AxisDefaults.js"],V["Core/Color/Color.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Axis/Tick.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe,pe,J){let{animObject:te}=Z,{xAxis:$,yAxis:A}=ie,{defaultOptions:B}=ve,{registerEventOptions:F}=le,{deg2rad:L}=fe,{arrayMax:D,arrayMin:I,clamp:E,correctFloat:_,defined:b,destroyObjectProperties:T,erase:z,error:O,extend:f,fireEvent:a,getClosestDistance:g,insertItem:y,isArray:o,isNumber:n,isString:r,merge:l,normalizeTickInterval:d,objectEach:C,pick:k,relativeLength:p,removeEvent:S,splat:j,syncTimeout:H}=J,Y=(se,w)=>d(w,void 0,void 0,k(se.options.allowDecimals,w<.5||void 0!==se.tickAmount),!!se.tickAmount);f(B,{xAxis:$,yAxis:l($,A)});class U{constructor(w,X,G){this.init(w,X,G)}init(w,X,G=this.coll){let x="xAxis"===G,N=this.isZAxis||(w.inverted?!x:x);this.chart=w,this.horiz=N,this.isXAxis=x,this.coll=G,a(this,"init",{userOptions:X}),this.opposite=k(X.opposite,this.opposite),this.side=k(X.side,this.side,N?this.opposite?0:2:this.opposite?1:3),this.setOptions(X);let R=this.options,K=R.labels,q=R.type;this.userOptions=X,this.minPixelPadding=0,this.reversed=k(R.reversed,this.reversed),this.visible=R.visible,this.zoomEnabled=R.zoomEnabled,this.hasNames="category"===q||!0===R.categories,this.categories=o(R.categories)&&R.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=b(R.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=R.minRange||R.maxZoom,this.range=R.range,this.offset=R.offset||0,this.max=void 0,this.min=void 0;let he=k(R.crosshair,j(w.options.tooltip.crosshairs)[x?0:1]);this.crosshair=!0===he?{}:he,-1===w.axes.indexOf(this)&&(x?w.axes.splice(w.xAxis.length,0,this):w.axes.push(this),y(this,w[this.coll])),w.orderItems(this.coll),this.series=this.series||[],w.inverted&&!this.isZAxis&&x&&!b(this.reversed)&&(this.reversed=!0),this.labelRotation=n(K.rotation)?K.rotation:void 0,F(this,R),a(this,"afterInit")}setOptions(w){this.options=l(this.horiz?{labels:{autoRotation:[-45]},margin:15}:{title:{rotation:90*this.side}},B[this.coll],w),a(this,"afterSetOptions",{userOptions:w})}defaultLabelFormatter(){let Se,Oe,w=this.axis,{numberFormatter:X}=this.chart,G=n(this.value)?this.value:NaN,x=w.chart.time,N=w.categories,R=this.dateTimeLabelFormat,K=B.lang,q=K.numericSymbols,he=K.numericSymbolMagnitude||1e3,me=w.logarithmic?Math.abs(G):w.tickInterval,Ce=q&&q.length;if(N)Oe=`${this.value}`;else if(R)Oe=x.dateFormat(R,G);else if(Ce&&q&&me>=1e3)for(;Ce--&&void 0===Oe;)me>=(Se=Math.pow(he,Ce+1))&&10*G%Se==0&&null!==q[Ce]&&0!==G&&(Oe=X(G/Se,-1)+q[Ce]);return void 0===Oe&&(Oe=Math.abs(G)>=1e4?X(G,-1):X(G,-1,void 0,"")),Oe}getSeriesExtremes(){let w,X=this;a(this,"getSeriesExtremes",null,function(){X.hasVisibleSeries=!1,X.dataMin=X.dataMax=X.threshold=void 0,X.softThreshold=!X.isXAxis,X.series.forEach(G=>{if(G.reserveSpace()){let N,K,q,x=G.options,R=x.threshold;if(X.hasVisibleSeries=!0,X.positiveValuesOnly&&0>=(R||0)&&(R=void 0),X.isXAxis)(N=G.xData)&&N.length&&(N=X.logarithmic?N.filter(he=>he>0):N,K=(w=G.getXExtremes(N)).min,q=w.max,n(K)||K instanceof Date||(N=N.filter(n),K=(w=G.getXExtremes(N)).min,q=w.max),N.length&&(X.dataMin=Math.min(k(X.dataMin,K),K),X.dataMax=Math.max(k(X.dataMax,q),q)));else{let he=G.applyExtremes();n(he.dataMin)&&(K=he.dataMin,X.dataMin=Math.min(k(X.dataMin,K),K)),n(he.dataMax)&&(q=he.dataMax,X.dataMax=Math.max(k(X.dataMax,q),q)),b(R)&&(X.threshold=R),(!x.softThreshold||X.positiveValuesOnly)&&(X.softThreshold=!1)}}})}),a(this,"afterGetSeriesExtremes")}translate(w,X,G,x,N,R){let K=this.linkedParent||this,q=x&&K.old?K.old.min:K.min;if(!n(q))return NaN;let he=K.minPixelPadding,me=(K.isOrdinal||K.brokenAxis?.hasBreaks||K.logarithmic&&N)&&K.lin2val,Ce=1,Se=0,Oe=x&&K.old?K.old.transA:K.transA,Ae=0;if(Oe||(Oe=K.transA),G&&(Ce*=-1,Se=K.len),K.reversed&&(Ce*=-1,Se-=Ce*(K.sector||K.len)),X)Ae=(w=w*Ce+Se-he)/Oe+q,me&&(Ae=K.lin2val(Ae));else{me&&(w=K.val2lin(w));let Fe=Ce*(w-q)*Oe;Ae=(K.isRadial?Fe:_(Fe))+Se+Ce*he+(n(R)?Oe*R:0)}return Ae}toPixels(w,X){return this.translate(w,!1,!this.horiz,void 0,!0)+(X?0:this.pos)}toValue(w,X){return this.translate(w-(X?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(w){let Ae,Fe,oe,ee,de,X=this,G=X.chart,x=X.left,N=X.top,R=w.old,K=w.value,q=w.lineWidth,he=R&&G.oldChartHeight||G.chartHeight,me=R&&G.oldChartWidth||G.chartWidth,Ce=X.transB,Se=w.translatedValue,Oe=w.force;function ye(_e,Me,Ee){return"pass"!==Oe&&(_eEe)&&(Oe?_e=E(_e,Me,Ee):de=!0),_e}let Te={value:K,lineWidth:q,old:R,force:Oe,acrossPanes:w.acrossPanes,translatedValue:Se};return a(this,"getPlotLinePath",Te,function(_e){Ae=oe=Math.round((Se=E(Se=k(Se,X.translate(K,void 0,void 0,R)),-1e5,1e5))+Ce),Fe=ee=Math.round(he-Se-Ce),n(Se)?X.horiz?(Fe=N,ee=he-X.bottom+(G.scrollablePixelsY||0),Ae=oe=ye(Ae,x,x+X.width)):(Ae=x,oe=me-X.right+(G.scrollablePixelsX||0),Fe=ee=ye(Fe,N,N+X.height)):(de=!0,Oe=!1),_e.path=de&&!Oe?void 0:G.renderer.crispLine([["M",Ae,Fe],["L",oe,ee]],q||1)}),Te.path}getLinearTickPositions(w,X,G){let x,N,R,K=_(Math.floor(X/w)*w),q=_(Math.ceil(G/w)*w),he=[];if(_(K+w)===K&&(R=20),this.single)return[X];for(x=K;x<=q&&(he.push(x),(x=_(x+w,R))!==N);)N=x;return he}getMinorTickInterval(){let{minorTicks:w,minorTickInterval:X}=this.options;return!0===w?k(X,"auto"):!1!==w?X:void 0}getMinorTickPositions(){let he,w=this.options,X=this.tickPositions,G=this.minorTickInterval,x=this.pointRangePadding||0,N=(this.min||0)-x,R=(this.max||0)+x,K=R-N,q=[];if(K&&K/G(me.xIncrement?me.xData?.slice(0,2):me.xData)||[]))||0),this.dataMax-this.dataMin)),n(G)&&n(x)&&n(N)&&G-x=N,R=(N-G+x)/2,q=[x-R,k(w.min,x-R)],K&&(q[2]=X?X.log2lin(this.dataMin):this.dataMin),he=[(x=D(q))+N,k(w.max,x+N)],K&&(he[2]=X?X.log2lin(this.dataMax):this.dataMax),(G=I(he))-xx-N),w=g([G]))}return w&&X?Math.min(w,X):w||X}nameToX(w){let N,X=o(this.options.categories),G=X?this.categories:this.names,x=w.options.x;return w.series.requireSorting=!1,b(x)||(x=this.options.uniqueNames&&G?X?G.indexOf(w.name):k(G.keys[w.name],-1):w.series.autoIncrement()),-1===x?!X&&G&&(N=G.length):N=x,void 0!==N?(this.names[N]=w.name,this.names.keys[w.name]=N):w.x&&(N=w.x),N}updateNames(){let w=this,X=this.names;X.length>0&&(Object.keys(X.keys).forEach(function(G){delete X.keys[G]}),X.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(G=>{G.xIncrement=null,(!G.points||G.isDirtyData)&&(w.max=Math.max(w.max,G.xData.length-1),G.processData(),G.generatePoints()),G.data.forEach(function(x,N){let R;x?.options&&void 0!==x.name&&void 0!==(R=w.nameToX(x))&&R!==x.x&&(x.x=R,G.xData[N]=R)})}))}setAxisTranslation(){let K,me,w=this,X=w.max-w.min,G=w.linkedParent,x=!!w.categories,N=w.isXAxis,R=w.axisPointRange||0,q=0,he=0,Ce=w.transA;(N||x||R)&&(K=w.getClosest(),G?(q=G.minPointOffset,he=G.pointRangePadding):w.series.forEach(function(Se){let Oe=x?1:N?k(Se.options.pointRange,K,0):w.axisPointRange||0,Ae=Se.options.pointPlacement;if(R=Math.max(R,Oe),!w.single||x){let Fe=Se.is("xrange")?!N:N;q=Math.max(q,Fe&&r(Ae)?0:Oe/2),he=Math.max(he,Fe&&"on"===Ae?0:Oe)}}),me=w.ordinal&&w.ordinal.slope&&K?w.ordinal.slope/K:1,w.minPointOffset=q*=me,w.pointRangePadding=he*=me,w.pointRange=Math.min(R,w.single&&x?1:X),N&&K&&(w.closestPointRange=K)),w.translationSlope=w.transA=Ce=w.staticScale||w.len/(X+he||1),w.transB=w.horiz?w.left:w.bottom,w.minPixelPadding=Ce*q,a(this,"afterSetAxisTranslation")}minFromRange(){let{max:w,min:X}=this;return n(w)&&n(X)&&w-X||void 0}setTickInterval(w){let Ee,Ze,lt,Qe,st,{categories:X,chart:G,dataMax:x,dataMin:N,dateTime:R,isXAxis:K,logarithmic:q,options:he,softThreshold:me}=this,Ce=n(this.threshold)?this.threshold:void 0,Se=this.minRange||0,{ceiling:Oe,floor:Ae,linkedTo:Fe,softMax:oe,softMin:ee}=he,de=n(Fe)&&G[this.coll]?.[Fe],ye=he.tickPixelInterval,Te=he.maxPadding,_e=he.minPadding,Me=0,Xe=n(he.tickInterval)&&he.tickInterval>=0?he.tickInterval:void 0;if(R||X||de||this.getTickAmount(),Qe=k(this.userMin,he.min),st=k(this.userMax,he.max),de?(this.linkedParent=de,Ee=de.getExtremes(),this.min=k(Ee.min,Ee.dataMin),this.max=k(Ee.max,Ee.dataMax),he.type!==de.options.type&&O(11,!0,G)):(me&&b(Ce)&&n(x)&&n(N)&&(N>=Ce?(Ze=Ce,_e=0):x<=Ce&&(lt=Ce,Te=0)),this.min=k(Qe,Ze,N),this.max=k(st,lt,x)),n(this.max)&&n(this.min)&&(q&&(this.positiveValuesOnly&&!w&&0>=Math.min(this.min,k(N,this.min))&&O(10,!0,G),this.min=_(q.log2lin(this.min),16),this.max=_(q.log2lin(this.max),16)),this.range&&n(N)&&(this.userMin=this.min=Qe=Math.max(N,this.minFromRange()||0),this.userMax=st=this.max,this.range=void 0)),a(this,"foundExtremes"),this.adjustForMinRange(),n(this.min)&&n(this.max)){if(!n(this.userMin)&&n(ee)&&eethis.max&&(this.max=st=oe),X||this.axisPointRange||this.stacking?.usePercentage||de||!(Me=this.max-this.min)||(!b(Qe)&&_e&&(this.min-=Me*_e),b(st)||!Te||(this.max+=Me*Te)),!n(this.userMin)&&n(Ae)&&(this.min=Math.max(this.min,Ae)),!n(this.userMax)&&n(Oe)&&(this.max=Math.min(this.max,Oe)),me&&n(N)&&n(x)){let pt=Ce||0;!b(Qe)&&this.min=pt?this.min=he.minRange?Math.min(pt,this.max-Se):pt:!b(st)&&this.max>pt&&x<=pt&&(this.max=he.minRange?Math.max(pt,this.min+Se):pt)}!G.polar&&this.min>this.max&&(b(he.min)?this.max=this.min:b(he.max)&&(this.min=this.max)),Me=this.max-this.min}if(this.tickInterval=this.min!==this.max&&n(this.min)&&n(this.max)?de&&!Xe&&ye===de.options.tickPixelInterval?Xe=de.tickInterval:k(Xe,this.tickAmount?Me/Math.max(this.tickAmount-1,1):void 0,X?1:Me*ye/Math.max(this.len,ye)):1,K&&!w){let pt=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(ht){ht.forceCrop=ht.forceCropping?.(),ht.processData(pt)}),a(this,"postProcessData",{hasExtremesChanged:pt})}this.setAxisTranslation(),a(this,"initialAxisTranslation"),this.pointRange&&!Xe&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let kt=k(he.minTickInterval,R&&!this.series.some(pt=>pt.noSharedTooltip)?this.closestPointRange:0);!Xe&&this.tickIntervalMath.max(2*this.len,200))q=[this.min,this.max],O(19,!1,this.chart);else if(this.dateTime)q=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,w.units),this.min,this.max,w.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)q=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let me=this.tickInterval,Ce=me;for(;Ce<=2*me&&(q=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&q.length>this.tickAmount);)this.tickInterval=Y(this,Ce*=1.1)}q.length>this.len&&(q=[q[0],q[q.length-1]])[0]===q[1]&&(q.length=1),G&&(this.tickPositions=q,(he=G.apply(this,[this.min,this.max]))&&(q=he))}this.tickPositions=q,this.paddedTicks=q.slice(0),this.trimTicks(q,R,K),!this.isLinked&&n(this.min)&&n(this.max)&&(this.single&&q.length<2&&!this.categories&&!this.series.some(me=>me.is("heatmap")&&"between"===me.options.pointPlacement)&&(this.min-=.5,this.max+=.5),X||he||this.adjustTickAmount()),a(this,"afterSetTickPositions")}trimTicks(w,X,G){let x=w[0],N=w[w.length-1],R=!this.isOrdinal&&this.minPointOffset||0;if(a(this,"trimTicks"),!this.isLinked){if(X&&x!==-1/0)this.min=x;else for(;this.min-R>w[0];)w.shift();if(G)this.max=N;else for(;this.max+R{let{horiz:Se,options:Oe}=Ce;return[Se?Oe.left:Oe.top,Oe.width,Oe.height,Oe.pane].join(",")},me=he(this);G[this.coll].forEach(function(Ce){let{series:Se}=Ce;Se.length&&Se.some(Oe=>Oe.visible)&&Ce!==X&&he(Ce)===me&&(w=!0,x.push(Ce))})}if(w&&K){x.forEach(me=>{let Ce=me.getThresholdAlignment(X);n(Ce)&&q.push(Ce)});let he=q.length>1?q.reduce((me,Ce)=>me+Ce,0)/q.length:void 0;x.forEach(me=>{me.thresholdAlignment=he})}return w}getThresholdAlignment(w){if((!n(this.dataMin)||this!==w&&this.series.some(X=>X.isDirty||X.isDirtyData))&&this.getSeriesExtremes(),n(this.threshold)){let X=E((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(X=1-X),X}}getTickAmount(){let w=this.options,X=w.tickPixelInterval,G=w.tickAmount;b(w.tickInterval)||G||!(this.lenR.push(_(R[R.length-1]+Oe)),oe=()=>R.unshift(_(R[0]-Oe));if(n(q)&&(Ae=q<.5?Math.ceil(q*(K-1)):Math.floor(q*(K-1)),N.reversed&&(Ae=K-1-Ae)),w.hasData()&&n(x)&&n(G)){let ee=()=>{w.transA*=(he-1)/(K-1),w.min=N.startOnTick?R[0]:Math.min(x,R[0]),w.max=N.endOnTick?R[R.length-1]:Math.max(G,R[R.length-1])};if(n(Ae)&&n(w.threshold)){for(;R[Ae]!==me||R.length!==K||R[0]>x||R[R.length-1]w.threshold?oe():Fe();if(Oe>8*w.tickInterval)break;Oe*=2}ee()}else if(he0&&Se{G=G||R.isDirtyData||R.isDirty,x=x||R.xAxis&&R.xAxis.isDirty||!1}),this.setAxisSize();let N=this.len!==(this.old&&this.old.len);N||G||x||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(X&&"yAxis"===w&&X.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),X&&"xAxis"===w&&X.buildStacks(),this.isDirty||(this.isDirty=N||this.min!==this.old?.min||this.max!==this.old?.max)):X&&X.cleanStacks(),G&&delete this.allExtremes,a(this,"afterSetScale")}setExtremes(w,X,G=!0,x,N){this.series.forEach(R=>{delete R.kdTree}),a(this,"setExtremes",N=f(N,{min:w,max:X}),R=>{this.userMin=R.min,this.userMax=R.max,this.eventArgs=R,G&&this.chart.redraw(x)})}setAxisSize(){let w=this.chart,X=this.options,G=X.offsets||[0,0,0,0],x=this.horiz,N=this.width=Math.round(p(k(X.width,w.plotWidth-G[3]+G[1]),w.plotWidth)),R=this.height=Math.round(p(k(X.height,w.plotHeight-G[0]+G[2]),w.plotHeight)),K=this.top=Math.round(p(k(X.top,w.plotTop+G[0]),w.plotHeight,w.plotTop)),q=this.left=Math.round(p(k(X.left,w.plotLeft+G[3]),w.plotWidth,w.plotLeft));this.bottom=w.chartHeight-R-K,this.right=w.chartWidth-N-q,this.len=Math.max(x?N:R,0),this.pos=x?q:K}getExtremes(){let w=this.logarithmic;return{min:w?_(w.lin2log(this.min)):this.min,max:w?_(w.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(w){let X=this.logarithmic,G=X?X.lin2log(this.min):this.min,x=X?X.lin2log(this.max):this.max;return null===w||w===-1/0?w=G:w===1/0?w=x:G>w?w=G:x15&&X<165?x.align="right":X>195&&X<345&&(x.align="left")}),G.align}tickSize(w){let N,X=this.options,G=k(X["tick"===w?"tickWidth":"minorTickWidth"],"tick"===w&&this.isXAxis&&!this.categories?1:0),x=X["tick"===w?"tickLength":"minorTickLength"];G&&x&&("inside"===X[w+"Position"]&&(x=-x),N=[x,G]);let R={tickSize:N};return a(this,"afterTickSize",R),R.tickSize}labelMetrics(){let w=this.chart.renderer,X=this.ticks,G=X[Object.keys(X)[0]]||{};return this.chart.renderer.fontMetrics(G.label||G.movedLabel||w.box)}unsquish(){let me,Se,w=this.options.labels,X=this.horiz,G=this.tickInterval,x=this.len/(((this.categories?1:0)+this.max-this.min)/G),N=w.rotation,R=this.labelMetrics().h,K=Math.max(this.max-this.min,0),q=function(Oe){let Ae=Oe/(x||1);return(Ae=Ae>1?Math.ceil(Ae):1)*G>K&&Oe!==1/0&&x!==1/0&&K&&(Ae=Math.ceil(K/G)),_(Ae*G)},he=G,Ce=Number.MAX_VALUE;if(X){if(!w.staggerLines&&(n(N)?Se=[N]:x=-90&&Fe<=90)&&(Ae=(Oe=q(Math.abs(R/Math.sin(L*Fe))))+Math.abs(Fe/360))Fe&&(Fe=ye.label.textPxLength)}),this.maxLabelLength=Fe,this.autoRotation)Fe>he&&Fe>Ce.h?me.rotation=this.labelRotation:this.labelRotation=0;else if(q&&(Oe=he,!Se))for(Ae="clip",ee=G.length;!K&&ee--;)(oe=x[G[ee]].label)&&("ellipsis"===oe.styles.textOverflow?oe.css({textOverflow:"clip"}):oe.textPxLength>q&&oe.css({width:q+"px"}),oe.getBBox().height>this.len/G.length-(Ce.h-Ce.f)&&(oe.specificTextOverflow="ellipsis"));me.rotation&&(Oe=Fe>.5*w.chartHeight?.33*w.chartHeight:Fe,Se||(Ae="ellipsis")),this.labelAlign=N.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(me.align=this.labelAlign),G.forEach(function(de){let ye=x[de],Te=ye&&ye.label,_e=R.width,Me={};Te&&(Te.attr(me),ye.shortenLabel?ye.shortenLabel():Oe&&!_e&&"nowrap"!==R.whiteSpace&&(OeN.g(K).attr({zIndex:he}).addClass(`highcharts-${G.toLowerCase()}${q} `+(this.isRadial?`highcharts-radial-axis${q} `:"")+(x.className||"")).add(w);this.axisGroup||(this.gridGroup=R("grid","-grid",x.gridZIndex),this.axisGroup=R("axis","",x.zIndex),this.labelGroup=R("axis-labels","-labels",x.labels.zIndex))}getOffset(){let ee,ye,Me,Ee,w=this,{chart:X,horiz:G,options:x,side:N,ticks:R,tickPositions:K,coll:q}=w,he=X.inverted&&!w.isZAxis?[1,0,3,2][N]:N,me=w.hasData(),Ce=x.title,Se=x.labels,Oe=n(x.crossing),Ae=X.axisOffset,Fe=X.clipOffset,oe=[-1,1,1,-1][N],de=0,Te=0,_e=0;if(w.showAxis=ee=me||x.showEmpty,w.staggerLines=w.horiz&&Se.staggerLines||void 0,w.createGroups(),me||w.isLinked?(K.forEach(function(Xe){w.generateTick(Xe)}),w.renderUnsquish(),w.reserveSpaceDefault=0===N||2===N||{1:"left",3:"right"}[N]===w.labelAlign,k(Se.reserveSpace,!Oe&&null,"center"===w.labelAlign||null,w.reserveSpaceDefault)&&K.forEach(function(Xe){_e=Math.max(R[Xe].getLabelSize(),_e)}),w.staggerLines&&(_e*=w.staggerLines),w.labelOffset=_e*(w.opposite?-1:1)):C(R,function(Xe,Ze){Xe.destroy(),delete R[Ze]}),Ce?.text&&!1!==Ce.enabled&&(w.addTitle(ee),ee&&!Oe&&!1!==Ce.reserveSpace&&(w.titleOffset=de=w.axisTitle.getBBox()[G?"height":"width"],Te=b(ye=Ce.offset)?0:k(Ce.margin,G?5:10))),w.renderLine(),w.offset=oe*k(x.offset,Ae[N]?Ae[N]+(x.margin||0):0),w.tickRotCorr=w.tickRotCorr||{x:0,y:0},Ee=0===N?-w.labelMetrics().h:2===N?w.tickRotCorr.y:0,Me=Math.abs(_e)+Te,_e&&(Me-=Ee,Me+=oe*(G?k(Se.y,w.tickRotCorr.y+oe*Se.distance):k(Se.x,oe*Se.distance))),w.axisTitleMargin=k(ye,Me),w.getMaxLabelDimensions&&(w.maxLabelDimensions=w.getMaxLabelDimensions(R,K)),"colorAxis"!==q){let Xe=this.tickSize("tick");Ae[N]=Math.max(Ae[N],(w.axisTitleMargin||0)+de+oe*w.offset,Me,K&&K.length&&Xe?Xe[0]+oe*w.offset:0);let Ze=!w.axisLine||x.offset?0:2*Math.floor(w.axisLine.strokeWidth()/2);Fe[he]=Math.max(Fe[he],Ze)}a(this,"afterGetOffset")}getLinePath(w){let X=this.chart,G=this.opposite,x=this.offset,N=this.horiz,R=this.left+(G?this.width:0)+x,K=X.chartHeight-this.bottom-(G?this.height:0)+x;return G&&(w*=-1),X.renderer.crispLine([["M",N?this.left:R,N?K:this.top],["L",N?X.chartWidth-this.right:R,N?K:X.chartHeight-this.bottom]],w)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(w){let X=this.horiz,G=this.left,x=this.top,N=this.len,R=this.options.title,K=X?G:x,q=this.opposite,he=this.offset,me=R.x,Ce=R.y,Se=this.chart.renderer.fontMetrics(w),Oe=w?Math.max(w.getBBox(!1,0).height-Se.h-1,0):0,Ae={low:K+(X?0:N),middle:K+N/2,high:K+(X?N:0)}[R.align],Fe=(X?x+this.height:G)+(X?1:-1)*(q?-1:1)*(this.axisTitleMargin||0)+[-Oe,Oe,Se.f,-Oe][this.side],oe={x:X?Ae+me:Fe+(q?this.width:0)+he+me,y:X?Fe+Ce-(q?this.height:0)+he:Ae+Ce};return a(this,"afterGetTitlePosition",{titlePosition:oe}),oe}renderMinorTick(w,X){let G=this.minorTicks;G[w]||(G[w]=new pe(this,w,"minor")),X&&G[w].isNew&&G[w].render(null,!0),G[w].render(null,!1,1)}renderTick(w,X,G){let N=this.ticks;(!this.isLinked||w>=this.min&&w<=this.max||this.grid&&this.grid.isColumn)&&(N[w]||(N[w]=new pe(this,w)),G&&N[w].isNew&&N[w].render(X,!0,-1),N[w].render(X))}render(){let w,X,G=this,x=G.chart,N=G.logarithmic,K=G.options,q=G.isLinked,he=G.tickPositions,me=G.axisTitle,Ce=G.ticks,Se=G.minorTicks,Oe=G.alternateBands,Ae=K.stackLabels,Fe=K.alternateGridColor,oe=K.crossing,ee=G.tickmarkOffset,de=G.axisLine,ye=G.showAxis,Te=te(x.renderer.globalAnimation);if(G.labelEdge.length=0,G.overlap=!1,[Ce,Se,Oe].forEach(function(_e){C(_e,function(Me){Me.isActive=!1})}),n(oe)){let _e=this.isXAxis?x.yAxis[0]:x.xAxis[0],Me=[1,-1,-1,1][this.side];if(_e){let Ee=_e.toPixels(oe,!0);G.horiz&&(Ee=_e.len-Ee),G.offset=Me*Ee}}if(G.hasData()||q){let _e=G.chart.hasRendered&&G.old&&n(G.old.min);G.minorTickInterval&&!G.categories&&G.getMinorTickPositions().forEach(function(Me){G.renderMinorTick(Me,_e)}),he.length&&(he.forEach(function(Me,Ee){G.renderTick(Me,Ee,_e)}),ee&&(0===G.min||G.single)&&(Ce[-1]||(Ce[-1]=new pe(G,-1,null,!0)),Ce[-1].render(-1))),Fe&&he.forEach(function(Me,Ee){X=void 0!==he[Ee+1]?he[Ee+1]+ee:G.max-ee,Ee%2==0&&Me=.5)A=Math.round(A),_=D.getLinearTickPositions(A,B,F);else if(A>=.08){let b,T,z,O,f,a,g;for(b=A>.3?[1,2,4]:A>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],T=Math.floor(B);TB&&(!L||a<=F)&&void 0!==a&&_.push(a),a>F&&(g=!0),a=f}else{let b=this.lin2log(B),T=this.lin2log(F),z=L?D.getMinorTickInterval():E.tickInterval;A=ve(A=le("auto"===z?null:z,this.minorAutoInterval,E.tickPixelInterval/(L?5:1)*(T-b)/((L?I/D.tickPositions.length:I)||1))),_=D.getLinearTickPositions(A,b,T).map(this.log2lin),L||(this.minorAutoInterval=A/5)}return L||(D.tickInterval=A),_}lin2log(A){return Math.pow(10,A)}log2lin(A){return Math.log(A)/Math.LN10}}fe.Additions=te}(ie||(ie={})),ie}),Pe(V,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[V["Core/Utilities.js"]],function(Z){var ie;let{erase:re,extend:ve,isNumber:le}=Z;return function(fe){let pe;function J(D){return this.addPlotBandOrLine(D,"plotBands")}function te(D,I){let E=this.userOptions,_=new pe(this,D);if(this.visible&&(_=_.render()),_){if(this._addedPlotLB||(this._addedPlotLB=!0,(E.plotLines||[]).concat(E.plotBands||[]).forEach(b=>{this.addPlotBandOrLine(b)})),I){let b=E[I]||[];b.push(D),E[I]=b}this.plotLinesAndBands.push(_)}return _}function $(D){return this.addPlotBandOrLine(D,"plotLines")}function A(D,I,E){let f,g,_=this.getPlotLinePath({value:I,force:!0,acrossPanes:(E=E||this.options).acrossPanes}),b=[],T=this.horiz,z=!le(this.min)||!le(this.max)||Dthis.max&&I>this.max,O=this.getPlotLinePath({value:D,force:!0,acrossPanes:E.acrossPanes}),a=1;if(O&&_)for(z&&(g=O.toString()===_.toString(),a=0),f=0;f{r?.on(Y,U=>{b[Y].apply(this,[U])})}),this.eventsAdded=!0),!p&&r.d||!l?.length?r&&(l?(r.show(),r.animate({d:l})):r.d&&(r.hide(),n&&(this.label=n=n.destroy()))):r.attr({d:l}),o&&(le(o.text)||le(o.formatter))&&l?.length&&L.width>0&&L.height>0&&!l.isFlat?(o=te({align:I&&C&&"center",x:I?!C&&4:10,verticalAlign:!I&&C&&"middle",y:I?C?16:10:C?6:-4,rotation:I&&!C&&90},o),this.renderLabel(o,l,C,T)):n&&n.hide(),this}renderLabel(L,D,I,E){let _=this.axis,T=this.label;T||(this.label=T=_.chart.renderer.text(this.getLabelText(L),0,0,L.useHTML).attr({align:L.textAlign||L.align,rotation:L.rotation,class:"highcharts-plot-"+(I?"band":"line")+"-label"+(L.className||""),zIndex:E}),_.chart.styledMode||T.css(te({fontSize:"0.8em",textOverflow:"ellipsis"},L.style)),T.add());let z=D.xBounds||[D[0][1],D[1][1],I?D[2][1]:D[0][1]],O=D.yBounds||[D[0][2],D[1][2],I?D[2][2]:D[0][2]],f=ve(z),a=ve(O);T.align(L,!1,{x:f,y:a,width:re(z)-f,height:re(O)-a}),T.alignValue&&"left"!==T.alignValue||T.css({width:(90===T.rotation?_.height-(T.alignAttr.y-_.top):(L.clip?_.width:_.chart.chartWidth)-(T.alignAttr.x-_.left))+"px"}),T.show(!0)}getLabelText(L){return le(L.formatter)?L.formatter.call(this):L.text}destroy(){pe(this.axis.plotLinesAndBands,this),delete this.axis,fe(this)}}return B}),Pe(V,"Core/Tooltip.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le){var fe;let{format:pe}=Z,{composed:J,doc:te,isSafari:$}=ie,{distribute:A}=re,{addEvent:B,clamp:F,css:L,discardElement:D,extend:I,fireEvent:E,isArray:_,isNumber:b,isString:T,merge:z,pick:O,pushUnique:f,splat:a,syncTimeout:g}=le;class y{constructor(n,r,l){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=n,this.init(n,r),this.pointer=l}bodyFormatter(n){return n.map(function(r){let l=r.series.tooltipOptions;return(l[(r.point.formatPrefix||"point")+"Formatter"]||r.point.tooltipFormatter).call(r.point,l[(r.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(n){this.chart.series.forEach(function(r){let l=r&&r.tt;l&&(!l.isActive||n?r.tt=l.destroy():l.isActive=!1)})}defaultFormatter(n){let r,l=this.points||a(this);return(r=(r=[n.tooltipFooterHeaderFormatter(l[0])]).concat(n.bodyFormatter(l))).push(n.tooltipFooterHeaderFormatter(l[0],!0)),r}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),D(this.container)),le.clearTimeout(this.hideTimer),le.clearTimeout(this.tooltipTimeout)}getAnchor(n,r){let l,{chart:d,pointer:C}=this,k=d.inverted,p=d.plotTop,S=d.plotLeft;if((n=a(n))[0].series&&n[0].series.yAxis&&!n[0].series.yAxis.options.reversedStacks&&(n=n.slice().reverse()),this.followPointer&&r)void 0===r.chartX&&(r=C.normalize(r)),l=[r.chartX-S,r.chartY-p];else if(n[0].tooltipPos)l=n[0].tooltipPos;else{let j=0,H=0;n.forEach(function(Y){let U=Y.pos(!0);U&&(j+=U[0],H+=U[1])}),j/=n.length,H/=n.length,this.shared&&n.length>1&&r&&(k?j=r.chartX:H=r.chartY),l=[j-S,H-p]}return l.map(Math.round)}getClassName(n,r,l){let C=n.series,k=C.options;return[this.options.className,"highcharts-label",l&&"highcharts-tooltip-header",r?"highcharts-tooltip-box":"highcharts-tooltip",!l&&"highcharts-color-"+O(n.colorIndex,C.colorIndex),k&&k.className].filter(T).join(" ")}getLabel(){let n=this,r=this.chart.styledMode,l=this.options,d=this.split&&this.allowShared,C=this.container,k=this.chart.renderer;if(this.label){let p=!this.label.hasClass("highcharts-label");(!d&&p||d&&!p)&&this.destroy()}if(!this.label){if(this.outside){let p=this.chart.options.chart.style,S=ve.getRendererType();this.container=C=ie.doc.createElement("div"),C.className="highcharts-tooltip-container",L(C,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(p&&p.zIndex||0)+3)}),this.renderer=k=new S(C,0,0,p,void 0,void 0,k.styledMode)}if(d?this.label=k.g("tooltip"):(this.label=k.label("",0,0,l.shape,void 0,void 0,l.useHTML,void 0,"tooltip").attr({padding:l.padding,r:l.borderRadius}),r||this.label.attr({fill:l.backgroundColor,"stroke-width":l.borderWidth||0}).css(l.style).css({pointerEvents:l.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),n.outside){let p=this.label,{xSetter:S,ySetter:j}=p;p.xSetter=function(H){S.call(p,n.distance),C&&(C.style.left=H+"px")},p.ySetter=function(H){j.call(p,n.distance),C&&(C.style.top=H+"px")}}this.label.attr({zIndex:8}).shadow(l.shadow).add()}return C&&!C.parentElement&&ie.doc.body.appendChild(C),this.label}getPlayingField(){let{body:n,documentElement:r}=te,{chart:l,distance:d,outside:C}=this;return{width:C?Math.max(n.scrollWidth,r.scrollWidth,n.offsetWidth,r.offsetWidth,r.clientWidth)-2*d:l.chartWidth,height:C?Math.max(n.scrollHeight,r.scrollHeight,n.offsetHeight,r.offsetHeight,r.clientHeight):l.chartHeight}}getPosition(n,r,l){let Ce,{distance:d,chart:C,outside:k,pointer:p}=this,{inverted:S,plotLeft:j,plotTop:H,polar:Y}=C,{plotX:U=0,plotY:se=0}=l,w={},X=S&&l.h||0,{height:G,width:x}=this.getPlayingField(),N=p.getChartPosition(),R=de=>de*N.scaleX,K=de=>de*N.scaleY,q=de=>{let ye="x"===de;return[de,ye?x:G,ye?n:r].concat(k?[ye?R(n):K(r),ye?N.left-d+R(U+j):N.top-d+K(se+H),0,ye?x:G]:[ye?n:r,ye?U+j:se+H,ye?j:H,ye?j+C.plotWidth:H+C.plotHeight])},he=q("y"),me=q("x"),Se=!!l.negative;!Y&&C.hoverSeries?.yAxis?.reversed&&(Se=!Se);let Oe=!this.followPointer&&O(l.ttBelow,!Y&&!S===Se),Ae=function(de,ye,Te,_e,Me,Ee,Xe){let Ze=k?"y"===de?K(d):R(d):d,lt=(Te-_e)/2,Qe=_eye?pt:pt+X)}},Fe=function(de,ye,Te,_e,Me){if(Meye-d)return!1;w[de]=Meye-_e/2?ye-_e-2:Me-Te/2},oe=function(de){[he,me]=[me,he],Ce=de},ee=()=>{!1!==Ae.apply(0,he)?!1!==Fe.apply(0,me)||Ce||(oe(!0),ee()):Ce?w.x=w.y=0:(oe(!0),ee())};return(S&&!Y||this.len>1)&&oe(),ee(),w}hide(n){let r=this;le.clearTimeout(this.hideTimer),n=O(n,this.options.hideDelay),this.isHidden||(this.hideTimer=g(function(){let l=r.getLabel();r.getLabel().animate({opacity:0},{duration:n&&150,complete:()=>{l.hide(),r.container&&r.container.remove()}}),r.isHidden=!0},n))}init(n,r){this.chart=n,this.options=r,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=r.split&&!n.inverted&&!n.polar,this.shared=r.shared||this.split,this.outside=O(r.outside,!(!n.scrollablePixelsX&&!n.scrollablePixelsY))}shouldStickOnContact(n){return!(this.followPointer||!this.options.stickOnContact||n&&!this.pointer.inClass(n.target,"highcharts-tooltip"))}move(n,r,l,d){let C=this,k=C.now,p=!1!==C.options.animation&&!C.isHidden&&(Math.abs(n-k.x)>1||Math.abs(r-k.y)>1),S=C.followPointer||C.len>1;I(k,{x:p?(2*k.x+n)/3:n,y:p?(k.y+r)/2:r,anchorX:S?void 0:p?(2*k.anchorX+l)/3:l,anchorY:S?void 0:p?(k.anchorY+d)/2:d}),C.getLabel().attr(k),C.drawTracker(),p&&(le.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){C&&C.move(n,r,l,d)},32))}refresh(n,r){let{chart:l,options:d,pointer:C,shared:k}=this,p=a(n),S=p[0],j=[],H=d.format,Y=d.formatter||this.defaultFormatter,U=l.styledMode,se={};if(!d.enabled||!S.series)return;le.clearTimeout(this.hideTimer),this.allowShared=!(!_(n)&&n.series&&n.series.noSharedTooltip),this.followPointer=!this.split&&S.series.tooltipOptions.followPointer;let w=this.getAnchor(n,r),X=w[0],G=w[1];k&&this.allowShared?(C.applyInactiveState(p),p.forEach(function(R){R.setState("hover"),j.push(R.getLabelConfig())}),(se=S.getLabelConfig()).points=j):se=S.getLabelConfig(),this.len=j.length;let x=T(H)?pe(H,se,l):Y.call(se,this),N=S.series;if(this.distance=O(N.tooltipOptions.distance,16),!1===x)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(x,p);else{let R=X,K=G;if(r&&C.isDirectTouch&&(R=r.chartX-l.plotLeft,K=r.chartY-l.plotTop),!l.polar&&!1!==N.options.clip&&!p.some(q=>C.isDirectTouch||q.series.shouldShowTooltip(R,K)))return void this.hide();{let q=this.getLabel();(!d.style.width||U)&&q.css({width:(this.outside?this.getPlayingField():l.spacingBox).width+"px"}),q.attr({text:x&&x.join?x.join(""):x}),q.addClass(this.getClassName(S),!0),U||q.attr({stroke:d.borderColor||S.color||N.color||"#666666"}),this.updatePosition({plotX:X,plotY:G,negative:S.negative,ttBelow:S.ttBelow,h:w[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}E(this,"refresh")}renderSplit(n,r){let l=this,{chart:d,chart:{chartWidth:C,chartHeight:k,plotHeight:p,plotLeft:S,plotTop:j,scrollablePixelsY:H=0,scrollablePixelsX:Y,styledMode:U},distance:se,options:w,options:{positioner:X},pointer:G}=l,{scrollLeft:x=0,scrollTop:N=0}=d.scrollablePlotArea?.scrollingContainer||{},R=l.outside&&"number"!=typeof Y?te.documentElement.getBoundingClientRect():{left:x,right:x+C,top:N,bottom:N+k},K=l.getLabel(),q=this.renderer||d.renderer,he=!(!d.xAxis[0]||!d.xAxis[0].opposite),{left:me,top:Ce}=G.getChartPosition(),Se=j+N,Oe=0,Ae=p-H;function Fe(_e,Me,Ee,Xe,Ze=!0){let lt,Qe;return Ee?(lt=he?0:Ae,Qe=F(_e-Xe/2,R.left,R.right-Xe-(l.outside?me:0))):(lt=Me-Se,Qe=F(Qe=Ze?_e-Xe-se:_e+se,Ze?Qe:R.left,R.right)),{x:Qe,y:lt}}T(n)&&(n=[!1,n]);let oe=n.slice(0,r.length+1).reduce(function(_e,Me,Ee){if(!1!==Me&&""!==Me){let Xe=r[Ee-1]||{isHeader:!0,plotX:r[0].plotX,plotY:p,series:{}},Ze=Xe.isHeader,lt=Ze?l:Xe.series,Qe=lt.tt=function(Lt,Gt,ti){let Dt=Lt,{isHeader:At,series:_t}=Gt;if(!Dt){let wt={padding:w.padding,r:w.borderRadius};U||(wt.fill=w.backgroundColor,wt["stroke-width"]=w.borderWidth??1),Dt=q.label("",0,0,w[At?"headerShape":"shape"],void 0,void 0,w.useHTML).addClass(l.getClassName(Gt,!0,At)).attr(wt).add(K)}return Dt.isActive=!0,Dt.attr({text:ti}),U||Dt.css(w.style).attr({stroke:w.borderColor||Gt.color||_t.color||"#333333"}),Dt}(lt.tt,Xe,Me.toString()),st=Qe.getBBox(),kt=st.width+Qe.strokeWidth();Ze&&(Oe=st.height,Ae+=Oe,he&&(Se-=Oe));let{anchorX:pt,anchorY:ht}=function(Lt){let Gt,ti,{isHeader:Dt,plotX:At=0,plotY:_t=0,series:wt}=Lt;if(Dt)Gt=Math.max(S+At,S),ti=j+p/2;else{let{xAxis:Qt,yAxis:di}=wt;Gt=Qt.pos+F(At,-se,Qt.len+se),wt.shouldShowTooltip(0,di.pos-j+_t,{ignoreX:!0})&&(ti=di.pos+_t)}return{anchorX:Gt=F(Gt,R.left-se,R.right+se),anchorY:ti}}(Xe);if("number"==typeof ht){let Lt=st.height+1,Gt=X?X.call(l,kt,Lt,Xe):Fe(pt,ht,Ze,kt);_e.push({align:X?0:void 0,anchorX:pt,anchorY:ht,boxWidth:kt,point:Xe,rank:O(Gt.rank,Ze?1:0),size:Lt,target:Gt.y,tt:Qe,x:Gt.x})}else Qe.isActive=!1}return _e},[]);!X&&oe.some(_e=>{let{outside:Me}=l,Ee=(Me?me:0)+_e.anchorX;return EeEe})&&(oe=oe.map(_e=>{let{x:Me,y:Ee}=Fe(_e.anchorX,_e.anchorY,_e.point.isHeader,_e.boxWidth,!1);return I(_e,{target:Ee,x:Me})})),l.cleanSplit(),A(oe,Ae);let ee={left:me,right:me};oe.forEach(function(_e){let{x:Me,boxWidth:Ee,isHeader:Xe}=_e;!Xe&&(l.outside&&me+Meee.right&&(ee.right=me+Me))}),oe.forEach(function(_e){let{x:Me,anchorX:Ee,anchorY:Xe,pos:Ze,point:{isHeader:lt}}=_e,Qe={visibility:void 0===Ze?"hidden":"inherit",x:Me,y:(Ze||0)+Se,anchorX:Ee,anchorY:Xe};if(l.outside&&Me0&&(lt||(Qe.x=Me+st,Qe.anchorX=Ee+st),lt&&(Qe.x=(ee.right-ee.left)/2,Qe.anchorX=Ee+st))}_e.tt.attr(Qe)});let{container:de,outside:ye,renderer:Te}=l;if(ye&&de&&Te){let{width:_e,height:Me,x:Ee,y:Xe}=K.getBBox();Te.setSize(_e+Ee,Me+Xe,!1),de.style.left=ee.left+"px",de.style.top=Ce+"px"}$&&K.attr({opacity:1===K.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact())return void(this.tracker&&(this.tracker=this.tracker.destroy()));let n=this.chart,r=this.label,l=this.shared?n.hoverPoints:n.hoverPoint;if(!r||!l)return;let d={x:0,y:0,width:0,height:0},C=this.getAnchor(l),k=r.getBBox();C[0]+=n.plotLeft-(r.translateX||0),C[1]+=n.plotTop-(r.translateY||0),d.x=Math.min(0,C[0]),d.y=Math.min(0,C[1]),d.width=C[0]<0?Math.max(Math.abs(C[0]),k.width-C[0]):Math.max(Math.abs(C[0]),k.width),d.height=C[1]<0?Math.max(Math.abs(C[1]),k.height-Math.abs(C[1])):Math.max(Math.abs(C[1]),k.height),this.tracker?this.tracker.attr(d):(this.tracker=r.renderer.rect(d).addClass("highcharts-tracker").add(r),n.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(n){return n.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(n,r){let l=n.series,d=l.tooltipOptions,C=l.xAxis,k=C&&C.dateTime,p={isFooter:r,labelConfig:n},S=d.xDateFormat,j=d[r?"footerFormat":"headerFormat"];return E(this,"headerFormatter",p,function(H){k&&!S&&b(n.key)&&(S=k.getXDateFormat(n.key,d.dateTimeLabelFormats)),k&&S&&(n.point&&n.point.tooltipDateKeys||["key"]).forEach(function(Y){j=j.replace("{point."+Y+"}","{point."+Y+":"+S+"}")}),l.chart.styledMode&&(j=this.styledModeFormat(j)),H.text=pe(j,{point:n,series:l},this.chart)}),p.text}update(n){this.destroy(),this.init(this.chart,z(!0,this.options,n))}updatePosition(n){let x,{chart:r,container:l,distance:d,options:C,pointer:k,renderer:p}=this,{height:S=0,width:j=0}=this.getLabel(),{left:H,top:Y,scaleX:U,scaleY:se}=k.getChartPosition(),w=(C.positioner||this.getPosition).call(this,j,S,n),X=(n.plotX||0)+r.plotLeft,G=(n.plotY||0)+r.plotTop;p&&l&&(C.positioner&&(w.x+=H-d,w.y+=Y-d),x=(C.borderWidth||0)+2*d+2,p.setSize(j+x,S+x,!1),(1!==U||1!==se)&&(L(l,{transform:`scale(${U}, ${se})`}),X*=U,G*=se),X+=H-w.x,G+=Y-w.y),this.move(Math.round(w.x),Math.round(w.y||0),X,G)}}return(fe=y||(y={})).compose=function(o){f(J,"Core.Tooltip")&&B(o,"afterInit",function(){let n=this.chart;n.options.tooltip&&(n.tooltip=new fe(n,n.options.tooltip,this))})},y}),Pe(V,"Core/Series/Point.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le){let{animObject:fe}=ie,{defaultOptions:pe}=re,{format:J}=ve,{addEvent:te,erase:$,extend:A,fireEvent:B,getNestedProperty:F,isArray:L,isFunction:D,isNumber:I,isObject:E,pick:_,syncTimeout:b,removeEvent:T,uniqueKey:z}=le;class O{animateBeforeDestroy(){let a=this,g={x:a.startXPos,opacity:0},y=a.getGraphicalProps();y.singular.forEach(function(o){a[o]=a[o].animate("dataLabel"===o?{x:a[o].startXPos,y:a[o].startYPos,opacity:0}:g)}),y.plural.forEach(function(o){a[o].forEach(function(n){n.element&&n.animate(A({x:a.startXPos},n.startYPos?{x:n.startXPos,y:n.startYPos}:{}))})})}applyOptions(a,g){let y=this.series,o=y.options.pointValKey||y.pointValKey;return A(this,a=O.prototype.optionsToObject.call(this,a)),this.options=this.options?A(this.options,a):a,a.group&&delete this.group,a.dataLabels&&delete this.dataLabels,o&&(this.y=O.prototype.getNestedProperty.call(this,o)),this.selected&&(this.state="select"),"name"in this&&void 0===g&&y.xAxis&&y.xAxis.hasNames&&(this.x=y.xAxis.nameToX(this)),void 0===this.x&&y?this.x=void 0===g?y.autoIncrement():g:I(a.x)&&y.options.relativeXValue&&(this.x=y.autoIncrement(a.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let a=this,g=a.series,y=g.chart,o=g.options.dataSorting,n=y.hoverPoints,r=fe(a.series.chart.renderer.globalAnimation),l=()=>{for(let d in(a.graphic||a.graphics||a.dataLabel||a.dataLabels)&&(T(a),a.destroyElements()),a)delete a[d]};a.legendItem&&y.legend.destroyItem(a),n&&(a.setState(),$(n,a),n.length||(y.hoverPoints=null)),a===y.hoverPoint&&a.onMouseOut(),o&&o.enabled?(this.animateBeforeDestroy(),b(l,r.duration)):l(),y.pointCount--}this.destroyed=!0}destroyElements(a){let g=this,y=g.getGraphicalProps(a);y.singular.forEach(function(o){g[o]=g[o].destroy()}),y.plural.forEach(function(o){g[o].forEach(function(n){n&&n.element&&n.destroy()}),delete g[o]})}firePointEvent(a,g,y){let o=this,n=this.series.options;o.manageEvent(a),"click"===a&&n.allowPointSelect&&(y=function(r){!o.destroyed&&o.select&&o.select(null,r.ctrlKey||r.metaKey||r.shiftKey)}),B(o,a,g,y)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(a){let g,y,o=this,n=[],r={singular:[],plural:[]};for((a=a||{graphic:1,dataLabel:1}).graphic&&n.push("graphic","connector"),a.dataLabel&&n.push("dataLabel","dataLabelPath","dataLabelUpper"),y=n.length;y--;)o[g=n[y]]&&r.singular.push(g);return["graphic","dataLabel"].forEach(function(l){let d=l+"s";a[l]&&o[d]&&r.plural.push(d)}),r}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(a){return a?0===a.indexOf("custom.")?F(a,this.options):this[a]:void 0}getZone(){let o,a=this.series,g=a.zones,y=a.zoneAxis||"y",n=0;for(o=g[0];this[y]>=o.value;)o=g[++n];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=o&&o.color&&!this.options.color?o.color:this.nonZonedColor,o}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(a,g,y){this.formatPrefix="point",this.visible=!0,this.series=a,this.applyOptions(g,y),this.id??(this.id=z()),this.resolveColor(),a.chart.pointCount++,B(this,"afterInit")}isValid(){return(I(this.x)||this.x instanceof Date)&&I(this.y)}optionsToObject(a){let l,g=this.series,y=g.options.keys,o=y||g.pointArrayMap||["y"],n=o.length,r={},d=0,C=0;if(I(a)||null===a)r[o[0]]=a;else if(L(a))for(!y&&a.length>n&&("string"==(l=typeof a[0])?r.name=a[0]:"number"===l&&(r.x=a[0]),d++);C0?O.prototype.setNestedProperty(r,a[d],o[C]):r[o[C]]=a[d]),d++,C++;else"object"==typeof a&&(r=a,a.dataLabels&&(g.hasDataLabels=()=>!0),a.marker&&(g._hasPointMarkers=!0));return r}pos(a,g=this.plotY){if(!this.destroyed){let{plotX:y,series:o}=this,{chart:n,xAxis:r,yAxis:l}=o,d=0,C=0;if(I(y)&&I(g))return a&&(d=r?r.pos:n.plotLeft,C=l?l.pos:n.plotTop),n.inverted&&r&&l?[l.len-g+C,r.len-y+d]:[y+d,g+C]}}resolveColor(){let o,n,l,a=this.series,y=a.chart.styledMode,r=a.chart.options.chart.colorCount;delete this.nonZonedColor,a.options.colorByPoint?(y||(o=(n=a.options.colors||a.chart.options.colors)[a.colorCounter],r=n.length),l=a.colorCounter,a.colorCounter++,a.colorCounter===r&&(a.colorCounter=0)):(y||(o=a.color),l=a.colorIndex),this.colorIndex=_(this.options.colorIndex,l),this.color=_(this.options.color,o)}setNestedProperty(a,g,y){return y.split(".").reduce(function(o,n,r,l){return o[n]=l.length-1===r?g:E(o[n],!0)?o[n]:{},o[n]},a),a}shouldDraw(){return!this.isNull}tooltipFormatter(a){let g=this.series,y=g.tooltipOptions,o=_(y.valueDecimals,""),n=y.valuePrefix||"",r=y.valueSuffix||"";return g.chart.styledMode&&(a=g.chart.tooltip.styledModeFormat(a)),(g.pointArrayMap||["y"]).forEach(function(l){l="{point."+l,(n||r)&&(a=a.replace(RegExp(l+"}","g"),n+l+"}"+r)),a=a.replace(RegExp(l+"}","g"),l+":,."+o+"f}")}),J(a,{point:this,series:this.series},g.chart)}update(a,g,y,o){let n,r=this,l=r.series,d=r.graphic,C=l.chart,k=l.options;function p(){r.applyOptions(a);let S=d&&r.hasMockGraphic;d&&(null===r.y?!S:S)&&(r.graphic=d.destroy(),delete r.hasMockGraphic),E(a,!0)&&(d&&d.element&&a&&a.marker&&void 0!==a.marker.symbol&&(r.graphic=d.destroy()),a?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),n=r.index,l.updateParallelArrays(r,n),k.data[n]=E(k.data[n],!0)||E(a,!0)?r.options:_(a,k.data[n]),l.isDirty=l.isDirtyData=!0,!l.fixedBox&&l.hasCartesianSeries&&(C.isDirtyBox=!0),"point"===k.legendType&&(C.isDirtyLegend=!0),g&&C.redraw(y)}g=_(g,!0),!1===o?p():r.firePointEvent("update",{options:a},p)}remove(a,g){this.series.removePoint(this.series.data.indexOf(this),a,g)}select(a,g){let y=this,o=y.series,n=o.chart;a=_(a,!y.selected),this.selectedStaging=a,y.firePointEvent(a?"select":"unselect",{accumulate:g},function(){y.selected=y.options.selected=a,o.options.data[o.data.indexOf(y)]=y.options,y.setState(a&&"select"),g||n.getSelectedPoints().forEach(function(r){let l=r.series;r.selected&&r!==y&&(r.selected=r.options.selected=!1,l.options.data[l.data.indexOf(r)]=r.options,r.setState(n.hoverPoints&&l.options.inactiveOtherPoints?"inactive":""),r.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(a){let{inverted:g,pointer:y}=this.series.chart;y&&(a=a?y.normalize(a):y.getChartCoordinatesFromPoint(this,g),y.runPointActions(a,this))}onMouseOut(){let a=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(a.hoverPoints||[]).forEach(function(g){g.setState()}),a.hoverPoints=a.hoverPoint=null}manageEvent(a){let g=this.series.options.point||{},y=g.events?.[a];!D(y)||this.hcEvents?.[a]&&-1!==this.hcEvents?.[a]?.map(o=>o.fn).indexOf(y)?this.hasImportedEvents&&!y&&this.hcEvents?.[a]&&(T(this,a),delete this.hcEvents[a],Object.keys(this.hcEvents)||(this.hasImportedEvents=!1)):(te(this,a,y),this.hasImportedEvents=!0)}setState(a,g){let H,Y,U,w,y=this.series,o=this.state,n=y.options.states[a||"normal"]||{},r=pe.plotOptions[y.type].marker&&y.options.marker,d=r&&r.states&&r.states[a||"normal"]||{},k=this.marker||{},p=y.chart,S=r&&y.markerAttribs,j=y.halo,se=y.stateMarkerGraphic;if((a=a||"")===this.state&&!g||this.selected&&"select"!==a||!1===n.enabled||a&&(!1===d.enabled||r&&!1===r.enabled&&!1===d.enabled)||a&&k.states&&k.states[a]&&!1===k.states[a].enabled)return;if(this.state=a,S&&(H=y.markerAttribs(this,a)),this.graphic&&!this.hasMockGraphic){if(o&&this.graphic.removeClass("highcharts-point-"+o),a&&this.graphic.addClass("highcharts-point-"+a),!p.styledMode){Y=y.pointAttribs(this,a),U=_(p.options.chart.animation,n.animation);let N=Y.opacity;y.options.inactiveOtherPoints&&I(N)&&(this.dataLabels||[]).forEach(function(R){R&&!R.hasClass("highcharts-data-label-hidden")&&(R.animate({opacity:N},U),R.connector&&R.connector.animate({opacity:N},U))}),this.graphic.animate(Y,U)}H&&this.graphic.animate(H,_(p.options.chart.animation,d.animation,r.animation)),se&&se.hide()}else a&&d&&(w=k.symbol||y.symbol,se&&se.currentSymbol!==w&&(se=se.destroy()),H&&(se?se[g?"animate":"attr"]({x:H.x,y:H.y}):w&&(y.stateMarkerGraphic=se=p.renderer.symbol(w,H.x,H.y,H.width,H.height).add(y.markerGroup),se.currentSymbol=w)),!p.styledMode&&se&&"inactive"!==this.state&&se.attr(y.pointAttribs(this,a))),se&&(se[a&&this.isInside?"show":"hide"](),se.element.point=this,se.addClass(this.getClassName(),!0));let X=n.halo,G=this.graphic||se,x=G&&G.visibility||"inherit";X&&X.size&&G&&"hidden"!==x&&!this.isCluster?(j||(y.halo=j=p.renderer.path().add(G.parentGroup)),j.show()[g?"animate":"attr"]({d:this.haloPath(X.size)}),j.attr({class:"highcharts-halo highcharts-color-"+_(this.colorIndex,y.colorIndex)+(this.className?" "+this.className:""),visibility:x,zIndex:-1}),j.point=this,p.styledMode||j.attr(A({fill:this.color||y.color,"fill-opacity":X.opacity},Z.filterUserAttributes(X.attributes||{})))):j&&j.point&&j.point.haloPath&&j.animate({d:j.point.haloPath(0)},null,j.hide),B(this,"afterSetState",{state:a})}haloPath(a){let g=this.pos();return g?this.series.chart.renderer.symbols.circle(Math.floor(g[0])-a,g[1]-a,2*a,2*a):[]}}return O}),Pe(V,"Core/Pointer.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie,re){var ve;let{parse:le}=Z,{charts:fe,composed:pe}=ie,{addEvent:J,attr:te,css:$,extend:A,find:B,fireEvent:F,isNumber:L,isObject:D,objectEach:I,offset:E,pick:_,pushUnique:b,splat:T}=re;class z{applyInactiveState(f){let g,a=[];(f||[]).forEach(function(y){g=y.series,a.push(g),g.linkedParent&&a.push(g.linkedParent),g.linkedSeries&&(a=a.concat(g.linkedSeries)),g.navigatorSeries&&a.push(g.navigatorSeries)}),this.chart.series.forEach(function(y){-1===a.indexOf(y)?y.setState("inactive",!0):y.options.inactiveOtherPoints&&y.setAllPointsToState("inactive")})}destroy(){let f=this;this.eventsToUnbind.forEach(a=>a()),this.eventsToUnbind=[],!ie.chartCount&&(z.unbindDocumentMouseUp&&(z.unbindDocumentMouseUp=z.unbindDocumentMouseUp()),z.unbindDocumentTouchEnd&&(z.unbindDocumentTouchEnd=z.unbindDocumentTouchEnd())),clearInterval(f.tooltipTimeout),I(f,function(a,g){f[g]=void 0})}getSelectionMarkerAttrs(f,a){let g={args:{chartX:f,chartY:a},attrs:{},shapeType:"rect"};return F(this,"getSelectionMarkerAttrs",g,y=>{let o,{chart:n,zoomHor:r,zoomVert:l}=this,{mouseDownX:d=0,mouseDownY:C=0}=n,k=y.attrs;k.x=n.plotLeft,k.y=n.plotTop,k.width=r?1:n.plotWidth,k.height=l?1:n.plotHeight,r&&(o=f-d,k.width=Math.max(1,Math.abs(o)),k.x=(o>0?0:o)+d),l&&(o=a-C,k.height=Math.max(1,Math.abs(o)),k.y=(o>0?0:o)+C)}),g}drag(f){let Y,{chart:a}=this,{mouseDownX:g=0,mouseDownY:y=0}=a,{panning:o,panKey:n,selectionMarkerFill:r}=a.options.chart,l=a.plotLeft,d=a.plotTop,C=a.plotWidth,k=a.plotHeight,p=D(o)?o.enabled:o,S=n&&f[`${n}Key`],j=f.chartX,H=f.chartY,U=this.selectionMarker;if((!U||!U.touch)&&(jl+C&&(j=l+C),Hd+k&&(H=d+k),this.hasDragged=Math.sqrt(Math.pow(g-j,2)+Math.pow(y-H,2)),this.hasDragged>10)){Y=a.isInsidePlot(g-l,y-d,{visiblePlotOnly:!0});let{shapeType:se,attrs:w}=this.getSelectionMarkerAttrs(j,H);(a.hasCartesianSeries||a.mapView)&&this.hasZoom&&Y&&!S&&!U&&(this.selectionMarker=U=a.renderer[se](),U.attr({class:"highcharts-selection-marker",zIndex:7}).add(),a.styledMode||U.attr({fill:r||le("#334eff").setOpacity(.25).get()})),U&&U.attr(w),Y&&!U&&p&&a.pan(f,o)}}dragStart(f){let a=this.chart;a.mouseIsDown=f.type,a.cancelClick=!1,a.mouseDownX=f.chartX,a.mouseDownY=f.chartY}getSelectionBox(f){let a={args:{marker:f},result:f.getBBox()};return F(this,"getSelectionBox",a),a.result}drop(f){let a,{chart:g,selectionMarker:y}=this;for(let o of g.axes)o.isPanning&&(o.isPanning=!1,(o.options.startOnTick||o.options.endOnTick||o.series.some(n=>n.boosted))&&(o.forceRedraw=!0,o.setExtremes(o.userMin,o.userMax,!1),a=!0));if(a&&g.redraw(),y&&f){if(this.hasDragged){let o=this.getSelectionBox(y);g.transform({axes:g.axes.filter(n=>n.zoomEnabled&&("xAxis"===n.coll&&this.zoomX||"yAxis"===n.coll&&this.zoomY)),selection:{originalEvent:f,xAxis:[],yAxis:[],...o},from:o})}L(g.index)&&(this.selectionMarker=y.destroy())}g&&L(g.index)&&($(g.container,{cursor:g._cursor}),g.cancelClick=this.hasDragged>10,g.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(f,a,g){let y;return f.forEach(function(o){let n=!(o.noSharedTooltip&&a)&&0>o.options.findNearestPointBy.indexOf("y"),r=o.searchPoint(g,n);D(r,!0)&&r.series&&(!D(y,!0)||function(l,d){let C=l.distX-d.distX,k=l.dist-d.dist,p=d.series.group?.zIndex-l.series.group?.zIndex;return 0!==C&&a?C:0!==k?k:0!==p?p:l.series.index>d.series.index?-1:1}(y,r)>0)&&(y=r)}),y}getChartCoordinatesFromPoint(f,a){let{xAxis:g,yAxis:y}=f.series,o=f.shapeArgs;if(g&&y){let n=f.clientX??f.plotX??0,r=f.plotY||0;return f.isNode&&o&&L(o.x)&&L(o.y)&&(n=o.x,r=o.y),a?{chartX:y.len+y.pos-r,chartY:g.len+g.pos-n}:{chartX:n+g.pos,chartY:r+y.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:f}=this.chart,a=E(f);this.chartPosition={left:a.left,top:a.top,scaleX:1,scaleY:1};let{offsetHeight:g,offsetWidth:y}=f;return y>2&&g>2&&(this.chartPosition.scaleX=a.width/y,this.chartPosition.scaleY=a.height/g),this.chartPosition}getCoordinates(f){let a={xAxis:[],yAxis:[]};for(let g of this.chart.axes)a[g.isXAxis?"xAxis":"yAxis"].push({axis:g,value:g.toValue(f[g.horiz?"chartX":"chartY"])});return a}getHoverData(f,a,g,y,o,n){let C,r=[],l=function(S){return S.visible&&!(!o&&S.directTouch)&&_(S.options.enableMouseTracking,!0)},d=a,k={chartX:n?n.chartX:void 0,chartY:n?n.chartY:void 0,shared:o};F(this,"beforeGetHoverData",k),C=d&&!d.stickyTracking?[d]:g.filter(S=>S.stickyTracking&&(k.filter||l)(S));let p=y&&f||!n?f:this.findNearestKDPoint(C,o,n);return d=p&&p.series,p&&(o&&!d.noSharedTooltip?(C=g.filter(function(S){return k.filter?k.filter(S):l(S)&&!S.noSharedTooltip})).forEach(function(S){let j=B(S.points,function(H){return H.x===p.x&&!H.isNull});D(j)&&(S.boosted&&S.boost&&(j=S.boost.getPoint(j)),r.push(j))}):r.push(p)),F(this,"afterGetHoverData",k={hoverPoint:p}),{hoverPoint:k.hoverPoint,hoverSeries:d,hoverPoints:r}}getPointFromEvent(f){let g,a=f.target;for(;a&&!g;)g=a.point,a=a.parentNode;return g}onTrackerMouseOut(f){let g=f.relatedTarget,y=this.chart.hoverSeries;this.isDirectTouch=!1,!y||!g||y.stickyTracking||this.inClass(g,"highcharts-tooltip")||this.inClass(g,"highcharts-series-"+y.index)&&this.inClass(g,"highcharts-tracker")||y.onMouseOut()}inClass(f,a){let y,g=f;for(;g;){if(y=te(g,"class")){if(-1!==y.indexOf(a))return!0;if(-1!==y.indexOf("highcharts-container"))return!1}g=g.parentElement}}constructor(f,a){this.hasDragged=0,this.eventsToUnbind=[],this.options=a,this.chart=f,this.runChartClick=!!a.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),F(this,"afterInit")}normalize(f,a){let g=f.touches,y=g?g.length?g.item(0):_(g.changedTouches,f.changedTouches)[0]:f;a||(a=this.getChartPosition());let o=y.pageX-a.left,n=y.pageY-a.top;return A(f,{chartX:Math.round(o/=a.scaleX),chartY:Math.round(n/=a.scaleY)})}onContainerClick(f){let a=this.chart,g=a.hoverPoint,y=this.normalize(f),o=a.plotLeft,n=a.plotTop;!a.cancelClick&&(g&&this.inClass(y.target,"highcharts-tracker")?(F(g.series,"click",A(y,{point:g})),a.hoverPoint&&g.firePointEvent("click",y)):(A(y,this.getCoordinates(y)),a.isInsidePlot(y.chartX-o,y.chartY-n,{visiblePlotOnly:!0})&&F(a,"click",y)))}onContainerMouseDown(f){let a=!(1&~(f.buttons||f.button));f=this.normalize(f),ie.isFirefox&&0!==f.button&&this.onContainerMouseMove(f),(void 0===f.button||a)&&(this.zoomOption(f),a&&f.preventDefault?.(),this.dragStart(f))}onContainerMouseLeave(f){let{pointer:a}=fe[_(z.hoverChartIndex,-1)]||{};f=this.normalize(f),this.onContainerMouseMove(f),a&&f.relatedTarget&&!this.inClass(f.relatedTarget,"highcharts-tooltip")&&(a.reset(),a.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(f){let a=this.chart,g=a.tooltip,y=this.normalize(f);this.setHoverChartIndex(f),("mousedown"===a.mouseIsDown||this.touchSelect(y))&&this.drag(y),!a.openMenu&&(this.inClass(y.target,"highcharts-tracker")||a.isInsidePlot(y.chartX-a.plotLeft,y.chartY-a.plotTop,{visiblePlotOnly:!0}))&&(!g||!g.shouldStickOnContact(y))&&(this.inClass(y.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(y))}onDocumentTouchEnd(f){this.onDocumentMouseUp(f)}onContainerTouchMove(f){this.touchSelect(f)?this.onContainerMouseMove(f):this.touch(f)}onContainerTouchStart(f){this.touchSelect(f)?this.onContainerMouseDown(f):(this.zoomOption(f),this.touch(f,!0))}onDocumentMouseMove(f){let a=this.chart,g=a.tooltip,y=this.chartPosition,o=this.normalize(f,y);!y||a.isInsidePlot(o.chartX-a.plotLeft,o.chartY-a.plotTop,{visiblePlotOnly:!0})||g&&g.shouldStickOnContact(o)||this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(f){fe[_(z.hoverChartIndex,-1)]?.pointer?.drop(f)}pinch(f){let a=this,{chart:g,hasZoom:y,lastTouches:o}=a,n=[].map.call(f.touches||[],k=>a.normalize(k)),r=n.length,l=1===r&&(a.inClass(f.target,"highcharts-tracker")&&g.runTrackerClick||a.runChartClick),d=g.tooltip,C=1===r&&_(d?.options.followTouchMove,!0);r>1?a.initiated=!0:C&&(a.initiated=!1),y&&a.initiated&&!l&&!1!==f.cancelable&&f.preventDefault(),"touchstart"===f.type?(a.pinchDown=n,a.res=!0):C?this.runPointActions(a.normalize(f)):o&&(F(g,"touchpan",{originalEvent:f,touches:n},()=>{let k=p=>{let S=p[0],j=p[1]||S;return{x:S.chartX,y:S.chartY,width:j.chartX-S.chartX,height:j.chartY-S.chartY}};g.transform({axes:g.axes.filter(p=>p.zoomEnabled&&(this.zoomHor&&p.horiz||this.zoomVert&&!p.horiz)),to:k(n),from:k(o),trigger:f.type})}),a.res&&(a.res=!1,this.reset(!1,0))),a.lastTouches=n}reset(f,a){let g=this.chart,y=g.hoverSeries,o=g.hoverPoint,n=g.hoverPoints,r=g.tooltip,l=r&&r.shared?n:o;f&&l&&T(l).forEach(function(d){d.series.isCartesian&&void 0===d.plotX&&(f=!1)}),f?r&&l&&T(l).length&&(r.refresh(l),r.shared&&n?n.forEach(function(d){d.setState(d.state,!0),d.series.isCartesian&&(d.series.xAxis.crosshair&&d.series.xAxis.drawCrosshair(null,d),d.series.yAxis.crosshair&&d.series.yAxis.drawCrosshair(null,d))}):o&&(o.setState(o.state,!0),g.axes.forEach(function(d){d.crosshair&&o.series[d.coll]===d&&d.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),n&&n.forEach(function(d){d.setState()}),y&&y.onMouseOut(),r&&r.hide(a),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),g.axes.forEach(function(d){d.hideCrosshair()}),g.hoverPoints=g.hoverPoint=void 0)}runPointActions(f,a,g){let y=this.chart,n=y.tooltip&&y.tooltip.options.enabled?y.tooltip:void 0,r=!!n&&n.shared,l=a||y.hoverPoint,d=l&&l.series||y.hoverSeries,k=this.getHoverData(l,d,y.series,(!f||"touchmove"!==f.type)&&(!!a||d&&d.directTouch&&this.isDirectTouch),r,f);l=k.hoverPoint,d=k.hoverSeries;let p=k.hoverPoints,S=d&&d.tooltipOptions.followPointer&&!d.tooltipOptions.split,j=r&&d&&!d.noSharedTooltip;if(l&&(g||l!==y.hoverPoint||n&&n.isHidden)){if((y.hoverPoints||[]).forEach(function(H){-1===p.indexOf(H)&&H.setState()}),y.hoverSeries!==d&&d.onMouseOver(),this.applyInactiveState(p),(p||[]).forEach(function(H){H.setState("hover")}),y.hoverPoint&&y.hoverPoint.firePointEvent("mouseOut"),!l.series)return;y.hoverPoints=p,y.hoverPoint=l,l.firePointEvent("mouseOver",void 0,()=>{n&&l&&n.refresh(j?p:l,f)})}else if(S&&n&&!n.isHidden){let H=n.getAnchor([{}],f);y.isInsidePlot(H[0],H[1],{visiblePlotOnly:!0})&&n.updatePosition({plotX:H[0],plotY:H[1]})}this.unDocMouseMove||(this.unDocMouseMove=J(y.container.ownerDocument,"mousemove",H=>fe[z.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(H)),this.eventsToUnbind.push(this.unDocMouseMove)),y.axes.forEach(function(H){let Y,U=_((H.crosshair||{}).snap,!0);!U||(Y=y.hoverPoint)&&Y.series[H.coll]===H||(Y=B(p,se=>se.series&&se.series[H.coll]===H)),Y||!U?H.drawCrosshair(f,Y):H.hideCrosshair()})}setDOMEvents(){let f=this.chart.container,a=f.ownerDocument;f.onmousedown=this.onContainerMouseDown.bind(this),f.onmousemove=this.onContainerMouseMove.bind(this),f.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(J(f,"mouseenter",this.onContainerMouseEnter.bind(this)),J(f,"mouseleave",this.onContainerMouseLeave.bind(this))),z.unbindDocumentMouseUp||(z.unbindDocumentMouseUp=J(a,"mouseup",this.onDocumentMouseUp.bind(this)));let g=this.chart.renderTo.parentElement;for(;g&&"BODY"!==g.tagName;)this.eventsToUnbind.push(J(g,"scroll",()=>{delete this.chartPosition})),g=g.parentElement;this.eventsToUnbind.push(J(f,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),J(f,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),z.unbindDocumentTouchEnd||(z.unbindDocumentTouchEnd=J(a,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1}))}setHoverChartIndex(f){let a=this.chart,g=ie.charts[_(z.hoverChartIndex,-1)];g&&g!==a&&g.pointer?.onContainerMouseLeave(f||{relatedTarget:a.container}),g&&g.mouseIsDown||(z.hoverChartIndex=a.index)}touch(f,a){let g,{chart:y,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===f.touches.length?(f=this.normalize(f),y.isInsidePlot(f.chartX-y.plotLeft,f.chartY-y.plotTop,{visiblePlotOnly:!0})&&!y.openMenu?(a&&this.runPointActions(f),"touchmove"===f.type&&(g=!!o[0]&&Math.pow(o[0].chartX-f.chartX,2)+Math.pow(o[0].chartY-f.chartY,2)>=16),_(g,!0)&&this.pinch(f)):a&&this.reset()):2===f.touches.length&&this.pinch(f)}touchSelect(f){return!(!this.chart.zooming.singleTouch||!f.touches||1!==f.touches.length)}zoomOption(f){let o,n,a=this.chart,g=a.inverted,y=a.zooming.type||"";/touch/.test(f.type)&&(y=_(a.zooming.pinchType,y)),this.zoomX=o=/x/.test(y),this.zoomY=n=/y/.test(y),this.zoomHor=o&&!g||n&&g,this.zoomVert=n&&!g||o&&g,this.hasZoom=o||n}}return(ve=z||(z={})).compose=function(O){b(pe,"Core.Pointer")&&J(O,"beforeRender",function(){this.pointer=new ve(this,this.options)})},z}),Pe(V,"Core/Legend/Legend.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Series/Point.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe){var pe;let{animObject:J,setAnimation:te}=Z,{format:$}=ie,{composed:A,marginNames:B}=re,{distribute:F}=le,{addEvent:L,createElement:D,css:I,defined:E,discardElement:_,find:b,fireEvent:T,isNumber:z,merge:O,pick:f,pushUnique:a,relativeLength:g,stableSort:y,syncTimeout:o}=fe;class n{constructor(l,d){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=l,this.setOptions(d),d.enabled&&(this.render(),L(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),L(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(l){let d=f(l.padding,8);this.options=l,this.chart.styledMode||(this.itemStyle=l.itemStyle,this.itemHiddenStyle=O(this.itemStyle,l.itemHiddenStyle)),this.itemMarginTop=l.itemMarginTop,this.itemMarginBottom=l.itemMarginBottom,this.padding=d,this.initialItemY=d-5,this.symbolWidth=f(l.symbolWidth,16),this.pages=[],this.proximate="proximate"===l.layout&&!this.chart.inverted,this.baseline=void 0}update(l,d){let C=this.chart;this.setOptions(O(!0,this.options,l)),this.destroy(),C.isDirtyLegend=C.isDirtyBox=!0,f(d,!0)&&C.redraw(),T(this,"afterUpdate",{redraw:d})}colorizeItem(l,d){let{area:C,group:k,label:p,line:S,symbol:j}=l.legendItem||{};if(k?.[d?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:H={}}=this,Y=H.color,{fillColor:U,fillOpacity:se,lineColor:w,marker:X}=l.options,G=x=>(!d&&(x.fill&&(x.fill=Y),x.stroke&&(x.stroke=Y)),x);p?.css(O(d?this.itemStyle:H)),S?.attr(G({stroke:w||l.color})),j&&j.attr(G(X&&j.isMarker?l.pointAttribs():{fill:l.color})),C?.attr(G({fill:U||l.color,"fill-opacity":U?1:se??.75}))}T(this,"afterColorizeItem",{item:l,visible:d})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(l){let{group:d,x:C=0,y:k=0}=l.legendItem||{},p=this.options,H=l.checkbox;if(d&&d.element){let Y={translateX:p.rtl?this.legendWidth-C-2*p.symbolPadding-4:C,translateY:k};d[E(d.translateY)?"animate":"attr"](Y,void 0,()=>{T(this,"afterPositionItem",{item:l})})}H&&(H.x=C,H.y=k)}destroyItem(l){let d=l.checkbox,C=l.legendItem||{};for(let k of["group","label","line","symbol"])C[k]&&(C[k]=C[k].destroy());d&&_(d),l.legendItem=void 0}destroy(){for(let l of this.getAllItems())this.destroyItem(l);for(let l of["clipRect","up","down","pager","nav","box","title","group"])this[l]&&(this[l]=this[l].destroy());this.display=null}positionCheckboxes(){let l,d=this.group&&this.group.alignAttr,C=this.clipHeight||this.legendHeight,k=this.titleHeight;d&&(l=d.translateY,this.allItems.forEach(function(p){let S,j=p.checkbox;j&&(S=l+k+j.y+(this.scrollOffset||0)+3,I(j,{left:d.translateX+p.checkboxOffset+j.x-20+"px",top:S+"px",display:this.proximate||S>l-6&&S1.5*Ce?me.height:Ce))}layoutItem(l){let d=this.options,C=this.padding,k="horizontal"===d.layout,p=l.itemHeight,S=this.itemMarginBottom,j=this.itemMarginTop,H=k?f(d.itemDistance,20):0,Y=this.maxLegendWidth,U=d.alignColumns&&this.totalItemWidth>Y?this.maxItemWidth:l.itemWidth,se=l.legendItem||{};k&&this.itemX-C+U>Y&&(this.itemX=C,this.lastLineHeight&&(this.itemY+=j+this.lastLineHeight+S),this.lastLineHeight=0),this.lastItemY=j+this.itemY+S,this.lastLineHeight=Math.max(p,this.lastLineHeight),se.x=this.itemX,se.y=this.itemY,k?this.itemX+=U:(this.itemY+=j+p+S,this.lastLineHeight=p),this.offsetWidth=this.widthOption||Math.max((k?this.itemX-C-(l.checkbox?0:H):U)+C,this.offsetWidth)}getAllItems(){let l=[];return this.chart.series.forEach(function(d){let C=d&&d.options;d&&f(C.showInLegend,!E(C.linkedTo)&&void 0,!0)&&(l=l.concat((d.legendItem||{}).labels||("point"===C.legendType?d.data:d)))}),T(this,"afterGetAllItems",{allItems:l}),l}getAlignment(){let l=this.options;return this.proximate?l.align.charAt(0)+"tv":l.floating?"":l.align.charAt(0)+l.verticalAlign.charAt(0)+l.layout.charAt(0)}adjustMargins(l,d){let C=this.chart,k=this.options,p=this.getAlignment();p&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(S,j){S.test(p)&&!E(l[j])&&(C[B[j]]=Math.max(C[B[j]],C.legend[(j+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][j]*k[j%2?"x":"y"]+f(k.margin,12)+d[j]+(C.titleOffset[j]||0)))})}proximatePositions(){let l,d=this.chart,C=[],k="left"===this.options.align;for(let p of(this.allItems.forEach(function(S){let j,H,U,se,Y=k;S.yAxis&&(S.xAxis.options.reversed&&(Y=!Y),S.points&&(j=b(Y?S.points:S.points.slice(0).reverse(),function(w){return z(w.plotY)})),H=this.itemMarginTop+S.legendItem.label.getBBox().height+this.itemMarginBottom,se=S.yAxis.top-d.plotTop,U=S.visible?(j?j.plotY:S.yAxis.height)+(se-.3*H):se+S.yAxis.height,C.push({target:U,size:H,item:S}))},this),F(C,d.plotHeight)))l=p.item.legendItem||{},z(p.pos)&&(l.y=d.plotTop-d.spacing[0]+p.pos)}render(){let S,j,H,U,l=this.chart,d=l.renderer,C=this.options,k=this.padding,p=this.getAllItems(),Y=this.group,se=this.box;this.itemX=k,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=g(C.width,l.spacingBox.width-k),U=l.spacingBox.width-2*k-C.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(U/=2),this.maxLegendWidth=this.widthOption||U,Y||(this.group=Y=d.g("legend").addClass(C.className||"").attr({zIndex:7}).add(),this.contentGroup=d.g().attr({zIndex:1}).add(Y),this.scrollGroup=d.g().add(this.contentGroup)),this.renderTitle(),y(p,(w,X)=>(w.options&&w.options.legendIndex||0)-(X.options&&X.options.legendIndex||0)),C.reversed&&p.reverse(),this.allItems=p,this.display=S=!!p.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,p.forEach(this.renderItem,this),p.forEach(this.layoutItem,this),j=(this.widthOption||this.offsetWidth)+k,H=this.lastItemY+this.lastLineHeight+this.titleHeight,H=this.handleOverflow(H)+k,se||(this.box=se=d.rect().addClass("highcharts-legend-box").attr({r:C.borderRadius}).add(Y)),l.styledMode||se.attr({stroke:C.borderColor,"stroke-width":C.borderWidth||0,fill:C.backgroundColor||"none"}).shadow(C.shadow),j>0&&H>0&&se[se.placed?"animate":"attr"](se.crisp.call({},{x:0,y:0,width:j,height:H},se.strokeWidth())),Y[S?"show":"hide"](),l.styledMode&&"none"===Y.getStyle("display")&&(j=H=0),this.legendWidth=j,this.legendHeight=H,S&&this.align(),this.proximate||this.positionItems(),T(this,"afterRender")}align(l=this.chart.spacingBox){let d=this.chart,C=this.options,k=l.y;/(lth|ct|rth)/.test(this.getAlignment())&&d.titleOffset[0]>0?k+=d.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&d.titleOffset[2]>0&&(k-=d.titleOffset[2]),k!==l.y&&(l=O(l,{y:k})),d.hasRendered||(this.group.placed=!1),this.group.align(O(C,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":C.verticalAlign}),!0,l)}handleOverflow(l){let R,K,q,d=this,C=this.chart,k=C.renderer,p=this.options,S=p.y,j="top"===p.verticalAlign,H=this.padding,Y=p.maxHeight,U=p.navigation,se=f(U.animation,!0),w=U.arrowSize||12,X=this.pages,G=this.allItems,x=function(Se){"number"==typeof Se?Ce.attr({height:Se}):Ce&&(d.clipRect=Ce.destroy(),d.contentGroup.clip()),d.contentGroup.div&&(d.contentGroup.div.style.clip=Se?"rect("+H+"px,9999px,"+(H+Se)+"px,0)":"auto")},N=function(Se){return d[Se]=k.circle(0,0,1.3*w).translate(w/2,w/2).add(me),C.styledMode||d[Se].attr("fill","rgba(0,0,0,0.0001)"),d[Se]},he=C.spacingBox.height+(j?-S:S)-H,me=this.nav,Ce=this.clipRect;return"horizontal"!==p.layout||"middle"===p.verticalAlign||p.floating||(he/=2),Y&&(he=Math.min(he,Y)),X.length=0,l&&he>0&&l>he&&!1!==U.enabled?(this.clipHeight=R=Math.max(he-20-this.titleHeight-H,0),this.currentPage=f(this.currentPage,1),this.fullHeight=l,G.forEach((Se,Oe)=>{let Ae=(q=Se.legendItem||{}).y||0,Fe=Math.round(q.label.getBBox().height),oe=X.length;(!oe||Ae-X[oe-1]>R&&(K||Ae)!==X[oe-1])&&(X.push(K||Ae),oe++),q.pageIx=oe-1,K&&((G[Oe-1].legendItem||{}).pageIx=oe-1),Oe===G.length-1&&Ae+Fe-X[oe-1]>R&&Ae>X[oe-1]&&(X.push(Ae),q.pageIx=oe),Ae!==K&&(K=Ae)}),Ce||(Ce=d.clipRect=k.clipRect(0,H-2,9999,0),d.contentGroup.clip(Ce)),x(R),me||(this.nav=me=k.g().attr({zIndex:1}).add(this.group),this.up=k.symbol("triangle",0,0,w,w).add(me),N("upTracker").on("click",function(){d.scroll(-1,se)}),this.pager=k.text("",15,10).addClass("highcharts-legend-navigation"),!C.styledMode&&U.style&&this.pager.css(U.style),this.pager.add(me),this.down=k.symbol("triangle-down",0,0,w,w).add(me),N("downTracker").on("click",function(){d.scroll(1,se)})),d.scroll(0),l=he):me&&(x(),this.nav=me.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),l}scroll(l,d){let C=this.chart,k=this.pages,p=k.length,S=this.clipHeight,j=this.options.navigation,H=this.pager,Y=this.padding,U=this.currentPage+l;U>p&&(U=p),U>0&&(void 0!==d&&te(d,C),this.nav.attr({translateX:Y,translateY:S+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(se){se.attr({class:1===U?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),H.attr({text:U+"/"+p}),[this.down,this.downTracker].forEach(function(se){se.attr({x:18+this.pager.getBBox().width,class:U===p?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),C.styledMode||(this.up.attr({fill:1===U?j.inactiveColor:j.activeColor}),this.upTracker.css({cursor:1===U?"default":"pointer"}),this.down.attr({fill:U===p?j.inactiveColor:j.activeColor}),this.downTracker.css({cursor:U===p?"default":"pointer"})),this.scrollOffset=-k[U-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=U,this.positionCheckboxes(),o(()=>{T(this,"afterScroll",{currentPage:U})},J(f(d,C.renderer.globalAnimation,!0)).duration))}setItemEvents(l,d,C){let k=this,p=l.legendItem||{},S=k.chart.renderer.boxWrapper,j=l instanceof ve,H="highcharts-legend-"+(j?"point":"series")+"-active",Y=k.chart.styledMode,U=C?[d,p.symbol]:[p.group],se=w=>{k.allItems.forEach(X=>{l!==X&&[X].concat(X.linkedSeries||[]).forEach(G=>{G.setState(w,!j)})})};for(let w of U)w&&w.on("mouseover",function(){l.visible&&se("inactive"),l.setState("hover"),l.visible&&S.addClass(H),Y||d.css(k.options.itemHoverStyle)}).on("mouseout",function(){k.chart.styledMode||d.css(O(l.visible?k.itemStyle:k.itemHiddenStyle)),se(""),S.removeClass(H),l.setState()}).on("click",function(X){let G="legendItemClick",x=function(){l.setVisible&&l.setVisible(),se(l.visible?"inactive":"")};S.removeClass(H),X={browserEvent:X},l.firePointEvent?l.firePointEvent(G,X,x):T(l,G,X,x)})}createCheckboxForItem(l){l.checkbox=D("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:l.selected,defaultChecked:l.selected},this.options.itemCheckboxStyle,this.chart.container),L(l.checkbox,"click",function(d){T(l.series||l,"checkboxClick",{checked:d.target.checked,item:l},function(){l.select()})})}}return(pe=n||(n={})).compose=function(r){a(A,"Core.Legend")&&L(r,"beforeMargins",function(){this.legend=new pe(this,this.options.legend)})},n}),Pe(V,"Core/Legend/LegendSymbol.js",[V["Core/Utilities.js"]],function(Z){var ie;let{extend:re,merge:ve,pick:le}=Z;return function(fe){function pe(J,te,$){let f,A=this.legendItem=this.legendItem||{},{chart:B,options:F}=this,{baseline:L=0,symbolWidth:D,symbolHeight:I}=J,E=this.symbol||"circle",_=I/2,b=B.renderer,T=A.group,z=L-Math.round(I*($?.4:.3)),O={},a=F.marker,g=0;if(B.styledMode||(O["stroke-width"]=Math.min(F.lineWidth||0,24),F.dashStyle?O.dashstyle=F.dashStyle:"square"===F.linecap||(O["stroke-linecap"]="round")),A.line=b.path().addClass("highcharts-graph").attr(O).add(T),$&&(A.area=b.path().addClass("highcharts-area").add(T)),O["stroke-linecap"]&&(g=Math.min(A.line.strokeWidth(),D)/2),D){let y=[["M",g,z],["L",D-g,z]];A.line.attr({d:y}),A.area?.attr({d:[...y,["L",D-g,L],["L",g,L]]})}if(a&&!1!==a.enabled&&D){let y=Math.min(le(a.radius,_),_);0===E.indexOf("url")&&(a=ve(a,{width:I,height:I}),y=0),A.symbol=f=b.symbol(E,D/2-y,z-y,2*y,2*y,re({context:"legend"},a)).addClass("highcharts-point").add(T),f.isMarker=!0}}fe.areaMarker=function(J,te){pe.call(this,J,te,!0)},fe.lineMarker=pe,fe.rectangle=function(J,te){let $=te.legendItem||{},B=J.symbolHeight,F=J.options.squareSymbol;$.symbol=this.chart.renderer.rect(F?(J.symbolWidth-B)/2:0,J.baseline-B+1,F?B:J.symbolWidth,B,le(J.options.symbolRadius,B/2)).addClass("highcharts-point").attr({zIndex:3}).add($.group)}}(ie||(ie={})),ie}),Pe(V,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:Z}=this.series.chart;return"number"!=typeof this.y?"":Z(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),Pe(V,"Core/Series/SeriesRegistry.js",[V["Core/Globals.js"],V["Core/Defaults.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){var le;let{defaultOptions:fe}=ie,{extend:pe,extendClass:J,merge:te}=ve;return function($){function A(B,F){let L=fe.plotOptions||{},D=F.defaultOptions,I=F.prototype;return I.type=B,I.pointClass||(I.pointClass=re),!$.seriesTypes[B]&&(D&&(L[B]=D),$.seriesTypes[B]=F,!0)}$.seriesTypes=Z.seriesTypes,$.registerSeriesType=A,$.seriesType=function(B,F,L,D,I){let E=fe.plotOptions||{};if(E[B]=te(E[F=F||""],L),delete $.seriesTypes[B],A(B,J($.seriesTypes[F]||function(){},D)),$.seriesTypes[B].prototype.type=B,I){class _ extends re{}pe(_.prototype,I),$.seriesTypes[B].prototype.pointClass=_}return $.seriesTypes[B]}}(le||(le={})),le}),Pe(V,"Core/Series/Series.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Series/Point.js"],V["Core/Series/SeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe,pe,J,te,$){let{animObject:A,setAnimation:B}=Z,{defaultOptions:F}=ie,{registerEventOptions:L}=re,{svg:D,win:I}=ve,{seriesTypes:E}=J,{arrayMax:_,arrayMin:b,clamp:T,correctFloat:z,defined:O,destroyObjectProperties:f,diffObjects:a,erase:g,error:y,extend:o,find:n,fireEvent:r,getClosestDistance:l,getNestedProperty:d,insertItem:C,isArray:k,isNumber:p,isString:S,merge:j,objectEach:H,pick:Y,removeEvent:U,splat:se,syncTimeout:w}=$;class X{constructor(){this.zoneAxis="y"}init(x,N){let R;r(this,"init",{options:N});let K=this,q=x.series;this.eventsToUnbind=[],K.chart=x,K.options=K.setOptions(N);let he=K.options,me=!1!==he.visible;K.linkedSeries=[],K.bindAxes(),o(K,{name:he.name,state:"",visible:me,selected:!0===he.selected}),L(this,he);let Ce=he.events;(Ce&&Ce.click||he.point&&he.point.events&&he.point.events.click||he.allowPointSelect)&&(x.runTrackerClick=!0),K.getColor(),K.getSymbol(),K.parallelArrays.forEach(function(Se){K[Se+"Data"]||(K[Se+"Data"]=[])}),K.isCartesian&&(x.hasCartesianSeries=!0),q.length&&(R=q[q.length-1]),K._i=Y(R&&R._i,-1)+1,K.opacity=K.options.opacity,x.orderItems("series",C(this,q)),he.dataSorting&&he.dataSorting.enabled?K.setDataSortingOptions():K.points||K.data||K.setData(he.data,!1),r(this,"afterInit")}is(x){return E[x]&&this instanceof E[x]}bindAxes(){let x,N=this,R=N.options,K=N.chart;r(this,"bindAxes",null,function(){(N.axisTypes||[]).forEach(function(q){K[q].forEach(function(he){x=he.options,(Y(R[q],0)===he.index||void 0!==R[q]&&R[q]===x.id)&&(C(N,he.series),N[q]=he,he.isDirty=!0)}),N[q]||N.optionalAxis===q||y(18,!0,K)})}),r(this,"afterBindAxes")}updateParallelArrays(x,N,R){let K=x.series,q=p(N)?function(he){let me="y"===he&&K.toYData?K.toYData(x):x[he];K[he+"Data"][N]=me}:function(he){Array.prototype[N].apply(K[he+"Data"],R)};K.parallelArrays.forEach(q)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(x,N){let R=x.marker,K=N.marker||{};return R&&(K.enabled&&!R.enabled||K.symbol!==R.symbol||K.height!==R.height||K.width!==R.width)}autoIncrement(x){let me,Ce,N=this.options,R=N.pointIntervalUnit,K=N.relativeXValue,q=this.chart.time,he=this.xIncrement;return he=Y(he,N.pointStart,0),this.pointInterval=Ce=Y(this.pointInterval,N.pointInterval,1),K&&p(x)&&(Ce*=x),R&&(me=new q.Date(he),"day"===R?q.set("Date",me,q.get("Date",me)+Ce):"month"===R?q.set("Month",me,q.get("Month",me)+Ce):"year"===R&&q.set("FullYear",me,q.get("FullYear",me)+Ce),Ce=me.getTime()-he),K&&p(x)?he+Ce:(this.xIncrement=he+Ce,he)}setDataSortingOptions(){let x=this.options;o(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),O(x.pointRange)||(x.pointRange=1)}setOptions(x){let N,R=this.chart,K=R.options.plotOptions,q=R.userOptions||{},he=j(x),me=R.styledMode,Ce={plotOptions:K,userOptions:he};r(this,"setOptions",Ce);let Se=Ce.plotOptions[this.type],Oe=q.plotOptions||{},Ae=Oe.series||{},Fe=F.plotOptions[this.type]||{},oe=Oe[this.type]||{};this.userOptions=Ce.userOptions;let ee=j(Se,K.series,oe,he);this.tooltipOptions=j(F.tooltip,F.plotOptions.series?.tooltip,Fe?.tooltip,R.userOptions.tooltip,Oe.series?.tooltip,oe.tooltip,he.tooltip),this.stickyTracking=Y(he.stickyTracking,oe.stickyTracking,Ae.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||ee.stickyTracking),null===Se.marker&&delete ee.marker,this.zoneAxis=ee.zoneAxis||"y";let de=this.zones=(ee.zones||[]).map(ye=>({...ye}));return(ee.negativeColor||ee.negativeFillColor)&&!ee.zones&&(N={value:ee[this.zoneAxis+"Threshold"]||ee.threshold||0,className:"highcharts-negative"},me||(N.color=ee.negativeColor,N.fillColor=ee.negativeFillColor),de.push(N)),de.length&&O(de[de.length-1].value)&&de.push(me?{}:{color:this.color,fillColor:this.fillColor}),r(this,"afterSetOptions",{options:ee}),ee}getName(){return Y(this.options.name,"Series "+(this.index+1))}getCyclic(x,N,R){let K,q,he=this.chart,me=`${x}Index`,Ce=`${x}Counter`,Se=R?.length||he.options.chart.colorCount;!N&&(O(q=Y("color"===x?this.options.colorIndex:void 0,this[me]))?K=q:(he.series.length||(he[Ce]=0),K=he[Ce]%Se,he[Ce]+=1),R&&(N=R[K])),void 0!==K&&(this[me]=K),this[x]=N}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||F.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)}findPointIndex(x,N){let R,K,q,he=x.id,me=x.x,Ce=this.points,Se=this.options.dataSorting;if(he){let Oe=this.chart.get(he);Oe instanceof fe&&(R=Oe)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let Oe=Ae=>!Ae.touched&&Ae.index===x.index;if(Se&&Se.matchByName?Oe=Ae=>!Ae.touched&&Ae.name===x.name:this.options.relativeXValue&&(Oe=Ae=>!Ae.touched&&Ae.options.x===x.x),!(R=n(Ce,Oe)))return}return R&&void 0!==(q=R&&R.index)&&(K=!0),void 0===q&&p(me)&&(q=this.xData.indexOf(me,N)),-1!==q&&void 0!==q&&this.cropped&&(q=q>=this.cropStart?q-this.cropStart:q),!K&&p(q)&&Ce[q]&&Ce[q].touched&&(q=void 0),q}updateData(x,N){let Se,Oe,Ae,Fe,R=this.options,K=R.dataSorting,q=this.points,he=[],me=this.requireSorting,Ce=x.length===q.length,oe=!0;if(this.xIncrement=null,x.forEach(function(ee,de){let ye,Te=O(ee)&&this.pointClass.prototype.optionsToObject.call({series:this},ee)||{};Te.id||p(Te.x)?(-1===(ye=this.findPointIndex(Te,Fe))||void 0===ye?he.push(ee):q[ye]&&ee!==R.data[ye]?(q[ye].update(ee,!1,null,!1),q[ye].touched=!0,me&&(Fe=ye+1)):q[ye]&&(q[ye].touched=!0),(!Ce||de!==ye||K&&K.enabled||this.hasDerivedData)&&(Se=!0)):he.push(ee)},this),Se)for(Oe=q.length;Oe--;)(Ae=q[Oe])&&!Ae.touched&&Ae.remove&&Ae.remove(!1,N);else!Ce||K&&K.enabled?oe=!1:(x.forEach(function(ee,de){ee===q[de].y||q[de].destroyed||q[de].update(ee,!1,null,!1)}),he.length=0);return q.forEach(function(ee){ee&&(ee.touched=!1)}),!!oe&&(he.forEach(function(ee){this.addPoint(ee,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=_(this.xData),this.autoIncrement()),!0)}setData(x,N=!0,R,K){let _e,Me,Ee,Qe,q=this,he=q.points,me=he&&he.length||0,Ce=q.options,Se=q.chart,Oe=Ce.dataSorting,Ae=q.xAxis,Fe=Ce.turboThreshold,oe=this.xData,ee=this.yData,de=q.pointArrayMap,ye=de&&de.length,Te=Ce.keys,Xe=0,Ze=1,lt=null;Se.options.chart.allowMutatingData||(Ce.data&&delete q.options.data,q.userOptions.data&&delete q.userOptions.data,Qe=j(!0,x));let st=(x=Qe||x||[]).length;if(Oe&&Oe.enabled&&(x=this.sortData(x)),Se.options.chart.allowMutatingData&&!1!==K&&st&&me&&!q.cropped&&!q.hasGroupedData&&q.visible&&!q.boosted&&(Ee=this.updateData(x,R)),!Ee){if(q.xIncrement=null,q.colorCounter=0,this.parallelArrays.forEach(function(kt){q[kt+"Data"].length=0}),Fe&&st>Fe)if(p(lt=q.getFirstValidPoint(x)))for(_e=0;_e=0?Xe:0,Ze=Ze>=0?Ze:1),1===lt.length&&(Ze=0),Xe===Ze)for(_e=0;_e{let me=d(R,q),Ce=d(R,he);return Ceme?1:0}).forEach(function(q,he){q.x=he},this),N.linkedSeries&&N.linkedSeries.forEach(function(q){let he=q.options,me=he.data;he.dataSorting&&he.dataSorting.enabled||!me||(me.forEach(function(Ce,Se){me[Se]=K(q,Ce),x[Se]&&(me[Se].x=x[Se].x,me[Se].index=Se)}),q.setData(me,!1))}),x}getProcessedData(x){let Se,Oe,Fe,oe,ee,N=this,R=N.xAxis,K=N.options,q=K.cropThreshold,he=x||N.getExtremesFromAll||K.getExtremesFromAll,me=R?.logarithmic,Ce=N.isCartesian,Ae=0,de=N.xData,ye=N.yData,Te=!1,_e=de.length;R&&(oe=(Fe=R.getExtremes()).min,ee=Fe.max,Te=!(!R.categories||R.names.length)),Ce&&N.sorted&&!he&&(!q||_e>q||N.forceCrop)&&(de[_e-1]ee?(de=[],ye=[]):N.yData&&(de[0]ee)&&(de=(Se=this.cropData(N.xData,N.yData,oe,ee)).xData,ye=Se.yData,Ae=Se.start,Oe=!0));let Me=l([me?de.map(me.log2lin):de],()=>N.requireSorting&&!Te&&y(15,!1,N.chart));return{xData:de,yData:ye,cropped:Oe,cropStart:Ae,closestPointRange:Me}}processData(x){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!x)return!1;let R=this.getProcessedData();this.cropped=R.cropped,this.cropStart=R.cropStart,this.processedXData=R.xData,this.processedYData=R.yData,this.closestPointRange=this.basePointRange=R.closestPointRange,r(this,"afterProcessData")}cropData(x,N,R,K){let he,me,q=x.length,Ce=0,Se=q;for(he=0;he=R){Ce=Math.max(0,he-1);break}for(me=he;meK){Se=me+1;break}return{xData:x.slice(Ce,Se),yData:N.slice(Ce,Se),start:Ce,end:Se}}generatePoints(){let Fe,oe,ee,de,x=this.options,N=this.processedData||x.data,R=this.processedXData,K=this.processedYData,q=this.pointClass,he=R.length,me=this.cropStart||0,Ce=this.hasGroupedData,Se=x.keys,Oe=[],Ae=x.dataGrouping&&x.dataGrouping.groupAll?me:0,ye=this.data;if(!ye&&!Ce){let Te=[];Te.length=N.length,ye=this.data=Te}for(Se&&Ce&&(this.options.keys=!1),de=0;de0:oe.length)||!Ce),Ae=N||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!R||(q[ee+me]||Fe)>=ye&&(q[ee-me]||Fe)<=Te,Oe&&Ae)if(de=oe.length)for(;de--;)p(oe[de])&&(he[_e++]=oe[de]);else he[_e++]=oe;let Ee={activeYData:he,dataMin:b(he),dataMax:_(he)};return r(this,"afterGetExtremes",{dataExtremes:Ee}),Ee}applyExtremes(){let x=this.getExtremes();return this.dataMin=x.dataMin,this.dataMax=x.dataMax,x}getFirstValidPoint(x){let N=x.length,R=0,K=null;for(;null===K&&R1)&&(he.step=function(Fe,oe){Ae&&Ae.apply(oe,arguments),"width"===oe.prop&&Se?.element&&Se.attr(q?"height":"width",Fe+99)}),Ce.addClass("highcharts-animating").animate(Oe,he)}}afterAnimate(){this.setClip(),H(this.chart.sharedClips,(x,N,R)=>{x&&!this.chart.container.querySelector(`[clip-path="url(#${x.id})"]`)&&(x.destroy(),delete R[N])}),this.finishedAnimating=!0,r(this,"afterAnimate")}drawPoints(x=this.points){let N,R,K,q,he,me,Ce,Se=this.chart,Oe=Se.styledMode,{colorAxis:Ae,options:Fe}=this,oe=Fe.marker,ee=this[this.specialGroup||"markerGroup"],de=this.xAxis,ye=Y(oe.enabled,!de||!!de.isRadial||null,this.closestPointRangePx>=oe.enabledThreshold*oe.radius);if(!1!==oe.enabled||this._hasPointMarkers)for(N=0;N0||R.hasImage)&&(R.graphic=K=Se.renderer.symbol(Te,Ce.x,Ce.y,Ce.width,Ce.height,me?he:oe).add(ee),this.enabledDataSorting&&Se.hasRendered&&(K.attr({x:R.startXPos}),q="animate")),K&&"animate"===q&&K[_e?"show":"hide"](_e).animate(Ce),K){let Me=this.pointAttribs(R,Oe||!R.selected?void 0:"select");Oe?Ae&&K.css({fill:Me.fill}):K[q](Me)}K&&K.addClass(R.getClassName(),!0)}else K&&(R.graphic=K.destroy())}markerAttribs(x,N){let Ce,Se,R=this.options,K=R.marker,q=x.marker||{},he=q.symbol||K.symbol,me={},Oe=Y(q.radius,K&&K.radius);N&&(Ce=K.states[N],Oe=Y((Se=q.states&&q.states[N])&&Se.radius,Ce&&Ce.radius,Oe&&Oe+(Ce&&Ce.radiusPlus||0))),x.hasImage=he&&0===he.indexOf("url"),x.hasImage&&(Oe=0);let Ae=x.pos();return p(Oe)&&Ae&&(me.x=Ae[0]-Oe,me.y=Ae[1]-Oe,R.crisp&&(me.x=Math.floor(me.x))),Oe&&(me.width=me.height=2*Oe),me}pointAttribs(x,N){let Se,Oe,Fe,oe,R=this.options.marker,K=x&&x.options,q=K&&K.marker||{},he=K&&K.color,me=x&&x.color,Ce=x&&x.zone&&x.zone.color,Ae=this.color,ee=Y(q.lineWidth,R.lineWidth),de=1;return Ae=he||Ce||me||Ae,Fe=q.fillColor||R.fillColor||Ae,oe=q.lineColor||R.lineColor||Ae,Se=R.states[N=N||"normal"]||{},ee=Y((Oe=q.states&&q.states[N]||{}).lineWidth,Se.lineWidth,ee+Y(Oe.lineWidthPlus,Se.lineWidthPlus,0)),Fe=Oe.fillColor||Se.fillColor||Fe,{stroke:oe=Oe.lineColor||Se.lineColor||oe,"stroke-width":ee,fill:Fe,opacity:de=Y(Oe.opacity,Se.opacity,de)}}destroy(x){let N,R,K,q=this,he=q.chart,me=/AppleWebKit\/533/.test(I.navigator.userAgent),Ce=q.data||[];for(r(q,"destroy",{keepEventsForUpdate:x}),this.removeEvents(x),(q.axisTypes||[]).forEach(function(Se){(K=q[Se])&&K.series&&(g(K.series,q),K.isDirty=K.forceRedraw=!0)}),q.legendItem&&q.chart.legend.destroyItem(q),N=Ce.length;N--;)(R=Ce[N])&&R.destroy&&R.destroy();for(let Se of q.zones)f(Se,void 0,!0);$.clearTimeout(q.animationTimeout),H(q,function(Se,Oe){Se instanceof te&&!Se.survive&&Se[me&&"group"===Oe?"hide":"destroy"]()}),he.hoverSeries===q&&(he.hoverSeries=void 0),g(he.series,q),he.orderItems("series"),H(q,function(Se,Oe){x&&"hcEvents"===Oe||delete q[Oe]})}applyZones(){let{area:x,chart:N,graph:R,zones:K,points:q,xAxis:he,yAxis:me,zoneAxis:Ce}=this,{inverted:Se,renderer:Oe}=N,Ae=this[`${Ce}Axis`],{isXAxis:Fe,len:oe=0}=Ae||{},ee=(R?.strokeWidth()||0)/2+1,de=(ye,Te=0,_e=0)=>{Se&&(_e=oe-_e);let{translated:Me=0,lineClip:Ee}=ye,Xe=_e-Me;Ee?.push(["L",Te,Math.abs(Xe){Ee.forEach((Xe,Ze)=>{("M"===Xe[0]||"L"===Xe[0])&&(Ee[Ze]=[Xe[0],Fe?oe-Xe[1]:Xe[1],Fe?Xe[2]:oe-Xe[2]])})};if(K.forEach(Ee=>{Ee.lineClip=[],Ee.translated=T(Ae.toPixels(Y(Ee.value,ye),!0)||0,0,oe)}),R&&!this.showLine&&R.hide(),x&&x.hide(),"y"===Ce&&q.length{let Xe=Ee.lineClip||[],Ze=Math.round(Ee.translated||0);he.reversed&&Xe.reverse();let{clip:lt,simpleClip:Qe}=Ee,st=0,kt=0,pt=he.len,ht=me.len;Fe?(st=Ze,pt=Me):(kt=Ze,ht=Me);let Lt=[["M",st,kt],["L",pt,kt],["L",pt,ht],["L",st,ht],["Z"]],Gt=[Lt[0],...Xe,Lt[1],Lt[2],..._e,Lt[3],Lt[4]];_e=Xe.reverse(),Me=Ze,Se&&(Te(Gt),x&&Te(Lt)),lt?(lt.animate({d:Gt}),Qe?.animate({d:Lt})):(lt=Ee.clip=Oe.path(Gt),x&&(Qe=Ee.simpleClip=Oe.path(Lt))),R&&Ee.graph?.clip(lt),x&&Ee.area?.clip(Qe)})}else this.visible&&(R&&R.show(),x&&x.show())}plotGroup(x,N,R,K,q){let he=this[x],me=!he,Ce={visibility:R,zIndex:K||.1};return O(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(Ce.opacity=this.opacity),he||(this[x]=he=this.chart.renderer.g().add(q)),he.addClass("highcharts-"+N+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(O(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(he.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),he.attr(Ce)[me?"attr":"animate"](this.getPlotBox(N)),he}getPlotBox(x){let N=this.xAxis,R=this.yAxis,K=this.chart,q=K.inverted&&!K.polar&&N&&this.invertible&&"series"===x;return K.inverted&&(N=R,R=this.xAxis),{translateX:N?N.left:K.plotLeft,translateY:R?R.top:K.plotTop,rotation:q?90:0,rotationOriginX:q?(N.len-R.len)/2:0,rotationOriginY:q?(N.len+R.len)/2:0,scaleX:q?-1:1,scaleY:1}}removeEvents(x){let{eventsToUnbind:N}=this;x||U(this),N.length&&(N.forEach(R=>{R()}),N.length=0)}render(){let x=this,{chart:N,options:R,hasRendered:K}=x,q=A(R.animation),he=x.visible?"inherit":"hidden",me=R.zIndex,Ce=N.seriesGroup,Se=x.finishedAnimating?0:q.duration;r(this,"render"),x.plotGroup("group","series",he,me,Ce),x.markerGroup=x.plotGroup("markerGroup","markers",he,me,Ce),!1!==R.clip&&x.setClip(),Se&&x.animate?.(!0),x.drawGraph&&(x.drawGraph(),x.applyZones()),x.visible&&x.drawPoints(),x.drawDataLabels?.(),x.redrawPoints?.(),R.enableMouseTracking&&x.drawTracker?.(),Se&&x.animate?.(),K||(Se&&q.defer&&(Se+=q.defer),x.animationTimeout=w(()=>{x.afterAnimate()},Se||0)),x.isDirty=!1,x.hasRendered=!0,r(x,"afterRender")}redraw(){let x=this.isDirty||this.isDirtyData;this.translate(),this.render(),x&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(x,N){let{xAxis:R,yAxis:K}=this,q=this.chart.inverted;return this.searchKDTree({clientX:q?R.len-x.chartY+R.pos:x.chartX-R.pos,plotY:q?K.len-x.chartX+K.pos:x.chartY-K.pos},N,x)}buildKDTree(x){this.buildingKdTree=!0;let N=this,R=N.options.findNearestPointBy.indexOf("y")>-1?2:1;delete N.kdTree,w(function(){N.kdTree=function K(q,he,me){let Ce,Se,Oe=q?.length;if(Oe)return Ce=N.kdAxisArray[he%me],q.sort((Ae,Fe)=>(Ae[Ce]||0)-(Fe[Ce]||0)),{point:q[Se=Math.floor(Oe/2)],left:K(q.slice(0,Se),he+1,me),right:K(q.slice(Se+1),he+1,me)}}(N.getValidPoints(void 0,!N.directTouch),R,R),N.buildingKdTree=!1},N.options.kdNow||"touchstart"===x?.type?0:1)}searchKDTree(x,N,R){let K=this,[q,he]=this.kdAxisArray,me=N?"distX":"dist",Ce=(K.options.findNearestPointBy||"").indexOf("y")>-1?2:1,Se=!!K.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(R),this.kdTree)return function Oe(Ae,Fe,oe,ee){let Te,_e,de=Fe.point,ye=K.kdAxisArray[oe%ee],Me=de;!function(lt,Qe){let st=lt[q],kt=Qe[q],pt=O(st)&&O(kt)?st-kt:null,ht=lt[he],Lt=Qe[he],Gt=O(ht)&&O(Lt)?ht-Lt:0,ti=Se&&Qe.marker?.radius||0;Qe.dist=Math.sqrt((pt&&pt*pt||0)+Gt*Gt)-ti,Qe.distX=O(pt)?Math.abs(pt)-ti:Number.MAX_VALUE}(Ae,de);let Ee=(Ae[ye]||0)-(de[ye]||0)+(Se&&de.marker?.radius||0),Xe=Ee<0?"left":"right",Ze=Ee<0?"right":"left";return Fe[Xe]&&(Me=(Te=Oe(Ae,Fe[Xe],oe+1,ee))[me]=0&&he<=(K?K.len:N.plotHeight)&&q>=0&&q<=(R?R.len:N.plotWidth)}drawTracker(){let x=this,N=x.options,R=N.trackByArea,K=[].concat((R?x.areaPath:x.graphPath)||[]),q=x.chart,he=q.pointer,me=q.renderer,Ce=q.options.tooltip?.snap||0,Se=()=>{N.enableMouseTracking&&q.hoverSeries!==x&&x.onMouseOver()},Oe="rgba(192,192,192,"+(D?1e-4:.002)+")",Ae=x.tracker;Ae?Ae.attr({d:K}):x.graph&&(x.tracker=Ae=me.path(K).attr({visibility:x.visible?"inherit":"hidden",zIndex:2}).addClass(R?"highcharts-tracker-area":"highcharts-tracker-line").add(x.group),q.styledMode||Ae.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:Oe,fill:R?Oe:"none","stroke-width":x.graph.strokeWidth()+(R?0:2*Ce)}),[x.tracker,x.markerGroup,x.dataLabelsGroup].forEach(Fe=>{Fe&&(Fe.addClass("highcharts-tracker").on("mouseover",Se).on("mouseout",oe=>{he?.onTrackerMouseOut(oe)}),N.cursor&&!q.styledMode&&Fe.css({cursor:N.cursor}),Fe.on("touchstart",Se))})),r(this,"afterDrawTracker")}addPoint(x,N,R,K,q){let he,me,Ce=this.options,Se=this.data,Oe=this.chart,Ae=this.xAxis,Fe=Ae&&Ae.hasNames&&Ae.names,oe=Ce.data,ee=this.xData;N=Y(N,!0);let de={series:this};this.pointClass.prototype.applyOptions.apply(de,[x]);let ye=de.x;if(me=ee.length,this.requireSorting&&yeye;)me--;this.updateParallelArrays(de,"splice",[me,0,0]),this.updateParallelArrays(de,me),Fe&&de.name&&(Fe[ye]=de.name),oe.splice(me,0,x),(he||this.processedData)&&(this.data.splice(me,0,null),this.processData()),"point"===Ce.legendType&&this.generatePoints(),R&&(Se[0]&&Se[0].remove?Se[0].remove(!1):(Se.shift(),this.updateParallelArrays(de,"shift"),oe.shift())),!1!==q&&r(this,"addPoint",{point:de}),this.isDirty=!0,this.isDirtyData=!0,N&&Oe.redraw(K)}removePoint(x,N,R){let K=this,q=K.data,he=q[x],me=K.points,Ce=K.chart,Se=function(){me&&me.length===q.length&&me.splice(x,1),q.splice(x,1),K.options.data.splice(x,1),K.updateParallelArrays(he||{series:K},"splice",[x,1]),he&&he.destroy(),K.isDirty=!0,K.isDirtyData=!0,N&&Ce.redraw()};B(R,Ce),N=Y(N,!0),he?he.firePointEvent("remove",null,Se):Se()}remove(x,N,R,K){let q=this,he=q.chart;function me(){q.destroy(K),he.isDirtyLegend=he.isDirtyBox=!0,he.linkSeries(K),Y(x,!0)&&he.redraw(N)}!1!==R?r(q,"remove",null,me):me()}update(x,N){r(this,"update",{options:x=a(x,this.userOptions)});let Ae,Fe,R=this,K=R.chart,q=R.userOptions,he=R.initialType||R.type,me=K.options.plotOptions,Ce=E[he].prototype,Se=R.finishedAnimating&&{animation:!1},Oe={},oe=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],ee=x.type||q.type||K.options.chart.type,de=!(this.hasDerivedData||ee&&ee!==this.type||void 0!==x.pointStart||void 0!==x.pointInterval||void 0!==x.relativeXValue||x.joinBy||x.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(Te=>R.hasOptionChanged(Te)));ee=ee||he,de&&(oe.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==x.visible&&oe.push("area","graph"),R.parallelArrays.forEach(function(Te){oe.push(Te+"Data")}),x.data&&(x.dataSorting&&o(R.options.dataSorting,x.dataSorting),this.setData(x.data,!1))),x=j(q,{index:void 0===q.index?R.index:q.index,pointStart:me?.series?.pointStart??q.pointStart??R.xData?.[0]},!de&&{data:R.options.data},x,Se),de&&x.data&&(x.data=R.options.data),(oe=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(oe)).forEach(function(Te){oe[Te]=R[Te],delete R[Te]});let ye=!1;if(E[ee]){if(ye=ee!==R.type,R.remove(!1,!1,!1,!0),ye)if(K.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(R,E[ee].prototype);else{let Te=Object.hasOwnProperty.call(R,"hcEvents")&&R.hcEvents;for(Fe in Ce)R[Fe]=void 0;o(R,E[ee].prototype),Te?R.hcEvents=Te:delete R.hcEvents}}else y(17,!0,K,{missingModuleFor:ee});if(oe.forEach(function(Te){R[Te]=oe[Te]}),R.init(K,x),de&&this.points)for(let Te of(!1===(Ae=R.options).visible?(Oe.graphic=1,Oe.dataLabel=1):(this.hasMarkerChanged(Ae,q)&&(Oe.graphic=1),R.hasDataLabels?.()||(Oe.dataLabel=1)),this.points))Te&&Te.series&&(Te.resolveColor(),Object.keys(Oe).length&&Te.destroyElements(Oe),!1===Ae.showInLegend&&Te.legendItem&&K.legend.destroyItem(Te));R.initialType=he,K.linkSeries(),K.setSortedData(),ye&&R.linkedSeries.length&&(R.isDirtyData=!0),r(this,"afterUpdate"),Y(N,!0)&&K.redraw(!!de&&void 0)}setName(x){this.name=this.options.name=this.userOptions.name=x,this.chart.isDirtyLegend=!0}hasOptionChanged(x){let R=this.options[x],K=this.chart.options.plotOptions,q=this.userOptions[x],he=Y(K?.[this.type]?.[x],K?.series?.[x]);return q&&!O(he)?R!==q:R!==Y(he,R)}onMouseOver(){let x=this.chart,N=x.hoverSeries;x.pointer?.setHoverChartIndex(),N&&N!==this&&N.onMouseOut(),this.options.events.mouseOver&&r(this,"mouseOver"),this.setState("hover"),x.hoverSeries=this}onMouseOut(){let x=this.options,N=this.chart,R=N.tooltip,K=N.hoverPoint;N.hoverSeries=null,K&&K.onMouseOut(),this&&x.events.mouseOut&&r(this,"mouseOut"),R&&!this.stickyTracking&&(!R.shared||this.noSharedTooltip)&&R.hide(),N.series.forEach(function(q){q.setState("",!0)})}setState(x,N){let R=this,K=R.options,q=R.graph,he=K.inactiveOtherPoints,me=K.states,Ce=Y(me[x||"normal"]&&me[x||"normal"].animation,R.chart.options.chart.animation),Se=K.lineWidth,Oe=K.opacity;if(R.state!==(x=x||"")&&([R.group,R.markerGroup,R.dataLabelsGroup].forEach(function(Ae){Ae&&(R.state&&Ae.removeClass("highcharts-series-"+R.state),x&&Ae.addClass("highcharts-series-"+x))}),R.state=x,!R.chart.styledMode)){if(me[x]&&!1===me[x].enabled)return;if(x&&(Se=me[x].lineWidth||Se+(me[x].lineWidthPlus||0),Oe=Y(me[x].opacity,Oe)),q&&!q.dashstyle&&p(Se))for(let Ae of[q,...this.zones.map(Fe=>Fe.graph)])Ae?.animate({"stroke-width":Se},Ce);he||[R.group,R.markerGroup,R.dataLabelsGroup,R.labelBySeries].forEach(function(Ae){Ae&&Ae.animate({opacity:Oe},Ce)})}N&&he&&R.points&&R.setAllPointsToState(x||void 0)}setAllPointsToState(x){this.points.forEach(function(N){N.setState&&N.setState(x)})}setVisible(x,N){let R=this,K=R.chart,q=K.options.chart.ignoreHiddenSeries;R.visible=x=R.options.visible=R.userOptions.visible=void 0===x?!R.visible:x;let me=x?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(Ce=>{R[Ce]?.[me]()}),(K.hoverSeries===R||K.hoverPoint?.series===R)&&R.onMouseOut(),R.legendItem&&K.legend.colorizeItem(R,x),R.isDirty=!0,R.options.stacking&&K.series.forEach(Ce=>{Ce.options.stacking&&Ce.visible&&(Ce.isDirty=!0)}),R.linkedSeries.forEach(Ce=>{Ce.setVisible(x,!1)}),q&&(K.isDirtyBox=!0),r(R,me),!1!==N&&K.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(x){this.selected=x=this.options.selected=void 0===x?!this.selected:x,this.checkbox&&(this.checkbox.checked=x),r(this,x?"select":"unselect")}shouldShowTooltip(x,N,R={}){return R.series=this,R.visiblePlotOnly=!0,this.chart.isInsidePlot(x,N,R)}drawLegendSymbol(x,N){le[this.options.legendSymbol||"rectangle"]?.call(this,x,N)}}return X.defaultOptions=pe,X.types=J.seriesTypes,X.registerType=J.registerSeriesType,o(X.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:fe,requireSorting:!0,sorted:!0}),J.series=X,X}),Pe(V,"Core/Chart/Chart.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Time.js"],V["Core/Utilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Axis/Tick.js"]],function(Z,ie,re,ve,le,fe,pe,J,te,$,A,B,F,L){let{animate:D,animObject:I,setAnimation:E}=Z,{defaultOptions:_,defaultTime:b}=re,{numberFormat:T}=ve,{registerEventOptions:z}=le,{charts:O,doc:f,marginNames:a,svg:g,win:y}=fe,{seriesTypes:o}=te,{addEvent:n,attr:r,createElement:l,css:d,defined:C,diffObjects:k,discardElement:p,erase:S,error:j,extend:H,find:Y,fireEvent:U,getStyle:se,isArray:w,isNumber:X,isObject:G,isString:x,merge:N,objectEach:R,pick:K,pInt:q,relativeLength:he,removeEvent:me,splat:Ce,syncTimeout:Se,uniqueKey:Oe}=B;class Ae{static chart(oe,ee,de){return new Ae(oe,ee,de)}constructor(oe,ee,de){this.sharedClips={};let ye=[...arguments];(x(oe)||oe.nodeName)&&(this.renderTo=ye.shift()),this.init(ye[0],ye[1])}setZoomOptions(){let oe=this.options.chart,ee=oe.zooming;this.zooming={...ee,type:K(oe.zoomType,ee.type),key:K(oe.zoomKey,ee.key),pinchType:K(oe.pinchType,ee.pinchType),singleTouch:K(oe.zoomBySingleTouch,ee.singleTouch,!1),resetButton:N(ee.resetButton,oe.resetZoomButton)}}init(oe,ee){U(this,"init",{args:arguments},function(){let de=N(_,oe),ye=de.chart;this.userOptions=H({},oe),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=ee,this.isResizing=0,this.options=de,this.axes=[],this.series=[],this.time=oe.time&&Object.keys(oe.time).length?new A(oe.time):fe.time,this.numberFormatter=ye.numberFormatter||T,this.styledMode=ye.styledMode,this.hasCartesianSeries=ye.showAxes,this.index=O.length,O.push(this),fe.chartCount++,z(this,ye),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),U(this,"afterInit"),this.firstRender()})}initSeries(oe){let de=oe.type||this.options.chart.type,ye=o[de];ye||j(17,!0,this,{missingModuleFor:de});let Te=new ye;return"function"==typeof Te.init&&Te.init(this,oe),Te}setSortedData(){this.getSeriesOrderByLinks().forEach(function(oe){oe.points||oe.data||!oe.enabledDataSorting||oe.setData(oe.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(oe,ee){return oe.linkedSeries.length||ee.linkedSeries.length?ee.linkedSeries.length-oe.linkedSeries.length:0})}orderItems(oe,ee=0){let de=this[oe],ye=this.options[oe]=Ce(this.options[oe]).slice(),Te=this.userOptions[oe]=this.userOptions[oe]?Ce(this.userOptions[oe]).slice():[];if(this.hasRendered&&(ye.splice(ee),Te.splice(ee)),de)for(let _e=ee,Me=de.length;_e=Math.max(Xe+_e,ht.pos)&&Lt<=Math.min(Xe+_e+Qe.width,ht.pos+ht.len)||(pt.isInsidePlot=!1)}if(!de.ignoreY&&pt.isInsidePlot){let ht=!ye&&de.axis&&!de.axis.isXAxis&&de.axis||lt&&(ye?lt.xAxis:lt.yAxis)||{pos:Me,len:1/0},Lt=de.paneCoordinates?ht.pos+kt:Me+kt;Lt>=Math.max(Ze+Me,ht.pos)&&Lt<=Math.min(Ze+Me+Qe.height,ht.pos+ht.len)||(pt.isInsidePlot=!1)}return U(this,"afterIsInsidePlot",pt),pt.isInsidePlot}redraw(oe){U(this,"beforeRedraw");let Ze,lt,Qe,pt,ee=this.hasCartesianSeries?this.axes:this.colorAxis||[],de=this.series,ye=this.pointer,Te=this.legend,_e=this.userOptions.legend,Me=this.renderer,Ee=Me.isHidden(),Xe=[],st=this.isDirtyBox,kt=this.isDirtyLegend;for(Me.rootFontSize=Me.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),E(!!this.hasRendered&&oe,this),Ee&&this.temporaryDisplay(),this.layOutTitles(!1),Qe=de.length;Qe--;)if(((pt=de[Qe]).options.stacking||pt.options.centerInCategory)&&(lt=!0,pt.isDirty)){Ze=!0;break}if(Ze)for(Qe=de.length;Qe--;)(pt=de[Qe]).options.stacking&&(pt.isDirty=!0);de.forEach(function(ht){ht.isDirty&&("point"===ht.options.legendType?("function"==typeof ht.updateTotals&&ht.updateTotals(),kt=!0):_e&&(_e.labelFormatter||_e.labelFormat)&&(kt=!0)),ht.isDirtyData&&U(ht,"updatedData")}),kt&&Te&&Te.options.enabled&&(Te.render(),this.isDirtyLegend=!1),lt&&this.getStacks(),ee.forEach(function(ht){ht.updateNames(),ht.setScale()}),this.getMargins(),ee.forEach(function(ht){ht.isDirty&&(st=!0)}),ee.forEach(function(ht){let Lt=ht.min+","+ht.max;ht.extKey!==Lt&&(ht.extKey=Lt,Xe.push(function(){U(ht,"afterSetExtremes",H(ht.eventArgs,ht.getExtremes())),delete ht.eventArgs})),(st||lt)&&ht.redraw()}),st&&this.drawChartBox(),U(this,"predraw"),de.forEach(function(ht){(st||ht.isDirty)&&ht.visible&&ht.redraw(),ht.isDirtyData=!1}),ye&&ye.reset(!0),Me.draw(),U(this,"redraw"),U(this,"render"),Ee&&this.temporaryDisplay(!0),Xe.forEach(function(ht){ht.call()})}get(oe){let ee=this.series;function de(Te){return Te.id===oe||Te.options&&Te.options.id===oe}let ye=Y(this.axes,de)||Y(this.series,de);for(let Te=0;!ye&&Te(ee.getPointsCollection().forEach(de=>{K(de.selectedStaging,de.selected)&&oe.push(de)}),oe),[])}getSelectedSeries(){return this.series.filter(function(oe){return oe.selected})}setTitle(oe,ee,de){this.applyDescription("title",oe),this.applyDescription("subtitle",ee),this.applyDescription("caption",void 0),this.layOutTitles(de)}applyDescription(oe,ee){let de=this,ye=this.options[oe]=N(this.options[oe],ee),Te=this[oe];Te&&ee&&(this[oe]=Te=Te.destroy()),ye&&!Te&&((Te=this.renderer.text(ye.text,0,0,ye.useHTML).attr({align:ye.align,class:"highcharts-"+oe,zIndex:ye.zIndex||4}).add()).update=function(_e,Me){de.applyDescription(oe,_e),de.layOutTitles(Me)},this.styledMode||Te.css(H("title"===oe?{fontSize:this.options.isStock?"1em":"1.2em"}:{},ye.style)),this[oe]=Te)}layOutTitles(oe=!0){let ee=[0,0,0],de=this.renderer,ye=this.spacingBox;["title","subtitle","caption"].forEach(function(_e){let Me=this[_e],Ee=this.options[_e],Xe=Ee.verticalAlign||"top",Ze="title"===_e?"top"===Xe?-3:0:"top"===Xe?ee[0]+2:0;if(Me){Me.css({width:(Ee.width||ye.width+(Ee.widthAdjust||0))+"px"});let lt=de.fontMetrics(Me).b,Qe=Math.round(Me.getBBox(Ee.useHTML).height);Me.align(H({y:"bottom"===Xe?lt:Ze+lt,height:Qe},Ee),!1,"spacingBox"),Ee.floating||("top"===Xe?ee[0]=Math.ceil(ee[0]+Qe):"bottom"===Xe&&(ee[2]=Math.ceil(ee[2]+Qe)))}},this),ee[0]&&"top"===(this.options.title.verticalAlign||"top")&&(ee[0]+=this.options.title.margin),ee[2]&&"bottom"===this.options.caption.verticalAlign&&(ee[2]+=this.options.caption.margin);let Te=!this.titleOffset||this.titleOffset.join(",")!==ee.join(",");this.titleOffset=ee,U(this,"afterLayOutTitles"),!this.isDirtyBox&&Te&&(this.isDirtyBox=this.isDirtyLegend=Te,this.hasRendered&&oe&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:se(this.renderTo,"width",!0)||0,height:se(this.renderTo,"height",!0)||0}}getChartSize(){let oe=this.options.chart,ee=oe.width,de=oe.height,ye=this.getContainerBox();this.chartWidth=Math.max(0,ee||ye.width||600),this.chartHeight=Math.max(0,he(de,this.chartWidth)||(ye.height>1?ye.height:400)),this.containerBox=ye}temporaryDisplay(oe){let de,ee=this.renderTo;if(oe)for(;ee&&ee.style;)ee.hcOrigStyle&&(d(ee,ee.hcOrigStyle),delete ee.hcOrigStyle),ee.hcOrigDetached&&(f.body.removeChild(ee),ee.hcOrigDetached=!1),ee=ee.parentNode;else for(;ee&&ee.style&&(f.body.contains(ee)||ee.parentNode||(ee.hcOrigDetached=!0,f.body.appendChild(ee)),("none"===se(ee,"display",!1)||ee.hcOricDetached)&&(ee.hcOrigStyle={display:ee.style.display,height:ee.style.height,overflow:ee.style.overflow},de={display:"block",overflow:"hidden"},ee!==this.renderTo&&(de.height=0),d(ee,de),ee.offsetWidth||ee.style.setProperty("display","block","important")),(ee=ee.parentNode)!==f.body););}setClassName(oe){this.container.className="highcharts-container "+(oe||"")}getContainer(){let Te,oe=this.options,ee=oe.chart,de="data-highcharts-chart",ye=Oe(),_e=this.renderTo;_e||(this.renderTo=_e=ee.renderTo),x(_e)&&(this.renderTo=_e=f.getElementById(_e)),_e||j(13,!0,this);let Me=q(r(_e,de));X(Me)&&O[Me]&&O[Me].hasRendered&&O[Me].destroy(),r(_e,de,this.index),_e.innerHTML=F.emptyHTML,ee.skipClone||_e.offsetWidth||this.temporaryDisplay(),this.getChartSize();let Ee=this.chartHeight,Xe=this.chartWidth;d(_e,{overflow:"hidden"}),this.styledMode||(Te=H({position:"relative",overflow:"hidden",width:Xe+"px",height:Ee+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},ee.style||{}));let Ze=l("div",{id:ye},Te,_e);this.container=Ze,this.getChartSize(),Xe===this.chartWidth||(Xe=this.chartWidth,this.styledMode||d(Ze,{width:K(ee.style?.width,Xe+"px")})),this.containerBox=this.getContainerBox(),this._cursor=Ze.style.cursor;let lt=ee.renderer||!g?pe.getRendererType(ee.renderer):$;if(this.renderer=new lt(Ze,Xe,Ee,void 0,ee.forExport,oe.exporting&&oe.exporting.allowHTML,this.styledMode),E(void 0,this),this.setClassName(ee.className),this.styledMode)for(let Qe in oe.defs)this.renderer.definition(oe.defs[Qe]);else this.renderer.setStyle(ee.style);this.renderer.chartIndex=this.index,U(this,"afterGetContainer")}getMargins(oe){let{spacing:ee,margin:de,titleOffset:ye}=this;this.resetMargins(),ye[0]&&!C(de[0])&&(this.plotTop=Math.max(this.plotTop,ye[0]+ee[0])),ye[2]&&!C(de[2])&&(this.marginBottom=Math.max(this.marginBottom,ye[2]+ee[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(de,ee),U(this,"getMargins"),oe||this.getAxisMargins()}getAxisMargins(){let oe=this,ee=oe.axisOffset=[0,0,0,0],de=oe.colorAxis,ye=oe.margin,Te=function(_e){_e.forEach(function(Me){Me.visible&&Me.getOffset()})};oe.hasCartesianSeries?Te(oe.axes):de&&de.length&&Te(de),a.forEach(function(_e,Me){C(ye[Me])||(oe[_e]+=ee[Me])}),oe.setChartSize()}getOptions(){return k(this.userOptions,_)}reflow(oe){let ee=this,de=ee.containerBox,ye=ee.getContainerBox();delete ee.pointer?.chartPosition,!ee.isPrinting&&!ee.isResizing&&de&&ye.width&&((ye.width!==de.width||ye.height!==de.height)&&(B.clearTimeout(ee.reflowTimeout),ee.reflowTimeout=Se(function(){ee.container&&ee.setSize(void 0,void 0,!1)},oe?100:0)),ee.containerBox=ye)}setReflow(){let oe=this,ee=de=>{oe.options?.chart.reflow&&oe.hasLoaded&&oe.reflow(de)};if("function"==typeof ResizeObserver)new ResizeObserver(ee).observe(oe.renderTo);else{let de=n(y,"resize",ee);n(this,"destroy",de)}}setSize(oe,ee,de){let ye=this,Te=ye.renderer;ye.isResizing+=1,E(de,ye);let _e=Te.globalAnimation;ye.oldChartHeight=ye.chartHeight,ye.oldChartWidth=ye.chartWidth,void 0!==oe&&(ye.options.chart.width=oe),void 0!==ee&&(ye.options.chart.height=ee),ye.getChartSize();let{chartWidth:Me,chartHeight:Ee,scrollablePixelsX:Xe=0,scrollablePixelsY:Ze=0}=ye;(ye.isDirtyBox||Me!==ye.oldChartWidth||Ee!==ye.oldChartHeight)&&(ye.styledMode||(_e?D:d)(ye.container,{width:`${Me+Xe}px`,height:`${Ee+Ze}px`},_e),ye.setChartSize(!0),Te.setSize(Me,Ee,_e),ye.axes.forEach(function(lt){lt.isDirty=!0,lt.setScale()}),ye.isDirtyLegend=!0,ye.isDirtyBox=!0,ye.layOutTitles(),ye.getMargins(),ye.redraw(_e),ye.oldChartHeight=void 0,U(ye,"resize"),setTimeout(()=>{ye&&U(ye,"endResize",void 0,()=>{ye.isResizing-=1})},I(_e).duration))}setChartSize(oe){let ee,de,ye,Te,_e=this.inverted,Me=this.renderer,Ee=this.chartWidth,Xe=this.chartHeight,Ze=this.options.chart,lt=this.spacing,Qe=this.clipOffset;this.plotLeft=ee=Math.round(this.plotLeft),this.plotTop=de=Math.round(this.plotTop),this.plotWidth=ye=Math.max(0,Math.round(Ee-ee-this.marginRight)),this.plotHeight=Te=Math.max(0,Math.round(Xe-de-this.marginBottom)),this.plotSizeX=_e?Te:ye,this.plotSizeY=_e?ye:Te,this.plotBorderWidth=Ze.plotBorderWidth||0,this.spacingBox=Me.spacingBox={x:lt[3],y:lt[0],width:Ee-lt[3]-lt[1],height:Xe-lt[0]-lt[2]},this.plotBox=Me.plotBox={x:ee,y:de,width:ye,height:Te};let st=2*Math.floor(this.plotBorderWidth/2),kt=Math.ceil(Math.max(st,Qe[3])/2),pt=Math.ceil(Math.max(st,Qe[0])/2);this.clipBox={x:kt,y:pt,width:Math.floor(this.plotSizeX-Math.max(st,Qe[1])/2-kt),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(st,Qe[2])/2-pt))},oe||(this.axes.forEach(function(ht){ht.setAxisSize(),ht.setAxisTranslation()}),Me.alignElements()),U(this,"afterSetChartSize",{skipAxes:oe})}resetMargins(){U(this,"resetMargins");let oe=this,ee=oe.options.chart;["margin","spacing"].forEach(function(de){let ye=ee[de],Te=G(ye)?ye:[ye,ye,ye,ye];["Top","Right","Bottom","Left"].forEach(function(_e,Me){oe[de][Me]=K(ee[de+_e],Te[Me])})}),a.forEach(function(de,ye){oe[de]=K(oe.margin[ye],oe.spacing[ye])}),oe.axisOffset=[0,0,0,0],oe.clipOffset=[0,0,0,0]}drawChartBox(){let Dt,At,_t,oe=this.options.chart,ee=this.renderer,de=this.chartWidth,ye=this.chartHeight,Te=this.styledMode,_e=this.plotBGImage,Me=oe.backgroundColor,Ee=oe.plotBackgroundColor,Xe=oe.plotBackgroundImage,Ze=this.plotLeft,lt=this.plotTop,Qe=this.plotWidth,st=this.plotHeight,kt=this.plotBox,pt=this.clipRect,ht=this.clipBox,Lt=this.chartBackground,Gt=this.plotBackground,ti=this.plotBorder,wt="animate";Lt||(this.chartBackground=Lt=ee.rect().addClass("highcharts-background").add(),wt="attr"),Te?Dt=At=Lt.strokeWidth():(At=(Dt=oe.borderWidth||0)+(oe.shadow?8:0),_t={fill:Me||"none"},(Dt||Lt["stroke-width"])&&(_t.stroke=oe.borderColor,_t["stroke-width"]=Dt),Lt.attr(_t).shadow(oe.shadow)),Lt[wt]({x:At/2,y:At/2,width:de-At-Dt%2,height:ye-At-Dt%2,r:oe.borderRadius}),wt="animate",Gt||(wt="attr",this.plotBackground=Gt=ee.rect().addClass("highcharts-plot-background").add()),Gt[wt](kt),!Te&&(Gt.attr({fill:Ee||"none"}).shadow(oe.plotShadow),Xe&&(_e?(Xe!==_e.attr("href")&&_e.attr("href",Xe),_e.animate(kt)):this.plotBGImage=ee.image(Xe,Ze,lt,Qe,st).add())),pt?pt.animate({width:ht.width,height:ht.height}):this.clipRect=ee.clipRect(ht),wt="animate",ti||(wt="attr",this.plotBorder=ti=ee.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),Te||ti.attr({stroke:oe.plotBorderColor,"stroke-width":oe.plotBorderWidth||0,fill:"none"}),ti[wt](ti.crisp({x:Ze,y:lt,width:Qe,height:st},-ti.strokeWidth())),this.isDirtyBox=!1,U(this,"afterDrawChartBox")}propFromSeries(){let oe,ee,de,ye=this,Te=ye.options.chart,_e=ye.options.series;["inverted","angular","polar"].forEach(function(Me){for(ee=o[Te.type],de=Te[Me]||ee&&ee.prototype[Me],oe=_e&&_e.length;!de&&oe--;)(ee=o[_e[oe].type])&&ee.prototype[Me]&&(de=!0);ye[Me]=de})}linkSeries(oe){let ee=this,de=ee.series;de.forEach(function(ye){ye.linkedSeries.length=0}),de.forEach(function(ye){let{linkedTo:Te}=ye.options;if(x(Te)){let _e;(_e=":previous"===Te?ee.series[ye.index-1]:ee.get(Te))&&_e.linkedParent!==ye&&(_e.linkedSeries.push(ye),ye.linkedParent=_e,_e.enabledDataSorting&&ye.setDataSortingOptions(),ye.visible=K(ye.options.visible,_e.options.visible,ye.visible))}}),U(this,"afterLinkSeries",{isUpdating:oe})}renderSeries(){this.series.forEach(function(oe){oe.translate(),oe.render()})}render(){let Ee,oe=this.axes,ee=this.colorAxis,de=this.renderer,ye=this.options.chart.axisLayoutRuns||2,Te=Ze=>{Ze.forEach(lt=>{lt.visible&<.render()})},_e=0,Me=!0,Xe=0;for(let Ze of(this.setTitle(),U(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),oe)){let{options:lt}=Ze,{labels:Qe}=lt;if(Ze.horiz&&Ze.visible&&Qe.enabled&&Ze.series.length&&"colorAxis"!==Ze.coll&&!this.polar){_e=lt.tickLength,Ze.createGroups();let st=new L(Ze,0,"",!0),kt=st.createLabel("x",Qe);if(st.destroy(),kt&&K(Qe.reserveSpace,!X(lt.crossing))&&(_e=kt.getBBox().height+Qe.distance+Math.max(lt.offset||0,0)),_e){kt?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-_e,0);(Me||Ee||ye>1)&&Xe(Xe?1:1.1),Ee=lt/this.plotHeight>(Xe?1:1.05),Xe++}this.drawChartBox(),this.hasCartesianSeries?Te(oe):ee&&ee.length&&Te(ee),this.seriesGroup||(this.seriesGroup=de.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(oe){let ee=this,de=N(!0,this.options.credits,oe);de.enabled&&!this.credits&&(this.credits=this.renderer.text(de.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){de.href&&(y.location.href=de.href)}).attr({align:de.position.align,zIndex:8}),ee.styledMode||this.credits.css(de.style),this.credits.add().align(de.position),this.credits.update=function(ye){ee.credits=ee.credits.destroy(),ee.addCredits(ye)})}destroy(){let oe,ee=this,de=ee.axes,ye=ee.series,Te=ee.container,_e=Te&&Te.parentNode;for(U(ee,"destroy"),ee.renderer.forExport?S(O,ee):O[ee.index]=void 0,fe.chartCount--,ee.renderTo.removeAttribute("data-highcharts-chart"),me(ee),oe=de.length;oe--;)de[oe]=de[oe].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),oe=ye.length;oe--;)ye[oe]=ye[oe].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(Me){let Ee=ee[Me];Ee&&Ee.destroy&&(ee[Me]=Ee.destroy())}),Te&&(Te.innerHTML=F.emptyHTML,me(Te),_e&&p(Te)),R(ee,function(Me,Ee){delete ee[Ee]})}firstRender(){let oe=this,ee=oe.options;oe.getContainer(),oe.resetMargins(),oe.setChartSize(),oe.propFromSeries(),oe.getAxes();let de=w(ee.series)?ee.series:[];ee.series=[],de.forEach(function(ye){oe.initSeries(ye)}),oe.linkSeries(),oe.setSortedData(),U(oe,"beforeRender"),oe.render(),oe.pointer?.getChartPosition(),oe.renderer.imgCount||oe.hasLoaded||oe.onload(),oe.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(oe){oe&&void 0!==this.index&&oe.apply(this,[this])},this),U(this,"load"),U(this,"render"),C(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:oe,title:ee}=this;!oe||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(ee&&ee.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(oe,ee){let de=this,ye="object"==typeof ee?ee:{enabled:ee,type:"x"},Te=ye.type,_e=Te&&de[{x:"xAxis",xy:"axes",y:"yAxis"}[Te]].filter(Ee=>Ee.options.panningEnabled&&!Ee.options.isInternal),Me=de.options.chart;Me?.panning&&(Me.panning=ye),U(this,"pan",{originalEvent:oe},()=>{de.transform({axes:_e,event:oe,to:{x:oe.chartX-(de.mouseDownX||0),y:oe.chartY-(de.mouseDownY||0)},trigger:"pan"}),d(de.container,{cursor:"move"})})}transform(oe){let Qe,{axes:ee=this.axes,event:de,from:ye={},reset:Te,selection:_e,to:Me={},trigger:Ee}=oe,{inverted:Xe,resetZoomButton:Ze}=this,lt=!1;for(let st of(this.hoverPoints?.forEach(kt=>kt.setState()),ee)){let{horiz:kt,len:pt,minPointOffset:ht=0,options:Lt,reversed:Gt}=st,ti=kt?"width":"height",Dt=kt?"x":"y",At=Me[ti]||st.len,_t=ye[ti]||st.len,wt=10>Math.abs(At)?1:At/_t,Qt=(ye[Dt]||0)+_t/2-st.pos,di=Qt-((Me[Dt]??st.pos)+At/2-st.pos)/wt,Fi=Gt&&!Xe||!Gt&&Xe?-1:1;if(!Te&&(Qt<0||Qt>st.len))continue;let mi=st.toValue(di,!0)+ht*Fi,vi=st.toValue(di+pt/wt,!0)-(ht*Fi||0),Gi=st.allExtremes;if(mi>vi&&([mi,vi]=[vi,mi]),1===wt&&!Te&&"yAxis"===st.coll&&!Gi){for(let Cs of st.series){let Mn=Cs.getExtremes(Cs.getProcessedData(!0).yData,!0);Gi??(Gi={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),X(Mn.dataMin)&&X(Mn.dataMax)&&(Gi.dataMin=Math.min(Mn.dataMin,Gi.dataMin),Gi.dataMax=Math.max(Mn.dataMax,Gi.dataMax))}st.allExtremes=Gi}let{dataMin:xs,dataMax:jn,min:ls,max:fs}=H(st.getExtremes(),Gi||{}),Gn=xs??Lt.min,dn=jn??Lt.max,Mi=vi-mi,_s=st.categories?0:Math.min(Mi,dn-Gn),On=Gn-_s*(C(Lt.min)?0:Lt.minPadding),Pn=dn+_s*(C(Lt.max)?0:Lt.maxPadding),As=st.allowZoomOutside||1===wt||"zoom"!==Ee&&wt>1,$n=Math.min(Lt.min??On,On,As?ls:On),$i=Math.max(Lt.max??Pn,Pn,As?fs:Pn);(!st.isOrdinal||1!==wt||Te)&&(mi<$n&&(mi=$n,wt>=1&&(vi=mi+Mi)),vi>$i&&(vi=$i,wt>=1&&(mi=vi-Mi)),(Te||st.series.length&&(mi!==ls||vi!==fs)&&mi>=$n&&vi<=$i)&&(_e?_e[st.coll].push({axis:st,min:mi,max:vi}):(st.isPanning="zoom"!==Ee,st.setExtremes(Te?void 0:mi,Te?void 0:vi,!1,!1,{move:di,trigger:Ee,scale:wt}),!Te&&(mi>$n||vi<$i)&&"mousewheel"!==Ee&&(Qe=!0)),lt=!0),de&&(this[kt?"mouseDownX":"mouseDownY"]=de[kt?"chartX":"chartY"]))}return lt&&(_e?U(this,"selection",_e,()=>{delete oe.selection,oe.trigger="zoom",this.transform(oe)}):(Qe&&!Ze?this.showResetZoom():!Qe&&Ze&&(this.resetZoomButton=Ze.destroy()),this.redraw("zoom"===Ee&&(this.options.chart.animation??this.pointCount<100)))),lt}}return H(Ae.prototype,{callbacks:[],collectionsWithInit:{xAxis:[Ae.prototype.addAxis,[!0]],yAxis:[Ae.prototype.addAxis,[!1]],series:[Ae.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),Ae}),Pe(V,"Extensions/ScrollablePlotArea.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){let{stop:le}=Z,{composed:fe}=ie,{addEvent:pe,createElement:J,css:te,defined:$,merge:A,pushUnique:B}=ve;function F(){let I=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!I&&(this.scrollablePlotArea=I=new D(this)),I?.applyFixed()}function L(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class D{static compose(E,_,b){B(fe,this.compose)&&(pe(E,"afterInit",L),pe(_,"afterSetChartSize",T=>this.afterSetSize(T.target,T)),pe(_,"render",F),pe(b,"show",L))}static afterSetSize(E,_){let b,T,z,{minWidth:O,minHeight:f}=E.options.chart.scrollablePlotArea||{},{clipBox:a,plotBox:g,inverted:y,renderer:o}=E;if(!o.forExport&&(O?(E.scrollablePixelsX=b=Math.max(0,O-E.chartWidth),b&&(E.scrollablePlotBox=A(E.plotBox),g.width=E.plotWidth+=b,a[y?"height":"width"]+=b,z=!0)):f&&(E.scrollablePixelsY=T=Math.max(0,f-E.chartHeight),$(T)&&(E.scrollablePlotBox=A(E.plotBox),g.height=E.plotHeight+=T,a[y?"width":"height"]+=T,z=!1)),$(z)&&!_.skipAxes))for(let n of E.axes)n.horiz===z&&(n.setAxisSize(),n.setAxisTranslation())}constructor(E){let _,b=E.options.chart,T=re.getRendererType(),z=b.scrollablePlotArea||{},O=this.moveFixedElements.bind(this),f={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};E.scrollablePixelsX&&(f.overflowX="auto"),E.scrollablePixelsY&&(f.overflowY="auto"),this.chart=E;let a=this.parentDiv=J("div",{className:"highcharts-scrolling-parent"},{position:"relative"},E.renderTo),g=this.scrollingContainer=J("div",{className:"highcharts-scrolling"},f,a),y=this.innerContainer=J("div",{className:"highcharts-inner-container"},void 0,g),o=this.fixedDiv=J("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(b.style?.zIndex||0)+2,top:0},void 0,!0),n=this.fixedRenderer=new T(o,E.chartWidth,E.chartHeight,b.style);this.mask=n.path().attr({fill:b.backgroundColor||"#fff","fill-opacity":z.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),g.parentNode.insertBefore(o,g),te(E.renderTo,{overflow:"visible"}),pe(E,"afterShowResetZoom",O),pe(E,"afterApplyDrilldown",O),pe(E,"afterLayOutTitles",O),pe(g,"scroll",()=>{let{pointer:r,hoverPoint:l}=E;r&&(delete r.chartPosition,l&&(_=l),r.runPointActions(void 0,_,!0))}),y.appendChild(E.container)}applyFixed(){let{chart:E,fixedRenderer:_,isDirty:b,scrollingContainer:T}=this,{axisOffset:z,chartWidth:O,chartHeight:f,container:a,plotHeight:g,plotLeft:y,plotTop:o,plotWidth:n,scrollablePixelsX:r=0,scrollablePixelsY:l=0}=E,{scrollPositionX:d=0,scrollPositionY:C=0}=E.options.chart.scrollablePlotArea||{},k=O+r,p=f+l;_.setSize(O,f),(b??!0)&&(this.isDirty=!1,this.moveFixedElements()),le(E.container),te(a,{width:`${k}px`,height:`${p}px`}),E.renderer.boxWrapper.attr({width:k,height:p,viewBox:[0,0,k,p].join(" ")}),E.chartBackground?.attr({width:k,height:p}),te(T,{width:`${O}px`,height:`${f}px`}),$(b)||(T.scrollLeft=r*d,T.scrollTop=l*C);let S=o-z[0]-1,j=y-z[3]-1,H=o+g+z[2]+1,Y=y+n+z[1]+1,U=y+n-r,se=o+g-l,w=[["M",0,0]];r?w=[["M",0,S],["L",y-1,S],["L",y-1,H],["L",0,H],["Z"],["M",U,S],["L",O,S],["L",O,H],["L",U,H],["Z"]]:l&&(w=[["M",j,0],["L",j,o-1],["L",Y,o-1],["L",Y,0],["Z"],["M",j,se],["L",j,f],["L",Y,f],["L",Y,se],["Z"]]),"adjustHeight"!==E.redrawTrigger&&this.mask.attr({d:w})}moveFixedElements(){let E,{container:_,inverted:b,scrollablePixelsX:T,scrollablePixelsY:z}=this.chart,O=this.fixedRenderer,f=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-reset-zoom",".highcharts-drillup-button",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];for(let a of(T&&!b?E=".highcharts-yaxis":T&&b||z&&!b?E=".highcharts-xaxis":z&&b&&(E=".highcharts-yaxis"),E&&f.push(`${E}:not(.highcharts-radial-axis)`,`${E}-labels:not(.highcharts-radial-axis-labels)`),f))[].forEach.call(_.querySelectorAll(a),g=>{(g.namespaceURI===O.SVG_NS?O.box:O.box.parentNode).appendChild(g),g.style.pointerEvents="auto"})}}return D}),Pe(V,"Core/Axis/Stacking/StackItem.js",[V["Core/Templating.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{format:ve}=Z,{series:le}=ie,{destroyObjectProperties:fe,fireEvent:pe,isNumber:J,pick:te}=re;return class{constructor($,A,B,F,L){let D=$.chart.inverted,I=$.reversed;this.axis=$;let E=this.isNegative=!!B!=!!I;this.options=A=A||{},this.x=F,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=L,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:A.align||(D?E?"left":"right":"center"),verticalAlign:A.verticalAlign||(D?"middle":E?"bottom":"top"),y:A.y,x:A.x},this.textAlign=A.textAlign||(D?E?"right":"left":"center")}destroy(){fe(this,this.axis)}render($){let A=this.axis.chart,B=this.options,F=B.format,L=F?ve(F,this,A):B.formatter.call(this);if(this.label)this.label.attr({text:L,visibility:"hidden"});else{this.label=A.renderer.label(L,null,void 0,B.shape,void 0,void 0,B.useHTML,!1,"stack-labels");let D={r:B.borderRadius||0,text:L,padding:te(B.padding,5),visibility:"hidden"};A.styledMode||(D.fill=B.backgroundColor,D.stroke=B.borderColor,D["stroke-width"]=B.borderWidth,this.label.css(B.style||{})),this.label.attr(D),this.label.added||this.label.add($)}this.label.labelrank=A.plotSizeY,pe(this,"afterRender")}setOffset($,A,B,F,L,D){let{alignOptions:I,axis:E,label:_,options:b,textAlign:T}=this,z=E.chart,O=this.getStackBox({xOffset:$,width:A,boxBottom:B,boxTop:F,defaultX:L,xAxis:D}),{verticalAlign:f}=I;if(_&&O){let o,a=_.getBBox(void 0,0),g=_.padding,y="justify"===te(b.overflow,"justify");I.x=b.x||0,I.y=b.y||0;let{x:n,y:r}=this.adjustStackPosition({labelBox:a,verticalAlign:f,textAlign:T});O.x-=n,O.y-=r,_.align(I,!1,O),(o=z.isInsidePlot(_.alignAttr.x+I.x+n,_.alignAttr.y+I.y+r))||(y=!1),y&&le.prototype.justifyDataLabel.call(E,_,I,_.alignAttr,a,O),_.attr({x:_.alignAttr.x,y:_.alignAttr.y,rotation:b.rotation,rotationOriginX:a.width*{left:0,center:.5,right:1}[b.textAlign||"center"],rotationOriginY:a.height/2}),te(!y&&b.crop,!0)&&(o=J(_.x)&&J(_.y)&&z.isInsidePlot(_.x-g+(_.width||0),_.y)&&z.isInsidePlot(_.x+g,_.y)),_[o?"show":"hide"]()}pe(this,"afterSetOffset",{xOffset:$,width:A})}adjustStackPosition({labelBox:$,verticalAlign:A,textAlign:B}){let F={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:$.width/2+$.width/2*F[B],y:$.height/2*F[A]}}getStackBox($){let A=this.axis,B=A.chart,{boxTop:F,defaultX:L,xOffset:D,width:I,boxBottom:E}=$,_=A.stacking.usePercentage?100:te(F,this.total,0),b=A.toPixels(_),T=$.xAxis||B.xAxis[0],z=te(L,T.translate(this.x))+D,O=Math.abs(b-A.toPixels(E||J(A.min)&&A.logarithmic&&A.logarithmic.lin2log(A.min)||0)),a=this.isNegative;return B.inverted?{x:(a?b:b-O)-B.plotLeft,y:T.height-z-I,width:O,height:I}:{x:z+T.transB-B.plotLeft,y:(a?b-O:b)-B.plotTop,width:I,height:O}}}}),Pe(V,"Core/Axis/Stacking/StackingAxis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le){var fe;let{getDeferredAnimation:pe}=Z,{series:{prototype:J}}=re,{addEvent:te,correctFloat:$,defined:A,destroyObjectProperties:B,fireEvent:F,isArray:L,isNumber:D,objectEach:I,pick:E}=le;function _(){let o=this.inverted;this.axes.forEach(n=>{n.stacking&&n.stacking.stacks&&n.hasVisibleSeries&&(n.stacking.oldStacks=n.stacking.stacks)}),this.series.forEach(n=>{let r=n.xAxis&&n.xAxis.options||{};n.options.stacking&&n.reserveSpace()&&(n.stackKey=[n.type,E(n.options.stack,""),o?r.top:r.left,o?r.height:r.width].join(","))})}function b(){let o=this.stacking;if(o){let n=o.stacks;I(n,(r,l)=>{B(r),delete n[l]}),o.stackTotalGroup?.destroy()}}function T(){this.stacking||(this.stacking=new y(this))}function z(o,n,r,l){return!A(o)||o.x!==n||l&&o.stackKey!==l?o={x:n,index:0,key:l,stackKey:l}:o.index++,o.key=[r,n,o.index].join(","),o}function O(){let o,n=this,l=n.stackKey||"",d=n.yAxis.stacking.stacks,C=n.processedXData,p=n[n.options.stacking+"Stacker"];p&&[l,"-"+l].forEach(S=>{let H,Y,U,j=C.length;for(;j--;)H=C[j],o=n.getStackIndicator(o,H,n.index,S),Y=d[S]?.[H],(U=Y?.points[o.key||""])&&p.call(n,U,Y,j)})}function f(o,n,r){let l=n.total?100/n.total:0;o[0]=$(o[0]*l),o[1]=$(o[1]*l),this.stackedYData[r]=o[1]}function a(o){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?J.setStackedPoints.call(this,o,"group"):o.stacking.resetStacks())}function g(o,n){let r,l,d,C,k,p,S,j,H,Y=n||this.options.stacking;if(!Y||!this.reserveSpace()||({group:"xAxis"}[Y]||"yAxis")!==o.coll)return;let U=this.processedXData,se=this.processedYData,w=[],X=se.length,G=this.options,x=G.threshold||0,N=G.startFromThreshold?x:0,R=G.stack,K=n?`${this.type},${Y}`:this.stackKey||"",q="-"+K,he=this.negStacks,me=o.stacking,Ce=me.stacks,Se=me.oldStacks;for(me.stacksTouched+=1,S=0;S0&&!1===this.singleStacks&&(d.points[p][0]=d.points[this.index+","+j+",0"][0])):(delete d.points[p],delete d.points[this.index]);let Oe=d.total||0;"percent"===Y?(C=l?K:q,Oe=he&&Ce[C]?.[j]?(C=Ce[C][j]).total=Math.max(C.total||0,Oe)+Math.abs(H)||0:$(Oe+(Math.abs(H)||0))):"group"===Y?(L(H)&&(H=H[0]),null!==H&&Oe++):Oe=$(Oe+(H||0)),d.cumulative="group"===Y?(Oe||1)-1:$(E(d.cumulative,N)+(H||0)),d.total=Oe,null!==H&&(d.points[p].push(d.cumulative),w[S]=d.cumulative,d.hasValidPoints=!0)}"percent"===Y&&(me.usePercentage=!0),"group"!==Y&&(this.stackedYData=w),me.oldStacks={}}class y{constructor(n){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=n}buildStacks(){let n,r,l=this.axis,d=l.series,C="xAxis"===l.coll,k=l.options.reversedStacks,p=d.length;for(this.resetStacks(),this.usePercentage=!1,r=p;r--;)n=d[k?r:p-r-1],C&&n.setGroupedPoints(l),n.setStackedPoints(l);if(!C)for(r=0;r{I(n,r=>{r.cumulative=r.total})}))}resetStacks(){I(this.stacks,n=>{I(n,(r,l)=>{D(r.touched)&&r.touched{I(p,S=>{S.render(k)})}),k.animate({opacity:1},C)}}return(fe||(fe={})).compose=function(o,n,r){let l=n.prototype,d=r.prototype;l.getStacks||(te(o,"init",T),te(o,"destroy",b),l.getStacks=_,d.getStackIndicator=z,d.modifyStacks=O,d.percentStacker=f,d.setGroupedPoints=a,d.setStackedPoints=g)},fe}),Pe(V,"Series/Line/LineSeries.js",[V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{defined:ve,merge:le,isObject:fe}=re;class pe extends Z{drawGraph(){let te=this.options,$=(this.gappedPath||this.getGraphPath).call(this),A=this.chart.styledMode;[this,...this.zones].forEach((B,F)=>{let L,D=B.graph,I=D?"animate":"attr",E=B.dashStyle||te.dashStyle;D?(D.endX=this.preventGraphAnimation?null:$.xMap,D.animate({d:$})):$.length&&(B.graph=D=this.chart.renderer.path($).addClass("highcharts-graph"+(F?` highcharts-zone-graph-${F-1} `:" ")+(F&&B.className||"")).attr({zIndex:1}).add(this.group)),D&&!A&&(L={stroke:!F&&te.lineColor||B.color||this.color||"#cccccc","stroke-width":te.lineWidth||0,fill:this.fillGraph&&this.color||"none"},E?L.dashstyle=E:"square"!==te.linecap&&(L["stroke-linecap"]=L["stroke-linejoin"]="round"),D[I](L).shadow(F<2&&te.shadow&&le({filterUnits:"userSpaceOnUse"},fe(te.shadow)?te.shadow:{}))),D&&(D.startX=$.xMap,D.isArea=$.isArea)})}getGraphPath(te,$,A){let I,B=this,F=B.options,L=[],D=[],E=F.step,_=(te=te||B.points).reversed;return _&&te.reverse(),(E={right:1,center:2}[E]||E&&3)&&_&&(E=4-E),(te=this.getValidPoints(te,!1,!(F.connectNulls&&!$&&!A))).forEach(function(b,T){let z,O=b.plotX,f=b.plotY,a=te[T-1],g=b.isNull||"number"!=typeof f;(b.leftCliff||a&&a.rightCliff)&&!A&&(I=!0),g&&!ve($)&&T>0?I=!F.connectNulls:g&&!$?I=!0:(0===T||I?z=[["M",b.plotX,b.plotY]]:B.getPointSpline?z=[B.getPointSpline(te,b,T)]:E?(z=1===E?[["L",a.plotX,f]]:2===E?[["L",(a.plotX+O)/2,a.plotY],["L",(a.plotX+O)/2,f]]:[["L",O,a.plotY]]).push(["L",O,f]):z=[["L",O,f]],D.push(b.x),E&&(D.push(b.x),2===E&&D.push(b.x)),L.push.apply(L,z),I=!1)}),L.xMap=D,B.graphPath=L,L}}return pe.defaultOptions=le(Z.defaultOptions,{legendSymbol:"lineMarker"}),ie.registerSeriesType("line",pe),pe}),Pe(V,"Series/Area/AreaSeries.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie){let{seriesTypes:{line:re}}=Z,{extend:ve,merge:le,objectEach:fe,pick:pe}=ie;class J extends re{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:$,options:A}=this;[this,...this.zones].forEach((B,F)=>{let L={},D=B.fillColor||A.fillColor,I=B.area,E=I?"animate":"attr";I?(I.endX=this.preventGraphAnimation?null:$.xMap,I.animate({d:$})):(L.zIndex=0,(I=B.area=this.chart.renderer.path($).addClass("highcharts-area"+(F?` highcharts-zone-area-${F-1} `:" ")+(F&&B.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(L.fill=D||B.color||this.color,L["fill-opacity"]=D?1:A.fillOpacity??.75,I.css({pointerEvents:this.stickyTracking?"none":"auto"})),I[E](L),I.startX=$.xMap,I.shiftUnit=A.step?2:1})}getGraphPath($){let A,B,F,L=re.prototype.getGraphPath,D=this.options,I=D.stacking,E=this.yAxis,_=[],b=[],T=this.index,z=E.stacking.stacks[this.stackKey],O=D.threshold,f=Math.round(E.getThreshold(D.threshold)),a=pe(D.connectNulls,"percent"===I),g=function(d,C,k){let Y,U,p=$[d],S=I&&z[p.x].points[T],j=p[k+"Null"]||0,H=p[k+"Cliff"]||0,se=!0;H||j?(Y=(j?S[0]:S[1])+H,U=S[0]+H,se=!!j):!I&&$[C]&&$[C].isNull&&(Y=U=O),void 0!==Y&&(b.push({plotX:A,plotY:null===Y?f:E.getThreshold(Y),isNull:se,isCliff:!0}),_.push({plotX:A,plotY:null===U?f:E.getThreshold(U),doCurve:!1}))};$=$||this.points,I&&($=this.getStackPoints($));for(let d=0,C=$.length;df.visible);F.forEach(function(f,a){let y,o,g=0;if(E[f]&&!E[f].isNull)B.push(E[f]),[-1,1].forEach(function(n){let r=1===n?"rightNull":"leftNull",l=I[F[a+n]],d=0;if(l){let C=z;for(;C>=0&&C=0&&nO&&B>I?(B=Math.max(O,I),L=2*I-B):Ba&&L>I?(L=Math.max(a,I),B=2*I-L):L=Math.abs(f)&&r>.5;return g=r-(f=Math.round(f)+n),l&&g&&(f-=1,g+=1),{x:O,y:f,width:a,height:g}}adjustForMissingColumns(O,f,a,g){if(!a.isNull&&g.columnCount>1){let y=this.xAxis.series.filter(l=>l.visible).map(l=>l.index),o=0,n=0;b(this.xAxis.stacking?.stacks,l=>{if("number"==typeof a.x){let d=l[a.x.toString()];if(d&&D(d.points[this.index])){let C=Object.keys(d.points).filter(k=>!k.match(",")&&d.points[k]&&d.points[k].length>1).map(parseFloat).filter(k=>-1!==y.indexOf(k)).sort((k,p)=>p-k);o=C.indexOf(this.index),n=C.length}}}),o=this.xAxis.reversed?n-1-o:o,O=(a.plotX||0)+((n-1)*g.paddedWidth+f)/2-f-o*g.paddedWidth}return O}translate(){let O=this,f=O.chart,a=O.options,g=O.dense=O.closestPointRange*O.xAxis.transA<2,y=O.borderWidth=_(a.borderWidth,g?0:1),o=O.xAxis,n=O.yAxis,r=a.threshold,l=_(a.minPointLength,5),d=O.getColumnMetrics(),C=d.width,k=O.pointXOffset=d.offset,p=O.dataMin,S=O.dataMax,j=O.barW=Math.max(C,1+2*y),H=O.translatedThreshold=n.getThreshold(r);f.inverted&&(H-=.5),a.pointPadding&&(j=Math.ceil(j)),le.prototype.translate.apply(O),O.points.forEach(function(Y){let G,U=_(Y.yBottom,H),se=999+Math.abs(U),w=Y.plotX||0,X=A(Y.plotY,-se,n.len+se),x=Math.min(X,U),N=Math.max(X,U)-x,R=C,K=w+k,q=j;l&&Math.abs(N)l?U-l:H-(G?l:0)),B(Y.options.pointWidth)&&(K-=Math.round(((R=q=Math.ceil(Y.options.pointWidth))-C)/2)),a.centerInCategory&&!a.stacking&&(K=O.adjustForMissingColumns(K,R,Y,d)),Y.barX=K,Y.pointWidth=R,Y.tooltipPos=f.inverted?[A(n.len+n.pos-f.plotLeft-X,n.pos-f.plotLeft,n.len+n.pos-f.plotLeft),o.len+o.pos-f.plotTop-K-q/2,N]:[o.left-f.plotLeft+K+q/2,A(X+n.pos-f.plotTop,n.pos-f.plotTop,n.len+n.pos-f.plotTop),N],Y.shapeType=O.pointClass.prototype.shapeType||"roundedRect",Y.shapeArgs=O.crispCol(K,Y.isNull?H:x,q,Y.isNull?0:N)}),L(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(O,f){let n,r,l,a=this.options,g=this.pointAttrToOptions||{},y=g.stroke||"borderColor",o=g["stroke-width"]||"borderWidth",d=O&&O.color||this.color,C=O&&O[y]||a[y]||d,k=O&&O.options.dashStyle||a.dashStyle,p=O&&O[o]||a[o]||this[o]||0,S=_(O&&O.opacity,a.opacity,1);O&&this.zones.length&&(r=O.getZone(),d=O.options.color||r&&(r.color||O.nonZonedColor)||this.color,r&&(C=r.borderColor||C,k=r.dashStyle||k,p=r.borderWidth||p)),f&&O&&(l=(n=E(a.states[f],O.options.states&&O.options.states[f]||{})).brightness,d=n.color||void 0!==l&&te(d).brighten(n.brightness).get()||d,C=n[y]||C,p=n[o]||p,k=n.dashStyle||k,S=_(n.opacity,S));let j={fill:d,stroke:C,"stroke-width":p,opacity:S};return k&&(j.dashstyle=k),j}drawPoints(O=this.points){let f,a=this,g=this.chart,y=a.options,o=g.renderer,n=y.animationLimit||250;O.forEach(function(r){let d=r.graphic,C=!!d,k=d&&g.pointCounto?.enabled)}function b(o,n,r,l,d){let C=this.chart,k=this.isCartesian&&C.inverted,p=this.enabledDataSorting,S=o.plotX,j=o.plotY,H=r.rotation||0,Y=pe(S)&&pe(j)&&C.isInsidePlot(S,Math.round(j),{inverted:k,paneCoordinates:!0,series:this}),U=0===H&&"justify"===L(r.overflow,p?"none":"justify"),se=this.visible&&!1!==o.visible&&pe(S)&&(o.series.forceDL||p&&!U||Y||L(r.inside,!!this.options.stacking)&&l&&C.isInsidePlot(S,k?l.x+1:l.y+l.height-1,{inverted:k,paneCoordinates:!0,series:this})),w=o.pos();if(se&&w){let G=n.getBBox(),x=n.getBBox(void 0,0),N={right:1,center:.5}[r.align||0]||0,R={bottom:1,middle:.5}[r.verticalAlign||0]||0;if(l=J({x:w[0],y:Math.round(w[1]),width:0,height:0},l||{}),J(r,{width:G.width,height:G.height}),p&&this.xAxis&&!U&&this.setDataLabelStartPos(o,n,d,Y,l),n.align(B(r,{width:x.width,height:x.height}),!1,l,!1),n.alignAttr.x+=N*(x.width-G.width),n.alignAttr.y+=R*(x.height-G.height),n[n.placed?"animate":"attr"]({x:n.alignAttr.x+(G.width-x.width)/2,y:n.alignAttr.y+(G.height-x.height)/2,rotationOriginX:(n.width||0)/2,rotationOriginY:(n.height||0)/2}),U&&l.height>=0)this.justifyDataLabel(n,r,n.alignAttr,G,l,d);else if(L(r.crop,!0)){let{x:K,y:q}=n.alignAttr;se=C.isInsidePlot(K,q,{paneCoordinates:!0,series:this})&&C.isInsidePlot(K+G.width-1,q+G.height-1,{paneCoordinates:!0,series:this})}r.shape&&!H&&n[d?"attr":"animate"]({anchorX:w[0],anchorY:w[1]})}d&&p&&(n.placed=!1),se||p&&!U?(n.show(),n.placed=!0):(n.hide(),n.placed=!1)}function T(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function z(o){let n=this.hasRendered||0,r=this.initDataLabelsGroup().attr({opacity:+n});return!n&&r&&(this.visible&&r.show(),this.options.animation?r.animate({opacity:1},o):r.attr({opacity:1})),r}function O(o){let n;o=o||this.points;let r=this,l=r.chart,d=r.options,C=l.renderer,{backgroundColor:k,plotBackgroundColor:p}=l.options.chart,S=C.getContrast(A(p)&&p||A(k)&&k||"#000000"),j=g(r),{animation:H,defer:Y}=j[0],U=Y?le(l,H,r):{defer:0,duration:0};te(this,"drawDataLabels"),r.hasDataLabels?.()&&(n=this.initDataLabels(U),o.forEach(se=>{let w=se.dataLabels||[];I(a(j,se.dlOptions||se.options?.dataLabels)).forEach((G,x)=>{let me,Ce,Se,Oe,ee,N=G.enabled&&(se.visible||se.dataLabelOnHidden)&&(!se.isNull||se.dataLabelOnNull)&&function(de,ye){let Te=ye.filter;if(Te){let _e=Te.operator,Me=de[Te.property],Ee=Te.value;return">"===_e&&Me>Ee||"<"===_e&&Me="===_e&&Me>=Ee||"<="===_e&&Me<=Ee||"=="===_e&&Me==Ee||"==="===_e&&Me===Ee||"!="===_e&&Me!=Ee||"!=="===_e&&Me!==Ee}return!0}(se,G),{backgroundColor:R,borderColor:K,distance:q,style:he={}}=G,Ae={},Fe=w[x],oe=!Fe;if(N&&(Ce=L(G[se.formatPrefix+"Format"],G.format),me=se.getLabelConfig(),Se=pe(Ce)?fe(Ce,me,l):(G[se.formatPrefix+"Formatter"]||G.formatter).call(me,G),Oe=G.rotation,!l.styledMode&&(he.color=L(G.color,he.color,A(r.color)?r.color:void 0,"#000000"),"contrast"===he.color?("none"!==R&&(ee=R),se.contrastColor=C.getContrast("auto"!==ee&&ee||se.color||r.color),he.color=ee||!pe(q)&&G.inside||0>D(q||0)||d.stacking?se.contrastColor:S):delete se.contrastColor,d.cursor&&(he.cursor=d.cursor)),Ae={r:G.borderRadius||0,rotation:Oe,padding:G.padding,zIndex:1},l.styledMode||(Ae.fill="auto"===R?se.color:R,Ae.stroke="auto"===K?se.color:K,Ae["stroke-width"]=G.borderWidth),F(Ae,(de,ye)=>{void 0===de&&delete Ae[ye]})),!Fe||N&&pe(Se)&&!!Fe.div==!!G.useHTML&&(Fe.rotation&&G.rotation||Fe.rotation===G.rotation)||(Fe=void 0,oe=!0),N&&pe(Se)&&(Fe?Ae.text=Se:(Fe=C.label(Se,0,0,G.shape,void 0,void 0,G.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+se.colorIndex+" "+(G.className||"")+(G.useHTML?" highcharts-tracker":"")),Fe)){Fe.options=G,Fe.attr(Ae),l.styledMode||Fe.css(he).shadow(G.shadow);let de=G[se.formatPrefix+"TextPath"]||G.textPath;de&&!G.useHTML&&(Fe.setTextPath(se.getDataLabelPath?.(Fe)||se.graphic,de),se.dataLabelPath&&!de.enabled&&(se.dataLabelPath=se.dataLabelPath.destroy())),Fe.added||Fe.add(n),r.alignDataLabel(se,Fe,G,void 0,oe),Fe.isActive=!0,w[x]&&w[x]!==Fe&&w[x].destroy(),w[x]=Fe}});let X=w.length;for(;X--;)w[X]&&w[X].isActive?w[X].isActive=!1:(w[X]?.destroy(),w.splice(X,1));se.dataLabel=w[0],se.dataLabels=w})),te(this,"afterDrawDataLabels")}function f(o,n,r,l,d,C){let U,se,k=this.chart,p=n.align,S=n.verticalAlign,j=o.box?0:o.padding||0,{x:H=0,y:Y=0}=n;return(U=(r.x||0)+j)<0&&("right"===p&&H>=0?(n.align="left",n.inside=!0):H-=U,se=!0),(U=(r.x||0)+l.width-j)>k.plotWidth&&("left"===p&&H<=0?(n.align="right",n.inside=!0):H+=k.plotWidth-U,se=!0),(U=r.y+j)<0&&("bottom"===S&&Y>=0?(n.verticalAlign="top",n.inside=!0):Y-=U,se=!0),(U=(r.y||0)+l.height-j)>k.plotHeight&&("top"===S&&Y<=0?(n.verticalAlign="bottom",n.inside=!0):Y+=k.plotHeight-U,se=!0),se&&(n.x=H,n.y=Y,o.placed=!C,o.align(n,void 0,d)),se}function a(o,n){let l,r=[];if($(o)&&!$(n))r=o.map(function(d){return B(d,n)});else if($(n)&&!$(o))r=n.map(function(d){return B(o,d)});else if($(o)||$(n)){if($(o)&&$(n))for(l=Math.max(o.length,n.length);l--;)r[l]=B(o[l],n[l])}else r=B(o,n);return r}function g(o){let n=o.chart.options.plotOptions;return I(a(a(n?.series?.dataLabels,n?.[o.type]?.dataLabels),o.options.dataLabels))}function y(o,n,r,l,d){let C=this.chart,k=C.inverted,p=this.xAxis,S=p.reversed,j=((k?n.height:n.width)||0)/2,H=o.pointWidth,Y=H?H/2:0;n.startXPos=k?d.x:S?-j-Y:p.width-j+Y,n.startYPos=k?S?this.yAxis.height-j+Y:-j-Y:d.y,l?"hidden"===n.visibility&&(n.show(),n.attr({opacity:0}).animate({opacity:1})):n.attr({opacity:1}).animate({opacity:0},void 0,n.hide),C.hasRendered&&(r&&n.attr({x:n.startXPos,y:n.startYPos}),n.placed=!0)}E.compose=function(o){let n=o.prototype;n.initDataLabels||(n.initDataLabels=z,n.initDataLabelsGroup=T,n.alignDataLabel=b,n.drawDataLabels=O,n.justifyDataLabel=f,n.setDataLabelStartPos=y,n.hasDataLabels=_)}}(ve||(ve={})),ve}),Pe(V,"Series/Column/ColumnDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){var le;let{composed:fe}=ie,{series:pe}=re,{merge:J,pick:te,pushUnique:$}=ve;return function(A){function B(F,L,D,I,E){let _=this.chart.inverted,b=F.series,T=(b.xAxis?b.xAxis.len:this.chart.plotSizeX)||0,z=(b.yAxis?b.yAxis.len:this.chart.plotSizeY)||0,O=F.dlBox||F.shapeArgs,f=te(F.below,F.plotY>te(this.translatedThreshold,z)),a=te(D.inside,!!this.options.stacking);if(O){if(I=J(O),"allow"!==D.overflow||!1!==D.crop){I.y<0&&(I.height+=I.y,I.y=0);let g=I.y+I.height-z;g>0&&g\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),Pe(V,"Series/Scatter/ScatterSeries.js",[V["Series/Scatter/ScatterSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{column:ve,line:le}=ie.seriesTypes,{addEvent:fe,extend:pe,merge:J}=re;class te extends le{applyJitter(){let A=this,B=this.options.jitter,F=this.points.length;B&&this.points.forEach(function(L,D){["x","y"].forEach(function(I,E){let _,T,z,O,b="plot"+I.toUpperCase();B[I]&&!L.isNull&&(_=A[I+"Axis"],O=B[I]*_.transA,_&&!_.isLog&&(T=Math.max(0,L[b]-O),z=Math.min(_.len,L[b]+O),L[b]=T+(z-T)*function(f){let a=1e4*Math.sin(f);return a-Math.floor(a)}(D+E*F),"x"===I&&(L.clientX=L.plotX)))})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return te.defaultOptions=J(le.defaultOptions,Z),pe(te.prototype,{drawTracker:ve.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),fe(te,"afterTranslate",function(){this.applyJitter()}),ie.registerSeriesType("scatter",te),te}),Pe(V,"Series/CenteredUtilities.js",[V["Core/Globals.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(Z,ie,re){var ve,le;let{deg2rad:fe}=Z,{fireEvent:pe,isNumber:J,pick:te,relativeLength:$}=re;return(le=ve||(ve={})).getCenter=function(){let b,O,f,A=this.options,B=this.chart,F=2*(A.slicedOffset||0),L=B.plotWidth-2*F,D=B.plotHeight-2*F,I=A.center,E=Math.min(L,D),_=A.thickness,T=A.size,z=A.innerSize||0;"string"==typeof T&&(T=parseFloat(T)),"string"==typeof z&&(z=parseFloat(z));let a=[te(I[0],"50%"),te(I[1],"50%"),te(T&&T<0?void 0:A.size,"100%"),te(z&&z<0?void 0:A.innerSize||0,"0%")];for(!B.angular||this instanceof ie||(a[3]=0),O=0;O<4;++O)f=a[O],b=O<2||2===O&&/%$/.test(f),a[O]=$(f,[L,D,E,a[2]][O])+(b?F:0);return a[3]>a[2]&&(a[3]=a[2]),J(_)&&2*_0&&(a[3]=a[2]-2*_),pe(this,"afterGetCenter",{positions:a}),a},le.getStartAndEndRadians=function(A,B){let F=J(A)?A:0,L=J(B)&&B>F&&B-F<360?B:F+360;return{start:fe*(F+-90),end:fe*(L+-90)}},ve}),Pe(V,"Series/Pie/PiePoint.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{setAnimation:ve}=Z,{addEvent:le,defined:fe,extend:pe,isNumber:J,pick:te,relativeLength:$}=re;class A extends ie{getConnectorPath(F){let L=F.dataLabelPosition,D=F.options||{},I=D.connectorShape;return L&&(this.connectorShapes[I]||I).call(this,{...L.computed,alignment:L.alignment},L.connectorPosition,D)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(F){let L=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(L.x,L.y,L.r+F,L.r+F,{innerR:L.r-1,start:L.start,end:L.end,borderRadius:L.borderRadius})}constructor(F,L,D){super(F,L,D),this.half=0,this.name??(this.name="Slice");let I=E=>{this.slice("select"===E.type)};le(this,"select",I),le(this,"unselect",I)}isValid(){return J(this.y)&&this.y>=0}setVisible(F,L=!0){F!==this.visible&&this.update({visible:F??!this.visible},L,void 0,!1)}slice(F,L,D){let I=this.series;ve(D,I.chart),L=te(L,!0),this.sliced=this.options.sliced=F=fe(F)?F:!this.sliced,I.options.data[I.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return pe(A.prototype,{connectorShapes:{fixedOffset:function(B,F,L){let D=F.breakAt,I=F.touchingSliceAt;return[["M",B.x,B.y],L.softConnector?["C",B.x+("left"===B.alignment?-5:5),B.y,2*D.x-I.x,2*D.y-I.y,D.x,D.y]:["L",D.x,D.y],["L",I.x,I.y]]},straight:function(B,F){let L=F.touchingSliceAt;return[["M",B.x,B.y],["L",L.x,L.y]]},crookedLine:function(B,F,L){let{breakAt:D,touchingSliceAt:I}=F,{series:E}=this,[_,b,T]=E.center,z=T/2,{plotLeft:O,plotWidth:f}=E.chart,a="left"===B.alignment,{x:g,y}=B,o=D.x;if(L.crookDistance){let r=$(L.crookDistance,1);o=a?_+z+(f+O-_-z)*(1-r):O+(_-z)*r}else o=_+(b-y)*Math.tan((this.angle||0)-Math.PI/2);let n=[["M",g,y]];return(a?o<=g&&o>=D.x:o>=g&&o<=D.x)&&n.push(["L",o,y]),n.push(["L",D.x,D.y],["L",I.x,I.y]),n}}}),A}),Pe(V,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),Pe(V,"Series/Pie/PieSeries.js",[V["Series/CenteredUtilities.js"],V["Series/Column/ColumnSeries.js"],V["Core/Globals.js"],V["Series/Pie/PiePoint.js"],V["Series/Pie/PieSeriesDefaults.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe,pe,J,te){let{getStartAndEndRadians:$}=Z,{noop:A}=re,{clamp:B,extend:F,fireEvent:L,merge:D,pick:I}=te;class E extends fe{animate(b){let T=this,O=T.startAngleRad;b||T.points.forEach(function(f){let a=f.graphic,g=f.shapeArgs;a&&g&&(a.attr({r:I(f.startR,T.center&&T.center[3]/2),start:O,end:O}),a.animate({r:g.r,start:g.start,end:g.end},T.options.animation))})}drawEmpty(){let b,T,z=this.startAngleRad,O=this.endAngleRad,f=this.options;0===this.total&&this.center?(b=this.center[0],T=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(b,T,this.center[1]/2,0,z,O).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:J.arc(b,T,this.center[2]/2,0,{start:z,end:O,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":f.borderWidth,fill:f.fillColor||"none",stroke:f.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let b=this.chart.renderer;this.points.forEach(function(T){T.graphic&&T.hasNewShapeType()&&(T.graphic=T.graphic.destroy()),T.graphic||(T.graphic=b[T.shapeType](T.shapeArgs).add(T.series.group),T.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(b,T,z,O){let f=this.center,a=this.radii?this.radii[z.index]||0:f[2]/2,g=O.dataLabelPosition,y=g?.distance||0,o=Math.asin(B((b-f[1])/(a+y),-1,1));return f[0]+Math.cos(o)*(a+y)*(T?-1:1)+(y>0?(T?-1:1)*(O.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let b,T,z,O,f=this,a=f.chart;this.drawEmpty(),f.group&&!a.styledMode&&f.group.shadow(f.options.shadow),f.points.forEach(function(g){let y={};T=g.graphic,!g.isNull&&T?(O=g.shapeArgs,b=g.getTranslate(),a.styledMode||(z=f.pointAttribs(g,g.selected&&"select")),g.delayedRendering?(T.setRadialReference(f.center).attr(O).attr(b),a.styledMode||T.attr(z).attr({"stroke-linejoin":"round"}),g.delayedRendering=!1):(T.setRadialReference(f.center),a.styledMode||D(!0,y,z),D(!0,y,O,b),T.animate(y)),T.attr({visibility:g.visible?"inherit":"hidden"}),T.addClass(g.getClassName(),!0)):T&&(g.graphic=T.destroy())})}sortByAngle(b,T){b.sort(function(z,O){return void 0!==z.angle&&(O.angle-z.angle)*T})}translate(b){L(this,"translate"),this.generatePoints();let n,r,l,d,C,k,p,T=this.options,z=T.slicedOffset,O=$(T.startAngle,T.endAngle),f=this.startAngleRad=O.start,a=(this.endAngleRad=O.end)-f,g=this.points,y=T.ignoreHiddenPoint,o=g.length,S=0;for(b||(this.center=b=this.getCenter()),k=0;k1.5*Math.PI?l-=2*Math.PI:l<-Math.PI/2&&(l+=2*Math.PI),p.slicedTranslation={translateX:Math.round(Math.cos(l)*z),translateY:Math.round(Math.sin(l)*z)},d=Math.cos(l)*b[2]/2,C=Math.sin(l)*b[2]/2,p.tooltipPos=[b[0]+.7*d,b[1]+.7*C],p.half=l<-Math.PI/2||l>Math.PI/2?1:0,p.angle=l}L(this,"afterTranslate")}updateTotals(){let O,f,b=this.points,T=b.length,z=this.options.ignoreHiddenPoint,a=0;for(O=0;O0&&(f.visible||!z)?f.y/a*100:0,f.total=a}}return E.defaultOptions=D(fe.defaultOptions,le),F(E.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:ie.prototype.drawTracker,getCenter:Z.getCenter,getSymbol:A,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:ie.prototype.pointAttribs,pointClass:ve,requireSorting:!1,searchPoint:A,trackerGroups:["group","dataLabelsGroup"]}),pe.registerSeriesType("pie",E),E}),Pe(V,"Series/Pie/PieDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le){var fe;let{composed:pe,noop:J}=ie,{distribute:te}=re,{series:$}=ve,{arrayMax:A,clamp:B,defined:F,pick:L,pushUnique:D,relativeLength:I}=le;return function(E){let _={radialDistributionY:function(f,a){return(a.dataLabelPosition?.top||0)+f.distributeBox.pos},radialDistributionX:function(f,a,g,y,o){let n=o.dataLabelPosition;return f.getX(g<(n?.top||0)+2||g>(n?.bottom||0)-2?y:g,a.half,a,o)},justify:function(f,a,g,y){return y[0]+(f.half?-1:1)*(g+(a.dataLabelPosition?.distance||0))},alignToPlotEdges:function(f,a,g,y){let o=f.getBBox().width;return a?o+y:g-o-y},alignToConnectors:function(f,a,g,y){let n,o=0;return f.forEach(function(r){(n=r.dataLabel.getBBox().width)>o&&(o=n)}),a?o+y:g-o-y}};function b(f,a){let{center:g,options:y}=this,o=g[2]/2,n=f.angle||0,r=Math.cos(n),l=Math.sin(n),d=g[0]+r*o,C=g[1]+l*o,k=Math.min((y.slicedOffset||0)+(y.borderWidth||0),a/5);return{natural:{x:d+r*a,y:C+l*a},computed:{},alignment:a<0?"center":f.half?"right":"left",connectorPosition:{breakAt:{x:d+r*k,y:C+l*k},touchingSliceAt:{x:d,y:C}},distance:a}}function T(){let j,H,Y,f=this,a=f.points,g=f.chart,y=g.plotWidth,o=g.plotHeight,n=g.plotLeft,r=Math.round(g.chartWidth/3),l=f.center,d=l[2]/2,C=l[1],k=[[],[]],p=[0,0,0,0],S=f.dataLabelPositioners,U=0;f.visible&&f.hasDataLabels?.()&&(a.forEach(se=>{(se.dataLabels||[]).forEach(w=>{w.shortened&&(w.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),w.shortened=!1)})}),$.prototype.drawDataLabels.apply(f),a.forEach(se=>{(se.dataLabels||[]).forEach((w,X)=>{let G=l[2]/2,x=w.options,N=I(x?.distance||0,G);0===X&&k[se.half].push(se),!F(x?.style?.width)&&w.getBBox().width>r&&(w.css({width:Math.round(.7*r)+"px"}),w.shortened=!0),w.dataLabelPosition=this.getDataLabelPosition(se,N),U=Math.max(U,N)})}),k.forEach((se,w)=>{let x,N,K,G=[],R=0;se.length&&(f.sortByAngle(se,w-.5),U>0&&(x=Math.max(0,C-d-U),N=Math.min(C+d+U,g.plotHeight),se.forEach(q=>{(q.dataLabels||[]).forEach(he=>{let me=he.dataLabelPosition;me&&me.distance>0&&(me.top=Math.max(0,C-d-me.distance),me.bottom=Math.min(C+d+me.distance,g.plotHeight),R=he.getBBox().height||21,q.distributeBox={target:(he.dataLabelPosition?.natural.y||0)-me.top+R/2,size:R,rank:q.y},G.push(q.distributeBox))})}),te(G,K=N+R-x,K/5)),se.forEach(q=>{(q.dataLabels||[]).forEach(he=>{let me=he.options||{},Ce=q.distributeBox,Se=he.dataLabelPosition,Oe=Se?.natural.y||0,Ae=me.connectorPadding||0,Fe=0,oe=Oe,ee="inherit";if(Se){if(G&&F(Ce)&&Se.distance>0&&(void 0===Ce.pos?ee="hidden":(Y=Ce.size,oe=S.radialDistributionY(q,he))),me.justify)Fe=S.justify(q,he,d,l);else switch(me.alignTo){case"connectors":Fe=S.alignToConnectors(se,w,y,n);break;case"plotEdges":Fe=S.alignToPlotEdges(he,w,y,n);break;default:Fe=S.radialDistributionX(f,q,oe,Oe,he)}if(Se.attribs={visibility:ee,align:Se.alignment},Se.posAttribs={x:Fe+(me.x||0)+({left:Ae,right:-Ae}[Se.alignment]||0),y:oe+(me.y||0)-he.getBBox().height/2},Se.computed.x=Fe,Se.computed.y=oe,L(me.crop,!0)){let de;Fe-(H=he.getBBox().width)y-Ae&&0===w&&(de=Math.round(Fe+H-y+Ae),p[1]=Math.max(de,p[1])),oe-Y/2<0?p[0]=Math.max(Math.round(Y/2-oe),p[0]):oe+Y/2>o&&(p[2]=Math.max(Math.round(oe+Y/2-o),p[2])),Se.sideOverflow=de}}})}))}),(0===A(p)||this.verifyDataLabelOverflow(p))&&(this.placeDataLabels(),this.points.forEach(se=>{(se.dataLabels||[]).forEach(w=>{let{connectorColor:X,connectorWidth:G=1}=w.options||{},x=w.dataLabelPosition;if(G){let N;j=w.connector,x&&x.distance>0?(N=!j,j||(w.connector=j=g.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+se.colorIndex+(se.className?" "+se.className:"")).add(f.dataLabelsGroup)),g.styledMode||j.attr({"stroke-width":G,stroke:X||se.color||"#666666"}),j[N?"attr":"animate"]({d:se.getConnectorPath(w)}),j.attr({visibility:x.attribs?.visibility})):j&&(w.connector=j.destroy())}})})))}function z(){this.points.forEach(f=>{(f.dataLabels||[]).forEach(a=>{let g=a.dataLabelPosition;g?(g.sideOverflow&&(a.css({width:Math.max(a.getBBox().width-g.sideOverflow,0)+"px",textOverflow:(a.options?.style||{}).textOverflow||"ellipsis"}),a.shortened=!0),a.attr(g.attribs),a[a.moved?"animate":"attr"](g.posAttribs),a.moved=!0):a&&a.attr({y:-9999})}),delete f.distributeBox},this)}function O(f){let a=this.center,g=this.options,y=g.center,o=g.minSize||80,n=o,r=null!==g.size;return!r&&(null!==y[0]?n=Math.max(a[2]-Math.max(f[1],f[3]),o):(n=Math.max(a[2]-f[1]-f[3],o),a[0]+=(f[3]-f[1])/2),null!==y[1]?n=B(n,o,a[2]-Math.max(f[0],f[2])):(n=B(n,o,a[2]-f[0]-f[2]),a[1]+=(f[0]-f[2])/2),n!(b.x>=_.x+_.width||b.x+b.width<=_.x||b.y>=_.y+_.height||b.y+b.height<=_.y),E=!1;for(let _=0;_<$;_++)(B=te[_])&&(B.oldOpacity=B.opacity,B.newOpacity=1,B.absoluteBox=function(b){if(b&&(!b.alignAttr||b.placed)){let T=b.box?0:b.padding||0,z=b.alignAttr||{x:b.attr("x"),y:b.attr("y")},O=b.getBBox();return b.width=O.width,b.height=O.height,{x:z.x+(b.parentGroup?.translateX||0)+T,y:z.y+(b.parentGroup?.translateY||0)+T,width:(b.width||0)-2*T,height:(b.height||0)-2*T}}}(B));te.sort((_,b)=>(b.labelrank||0)-(_.labelrank||0));for(let _=0;_<$;++_){D=(F=te[_])&&F.absoluteBox;for(let b=_+1;b<$;++b)I=(L=te[b])&&L.absoluteBox,D&&I&&F!==L&&0!==F.newOpacity&&0!==L.newOpacity&&"hidden"!==F.visibility&&"hidden"!==L.visibility&&A(D,I)&&((F.labelrank{ve(B,F=>{F.label&&$.push(F.label)})});for(let A of te.series||[])if(A.visible&&A.hasDataLabels?.()){let B=F=>{for(let L of F)L.visible&&(L.dataLabels||[]).forEach(D=>{let I=D.options||{};D.labelrank=le(I.labelrank,L.labelrank,L.shapeArgs?.height),I.allowOverlap??Number(I.distance)>0?(D.oldOpacity=D.opacity,D.newOpacity=1,pe(D,te)):$.push(D)})};B(A.nodes||[]),B(A.points)}this.hideOverlappingLabels($)}return{compose:function(te){let $=te.prototype;$.hideOverlappingLabels||($.hideOverlappingLabels=fe,ie(te,"render",J))}}}),Pe(V,"Extensions/BorderRadius.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{defaultOptions:ve}=Z,{noop:le}=ie,{addEvent:fe,extend:pe,isObject:J,merge:te,relativeLength:$}=re,A={radius:0,scope:"stack",where:void 0},B=le,F=le;function L(b,T,z,O,f={}){let a=B(b,T,z,O,f),{innerR:g=0,r:y=z,start:o=0,end:n=0}=f;if(f.open||!f.borderRadius)return a;let r=n-o,l=Math.sin(r/2),d=Math.max(Math.min($(f.borderRadius||0,y-g),(y-g)/2,y*l/(1+l)),0),C=Math.min(d,r/Math.PI*2*g),k=a.length-1;for(;k--;)!function(p,S,j){let H,Y,U,se=p[S],w=p[S+1];if("Z"===w[0]&&(w=p[0]),"M"!==se[0]&&"L"!==se[0]||"A"!==w[0]?"A"===se[0]&&("M"===w[0]||"L"===w[0])&&(H=w,Y=se):(H=se,Y=w,U=!0),H&&Y&&Y.params){let X=Y[1],G=Y[5],x=Y.params,{start:N,end:R,cx:K,cy:q}=x,he=G?X-j:X+j,me=he?Math.asin(j/he):0,Ce=G?me:-me,Se=Math.cos(me)*he;U?(x.start=N+Ce,H[1]=K+Se*Math.cos(N),H[2]=q+Se*Math.sin(N),p.splice(S+1,0,["A",j,j,0,0,1,K+X*Math.cos(x.start),q+X*Math.sin(x.start)])):(x.end=R-Ce,Y[6]=K+X*Math.cos(x.end),Y[7]=q+X*Math.sin(x.end),p.splice(S+1,0,["A",j,j,0,0,1,K+Se*Math.cos(R),q+Se*Math.sin(R)])),Y[4]=Math.abs(x.end-x.start)1?C:d);return a}function D(){if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){let{options:b,yAxis:T}=this,z="percent"===b.stacking,O=ve.plotOptions?.[this.type]?.borderRadius,f=I(b.borderRadius,J(O)?O:{}),a=T.options.reversed;for(let g of this.points){let{shapeArgs:y}=g;if("roundedRect"===g.shapeType&&y){let{width:o=0,height:n=0,y:r=0}=y,l=r,d=n;if("stack"===f.scope&&g.stackTotal){let S=T.translate(z?100:g.stackTotal,!1,!0,!1,!0),j=T.translate(b.threshold||0,!1,!0,!1,!0),H=this.crispCol(0,Math.min(S,j),0,Math.abs(S-j));l=H.y,d=H.height}let C=(g.negative?-1:1)*(a?-1:1)==-1,k=f.where;!k&&this.is("waterfall")&&Math.abs((g.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(k="all"),k||(k="end");let p=Math.min($(f.radius,o),o/2,"all"===k?n/2:1/0)||0;"end"===k&&(C&&(l-=p),d+=p),pe(y,{brBoxHeight:d,brBoxY:l,r:p})}}}}function I(b,T){return J(b)||(b={radius:b||0}),te(A,T,b)}function E(){let b=I(this.options.borderRadius);for(let T of this.points){let z=T.shapeArgs;z&&(z.borderRadius=$(b.radius,(z.r||0)-(z.innerR||0)))}}function _(b,T,z,O,f={}){let a=F(b,T,z,O,f),{r:g=0,brBoxHeight:y=O,brBoxY:o=T}=f,n=T-o,r=o+y-(T+O),l=n-g>-.1?0:g,d=r-g>-.1?0:g,C=Math.max(l&&n,0),k=Math.max(d&&r,0),p=[b+l,T],S=[b+z-l,T],j=[b+z,T+l],H=[b+z,T+O-d],Y=[b+z-d,T+O],U=[b+d,T+O],se=[b,T+O-d],w=[b,T+l],X=(G,x)=>Math.sqrt(Math.pow(G,2)-Math.pow(x,2));if(C){let G=X(l,l-C);p[0]-=G,S[0]+=G,j[1]=w[1]=T+l-C}if(O=pe(L.minWidth,0)&&this.chartHeight>=pe(L.minHeight,0)}).call(this)&&F.push(B._id)}function A(B,F){let E,L=this.options.responsive,D=this.currentResponsive,I=[];!F&&L&&L.rules&&L.rules.forEach(T=>{void 0===T._id&&(T._id=J()),this.matchResponsiveRule(T,I)},this);let _=fe(...I.map(T=>le((L||{}).rules||[],z=>z._id===T)).map(T=>T&&T.chartOptions));_.isResponsiveOptions=!0,I=I.toString()||void 0,I!==(D&&D.ruleIds)&&(D&&this.update(D.undoOptions,B,!0),I?((E=re(_,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:I,mergedOptions:_,undoOptions:E},this.update(_,B,!0)):this.currentResponsive=void 0)}te.compose=function(B){let F=B.prototype;return F.matchResponsiveRule||ve(F,{matchResponsiveRule:$,setResponsive:A}),B}}(ie||(ie={})),ie}),Pe(V,"masters/highcharts.src.js",[V["Core/Globals.js"],V["Core/Utilities.js"],V["Core/Defaults.js"],V["Core/Animation/Fx.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Templating.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Renderer/HTML/HTMLElement.js"],V["Core/Axis/Axis.js"],V["Core/Axis/DateTimeAxis.js"],V["Core/Axis/LogarithmicAxis.js"],V["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],V["Core/Axis/Tick.js"],V["Core/Tooltip.js"],V["Core/Series/Point.js"],V["Core/Pointer.js"],V["Core/Legend/Legend.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Chart/Chart.js"],V["Extensions/ScrollablePlotArea.js"],V["Core/Axis/Stacking/StackingAxis.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Series/Column/ColumnDataLabel.js"],V["Series/Pie/PieDataLabel.js"],V["Core/Series/DataLabel.js"],V["Extensions/OverlappingDataLabels.js"],V["Extensions/BorderRadius.js"],V["Core/Responsive.js"],V["Core/Color/Color.js"],V["Core/Time.js"]],function(Z,ie,re,ve,le,fe,pe,J,te,$,A,B,F,L,D,I,E,_,b,T,z,O,f,a,g,y,o,n,r,l,d,C,k,p,S,j){return Z.AST=fe,Z.Axis=F,Z.Chart=f,Z.Color=S,Z.DataLabel=d,Z.Fx=ve,Z.HTMLElement=B,Z.Legend=z,Z.LegendSymbol=O,Z.OverlappingDataLabels=Z.OverlappingDataLabels||C,Z.PlotLineOrBand=I,Z.Point=b,Z.Pointer=T,Z.RendererRegistry=J,Z.Series=o,Z.SeriesRegistry=n,Z.StackItem=y,Z.SVGElement=$,Z.SVGRenderer=A,Z.Templating=pe,Z.Tick=E,Z.Time=j,Z.Tooltip=_,Z.animate=le.animate,Z.animObject=le.animObject,Z.chart=f.chart,Z.color=S.parse,Z.dateFormat=pe.dateFormat,Z.defaultOptions=re.defaultOptions,Z.distribute=te.distribute,Z.format=pe.format,Z.getDeferredAnimation=le.getDeferredAnimation,Z.getOptions=re.getOptions,Z.numberFormat=pe.numberFormat,Z.seriesType=n.seriesType,Z.setAnimation=le.setAnimation,Z.setOptions=re.setOptions,Z.stop=le.stop,Z.time=re.defaultTime,Z.timers=ve.timers,k.compose(Z.Series,Z.SVGElement,Z.SVGRenderer),r.compose(Z.Series.types.column),d.compose(Z.Series),L.compose(Z.Axis),B.compose(Z.SVGRenderer),z.compose(Z.Chart),D.compose(Z.Axis),C.compose(Z.Chart),l.compose(Z.Series.types.pie),I.compose(Z.Axis),T.compose(Z.Chart),p.compose(Z.Chart),a.compose(Z.Axis,Z.Chart,Z.Series),g.compose(Z.Axis,Z.Chart,Z.Series),_.compose(Z.Pointer),ie.extend(Z,ie),Z}),Pe(V,"Core/Axis/Color/ColorAxisComposition.js",[V["Core/Color/Color.js"],V["Core/Utilities.js"]],function(Z,ie){var re;let{parse:ve}=Z,{addEvent:le,extend:fe,merge:pe,pick:J,splat:te}=ie;return function($){let A;function B(){let{userOptions:O}=this;this.colorAxis=[],O.colorAxis&&(O.colorAxis=te(O.colorAxis),O.colorAxis.map(f=>new A(this,f)))}function F(O){let y,o,a=n=>{let r=O.allItems.indexOf(n);-1!==r&&(this.destroyItem(O.allItems[r]),O.allItems.splice(r,1))},g=[];for((this.chart.colorAxis||[]).forEach(function(n){(y=n.options)&&y.showInLegend&&(y.dataClasses&&y.visible?g=g.concat(n.getDataClassLegendSymbols()):y.visible&&g.push(n),n.series.forEach(function(r){(!r.options.showInLegend||y.dataClasses)&&("point"===r.options.legendType?r.points.forEach(function(l){a(l)}):a(r))}))}),o=g.length;o--;)O.allItems.unshift(g[o])}function L(O){O.visible&&O.item.legendColor&&O.item.legendItem.symbol.attr({fill:O.item.legendColor})}function D(O){this.chart.colorAxis?.forEach(f=>{f.update({},O.redraw)})}function I(){(this.chart.colorAxis&&this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()}function E(){let O=this.axisTypes;O?-1===O.indexOf("colorAxis")&&O.push("colorAxis"):this.axisTypes=["colorAxis"]}function _(O){let f=this,a=O?"show":"hide";f.visible=f.options.visible=!!O,["graphic","dataLabel"].forEach(function(g){f[g]&&f[g][a]()}),this.series.buildKDTree()}function b(){let O=this,a=this.options.nullColor,g=this.colorAxis,y=this.colorKey;(this.data.length?this.data:this.points).forEach(o=>{let n=o.getNestedProperty(y),r=o.options.color||(o.isNull||null===o.value?a:g&&void 0!==n?g.toColor(n,o):o.color||O.color);r&&o.color!==r&&(o.color=r,"point"===O.options.legendType&&o.legendItem&&o.legendItem.label&&O.chart.legend.colorizeItem(o,o.visible))})}function T(){this.elem.attr("fill",ve(this.start).tweenTo(ve(this.end),this.pos),void 0,!0)}function z(){this.elem.attr("stroke",ve(this.start).tweenTo(ve(this.end),this.pos),void 0,!0)}$.compose=function(O,f,a,g,y){let o=f.prototype,n=a.prototype,r=y.prototype;o.collectionsWithUpdate.includes("colorAxis")||(A=O,o.collectionsWithUpdate.push("colorAxis"),o.collectionsWithInit.colorAxis=[o.addColorAxis],le(f,"afterGetAxes",B),function(l){let d=l.prototype.createAxis;l.prototype.createAxis=function(C,k){if("colorAxis"!==C)return d.apply(this,arguments);let p=new A(this,pe(k.axis,{index:this[C].length,isX:!1}));return this.isDirtyLegend=!0,this.axes.forEach(S=>{S.series=[]}),this.series.forEach(S=>{S.bindAxes(),S.isDirtyData=!0}),J(k.redraw,!0)&&this.redraw(k.animation),p}}(f),n.fillSetter=T,n.strokeSetter=z,le(g,"afterGetAllItems",F),le(g,"afterColorizeItem",L),le(g,"afterUpdate",D),fe(r,{optionalAxis:"colorAxis",translateColors:b}),fe(r.pointClass.prototype,{setVisible:_}),le(y,"afterTranslate",I,{order:1}),le(y,"bindAxes",E))},$.pointSetVisible=_}(re||(re={})),re}),Pe(V,"Core/Axis/Color/ColorAxisDefaults.js",[],function(){return{lineWidth:0,minPadding:0,maxPadding:0,gridLineColor:"#ffffff",gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{distance:8,overflow:"justify",rotation:0},minColor:"#e6e9ff",maxColor:"#0022ff",tickLength:5,showInLegend:!0}}),Pe(V,"Core/Axis/Color/ColorAxisLike.js",[V["Core/Color/Color.js"],V["Core/Utilities.js"]],function(Z,ie){var re,ve;let{parse:le}=Z,{merge:fe}=ie;return(ve=re||(re={})).initDataClasses=function(pe){let B,F,I,J=this.chart,te=this.legendItem=this.legendItem||{},$=this.options,A=pe.dataClasses||[],L=J.options.chart.colorCount,D=0;this.dataClasses=F=[],te.labels=[];for(let E=0,_=A.length;E<_;++E)B=fe(B=A[E]),F.push(B),(J.styledMode||!B.color)&&("category"===$.dataClassColor?(J.styledMode||(L=(I=J.options.colors||[]).length,B.color=I[D]),B.colorIndex=D,++D===L&&(D=0)):B.color=le($.minColor).tweenTo(le($.maxColor),_<2?.5:E/(_-1)))},ve.initStops=function(){let pe=this.options,J=this.stops=pe.stops||[[0,pe.minColor||""],[1,pe.maxColor||""]];for(let te=0,$=J.length;te<$;++te)J[te].color=le(J[te][1])},ve.normalizedValue=function(pe){let J=this.max||0,te=this.min||0;return this.logarithmic&&(pe=this.logarithmic.log2lin(pe)),1-(J-pe)/(J-te||1)},ve.toColor=function(pe,J){let te,$,A,B,F,L,D=this.dataClasses,I=this.stops;if(D){for(L=D.length;L--;)if($=(F=D[L]).from,A=F.to,(void 0===$||pe>=$)&&(void 0===A||pe<=A)){B=F.color,J&&(J.dataClass=L,J.colorIndex=F.colorIndex);break}}else{for(te=this.normalizedValue(pe),L=I.length;L--&&!(te>I[L][0]););$=I[L]||I[L+1],te=1-((A=I[L+1]||$)[0]-te)/(A[0]-$[0]||1),B=$.color.tweenTo(A.color,te)}return B},re}),Pe(V,"Core/Axis/Color/ColorAxis.js",[V["Core/Axis/Axis.js"],V["Core/Axis/Color/ColorAxisComposition.js"],V["Core/Axis/Color/ColorAxisDefaults.js"],V["Core/Axis/Color/ColorAxisLike.js"],V["Core/Defaults.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe,pe,J){let{defaultOptions:te}=le,{series:$}=pe,{defined:A,extend:B,fireEvent:F,isArray:L,isNumber:D,merge:I,pick:E,relativeLength:_}=J;te.colorAxis=I(te.xAxis,re);class b extends Z{static compose(z,O,f,a){ie.compose(b,z,O,f,a)}constructor(z,O){super(z,O),this.coll="colorAxis",this.visible=!0,this.init(z,O)}init(z,O){let a=O.layout?"vertical"!==O.layout:"vertical"!==(z.options.legend||{}).layout;this.side=O.side||a?2:1,this.reversed=O.reversed||!a,this.opposite=!a,super.init(z,O,"colorAxis"),this.userOptions=O,L(z.userOptions.colorAxis)&&(z.userOptions.colorAxis[this.index]=O),O.dataClasses&&this.initDataClasses(O),this.initStops(),this.horiz=a,this.zoomEnabled=!1}hasData(){return!!(this.tickPositions||[]).length}setTickPositions(){if(!this.dataClasses)return super.setTickPositions()}setOptions(z){let O=I(te.colorAxis,z,{showEmpty:!1,title:null,visible:this.chart.options.legend.enabled&&!1!==z.visible});super.setOptions(O),this.options.crosshair=this.options.marker}setAxisSize(){let z=this.chart,O=this.legendItem?.symbol,{width:f,height:a}=this.getSize();O&&(this.left=+O.attr("x"),this.top=+O.attr("y"),this.width=f=+O.attr("width"),this.height=a=+O.attr("height"),this.right=z.chartWidth-this.left-f,this.bottom=z.chartHeight-this.top-a,this.pos=this.horiz?this.left:this.top),this.len=(this.horiz?f:a)||b.defaultLegendLength}getOffset(){let z=this.legendItem?.group,O=this.chart.axisOffset[this.side];if(z){this.axisParent=z,super.getOffset();let f=this.chart.legend;f.allItems.forEach(function(a){a instanceof b&&a.drawLegendSymbol(f,a)}),f.render(),this.chart.getMargins(!0),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=O}}setLegendColor(){let O=this.reversed,f=O?1:0,a=O?0:1,g=this.horiz?[f,0,a,0]:[0,a,0,f];this.legendColor={linearGradient:{x1:g[0],y1:g[1],x2:g[2],y2:g[3]},stops:this.stops}}drawLegendSymbol(z,O){let f=O.legendItem||{},a=z.padding,g=z.options,y=this.options.labels,o=E(g.itemDistance,10),n=this.horiz,{width:r,height:l}=this.getSize(),d=E(g.labelPadding,n?16:30);this.setLegendColor(),f.symbol||(f.symbol=this.chart.renderer.symbol("roundedRect").attr({r:g.symbolRadius??3,zIndex:1}).add(f.group)),f.symbol.attr({x:0,y:(z.baseline||0)-11,width:r,height:l}),f.labelWidth=r+a+(n?o:E(y.x,y.distance)+(this.maxLabelLength||0)),f.labelHeight=l+a+(n?d:0)}setState(z){this.series.forEach(function(O){O.setState(z)})}setVisible(){}getSeriesExtremes(){let O,f,a,g,y,o,r,l,z=this.series,n=z.length;for(this.dataMin=1/0,this.dataMax=-1/0;n--;){if(f=(o=z[n]).colorKey=E(o.options.colorKey,o.colorKey,o.pointValKey,o.zoneAxis,"y"),g=o.pointArrayMap,y=o[f+"Min"]&&o[f+"Max"],o[f+"Data"])O=o[f+"Data"];else if(g){if(O=[],a=g.indexOf(f),r=o.yData,a>=0&&r)for(l=0;lo+n&&(f=o+n+2),O.plotX=f,O.plotY=this.len-f,super.drawCrosshair(z,O),O.plotX=g,O.plotY=y,this.cross&&!this.cross.addedToColorAxis&&a.group&&(this.cross.addClass("highcharts-coloraxis-marker").add(a.group),this.cross.addedToColorAxis=!0,this.chart.styledMode||"object"!=typeof this.crosshair||this.cross.attr({fill:this.crosshair.color})))}getPlotLinePath(z){let O=this.left,f=z.translatedValue,a=this.top;return D(f)?this.horiz?[["M",f-4,a-6],["L",f+4,a-6],["L",f,a],["Z"]]:[["M",O,f],["L",O-6,f+6],["L",O-6,f-6],["Z"]]:super.getPlotLinePath(z)}update(z,O){let f=this.chart.legend;this.series.forEach(a=>{a.isDirtyData=!0}),(z.dataClasses&&f.allItems||this.dataClasses)&&this.destroyItems(),super.update(z,O),this.legendItem&&this.legendItem.label&&(this.setLegendColor(),f.colorizeItem(this,!0))}destroyItems(){let z=this.chart,O=this.legendItem||{};if(O.label)z.legend.destroyItem(this);else if(O.labels)for(let f of O.labels)z.legend.destroyItem(f);z.isDirtyLegend=!0}destroy(){this.chart.isDirtyLegend=!0,this.destroyItems(),super.destroy(...[].slice.call(arguments))}remove(z){this.destroyItems(),super.remove(z)}getDataClassLegendSymbols(){let z,O=this,f=O.chart,a=O.legendItem&&O.legendItem.labels||[],g=f.options.legend,y=E(g.valueDecimals,-1),o=E(g.valueSuffix,""),n=r=>O.series.reduce((l,d)=>(l.push(...d.points.filter(C=>C.dataClass===r)),l),[]);return a.length||O.dataClasses.forEach((r,l)=>{let d=r.from,C=r.to,{numberFormatter:k}=f,p=!0;z="",void 0===d?z="< ":void 0===C&&(z="> "),void 0!==d&&(z+=k(d,y)+o),void 0!==d&&void 0!==C&&(z+=" - "),void 0!==C&&(z+=k(C,y)+o),a.push(B({chart:f,name:z,options:{},drawLegendSymbol:fe.rectangle,visible:!0,isDataClass:!0,setState:S=>{for(let j of n(l))j.setState(S)},setVisible:function(){this.visible=p=O.visible=!p;let S=[];for(let j of n(l))j.setVisible(p),j.hiddenInDataClass=!p,-1===S.indexOf(j.series)&&S.push(j.series);f.legend.colorizeItem(this,p),S.forEach(j=>{F(j,"afterDataClassLegendClick")})}},r))}),a}getSize(){let{chart:z,horiz:O}=this,{legend:f,height:a,width:g}=this.options;return{width:E(A(g)?_(g,z.chartWidth):void 0,f?.symbolWidth,O?b.defaultLegendLength:12),height:E(A(a)?_(a,z.chartHeight):void 0,f?.symbolHeight,O?12:b.defaultLegendLength)}}}return b.defaultLegendLength=200,b.keepProps=["legendItem"],B(b.prototype,ve),Array.prototype.push.apply(Z.keepProps,b.keepProps),b}),Pe(V,"masters/modules/coloraxis.src.js",[V["Core/Globals.js"],V["Core/Axis/Color/ColorAxis.js"]],function(Z,ie){return Z.ColorAxis=Z.ColorAxis||ie,Z.ColorAxis.compose(Z.Chart,Z.Fx,Z.Legend,Z.Series),Z}),Pe(V,"Maps/MapNavigationDefaults.js",[],function(){return{lang:{zoomIn:"Zoom in",zoomOut:"Zoom out"},mapNavigation:{buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5,style:{color:"#666666",fontSize:"1em",fontWeight:"bold"},theme:{fill:"#ffffff",stroke:"#e6e6e6","stroke-width":1,"text-align":"center"}},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1}}}),Pe(V,"Maps/MapPointer.js",[V["Core/Utilities.js"]],function(Z){var ie;let{defined:re,extend:ve,pick:le,wrap:fe}=Z;return function(pe){let J,te=0;function $(L){let D=this.chart;L=this.normalize(L),D.options.mapNavigation.enableDoubleClickZoomTo?D.pointer.inClass(L.target,"highcharts-tracker")&&D.hoverPoint&&D.hoverPoint.zoomTo():D.isInsidePlot(L.chartX-D.plotLeft,L.chartY-D.plotTop)&&D.mapZoom(.5,void 0,void 0,L.chartX,L.chartY)}function A(L){let D=this.chart,I=re((L=this.normalize(L)).wheelDelta)&&-L.wheelDelta/120||L.deltaY||L.detail;Math.abs(I)>=1&&(te+=Math.abs(I),J&&clearTimeout(J),J=setTimeout(()=>{te=0},50)),te<10&&D.isInsidePlot(L.chartX-D.plotLeft,L.chartY-D.plotTop)&&D.mapView&&D.mapView.zoomBy(-(D.options.mapNavigation.mouseWheelSensitivity-1)*I,void 0,[L.chartX,L.chartY],!(1>Math.abs(I))&&void 0)}function B(L,D,I){let E=this.chart;if(D=L.call(this,D,I),E&&E.mapView){let _=E.mapView.pixelsToLonLat({x:D.chartX-E.plotLeft,y:D.chartY-E.plotTop});_&&ve(D,_)}return D}function F(L){let D=this.chart.options.mapNavigation;D&&le(D.enableTouchZoom,D.enabled)&&(this.chart.zooming.pinchType="xy"),L.apply(this,[].slice.call(arguments,1))}pe.compose=function(L){let D=L.prototype;D.onContainerDblClick||(ve(D,{onContainerDblClick:$,onContainerMouseWheel:A}),fe(D,"normalize",B),fe(D,"zoomOption",F))}}(ie||(ie={})),ie}),Pe(V,"Maps/MapSymbols.js",[],function(){let Z;function ie(ve,le,fe,pe,J){if(J){let te=J?.r||0;J.brBoxY=le-te,J.brBoxHeight=pe+te}return Z.roundedRect(ve,le,fe,pe,J)}function re(ve,le,fe,pe,J){return J&&(J.brBoxHeight=pe+(J?.r||0)),Z.roundedRect(ve,le,fe,pe,J)}return{compose:function(ve){(Z=ve.prototype.symbols).bottombutton=ie,Z.topbutton=re}}}),Pe(V,"Maps/MapNavigation.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Maps/MapNavigationDefaults.js"],V["Maps/MapPointer.js"],V["Maps/MapSymbols.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe){let{setOptions:pe}=Z,{composed:J}=ie,{addEvent:te,extend:$,merge:A,objectEach:B,pick:F,pushUnique:L}=fe;function D(E){E&&(E.preventDefault&&E.preventDefault(),E.stopPropagation&&E.stopPropagation(),E.cancelBubble=!0)}class I{static compose(_,b,T){ve.compose(b),le.compose(T),L(J,"Map.Navigation")&&(te(_,"beforeRender",function(){this.mapNavigation=new I(this),this.mapNavigation.update()}),pe(re))}constructor(_){this.chart=_,this.navButtons=[]}update(_){let a,b=this,T=b.chart,z=b.navButtons,O=function(g){this.handler.call(T,g),D(g)},f=T.options.mapNavigation;for(_&&(f=T.options.mapNavigation=A(T.options.mapNavigation,_));z.length;)z.pop().destroy();if(!T.renderer.forExport&&F(f.enableButtons,f.enabled)){b.navButtonsGroup||(b.navButtonsGroup=T.renderer.g().attr({zIndex:7}).add()),B(f.buttons,(y,o)=>{y=A(f.buttonOptions,y),!T.styledMode&&y.theme&&((a=y.theme).style=A(y.theme.style,y.style));let{text:n,width:r=0,height:l=0,padding:d=0}=y,C=T.renderer.button("+"!==n&&"-"!==n&&n||"",0,0,O,a,void 0,void 0,void 0,"zoomIn"===o?"topbutton":"bottombutton").addClass("highcharts-map-navigation highcharts-"+{zoomIn:"zoom-in",zoomOut:"zoom-out"}[o]).attr({width:r,height:l,title:T.options.lang[o],padding:y.padding,zIndex:5}).add(b.navButtonsGroup);if("+"===n||"-"===n){let k=r+1,p=[["M",d+3,d+l/2],["L",d+k-3,d+l/2]];"+"===n&&p.push(["M",d+k/2,d+3],["L",d+k/2,d+l-3]),T.renderer.path(p).addClass("highcharts-button-symbol").attr(T.styledMode?{}:{stroke:y.style?.color,"stroke-width":3,"stroke-linecap":"round"}).add(C)}if(C.handler=y.onclick,te(C.element,"dblclick",D),z.push(C),$(y,{width:C.width,height:2*(C.height||0)}),T.hasLoaded)C.align(y,!1,y.alignTo);else{let k=te(T,"load",()=>{C.element&&C.align(y,!1,y.alignTo),k()})}});let g=(y,o)=>!(o.x>=y.x+y.width||o.x+o.width<=y.x||o.y>=y.y+y.height||o.y+o.height<=y.y);T.hasLoaded||te(T,"render",function(){let y=T.exportingGroup&&T.exportingGroup.getBBox();if(y){let o=b.navButtonsGroup.getBBox();g(y,o)&&b.navButtonsGroup.attr({translateY:"bottom"===(f.buttonOptions&&f.buttonOptions.verticalAlign)?-o.y-o.height+y.y-5:y.y+y.height-o.y+5})}})}this.updateEvents(f)}updateEvents(_){let b=this.chart;F(_.enableDoubleClickZoom,_.enabled)||_.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||te(b.container,"dblclick",function(T){b.pointer.onContainerDblClick(T)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick()),F(_.enableMouseWheelZoom,_.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||te(b.container,"wheel",function(T){return b.pointer.inClass(T.target,"highcharts-no-mousewheel")||(b.pointer.onContainerMouseWheel(T),D(T)),!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())}}return I}),Pe(V,"Series/ColorMapComposition.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie){var re;let{column:{prototype:ve}}=Z.seriesTypes,{addEvent:le,defined:fe}=ie;return function(pe){function J(te){this.moveToTopOnHover&&this.graphic&&this.graphic.attr({zIndex:te&&"hover"===te.state?1:0})}pe.pointMembers={dataLabelOnNull:!0,moveToTopOnHover:!0,isValid:function(){return null!==this.value&&this.value!==1/0&&this.value!==-1/0&&(void 0===this.value||!isNaN(this.value))}},pe.seriesMembers={colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(te){let $={};return fe(te.color)&&(!te.state||"normal"===te.state)&&($[this.colorProp||"fill"]=te.color),$},pointAttribs:ve.pointAttribs},pe.compose=function(te){return le(te.prototype.pointClass,"afterSetState",J),te}}(re||(re={})),re}),Pe(V,"Core/Chart/MapChart.js",[V["Core/Chart/Chart.js"],V["Core/Defaults.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){var le;let{getOptions:fe}=ie,{isNumber:pe,merge:J,pick:te}=ve;class $ extends Z{init(B,F){let L=fe().credits,D=J({chart:{panning:{enabled:!0,type:"xy"},type:"map"},credits:{mapText:te(L.mapText,' \xa9 {geojson.copyrightShort}'),mapTextFull:te(L.mapTextFull,"{geojson.copyright}")},mapView:{},tooltip:{followTouchMove:!1}},B);super.init(D,F)}mapZoom(B,F,L,D,I){this.mapView&&(pe(B)&&(B=Math.log(B)/Math.log(.5)),this.mapView.zoomBy(B,pe(F)&&pe(L)?this.mapView.projection.inverse([F,L]):void 0,pe(D)&&pe(I)?[D,I]:void 0))}update(B){B.chart&&"map"in B.chart&&this.mapView?.recommendMapView(this,[B.chart.map,...(this.options.series||[]).map(F=>F.mapData)],!0),super.update.apply(this,arguments)}}return(le=$||($={})).maps={},le.mapChart=function(A,B,F){return new le(A,B,F)},le.splitPath=function(A){let B;return B="string"==typeof A?(A=A.replace(/([A-Za-z])/g," $1 ").replace(/^\s*/,"").replace(/\s*$/,"")).split(/[ ,;]+/).map(F=>/[A-Za-z]/.test(F)?F:parseFloat(F)):A,re.prototype.pathToSegments(B)},$}),Pe(V,"Maps/MapUtilities.js",[],function(){return{boundsFromPath:function(Z){let fe,ie=-Number.MAX_VALUE,re=Number.MAX_VALUE,ve=-Number.MAX_VALUE,le=Number.MAX_VALUE;if(Z.forEach(pe=>{let J=pe[pe.length-2],te=pe[pe.length-1];"number"==typeof J&&"number"==typeof te&&(re=Math.min(re,J),ie=Math.max(ie,J),le=Math.min(le,te),ve=Math.max(ve,te),fe=!0)}),fe)return{x1:re,y1:le,x2:ie,y2:ve}},pointInPolygon:function(Z,ie){let re,ve,le=!1,fe=Z.x,pe=Z.y;for(re=0,ve=ie.length-1;repe!=ie[ve][1]>pe&&fe<(ie[ve][0]-ie[re][0])*(pe-ie[re][1])/(ie[ve][1]-ie[re][1])+ie[re][0]&&(le=!le);return le}}}),Pe(V,"Series/Map/MapPoint.js",[V["Series/ColorMapComposition.js"],V["Maps/MapUtilities.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){let{boundsFromPath:le}=ie,fe=re.seriesTypes.scatter.prototype.pointClass,{extend:pe,isNumber:J,pick:te}=ve;class $ extends fe{static getProjectedPath(B,F){return B.projectedPath||(F&&B.geometry?(F.hasCoordinates=!0,B.projectedPath=F.path(B.geometry)):B.projectedPath=B.path),B.projectedPath||[]}applyOptions(B,F){let L=this.series,D=super.applyOptions(B,F);if(L.mapData&&L.mapMap){let _=super.getNestedProperty(L.joinBy[1]),b=void 0!==_&&L.mapMap[_];b?pe(D,{...b,name:D.name??b.name}):-1!==L.pointArrayMap.indexOf("value")&&(D.value=D.value||null)}return D}getProjectedBounds(B){let F=le($.getProjectedPath(this,B)),L=this.properties;if(F){let I=L&&L["hc-middle-lon"],E=L&&L["hc-middle-lat"];if(this.series.chart.mapView&&J(I)&&J(E)){let _=B.forward([I,E]);F.midX=_[0],F.midY=_[1]}else{let _=L&&L["hc-middle-x"],b=L&&L["hc-middle-y"];F.midX=F.x1+(F.x2-F.x1)*te(this.middleX,J(_)?_:.5);let T=te(this.middleY,J(b)?b:.5);this.geometry||(T=1-T),F.midY=F.y2-(F.y2-F.y1)*T}return F}}onMouseOver(B){ve.clearTimeout(this.colorInterval),!this.isNull&&this.visible||this.series.options.nullInteraction?super.onMouseOver.call(this,B):this.series.onMouseOut()}setVisible(B){this.visible=this.options.visible=!!B,this.dataLabel&&this.dataLabel[B?"show":"hide"](),this.graphic&&this.graphic.attr(this.series.pointAttribs(this))}zoomTo(B){let F=this.series.chart,L=F.mapView,D=this.bounds;if(L&&D){let I=J(this.insetIndex)&&L.insets[this.insetIndex];if(I){let E=I.projectedUnitsToPixels({x:D.x1,y:D.y1}),_=I.projectedUnitsToPixels({x:D.x2,y:D.y2}),b=L.pixelsToProjectedUnits({x:E.x,y:E.y}),T=L.pixelsToProjectedUnits({x:_.x,y:_.y});D={x1:b.x,y1:b.y,x2:T.x,y2:T.y}}L.fitToBounds(D,void 0,!1),this.series.isDirty=!0,F.redraw(B)}}}return pe($.prototype,{dataLabelOnNull:Z.pointMembers.dataLabelOnNull,moveToTopOnHover:Z.pointMembers.moveToTopOnHover,isValid:Z.pointMembers.isValid}),$}),Pe(V,"Series/Map/MapSeriesDefaults.js",[V["Core/Utilities.js"]],function(Z){let{isNumber:ie}=Z;return{affectsMapView:!0,animation:!1,dataLabels:{crop:!1,formatter:function(){let{numberFormatter:re}=this.series.chart,{value:ve}=this.point;return ie(ve)?re(ve,-1):this.point.name},inside:!0,overflow:!1,padding:0,verticalAlign:"middle"},linecap:"round",marker:null,nullColor:"#f7f7f7",stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}
"},turboThreshold:0,allAreas:!0,borderColor:"#e6e6e6",borderWidth:1,joinBy:"hc-key",states:{hover:{halo:void 0,borderColor:"#666666",borderWidth:2},normal:{animation:!0},select:{color:"#cccccc"}},legendSymbol:"rectangle"}}),Pe(V,"Maps/MapViewDefaults.js",[],function(){return{center:[0,0],fitToGeometry:void 0,maxZoom:void 0,padding:0,projection:{name:void 0,parallels:void 0,rotation:void 0},zoom:void 0,insetOptions:{borderColor:"#cccccc",borderWidth:1,padding:"10%",relativeTo:"mapBoundingBox",units:"percent"}}}),Pe(V,"Maps/GeoJSONComposition.js",[V["Core/Globals.js"],V["Core/Templating.js"],V["Core/Utilities.js"]],function(Z,ie,re){var ve;let{win:le}=Z,{format:fe}=ie,{error:pe,extend:J,merge:te,wrap:$}=re;return function(A){function B(_){return this.mapView&&this.mapView.lonLatToProjectedUnits(_)}function F(_){return this.mapView&&this.mapView.projectedUnitsToLonLat(_)}function L(_,b){let T=this.options.chart.proj4||le.proj4;if(!T)return void pe(21,!1,this);let{jsonmarginX:z=0,jsonmarginY:O=0,jsonres:f=1,scale:a=1,xoffset:g=0,xpan:y=0,yoffset:o=0,ypan:n=0}=b,r=T(b.crs,[_.lon,_.lat]),l=b.cosAngle||b.rotation&&Math.cos(b.rotation),d=b.sinAngle||b.rotation&&Math.sin(b.rotation),C=b.rotation?[r[0]*l+r[1]*d,-r[0]*d+r[1]*l]:r;return{x:((C[0]-g)*a+y)*f+z,y:-(((o-C[1])*a+n)*f-O)}}function D(_,b){let T=this.options.chart.proj4||le.proj4;if(!T)return void pe(21,!1,this);if(null===_.y)return;let{jsonmarginX:z=0,jsonmarginY:O=0,jsonres:f=1,scale:a=1,xoffset:g=0,xpan:y=0,yoffset:o=0,ypan:n=0}=b,r={x:((_.x-z)/f-y)/a+g,y:((_.y-O)/f+n)/a+o},l=b.cosAngle||b.rotation&&Math.cos(b.rotation),d=b.sinAngle||b.rotation&&Math.sin(b.rotation),C=T(b.crs,"WGS84",b.rotation?{x:r.x*l+-r.y*d,y:r.x*d+r.y*l}:r);return{lat:C.y,lon:C.x}}function I(_,b){b||(b=Object.keys(_.objects)[0]);let T=_.objects[b];if(T["hc-decoded-geojson"]&&T["hc-decoded-geojson"].title===_.title)return T["hc-decoded-geojson"];let z=_.arcs;if(_.transform){let y,o,n,r=_.arcs,{scale:l,translate:d}=_.transform;z=[];for(let C=0,k=r.length;C"number"==typeof y[0]?y.reduce((o,n,r)=>{let l=n<0?z[~n]:z[n];return n<0?(l=l.slice(0,0===r?l.length:l.length-1)).reverse():r&&(l=l.slice(1)),o.concat(l)},[]):y.map(O),f=T.geometries,a=[];for(let y=0,o=f.length;y(le[1]-ve[1])*(fe[0]-ve[0])}function re(ve,le,fe,pe){let J=[ve[0]-le[0],ve[1]-le[1]],te=[fe[0]-pe[0],fe[1]-pe[1]],$=ve[0]*le[1]-ve[1]*le[0],A=fe[0]*pe[1]-fe[1]*pe[0],B=1/(J[0]*te[1]-J[1]*te[0]),F=[($*te[0]-A*J[0])*B,($*te[1]-A*J[1])*B];return F.isIntersection=!0,F}return{clipLineString:function(ve,le){let fe=[],pe=Z(ve,le,!1);for(let J=1;J0===le?0:le>0?1:-1),ie=Math.PI/180,re=Math.PI/2,ve=le=>Math.tan((re+le)/2);return class{constructor(le){let fe=(le.parallels||[]).map(A=>A*ie),pe=fe[0]||0,J=fe[1]??pe,te=Math.cos(pe);"object"==typeof le.projectedBounds&&(this.projectedBounds=le.projectedBounds);let $=pe===J?Math.sin(pe):Math.log(te/Math.cos(J))/Math.log(ve(J)/ve(pe));1e-10>Math.abs($)&&($=1e-10*(Z($)||1)),this.n=$,this.c=te*Math.pow(ve(pe),$)/$}forward(le){let{c:fe,n:pe,projectedBounds:J}=this,te=le[0]*ie,$=le[1]*ie;fe>0?$<1e-6-re&&($=1e-6-re):$>re-1e-6&&($=re-1e-6);let A=fe/Math.pow(ve($),pe),B=A*Math.sin(pe*te)*63.78137,F=63.78137*(fe-A*Math.cos(pe*te)),L=[B,F];return J&&(BJ.x2||FJ.y2)&&(L.outside=!0),L}inverse(le){let{c:fe,n:pe}=this,J=le[0]/63.78137,te=fe-le[1]/63.78137,$=Z(pe)*Math.sqrt(J*J+te*te),A=Math.atan2(J,Math.abs(te))*Z(te);return te*pe<0&&(A-=Math.PI*Z(J)*Z(te)),[A/pe/ie,(2*Math.atan(Math.pow(fe/$,1/pe))-re)/ie]}}}),Pe(V,"Maps/Projections/EqualEarth.js",[],function(){let Z=Math.sqrt(3)/2;return class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-97.52595454902263,y2:97.52595454902263}}forward(ie){let re=Math.PI/180,ve=Math.asin(Z*Math.sin(ie[1]*re)),le=ve*ve,fe=le*le*le;return[ie[0]*re*Math.cos(ve)*74.03120656864502/(Z*(1.340264+-.24331799999999998*le+fe*(.0062510000000000005+.034164*le))),74.03120656864502*ve*(1.340264+-.081106*le+fe*(893e-6+.003796*le))]}inverse(ie){let pe,J,te,$,re=ie[0]/74.03120656864502,ve=ie[1]/74.03120656864502,le=180/Math.PI,fe=ve;for(let F=0;F<12&&(J=(pe=fe*fe)*pe*pe,te=fe*(1.340264+-.081106*pe+J*(893e-6+.003796*pe))-ve,fe-=$=te/(1.340264+-.24331799999999998*pe+J*(.0062510000000000005+.034164*pe)),!(1e-9>Math.abs($)));++F);J=(pe=fe*fe)*pe*pe;let A=le*Z*re*(1.340264+-.24331799999999998*pe+J*(.0062510000000000005+.034164*pe))/Math.cos(fe),B=le*Math.asin(Math.sin(fe)/Z);return Math.abs(A)>180?[NaN,NaN]:[A,B]}}}),Pe(V,"Maps/Projections/Miller.js",[],function(){let Z=Math.PI/4,ie=Math.PI/180;return class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-146.91480769173063,y2:146.91480769173063}}forward(re){return[re[0]*ie*63.78137,79.7267125*Math.log(Math.tan(Z+.4*re[1]*ie))]}inverse(re){return[re[0]/63.78137/ie,2.5*(Math.atan(Math.exp(re[1]/63.78137*.8))-Z)/ie]}}}),Pe(V,"Maps/Projections/Orthographic.js",[],function(){let Z=Math.PI/180;return class{constructor(){this.antimeridianCutting=!1,this.bounds={x1:-63.78460826781007,x2:63.78460826781007,y1:-63.78460826781007,y2:63.78460826781007}}forward(ie){let re=ie[0],ve=ie[1]*Z,le=[Math.cos(ve)*Math.sin(re*Z)*63.78460826781007,63.78460826781007*Math.sin(ve)];return(re<-90||re>90)&&(le.outside=!0),le}inverse(ie){let re=ie[0]/63.78460826781007,ve=ie[1]/63.78460826781007,le=Math.sqrt(re*re+ve*ve),fe=Math.asin(le),pe=Math.sin(fe);return[Math.atan2(re*pe,le*Math.cos(fe))/Z,Math.asin(le&&ve*pe/le)/Z]}}}),Pe(V,"Maps/Projections/WebMercator.js",[],function(){let Z=Math.PI/180;return class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-200.3750834278071,y2:200.3750834278071},this.maxLatitude=85.0511287798}forward(ie){let re=Math.sin(ie[1]*Z),ve=[63.78137*ie[0]*Z,63.78137*Math.log((1+re)/(1-re))/2];return Math.abs(ie[1])>this.maxLatitude&&(ve.outside=!0),ve}inverse(ie){return[ie[0]/(63.78137*Z),(2*Math.atan(Math.exp(ie[1]/63.78137))-Math.PI/2)/Z]}}}),Pe(V,"Maps/Projections/ProjectionRegistry.js",[V["Maps/Projections/LambertConformalConic.js"],V["Maps/Projections/EqualEarth.js"],V["Maps/Projections/Miller.js"],V["Maps/Projections/Orthographic.js"],V["Maps/Projections/WebMercator.js"]],function(Z,ie,re,ve,le){return{EqualEarth:ie,LambertConformalConic:Z,Miller:re,Orthographic:ve,WebMercator:le}}),Pe(V,"Maps/Projection.js",[V["Core/Geometry/PolygonClip.js"],V["Maps/Projections/ProjectionRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{clipLineString:ve,clipPolygon:le}=Z,{clamp:fe,erase:pe}=re,J=2*Math.PI/360;function te(A){return A<-180&&(A+=360),A>180&&(A-=360),A}class ${static add(B,F){$.registry[B]=F}static greatCircle(B,F,L){let{atan2:D,cos:I,sin:E,sqrt:_}=Math,b=B[1]*J,T=B[0]*J,z=F[1]*J,O=F[0]*J,f=z-b,a=O-T,g=E(f/2)*E(f/2)+I(b)*I(z)*E(a/2)*E(a/2),y=2*D(_(g),_(1-g)),o=Math.round(6371e3*y/5e5),n=[];if(L&&n.push(B),o>1){let r=1/o;for(let l=r;l<.999;l+=r){let d=E((1-l)*y)/E(y),C=E(l*y)/E(y),k=d*I(b)*I(T)+C*I(z)*I(O),p=d*I(b)*E(T)+C*I(z)*E(O),S=D(d*E(b)+C*E(z),_(k*k+p*p)),j=D(p,k);n.push([j/J,S/J])}}return L&&n.push(F),n}static insertGreatCircles(B){let F=B.length-1;for(;F--;)if(Math.max(Math.abs(B[F][0]-B[F+1][0]),Math.abs(B[F][1]-B[F+1][1]))>10){let L=$.greatCircle(B[F],B[F+1]);L.length&&B.splice(F+1,0,...L)}}static toString(B){let{name:F,rotation:L}=B||{};return[F,L&&L.join(",")].join(";")}constructor(B={}){this.hasCoordinates=!1,this.hasGeoProjection=!1,this.maxLatitude=90,this.options=B;let{name:F,projectedBounds:L,rotation:D}=B;this.rotator=D?this.getRotator(D):void 0;let I=F?$.registry[F]:void 0;I&&(this.def=new I(B));let{def:E,rotator:_}=this;E&&(this.maxLatitude=E.maxLatitude||90,this.hasGeoProjection=!0),_&&E?(this.forward=b=>E.forward(_.forward(b)),this.inverse=b=>_.inverse(E.inverse(b))):E?(this.forward=b=>E.forward(b),this.inverse=b=>E.inverse(b)):_&&(this.forward=_.forward,this.inverse=_.inverse),this.bounds="world"===L?E&&E.bounds:L}lineIntersectsBounds(B){let _,{x1:F,x2:L,y1:D,y2:I}=this.bounds||{},E=(T,z,O)=>{let[f,a]=T,g=z?0:1;if("number"==typeof O&&f[z]>=O!=a[z]>=O){let o=f[g]+(O-f[z])/(a[z]-f[z])*(a[g]-f[g]);return z?[o,O]:[O,o]}},b=B[0];return((_=E(B,0,F))||(_=E(B,0,L)))&&(b=_,B[1]=_),((_=E(B,1,D))||(_=E(B,1,I)))&&(b=_),b}getRotator(B){let F=B[0]*J,L=(B[1]||0)*J,D=(B[2]||0)*J,I=Math.cos(L),E=Math.sin(L),_=Math.cos(D),b=Math.sin(D);if(0!==F||0!==L||0!==D)return{forward:T=>{let z=T[0]*J+F,O=T[1]*J,f=Math.cos(O),a=Math.cos(z)*f,g=Math.sin(z)*f,y=Math.sin(O),o=y*I+a*E;return[Math.atan2(g*_-o*b,a*I-y*E)/J,Math.asin(o*_+g*b)/J]},inverse:T=>{let z=T[0]*J,O=T[1]*J,f=Math.cos(O),a=Math.cos(z)*f,g=Math.sin(z)*f,y=Math.sin(O),o=y*_-g*b;return[(Math.atan2(g*_+y*b,a*I+o*E)-F)/J,Math.asin(o*I-a*E)/J]}}}forward(B){return B}inverse(B){return B}cutOnAntimeridian(B,F){let L,D=[],I=[B];for(let E=0,_=B.length;E<_;++E){let b=B[E],T=B[E-1];if(!E){if(!F)continue;T=B[B.length-1]}let z=T[0],O=b[0];if((z<-90||z>90)&&(O<-90||O>90)&&z>0!=O>0){let f=fe((180-(z+360)%360)/((O+360)%360-(z+360)%360),0,1);D.push({i:E,lat:T[1]+f*(b[1]-T[1]),direction:z<0?1:-1,previousLonLat:T,lonLat:b})}}if(D.length)if(F){D.length%2==1&&(L=D.slice().sort((_,b)=>Math.abs(b.lat)-Math.abs(_.lat))[0],pe(D,L));let E=D.length-2;for(;E>=0;){let _=D[E].i,b=te(180+1e-6*D[E].direction),T=te(180-1e-6*D[E].direction),z=B.splice(_,D[E+1].i-_,...$.greatCircle([b,D[E].lat],[b,D[E+1].lat],!0));z.push(...$.greatCircle([T,D[E+1].lat],[T,D[E].lat],!0)),I.push(z),E-=2}if(L)for(let _=0;_-1){let f=(T<0?-1:1)*this.maxLatitude,a=te(180+1e-6*b),g=te(180-1e-6*b),y=$.greatCircle([a,T],[a,f],!0);for(let o=a+120*b;o>-180&&o<180;o+=120*b)y.push([o,f]);y.push(...$.greatCircle([g,f],[g,L.lat],!0)),z.splice(O,0,...y);break}}}else{let E=D.length;for(;E--;){let b=B.splice(D[E].i,B.length,[te(180+1e-6*D[E].direction),D[E].lat]);b.unshift([te(180-1e-6*D[E].direction),D[E].lat]),I.push(b)}}return I}path(B){let F,{bounds:L,def:D,rotator:I}=this,E=[],_="Polygon"===B.type||"MultiPolygon"===B.type,b=this.hasGeoProjection,T=!D||!1!==D.antimeridianCutting,z=T?I:void 0,O=T&&D||this;L&&(F=[[L.x1,L.y1],[L.x2,L.y1],[L.x2,L.y2],[L.x1,L.y2]]);let f=a=>{let g=a.map(o=>{if(T){z&&(o=z.forward(o));let n=o[0];1e-6>Math.abs(n-180)&&(n=n<180?179.999999:180.000001),o=[n,o[1]]}return o}),y=[g];b&&($.insertGreatCircles(g),T&&(y=this.cutOnAntimeridian(g,_))),y.forEach(o=>{let n,r;if(o.length<2)return;let l=!1,d=!1,C=j=>{l?E.push(["L",j[0],j[1]]):(E.push(["M",j[0],j[1]]),l=!0)},k=!1,p=!1,S=o.map(j=>{let H=O.forward(j);return H.outside?k=!0:p=!0,H[1]===1/0?H[1]=1e10:H[1]===-1/0&&(H[1]=-1e10),H});if(T){if(_&&S.push(S[0]),k){if(!p)return;if(F)if(_)S=le(S,F);else if(L)return void ve(S,F).forEach(j=>{l=!1,j.forEach(C)})}S.forEach(C)}else for(let j=0;jC(O.forward(U))):l=!1),C(Y),r=H,d=!1)}})};return"LineString"===B.type?f(B.coordinates):"MultiLineString"===B.type?B.coordinates.forEach(a=>f(a)):"Polygon"===B.type?(B.coordinates.forEach(a=>f(a)),E.length&&E.push(["Z"])):"MultiPolygon"===B.type&&(B.coordinates.forEach(a=>{a.forEach(g=>f(g))}),E.length&&E.push(["Z"])),E}}return $.registry=ie,$}),Pe(V,"Maps/MapView.js",[V["Core/Globals.js"],V["Maps/MapViewDefaults.js"],V["Maps/GeoJSONComposition.js"],V["Maps/MapUtilities.js"],V["Maps/Projection.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe){let{composed:pe}=Z,{topo2geo:J}=re,{boundsFromPath:te,pointInPolygon:$}=ve,{addEvent:A,clamp:B,fireEvent:F,isArray:L,isNumber:D,isObject:I,isString:E,merge:_,pick:b,pushUnique:T,relativeLength:z}=fe,O={};function f(o,n){let{width:r,height:l}=n;return Math.log(400.979322/Math.max((o.x2-o.x1)/(r/256),(o.y2-o.y1)/(l/256)))/Math.log(2)}function a(o){o.seriesOptions.mapData&&this.mapView?.recommendMapView(this,[this.options.chart.map,o.seriesOptions.mapData],this.options.drilldown?.mapZooming)}class g{static compose(n){T(pe,"MapView")&&(O=n.maps,A(n,"afterInit",function(){this.mapView=new g(this,this.options.mapView)},{order:0}),A(n,"addSeriesAsDrilldown",a),A(n,"afterDrillUp",a))}static compositeBounds(n){if(n.length)return n.slice(1).reduce((r,l)=>(r.x1=Math.min(r.x1,l.x1),r.y1=Math.min(r.y1,l.y1),r.x2=Math.max(r.x2,l.x2),r.y2=Math.max(r.y2,l.y2),r),_(n[0]))}static mergeInsets(n,r){let l=C=>{let k={};return C.forEach((p,S)=>{k[p&&p.id||`i${S}`]=p}),k},d=_(l(n),l(r));return Object.keys(d).map(C=>d[C])}constructor(n,r){this.allowTransformAnimation=!0,this.eventsToUnbind=[],this.insets=[],this.padding=[0,0,0,0],this.recommendedMapView={},this instanceof y||this.recommendMapView(n,[n.options.chart.map,...(n.options.series||[]).map(k=>k.mapData)]),this.userOptions=r||{};let l=_(ie,this.recommendedMapView,r),d=this.recommendedMapView?.insets,C=r&&r.insets;d&&C&&(l.insets=g.mergeInsets(d,C)),this.chart=n,this.center=l.center,this.options=l,this.projection=new le(l.projection),this.playingField=n.plotBox,this.zoom=l.zoom||0,this.minZoom=l.minZoom,this.createInsets(),this.eventsToUnbind.push(A(n,"afterSetChartSize",()=>{this.playingField=this.getField(),(void 0===this.minZoom||this.minZoom===this.zoom)&&(this.fitToBounds(void 0,void 0,!1),!this.chart.hasRendered&&D(this.userOptions.zoom)&&(this.zoom=this.userOptions.zoom),this.userOptions.center&&_(!0,this.center,this.userOptions.center))})),this.setUpEvents()}createInsets(){let n=this.options,r=n.insets;r&&r.forEach(l=>{let d=new y(this,_(n.insetOptions,l));this.insets.push(d)})}fitToBounds(n,r,l=!0,d){let C=n||this.getProjectedBounds();if(C){let k=b(r,n?0:this.options.padding),p=this.getField(!1),S=L(k)?k:[k,k,k,k];this.padding=[z(S[0],p.height),z(S[1],p.width),z(S[2],p.height),z(S[3],p.width)],this.playingField=this.getField();let j=f(C,this.playingField);n||(this.minZoom=j);let H=this.projection.inverse([(C.x2+C.x1)/2,(C.y2+C.y1)/2]);this.setView(H,j,l,d)}}getField(n=!0){let r=n?this.padding:[0,0,0,0];return{x:r[3],y:r[0],width:this.chart.plotWidth-r[1]-r[3],height:this.chart.plotHeight-r[0]-r[2]}}getGeoMap(n){if(E(n))return O[n]&&"Topology"===O[n].type?J(O[n]):O[n];if(I(n,!0)){if("FeatureCollection"===n.type)return n;if("Topology"===n.type)return J(n)}}getMapBBox(){let n=this.getProjectedBounds(),r=this.getScale();if(n){let l=this.padding,d=this.projectedUnitsToPixels({x:n.x1,y:n.y2});return{width:(n.x2-n.x1)*r+l[1]+l[3],height:(n.y2-n.y1)*r+l[0]+l[2],x:d.x-l[3],y:d.y-l[0]}}}getProjectedBounds(){let n=this.projection,r=this.chart.series.reduce((d,C)=>{let k=C.getProjectedBounds&&C.getProjectedBounds();return k&&!1!==C.options.affectsMapView&&d.push(k),d},[]),l=this.options.fitToGeometry;if(l){if(!this.fitToGeometryCache)if("MultiPoint"===l.type){let d=l.coordinates.map(p=>n.forward(p)),C=d.map(p=>p[0]),k=d.map(p=>p[1]);this.fitToGeometryCache={x1:Math.min.apply(0,C),x2:Math.max.apply(0,C),y1:Math.min.apply(0,k),y2:Math.max.apply(0,k)}}else this.fitToGeometryCache=te(n.path(l));return this.fitToGeometryCache}return this.projection.bounds||g.compositeBounds(r)}getScale(){return 256/400.979322*Math.pow(2,this.zoom)}getSVGTransform(){let{x:n,y:r,width:l,height:d}=this.playingField,C=this.projection.forward(this.center),k=this.projection.hasCoordinates?-1:1,p=this.getScale(),S=p*k;return{scaleX:p,scaleY:S,translateX:n+l/2-C[0]*p,translateY:r+d/2-C[1]*S}}lonLatToPixels(n){let r=this.lonLatToProjectedUnits(n);if(r)return this.projectedUnitsToPixels(r)}lonLatToProjectedUnits(n){let r=this.chart,l=r.mapTransforms;if(l){for(let C in l)if(Object.hasOwnProperty.call(l,C)&&l[C].hitZone){let k=r.transformFromLatLon(n,l[C]);if(k&&$(k,l[C].hitZone.coordinates[0]))return k}return r.transformFromLatLon(n,l.default)}for(let C of this.insets)if(C.options.geoBounds&&$({x:n.lon,y:n.lat},C.options.geoBounds.coordinates[0])){let k=C.projection.forward([n.lon,n.lat]),p=C.projectedUnitsToPixels({x:k[0],y:k[1]});return this.pixelsToProjectedUnits(p)}let d=this.projection.forward([n.lon,n.lat]);if(!d.outside)return{x:d[0],y:d[1]}}projectedUnitsToLonLat(n){let r=this.chart,l=r.mapTransforms;if(l){for(let k in l)if(Object.hasOwnProperty.call(l,k)&&l[k].hitZone&&$(n,l[k].hitZone.coordinates[0]))return r.transformToLatLon(n,l[k]);return r.transformToLatLon(n,l.default)}let d=this.projectedUnitsToPixels(n);for(let k of this.insets)if(k.hitZone&&$(d,k.hitZone.coordinates[0])){let p=k.pixelsToProjectedUnits(d),S=k.projection.inverse([p.x,p.y]);return{lon:S[0],lat:S[1]}}let C=this.projection.inverse([n.x,n.y]);return{lon:C[0],lat:C[1]}}recommendMapView(n,r,l=!1){this.recommendedMapView={};let d=r.map(p=>this.getGeoMap(p)),C=[];d.forEach(p=>{if(p&&(Object.keys(this.recommendedMapView).length||(this.recommendedMapView=p["hc-recommended-mapview"]||{}),p.bbox)){let[S,j,H,Y]=p.bbox;C.push({x1:S,y1:j,x2:H,y2:Y})}});let k=C.length&&g.compositeBounds(C);F(this,"onRecommendMapView",{geoBounds:k,chart:n},function(){if(k&&this.recommendedMapView){if(!this.recommendedMapView.projection){let{x1:p,y1:S,x2:j,y2:H}=k;this.recommendedMapView.projection=j-p>180&&H-S>90?{name:"EqualEarth",parallels:[0,0],rotation:[0]}:{name:"LambertConformalConic",parallels:[S,H],rotation:[-(p+j)/2]}}this.recommendedMapView.insets||(this.recommendedMapView.insets=void 0)}}),this.geoMap=d[0],l&&n.hasRendered&&!n.userOptions.mapView?.projection&&this.recommendedMapView&&this.update(this.recommendedMapView)}redraw(n){this.chart.series.forEach(r=>{r.useMapGeometry&&(r.isDirty=!0)}),this.chart.redraw(n)}setView(n,r,l=!0,d){n&&(this.center=n),"number"==typeof r&&("number"==typeof this.minZoom&&(r=Math.max(r,this.minZoom)),"number"==typeof this.options.maxZoom&&(r=Math.min(r,this.options.maxZoom)),D(r)&&(this.zoom=r));let C=this.getProjectedBounds();if(C){let k=this.projection.forward(this.center),{x:p,y:S,width:j,height:H}=this.playingField,Y=this.getScale(),U=this.projectedUnitsToPixels({x:C.x1,y:C.y1}),se=this.projectedUnitsToPixels({x:C.x2,y:C.y2}),w=[(C.x1+C.x2)/2,(C.y1+C.y2)/2];if(!this.chart.series.some(X=>X.isDrilling)){let X=U.x,G=se.y,x=se.x,N=U.y;x-Xp+j&&X>p&&(k[0]+=Math.min(x-j-p,X-p)/Y),N-GS+H&&G>S&&(k[1]-=Math.min(N-H-S,G-S)/Y),this.center=this.projection.inverse(k)}this.insets.forEach(X=>{X.options.field&&(X.hitZone=X.getHitZone(),X.playingField=X.getField())}),this.render()}F(this,"afterSetView"),l&&this.redraw(d)}projectedUnitsToPixels(n){let r=this.getScale(),l=this.projection.forward(this.center),d=this.playingField;return{x:d.x+d.width/2-r*(l[0]-n.x),y:d.y+d.height/2+r*(l[1]-n.y)}}pixelsToLonLat(n){return this.projectedUnitsToLonLat(this.pixelsToProjectedUnits(n))}pixelsToProjectedUnits(n){let{x:r,y:l}=n,d=this.getScale(),C=this.projection.forward(this.center),k=this.playingField;return{x:C[0]+(r-(k.x+k.width/2))/d,y:C[1]-(l-(k.y+k.height/2))/d}}setUpEvents(){let n,r,l,{chart:d}=this,C=k=>{let{lastTouches:p,pinchDown:S}=d.pointer,j=this.projection,H=k.touches,{mouseDownX:Y,mouseDownY:U}=d,se=0;if(1===S?.length?(Y=S[0].chartX,U=S[0].chartY):2===S?.length&&(Y=(S[0].chartX+S[1].chartX)/2,U=(S[0].chartY+S[1].chartY)/2),2===H?.length&&p&&(se=Math.log(Math.sqrt(Math.pow(p[0].chartX-p[1].chartX,2)+Math.pow(p[0].chartY-p[1].chartY,2))/Math.sqrt(Math.pow(H[0].chartX-H[1].chartX,2)+Math.pow(H[0].chartY-H[1].chartY,2)))/Math.log(.5)),D(Y)&&D(U)){let w=`${Y},${U}`,{chartX:X,chartY:G}=k.originalEvent;2===H?.length&&(X=(H[0].chartX+H[1].chartX)/2,G=(H[0].chartY+H[1].chartY)/2),w!==r&&(r=w,n=this.projection.forward(this.center),l=(this.projection.options.rotation||[0,0]).slice());let x=j.def&&j.def.bounds,N=x&&f(x,this.playingField)||-1/0;if("Orthographic"===j.options.name&&2>(H?.length||0)&&(this.minZoom||1/0)<1.3*N){let R=440/(this.getScale()*Math.min(d.plotWidth,d.plotHeight));if(l){let K=(Y-X)*R-l[0],q=B(-l[1]-(U-G)*R,-80,80),he=this.zoom;this.update({projection:{rotation:[-K,-q]}},!1),this.fitToBounds(void 0,void 0,!1),this.zoom=he,d.redraw(!1)}}else if(D(X)&&D(G)){let R=this.getScale(),q=this.projection.inverse([n[0]+(Y-X)/R,n[1]-(U-G)/R*(this.projection.hasCoordinates?1:-1)]);isNaN(q[0]+q[1])||this.zoomBy(se,q,void 0,!1)}k.preventDefault()}};A(d,"pan",C),A(d,"touchpan",C),A(d,"selection",k=>{if(k.resetSelection)this.zoomBy();else{let p=k.x-d.plotLeft,S=k.y-d.plotTop,{y:j,x:H}=this.pixelsToProjectedUnits({x:p,y:S}),{y:Y,x:U}=this.pixelsToProjectedUnits({x:p+k.width,y:S+k.height});this.fitToBounds({x1:H,y1:j,x2:U,y2:Y},void 0,!0,!k.originalEvent.touches&&void 0),/^touch/.test(k.originalEvent.type)||d.showResetZoom(),k.preventDefault()}})}render(){this.group||(this.group=this.chart.renderer.g("map-view").attr({zIndex:4}).add())}update(n,r=!0,l){let d=n.projection,C=d&&le.toString(d)!==le.toString(this.options.projection),k=!1;_(!0,this.userOptions,n),_(!0,this.options,n),"insets"in n&&(this.insets.forEach(p=>p.destroy()),this.insets.length=0,k=!0),(C||"fitToGeometry"in n)&&delete this.fitToGeometryCache,(C||k)&&(this.chart.series.forEach(p=>{let S=p.transformGroups;if(p.clearBounds&&p.clearBounds(),p.isDirty=!0,p.isDirtyData=!0,k&&S)for(;S.length>1;){let j=S.pop();j&&j.destroy()}}),C&&(this.projection=new le(this.options.projection)),k&&this.createInsets(),!n.center&&Object.hasOwnProperty.call(n,"zoom")&&!D(n.zoom)&&this.fitToBounds(void 0,void 0,!1)),n.center||D(n.zoom)?this.setView(this.options.center,n.zoom,!1):"fitToGeometry"in n&&this.fitToBounds(void 0,void 0,!1),r&&this.chart.redraw(l)}zoomBy(n,r,l,d){let C=this.chart,k=this.projection.forward(this.center);if("number"==typeof n){let p,S,j,H=this.zoom+n;if(l){let[Y,U]=l,se=this.getScale();S=k[0]+(Y-C.plotLeft-C.plotWidth/2)/se,j=k[1]+(U-C.plotTop-C.plotHeight/2)/se}if("number"==typeof S&&"number"==typeof j){let Y=1-Math.pow(2,this.zoom)/Math.pow(2,H),se=k[1]-j;k[0]-=(k[0]-S)*Y,k[1]+=se*Y,p=this.projection.inverse(k)}this.setView(r||p,H,void 0,d)}else this.fitToBounds(void 0,void 0,void 0,d)}}class y extends g{constructor(n,r){if(super(n.chart,r),this.id=r.id,this.mapView=n,this.options=_({center:[0,0]},n.options.insetOptions,r),this.allBounds=[],this.options.geoBounds){let l=n.projection.path(this.options.geoBounds);this.geoBoundsProjectedBox=te(l),this.geoBoundsProjectedPolygon=l.map(d=>[d[1]||0,d[2]||0])}}getField(n=!0){let r=this.hitZone;if(r){let l=n?this.padding:[0,0,0,0],d=r.coordinates[0],C=d.map(Y=>Y[0]),k=d.map(Y=>Y[1]),p=Math.min.apply(0,C)+l[3],S=Math.max.apply(0,C)-l[1],j=Math.min.apply(0,k)+l[0],H=Math.max.apply(0,k)-l[2];if(D(p)&&D(j))return{x:p,y:j,width:S-p,height:H-j}}return super.getField.call(this,n)}getHitZone(){let{chart:n,mapView:r,options:l}=this,{coordinates:d}=l.field||{};if(d){let C=d[0];if("percent"===l.units){let k="mapBoundingBox"===l.relativeTo&&r.getMapBBox()||_(n.plotBox,{x:0,y:0});C=C.map(p=>[z(`${p[0]}%`,k.width,k.x),z(`${p[1]}%`,k.height,k.y)])}return{type:"Polygon",coordinates:[C]}}}getProjectedBounds(){return g.compositeBounds(this.allBounds)}isInside(n){let{geoBoundsProjectedBox:r,geoBoundsProjectedPolygon:l}=this;return!!(r&&n.x>=r.x1&&n.x<=r.x2&&n.y>=r.y1&&n.y<=r.y2&&l&&$(n,l))}render(){let{chart:n,mapView:r,options:l}=this,d=l.borderPath||l.field;if(d&&r.group){let C=!0;this.border||(this.border=n.renderer.path().addClass("highcharts-mapview-inset-border").add(r.group),C=!1),n.styledMode||this.border.attr({stroke:l.borderColor,"stroke-width":l.borderWidth});let k=Math.round(this.border.strokeWidth())%2/2,p="mapBoundingBox"===l.relativeTo&&r.getMapBBox()||r.playingField,S=(d.coordinates||[]).reduce((j,H)=>H.reduce((Y,U,se)=>{let[w,X]=U;return"percent"===l.units&&(w=n.plotLeft+z(`${w}%`,p.width,p.x),X=n.plotTop+z(`${X}%`,p.height,p.y)),w=Math.floor(w)+k,X=Math.floor(X)+k,Y.push(0===se?["M",w,X]:["L",w,X]),Y},j),[]);this.border[C?"animate":"attr"]({d:S})}}destroy(){this.border&&(this.border=this.border.destroy()),this.eventsToUnbind.forEach(n=>n())}setUpEvents(){}}return g}),Pe(V,"Series/Map/MapSeries.js",[V["Core/Animation/AnimationUtilities.js"],V["Series/ColorMapComposition.js"],V["Series/CenteredUtilities.js"],V["Core/Globals.js"],V["Core/Chart/MapChart.js"],V["Series/Map/MapPoint.js"],V["Series/Map/MapSeriesDefaults.js"],V["Maps/MapView.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe,pe,J,te,$){let{animObject:A,stop:B}=Z,{noop:F}=ve,{splitPath:L}=le,{column:D,scatter:I}=te.seriesTypes,{extend:E,find:_,fireEvent:b,getNestedProperty:T,isArray:z,defined:O,isNumber:f,isObject:a,merge:g,objectEach:y,pick:o,splat:n}=$;class r extends I{constructor(){super(...arguments),this.processedData=[]}animate(d){let{chart:C,group:k}=this,p=A(this.options.animation);d?k.attr({translateX:C.plotLeft+C.plotWidth/2,translateY:C.plotTop+C.plotHeight/2,scaleX:.001,scaleY:.001}):k.animate({translateX:C.plotLeft,translateY:C.plotTop,scaleX:1,scaleY:1},p)}clearBounds(){this.points.forEach(d=>{delete d.bounds,delete d.insetIndex,delete d.projectedPath}),delete this.bounds}doFullTranslate(){return!(!this.isDirtyData&&!this.chart.isResizing&&this.hasRendered)}drawMapDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}drawPoints(){let d=this,{chart:C,group:k,transformGroups:p=[]}=this,{mapView:S,renderer:j}=C;if(S){this.transformGroups=p,p[0]||(p[0]=j.g().add(k));for(let H=0,Y=S.insets.length;H{let{graphic:Y}=H;H.group=p["number"==typeof H.insetIndex?H.insetIndex+1:0],Y&&Y.parentGroup!==H.group&&Y.add(H.group)}),D.prototype.drawPoints.apply(this),this.points.forEach(H=>{let Y=H.graphic;if(Y){let U=Y.animate,se="";H.name&&(se+="highcharts-name-"+H.name.replace(/ /g,"-").toLowerCase()),H.properties&&H.properties["hc-key"]&&(se+=" highcharts-key-"+H.properties["hc-key"].toString().toLowerCase()),se&&Y.addClass(se),C.styledMode&&Y.css(this.pointAttribs(H,H.selected?"select":void 0)),Y.attr({visibility:H.visible||!H.visible&&!H.isNull?"inherit":"hidden"}),Y.animate=function(w,X,G){let x=f(w["stroke-width"])&&!f(Y["stroke-width"]),N=f(Y["stroke-width"])&&!f(w["stroke-width"]);if(x||N){let R=o(d.getStrokeWidth(d.options),1)/(C.mapView&&C.mapView.getScale()||1);x&&(Y["stroke-width"]=R),N&&(w["stroke-width"]=R)}return U.call(Y,w,X,N?function(){Y.element.removeAttribute("stroke-width"),delete Y["stroke-width"],G&&G.apply(this,arguments)}:G)}}})),p.forEach((H,Y)=>{let U=(0===Y?S:S.insets[Y-1]).getSVGTransform(),se=o(this.getStrokeWidth(this.options),1),w=U.scaleX,X=U.scaleY>0?1:-1,G=x=>{(d.points||[]).forEach(N=>{let R,K=N.graphic;K&&K["stroke-width"]&&(R=this.getStrokeWidth(N.options))&&K.attr({"stroke-width":R/x})})};if(j.globalAnimation&&C.hasRendered&&S.allowTransformAnimation){let x=Number(H.attr("translateX")),N=Number(H.attr("translateY")),R=Number(H.attr("scaleX")),K=(me,Ce)=>{let Se=R+(w-R)*Ce.pos;H.attr({translateX:x+(U.translateX-x)*Ce.pos,translateY:N+(U.translateY-N)*Ce.pos,scaleX:Se,scaleY:Se*X,"stroke-width":se/Se}),G(Se)},q=g(A(j.globalAnimation)),he=q.step;q.step=function(){he&&he.apply(this,arguments),K.apply(this,arguments)},H.attr({animator:0}).animate({animator:1},q,function(){"boolean"!=typeof j.globalAnimation&&j.globalAnimation.complete&&j.globalAnimation.complete({applyDrilldown:!0}),b(this,"mapZoomComplete")}.bind(this))}else B(H),H.attr(g(U,{"stroke-width":se/w})),G(w)}),this.isDrilling||this.drawMapDataLabels()}}getProjectedBounds(){if(!this.bounds&&this.chart.mapView){let{insets:d,projection:C}=this.chart.mapView,k=[];(this.points||[]).forEach(p=>{if(p.path||p.geometry){if("string"==typeof p.path?p.path=L(p.path):z(p.path)&&"M"===p.path[0]&&(p.path=this.chart.renderer.pathToSegments(p.path)),!p.bounds){let S=p.getProjectedBounds(C);if(S){p.labelrank=o(p.labelrank,(S.x2-S.x1)*(S.y2-S.y1));let{midX:j,midY:H}=S;if(d&&f(j)&&f(H)){let Y=_(d,U=>U.isInside({x:j,y:H}));Y&&(delete p.projectedPath,(S=p.getProjectedBounds(Y.projection))&&Y.allBounds.push(S),p.insetIndex=d.indexOf(Y))}p.bounds=S}}p.bounds&&void 0===p.insetIndex&&k.push(p.bounds)}}),this.bounds=J.compositeBounds(k)}return this.bounds}getStrokeWidth(d){let C=this.pointAttrToOptions;return d[C&&C["stroke-width"]||"borderWidth"]}hasData(){return!!this.processedXData.length}pointAttribs(d,C){let{mapView:k,styledMode:p}=d.series.chart,S=p?this.colorAttribs(d):D.prototype.pointAttribs.call(this,d,C),j=this.getStrokeWidth(d.options);if(C){let Y=g(this.options.states&&this.options.states[C],d.options.states&&d.options.states[C]||{}),U=this.getStrokeWidth(Y);O(U)&&(j=U),S.stroke=Y.borderColor??d.color}j&&k&&(j/=k.getScale());let H=this.getStrokeWidth(this.options);return S.dashstyle&&k&&f(H)&&(j=H/k.getScale()),d.visible||(S.fill=this.options.nullColor),O(j)?S["stroke-width"]=j:delete S["stroke-width"],S["stroke-linecap"]=S["stroke-linejoin"]=this.options.linecap,S}updateData(){return!this.processedData&&super.updateData.apply(this,arguments)}setData(d,C=!0,k,p){delete this.bounds,super.setData(d,!1,void 0,p),this.processData(),this.generatePoints(),C&&this.chart.redraw(k)}processData(){let d,C,k,p=this.options,S=p.data,j=this.chart,H=j.options.chart,Y=this.joinBy,U=p.keys||this.pointArrayMap,se=[],w={},X=this.chart.mapView,G=X&&(a(p.mapData,!0)?X.getGeoMap(p.mapData):X.geoMap),x=j.mapTransforms=H.mapTransforms||G&&G["hc-transform"]||j.mapTransforms;x&&y(x,R=>{R.rotation&&(R.cosAngle=Math.cos(R.rotation),R.sinAngle=Math.sin(R.rotation))}),z(p.mapData)?k=p.mapData:G&&"FeatureCollection"===G.type&&(this.mapTitle=G.title,k=ve.geojson(G,this.type,this)),this.processedData=[];let N=this.processedData;if(S){let R;for(let K=0,q=S.length;KU.length&&"string"==typeof R[0]&&(N[K]["hc-key"]=R[0],++he);for(let me=0;me0?fe.prototype.setNestedProperty(N[K],R[he],U[me]):N[K][U[me]]=R[he])}else N[K]=S[K];Y&&"_i"===Y[0]&&(N[K]._i=K)}}if(k){this.mapData=k,this.mapMap={};for(let R=0;R{let q=T(R,K);w[q]&&se.push(w[q])})}if(p.allAreas){if(Y[1]){let K=Y[1];N.forEach(q=>{se.push(T(K,q))})}let R="|"+se.map(function(K){return K&&K[Y[0]]}).join("|")+"|";k.forEach(K=>{Y[0]&&-1!==R.indexOf("|"+K[Y[0]]+"|")||N.push(g(K,{value:null}))})}}this.processedXData=Array(N.length)}setOptions(d){let C=super.setOptions(d),k=C.joinBy;return null===C.joinBy&&(k="_i"),(k=this.joinBy=n(k))[1]||(k[1]=k[0]),C}translate(){let d=this.doFullTranslate(),C=this.chart.mapView,k=C&&C.projection;if(this.chart.hasRendered&&(this.isDirtyData||!this.hasRendered)&&(this.processData(),this.generatePoints(),delete this.bounds,!C||C.userOptions.center||f(C.userOptions.zoom)||C.zoom!==C.minZoom?this.getProjectedBounds():C.fitToBounds(void 0,void 0,!1)),C){let p=C.getSVGTransform();this.points.forEach(S=>{let j=f(S.insetIndex)&&C.insets[S.insetIndex].getSVGTransform()||p;j&&S.bounds&&f(S.bounds.midX)&&f(S.bounds.midY)&&(S.plotX=S.bounds.midX*j.scaleX+j.translateX,S.plotY=S.bounds.midY*j.scaleY+j.translateY),d&&(S.shapeType="path",S.shapeArgs={d:fe.getProjectedPath(S,k)}),S.hiddenInDataClass||(S.projectedPath&&!S.projectedPath.length?S.setVisible(!1):S.visible||S.setVisible(!0))})}b(this,"afterTranslate")}update(d){d.mapData&&this.chart.mapView?.recommendMapView(this.chart,[this.chart.options.chart.map,...(this.chart.options.series||[]).map((C,k)=>k===this._i?d.mapData:C.mapData)],!0),super.update.apply(this,arguments)}}return r.defaultOptions=g(I.defaultOptions,pe),E(r.prototype,{type:"map",axisTypes:ie.seriesMembers.axisTypes,colorAttribs:ie.seriesMembers.colorAttribs,colorKey:ie.seriesMembers.colorKey,directTouch:!0,drawDataLabels:F,drawGraph:F,forceDL:!0,getCenter:re.getCenter,getExtremesFromAll:!0,getSymbol:F,isCartesian:!1,parallelArrays:ie.seriesMembers.parallelArrays,pointArrayMap:ie.seriesMembers.pointArrayMap,pointClass:fe,preserveAspectRatio:!0,searchPoint:F,trackerGroups:ie.seriesMembers.trackerGroups,useMapGeometry:!0}),ie.compose(r),te.registerSeriesType("map",r),r}),Pe(V,"Series/MapLine/MapLineSeriesDefaults.js",[],function(){return{lineWidth:1,fillColor:"none",legendSymbol:"lineMarker"}}),Pe(V,"Series/MapLine/MapLineSeries.js",[V["Series/MapLine/MapLineSeriesDefaults.js"],V["Series/Map/MapSeries.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){let{extend:le,merge:fe}=ve;class pe extends ie{pointAttribs(te,$){let A=super.pointAttribs(te,$);return A.fill=this.options.fillColor,A}}return pe.defaultOptions=fe(ie.defaultOptions,Z),le(pe.prototype,{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"}}),re.registerSeriesType("mapline",pe),pe}),Pe(V,"Series/MapPoint/MapPointPoint.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie){let{scatter:re}=Z.seriesTypes,{isNumber:ve}=ie;return class le extends re.prototype.pointClass{isValid(){return!!(this.options.geometry||ve(this.x)&&ve(this.y)||ve(this.options.lon)&&ve(this.options.lat))}}}),Pe(V,"Series/MapPoint/MapPointSeriesDefaults.js",[],function(){return{dataLabels:{crop:!1,defer:!1,enabled:!0,formatter:function(){return this.point.name},overflow:!1,style:{color:"#000000"}},legendSymbol:"lineMarker"}}),Pe(V,"Series/MapPoint/MapPointSeries.js",[V["Core/Globals.js"],V["Series/MapPoint/MapPointPoint.js"],V["Series/MapPoint/MapPointSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe){let{noop:pe}=Z,{map:J,scatter:te}=ve.seriesTypes,{extend:$,fireEvent:A,isNumber:B,merge:F}=fe;class L extends te{constructor(){super(...arguments),this.clearBounds=J.prototype.clearBounds}drawDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}projectPoint(I){let E=this.chart.mapView;if(E){let{geometry:_,lon:b,lat:T}=I,z=_&&"Point"===_.type&&_.coordinates;if(B(b)&&B(T)&&(z=[b,T]),z)return E.lonLatToProjectedUnits({lon:z[0],lat:z[1]})}}translate(){let I=this.chart.mapView;if(this.processedXData||this.processData(),this.generatePoints(),this.getProjectedBounds&&this.isDirtyData&&(delete this.bounds,this.getProjectedBounds()),I){let E=I.getSVGTransform(),{hasCoordinates:_}=I.projection;this.points.forEach(b=>{let T,{x:z,y:O}=b,f=B(b.insetIndex)&&I.insets[b.insetIndex].getSVGTransform()||E,a=this.projectPoint(b.options)||b.properties&&this.projectPoint(b.properties);if(a?(z=a.x,O=a.y):b.bounds&&(z=b.bounds.midX,O=b.bounds.midY,f&&B(z)&&B(O)&&(b.plotX=z*f.scaleX+f.translateX,b.plotY=O*f.scaleY+f.translateY,T=!0)),B(z)&&B(O)){if(!T){let g=I.projectedUnitsToPixels({x:z,y:O});b.plotX=g.x,b.plotY=_?g.y:this.chart.plotHeight-g.y}}else b.y=b.plotX=b.plotY=void 0;b.isInside=this.isPointInside(b),b.zone=this.zones.length?b.getZone():void 0})}A(this,"afterTranslate")}}return L.defaultOptions=F(te.defaultOptions,re),le.prototype.symbols.mapmarker=(D,I,E,_,b)=>{let T,z,O=b&&"legend"===b.context;O?(T=D+E/2,z=I+_):b&&"number"==typeof b.anchorX&&"number"==typeof b.anchorY?(T=b.anchorX,z=b.anchorY):(T=D+E/2,z=I+_/2,I-=_);let f=O?_/3:_/2;return[["M",T,z],["C",T,z,T-f,I+1.5*f,T-f,I+f],["A",f,f,1,1,1,T+f,I+f],["C",T+f,I+1.5*f,T,z,T,z],["Z"]]},$(L.prototype,{type:"mappoint",axisTypes:["colorAxis"],forceDL:!0,isCartesian:!1,pointClass:ie,searchPoint:pe,useMapGeometry:!0}),ve.registerSeriesType("mappoint",L),L}),Pe(V,"Series/Bubble/BubbleLegendDefaults.js",[],function(){return{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:"0.9em",color:"#000000"},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}}),Pe(V,"Series/Bubble/BubbleLegendItem.js",[V["Core/Color/Color.js"],V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){let{parse:le}=Z,{noop:fe}=re,{arrayMax:pe,arrayMin:J,isNumber:te,merge:$,pick:A,stableSort:B}=ve;return class{constructor(F,L){this.setState=fe,this.init(F,L)}init(F,L){this.options=F,this.visible=!0,this.chart=L.chart,this.legend=L}addToLegend(F){F.splice(this.options.legendIndex,0,this)}drawLegendSymbol(F){let L,D=A(F.options.itemDistance,20),I=this.legendItem||{},E=this.options,_=E.ranges,b=E.connectorDistance;if(!_||!_.length||!te(_[0].value))return void(F.options.bubbleLegend.autoRanges=!0);B(_,function(f,a){return a.value-f.value}),this.ranges=_,this.setOptions(),this.render();let T=this.getMaxLabelSize(),z=this.ranges[0].radius,O=2*z;L=(L=b-z+T.width)>0?L:0,this.maxLabel=T,this.movementX="left"===E.labels.align?L:0,I.labelWidth=O+L+D,I.labelHeight=O+T.height/2}setOptions(){let F=this.ranges,L=this.options,D=this.chart.series[L.seriesIndex],I=this.legend.baseline,E={zIndex:L.zIndex,"stroke-width":L.borderWidth},_={zIndex:L.zIndex,"stroke-width":L.connectorWidth},b={align:this.legend.options.rtl||"left"===L.labels.align?"right":"left",zIndex:L.zIndex},T=D.options.marker.fillOpacity,z=this.chart.styledMode;F.forEach(function(O,f){z||(E.stroke=A(O.borderColor,L.borderColor,D.color),E.fill=A(O.color,L.color,1!==T?le(D.color).setOpacity(T).get("rgba"):D.color),_.stroke=A(O.connectorColor,L.connectorColor,D.color)),F[f].radius=this.getRangeRadius(O.value),F[f]=$(F[f],{center:F[0].radius-F[f].radius+I}),z||$(!0,F[f],{bubbleAttribs:$(E),connectorAttribs:$(_),labelAttribs:b})},this)}getRangeRadius(F){let L=this.options;return this.chart.series[this.options.seriesIndex].getRadius.call(this,L.ranges[L.ranges.length-1].value,L.ranges[0].value,L.minSize,L.maxSize,F)}render(){let F=this.legendItem||{},L=this.chart.renderer,D=this.options.zThreshold;for(let I of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),F.symbol=L.g("bubble-legend"),F.label=L.g("bubble-legend-item").css(this.legend.itemStyle||{}),F.symbol.translateX=0,F.symbol.translateY=0,F.symbol.add(F.label),F.label.add(F.group),this.ranges))I.value>=D&&this.renderRange(I);this.hideOverlappingLabels()}renderRange(F){let L=this.ranges[0],D=this.legend,I=this.options,E=I.labels,_=this.chart,b=_.series[I.seriesIndex],T=_.renderer,z=this.symbols,O=z.labels,f=F.center,a=Math.abs(F.radius),g=I.connectorDistance||0,y=E.align,r=I.connectorWidth,l=L.radius||0,d=f-a-I.borderWidth/2+r/2,C=(d%1?1:.5)-(r%2?0:.5),k=T.styledMode,p=D.options.rtl||"left"===y?-g:g;"center"===y&&(p=0,I.connectorDistance=0,F.labelAttribs.align="center"),z.bubbleItems.push(T.circle(l,f+C,a).attr(k?{}:F.bubbleAttribs).addClass((k?"highcharts-color-"+b.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(I.className||"")).add(this.legendItem.symbol)),z.connectors.push(T.path(T.crispLine([["M",l,d],["L",l+p,d]],I.connectorWidth)).attr(k?{}:F.connectorAttribs).addClass((k?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(I.connectorClassName||"")).add(this.legendItem.symbol));let S=T.text(this.formatLabel(F)).attr(k?{}:F.labelAttribs).css(k?{}:E.style).addClass("highcharts-bubble-legend-labels "+(I.labels.className||"")).add(this.legendItem.symbol),j={x:l+p+I.labels.x,y:d+I.labels.y+.4*S.getBBox().height};S.attr(j),O.push(S),S.placed=!0,S.alignAttr=j}getMaxLabelSize(){let F,L;return this.symbols.labels.forEach(function(D){L=D.getBBox(!0),F=F?L.width>F.width?L:F:L}),F||{}}formatLabel(F){let L=this.options,D=L.labels.formatter,I=L.labels.format,{numberFormatter:E}=this.chart;return I?ie.format(I,F):D?D.call(F):E(F.value,1)}hideOverlappingLabels(){let D=this.symbols;!this.options.labels.allowOverlap&&D&&(this.chart.hideOverlappingLabels(D.labels),D.labels.forEach(function(I,E){I.newOpacity?I.newOpacity!==I.oldOpacity&&D.connectors[E].show():D.connectors[E].hide()}))}getRanges(){let I,E,F=this.legend.bubbleLegend,D=F.options.ranges,_=Number.MAX_VALUE,b=-Number.MAX_VALUE;return F.chart.series.forEach(function(T){T.isBubble&&!T.ignoreSeries&&(E=T.zData.filter(te)).length&&(_=A(T.options.zMin,Math.min(_,Math.max(J(E),!1===T.options.displayNegative?T.options.zThreshold:-Number.MAX_VALUE))),b=A(T.options.zMax,Math.max(b,pe(E))))}),I=_===b?[{value:b}]:[{value:_},{value:(_+b)/2},{value:b,autoRanges:!0}],D.length&&D[0].radius&&I.reverse(),I.forEach(function(T,z){D&&D[z]&&(I[z]=$(D[z],T))}),I}predictBubbleSizes(){let g,F=this.chart,L=F.legend.options,D=L.floating,I="horizontal"===L.layout,E=I?F.legend.lastLineHeight:0,_=F.plotSizeX,b=F.plotSizeY,T=F.series[this.options.seriesIndex],z=T.getPxExtremes(),O=Math.ceil(z.minPxSize),f=Math.ceil(z.maxPxSize),a=Math.min(b,_),y=T.options.maxSize;return D||!/%$/.test(y)?g=f:(g=(a+E)*(y=parseFloat(y))/100/(y/100+1),(I&&b-g>=_||!I&&_-g>=b)&&(g=f)),[O,Math.ceil(g)]}updateRanges(F,L){let D=this.legend.options.bubbleLegend;D.minSize=F,D.maxSize=L,D.ranges=this.getRanges()}correctSizes(){let F=this.legend,L=this.chart.series[this.options.seriesIndex].getPxExtremes();Math.abs(Math.ceil(L.maxPxSize)-this.options.maxSize)>1&&(this.updateRanges(this.options.minSize,L.maxPxSize),F.render())}}}),Pe(V,"Series/Bubble/BubbleLegendComposition.js",[V["Series/Bubble/BubbleLegendDefaults.js"],V["Series/Bubble/BubbleLegendItem.js"],V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le){let{setOptions:fe}=re,{composed:pe}=ve,{addEvent:J,objectEach:te,pushUnique:$,wrap:A}=le;function B(_,b,T){let z,O,f,a=this.legend,g=F(this)>=0;a&&a.options.enabled&&a.bubbleLegend&&a.options.bubbleLegend.autoRanges&&g?(z=a.bubbleLegend.options,O=a.bubbleLegend.predictBubbleSizes(),a.bubbleLegend.updateRanges(O[0],O[1]),z.placed||(a.group.placed=!1,a.allItems.forEach(y=>{(f=y.legendItem||{}).group&&(f.group.translateY=void 0)})),a.render(),this.getMargins(),this.axes.forEach(function(y){y.visible&&y.render(),z.placed||(y.setScale(),y.updateNames(),te(y.ticks,function(o){o.isNew=!0,o.isNewLabel=!0}))}),z.placed=!0,this.getMargins(),_.call(this,b,T),a.bubbleLegend.correctSizes(),E(a,L(a))):(_.call(this,b,T),a&&a.options.enabled&&a.bubbleLegend&&(a.render(),E(a,L(a))))}function F(_){let b=_.series,T=0;for(;TO.height&&(O.height=b[y].itemHeight);O.step=g}return T}function D(_){let b=this.bubbleLegend,T=this.options,z=T.bubbleLegend,O=F(this.chart);b&&b.ranges&&b.ranges.length&&(z.ranges.length&&(z.autoRanges=!!z.ranges[0].autoRanges),this.destroyItem(b)),O>=0&&T.enabled&&z.enabled&&(z.seriesIndex=O,this.bubbleLegend=new ie(z,this),this.bubbleLegend.addToLegend(_.allItems))}function I(_){let b;if(_.defaultPrevented)return!1;let T=this.chart,z=this.visible,O=this.chart.legend;O&&O.bubbleLegend&&(this.visible=!z,this.ignoreSeries=z,b=F(T)>=0,O.bubbleLegend.visible!==b&&(O.update({bubbleLegend:{enabled:b}}),O.bubbleLegend.visible=b),this.visible=z)}function E(_,b){let O,f,a,g,z=_.options.rtl,y=0;_.allItems.forEach((o,n)=>{(g=o.legendItem||{}).group&&(O=g.group.translateX||0,f=g.y||0,((a=o.movementX)||z&&o.ranges)&&(a=z?O-o.options.maxSize/2:O+a,g.group.attr({translateX:a})),n>b[y].step&&y++,g.group.attr({translateY:Math.round(f+b[y].height/2)}),g.y=f+b[y].height/2)})}return{compose:function(_,b,T){$(pe,"Series.BubbleLegend")&&(fe({legend:{bubbleLegend:Z}}),A(_.prototype,"drawChartBox",B),J(b,"afterGetAllItems",D),J(T,"legendItemClick",I))}}}),Pe(V,"Series/Bubble/BubblePoint.js",[V["Core/Series/Point.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{seriesTypes:{scatter:{prototype:{pointClass:ve}}}}=ie,{extend:le}=re;class fe extends ve{haloPath(J){return Z.prototype.haloPath.call(this,0===J?0:(this.marker&&this.marker.radius||0)+J)}}return le(fe.prototype,{ttBelow:!1}),fe}),Pe(V,"Series/Bubble/BubbleSeries.js",[V["Series/Bubble/BubbleLegendComposition.js"],V["Series/Bubble/BubblePoint.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe){let{parse:pe}=re,{composed:J,noop:te}=ve,{series:$,seriesTypes:{column:{prototype:A},scatter:B}}=le,{addEvent:F,arrayMax:L,arrayMin:D,clamp:I,extend:E,isNumber:_,merge:b,pick:T,pushUnique:z}=fe;function O(){let k,a=this.len,{coll:g,isXAxis:y,min:o}=this,n=y?"xData":"yData",r=(this.max||0)-(o||0),l=0,d=a,C=a/r;("xAxis"===g||"yAxis"===g)&&(this.series.forEach(p=>{if(p.bubblePadding&&p.reserveSpace()){this.allowZoomOutside=!0,k=!0;let S=p[n];if(y&&((p.onPoint||p).getRadii(0,0,p),p.onPoint&&(p.radii=p.onPoint.radii)),r>0){let j=S.length;for(;j--;)if(_(S[j])&&this.dataMin<=S[j]&&S[j]<=this.max){let H=p.radii&&p.radii[j]||0;l=Math.min((S[j]-o)*C-H,l),d=Math.max((S[j]-o)*C+H,d)}}}}),k&&r>0&&!this.logarithmic&&(d-=a,C*=(a+Math.max(0,l)-Math.min(d,a))/a,[["min","userMin",l],["max","userMax",d]].forEach(p=>{void 0===T(this.options[p[0]],this[p[1]])&&(this[p[0]]+=p[2]/C)})))}class f extends B{static compose(g,y,o,n){Z.compose(y,o,n),z(J,"Series.Bubble")&&F(g,"foundExtremes",O)}animate(g){!g&&this.points.length{if(H.bubblePadding&&H.reserveSpace()){let Y=(H.onPoint||H).getZExtremes();Y&&(S=Math.min(T(S,Y.zMin),Y.zMin),j=Math.max(T(j,Y.zMax),Y.zMax),p=!0)}}),p?(d={zMin:S,zMax:j},this.chart.bubbleZExtremes=d):d={zMin:0,zMax:0}}for(r=0,n=g.length;r0&&(S=(r-g)/p)}return C&&S>=0&&(S=Math.sqrt(S)),Math.ceil(o+S*(n-o))/2}hasData(){return!!this.processedXData.length}pointAttribs(g,y){let o=this.options.marker.fillOpacity,n=$.prototype.pointAttribs.call(this,g,y);return 1!==o&&(n.fill=pe(n.fill).setOpacity(o).get("rgba")),n}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){let{data:g,options:y,radii:o}=this,{minPxSize:n}=this.getPxExtremes(),r=g.length;for(;r--;){let l=g[r],d=o?o[r]:0;"z"===this.zoneAxis&&(l.negative=(l.z||0)<(y.zThreshold||0)),_(d)&&d>=n/2?(l.marker=E(l.marker,{radius:d,width:2*d,height:2*d}),l.dlBox={x:l.plotX-d,y:l.plotY-d,width:2*d,height:2*d}):(l.shapeArgs=l.plotY=l.dlBox=void 0,l.isInside=!1)}}getPxExtremes(){let g=Math.min(this.chart.plotWidth,this.chart.plotHeight),y=r=>{let l;return"string"==typeof r&&(l=/%$/.test(r),r=parseInt(r,10)),l?g*r/100:r},o=y(T(this.options.minSize,8));return{minPxSize:o,maxPxSize:Math.max(y(T(this.options.maxSize,"20%")),o)}}getZExtremes(){let g=this.options,y=(this.zData||[]).filter(_);if(y.length){let o=T(g.zMin,I(D(y),!1===g.displayNegative?g.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),n=T(g.zMax,L(y));if(_(o)&&_(n))return{zMin:o,zMax:n}}}}return f.defaultOptions=b(B.defaultOptions,{dataLabels:{formatter:function(){let{numberFormatter:a}=this.series.chart,{z:g}=this.point;return _(g)?a(g,-1):""},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"}),E(f.prototype,{alignDataLabel:A.alignDataLabel,applyZones:te,bubblePadding:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:ie,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),F(f,"updatedData",a=>{delete a.target.chart.bubbleZExtremes}),F(f,"remove",a=>{delete a.target.chart.bubbleZExtremes}),le.registerSeriesType("bubble",f),f}),Pe(V,"Series/MapBubble/MapBubblePoint.js",[V["Series/Bubble/BubblePoint.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{seriesTypes:{map:{prototype:{pointClass:{prototype:ve}}}}}=ie,{extend:le}=re;class fe extends Z{isValid(){return"number"==typeof this.z}}return le(fe.prototype,{applyOptions:ve.applyOptions,getProjectedBounds:ve.getProjectedBounds}),fe}),Pe(V,"Series/MapBubble/MapBubbleSeries.js",[V["Series/Bubble/BubbleSeries.js"],V["Series/MapBubble/MapBubblePoint.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){let{seriesTypes:{map:{prototype:le},mappoint:{prototype:fe}}}=re,{extend:pe,merge:J}=ve;class te extends Z{constructor(){super(...arguments),this.clearBounds=le.clearBounds}searchPoint(A,B){return this.searchKDTree({plotX:A.chartX-this.chart.plotLeft,plotY:A.chartY-this.chart.plotTop},B,A)}translate(){fe.translate.call(this),this.getRadii(),this.translateBubble()}updateParallelArrays(A,B,F){super.updateParallelArrays.call(this,A,B,F);let L=this.processedXData,D=this.xData;L&&D&&(L.length=D.length)}}return te.defaultOptions=J(Z.defaultOptions,{lineWidth:0,animationLimit:500,joinBy:"hc-key",tooltip:{pointFormat:"{point.name}: {point.z}"}}),pe(te.prototype,{type:"mapbubble",axisTypes:["colorAxis"],getProjectedBounds:le.getProjectedBounds,isCartesian:!1,pointArrayMap:["z"],pointClass:ie,processData:le.processData,projectPoint:fe.projectPoint,kdAxisArray:["plotX","plotY"],setData:le.setData,setOptions:le.setOptions,updateData:le.updateData,useMapGeometry:!0,xyFromShape:!0}),re.registerSeriesType("mapbubble",te),te}),Pe(V,"Series/Heatmap/HeatmapPoint.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie){let{scatter:{prototype:{pointClass:re}}}=Z.seriesTypes,{clamp:ve,defined:le,extend:fe,pick:pe}=ie;class J extends re{applyOptions($,A){return(this.isNull||null===this.value)&&delete this.color,super.applyOptions($,A),this.formatPrefix=this.isNull||null===this.value?"null":"point",this}getCellAttributes(){let $=this.series,A=$.options,B=(A.colsize||1)/2,F=(A.rowsize||1)/2,L=$.xAxis,D=$.yAxis,I=this.options.marker||$.options.marker,E=$.pointPlacementToXValue(),_=pe(this.pointPadding,A.pointPadding,0),b={x1:ve(Math.round(L.len-L.translate(this.x-B,!1,!0,!1,!0,-E)),-L.len,2*L.len),x2:ve(Math.round(L.len-L.translate(this.x+B,!1,!0,!1,!0,-E)),-L.len,2*L.len),y1:ve(Math.round(D.translate(this.y-F,!1,!0,!1,!0)),-D.len,2*D.len),y2:ve(Math.round(D.translate(this.y+F,!1,!0,!1,!0)),-D.len,2*D.len)};for(let T of[["width","x"],["height","y"]]){let z=T[0],O=T[1],f=O+"1",a=O+"2",g=Math.abs(b[f]-b[a]),y=I&&I.lineWidth||0,o=Math.abs(b[f]+b[a])/2,n=I&&I[z];if(le(n)&&n"},states:{hover:{halo:!1,brightness:.2}},legendSymbol:"rectangle"}}),Pe(V,"Series/InterpolationUtilities.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie){let{doc:re}=Z,{defined:ve,pick:le}=ie;return{colorFromPoint:function(fe,pe){let J=pe.series.colorAxis;if(J){let te=J.toColor(fe||0,pe).split(")")[0].split("(")[1].split(",").map($=>le(parseFloat($),parseInt($,10)));return te[3]=255*le(te[3],1),ve(fe)&&pe.visible||(te[3]=0),te}return[0,0,0,0]},getContext:function(fe){let{canvas:pe,context:J}=fe;return pe&&J?(J.clearRect(0,0,pe.width,pe.height),J):(fe.canvas=re.createElement("canvas"),fe.context=fe.canvas.getContext("2d",{willReadFrequently:!0})||void 0,fe.context)}}}),Pe(V,"Series/Heatmap/HeatmapSeries.js",[V["Core/Color/Color.js"],V["Series/ColorMapComposition.js"],V["Series/Heatmap/HeatmapPoint.js"],V["Series/Heatmap/HeatmapSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Utilities.js"],V["Series/InterpolationUtilities.js"]],function(Z,ie,re,ve,le,fe,pe,J){let{series:te,seriesTypes:{column:$,scatter:A}}=le,{prototype:{symbols:B}}=fe,{addEvent:F,extend:L,fireEvent:D,isNumber:I,merge:E,pick:_}=pe,{colorFromPoint:b,getContext:T}=J;class z extends A{constructor(){super(...arguments),this.valueMax=NaN,this.valueMin=NaN,this.isDirtyCanvas=!0}drawPoints(){let f=this,a=f.options,y=a.marker||{};if(a.interpolation){let{image:o,chart:n,xAxis:r,yAxis:l}=f,{reversed:d=!1,len:C}=r,{reversed:k=!1,len:p}=l,S={width:C,height:p};if(!o||f.isDirtyData||f.isDirtyCanvas){let j=T(f),{canvas:H,options:{colsize:Y=1,rowsize:U=1},points:se,points:{length:w}}=f;if(H&&j&&n.colorAxis&&n.colorAxis[0]){let{min:G,max:x}=r.getExtremes(),{min:N,max:R}=l.getExtremes(),K=x-G,q=R-N,he=Math.round(K/Y/8*8),me=Math.round(q/U/8*8),[Ce,Se]=[[he,he/K,d,"ceil"],[me,me/q,!k,"floor"]].map(([de,ye,Te,_e])=>Te?Me=>Math[_e](de-ye*Me):Me=>Math[_e](ye*Me)),Oe=H.width=he+1,Ae=Oe*(H.height=me+1),Fe=(w-1)/Ae,oe=new Uint8ClampedArray(4*Ae),ee=(de,ye)=>4*Math.ceil(Oe*Se(ye-N)+Ce(de-G));f.buildKDTree();for(let de=0;de{o.graphic&&(o.graphic[f.chart.styledMode?"css":"animate"](f.colorAttribs(o)),null===o.value&&o.graphic.addClass("highcharts-null-point"))}))}getExtremes(){let{dataMin:f,dataMax:a}=te.prototype.getExtremes.call(this,this.valueData);return I(f)&&(this.valueMin=f),I(a)&&(this.valueMax=a),te.prototype.getExtremes.call(this)}getValidPoints(f,a){return te.prototype.getValidPoints.call(this,f,a,!0)}hasData(){return!!this.processedXData.length}init(){super.init.apply(this,arguments);let f=this.options;f.pointRange=_(f.pointRange,f.colsize||1),this.yAxis.axisPointRange=f.rowsize||1,B.ellipse=B.circle,f.marker&&I(f.borderRadius)&&(f.marker.r=f.borderRadius)}markerAttribs(f,a){let g=f.shapeArgs||{};if(f.hasImage)return{x:f.plotX,y:f.plotY};if(a&&"normal"!==a){let y=f.options.marker||{},o=this.options.marker||{},n=o.states&&o.states[a]||{},r=y.states&&y.states[a]||{},l=(r.width||n.width||g.width||0)+(r.widthPlus||n.widthPlus||0),d=(r.height||n.height||g.height||0)+(r.heightPlus||n.heightPlus||0);return{x:(g.x||0)+((g.width||0)-l)/2,y:(g.y||0)+((g.height||0)-d)/2,width:l,height:d}}return g}pointAttribs(f,a){let g=te.prototype.pointAttribs.call(this,f,a),y=this.options||{},o=this.chart.options.plotOptions||{},n=o.series||{},r=o.heatmap||{},d=f&&f.options.borderWidth||y.borderWidth||r.borderWidth||n.borderWidth||g["stroke-width"];if(g.stroke=f&&f.marker&&f.marker.lineColor||y.marker&&y.marker.lineColor||f&&f.options.borderColor||y.borderColor||r.borderColor||n.borderColor||this.color,g["stroke-width"]=d,a&&"normal"!==a){let C=E(y.states&&y.states[a],y.marker&&y.marker.states&&y.marker.states[a],f&&f.options.states&&f.options.states[a]||{});g.fill=C.color||Z.parse(g.fill).brighten(C.brightness||0).get(),g.stroke=C.lineColor||g.stroke}return g}translate(){let{borderRadius:f,marker:a}=this.options,g=a&&a.symbol||"rect",y=B[g]?g:"rect",o=-1!==["circle","square"].indexOf(y);for(let n of(this.generatePoints(),this.points)){let r=n.getCellAttributes(),l=Math.min(r.x1,r.x2),d=Math.min(r.y1,r.y2),C=Math.max(Math.abs(r.x2-r.x1),0),k=Math.max(Math.abs(r.y2-r.y1),0);if(n.hasImage=0===(n.marker&&n.marker.symbol||g||"").indexOf("url"),o){let p=Math.abs(C-k);l=Math.min(r.x1,r.x2)+(CparseInt(ie.userAgent.split("Firefox/")[1],10),ie.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],ie.noop=function(){},ie.supportsPassiveEvents=function(){let re=!1;if(!ie.isMS){let ve=Object.defineProperty({},"passive",{get:function(){re=!0}});ie.win.addEventListener&&ie.win.removeEventListener&&(ie.win.addEventListener("testPassive",ie.noop,ve),ie.win.removeEventListener("testPassive",ie.noop,ve))}return re}(),ie.charts=[],ie.composed=[],ie.dateFormats={},ie.seriesTypes={},ie.symbolSizes={},ie.chartCount=0,Z}),Pe(V,"Core/Utilities.js",[V["Core/Globals.js"]],function(Z){let ie,{charts:re,doc:ve,win:le}=Z;function fe(o,n,r,l){let d=n?"Highcharts error":"Highcharts warning";32===o&&(o=`${d}: Deprecated member`);let C=F(o),k=C?`${d} #${o}: www.highcharts.com/errors/${o}/`:o.toString();if(void 0!==l){let p="";C&&(k+="?"),f(l,function(S,j){p+=`\n - ${j}: ${S}`,C&&(k+=encodeURI(j)+"="+encodeURI(S))}),k+=p}g(Z,"displayError",{chart:r,code:o,message:k,params:l},function(){if(n)throw Error(k);le.console&&-1===fe.messages.indexOf(k)&&console.warn(k)}),fe.messages.push(k)}function pe(o,n){return parseInt(o,n||10)}function J(o){return"string"==typeof o}function te(o){let n=Object.prototype.toString.call(o);return"[object Array]"===n||"[object Array Iterator]"===n}function $(o,n){return!(!o||"object"!=typeof o||n&&te(o))}function A(o){return $(o)&&"number"==typeof o.nodeType}function B(o){let n=o&&o.constructor;return!(!$(o,!0)||A(o)||!n||!n.name||"Object"===n.name)}function F(o){return"number"==typeof o&&!isNaN(o)&&o<1/0&&o>-1/0}function L(o){return null!=o}function D(o,n,r){let l,d=J(n)&&!L(r),C=(k,p)=>{L(k)?o.setAttribute(p,k):d?(l=o.getAttribute(p))||"class"!==p||(l=o.getAttribute(p+"Name")):o.removeAttribute(p)};return J(n)?C(r,n):f(n,C),l}function I(o){return te(o)?o:[o]}function E(o,n){let r;for(r in o||(o={}),n)o[r]=n[r];return o}function _(){let o=arguments,n=o.length;for(let r=0;r1e14?o:parseFloat(o.toPrecision(n||14))}(fe||(fe={})).messages=[],Math.easeInOutSine=function(o){return-.5*(Math.cos(Math.PI*o)-1)};let O=Array.prototype.find?function(o,n){return o.find(n)}:function(o,n){let r,l=o.length;for(r=0;rp.order-S.order),d.forEach(p=>{!1===p.fn.call(o,r)&&r.preventDefault()})}l&&!r.defaultPrevented&&l.call(o,r)}f({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(o,n){Z[n]=function(r){return fe(32,!1,void 0,{[`Highcharts.${n}`]:`use Array.${o}`}),Array.prototype[o].apply(r,[].slice.call(arguments,1))}});let y=function(){let o=Math.random().toString(36).substring(2,9)+"-",n=0;return function(){return"highcharts-"+(ie?"":o)+n++}}();return le.jQuery&&(le.jQuery.fn.highcharts=function(){let o=[].slice.call(arguments);if(this[0])return o[0]?(new(Z[J(o[0])?o.shift():"Chart"])(this[0],o[0],o[1]),this):re[D(this[0],"data-highcharts-chart")]}),{addEvent:function(o,n,r,l={}){let d="function"==typeof o&&o.prototype||o;Object.hasOwnProperty.call(d,"hcEvents")||(d.hcEvents={});let C=d.hcEvents;Z.Point&&o instanceof Z.Point&&o.series&&o.series.chart&&(o.series.chart.runTrackerClick=!0);let k=o.addEventListener;return k&&k.call(o,n,r,!!Z.supportsPassiveEvents&&{passive:void 0===l.passive?-1!==n.indexOf("touch"):l.passive,capture:!1}),C[n]||(C[n]=[]),C[n].push({fn:r,order:"number"==typeof l.order?l.order:1/0}),C[n].sort((S,j)=>S.order-j.order),function(){a(o,n,r)}},arrayMax:function(o){let n=o.length,r=o[0];for(;n--;)o[n]>r&&(r=o[n]);return r},arrayMin:function(o){let n=o.length,r=o[0];for(;n--;)o[n]n?o-1&&p[U]){Y=I(Y),S[U]=[];for(let se=0;se{if(p.length>1)for(C=l=p.length-1;C>0;C--)(d=p[C]-p[C-1])<0&&!k?(n?.(),n=void 0):d&&(void 0===r||d=k-1&&(k=Math.floor(p)),Math.max(0,k-(o(n,"padding-left",!0)||0)-(o(n,"padding-right",!0)||0))}if("height"===r)return Math.max(0,Math.min(n.offsetHeight,n.scrollHeight)-(o(n,"padding-top",!0)||0)-(o(n,"padding-bottom",!0)||0));let C=le.getComputedStyle(n,void 0);return C&&(d=C.getPropertyValue(r),_(l,"opacity"!==r)&&(d=pe(d))),d},inArray:function(o,n,r){return fe(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),n.indexOf(o,r)},insertItem:function(o,n){let r,l=o.options.index,d=n.length;for(r=o.options.isInternal?d:0;r=o))&&(d||!(p<=(n[C]+(n[C+1]||n[C]))/2)));C++);return z(k*r,-Math.round(Math.log(.001)/Math.LN10))},objectEach:f,offset:function(o){let n=ve.documentElement,r=o.parentElement||o.parentNode?o.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:r.top+(le.pageYOffset||n.scrollTop)-(n.clientTop||0),left:r.left+(le.pageXOffset||n.scrollLeft)-(n.clientLeft||0),width:r.width,height:r.height}},pad:function(o,n,r){return Array((n||2)+1-String(o).replace("-","").length).join(r||"0")+o},pick:_,pInt:pe,pushUnique:function(o,n){return 0>o.indexOf(n)&&!!o.push(n)},relativeLength:function(o,n,r){return/%$/.test(o)?n*parseFloat(o)/100+(r||0):parseFloat(o)},removeEvent:a,replaceNested:function(o,...n){let r,l;do{for(l of(r=o,n))o=o.replace(l[0],l[1])}while(o!==r);return o},splat:I,stableSort:function(o,n){let r,l,d=o.length;for(l=0;l0?setTimeout(o,n,r):(o.call(0,r),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:y,useSerialIds:function(o){return ie=_(o,ie)},wrap:function(o,n,r){let l=o[n];o[n]=function(){let d=arguments,C=this;return r.apply(this,[function(){return l.apply(C,arguments.length?arguments:d)}].concat([].slice.call(arguments)))}}}}),Pe(V,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),Pe(V,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),Pe(V,"Core/Time.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie){let{win:re}=Z,{defined:ve,error:le,extend:fe,isNumber:pe,isObject:J,merge:te,objectEach:$,pad:A,pick:B,splat:F,timeUnits:L}=ie,D=Z.isSafari&&re.Intl&&re.Intl.DateTimeFormat.prototype.formatRange,I=Z.isSafari&&re.Intl&&!re.Intl.DateTimeFormat.prototype.formatRange;class E{constructor(b){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=re.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(b)}get(b,T){if(this.variableTimezone||this.timezoneOffset){let z=T.getTime(),O=z-this.getTimezoneOffset(T);T.setTime(O);let f=T["getUTC"+b]();return T.setTime(z),f}return this.useUTC?T["getUTC"+b]():T["get"+b]()}set(b,T,z){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===b||"Seconds"===b||"Minutes"===b&&this.getTimezoneOffset(T)%36e5==0)return T["setUTC"+b](z);let O=this.getTimezoneOffset(T),f=T.getTime()-O;T.setTime(f),T["setUTC"+b](z);let a=this.getTimezoneOffset(T);return f=T.getTime()+a,T.setTime(f)}return this.useUTC||D&&"FullYear"===b?T["setUTC"+b](z):T["set"+b](z)}update(b={}){let T=B(b.useUTC,!0);this.options=b=te(!0,this.options,b),this.Date=b.Date||re.Date||Date,this.useUTC=T,this.timezoneOffset=T&&b.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=T&&!(!b.getTimezoneOffset&&!b.timezone)}makeTime(b,T,z,O,f,a){let g,y,o;return this.useUTC?(g=this.Date.UTC.apply(0,arguments),y=this.getTimezoneOffset(g),g+=y,y!==(o=this.getTimezoneOffset(g))?g+=o-y:y-36e5!==this.getTimezoneOffset(g-36e5)||I||(g-=36e5)):g=new this.Date(b,T,B(z,1),B(O,0),B(f,0),B(a,0)).getTime(),g}timezoneOffsetFunction(){let b=this,T=this.options,z=T.getTimezoneOffset;return this.useUTC?T.timezone?O=>{try{let f=`shortOffset,${T.timezone||""}`,[a,g,y,o,n=0]=(E.formatCache[f]=E.formatCache[f]||Intl.DateTimeFormat("en",{timeZone:T.timezone,timeZoneName:"shortOffset"})).format(O).split(/(GMT|:)/).map(Number),r=-36e5*(y+n/60);if(pe(r))return r}catch{le(34)}return 0}:this.useUTC&&z?O=>6e4*z(O.valueOf()):()=>6e4*(b.timezoneOffset||0):O=>6e4*new Date(O.toString()).getTimezoneOffset()}dateFormat(b,T,z){if(!ve(T)||isNaN(T))return Z.defaultOptions.lang&&Z.defaultOptions.lang.invalidDate||"";b=B(b,"%Y-%m-%d %H:%M:%S");let O=this,f=new this.Date(T),a=this.get("Hours",f),g=this.get("Day",f),y=this.get("Date",f),o=this.get("Month",f),n=this.get("FullYear",f),r=Z.defaultOptions.lang,l=r&&r.weekdays,d=r&&r.shortWeekdays;return $(fe({a:d?d[g]:l[g].substr(0,3),A:l[g],d:A(y),e:A(y,2," "),w:g,b:r.shortMonths[o],B:r.months[o],m:A(o+1),o:o+1,y:n.toString().substr(2,2),Y:n,H:A(a),k:a,I:A(a%12||12),l:a%12||12,M:A(this.get("Minutes",f)),p:a<12?"AM":"PM",P:a<12?"am":"pm",S:A(this.get("Seconds",f)),L:A(Math.floor(T%1e3),3)},Z.dateFormats),function(C,k){for(;-1!==b.indexOf("%"+k);)b=b.replace("%"+k,"function"==typeof C?C.call(O,T):C)}),z?b.substr(0,1).toUpperCase()+b.substr(1):b}resolveDTLFormat(b){return J(b,!0)?b:{main:(b=F(b))[0],from:b[1],to:b[2]}}getTimeTicks(b,T,z,O){let f,a,g,y,o=this,r=[],l={},d=new(0,o.Date)(T),C=b.unitRange,k=b.count||1;if(O=B(O,1),ve(T)){o.set("Milliseconds",d,C>=L.second?0:k*Math.floor(o.get("Milliseconds",d)/k)),C>=L.second&&o.set("Seconds",d,C>=L.minute?0:k*Math.floor(o.get("Seconds",d)/k)),C>=L.minute&&o.set("Minutes",d,C>=L.hour?0:k*Math.floor(o.get("Minutes",d)/k)),C>=L.hour&&o.set("Hours",d,C>=L.day?0:k*Math.floor(o.get("Hours",d)/k)),C>=L.day&&o.set("Date",d,C>=L.month?1:Math.max(1,k*Math.floor(o.get("Date",d)/k))),C>=L.month&&(o.set("Month",d,C>=L.year?0:k*Math.floor(o.get("Month",d)/k)),a=o.get("FullYear",d)),C>=L.year&&(a-=a%k,o.set("FullYear",d,a)),C===L.week&&(y=o.get("Day",d),o.set("Date",d,o.get("Date",d)-y+O+(y4*L.month||o.getTimezoneOffset(T)!==o.getTimezoneOffset(z));let H=d.getTime();for(f=1;H1?H=o.makeTime(a,p,S,j+f*k):H+=C*k:H=o.makeTime(a,p,S+f*k*(C===L.day?1:7)),f++;r.push(H),C<=L.hour&&r.length<1e4&&r.forEach(function(Y){Y%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",Y)&&(l[Y]="day")})}return r.info=fe(b,{higherRanks:l,totalRange:C*k}),r}getDateFormat(b,T,z,O){let f=this.dateFormat("%m-%d %H:%M:%S.%L",T),a="01-01 00:00:00.000",g={millisecond:15,second:12,minute:9,hour:6,day:3},y="millisecond",o=y;for(y in L){if(b===L.week&&+this.dateFormat("%w",T)===z&&f.substr(6)===a.substr(6)){y="week";break}if(L[y]>b){y=o;break}if(g[y]&&f.substr(g[y])!==a.substr(g[y]))break;"week"!==y&&(o=y)}return this.resolveDTLFormat(O[y]).main}}return E.formatCache={},E}),Pe(V,"Core/Defaults.js",[V["Core/Chart/ChartDefaults.js"],V["Core/Globals.js"],V["Core/Color/Palettes.js"],V["Core/Time.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le){let{isTouchDevice:fe,svg:pe}=ie,{merge:J}=le,te={colors:re.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",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"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:Z,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:pe,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:fe?25:10,headerFormat:'{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};te.chart.styledMode=!1;let $=new ve(te.time);return{defaultOptions:te,defaultTime:$,getOptions:function(){return te},setOptions:function(A){return J(!0,te,A),(A.time||A.global)&&(ie.time?ie.time.update(J(te.global,te.time,A.global,A.time)):ie.time=$),te}}}),Pe(V,"Core/Color/Color.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie){let{isNumber:re,merge:ve,pInt:le}=ie;class fe{static parse(J){return J?new fe(J):fe.None}constructor(J){let te,$,A,B;this.rgba=[NaN,NaN,NaN,NaN],this.input=J;let F=Z.Color;if(F&&F!==fe)return new F(J);if("object"==typeof J&&void 0!==J.stops)this.stops=J.stops.map(L=>new fe(L[1]));else if("string"==typeof J){if(this.input=J=fe.names[J.toLowerCase()]||J,"#"===J.charAt(0)){let L=J.length,D=parseInt(J.substr(1),16);7===L?$=[(16711680&D)>>16,(65280&D)>>8,255&D,1]:4===L&&($=[(3840&D)>>4|(3840&D)>>8,(240&D)>>4|240&D,(15&D)<<4|15&D,1])}if(!$)for(A=fe.parsers.length;A--&&!$;)(te=(B=fe.parsers[A]).regex.exec(J))&&($=B.parse(te))}$&&(this.rgba=$)}get(J){let te=this.input,$=this.rgba;if("object"==typeof te&&void 0!==this.stops){let A=ve(te);return A.stops=[].slice.call(A.stops),this.stops.forEach((B,F)=>{A.stops[F]=[A.stops[F][0],B.get(J)]}),A}return $&&re($[0])?"rgb"===J||!J&&1===$[3]?"rgb("+$[0]+","+$[1]+","+$[2]+")":"a"===J?`${$[3]}`:"rgba("+$.join(",")+")":te}brighten(J){let te=this.rgba;if(this.stops)this.stops.forEach(function($){$.brighten(J)});else if(re(J)&&0!==J)for(let $=0;$<3;$++)te[$]+=le(255*J),te[$]<0&&(te[$]=0),te[$]>255&&(te[$]=255);return this}setOpacity(J){return this.rgba[3]=J,this}tweenTo(J,te){let $=this.rgba,A=J.rgba;if(!re($[0])||!re(A[0]))return J.input||"none";let B=1!==A[3]||1!==$[3];return(B?"rgba(":"rgb(")+Math.round(A[0]+($[0]-A[0])*(1-te))+","+Math.round(A[1]+($[1]-A[1])*(1-te))+","+Math.round(A[2]+($[2]-A[2])*(1-te))+(B?","+(A[3]+($[3]-A[3])*(1-te)):"")+")"}}return fe.names={white:"#ffffff",black:"#000000"},fe.parsers=[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(pe){return[le(pe[1]),le(pe[2]),le(pe[3]),parseFloat(pe[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(pe){return[le(pe[1]),le(pe[2]),le(pe[3]),1]}}],fe.None=new fe(""),fe}),Pe(V,"Core/Animation/Fx.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{parse:ve}=Z,{win:le}=ie,{isNumber:fe,objectEach:pe}=re;class J{constructor($,A,B){this.pos=NaN,this.options=A,this.elem=$,this.prop=B}dSetter(){let $=this.paths,A=$&&$[0],B=$&&$[1],F=this.now||0,L=[];if(1!==F&&A&&B)if(A.length===B.length&&F<1)for(let D=0;D=E+this.startTime?(this.now=this.end,this.pos=1,this.update(),_[this.prop]=!0,B=!0,pe(_,function(b){!0!==b&&(B=!1)}),B&&I&&I.call(D),A=!1):(this.pos=L.easing((F-this.startTime)/E),this.now=this.start+(this.end-this.start)*this.pos,this.update(),A=!0),A}initPath($,A,B){let _,b,T,z,F=$.startX,L=$.endX,D=B.slice(),I=$.isArea,E=I?2:1,O=A&&A.slice();if(!O)return[D,D];function f(g,y){for(;g.length{let z=A(T.options.animation);_=pe(L)&&re(L.defer)?I.defer:Math.max(_,z.duration+z.defer),b=Math.min(I.duration,z.duration)}),F.renderer.forExport&&(_=0),{defer:Math.max(0,_-b),duration:Math.min(_,b)}},setAnimation:function(F,L){L.renderer.globalAnimation=$(F,L.options.chart.animation,!0)},stop:B}}),Pe(V,"Core/Renderer/HTML/AST.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie){let{SVG_NS:re,win:ve}=Z,{attr:le,createElement:fe,css:pe,error:J,isFunction:te,isString:$,objectEach:A,splat:B}=ie,{trustedTypes:F}=ve,L=F&&te(F.createPolicy)&&F.createPolicy("highcharts",{createHTML:_=>_}),D=L?L.createHTML(""):"",I=function(){try{return!!(new DOMParser).parseFromString(D,"text/html")}catch{return!1}}();class E{static filterUserAttributes(b){return A(b,(T,z)=>{let O=!0;-1===E.allowedAttributes.indexOf(z)&&(O=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(z)&&(O=$(T)&&E.allowedReferences.some(f=>0===T.indexOf(f))),O||(J(33,!1,void 0,{"Invalid attribute in config":`${z}`}),delete b[z]),$(T)&&b[z]&&(b[z]=T.replace(/{let O=z.split(":").map(a=>a.trim()),f=O.shift();return f&&O.length&&(T[f.replace(/-([a-z])/g,a=>a[1].toUpperCase())]=O.join(":")),T},{})}static setElementHTML(b,T){b.innerHTML=E.emptyHTML,T&&new E(T).addToDOM(b)}constructor(b){this.nodes="string"==typeof b?this.parseMarkup(b):b}addToDOM(b){return function T(z,O){let f;return B(z).forEach(function(a){let g,y=a.tagName,o=a.textContent?Z.doc.createTextNode(a.textContent):void 0,n=E.bypassHTMLFiltering;if(y)if("#text"===y)g=o;else if(-1!==E.allowedTags.indexOf(y)||n){let l=Z.doc.createElementNS("svg"===y?re:O.namespaceURI||re,y),d=a.attributes||{};A(a,function(C,k){"tagName"!==k&&"attributes"!==k&&"children"!==k&&"style"!==k&&"textContent"!==k&&(d[k]=C)}),le(l,n?d:E.filterUserAttributes(d)),a.style&&pe(l,a.style),o&&l.appendChild(o),T(a.children||[],l),g=l}else J(33,!1,void 0,{"Invalid tagName in config":y});g&&O.appendChild(g),f=g}),f}(this.nodes,b)}parseMarkup(b){let T,z=[];if(b=b.trim().replace(/ style=(["'])/g," data-style=$1"),I)T=(new DOMParser).parseFromString(L?L.createHTML(b):b,"text/html");else{let f=fe("div");f.innerHTML=b,T={body:f}}let O=(f,a)=>{let g=f.nodeName.toLowerCase(),y={tagName:g};"#text"===g&&(y.textContent=f.textContent||"");let o=f.attributes;if(o){let n={};[].forEach.call(o,r=>{"data-style"===r.name?y.style=E.parseStyle(r.value):n[r.name]=r.value}),y.attributes=n}if(f.childNodes.length){let n=[];[].forEach.call(f.childNodes,r=>{O(r,n)}),n.length&&(y.children=n)}a.push(y)};return[].forEach.call(T.body.childNodes,f=>O(f,z)),z}}return E.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","markerHeight","markerWidth","offset","opacity","orient","padding","paddingLeft","paddingRight","patternUnits","r","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],E.allowedReferences=["https://","http://","mailto:","/","../","./","#"],E.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feDropShadow","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],E.emptyHTML=D,E.bypassHTMLFiltering=!1,E}),Pe(V,"Core/Templating.js",[V["Core/Defaults.js"],V["Core/Utilities.js"]],function(Z,ie){let{defaultOptions:re,defaultTime:ve}=Z,{extend:le,getNestedProperty:fe,isArray:pe,isNumber:J,isObject:te,pick:$,pInt:A}=ie,B={add:(D,I)=>D+I,divide:(D,I)=>0!==I?D/I:"",eq:(D,I)=>D==I,each:function(D){let I=arguments[arguments.length-1];return!!pe(D)&&D.map((E,_)=>F(I.body,le(te(E)?E:{"@this":E},{"@index":_,"@first":0===_,"@last":_===D.length-1}))).join("")},ge:(D,I)=>D>=I,gt:(D,I)=>D>I,if:D=>!!D,le:(D,I)=>D<=I,lt:(D,I)=>DD*I,ne:(D,I)=>D!=I,subtract:(D,I)=>D-I,unless:D=>!D};function F(D="",I,E){let o,n,l,_=/\{([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= #\(\)]+)\}/g,b=/\(([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= ]+)\)/g,T=[],z=/f$/,O=/\.([0-9])/,f=re.lang,a=E&&E.time||ve,g=E&&E.numberFormatter||L,y=(d="")=>{let C;return"true"===d||"false"!==d&&((C=Number(d)).toString()===d?C:fe(d,I))},r=0;for(;null!==(o=_.exec(D));){let d=b.exec(o[1]);d&&(o=d,l=!0),n&&n.isBlock||(n={ctx:I,expression:o[1],find:o[0],isBlock:"#"===o[1].charAt(0),start:o.index,startInner:o.index+o[0].length,length:o[0].length});let C=o[1].split(" ")[0].replace("#","");B[C]&&(n.isBlock&&C===n.fn&&r++,n.fn||(n.fn=C));let k="else"===o[1];if(n.isBlock&&n.fn&&(o[1]===`/${n.fn}`||k))if(r)!k&&r--;else{let p=n.startInner,S=D.substr(p,o.index-p);void 0===n.body?(n.body=S,n.startInner=o.index+o[0].length):n.elseBody=S,n.find+=S+o[0],k||(T.push(n),n=void 0)}else n.isBlock||T.push(n);if(d&&!n?.isBlock)break}return T.forEach(d=>{let C,k,{body:p,elseBody:S,expression:j,fn:H}=d;if(H){let Y=[d],U=j.split(" ");for(k=B[H].length;k--;)Y.unshift(y(U[k+1]));C=B[H].apply(I,Y),d.isBlock&&"boolean"==typeof C&&(C=F(C?p:S,I))}else{let Y=j.split(":");if(C=y(Y.shift()||""),Y.length&&"number"==typeof C){let U=Y.join(":");if(z.test(U)){let se=parseInt((U.match(O)||["","-1"])[1],10);null!==C&&(C=g(C,se,f.decimalPoint,U.indexOf(",")>-1?f.thousandsSep:""))}else C=a.dateFormat(U,C)}}D=D.replace(d.find,$(C,""))}),l?F(D,I,E):D}function L(D,I,E,_){let b,T;I=+I;let z=re.lang,O=((D=+D||0).toString().split(".")[1]||"").split("e")[0].length,f=D.toString().split("e"),a=I;-1===I?I=Math.min(O,20):J(I)?I&&f[1]&&f[1]<0&&((T=I+ +f[1])>=0?(f[0]=(+f[0]).toExponential(T).split("e")[0],I=T):(f[0]=f[0].split(".")[0]||0,D=I<20?(f[0]*Math.pow(10,f[1])).toFixed(I):0,f[1]=0)):I=2;let g=(Math.abs(f[1]?f[0]:D)+Math.pow(10,-Math.max(I,O)-1)).toFixed(I),y=String(A(g)),o=y.length>3?y.length%3:0;return E=$(E,z.decimalPoint),_=$(_,z.thousandsSep),b=(D<0?"-":"")+(o?y.substr(0,o)+_:""),0>+f[1]&&!a?b="0":b+=y.substr(o).replace(/(\d{3})(?=\d)/g,"$1"+_),I&&(b+=E+g.slice(-I)),f[1]&&0!=+b&&(b+="e"+f[1]),b}return{dateFormat:function(D,I,E){return ve.dateFormat(D,I,E)},format:F,helpers:B,numberFormat:L}}),Pe(V,"Core/Renderer/RendererRegistry.js",[V["Core/Globals.js"]],function(Z){var ie,re;let ve;return(re=ie||(ie={})).rendererTypes={},re.getRendererType=function(le=ve){return re.rendererTypes[le]||re.rendererTypes[ve]},re.registerRendererType=function(le,fe,pe){re.rendererTypes[le]=fe,(!ve||pe)&&(ve=le,Z.Renderer=fe)},ie}),Pe(V,"Core/Renderer/RendererUtilities.js",[V["Core/Utilities.js"]],function(Z){var ie;let{clamp:re,pick:ve,pushUnique:le,stableSort:fe}=Z;return(ie||(ie={})).distribute=function pe(J,te,$){let _,b,T,O,f,g,A=J,B=A.reducedLen||te,F=(y,o)=>y.target-o.target,L=[],D=J.length,I=[],E=L.push,z=!0,a=0;for(_=D;_--;)a+=J[_].size;if(a>B){for(fe(J,(y,o)=>(o.rank||0)-(y.rank||0)),T=(g=J[0].rank===J[J.length-1].rank)?D/2:-1,b=g?T:D-1;T&&a>B;)O=J[_=Math.floor(b)],le(I,_)&&(a-=O.size),b+=T,g&&b>=J.length&&(T/=2,b=T);I.sort((y,o)=>o-y).forEach(y=>E.apply(L,J.splice(y,1)))}for(fe(J,F),J=J.map(y=>({size:y.size,targets:[y.target],align:ve(y.align,.5)}));z;){for(_=J.length;_--;)O=J[_],f=(Math.min.apply(0,O.targets)+Math.max.apply(0,O.targets))/2,O.pos=re(f-O.size*O.align,0,te-O.size);for(_=J.length,z=!1;_--;)_>0&&J[_-1].pos+J[_-1].size>J[_].pos&&(J[_-1].size+=J[_].size,J[_-1].targets=J[_-1].targets.concat(J[_].targets),J[_-1].align=.5,J[_-1].pos+J[_-1].size>te&&(J[_-1].pos=te-J[_-1].size),J.splice(_,1),z=!0)}return E.apply(A,L),_=0,J.some(y=>{let o=0;return(y.targets||[]).some(()=>(A[_].pos=y.pos+o,void 0!==$&&Math.abs(A[_].pos-A[_].target)>$?(A.slice(0,_+1).forEach(n=>delete n.pos),A.reducedLen=(A.reducedLen||te)-.1*te,A.reducedLen>.1*te&&pe(A,te,$),!0):(o+=A[_].size,_++,!1)))}),fe(A,F),A},ie}),Pe(V,"Core/Renderer/SVG/SVGElement.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){let{animate:le,animObject:fe,stop:pe}=Z,{deg2rad:J,doc:te,svg:$,SVG_NS:A,win:B}=re,{addEvent:F,attr:L,createElement:D,css:I,defined:E,erase:_,extend:b,fireEvent:T,isArray:z,isFunction:O,isObject:f,isString:a,merge:g,objectEach:y,pick:o,pInt:n,replaceNested:r,syncTimeout:l,uniqueKey:d}=ve;class C{_defaultGetter(p){let S=o(this[p+"Value"],this[p],this.element?this.element.getAttribute(p):null,0);return/^[\-0-9\.]+$/.test(S)&&(S=parseFloat(S)),S}_defaultSetter(p,S,j){j.setAttribute(S,p)}add(p){let S,j=this.renderer,H=this.element;return p&&(this.parentGroup=p),void 0!==this.textStr&&"text"===this.element.nodeName&&j.buildText(this),this.added=!0,(!p||p.handleZ||this.zIndex)&&(S=this.zIndexSetter()),S||(p?p.element:j.box).appendChild(H),this.onAdd&&this.onAdd(),this}addClass(p,S){let j=S?"":this.attr("class")||"";return(p=(p||"").split(/ /g).reduce(function(H,Y){return-1===j.indexOf(Y)&&H.push(Y),H},j?[j]:[]).join(" "))!==j&&this.attr("class",p),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(p,S,j,H=!0){let Y,U,se,w,X,G={},x=this.renderer,N=x.alignedObjects;p?(this.alignOptions=p,this.alignByTranslate=S,(!j||a(j))&&(this.alignTo=se=j||"renderer",_(N,this),N.push(this),j=void 0)):(p=this.alignOptions,S=this.alignByTranslate,se=this.alignTo),j=o(j,x[se],x);let R=p.align,K=p.verticalAlign;return Y=(j.x||0)+(p.x||0),U=(j.y||0)+(p.y||0),"right"===R?w=1:"center"===R&&(w=2),w&&(Y+=(j.width-(p.width||0))/w),G[S?"translateX":"x"]=Math.round(Y),"bottom"===K?X=1:"middle"===K&&(X=2),X&&(U+=(j.height-(p.height||0))/X),G[S?"translateY":"y"]=Math.round(U),H&&(this[this.placed?"animate":"attr"](G),this.placed=!0),this.alignAttr=G,this}alignSetter(p){let S={left:"start",center:"middle",right:"end"};S[p]&&(this.alignValue=p,this.element.setAttribute("text-anchor",S[p]))}animate(p,S,j){let H=fe(o(S,this.renderer.globalAnimation,!0)),Y=H.defer;return te.hidden&&(H.duration=0),0!==H.duration?(j&&(H.complete=j),l(()=>{this.element&&le(this,p,H)},Y)):(this.attr(p,void 0,j||H.complete),y(p,function(U,se){H.step&&H.step.call(this,U,{prop:se,pos:1,elem:this})},this)),this}applyTextOutline(p){let S=this.element;-1!==p.indexOf("contrast")&&(p=p.replace(/contrast/g,this.renderer.getContrast(S.style.fill)));let j=p.split(" "),H=j[j.length-1],Y=j[0];if(Y&&"none"!==Y&&re.svg){this.fakeTS=!0,Y=Y.replace(/(^[\d\.]+)(.*?)$/g,function(G,x,N){return 2*Number(x)+N}),this.removeTextOutline();let U=te.createElementNS(A,"tspan");L(U,{class:"highcharts-text-outline",fill:H,stroke:H,"stroke-width":Y,"stroke-linejoin":"round"});let se=S.querySelector("textPath")||S;[].forEach.call(se.childNodes,G=>{let x=G.cloneNode(!0);x.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(N=>x.removeAttribute(N)),U.appendChild(x)});let w=0;[].forEach.call(se.querySelectorAll("text tspan"),G=>{w+=Number(G.getAttribute("dy"))});let X=te.createElementNS(A,"tspan");X.textContent="\u200b",L(X,{x:Number(S.getAttribute("x")),dy:-w}),U.appendChild(X),se.insertBefore(U,se.firstChild)}}attr(p,S,j,H){let se,w,G,Y=this.element,U=C.symbolCustomAttribs,X=this;return"string"==typeof p&&void 0!==S&&(se=p,(p={})[se]=S),"string"==typeof p?X=(this[p+"Getter"]||this._defaultGetter).call(this,p,Y):(y(p,function(x,N){G=!1,H||pe(this,N),this.symbolName&&-1!==U.indexOf(N)&&(w||(this.symbolAttr(p),w=!0),G=!0),this.rotation&&("x"===N||"y"===N)&&(this.doTransform=!0),G||(this[N+"Setter"]||this._defaultSetter).call(this,x,N,Y)},this),this.afterSetters()),j&&j.call(this),X}clip(p){if(p&&!p.clipPath){let S=d()+"-",j=this.renderer.createElement("clipPath").attr({id:S}).add(this.renderer.defs);b(p,{clipPath:j,id:S,count:0}),p.add(j)}return this.attr("clip-path",p?`url(${this.renderer.url}#${p.id})`:"none")}crisp(p,S){let j=Math.round(S=S||p.strokeWidth||0)%2/2;return p.x=Math.floor(p.x||this.x||0)+j,p.y=Math.floor(p.y||this.y||0)+j,p.width=Math.floor((p.width||this.width||0)-2*j),p.height=Math.floor((p.height||this.height||0)-2*j),E(p.strokeWidth)&&(p.strokeWidth=S),p}complexColor(p,S,j){let Y,U,se,w,X,G,x,N,R,K,he,H=this.renderer,q=[];T(this.renderer,"complexColor",{args:arguments},function(){if(p.radialGradient?U="radialGradient":p.linearGradient&&(U="linearGradient"),U){if(se=p[U],X=H.gradients,G=p.stops,R=j.radialReference,z(se)&&(p[U]=se={x1:se[0],y1:se[1],x2:se[2],y2:se[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===U&&R&&!E(se.gradientUnits)&&(w=se,se=g(se,H.getRadialAttr(R,w),{gradientUnits:"userSpaceOnUse"})),y(se,function(me,Ce){"id"!==Ce&&q.push(Ce,me)}),y(G,function(me){q.push(me)}),X[q=q.join(",")])K=X[q].attr("id");else{se.id=K=d();let me=X[q]=H.createElement(U).attr(se).add(H.defs);me.radAttr=w,me.stops=[],G.forEach(function(Ce){0===Ce[1].indexOf("rgba")?(x=(Y=ie.parse(Ce[1])).get("rgb"),N=Y.get("a")):(x=Ce[1],N=1);let Se=H.createElement("stop").attr({offset:Ce[0],"stop-color":x,"stop-opacity":N}).add(me);me.stops.push(Se)})}he="url("+H.url+"#"+K+")",j.setAttribute(S,he),j.gradient=q,p.toString=function(){return he}}})}css(p){let Y,S=this.styles,j={},H=this.element,U=!S;if(S&&y(p,function(se,w){S&&S[w]!==se&&(j[w]=se,U=!0)}),U){S&&(p=b(S,j)),null===p.width||"auto"===p.width?delete this.textWidth:"text"===H.nodeName.toLowerCase()&&p.width&&(Y=this.textWidth=n(p.width)),b(this.styles,p),Y&&!$&&this.renderer.forExport&&delete p.width;let se=g(p);H.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(w=>se&&delete se[w]),se.color&&(se.fill=se.color)),I(H,se)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),p.textOutline&&this.applyTextOutline(p.textOutline)),this}dashstyleSetter(p){let S,j=this["stroke-width"];if("inherit"===j&&(j=1),p=p&&p.toLowerCase()){let H=p.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(S=H.length;S--;)H[S]=""+n(H[S])*o(j,NaN);p=H.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",p)}}destroy(){let U,se,p=this,S=p.element||{},j=p.renderer,H=S.ownerSVGElement,Y="SPAN"===S.nodeName&&p.parentGroup||void 0;if(S.onclick=S.onmouseout=S.onmouseover=S.onmousemove=S.point=null,pe(p),p.clipPath&&H){let w=p.clipPath;[].forEach.call(H.querySelectorAll("[clip-path],[CLIP-PATH]"),function(X){X.getAttribute("clip-path").indexOf(w.element.id)>-1&&X.removeAttribute("clip-path")}),p.clipPath=w.destroy()}if(p.connector=p.connector?.destroy(),p.stops){for(se=0;seY&&Y.join?(U?H+" ":"")+Y.join(" "):(Y||"").toString(),"")),/(NaN| {2}|^$)/.test(p)&&(p="M 0 0"),this[S]!==p&&(j.setAttribute(S,p),this[S]=p)}fillSetter(p,S,j){"string"==typeof p?j.setAttribute(S,p):p&&this.complexColor(p,S,j)}hrefSetter(p,S,j){j.setAttributeNS("http://www.w3.org/1999/xlink",S,p)}getBBox(p,S){let j,H,Y,U,{alignValue:se,element:w,renderer:X,styles:G,textStr:x}=this,{cache:N,cacheKeys:R}=X,K=w.namespaceURI===this.SVG_NS,q=o(S,this.rotation,0),he=X.styledMode?w&&C.prototype.getStyle.call(w,"font-size"):G.fontSize;if(E(x)&&(-1===(U=x.toString()).indexOf("<")&&(U=U.replace(/[0-9]/g,"0")),U+=["",X.rootFontSize,he,q,this.textWidth,se,G.textOverflow,G.fontWeight].join(",")),U&&!p&&(j=N[U]),!j){if(K||X.forExport){try{Y=this.fakeTS&&function(me){let Ce=w.querySelector(".highcharts-text-outline");Ce&&I(Ce,{display:me})},O(Y)&&Y("none"),j=w.getBBox?b({},w.getBBox()):{width:w.offsetWidth,height:w.offsetHeight,x:0,y:0},O(Y)&&Y("")}catch{}(!j||j.width<0)&&(j={x:0,y:0,width:0,height:0})}else j=this.htmlGetBBox();H=j.height,K&&(j.height=H={"11px,17":14,"13px,20":16}[`${he||""},${Math.round(H)}`]||H),q&&(j=this.getRotatedBox(j,q))}if(U&&(""===x||j.height>0)){for(;R.length>250;)delete N[R.shift()];N[U]||R.push(U),N[U]=j}return j}getRotatedBox(p,S){let{x:j,y:H,width:Y,height:U}=p,{alignValue:se,translateY:w,rotationOriginX:X=0,rotationOriginY:G=0}=this,x={right:1,center:.5}[se||0]||0,N=Number(this.element.getAttribute("y")||0)-(w?0:H),R=S*J,K=(S-90)*J,q=Math.cos(R),he=Math.sin(R),me=Y*q,Ce=Y*he,Se=Math.cos(K),Oe=Math.sin(K),[[Ae,Fe],[oe,ee]]=[X,G].map(pt=>[pt-pt*q,pt*he]),de=j+x*(Y-me)+Ae+ee+N*Se,ye=de+me,Te=ye-U*Se,_e=Te-me,Me=H+N-x*Ce-Fe+oe+N*Oe,Ee=Me+Ce,Xe=Ee-U*Oe,Ze=Xe-Ce,lt=Math.min(de,ye,Te,_e),Qe=Math.min(Me,Ee,Xe,Ze);return{x:lt,y:Qe,width:Math.max(de,ye,Te,_e)-lt,height:Math.max(Me,Ee,Xe,Ze)-Qe}}getStyle(p){return B.getComputedStyle(this.element||this,"").getPropertyValue(p)}hasClass(p){return-1!==(""+this.attr("class")).split(" ").indexOf(p)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(p,S){this.onEvents={},this.opacity=1,this.SVG_NS=A,this.element="span"===S||"body"===S?D(S):te.createElementNS(this.SVG_NS,S),this.renderer=p,this.styles={},T(this,"afterInit")}on(p,S){let{onEvents:j}=this;return j[p]&&j[p](),j[p]=F(this.element,p,S),this}opacitySetter(p,S,j){let H=Number(Number(p).toFixed(3));this.opacity=H,j.setAttribute(S,H)}removeClass(p){return this.attr("class",(""+this.attr("class")).replace(a(p)?RegExp(`(^| )${p}( |$)`):p," ").replace(/ +/g," ").trim())}removeTextOutline(){let p=this.element.querySelector("tspan.highcharts-text-outline");p&&this.safeRemoveChild(p)}safeRemoveChild(p){let S=p.parentNode;S&&S.removeChild(p)}setRadialReference(p){let S=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=p,S&&S.radAttr&&S.animate(this.renderer.getRadialAttr(p,S.radAttr)),this}setTextPath(p,S){S=g(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},S);let j=this.renderer.url,H=this.text||this,Y=H.textPath,{attributes:U,enabled:se}=S;if(p=p||Y&&Y.path,Y&&Y.undo(),p&&se){let w=F(H,"afterModifyTree",X=>{if(p&&se){let G=p.attr("id");G||p.attr("id",G=d());let x={x:0,y:0};E(U.dx)&&(x.dx=U.dx,delete U.dx),E(U.dy)&&(x.dy=U.dy,delete U.dy),H.attr(x),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let N=X.nodes.slice(0);X.nodes.length=0,X.nodes[0]={tagName:"textPath",attributes:b(U,{"text-anchor":U.textAnchor,href:`${j}#${G}`}),children:N}}});H.textPath={path:p,undo:w}}else H.attr({dx:0,dy:0}),delete H.textPath;return this.added&&(H.textCache="",this.renderer.buildText(H)),this}shadow(p){let{renderer:S}=this,j=g(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},f(p)?p:{}),H=S.shadowDefinition(j);return this.attr({filter:p?`url(${S.url}#${H})`:"none"})}show(p=!0){return this.attr({visibility:p?"inherit":"visible"})}"stroke-widthSetter"(p,S,j){this[S]=p,j.setAttribute(S,p)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let j,p=this.getStyle("stroke-width"),S=0;return/px$/.test(p)?S=n(p):""!==p&&(L(j=te.createElementNS(A,"rect"),{width:p,"stroke-width":0}),this.element.parentNode.appendChild(j),S=j.getBBox().width,j.parentNode.removeChild(j)),S}symbolAttr(p){let S=this;C.symbolCustomAttribs.forEach(function(j){S[j]=o(p[j],S[j])}),S.attr({d:S.renderer.symbols[S.symbolName](S.x,S.y,S.width,S.height,S)})}textSetter(p){p!==this.textStr&&(delete this.textPxLength,this.textStr=p,this.added&&this.renderer.buildText(this))}titleSetter(p){let S=this.element,j=S.getElementsByTagName("title")[0]||te.createElementNS(this.SVG_NS,"title");S.insertBefore?S.insertBefore(j,S.firstChild):S.appendChild(j),j.textContent=r(o(p,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let p=this.element;return p.parentNode.appendChild(p),this}translate(p,S){return this.attr({translateX:p,translateY:S})}updateTransform(p="transform"){let{element:S,matrix:j,rotation:H=0,rotationOriginX:Y,rotationOriginY:U,scaleX:se,scaleY:w,translateX:X=0,translateY:G=0}=this,x=["translate("+X+","+G+")"];E(j)&&x.push("matrix("+j.join(",")+")"),H&&(x.push("rotate("+H+" "+o(Y,S.getAttribute("x"),0)+" "+o(U,S.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:H,rotationOriginX:(Y||0)-this.padding,rotationOriginY:(U||0)-this.padding})),(E(se)||E(w))&&x.push("scale("+o(se,1)+" "+o(w,1)+")"),x.length&&!(this.text||this).textPath&&S.setAttribute(p,x.join(" "))}visibilitySetter(p,S,j){"inherit"===p?j.removeAttribute(S):this[S]!==p&&j.setAttribute(S,p),this[S]=p}xGetter(p){return"circle"===this.element.nodeName&&("x"===p?p="cx":"y"===p&&(p="cy")),this._defaultGetter(p)}zIndexSetter(p,S){let w,X,G,N,K,j=this.renderer,H=this.parentGroup,Y=(H||j).element||j.box,U=this.element,se=Y===j.box,x=!1,R=this.added;if(E(p)?(U.setAttribute("data-z-index",p),this[S]===(p=+p)&&(R=!1)):E(this[S])&&U.removeAttribute("data-z-index"),this[S]=p,R){for((p=this.zIndex)&&H&&(H.handleZ=!0),K=(w=Y.childNodes).length-1;K>=0&&!x;K--)N=!E(G=(X=w[K]).getAttribute("data-z-index")),X!==U&&(p<0&&N&&!se&&!K?(Y.insertBefore(U,w[K]),x=!0):(n(G)<=p||N&&(!E(p)||p>=0))&&(Y.insertBefore(U,w[K+1]),x=!0));x||(Y.insertBefore(U,w[se?3:0]),x=!0)}return x}}return C.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],C.prototype.strokeSetter=C.prototype.fillSetter,C.prototype.yGetter=C.prototype.xGetter,C.prototype.matrixSetter=C.prototype.rotationOriginXSetter=C.prototype.rotationOriginYSetter=C.prototype.rotationSetter=C.prototype.scaleXSetter=C.prototype.scaleYSetter=C.prototype.translateXSetter=C.prototype.translateYSetter=C.prototype.verticalAlignSetter=function(k,p){this[p]=k,this.doTransform=!0},C}),Pe(V,"Core/Renderer/SVG/SVGLabel.js",[V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(Z,ie){let{defined:re,extend:ve,isNumber:le,merge:fe,pick:pe,removeEvent:J}=ie;class te extends Z{constructor(A,B,F,L,D,I,E,_,b,T){let z;super(A,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.textStr=B,this.x=F,this.y=L,this.anchorX=I,this.anchorY=E,this.baseline=b,this.className=T,this.addClass("button"===T?"highcharts-no-tooltip":"highcharts-label"),T&&this.addClass("highcharts-"+T),this.text=A.text(void 0,0,0,_).attr({zIndex:1}),"string"==typeof D&&((z=/^url\((.*?)\)$/.test(D))||this.renderer.symbols[D])&&(this.symbolKey=D),this.bBox=te.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=A.styledMode||z,this.deferredAttr={},this.alignFactor=0}alignSetter(A){let B={left:0,center:.5,right:1}[A];B!==this.alignFactor&&(this.alignFactor=B,this.bBox&&le(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(A,B){this.anchorX=A,this.boxAttr(B,Math.round(A)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(A,B){this.anchorY=A,this.boxAttr(B,A-this.ySetting)}boxAttr(A,B){this.box?this.box.attr(A,B):this.deferredAttr[A]=B}css(A){if(A){let B={};A=fe(A),te.textProps.forEach(F=>{void 0!==A[F]&&(B[F]=A[F],delete A[F])}),this.text.css(B),"fontSize"in B||"fontWeight"in B?this.updateTextPadding():("width"in B||"textOverflow"in B)&&this.updateBoxSize()}return Z.prototype.css.call(this,A)}destroy(){J(this.element,"mouseenter"),J(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),Z.prototype.destroy.call(this)}fillSetter(A,B){A&&(this.needsBox=!0),this.fill=A,this.boxAttr(B,A)}getBBox(A,B){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:F,height:L=0,translateX:D=0,translateY:I=0,width:E=0}=this,_=pe(this.paddingLeft,F),b=B??(this.rotation||0),T={width:E,height:L,x:D+this.bBox.x-_,y:I+this.bBox.y-F+this.baselineOffset};return b&&(T=this.getRotatedBox(T,b)),T}getCrispAdjust(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(A){this.heightSetting=A}onAdd(){this.text.add(this),this.attr({text:pe(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&re(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(A,B){le(A)?A!==this[B]&&(this[B]=A,this.updateTextPadding()):this[B]=void 0}rSetter(A,B){this.boxAttr(B,A)}strokeSetter(A,B){this.stroke=A,this.boxAttr(B,A)}"stroke-widthSetter"(A,B){A&&(this.needsBox=!0),this["stroke-width"]=A,this.boxAttr(B,A)}"text-alignSetter"(A){this.textAlign=A}textSetter(A){void 0!==A&&this.text.attr({text:A}),this.updateTextPadding()}updateBoxSize(){let A,B=this.text,F={},L=this.padding,D=this.bBox=le(this.widthSetting)&&le(this.heightSetting)&&!this.textAlign||!re(B.textStr)?te.emptyBBox:B.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||D.height||0)+2*L;let I=this.renderer.fontMetrics(B);if(this.baselineOffset=L+Math.min((this.text.firstLineMetrics||I).b,D.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-I.h)/2),this.needsBox&&!B.textPath){if(!this.box){let E=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();E.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),E.add(this)}A=this.getCrispAdjust(),F.x=A,F.y=(this.baseline?-this.baselineOffset:0)+A,F.width=Math.round(this.width),F.height=Math.round(this.height),this.box.attr(ve(F,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let A=this.text;if(!A.textPath){this.updateBoxSize();let B=this.baseline?0:this.baselineOffset,F=pe(this.paddingLeft,this.padding);re(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(F+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(F!==A.x||B!==A.y)&&(A.attr("x",F),A.hasBoxWidthChanged&&(this.bBox=A.getBBox(!0)),void 0!==B&&A.attr("y",B)),A.x=F,A.y=B}}widthSetter(A){this.widthSetting=le(A)?A:void 0}getPaddedWidth(){let A=this.padding,B=pe(this.paddingLeft,A),F=pe(this.paddingRight,A);return(this.widthSetting||this.bBox.width||0)+B+F}xSetter(A){this.x=A,this.alignFactor&&(A-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(A),this.attr("translateX",this.xSetting)}ySetter(A){this.ySetting=this.y=Math.round(A),this.attr("translateY",this.ySetting)}}return te.emptyBBox={width:0,height:0,x:0,y:0},te.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],te}),Pe(V,"Core/Renderer/SVG/Symbols.js",[V["Core/Utilities.js"]],function(Z){let{defined:ie,isNumber:re,pick:ve}=Z;function le(J,te,$,A,B){let F=[];if(B){let L=B.start||0,D=ve(B.r,$),I=ve(B.r,A||$),E=.001>Math.abs((B.end||0)-L-2*Math.PI),_=(B.end||0)-.001,b=B.innerR,T=ve(B.open,E),z=Math.cos(L),O=Math.sin(L),f=Math.cos(_),a=Math.sin(_),g=ve(B.longArc,_-L-Math.PI<.001?0:1),y=["A",D,I,0,g,ve(B.clockwise,1),J+D*f,te+I*a];y.params={start:L,end:_,cx:J,cy:te},F.push(["M",J+D*z,te+I*O],y),ie(b)&&((y=["A",b,b,0,g,ie(B.clockwise)?1-B.clockwise:0,J+b*z,te+b*O]).params={start:_,end:L,cx:J,cy:te},F.push(T?["M",J+b*f,te+b*a]:["L",J+b*f,te+b*a],y)),T||F.push(["Z"])}return F}function fe(J,te,$,A,B){return B&&B.r?pe(J,te,$,A,B):[["M",J,te],["L",J+$,te],["L",J+$,te+A],["L",J,te+A],["Z"]]}function pe(J,te,$,A,B){let F=B?.r||0;return[["M",J+F,te],["L",J+$-F,te],["A",F,F,0,0,1,J+$,te+F],["L",J+$,te+A-F],["A",F,F,0,0,1,J+$-F,te+A],["L",J+F,te+A],["A",F,F,0,0,1,J,te+A-F],["L",J,te+F],["A",F,F,0,0,1,J+F,te],["Z"]]}return{arc:le,callout:function(J,te,$,A,B){let F=Math.min(B&&B.r||0,$,A),L=F+6,D=B&&B.anchorX,I=B&&B.anchorY||0,E=pe(J,te,$,A,{r:F});if(!re(D)||D<$&&D>0&&I0)return E;if(J+D>$-L)if(I>te+L&&Ite+L&&I0){let _=IA&&D<$-L?E.splice(5,1,["L",D+6,te+A],["L",D,te+A+6],["L",D-6,te+A],["L",J+F,te+A]):I<0&&D>L&&E.splice(1,1,["L",D-6,te],["L",D,te-6],["L",D+6,te],["L",$-F,te]);return E},circle:function(J,te,$,A){return le(J+$/2,te+A/2,$/2,A/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(J,te,$,A){return[["M",J+$/2,te],["L",J+$,te+A/2],["L",J+$/2,te+A],["L",J,te+A/2],["Z"]]},rect:fe,roundedRect:pe,square:fe,triangle:function(J,te,$,A){return[["M",J+$/2,te],["L",J+$,te+A],["L",J,te+A],["Z"]]},"triangle-down":function(J,te,$,A){return[["M",J,te],["L",J+$,te],["L",J+$/2,te+A],["Z"]]}}}),Pe(V,"Core/Renderer/SVG/TextBuilder.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{doc:ve,SVG_NS:le,win:fe}=ie,{attr:pe,extend:J,fireEvent:te,isString:$,objectEach:A,pick:B}=re;return class{constructor(F){let L=F.styles;this.renderer=F.renderer,this.svgElement=F,this.width=F.textWidth,this.textLineHeight=L&&L.lineHeight,this.textOutline=L&&L.textOutline,this.ellipsis=!(!L||"ellipsis"!==L.textOverflow),this.noWrap=!(!L||"nowrap"!==L.whiteSpace)}buildSVG(){let F=this.svgElement,L=F.element,D=F.renderer,I=B(F.textStr,"").toString(),E=-1!==I.indexOf("<"),_=L.childNodes,b=!F.added&&D.box,T=[I,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,F.getStyle("font-size"),this.width].join(",");if(T!==F.textCache){F.textCache=T,delete F.actualWidth;for(let z=_.length;z--;)L.removeChild(_[z]);if(E||this.ellipsis||this.width||F.textPath||-1!==I.indexOf(" ")&&(!this.noWrap||//g.test(I))){if(""!==I){b&&b.appendChild(L);let z=new Z(I);this.modifyTree(z.nodes),z.addToDOM(L),this.modifyDOM(),this.ellipsis&&-1!==(L.textContent||"").indexOf("\u2026")&&F.attr("title",this.unescapeEntities(F.textStr||"",["<",">"])),b&&b.removeChild(L)}}else L.appendChild(ve.createTextNode(this.unescapeEntities(I)));$(this.textOutline)&&F.applyTextOutline&&F.applyTextOutline(this.textOutline)}}modifyDOM(){let F,L=this.svgElement,D=pe(L.element,"x");for(L.firstLineMetrics=void 0;(F=L.element.firstChild)&&/^[\s\u200B]*$/.test(F.textContent||" ");)L.element.removeChild(F);[].forEach.call(L.element.querySelectorAll("tspan.highcharts-br"),(b,T)=>{b.nextSibling&&b.previousSibling&&(0===T&&1===b.previousSibling.nodeType&&(L.firstLineMetrics=L.renderer.fontMetrics(b.previousSibling)),pe(b,{dy:this.getLineHeight(b.nextSibling),x:D}))});let I=this.width||0;if(!I)return;let E=(b,T)=>{let z=b.textContent||"",O=z.replace(/([^\^])-/g,"$1- ").split(" "),f=!this.noWrap&&(O.length>1||L.element.childNodes.length>1),a=this.getLineHeight(T),g=0,y=L.actualWidth;if(this.ellipsis)z&&this.truncate(b,z,void 0,0,Math.max(0,I-.8*a),(o,n)=>o.substring(0,n)+"\u2026");else if(f){let o=[],n=[];for(;T.firstChild&&T.firstChild!==b;)n.push(T.firstChild),T.removeChild(T.firstChild);for(;O.length;)O.length&&!this.noWrap&&g>0&&(o.push(b.textContent||""),b.textContent=O.join(" ").replace(/- /g,"-")),this.truncate(b,void 0,O,0===g&&y||0,I,(r,l)=>O.slice(0,l).join(" ").replace(/- /g,"-")),y=L.actualWidth,g++;n.forEach(r=>{T.insertBefore(r,b)}),o.forEach(r=>{T.insertBefore(ve.createTextNode(r),b);let l=ve.createElementNS(le,"tspan");l.textContent="\u200b",pe(l,{dy:a,x:D}),T.insertBefore(l,b)})}},_=b=>{[].slice.call(b.childNodes).forEach(T=>{T.nodeType===fe.Node.TEXT_NODE?E(T,b):(-1!==T.className.baseVal.indexOf("highcharts-br")&&(L.actualWidth=0),_(T))})};_(L.element)}getLineHeight(F){let L=F.nodeType===fe.Node.TEXT_NODE?F.parentElement:F;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(L||this.svgElement.element).h}modifyTree(F){let L=(D,I)=>{let{attributes:E={},children:_,style:b={},tagName:T}=D,z=this.renderer.styledMode;if("b"===T||"strong"===T?z?E.class="highcharts-strong":b.fontWeight="bold":("i"===T||"em"===T)&&(z?E.class="highcharts-emphasized":b.fontStyle="italic"),b&&b.color&&(b.fill=b.color),"br"===T){E.class="highcharts-br",D.textContent="\u200b";let O=F[I+1];O&&O.textContent&&(O.textContent=O.textContent.replace(/^ +/gm,""))}else"a"===T&&_&&_.some(O=>"#text"===O.tagName)&&(D.children=[{children:_,tagName:"tspan"}]);"#text"!==T&&"a"!==T&&(D.tagName="tspan"),J(D,{attributes:E,style:b}),_&&_.filter(O=>"#text"!==O.tagName).forEach(L)};F.forEach(L),te(this.svgElement,"afterModifyTree",{nodes:F})}truncate(F,L,D,I,E,_){let b,T,z=this.svgElement,{rotation:O}=z,f=[],a=D?1:0,g=(L||D||"").length,y=g,o=function(n,r){let l=r||n,d=F.parentNode;if(d&&void 0===f[l]&&d.getSubStringLength)try{f[l]=I+d.getSubStringLength(0,D?l+1:l)}catch{}return f[l]};if(z.rotation=0,I+(T=o(F.textContent.length))>E){for(;a<=g;)y=Math.ceil((a+g)/2),D&&(b=_(D,y)),T=o(y,b&&b.length-1),a===g?a=g+1:T>E?g=y-1:a=y;0===g?F.textContent="":L&&g===L.length-1||(F.textContent=b||_(L||D,y))}D&&D.splice(0,y),z.actualWidth=T,z.rotation=O}unescapeEntities(F,L){return A(this.renderer.escapes,function(D,I){L&&-1!==L.indexOf(D)||(F=F.toString().replace(RegExp(D,"g"),I))}),F}}}),Pe(V,"Core/Renderer/SVG/SVGRenderer.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGLabel.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Renderer/SVG/TextBuilder.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe,pe,J,te){let $,{charts:A,deg2rad:B,doc:F,isFirefox:L,isMS:D,isWebKit:I,noop:E,SVG_NS:_,symbolSizes:b,win:T}=re,{addEvent:z,attr:O,createElement:f,css:a,defined:g,destroyObjectProperties:y,extend:o,isArray:n,isNumber:r,isObject:l,isString:d,merge:C,pick:k,pInt:p,replaceNested:S,uniqueKey:j}=te;class H{constructor(U,se,w,X,G,x,N){let R,K,q=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),he=q.element;N||q.css(this.getStyle(X||{})),U.appendChild(he),O(U,"dir","ltr"),-1===U.innerHTML.indexOf("xmlns")&&O(he,"xmlns",this.SVG_NS),this.box=he,this.boxWrapper=q,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(F.createTextNode("Created with Highcharts 11.4.0")),this.defs=this.createElement("defs").add(),this.allowHTML=x,this.forExport=G,this.styledMode=N,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=q.getStyle("font-size"),this.setSize(se,w,!1),L&&U.getBoundingClientRect&&((R=function(){a(U,{left:0,top:0}),K=U.getBoundingClientRect(),a(U,{left:Math.ceil(K.left)-K.left+"px",top:Math.ceil(K.top)-K.top+"px"})})(),this.unSubPixelFix=z(T,"resize",R))}definition(U){return new Z([U]).addToDOM(this.defs.element)}getReferenceURL(){if((L||I)&&F.getElementsByTagName("base").length){if(!g($)){let U=j(),se=new Z([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:U},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${U})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(F.body);a(se,{position:"fixed",top:0,left:0,zIndex:9e5});let w=F.elementFromPoint(6,6);$="hitme"===(w&&w.id),F.body.removeChild(se)}if($)return S(T.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(U){return this.style=o({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},U),this.style}setStyle(U){this.boxWrapper.css(this.getStyle(U))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let U=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),y(this.gradients||{}),this.gradients=null,this.defs=U.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(U){return new this.Element(this,U)}getRadialAttr(U,se){return{cx:U[0]-U[2]/2+(se.cx||0)*U[2],cy:U[1]-U[2]/2+(se.cy||0)*U[2],r:(se.r||0)*U[2]}}shadowDefinition(U){let se=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(U).map(X=>`${X}-${U[X]}`)].join("-").toLowerCase().replace(/[^a-z0-9\-]/g,""),w=C({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},U);return this.defs.element.querySelector(`#${se}`)||this.definition({tagName:"filter",attributes:{id:se,filterUnits:w.filterUnits},children:[{tagName:"feDropShadow",attributes:{dx:w.offsetX,dy:w.offsetY,"flood-color":w.color,"flood-opacity":Math.min(5*w.opacity,1),stdDeviation:w.width/2}}]}),se}buildText(U){new J(U).buildSVG()}getContrast(U){let se=ie.parse(U).rgba.map(X=>{let G=X/255;return G<=.03928?G/12.92:Math.pow((G+.055)/1.055,2.4)}),w=.2126*se[0]+.7152*se[1]+.0722*se[2];return 1.05/(w+.05)>(w+.05)/.05?"#FFFFFF":"#000000"}button(U,se,w,X,G={},x,N,R,K,q){let he,me,Ce,Se=this.label(U,se,w,K,void 0,void 0,q,void 0,"button"),Oe=this.styledMode,Ae=G.states||{},Fe=0;delete(G=C(G)).states;let oe=C({color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},G.style);delete G.style;let ee=Z.filterUserAttributes(G);return Se.attr(C({padding:8,r:2},ee)),Oe||(ee=C({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},ee),he=(x=C(ee,{fill:"#e6e6e6"},Z.filterUserAttributes(x||Ae.hover||{}))).style,delete x.style,me=(N=C(ee,{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},Z.filterUserAttributes(N||Ae.select||{}))).style,delete N.style,Ce=(R=C(ee,{style:{color:"#cccccc"}},Z.filterUserAttributes(R||Ae.disabled||{}))).style,delete R.style),z(Se.element,D?"mouseover":"mouseenter",function(){3!==Fe&&Se.setState(1)}),z(Se.element,D?"mouseout":"mouseleave",function(){3!==Fe&&Se.setState(Fe)}),Se.setState=function(de){if(1!==de&&(Se.state=Fe=de),Se.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][de||0]),!Oe){Se.attr([ee,x,N,R][de||0]);let ye=[oe,he,me,Ce][de||0];l(ye)&&Se.css(ye)}},!Oe&&(Se.attr(ee).css(o({cursor:"default"},oe)),q&&Se.text.css({pointerEvents:"none"})),Se.on("touchstart",de=>de.stopPropagation()).on("click",function(de){3!==Fe&&X.call(Se,de)})}crispLine(U,se,w="round"){let X=U[0],G=U[1];return g(X[1])&&X[1]===G[1]&&(X[1]=G[1]=Math[w](X[1])-se%2/2),g(X[2])&&X[2]===G[2]&&(X[2]=G[2]=Math[w](X[2])+se%2/2),U}path(U){let se=this.styledMode?{}:{fill:"none"};return n(U)?se.d=U:l(U)&&o(se,U),this.createElement("path").attr(se)}circle(U,se,w){let X=l(U)?U:void 0===U?{}:{x:U,y:se,r:w},G=this.createElement("circle");return G.xSetter=G.ySetter=function(x,N,R){R.setAttribute("c"+N,x)},G.attr(X)}arc(U,se,w,X,G,x){let N;l(U)?(se=(N=U).y,w=N.r,X=N.innerR,G=N.start,x=N.end,U=N.x):N={innerR:X,start:G,end:x};let R=this.symbol("arc",U,se,w,w,N);return R.r=w,R}rect(U,se,w,X,G,x){let N=l(U)?U:void 0===U?{}:{x:U,y:se,r:G,width:Math.max(w||0,0),height:Math.max(X||0,0)},R=this.createElement("rect");return this.styledMode||(void 0!==x&&(N["stroke-width"]=x,o(N,R.crisp(N))),N.fill="none"),R.rSetter=function(K,q,he){R.r=K,O(he,{rx:K,ry:K})},R.rGetter=function(){return R.r||0},R.attr(N)}roundedRect(U){return this.symbol("roundedRect").attr(U)}setSize(U,se,w){this.width=U,this.height=se,this.boxWrapper.animate({width:U,height:se},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:k(w,!0)?void 0:0}),this.alignElements()}g(U){let se=this.createElement("g");return U?se.attr({class:"highcharts-"+U}):se}image(U,se,w,X,G,x){let N={preserveAspectRatio:"none"};r(se)&&(N.x=se),r(w)&&(N.y=w),r(X)&&(N.width=X),r(G)&&(N.height=G);let R=this.createElement("image").attr(N),K=function(q){R.attr({href:U}),x.call(R,q)};if(x){R.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let q=new T.Image;z(q,"load",K),q.src=U,q.complete&&K({})}else R.attr({href:U});return R}symbol(U,se,w,X,G,x){let N,R,K,q,he=this,me=/^url\((.*?)\)$/,Ce=me.test(U),Se=!Ce&&(this.symbols[U]?U:"circle"),Oe=Se&&this.symbols[Se];if(Oe)"number"==typeof se&&(R=Oe.call(this.symbols,Math.round(se||0),Math.round(w||0),X||0,G||0,x)),N=this.path(R),he.styledMode||N.attr("fill","none"),o(N,{symbolName:Se||void 0,x:se,y:w,width:X,height:G}),x&&o(N,x);else if(Ce){K=U.match(me)[1];let Ae=N=this.image(K);Ae.imgwidth=k(x&&x.width,b[K]&&b[K].width),Ae.imgheight=k(x&&x.height,b[K]&&b[K].height),q=Fe=>Fe.attr({width:Fe.width,height:Fe.height}),["width","height"].forEach(Fe=>{Ae[`${Fe}Setter`]=function(oe,ee){this[ee]=oe;let{alignByTranslate:de,element:ye,width:Te,height:_e,imgwidth:Me,imgheight:Ee}=this,Xe="width"===ee?Me:Ee,Ze=1;x&&"within"===x.backgroundSize&&Te&&_e&&Me&&Ee?(Ze=Math.min(Te/Me,_e/Ee),O(ye,{width:Math.round(Me*Ze),height:Math.round(Ee*Ze)})):ye&&Xe&&ye.setAttribute(ee,Xe),!de&&Me&&Ee&&this.translate(((Te||0)-Me*Ze)/2,((_e||0)-Ee*Ze)/2)}}),g(se)&&Ae.attr({x:se,y:w}),Ae.isImg=!0,g(Ae.imgwidth)&&g(Ae.imgheight)?q(Ae):(Ae.attr({width:0,height:0}),f("img",{onload:function(){let Fe=A[he.chartIndex];0===this.width&&(a(this,{position:"absolute",top:"-999em"}),F.body.appendChild(this)),b[K]={width:this.width,height:this.height},Ae.imgwidth=this.width,Ae.imgheight=this.height,Ae.element&&q(Ae),this.parentNode&&this.parentNode.removeChild(this),he.imgCount--,he.imgCount||!Fe||Fe.hasLoaded||Fe.onload()},src:K}),this.imgCount++)}return N}clipRect(U,se,w,X){return this.rect(U,se,w,X,0)}text(U,se,w,X){let G={};if(X&&(this.allowHTML||!this.forExport))return this.html(U,se,w);G.x=Math.round(se||0),w&&(G.y=Math.round(w)),g(U)&&(G.text=U);let x=this.createElement("text").attr(G);return X&&(!this.forExport||this.allowHTML)||(x.xSetter=function(N,R,K){let q=K.getElementsByTagName("tspan"),he=K.getAttribute(R);for(let Ce,me=0;meU.align())}}return o(H.prototype,{Element:le,SVG_NS:_,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:pe,draw:E}),ve.registerRendererType("svg",H,!0),H}),Pe(V,"Core/Renderer/HTML/HTMLElement.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){let{composed:le}=ie,{attr:fe,css:pe,createElement:J,defined:te,extend:$,pInt:A,pushUnique:B}=ve;function F(E,_,b){let T=this.div?.style||b.style;re.prototype[`${_}Setter`].call(this,E,_,b),T&&(T[_]=E)}let L=(E,_)=>{if(!E.div){let b=fe(E.element,"class"),T=E.css,z=J("div",b?{className:b}:void 0,{position:"absolute",left:`${E.translateX||0}px`,top:`${E.translateY||0}px`,...E.styles,display:E.display,opacity:E.opacity,visibility:E.visibility},E.parentGroup?.div||_);E.classSetter=(O,f,a)=>{a.setAttribute("class",O),z.className=O},E.translateXSetter=E.translateYSetter=(O,f)=>{E[f]=O,z.style["translateX"===f?"left":"top"]=`${O}px`,E.doTransform=!0},E.opacitySetter=E.visibilitySetter=F,E.css=O=>(T.call(E,O),O.cursor&&(z.style.cursor=O.cursor),O.pointerEvents&&(z.style.pointerEvents=O.pointerEvents),E),E.on=function(){return re.prototype.on.apply({element:z,onEvents:E.onEvents},arguments),E},E.div=z}return E.div};class D extends re{static compose(_){B(le,this.compose)&&(_.prototype.html=function(b,T,z){return new D(this,"span").attr({text:b,x:Math.round(T),y:Math.round(z)})})}constructor(_,b){super(_,b),this.css({position:"absolute",..._.styledMode?{}:{fontFamily:_.style.fontFamily,fontSize:_.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(_,b,T){this.xCorr=-_*T,this.yCorr=-b}css(_){let b,{element:T}=this,z="SPAN"===T.tagName&&_&&"width"in _,O=z&&_.width;return z&&(delete _.width,this.textWidth=A(O)||void 0,b=!0),"ellipsis"===_?.textOverflow&&(_.whiteSpace="nowrap",_.overflow="hidden"),$(this.styles,_),pe(T,_),b&&this.updateTransform(),this}htmlGetBBox(){let{element:_}=this;return{x:_.offsetLeft,y:_.offsetTop,width:_.offsetWidth,height:_.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:_,renderer:b,rotation:T,rotationOriginX:z,rotationOriginY:O,styles:f,textAlign:a="left",textWidth:g,translateX:y=0,translateY:o=0,x:n=0,y:r=0}=this,l=f.whiteSpace;if(pe(_,{marginLeft:`${y}px`,marginTop:`${o}px`}),"SPAN"===_.tagName){let k,d=[T,a,_.innerHTML,g,this.textAlign].join(","),C=-1*this.parentGroup?.padding||0,p=!1;if(g!==this.oldTextWidth){let U=this.textPxLength?this.textPxLength:(pe(_,{width:"",whiteSpace:l||"nowrap"}),_.offsetWidth),se=g||0;(se>this.oldTextWidth||U>se)&&(/[ \-]/.test(_.textContent||_.innerText)||"ellipsis"===_.style.textOverflow)&&(pe(_,{width:U>se||T?g+"px":"auto",display:"block",whiteSpace:l||"normal"}),this.oldTextWidth=g,p=!0)}this.hasBoxWidthChanged=p,d!==this.cTT&&(k=b.fontMetrics(_).b,te(T)&&(T!==(this.oldRotation||0)||a!==this.oldAlign)&&this.setSpanRotation(T,C,C),this.getSpanCorrection(!te(T)&&this.textPxLength||_.offsetWidth,k,{left:0,center:.5,right:1}[a]));let{xCorr:S=0,yCorr:j=0}=this;pe(_,{left:`${n+S}px`,top:`${r+j}px`,transformOrigin:`${(z??n)-S-n-C}px ${(O??r)-j-r-C}px`}),this.cTT=d,this.oldRotation=T,this.oldAlign=a}}setSpanRotation(_,b,T){pe(this.element,{transform:`rotate(${_}deg)`,transformOrigin:`${b}% ${T}px`})}add(_){let b,T=this.renderer.box.parentNode,z=[];if(this.parentGroup=_,_&&!(b=_.div)){let O=_;for(;O;)z.push(O),O=O.parentGroup;for(let f of z.reverse())b=L(f,T)}return(b||T).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(_){_!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,Z.setElementHTML(this.element,_??""),this.textStr=_,this.doTransform=!0)}alignSetter(_){this.alignValue=this.textAlign=_,this.doTransform=!0}xSetter(_,b){this[b]=_,this.doTransform=!0}}let I=D.prototype;return I.visibilitySetter=I.opacitySetter=F,I.ySetter=I.rotationSetter=I.rotationOriginXSetter=I.rotationOriginYSetter=I.xSetter,D}),Pe(V,"Core/Axis/AxisDefaults.js",[],function(){var Z,ie;return(ie=Z||(Z={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},ie.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:re}=this.axis.chart;return re(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},Z}),Pe(V,"Core/Foundation.js",[V["Core/Utilities.js"]],function(Z){var ie;let{addEvent:re,isFunction:ve,objectEach:le,removeEvent:fe}=Z;return(ie||(ie={})).registerEventOptions=function(pe,J){pe.eventOptions=pe.eventOptions||{},le(J.events,function(te,$){pe.eventOptions[$]!==te&&(pe.eventOptions[$]&&(fe(pe,$,pe.eventOptions[$]),delete pe.eventOptions[$]),ve(te)&&(pe.eventOptions[$]=te,re(pe,$,te,{order:0})))})},ie}),Pe(V,"Core/Axis/Tick.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{deg2rad:ve}=ie,{clamp:le,correctFloat:fe,defined:pe,destroyObjectProperties:J,extend:te,fireEvent:$,isNumber:A,merge:B,objectEach:F,pick:L}=re;return class{constructor(D,I,E,_,b){this.isNew=!0,this.isNewLabel=!0,this.axis=D,this.pos=I,this.type=E||"",this.parameters=b||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,$(this,"init"),E||_||this.addLabel()}addLabel(){let l,d,C,D=this,I=D.axis,E=I.options,_=I.chart,b=I.categories,T=I.logarithmic,z=I.names,O=D.pos,f=L(D.options&&D.options.labels,E.labels),a=I.tickPositions,g=O===a[0],y=O===a[a.length-1],o=(!f.step||1===f.step)&&1===I.tickInterval,n=a.info,r=D.label,k=this.parameters.category||(b?L(b[O],z[O],O):O);T&&A(k)&&(k=fe(T.lin2log(k))),I.dateTime&&(n?l=(d=_.time.resolveDTLFormat(E.dateTimeLabelFormats[!E.grid&&n.higherRanks[O]||n.unitName])).main:A(k)&&(l=I.dateTime.getXDateFormat(k,E.dateTimeLabelFormats||{}))),D.isFirst=g,D.isLast=y;let p={axis:I,chart:_,dateTimeLabelFormat:l,isFirst:g,isLast:y,pos:O,tick:D,tickPositionInfo:n,value:k};$(this,"labelFormat",p);let S=Y=>f.formatter?f.formatter.call(Y,Y):f.format?(Y.text=I.defaultLabelFormatter.call(Y),Z.format(f.format,Y,_)):I.defaultLabelFormatter.call(Y),j=S.call(p,p),H=d&&d.list;D.shortenLabel=H?function(){for(C=0;C0&&_+g*y>O&&(k=Math.round((b-_)/Math.cos(a*ve))):(d=_-g*y,C=_+(1-g)*y,dO&&(r=O-D.x+r*g,l=-1),(r=Math.min(o,r))r||I.autoRotation&&(f.styles||{}).width)&&(k=r)),k&&(this.shortenLabel?this.shortenLabel():(n.width=Math.floor(k)+"px",(E.style||{}).textOverflow||(n.textOverflow="ellipsis"),f.css(n)))}moveLabel(D,I){let z,E=this,_=E.label,b=E.axis,T=!1;_&&_.textStr===D?(E.movedLabel=_,T=!0,delete E.label):F(b.ticks,function(O){T||O.isNew||O===E||!O.label||O.label.textStr!==D||(E.movedLabel=O.label,T=!0,O.labelPos=E.movedLabel.xy,delete O.label)}),!T&&(E.labelPos||_)&&(z=E.labelPos||_.xy,E.movedLabel=E.createLabel(D,I,z),E.movedLabel&&E.movedLabel.attr({opacity:0}))}render(D,I,E){let _=this.axis,b=_.horiz,T=this.pos,z=L(this.tickmarkOffset,_.tickmarkOffset),O=this.getPosition(b,T,z,I),f=O.x,a=O.y,g=_.pos,y=g+_.len,o=b&&f===y||!b&&a===g?-1:1,n=b?f:a;!_.chart.polar&&this.isNew&&(fe(n)y)&&(E=0);let r=L(E,this.label&&this.label.newOpacity,1);E=L(E,1),this.isActive=!0,this.renderGridLine(I,E,o),this.renderMark(O,E,o),this.renderLabel(O,I,r,D),this.isNew=!1,$(this,"afterRender")}renderGridLine(D,I,E){let y,_=this.axis,b=_.options,T={},z=this.pos,O=this.type,f=L(this.tickmarkOffset,_.tickmarkOffset),a=_.chart.renderer,g=this.gridLine,o=b.gridLineWidth,n=b.gridLineColor,r=b.gridLineDashStyle;"minor"===this.type&&(o=b.minorGridLineWidth,n=b.minorGridLineColor,r=b.minorGridLineDashStyle),g||(_.chart.styledMode||(T.stroke=n,T["stroke-width"]=o||0,T.dashstyle=r),O||(T.zIndex=1),D&&(I=0),this.gridLine=g=a.path().attr(T).addClass("highcharts-"+(O?O+"-":"")+"grid-line").add(_.gridGroup)),g&&(y=_.getPlotLinePath({value:z+f,lineWidth:g.strokeWidth()*E,force:"pass",old:D,acrossPanes:!1}))&&g[D||this.isNew?"attr":"animate"]({d:y,opacity:I})}renderMark(D,I,E){let _=this.axis,b=_.options,T=_.chart.renderer,z=this.type,O=_.tickSize(z?z+"Tick":"tick"),f=D.x,a=D.y,g=L(b["minor"!==z?"tickWidth":"minorTickWidth"],!z&&_.isXAxis?1:0),y=b["minor"!==z?"tickColor":"minorTickColor"],o=this.mark,n=!o;O&&(_.opposite&&(O[0]=-O[0]),o||(this.mark=o=T.path().addClass("highcharts-"+(z?z+"-":"")+"tick").add(_.axisGroup),_.chart.styledMode||o.attr({stroke:y,"stroke-width":g})),o[n?"attr":"animate"]({d:this.getMarkPath(f,a,O[0],o.strokeWidth()*E,_.horiz,T),opacity:I}))}renderLabel(D,I,E,_){let b=this.axis,T=b.horiz,z=b.options,O=this.label,f=z.labels,a=f.step,g=L(this.tickmarkOffset,b.tickmarkOffset),y=D.x,o=D.y,n=!0;O&&A(y)&&(O.xy=D=this.getLabelPosition(y,o,O,T,f,g,_,a),this.isFirst&&!this.isLast&&!z.showFirstLabel||this.isLast&&!this.isFirst&&!z.showLastLabel?n=!1:!T||f.step||f.rotation||I||0===E||this.handleOverflow(D),a&&_%a&&(n=!1),n&&A(D.y)?(D.opacity=E,O[this.isNewLabel?"attr":"animate"](D).show(!0),this.isNewLabel=!1):(O.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let D=this.label,I=this.axis;D&&!this.isNew&&(D.animate({opacity:0},void 0,D.destroy),delete this.label),I.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),Pe(V,"Core/Axis/Axis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/AxisDefaults.js"],V["Core/Color/Color.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Axis/Tick.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe,pe,J){let{animObject:te}=Z,{xAxis:$,yAxis:A}=ie,{defaultOptions:B}=ve,{registerEventOptions:F}=le,{deg2rad:L}=fe,{arrayMax:D,arrayMin:I,clamp:E,correctFloat:_,defined:b,destroyObjectProperties:T,erase:z,error:O,extend:f,fireEvent:a,getClosestDistance:g,insertItem:y,isArray:o,isNumber:n,isString:r,merge:l,normalizeTickInterval:d,objectEach:C,pick:k,relativeLength:p,removeEvent:S,splat:j,syncTimeout:H}=J,Y=(se,w)=>d(w,void 0,void 0,k(se.options.allowDecimals,w<.5||void 0!==se.tickAmount),!!se.tickAmount);f(B,{xAxis:$,yAxis:l($,A)});class U{constructor(w,X,G){this.init(w,X,G)}init(w,X,G=this.coll){let x="xAxis"===G,N=this.isZAxis||(w.inverted?!x:x);this.chart=w,this.horiz=N,this.isXAxis=x,this.coll=G,a(this,"init",{userOptions:X}),this.opposite=k(X.opposite,this.opposite),this.side=k(X.side,this.side,N?this.opposite?0:2:this.opposite?1:3),this.setOptions(X);let R=this.options,K=R.labels,q=R.type;this.userOptions=X,this.minPixelPadding=0,this.reversed=k(R.reversed,this.reversed),this.visible=R.visible,this.zoomEnabled=R.zoomEnabled,this.hasNames="category"===q||!0===R.categories,this.categories=o(R.categories)&&R.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=b(R.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=R.minRange||R.maxZoom,this.range=R.range,this.offset=R.offset||0,this.max=void 0,this.min=void 0;let he=k(R.crosshair,j(w.options.tooltip.crosshairs)[x?0:1]);this.crosshair=!0===he?{}:he,-1===w.axes.indexOf(this)&&(x?w.axes.splice(w.xAxis.length,0,this):w.axes.push(this),y(this,w[this.coll])),w.orderItems(this.coll),this.series=this.series||[],w.inverted&&!this.isZAxis&&x&&!b(this.reversed)&&(this.reversed=!0),this.labelRotation=n(K.rotation)?K.rotation:void 0,F(this,R),a(this,"afterInit")}setOptions(w){this.options=l(this.horiz?{labels:{autoRotation:[-45]},margin:15}:{title:{rotation:90*this.side}},B[this.coll],w),a(this,"afterSetOptions",{userOptions:w})}defaultLabelFormatter(){let Se,Oe,w=this.axis,{numberFormatter:X}=this.chart,G=n(this.value)?this.value:NaN,x=w.chart.time,N=w.categories,R=this.dateTimeLabelFormat,K=B.lang,q=K.numericSymbols,he=K.numericSymbolMagnitude||1e3,me=w.logarithmic?Math.abs(G):w.tickInterval,Ce=q&&q.length;if(N)Oe=`${this.value}`;else if(R)Oe=x.dateFormat(R,G);else if(Ce&&q&&me>=1e3)for(;Ce--&&void 0===Oe;)me>=(Se=Math.pow(he,Ce+1))&&10*G%Se==0&&null!==q[Ce]&&0!==G&&(Oe=X(G/Se,-1)+q[Ce]);return void 0===Oe&&(Oe=Math.abs(G)>=1e4?X(G,-1):X(G,-1,void 0,"")),Oe}getSeriesExtremes(){let w,X=this;a(this,"getSeriesExtremes",null,function(){X.hasVisibleSeries=!1,X.dataMin=X.dataMax=X.threshold=void 0,X.softThreshold=!X.isXAxis,X.series.forEach(G=>{if(G.reserveSpace()){let N,K,q,x=G.options,R=x.threshold;if(X.hasVisibleSeries=!0,X.positiveValuesOnly&&0>=(R||0)&&(R=void 0),X.isXAxis)(N=G.xData)&&N.length&&(N=X.logarithmic?N.filter(he=>he>0):N,K=(w=G.getXExtremes(N)).min,q=w.max,n(K)||K instanceof Date||(N=N.filter(n),K=(w=G.getXExtremes(N)).min,q=w.max),N.length&&(X.dataMin=Math.min(k(X.dataMin,K),K),X.dataMax=Math.max(k(X.dataMax,q),q)));else{let he=G.applyExtremes();n(he.dataMin)&&(K=he.dataMin,X.dataMin=Math.min(k(X.dataMin,K),K)),n(he.dataMax)&&(q=he.dataMax,X.dataMax=Math.max(k(X.dataMax,q),q)),b(R)&&(X.threshold=R),(!x.softThreshold||X.positiveValuesOnly)&&(X.softThreshold=!1)}}})}),a(this,"afterGetSeriesExtremes")}translate(w,X,G,x,N,R){let K=this.linkedParent||this,q=x&&K.old?K.old.min:K.min;if(!n(q))return NaN;let he=K.minPixelPadding,me=(K.isOrdinal||K.brokenAxis?.hasBreaks||K.logarithmic&&N)&&K.lin2val,Ce=1,Se=0,Oe=x&&K.old?K.old.transA:K.transA,Ae=0;if(Oe||(Oe=K.transA),G&&(Ce*=-1,Se=K.len),K.reversed&&(Ce*=-1,Se-=Ce*(K.sector||K.len)),X)Ae=(w=w*Ce+Se-he)/Oe+q,me&&(Ae=K.lin2val(Ae));else{me&&(w=K.val2lin(w));let Fe=Ce*(w-q)*Oe;Ae=(K.isRadial?Fe:_(Fe))+Se+Ce*he+(n(R)?Oe*R:0)}return Ae}toPixels(w,X){return this.translate(w,!1,!this.horiz,void 0,!0)+(X?0:this.pos)}toValue(w,X){return this.translate(w-(X?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(w){let Ae,Fe,oe,ee,de,X=this,G=X.chart,x=X.left,N=X.top,R=w.old,K=w.value,q=w.lineWidth,he=R&&G.oldChartHeight||G.chartHeight,me=R&&G.oldChartWidth||G.chartWidth,Ce=X.transB,Se=w.translatedValue,Oe=w.force;function ye(_e,Me,Ee){return"pass"!==Oe&&(_eEe)&&(Oe?_e=E(_e,Me,Ee):de=!0),_e}let Te={value:K,lineWidth:q,old:R,force:Oe,acrossPanes:w.acrossPanes,translatedValue:Se};return a(this,"getPlotLinePath",Te,function(_e){Ae=oe=Math.round((Se=E(Se=k(Se,X.translate(K,void 0,void 0,R)),-1e5,1e5))+Ce),Fe=ee=Math.round(he-Se-Ce),n(Se)?X.horiz?(Fe=N,ee=he-X.bottom+(G.scrollablePixelsY||0),Ae=oe=ye(Ae,x,x+X.width)):(Ae=x,oe=me-X.right+(G.scrollablePixelsX||0),Fe=ee=ye(Fe,N,N+X.height)):(de=!0,Oe=!1),_e.path=de&&!Oe?void 0:G.renderer.crispLine([["M",Ae,Fe],["L",oe,ee]],q||1)}),Te.path}getLinearTickPositions(w,X,G){let x,N,R,K=_(Math.floor(X/w)*w),q=_(Math.ceil(G/w)*w),he=[];if(_(K+w)===K&&(R=20),this.single)return[X];for(x=K;x<=q&&(he.push(x),(x=_(x+w,R))!==N);)N=x;return he}getMinorTickInterval(){let{minorTicks:w,minorTickInterval:X}=this.options;return!0===w?k(X,"auto"):!1!==w?X:void 0}getMinorTickPositions(){let he,w=this.options,X=this.tickPositions,G=this.minorTickInterval,x=this.pointRangePadding||0,N=(this.min||0)-x,R=(this.max||0)+x,K=R-N,q=[];if(K&&K/G(me.xIncrement?me.xData?.slice(0,2):me.xData)||[]))||0),this.dataMax-this.dataMin)),n(G)&&n(x)&&n(N)&&G-x=N,R=(N-G+x)/2,q=[x-R,k(w.min,x-R)],K&&(q[2]=X?X.log2lin(this.dataMin):this.dataMin),he=[(x=D(q))+N,k(w.max,x+N)],K&&(he[2]=X?X.log2lin(this.dataMax):this.dataMax),(G=I(he))-xx-N),w=g([G]))}return w&&X?Math.min(w,X):w||X}nameToX(w){let N,X=o(this.options.categories),G=X?this.categories:this.names,x=w.options.x;return w.series.requireSorting=!1,b(x)||(x=this.options.uniqueNames&&G?X?G.indexOf(w.name):k(G.keys[w.name],-1):w.series.autoIncrement()),-1===x?!X&&G&&(N=G.length):N=x,void 0!==N?(this.names[N]=w.name,this.names.keys[w.name]=N):w.x&&(N=w.x),N}updateNames(){let w=this,X=this.names;X.length>0&&(Object.keys(X.keys).forEach(function(G){delete X.keys[G]}),X.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(G=>{G.xIncrement=null,(!G.points||G.isDirtyData)&&(w.max=Math.max(w.max,G.xData.length-1),G.processData(),G.generatePoints()),G.data.forEach(function(x,N){let R;x?.options&&void 0!==x.name&&void 0!==(R=w.nameToX(x))&&R!==x.x&&(x.x=R,G.xData[N]=R)})}))}setAxisTranslation(){let K,me,w=this,X=w.max-w.min,G=w.linkedParent,x=!!w.categories,N=w.isXAxis,R=w.axisPointRange||0,q=0,he=0,Ce=w.transA;(N||x||R)&&(K=w.getClosest(),G?(q=G.minPointOffset,he=G.pointRangePadding):w.series.forEach(function(Se){let Oe=x?1:N?k(Se.options.pointRange,K,0):w.axisPointRange||0,Ae=Se.options.pointPlacement;if(R=Math.max(R,Oe),!w.single||x){let Fe=Se.is("xrange")?!N:N;q=Math.max(q,Fe&&r(Ae)?0:Oe/2),he=Math.max(he,Fe&&"on"===Ae?0:Oe)}}),me=w.ordinal&&w.ordinal.slope&&K?w.ordinal.slope/K:1,w.minPointOffset=q*=me,w.pointRangePadding=he*=me,w.pointRange=Math.min(R,w.single&&x?1:X),N&&K&&(w.closestPointRange=K)),w.translationSlope=w.transA=Ce=w.staticScale||w.len/(X+he||1),w.transB=w.horiz?w.left:w.bottom,w.minPixelPadding=Ce*q,a(this,"afterSetAxisTranslation")}minFromRange(){let{max:w,min:X}=this;return n(w)&&n(X)&&w-X||void 0}setTickInterval(w){let Ee,Ze,lt,Qe,st,{categories:X,chart:G,dataMax:x,dataMin:N,dateTime:R,isXAxis:K,logarithmic:q,options:he,softThreshold:me}=this,Ce=n(this.threshold)?this.threshold:void 0,Se=this.minRange||0,{ceiling:Oe,floor:Ae,linkedTo:Fe,softMax:oe,softMin:ee}=he,de=n(Fe)&&G[this.coll]?.[Fe],ye=he.tickPixelInterval,Te=he.maxPadding,_e=he.minPadding,Me=0,Xe=n(he.tickInterval)&&he.tickInterval>=0?he.tickInterval:void 0;if(R||X||de||this.getTickAmount(),Qe=k(this.userMin,he.min),st=k(this.userMax,he.max),de?(this.linkedParent=de,Ee=de.getExtremes(),this.min=k(Ee.min,Ee.dataMin),this.max=k(Ee.max,Ee.dataMax),he.type!==de.options.type&&O(11,!0,G)):(me&&b(Ce)&&n(x)&&n(N)&&(N>=Ce?(Ze=Ce,_e=0):x<=Ce&&(lt=Ce,Te=0)),this.min=k(Qe,Ze,N),this.max=k(st,lt,x)),n(this.max)&&n(this.min)&&(q&&(this.positiveValuesOnly&&!w&&0>=Math.min(this.min,k(N,this.min))&&O(10,!0,G),this.min=_(q.log2lin(this.min),16),this.max=_(q.log2lin(this.max),16)),this.range&&n(N)&&(this.userMin=this.min=Qe=Math.max(N,this.minFromRange()||0),this.userMax=st=this.max,this.range=void 0)),a(this,"foundExtremes"),this.adjustForMinRange(),n(this.min)&&n(this.max)){if(!n(this.userMin)&&n(ee)&&eethis.max&&(this.max=st=oe),X||this.axisPointRange||this.stacking?.usePercentage||de||!(Me=this.max-this.min)||(!b(Qe)&&_e&&(this.min-=Me*_e),b(st)||!Te||(this.max+=Me*Te)),!n(this.userMin)&&n(Ae)&&(this.min=Math.max(this.min,Ae)),!n(this.userMax)&&n(Oe)&&(this.max=Math.min(this.max,Oe)),me&&n(N)&&n(x)){let pt=Ce||0;!b(Qe)&&this.min=pt?this.min=he.minRange?Math.min(pt,this.max-Se):pt:!b(st)&&this.max>pt&&x<=pt&&(this.max=he.minRange?Math.max(pt,this.min+Se):pt)}!G.polar&&this.min>this.max&&(b(he.min)?this.max=this.min:b(he.max)&&(this.min=this.max)),Me=this.max-this.min}if(this.tickInterval=this.min!==this.max&&n(this.min)&&n(this.max)?de&&!Xe&&ye===de.options.tickPixelInterval?Xe=de.tickInterval:k(Xe,this.tickAmount?Me/Math.max(this.tickAmount-1,1):void 0,X?1:Me*ye/Math.max(this.len,ye)):1,K&&!w){let pt=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(ht){ht.forceCrop=ht.forceCropping?.(),ht.processData(pt)}),a(this,"postProcessData",{hasExtremesChanged:pt})}this.setAxisTranslation(),a(this,"initialAxisTranslation"),this.pointRange&&!Xe&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let kt=k(he.minTickInterval,R&&!this.series.some(pt=>pt.noSharedTooltip)?this.closestPointRange:0);!Xe&&this.tickIntervalMath.max(2*this.len,200))q=[this.min,this.max],O(19,!1,this.chart);else if(this.dateTime)q=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,w.units),this.min,this.max,w.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)q=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let me=this.tickInterval,Ce=me;for(;Ce<=2*me&&(q=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&q.length>this.tickAmount);)this.tickInterval=Y(this,Ce*=1.1)}q.length>this.len&&(q=[q[0],q[q.length-1]])[0]===q[1]&&(q.length=1),G&&(this.tickPositions=q,(he=G.apply(this,[this.min,this.max]))&&(q=he))}this.tickPositions=q,this.paddedTicks=q.slice(0),this.trimTicks(q,R,K),!this.isLinked&&n(this.min)&&n(this.max)&&(this.single&&q.length<2&&!this.categories&&!this.series.some(me=>me.is("heatmap")&&"between"===me.options.pointPlacement)&&(this.min-=.5,this.max+=.5),X||he||this.adjustTickAmount()),a(this,"afterSetTickPositions")}trimTicks(w,X,G){let x=w[0],N=w[w.length-1],R=!this.isOrdinal&&this.minPointOffset||0;if(a(this,"trimTicks"),!this.isLinked){if(X&&x!==-1/0)this.min=x;else for(;this.min-R>w[0];)w.shift();if(G)this.max=N;else for(;this.max+R{let{horiz:Se,options:Oe}=Ce;return[Se?Oe.left:Oe.top,Oe.width,Oe.height,Oe.pane].join(",")},me=he(this);G[this.coll].forEach(function(Ce){let{series:Se}=Ce;Se.length&&Se.some(Oe=>Oe.visible)&&Ce!==X&&he(Ce)===me&&(w=!0,x.push(Ce))})}if(w&&K){x.forEach(me=>{let Ce=me.getThresholdAlignment(X);n(Ce)&&q.push(Ce)});let he=q.length>1?q.reduce((me,Ce)=>me+Ce,0)/q.length:void 0;x.forEach(me=>{me.thresholdAlignment=he})}return w}getThresholdAlignment(w){if((!n(this.dataMin)||this!==w&&this.series.some(X=>X.isDirty||X.isDirtyData))&&this.getSeriesExtremes(),n(this.threshold)){let X=E((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(X=1-X),X}}getTickAmount(){let w=this.options,X=w.tickPixelInterval,G=w.tickAmount;b(w.tickInterval)||G||!(this.lenR.push(_(R[R.length-1]+Oe)),oe=()=>R.unshift(_(R[0]-Oe));if(n(q)&&(Ae=q<.5?Math.ceil(q*(K-1)):Math.floor(q*(K-1)),N.reversed&&(Ae=K-1-Ae)),w.hasData()&&n(x)&&n(G)){let ee=()=>{w.transA*=(he-1)/(K-1),w.min=N.startOnTick?R[0]:Math.min(x,R[0]),w.max=N.endOnTick?R[R.length-1]:Math.max(G,R[R.length-1])};if(n(Ae)&&n(w.threshold)){for(;R[Ae]!==me||R.length!==K||R[0]>x||R[R.length-1]w.threshold?oe():Fe();if(Oe>8*w.tickInterval)break;Oe*=2}ee()}else if(he0&&Se{G=G||R.isDirtyData||R.isDirty,x=x||R.xAxis&&R.xAxis.isDirty||!1}),this.setAxisSize();let N=this.len!==(this.old&&this.old.len);N||G||x||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(X&&"yAxis"===w&&X.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),X&&"xAxis"===w&&X.buildStacks(),this.isDirty||(this.isDirty=N||this.min!==this.old?.min||this.max!==this.old?.max)):X&&X.cleanStacks(),G&&delete this.allExtremes,a(this,"afterSetScale")}setExtremes(w,X,G=!0,x,N){this.series.forEach(R=>{delete R.kdTree}),a(this,"setExtremes",N=f(N,{min:w,max:X}),R=>{this.userMin=R.min,this.userMax=R.max,this.eventArgs=R,G&&this.chart.redraw(x)})}setAxisSize(){let w=this.chart,X=this.options,G=X.offsets||[0,0,0,0],x=this.horiz,N=this.width=Math.round(p(k(X.width,w.plotWidth-G[3]+G[1]),w.plotWidth)),R=this.height=Math.round(p(k(X.height,w.plotHeight-G[0]+G[2]),w.plotHeight)),K=this.top=Math.round(p(k(X.top,w.plotTop+G[0]),w.plotHeight,w.plotTop)),q=this.left=Math.round(p(k(X.left,w.plotLeft+G[3]),w.plotWidth,w.plotLeft));this.bottom=w.chartHeight-R-K,this.right=w.chartWidth-N-q,this.len=Math.max(x?N:R,0),this.pos=x?q:K}getExtremes(){let w=this.logarithmic;return{min:w?_(w.lin2log(this.min)):this.min,max:w?_(w.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(w){let X=this.logarithmic,G=X?X.lin2log(this.min):this.min,x=X?X.lin2log(this.max):this.max;return null===w||w===-1/0?w=G:w===1/0?w=x:G>w?w=G:x15&&X<165?x.align="right":X>195&&X<345&&(x.align="left")}),G.align}tickSize(w){let N,X=this.options,G=k(X["tick"===w?"tickWidth":"minorTickWidth"],"tick"===w&&this.isXAxis&&!this.categories?1:0),x=X["tick"===w?"tickLength":"minorTickLength"];G&&x&&("inside"===X[w+"Position"]&&(x=-x),N=[x,G]);let R={tickSize:N};return a(this,"afterTickSize",R),R.tickSize}labelMetrics(){let w=this.chart.renderer,X=this.ticks,G=X[Object.keys(X)[0]]||{};return this.chart.renderer.fontMetrics(G.label||G.movedLabel||w.box)}unsquish(){let me,Se,w=this.options.labels,X=this.horiz,G=this.tickInterval,x=this.len/(((this.categories?1:0)+this.max-this.min)/G),N=w.rotation,R=this.labelMetrics().h,K=Math.max(this.max-this.min,0),q=function(Oe){let Ae=Oe/(x||1);return(Ae=Ae>1?Math.ceil(Ae):1)*G>K&&Oe!==1/0&&x!==1/0&&K&&(Ae=Math.ceil(K/G)),_(Ae*G)},he=G,Ce=Number.MAX_VALUE;if(X){if(!w.staggerLines&&(n(N)?Se=[N]:x=-90&&Fe<=90)&&(Ae=(Oe=q(Math.abs(R/Math.sin(L*Fe))))+Math.abs(Fe/360))Fe&&(Fe=ye.label.textPxLength)}),this.maxLabelLength=Fe,this.autoRotation)Fe>he&&Fe>Ce.h?me.rotation=this.labelRotation:this.labelRotation=0;else if(q&&(Oe=he,!Se))for(Ae="clip",ee=G.length;!K&&ee--;)(oe=x[G[ee]].label)&&("ellipsis"===oe.styles.textOverflow?oe.css({textOverflow:"clip"}):oe.textPxLength>q&&oe.css({width:q+"px"}),oe.getBBox().height>this.len/G.length-(Ce.h-Ce.f)&&(oe.specificTextOverflow="ellipsis"));me.rotation&&(Oe=Fe>.5*w.chartHeight?.33*w.chartHeight:Fe,Se||(Ae="ellipsis")),this.labelAlign=N.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(me.align=this.labelAlign),G.forEach(function(de){let ye=x[de],Te=ye&&ye.label,_e=R.width,Me={};Te&&(Te.attr(me),ye.shortenLabel?ye.shortenLabel():Oe&&!_e&&"nowrap"!==R.whiteSpace&&(OeN.g(K).attr({zIndex:he}).addClass(`highcharts-${G.toLowerCase()}${q} `+(this.isRadial?`highcharts-radial-axis${q} `:"")+(x.className||"")).add(w);this.axisGroup||(this.gridGroup=R("grid","-grid",x.gridZIndex),this.axisGroup=R("axis","",x.zIndex),this.labelGroup=R("axis-labels","-labels",x.labels.zIndex))}getOffset(){let ee,ye,Me,Ee,w=this,{chart:X,horiz:G,options:x,side:N,ticks:R,tickPositions:K,coll:q}=w,he=X.inverted&&!w.isZAxis?[1,0,3,2][N]:N,me=w.hasData(),Ce=x.title,Se=x.labels,Oe=n(x.crossing),Ae=X.axisOffset,Fe=X.clipOffset,oe=[-1,1,1,-1][N],de=0,Te=0,_e=0;if(w.showAxis=ee=me||x.showEmpty,w.staggerLines=w.horiz&&Se.staggerLines||void 0,w.createGroups(),me||w.isLinked?(K.forEach(function(Xe){w.generateTick(Xe)}),w.renderUnsquish(),w.reserveSpaceDefault=0===N||2===N||{1:"left",3:"right"}[N]===w.labelAlign,k(Se.reserveSpace,!Oe&&null,"center"===w.labelAlign||null,w.reserveSpaceDefault)&&K.forEach(function(Xe){_e=Math.max(R[Xe].getLabelSize(),_e)}),w.staggerLines&&(_e*=w.staggerLines),w.labelOffset=_e*(w.opposite?-1:1)):C(R,function(Xe,Ze){Xe.destroy(),delete R[Ze]}),Ce?.text&&!1!==Ce.enabled&&(w.addTitle(ee),ee&&!Oe&&!1!==Ce.reserveSpace&&(w.titleOffset=de=w.axisTitle.getBBox()[G?"height":"width"],Te=b(ye=Ce.offset)?0:k(Ce.margin,G?5:10))),w.renderLine(),w.offset=oe*k(x.offset,Ae[N]?Ae[N]+(x.margin||0):0),w.tickRotCorr=w.tickRotCorr||{x:0,y:0},Ee=0===N?-w.labelMetrics().h:2===N?w.tickRotCorr.y:0,Me=Math.abs(_e)+Te,_e&&(Me-=Ee,Me+=oe*(G?k(Se.y,w.tickRotCorr.y+oe*Se.distance):k(Se.x,oe*Se.distance))),w.axisTitleMargin=k(ye,Me),w.getMaxLabelDimensions&&(w.maxLabelDimensions=w.getMaxLabelDimensions(R,K)),"colorAxis"!==q){let Xe=this.tickSize("tick");Ae[N]=Math.max(Ae[N],(w.axisTitleMargin||0)+de+oe*w.offset,Me,K&&K.length&&Xe?Xe[0]+oe*w.offset:0);let Ze=!w.axisLine||x.offset?0:2*Math.floor(w.axisLine.strokeWidth()/2);Fe[he]=Math.max(Fe[he],Ze)}a(this,"afterGetOffset")}getLinePath(w){let X=this.chart,G=this.opposite,x=this.offset,N=this.horiz,R=this.left+(G?this.width:0)+x,K=X.chartHeight-this.bottom-(G?this.height:0)+x;return G&&(w*=-1),X.renderer.crispLine([["M",N?this.left:R,N?K:this.top],["L",N?X.chartWidth-this.right:R,N?K:X.chartHeight-this.bottom]],w)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(w){let X=this.horiz,G=this.left,x=this.top,N=this.len,R=this.options.title,K=X?G:x,q=this.opposite,he=this.offset,me=R.x,Ce=R.y,Se=this.chart.renderer.fontMetrics(w),Oe=w?Math.max(w.getBBox(!1,0).height-Se.h-1,0):0,Ae={low:K+(X?0:N),middle:K+N/2,high:K+(X?N:0)}[R.align],Fe=(X?x+this.height:G)+(X?1:-1)*(q?-1:1)*(this.axisTitleMargin||0)+[-Oe,Oe,Se.f,-Oe][this.side],oe={x:X?Ae+me:Fe+(q?this.width:0)+he+me,y:X?Fe+Ce-(q?this.height:0)+he:Ae+Ce};return a(this,"afterGetTitlePosition",{titlePosition:oe}),oe}renderMinorTick(w,X){let G=this.minorTicks;G[w]||(G[w]=new pe(this,w,"minor")),X&&G[w].isNew&&G[w].render(null,!0),G[w].render(null,!1,1)}renderTick(w,X,G){let N=this.ticks;(!this.isLinked||w>=this.min&&w<=this.max||this.grid&&this.grid.isColumn)&&(N[w]||(N[w]=new pe(this,w)),G&&N[w].isNew&&N[w].render(X,!0,-1),N[w].render(X))}render(){let w,X,G=this,x=G.chart,N=G.logarithmic,K=G.options,q=G.isLinked,he=G.tickPositions,me=G.axisTitle,Ce=G.ticks,Se=G.minorTicks,Oe=G.alternateBands,Ae=K.stackLabels,Fe=K.alternateGridColor,oe=K.crossing,ee=G.tickmarkOffset,de=G.axisLine,ye=G.showAxis,Te=te(x.renderer.globalAnimation);if(G.labelEdge.length=0,G.overlap=!1,[Ce,Se,Oe].forEach(function(_e){C(_e,function(Me){Me.isActive=!1})}),n(oe)){let _e=this.isXAxis?x.yAxis[0]:x.xAxis[0],Me=[1,-1,-1,1][this.side];if(_e){let Ee=_e.toPixels(oe,!0);G.horiz&&(Ee=_e.len-Ee),G.offset=Me*Ee}}if(G.hasData()||q){let _e=G.chart.hasRendered&&G.old&&n(G.old.min);G.minorTickInterval&&!G.categories&&G.getMinorTickPositions().forEach(function(Me){G.renderMinorTick(Me,_e)}),he.length&&(he.forEach(function(Me,Ee){G.renderTick(Me,Ee,_e)}),ee&&(0===G.min||G.single)&&(Ce[-1]||(Ce[-1]=new pe(G,-1,null,!0)),Ce[-1].render(-1))),Fe&&he.forEach(function(Me,Ee){X=void 0!==he[Ee+1]?he[Ee+1]+ee:G.max-ee,Ee%2==0&&Me=.5)A=Math.round(A),_=D.getLinearTickPositions(A,B,F);else if(A>=.08){let b,T,z,O,f,a,g;for(b=A>.3?[1,2,4]:A>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],T=Math.floor(B);TB&&(!L||a<=F)&&void 0!==a&&_.push(a),a>F&&(g=!0),a=f}else{let b=this.lin2log(B),T=this.lin2log(F),z=L?D.getMinorTickInterval():E.tickInterval;A=ve(A=le("auto"===z?null:z,this.minorAutoInterval,E.tickPixelInterval/(L?5:1)*(T-b)/((L?I/D.tickPositions.length:I)||1))),_=D.getLinearTickPositions(A,b,T).map(this.log2lin),L||(this.minorAutoInterval=A/5)}return L||(D.tickInterval=A),_}lin2log(A){return Math.pow(10,A)}log2lin(A){return Math.log(A)/Math.LN10}}fe.Additions=te}(ie||(ie={})),ie}),Pe(V,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[V["Core/Utilities.js"]],function(Z){var ie;let{erase:re,extend:ve,isNumber:le}=Z;return function(fe){let pe;function J(D){return this.addPlotBandOrLine(D,"plotBands")}function te(D,I){let E=this.userOptions,_=new pe(this,D);if(this.visible&&(_=_.render()),_){if(this._addedPlotLB||(this._addedPlotLB=!0,(E.plotLines||[]).concat(E.plotBands||[]).forEach(b=>{this.addPlotBandOrLine(b)})),I){let b=E[I]||[];b.push(D),E[I]=b}this.plotLinesAndBands.push(_)}return _}function $(D){return this.addPlotBandOrLine(D,"plotLines")}function A(D,I,E){let f,g,_=this.getPlotLinePath({value:I,force:!0,acrossPanes:(E=E||this.options).acrossPanes}),b=[],T=this.horiz,z=!le(this.min)||!le(this.max)||Dthis.max&&I>this.max,O=this.getPlotLinePath({value:D,force:!0,acrossPanes:E.acrossPanes}),a=1;if(O&&_)for(z&&(g=O.toString()===_.toString(),a=0),f=0;f{r?.on(Y,U=>{b[Y].apply(this,[U])})}),this.eventsAdded=!0),!p&&r.d||!l?.length?r&&(l?(r.show(),r.animate({d:l})):r.d&&(r.hide(),n&&(this.label=n=n.destroy()))):r.attr({d:l}),o&&(le(o.text)||le(o.formatter))&&l?.length&&L.width>0&&L.height>0&&!l.isFlat?(o=te({align:I&&C&&"center",x:I?!C&&4:10,verticalAlign:!I&&C&&"middle",y:I?C?16:10:C?6:-4,rotation:I&&!C&&90},o),this.renderLabel(o,l,C,T)):n&&n.hide(),this}renderLabel(L,D,I,E){let _=this.axis,T=this.label;T||(this.label=T=_.chart.renderer.text(this.getLabelText(L),0,0,L.useHTML).attr({align:L.textAlign||L.align,rotation:L.rotation,class:"highcharts-plot-"+(I?"band":"line")+"-label"+(L.className||""),zIndex:E}),_.chart.styledMode||T.css(te({fontSize:"0.8em",textOverflow:"ellipsis"},L.style)),T.add());let z=D.xBounds||[D[0][1],D[1][1],I?D[2][1]:D[0][1]],O=D.yBounds||[D[0][2],D[1][2],I?D[2][2]:D[0][2]],f=ve(z),a=ve(O);T.align(L,!1,{x:f,y:a,width:re(z)-f,height:re(O)-a}),T.alignValue&&"left"!==T.alignValue||T.css({width:(90===T.rotation?_.height-(T.alignAttr.y-_.top):(L.clip?_.width:_.chart.chartWidth)-(T.alignAttr.x-_.left))+"px"}),T.show(!0)}getLabelText(L){return le(L.formatter)?L.formatter.call(this):L.text}destroy(){pe(this.axis.plotLinesAndBands,this),delete this.axis,fe(this)}}return B}),Pe(V,"Core/Tooltip.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le){var fe;let{format:pe}=Z,{composed:J,doc:te,isSafari:$}=ie,{distribute:A}=re,{addEvent:B,clamp:F,css:L,discardElement:D,extend:I,fireEvent:E,isArray:_,isNumber:b,isString:T,merge:z,pick:O,pushUnique:f,splat:a,syncTimeout:g}=le;class y{constructor(n,r,l){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=n,this.init(n,r),this.pointer=l}bodyFormatter(n){return n.map(function(r){let l=r.series.tooltipOptions;return(l[(r.point.formatPrefix||"point")+"Formatter"]||r.point.tooltipFormatter).call(r.point,l[(r.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(n){this.chart.series.forEach(function(r){let l=r&&r.tt;l&&(!l.isActive||n?r.tt=l.destroy():l.isActive=!1)})}defaultFormatter(n){let r,l=this.points||a(this);return(r=(r=[n.tooltipFooterHeaderFormatter(l[0])]).concat(n.bodyFormatter(l))).push(n.tooltipFooterHeaderFormatter(l[0],!0)),r}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),D(this.container)),le.clearTimeout(this.hideTimer),le.clearTimeout(this.tooltipTimeout)}getAnchor(n,r){let l,{chart:d,pointer:C}=this,k=d.inverted,p=d.plotTop,S=d.plotLeft;if((n=a(n))[0].series&&n[0].series.yAxis&&!n[0].series.yAxis.options.reversedStacks&&(n=n.slice().reverse()),this.followPointer&&r)void 0===r.chartX&&(r=C.normalize(r)),l=[r.chartX-S,r.chartY-p];else if(n[0].tooltipPos)l=n[0].tooltipPos;else{let j=0,H=0;n.forEach(function(Y){let U=Y.pos(!0);U&&(j+=U[0],H+=U[1])}),j/=n.length,H/=n.length,this.shared&&n.length>1&&r&&(k?j=r.chartX:H=r.chartY),l=[j-S,H-p]}return l.map(Math.round)}getClassName(n,r,l){let C=n.series,k=C.options;return[this.options.className,"highcharts-label",l&&"highcharts-tooltip-header",r?"highcharts-tooltip-box":"highcharts-tooltip",!l&&"highcharts-color-"+O(n.colorIndex,C.colorIndex),k&&k.className].filter(T).join(" ")}getLabel(){let n=this,r=this.chart.styledMode,l=this.options,d=this.split&&this.allowShared,C=this.container,k=this.chart.renderer;if(this.label){let p=!this.label.hasClass("highcharts-label");(!d&&p||d&&!p)&&this.destroy()}if(!this.label){if(this.outside){let p=this.chart.options.chart.style,S=ve.getRendererType();this.container=C=ie.doc.createElement("div"),C.className="highcharts-tooltip-container",L(C,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(p&&p.zIndex||0)+3)}),this.renderer=k=new S(C,0,0,p,void 0,void 0,k.styledMode)}if(d?this.label=k.g("tooltip"):(this.label=k.label("",0,0,l.shape,void 0,void 0,l.useHTML,void 0,"tooltip").attr({padding:l.padding,r:l.borderRadius}),r||this.label.attr({fill:l.backgroundColor,"stroke-width":l.borderWidth||0}).css(l.style).css({pointerEvents:l.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),n.outside){let p=this.label,{xSetter:S,ySetter:j}=p;p.xSetter=function(H){S.call(p,n.distance),C&&(C.style.left=H+"px")},p.ySetter=function(H){j.call(p,n.distance),C&&(C.style.top=H+"px")}}this.label.attr({zIndex:8}).shadow(l.shadow).add()}return C&&!C.parentElement&&ie.doc.body.appendChild(C),this.label}getPlayingField(){let{body:n,documentElement:r}=te,{chart:l,distance:d,outside:C}=this;return{width:C?Math.max(n.scrollWidth,r.scrollWidth,n.offsetWidth,r.offsetWidth,r.clientWidth)-2*d:l.chartWidth,height:C?Math.max(n.scrollHeight,r.scrollHeight,n.offsetHeight,r.offsetHeight,r.clientHeight):l.chartHeight}}getPosition(n,r,l){let Ce,{distance:d,chart:C,outside:k,pointer:p}=this,{inverted:S,plotLeft:j,plotTop:H,polar:Y}=C,{plotX:U=0,plotY:se=0}=l,w={},X=S&&l.h||0,{height:G,width:x}=this.getPlayingField(),N=p.getChartPosition(),R=de=>de*N.scaleX,K=de=>de*N.scaleY,q=de=>{let ye="x"===de;return[de,ye?x:G,ye?n:r].concat(k?[ye?R(n):K(r),ye?N.left-d+R(U+j):N.top-d+K(se+H),0,ye?x:G]:[ye?n:r,ye?U+j:se+H,ye?j:H,ye?j+C.plotWidth:H+C.plotHeight])},he=q("y"),me=q("x"),Se=!!l.negative;!Y&&C.hoverSeries?.yAxis?.reversed&&(Se=!Se);let Oe=!this.followPointer&&O(l.ttBelow,!Y&&!S===Se),Ae=function(de,ye,Te,_e,Me,Ee,Xe){let Ze=k?"y"===de?K(d):R(d):d,lt=(Te-_e)/2,Qe=_eye?pt:pt+X)}},Fe=function(de,ye,Te,_e,Me){if(Meye-d)return!1;w[de]=Meye-_e/2?ye-_e-2:Me-Te/2},oe=function(de){[he,me]=[me,he],Ce=de},ee=()=>{!1!==Ae.apply(0,he)?!1!==Fe.apply(0,me)||Ce||(oe(!0),ee()):Ce?w.x=w.y=0:(oe(!0),ee())};return(S&&!Y||this.len>1)&&oe(),ee(),w}hide(n){let r=this;le.clearTimeout(this.hideTimer),n=O(n,this.options.hideDelay),this.isHidden||(this.hideTimer=g(function(){let l=r.getLabel();r.getLabel().animate({opacity:0},{duration:n&&150,complete:()=>{l.hide(),r.container&&r.container.remove()}}),r.isHidden=!0},n))}init(n,r){this.chart=n,this.options=r,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=r.split&&!n.inverted&&!n.polar,this.shared=r.shared||this.split,this.outside=O(r.outside,!(!n.scrollablePixelsX&&!n.scrollablePixelsY))}shouldStickOnContact(n){return!(this.followPointer||!this.options.stickOnContact||n&&!this.pointer.inClass(n.target,"highcharts-tooltip"))}move(n,r,l,d){let C=this,k=C.now,p=!1!==C.options.animation&&!C.isHidden&&(Math.abs(n-k.x)>1||Math.abs(r-k.y)>1),S=C.followPointer||C.len>1;I(k,{x:p?(2*k.x+n)/3:n,y:p?(k.y+r)/2:r,anchorX:S?void 0:p?(2*k.anchorX+l)/3:l,anchorY:S?void 0:p?(k.anchorY+d)/2:d}),C.getLabel().attr(k),C.drawTracker(),p&&(le.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){C&&C.move(n,r,l,d)},32))}refresh(n,r){let{chart:l,options:d,pointer:C,shared:k}=this,p=a(n),S=p[0],j=[],H=d.format,Y=d.formatter||this.defaultFormatter,U=l.styledMode,se={};if(!d.enabled||!S.series)return;le.clearTimeout(this.hideTimer),this.allowShared=!(!_(n)&&n.series&&n.series.noSharedTooltip),this.followPointer=!this.split&&S.series.tooltipOptions.followPointer;let w=this.getAnchor(n,r),X=w[0],G=w[1];k&&this.allowShared?(C.applyInactiveState(p),p.forEach(function(R){R.setState("hover"),j.push(R.getLabelConfig())}),(se=S.getLabelConfig()).points=j):se=S.getLabelConfig(),this.len=j.length;let x=T(H)?pe(H,se,l):Y.call(se,this),N=S.series;if(this.distance=O(N.tooltipOptions.distance,16),!1===x)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(x,p);else{let R=X,K=G;if(r&&C.isDirectTouch&&(R=r.chartX-l.plotLeft,K=r.chartY-l.plotTop),!l.polar&&!1!==N.options.clip&&!p.some(q=>C.isDirectTouch||q.series.shouldShowTooltip(R,K)))return void this.hide();{let q=this.getLabel();(!d.style.width||U)&&q.css({width:(this.outside?this.getPlayingField():l.spacingBox).width+"px"}),q.attr({text:x&&x.join?x.join(""):x}),q.addClass(this.getClassName(S),!0),U||q.attr({stroke:d.borderColor||S.color||N.color||"#666666"}),this.updatePosition({plotX:X,plotY:G,negative:S.negative,ttBelow:S.ttBelow,h:w[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}E(this,"refresh")}renderSplit(n,r){let l=this,{chart:d,chart:{chartWidth:C,chartHeight:k,plotHeight:p,plotLeft:S,plotTop:j,scrollablePixelsY:H=0,scrollablePixelsX:Y,styledMode:U},distance:se,options:w,options:{positioner:X},pointer:G}=l,{scrollLeft:x=0,scrollTop:N=0}=d.scrollablePlotArea?.scrollingContainer||{},R=l.outside&&"number"!=typeof Y?te.documentElement.getBoundingClientRect():{left:x,right:x+C,top:N,bottom:N+k},K=l.getLabel(),q=this.renderer||d.renderer,he=!(!d.xAxis[0]||!d.xAxis[0].opposite),{left:me,top:Ce}=G.getChartPosition(),Se=j+N,Oe=0,Ae=p-H;function Fe(_e,Me,Ee,Xe,Ze=!0){let lt,Qe;return Ee?(lt=he?0:Ae,Qe=F(_e-Xe/2,R.left,R.right-Xe-(l.outside?me:0))):(lt=Me-Se,Qe=F(Qe=Ze?_e-Xe-se:_e+se,Ze?Qe:R.left,R.right)),{x:Qe,y:lt}}T(n)&&(n=[!1,n]);let oe=n.slice(0,r.length+1).reduce(function(_e,Me,Ee){if(!1!==Me&&""!==Me){let Xe=r[Ee-1]||{isHeader:!0,plotX:r[0].plotX,plotY:p,series:{}},Ze=Xe.isHeader,lt=Ze?l:Xe.series,Qe=lt.tt=function(Lt,Gt,ti){let Dt=Lt,{isHeader:At,series:_t}=Gt;if(!Dt){let wt={padding:w.padding,r:w.borderRadius};U||(wt.fill=w.backgroundColor,wt["stroke-width"]=w.borderWidth??1),Dt=q.label("",0,0,w[At?"headerShape":"shape"],void 0,void 0,w.useHTML).addClass(l.getClassName(Gt,!0,At)).attr(wt).add(K)}return Dt.isActive=!0,Dt.attr({text:ti}),U||Dt.css(w.style).attr({stroke:w.borderColor||Gt.color||_t.color||"#333333"}),Dt}(lt.tt,Xe,Me.toString()),st=Qe.getBBox(),kt=st.width+Qe.strokeWidth();Ze&&(Oe=st.height,Ae+=Oe,he&&(Se-=Oe));let{anchorX:pt,anchorY:ht}=function(Lt){let Gt,ti,{isHeader:Dt,plotX:At=0,plotY:_t=0,series:wt}=Lt;if(Dt)Gt=Math.max(S+At,S),ti=j+p/2;else{let{xAxis:Qt,yAxis:di}=wt;Gt=Qt.pos+F(At,-se,Qt.len+se),wt.shouldShowTooltip(0,di.pos-j+_t,{ignoreX:!0})&&(ti=di.pos+_t)}return{anchorX:Gt=F(Gt,R.left-se,R.right+se),anchorY:ti}}(Xe);if("number"==typeof ht){let Lt=st.height+1,Gt=X?X.call(l,kt,Lt,Xe):Fe(pt,ht,Ze,kt);_e.push({align:X?0:void 0,anchorX:pt,anchorY:ht,boxWidth:kt,point:Xe,rank:O(Gt.rank,Ze?1:0),size:Lt,target:Gt.y,tt:Qe,x:Gt.x})}else Qe.isActive=!1}return _e},[]);!X&&oe.some(_e=>{let{outside:Me}=l,Ee=(Me?me:0)+_e.anchorX;return EeEe})&&(oe=oe.map(_e=>{let{x:Me,y:Ee}=Fe(_e.anchorX,_e.anchorY,_e.point.isHeader,_e.boxWidth,!1);return I(_e,{target:Ee,x:Me})})),l.cleanSplit(),A(oe,Ae);let ee={left:me,right:me};oe.forEach(function(_e){let{x:Me,boxWidth:Ee,isHeader:Xe}=_e;!Xe&&(l.outside&&me+Meee.right&&(ee.right=me+Me))}),oe.forEach(function(_e){let{x:Me,anchorX:Ee,anchorY:Xe,pos:Ze,point:{isHeader:lt}}=_e,Qe={visibility:void 0===Ze?"hidden":"inherit",x:Me,y:(Ze||0)+Se,anchorX:Ee,anchorY:Xe};if(l.outside&&Me0&&(lt||(Qe.x=Me+st,Qe.anchorX=Ee+st),lt&&(Qe.x=(ee.right-ee.left)/2,Qe.anchorX=Ee+st))}_e.tt.attr(Qe)});let{container:de,outside:ye,renderer:Te}=l;if(ye&&de&&Te){let{width:_e,height:Me,x:Ee,y:Xe}=K.getBBox();Te.setSize(_e+Ee,Me+Xe,!1),de.style.left=ee.left+"px",de.style.top=Ce+"px"}$&&K.attr({opacity:1===K.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact())return void(this.tracker&&(this.tracker=this.tracker.destroy()));let n=this.chart,r=this.label,l=this.shared?n.hoverPoints:n.hoverPoint;if(!r||!l)return;let d={x:0,y:0,width:0,height:0},C=this.getAnchor(l),k=r.getBBox();C[0]+=n.plotLeft-(r.translateX||0),C[1]+=n.plotTop-(r.translateY||0),d.x=Math.min(0,C[0]),d.y=Math.min(0,C[1]),d.width=C[0]<0?Math.max(Math.abs(C[0]),k.width-C[0]):Math.max(Math.abs(C[0]),k.width),d.height=C[1]<0?Math.max(Math.abs(C[1]),k.height-Math.abs(C[1])):Math.max(Math.abs(C[1]),k.height),this.tracker?this.tracker.attr(d):(this.tracker=r.renderer.rect(d).addClass("highcharts-tracker").add(r),n.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(n){return n.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(n,r){let l=n.series,d=l.tooltipOptions,C=l.xAxis,k=C&&C.dateTime,p={isFooter:r,labelConfig:n},S=d.xDateFormat,j=d[r?"footerFormat":"headerFormat"];return E(this,"headerFormatter",p,function(H){k&&!S&&b(n.key)&&(S=k.getXDateFormat(n.key,d.dateTimeLabelFormats)),k&&S&&(n.point&&n.point.tooltipDateKeys||["key"]).forEach(function(Y){j=j.replace("{point."+Y+"}","{point."+Y+":"+S+"}")}),l.chart.styledMode&&(j=this.styledModeFormat(j)),H.text=pe(j,{point:n,series:l},this.chart)}),p.text}update(n){this.destroy(),this.init(this.chart,z(!0,this.options,n))}updatePosition(n){let x,{chart:r,container:l,distance:d,options:C,pointer:k,renderer:p}=this,{height:S=0,width:j=0}=this.getLabel(),{left:H,top:Y,scaleX:U,scaleY:se}=k.getChartPosition(),w=(C.positioner||this.getPosition).call(this,j,S,n),X=(n.plotX||0)+r.plotLeft,G=(n.plotY||0)+r.plotTop;p&&l&&(C.positioner&&(w.x+=H-d,w.y+=Y-d),x=(C.borderWidth||0)+2*d+2,p.setSize(j+x,S+x,!1),(1!==U||1!==se)&&(L(l,{transform:`scale(${U}, ${se})`}),X*=U,G*=se),X+=H-w.x,G+=Y-w.y),this.move(Math.round(w.x),Math.round(w.y||0),X,G)}}return(fe=y||(y={})).compose=function(o){f(J,"Core.Tooltip")&&B(o,"afterInit",function(){let n=this.chart;n.options.tooltip&&(n.tooltip=new fe(n,n.options.tooltip,this))})},y}),Pe(V,"Core/Series/Point.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le){let{animObject:fe}=ie,{defaultOptions:pe}=re,{format:J}=ve,{addEvent:te,erase:$,extend:A,fireEvent:B,getNestedProperty:F,isArray:L,isFunction:D,isNumber:I,isObject:E,pick:_,syncTimeout:b,removeEvent:T,uniqueKey:z}=le;class O{animateBeforeDestroy(){let a=this,g={x:a.startXPos,opacity:0},y=a.getGraphicalProps();y.singular.forEach(function(o){a[o]=a[o].animate("dataLabel"===o?{x:a[o].startXPos,y:a[o].startYPos,opacity:0}:g)}),y.plural.forEach(function(o){a[o].forEach(function(n){n.element&&n.animate(A({x:a.startXPos},n.startYPos?{x:n.startXPos,y:n.startYPos}:{}))})})}applyOptions(a,g){let y=this.series,o=y.options.pointValKey||y.pointValKey;return A(this,a=O.prototype.optionsToObject.call(this,a)),this.options=this.options?A(this.options,a):a,a.group&&delete this.group,a.dataLabels&&delete this.dataLabels,o&&(this.y=O.prototype.getNestedProperty.call(this,o)),this.selected&&(this.state="select"),"name"in this&&void 0===g&&y.xAxis&&y.xAxis.hasNames&&(this.x=y.xAxis.nameToX(this)),void 0===this.x&&y?this.x=void 0===g?y.autoIncrement():g:I(a.x)&&y.options.relativeXValue&&(this.x=y.autoIncrement(a.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let a=this,g=a.series,y=g.chart,o=g.options.dataSorting,n=y.hoverPoints,r=fe(a.series.chart.renderer.globalAnimation),l=()=>{for(let d in(a.graphic||a.graphics||a.dataLabel||a.dataLabels)&&(T(a),a.destroyElements()),a)delete a[d]};a.legendItem&&y.legend.destroyItem(a),n&&(a.setState(),$(n,a),n.length||(y.hoverPoints=null)),a===y.hoverPoint&&a.onMouseOut(),o&&o.enabled?(this.animateBeforeDestroy(),b(l,r.duration)):l(),y.pointCount--}this.destroyed=!0}destroyElements(a){let g=this,y=g.getGraphicalProps(a);y.singular.forEach(function(o){g[o]=g[o].destroy()}),y.plural.forEach(function(o){g[o].forEach(function(n){n&&n.element&&n.destroy()}),delete g[o]})}firePointEvent(a,g,y){let o=this,n=this.series.options;o.manageEvent(a),"click"===a&&n.allowPointSelect&&(y=function(r){!o.destroyed&&o.select&&o.select(null,r.ctrlKey||r.metaKey||r.shiftKey)}),B(o,a,g,y)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(a){let g,y,o=this,n=[],r={singular:[],plural:[]};for((a=a||{graphic:1,dataLabel:1}).graphic&&n.push("graphic","connector"),a.dataLabel&&n.push("dataLabel","dataLabelPath","dataLabelUpper"),y=n.length;y--;)o[g=n[y]]&&r.singular.push(g);return["graphic","dataLabel"].forEach(function(l){let d=l+"s";a[l]&&o[d]&&r.plural.push(d)}),r}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(a){return a?0===a.indexOf("custom.")?F(a,this.options):this[a]:void 0}getZone(){let o,a=this.series,g=a.zones,y=a.zoneAxis||"y",n=0;for(o=g[0];this[y]>=o.value;)o=g[++n];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=o&&o.color&&!this.options.color?o.color:this.nonZonedColor,o}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(a,g,y){this.formatPrefix="point",this.visible=!0,this.series=a,this.applyOptions(g,y),this.id??(this.id=z()),this.resolveColor(),a.chart.pointCount++,B(this,"afterInit")}isValid(){return(I(this.x)||this.x instanceof Date)&&I(this.y)}optionsToObject(a){let l,g=this.series,y=g.options.keys,o=y||g.pointArrayMap||["y"],n=o.length,r={},d=0,C=0;if(I(a)||null===a)r[o[0]]=a;else if(L(a))for(!y&&a.length>n&&("string"==(l=typeof a[0])?r.name=a[0]:"number"===l&&(r.x=a[0]),d++);C0?O.prototype.setNestedProperty(r,a[d],o[C]):r[o[C]]=a[d]),d++,C++;else"object"==typeof a&&(r=a,a.dataLabels&&(g.hasDataLabels=()=>!0),a.marker&&(g._hasPointMarkers=!0));return r}pos(a,g=this.plotY){if(!this.destroyed){let{plotX:y,series:o}=this,{chart:n,xAxis:r,yAxis:l}=o,d=0,C=0;if(I(y)&&I(g))return a&&(d=r?r.pos:n.plotLeft,C=l?l.pos:n.plotTop),n.inverted&&r&&l?[l.len-g+C,r.len-y+d]:[y+d,g+C]}}resolveColor(){let o,n,l,a=this.series,y=a.chart.styledMode,r=a.chart.options.chart.colorCount;delete this.nonZonedColor,a.options.colorByPoint?(y||(o=(n=a.options.colors||a.chart.options.colors)[a.colorCounter],r=n.length),l=a.colorCounter,a.colorCounter++,a.colorCounter===r&&(a.colorCounter=0)):(y||(o=a.color),l=a.colorIndex),this.colorIndex=_(this.options.colorIndex,l),this.color=_(this.options.color,o)}setNestedProperty(a,g,y){return y.split(".").reduce(function(o,n,r,l){return o[n]=l.length-1===r?g:E(o[n],!0)?o[n]:{},o[n]},a),a}shouldDraw(){return!this.isNull}tooltipFormatter(a){let g=this.series,y=g.tooltipOptions,o=_(y.valueDecimals,""),n=y.valuePrefix||"",r=y.valueSuffix||"";return g.chart.styledMode&&(a=g.chart.tooltip.styledModeFormat(a)),(g.pointArrayMap||["y"]).forEach(function(l){l="{point."+l,(n||r)&&(a=a.replace(RegExp(l+"}","g"),n+l+"}"+r)),a=a.replace(RegExp(l+"}","g"),l+":,."+o+"f}")}),J(a,{point:this,series:this.series},g.chart)}update(a,g,y,o){let n,r=this,l=r.series,d=r.graphic,C=l.chart,k=l.options;function p(){r.applyOptions(a);let S=d&&r.hasMockGraphic;d&&(null===r.y?!S:S)&&(r.graphic=d.destroy(),delete r.hasMockGraphic),E(a,!0)&&(d&&d.element&&a&&a.marker&&void 0!==a.marker.symbol&&(r.graphic=d.destroy()),a?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),n=r.index,l.updateParallelArrays(r,n),k.data[n]=E(k.data[n],!0)||E(a,!0)?r.options:_(a,k.data[n]),l.isDirty=l.isDirtyData=!0,!l.fixedBox&&l.hasCartesianSeries&&(C.isDirtyBox=!0),"point"===k.legendType&&(C.isDirtyLegend=!0),g&&C.redraw(y)}g=_(g,!0),!1===o?p():r.firePointEvent("update",{options:a},p)}remove(a,g){this.series.removePoint(this.series.data.indexOf(this),a,g)}select(a,g){let y=this,o=y.series,n=o.chart;a=_(a,!y.selected),this.selectedStaging=a,y.firePointEvent(a?"select":"unselect",{accumulate:g},function(){y.selected=y.options.selected=a,o.options.data[o.data.indexOf(y)]=y.options,y.setState(a&&"select"),g||n.getSelectedPoints().forEach(function(r){let l=r.series;r.selected&&r!==y&&(r.selected=r.options.selected=!1,l.options.data[l.data.indexOf(r)]=r.options,r.setState(n.hoverPoints&&l.options.inactiveOtherPoints?"inactive":""),r.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(a){let{inverted:g,pointer:y}=this.series.chart;y&&(a=a?y.normalize(a):y.getChartCoordinatesFromPoint(this,g),y.runPointActions(a,this))}onMouseOut(){let a=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(a.hoverPoints||[]).forEach(function(g){g.setState()}),a.hoverPoints=a.hoverPoint=null}manageEvent(a){let g=this.series.options.point||{},y=g.events?.[a];!D(y)||this.hcEvents?.[a]&&-1!==this.hcEvents?.[a]?.map(o=>o.fn).indexOf(y)?this.hasImportedEvents&&!y&&this.hcEvents?.[a]&&(T(this,a),delete this.hcEvents[a],Object.keys(this.hcEvents)||(this.hasImportedEvents=!1)):(te(this,a,y),this.hasImportedEvents=!0)}setState(a,g){let H,Y,U,w,y=this.series,o=this.state,n=y.options.states[a||"normal"]||{},r=pe.plotOptions[y.type].marker&&y.options.marker,d=r&&r.states&&r.states[a||"normal"]||{},k=this.marker||{},p=y.chart,S=r&&y.markerAttribs,j=y.halo,se=y.stateMarkerGraphic;if((a=a||"")===this.state&&!g||this.selected&&"select"!==a||!1===n.enabled||a&&(!1===d.enabled||r&&!1===r.enabled&&!1===d.enabled)||a&&k.states&&k.states[a]&&!1===k.states[a].enabled)return;if(this.state=a,S&&(H=y.markerAttribs(this,a)),this.graphic&&!this.hasMockGraphic){if(o&&this.graphic.removeClass("highcharts-point-"+o),a&&this.graphic.addClass("highcharts-point-"+a),!p.styledMode){Y=y.pointAttribs(this,a),U=_(p.options.chart.animation,n.animation);let N=Y.opacity;y.options.inactiveOtherPoints&&I(N)&&(this.dataLabels||[]).forEach(function(R){R&&!R.hasClass("highcharts-data-label-hidden")&&(R.animate({opacity:N},U),R.connector&&R.connector.animate({opacity:N},U))}),this.graphic.animate(Y,U)}H&&this.graphic.animate(H,_(p.options.chart.animation,d.animation,r.animation)),se&&se.hide()}else a&&d&&(w=k.symbol||y.symbol,se&&se.currentSymbol!==w&&(se=se.destroy()),H&&(se?se[g?"animate":"attr"]({x:H.x,y:H.y}):w&&(y.stateMarkerGraphic=se=p.renderer.symbol(w,H.x,H.y,H.width,H.height).add(y.markerGroup),se.currentSymbol=w)),!p.styledMode&&se&&"inactive"!==this.state&&se.attr(y.pointAttribs(this,a))),se&&(se[a&&this.isInside?"show":"hide"](),se.element.point=this,se.addClass(this.getClassName(),!0));let X=n.halo,G=this.graphic||se,x=G&&G.visibility||"inherit";X&&X.size&&G&&"hidden"!==x&&!this.isCluster?(j||(y.halo=j=p.renderer.path().add(G.parentGroup)),j.show()[g?"animate":"attr"]({d:this.haloPath(X.size)}),j.attr({class:"highcharts-halo highcharts-color-"+_(this.colorIndex,y.colorIndex)+(this.className?" "+this.className:""),visibility:x,zIndex:-1}),j.point=this,p.styledMode||j.attr(A({fill:this.color||y.color,"fill-opacity":X.opacity},Z.filterUserAttributes(X.attributes||{})))):j&&j.point&&j.point.haloPath&&j.animate({d:j.point.haloPath(0)},null,j.hide),B(this,"afterSetState",{state:a})}haloPath(a){let g=this.pos();return g?this.series.chart.renderer.symbols.circle(Math.floor(g[0])-a,g[1]-a,2*a,2*a):[]}}return O}),Pe(V,"Core/Pointer.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie,re){var ve;let{parse:le}=Z,{charts:fe,composed:pe}=ie,{addEvent:J,attr:te,css:$,extend:A,find:B,fireEvent:F,isNumber:L,isObject:D,objectEach:I,offset:E,pick:_,pushUnique:b,splat:T}=re;class z{applyInactiveState(f){let g,a=[];(f||[]).forEach(function(y){g=y.series,a.push(g),g.linkedParent&&a.push(g.linkedParent),g.linkedSeries&&(a=a.concat(g.linkedSeries)),g.navigatorSeries&&a.push(g.navigatorSeries)}),this.chart.series.forEach(function(y){-1===a.indexOf(y)?y.setState("inactive",!0):y.options.inactiveOtherPoints&&y.setAllPointsToState("inactive")})}destroy(){let f=this;this.eventsToUnbind.forEach(a=>a()),this.eventsToUnbind=[],!ie.chartCount&&(z.unbindDocumentMouseUp&&(z.unbindDocumentMouseUp=z.unbindDocumentMouseUp()),z.unbindDocumentTouchEnd&&(z.unbindDocumentTouchEnd=z.unbindDocumentTouchEnd())),clearInterval(f.tooltipTimeout),I(f,function(a,g){f[g]=void 0})}getSelectionMarkerAttrs(f,a){let g={args:{chartX:f,chartY:a},attrs:{},shapeType:"rect"};return F(this,"getSelectionMarkerAttrs",g,y=>{let o,{chart:n,zoomHor:r,zoomVert:l}=this,{mouseDownX:d=0,mouseDownY:C=0}=n,k=y.attrs;k.x=n.plotLeft,k.y=n.plotTop,k.width=r?1:n.plotWidth,k.height=l?1:n.plotHeight,r&&(o=f-d,k.width=Math.max(1,Math.abs(o)),k.x=(o>0?0:o)+d),l&&(o=a-C,k.height=Math.max(1,Math.abs(o)),k.y=(o>0?0:o)+C)}),g}drag(f){let Y,{chart:a}=this,{mouseDownX:g=0,mouseDownY:y=0}=a,{panning:o,panKey:n,selectionMarkerFill:r}=a.options.chart,l=a.plotLeft,d=a.plotTop,C=a.plotWidth,k=a.plotHeight,p=D(o)?o.enabled:o,S=n&&f[`${n}Key`],j=f.chartX,H=f.chartY,U=this.selectionMarker;if((!U||!U.touch)&&(jl+C&&(j=l+C),Hd+k&&(H=d+k),this.hasDragged=Math.sqrt(Math.pow(g-j,2)+Math.pow(y-H,2)),this.hasDragged>10)){Y=a.isInsidePlot(g-l,y-d,{visiblePlotOnly:!0});let{shapeType:se,attrs:w}=this.getSelectionMarkerAttrs(j,H);(a.hasCartesianSeries||a.mapView)&&this.hasZoom&&Y&&!S&&!U&&(this.selectionMarker=U=a.renderer[se](),U.attr({class:"highcharts-selection-marker",zIndex:7}).add(),a.styledMode||U.attr({fill:r||le("#334eff").setOpacity(.25).get()})),U&&U.attr(w),Y&&!U&&p&&a.pan(f,o)}}dragStart(f){let a=this.chart;a.mouseIsDown=f.type,a.cancelClick=!1,a.mouseDownX=f.chartX,a.mouseDownY=f.chartY}getSelectionBox(f){let a={args:{marker:f},result:f.getBBox()};return F(this,"getSelectionBox",a),a.result}drop(f){let a,{chart:g,selectionMarker:y}=this;for(let o of g.axes)o.isPanning&&(o.isPanning=!1,(o.options.startOnTick||o.options.endOnTick||o.series.some(n=>n.boosted))&&(o.forceRedraw=!0,o.setExtremes(o.userMin,o.userMax,!1),a=!0));if(a&&g.redraw(),y&&f){if(this.hasDragged){let o=this.getSelectionBox(y);g.transform({axes:g.axes.filter(n=>n.zoomEnabled&&("xAxis"===n.coll&&this.zoomX||"yAxis"===n.coll&&this.zoomY)),selection:{originalEvent:f,xAxis:[],yAxis:[],...o},from:o})}L(g.index)&&(this.selectionMarker=y.destroy())}g&&L(g.index)&&($(g.container,{cursor:g._cursor}),g.cancelClick=this.hasDragged>10,g.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(f,a,g){let y;return f.forEach(function(o){let n=!(o.noSharedTooltip&&a)&&0>o.options.findNearestPointBy.indexOf("y"),r=o.searchPoint(g,n);D(r,!0)&&r.series&&(!D(y,!0)||function(l,d){let C=l.distX-d.distX,k=l.dist-d.dist,p=d.series.group?.zIndex-l.series.group?.zIndex;return 0!==C&&a?C:0!==k?k:0!==p?p:l.series.index>d.series.index?-1:1}(y,r)>0)&&(y=r)}),y}getChartCoordinatesFromPoint(f,a){let{xAxis:g,yAxis:y}=f.series,o=f.shapeArgs;if(g&&y){let n=f.clientX??f.plotX??0,r=f.plotY||0;return f.isNode&&o&&L(o.x)&&L(o.y)&&(n=o.x,r=o.y),a?{chartX:y.len+y.pos-r,chartY:g.len+g.pos-n}:{chartX:n+g.pos,chartY:r+y.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:f}=this.chart,a=E(f);this.chartPosition={left:a.left,top:a.top,scaleX:1,scaleY:1};let{offsetHeight:g,offsetWidth:y}=f;return y>2&&g>2&&(this.chartPosition.scaleX=a.width/y,this.chartPosition.scaleY=a.height/g),this.chartPosition}getCoordinates(f){let a={xAxis:[],yAxis:[]};for(let g of this.chart.axes)a[g.isXAxis?"xAxis":"yAxis"].push({axis:g,value:g.toValue(f[g.horiz?"chartX":"chartY"])});return a}getHoverData(f,a,g,y,o,n){let C,r=[],l=function(S){return S.visible&&!(!o&&S.directTouch)&&_(S.options.enableMouseTracking,!0)},d=a,k={chartX:n?n.chartX:void 0,chartY:n?n.chartY:void 0,shared:o};F(this,"beforeGetHoverData",k),C=d&&!d.stickyTracking?[d]:g.filter(S=>S.stickyTracking&&(k.filter||l)(S));let p=y&&f||!n?f:this.findNearestKDPoint(C,o,n);return d=p&&p.series,p&&(o&&!d.noSharedTooltip?(C=g.filter(function(S){return k.filter?k.filter(S):l(S)&&!S.noSharedTooltip})).forEach(function(S){let j=B(S.points,function(H){return H.x===p.x&&!H.isNull});D(j)&&(S.boosted&&S.boost&&(j=S.boost.getPoint(j)),r.push(j))}):r.push(p)),F(this,"afterGetHoverData",k={hoverPoint:p}),{hoverPoint:k.hoverPoint,hoverSeries:d,hoverPoints:r}}getPointFromEvent(f){let g,a=f.target;for(;a&&!g;)g=a.point,a=a.parentNode;return g}onTrackerMouseOut(f){let g=f.relatedTarget,y=this.chart.hoverSeries;this.isDirectTouch=!1,!y||!g||y.stickyTracking||this.inClass(g,"highcharts-tooltip")||this.inClass(g,"highcharts-series-"+y.index)&&this.inClass(g,"highcharts-tracker")||y.onMouseOut()}inClass(f,a){let y,g=f;for(;g;){if(y=te(g,"class")){if(-1!==y.indexOf(a))return!0;if(-1!==y.indexOf("highcharts-container"))return!1}g=g.parentElement}}constructor(f,a){this.hasDragged=0,this.eventsToUnbind=[],this.options=a,this.chart=f,this.runChartClick=!!a.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),F(this,"afterInit")}normalize(f,a){let g=f.touches,y=g?g.length?g.item(0):_(g.changedTouches,f.changedTouches)[0]:f;a||(a=this.getChartPosition());let o=y.pageX-a.left,n=y.pageY-a.top;return A(f,{chartX:Math.round(o/=a.scaleX),chartY:Math.round(n/=a.scaleY)})}onContainerClick(f){let a=this.chart,g=a.hoverPoint,y=this.normalize(f),o=a.plotLeft,n=a.plotTop;!a.cancelClick&&(g&&this.inClass(y.target,"highcharts-tracker")?(F(g.series,"click",A(y,{point:g})),a.hoverPoint&&g.firePointEvent("click",y)):(A(y,this.getCoordinates(y)),a.isInsidePlot(y.chartX-o,y.chartY-n,{visiblePlotOnly:!0})&&F(a,"click",y)))}onContainerMouseDown(f){let a=!(1&~(f.buttons||f.button));f=this.normalize(f),ie.isFirefox&&0!==f.button&&this.onContainerMouseMove(f),(void 0===f.button||a)&&(this.zoomOption(f),a&&f.preventDefault?.(),this.dragStart(f))}onContainerMouseLeave(f){let{pointer:a}=fe[_(z.hoverChartIndex,-1)]||{};f=this.normalize(f),this.onContainerMouseMove(f),a&&f.relatedTarget&&!this.inClass(f.relatedTarget,"highcharts-tooltip")&&(a.reset(),a.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(f){let a=this.chart,g=a.tooltip,y=this.normalize(f);this.setHoverChartIndex(f),("mousedown"===a.mouseIsDown||this.touchSelect(y))&&this.drag(y),!a.openMenu&&(this.inClass(y.target,"highcharts-tracker")||a.isInsidePlot(y.chartX-a.plotLeft,y.chartY-a.plotTop,{visiblePlotOnly:!0}))&&(!g||!g.shouldStickOnContact(y))&&(this.inClass(y.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(y))}onDocumentTouchEnd(f){this.onDocumentMouseUp(f)}onContainerTouchMove(f){this.touchSelect(f)?this.onContainerMouseMove(f):this.touch(f)}onContainerTouchStart(f){this.touchSelect(f)?this.onContainerMouseDown(f):(this.zoomOption(f),this.touch(f,!0))}onDocumentMouseMove(f){let a=this.chart,g=a.tooltip,y=this.chartPosition,o=this.normalize(f,y);!y||a.isInsidePlot(o.chartX-a.plotLeft,o.chartY-a.plotTop,{visiblePlotOnly:!0})||g&&g.shouldStickOnContact(o)||this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(f){fe[_(z.hoverChartIndex,-1)]?.pointer?.drop(f)}pinch(f){let a=this,{chart:g,hasZoom:y,lastTouches:o}=a,n=[].map.call(f.touches||[],k=>a.normalize(k)),r=n.length,l=1===r&&(a.inClass(f.target,"highcharts-tracker")&&g.runTrackerClick||a.runChartClick),d=g.tooltip,C=1===r&&_(d?.options.followTouchMove,!0);r>1?a.initiated=!0:C&&(a.initiated=!1),y&&a.initiated&&!l&&!1!==f.cancelable&&f.preventDefault(),"touchstart"===f.type?(a.pinchDown=n,a.res=!0):C?this.runPointActions(a.normalize(f)):o&&(F(g,"touchpan",{originalEvent:f,touches:n},()=>{let k=p=>{let S=p[0],j=p[1]||S;return{x:S.chartX,y:S.chartY,width:j.chartX-S.chartX,height:j.chartY-S.chartY}};g.transform({axes:g.axes.filter(p=>p.zoomEnabled&&(this.zoomHor&&p.horiz||this.zoomVert&&!p.horiz)),to:k(n),from:k(o),trigger:f.type})}),a.res&&(a.res=!1,this.reset(!1,0))),a.lastTouches=n}reset(f,a){let g=this.chart,y=g.hoverSeries,o=g.hoverPoint,n=g.hoverPoints,r=g.tooltip,l=r&&r.shared?n:o;f&&l&&T(l).forEach(function(d){d.series.isCartesian&&void 0===d.plotX&&(f=!1)}),f?r&&l&&T(l).length&&(r.refresh(l),r.shared&&n?n.forEach(function(d){d.setState(d.state,!0),d.series.isCartesian&&(d.series.xAxis.crosshair&&d.series.xAxis.drawCrosshair(null,d),d.series.yAxis.crosshair&&d.series.yAxis.drawCrosshair(null,d))}):o&&(o.setState(o.state,!0),g.axes.forEach(function(d){d.crosshair&&o.series[d.coll]===d&&d.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),n&&n.forEach(function(d){d.setState()}),y&&y.onMouseOut(),r&&r.hide(a),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),g.axes.forEach(function(d){d.hideCrosshair()}),g.hoverPoints=g.hoverPoint=void 0)}runPointActions(f,a,g){let y=this.chart,n=y.tooltip&&y.tooltip.options.enabled?y.tooltip:void 0,r=!!n&&n.shared,l=a||y.hoverPoint,d=l&&l.series||y.hoverSeries,k=this.getHoverData(l,d,y.series,(!f||"touchmove"!==f.type)&&(!!a||d&&d.directTouch&&this.isDirectTouch),r,f);l=k.hoverPoint,d=k.hoverSeries;let p=k.hoverPoints,S=d&&d.tooltipOptions.followPointer&&!d.tooltipOptions.split,j=r&&d&&!d.noSharedTooltip;if(l&&(g||l!==y.hoverPoint||n&&n.isHidden)){if((y.hoverPoints||[]).forEach(function(H){-1===p.indexOf(H)&&H.setState()}),y.hoverSeries!==d&&d.onMouseOver(),this.applyInactiveState(p),(p||[]).forEach(function(H){H.setState("hover")}),y.hoverPoint&&y.hoverPoint.firePointEvent("mouseOut"),!l.series)return;y.hoverPoints=p,y.hoverPoint=l,l.firePointEvent("mouseOver",void 0,()=>{n&&l&&n.refresh(j?p:l,f)})}else if(S&&n&&!n.isHidden){let H=n.getAnchor([{}],f);y.isInsidePlot(H[0],H[1],{visiblePlotOnly:!0})&&n.updatePosition({plotX:H[0],plotY:H[1]})}this.unDocMouseMove||(this.unDocMouseMove=J(y.container.ownerDocument,"mousemove",H=>fe[z.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(H)),this.eventsToUnbind.push(this.unDocMouseMove)),y.axes.forEach(function(H){let Y,U=_((H.crosshair||{}).snap,!0);!U||(Y=y.hoverPoint)&&Y.series[H.coll]===H||(Y=B(p,se=>se.series&&se.series[H.coll]===H)),Y||!U?H.drawCrosshair(f,Y):H.hideCrosshair()})}setDOMEvents(){let f=this.chart.container,a=f.ownerDocument;f.onmousedown=this.onContainerMouseDown.bind(this),f.onmousemove=this.onContainerMouseMove.bind(this),f.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(J(f,"mouseenter",this.onContainerMouseEnter.bind(this)),J(f,"mouseleave",this.onContainerMouseLeave.bind(this))),z.unbindDocumentMouseUp||(z.unbindDocumentMouseUp=J(a,"mouseup",this.onDocumentMouseUp.bind(this)));let g=this.chart.renderTo.parentElement;for(;g&&"BODY"!==g.tagName;)this.eventsToUnbind.push(J(g,"scroll",()=>{delete this.chartPosition})),g=g.parentElement;this.eventsToUnbind.push(J(f,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),J(f,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),z.unbindDocumentTouchEnd||(z.unbindDocumentTouchEnd=J(a,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1}))}setHoverChartIndex(f){let a=this.chart,g=ie.charts[_(z.hoverChartIndex,-1)];g&&g!==a&&g.pointer?.onContainerMouseLeave(f||{relatedTarget:a.container}),g&&g.mouseIsDown||(z.hoverChartIndex=a.index)}touch(f,a){let g,{chart:y,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===f.touches.length?(f=this.normalize(f),y.isInsidePlot(f.chartX-y.plotLeft,f.chartY-y.plotTop,{visiblePlotOnly:!0})&&!y.openMenu?(a&&this.runPointActions(f),"touchmove"===f.type&&(g=!!o[0]&&Math.pow(o[0].chartX-f.chartX,2)+Math.pow(o[0].chartY-f.chartY,2)>=16),_(g,!0)&&this.pinch(f)):a&&this.reset()):2===f.touches.length&&this.pinch(f)}touchSelect(f){return!(!this.chart.zooming.singleTouch||!f.touches||1!==f.touches.length)}zoomOption(f){let o,n,a=this.chart,g=a.inverted,y=a.zooming.type||"";/touch/.test(f.type)&&(y=_(a.zooming.pinchType,y)),this.zoomX=o=/x/.test(y),this.zoomY=n=/y/.test(y),this.zoomHor=o&&!g||n&&g,this.zoomVert=n&&!g||o&&g,this.hasZoom=o||n}}return(ve=z||(z={})).compose=function(O){b(pe,"Core.Pointer")&&J(O,"beforeRender",function(){this.pointer=new ve(this,this.options)})},z}),Pe(V,"Core/Legend/Legend.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Series/Point.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe){var pe;let{animObject:J,setAnimation:te}=Z,{format:$}=ie,{composed:A,marginNames:B}=re,{distribute:F}=le,{addEvent:L,createElement:D,css:I,defined:E,discardElement:_,find:b,fireEvent:T,isNumber:z,merge:O,pick:f,pushUnique:a,relativeLength:g,stableSort:y,syncTimeout:o}=fe;class n{constructor(l,d){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=l,this.setOptions(d),d.enabled&&(this.render(),L(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),L(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(l){let d=f(l.padding,8);this.options=l,this.chart.styledMode||(this.itemStyle=l.itemStyle,this.itemHiddenStyle=O(this.itemStyle,l.itemHiddenStyle)),this.itemMarginTop=l.itemMarginTop,this.itemMarginBottom=l.itemMarginBottom,this.padding=d,this.initialItemY=d-5,this.symbolWidth=f(l.symbolWidth,16),this.pages=[],this.proximate="proximate"===l.layout&&!this.chart.inverted,this.baseline=void 0}update(l,d){let C=this.chart;this.setOptions(O(!0,this.options,l)),this.destroy(),C.isDirtyLegend=C.isDirtyBox=!0,f(d,!0)&&C.redraw(),T(this,"afterUpdate",{redraw:d})}colorizeItem(l,d){let{area:C,group:k,label:p,line:S,symbol:j}=l.legendItem||{};if(k?.[d?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:H={}}=this,Y=H.color,{fillColor:U,fillOpacity:se,lineColor:w,marker:X}=l.options,G=x=>(!d&&(x.fill&&(x.fill=Y),x.stroke&&(x.stroke=Y)),x);p?.css(O(d?this.itemStyle:H)),S?.attr(G({stroke:w||l.color})),j&&j.attr(G(X&&j.isMarker?l.pointAttribs():{fill:l.color})),C?.attr(G({fill:U||l.color,"fill-opacity":U?1:se??.75}))}T(this,"afterColorizeItem",{item:l,visible:d})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(l){let{group:d,x:C=0,y:k=0}=l.legendItem||{},p=this.options,H=l.checkbox;if(d&&d.element){let Y={translateX:p.rtl?this.legendWidth-C-2*p.symbolPadding-4:C,translateY:k};d[E(d.translateY)?"animate":"attr"](Y,void 0,()=>{T(this,"afterPositionItem",{item:l})})}H&&(H.x=C,H.y=k)}destroyItem(l){let d=l.checkbox,C=l.legendItem||{};for(let k of["group","label","line","symbol"])C[k]&&(C[k]=C[k].destroy());d&&_(d),l.legendItem=void 0}destroy(){for(let l of this.getAllItems())this.destroyItem(l);for(let l of["clipRect","up","down","pager","nav","box","title","group"])this[l]&&(this[l]=this[l].destroy());this.display=null}positionCheckboxes(){let l,d=this.group&&this.group.alignAttr,C=this.clipHeight||this.legendHeight,k=this.titleHeight;d&&(l=d.translateY,this.allItems.forEach(function(p){let S,j=p.checkbox;j&&(S=l+k+j.y+(this.scrollOffset||0)+3,I(j,{left:d.translateX+p.checkboxOffset+j.x-20+"px",top:S+"px",display:this.proximate||S>l-6&&S1.5*Ce?me.height:Ce))}layoutItem(l){let d=this.options,C=this.padding,k="horizontal"===d.layout,p=l.itemHeight,S=this.itemMarginBottom,j=this.itemMarginTop,H=k?f(d.itemDistance,20):0,Y=this.maxLegendWidth,U=d.alignColumns&&this.totalItemWidth>Y?this.maxItemWidth:l.itemWidth,se=l.legendItem||{};k&&this.itemX-C+U>Y&&(this.itemX=C,this.lastLineHeight&&(this.itemY+=j+this.lastLineHeight+S),this.lastLineHeight=0),this.lastItemY=j+this.itemY+S,this.lastLineHeight=Math.max(p,this.lastLineHeight),se.x=this.itemX,se.y=this.itemY,k?this.itemX+=U:(this.itemY+=j+p+S,this.lastLineHeight=p),this.offsetWidth=this.widthOption||Math.max((k?this.itemX-C-(l.checkbox?0:H):U)+C,this.offsetWidth)}getAllItems(){let l=[];return this.chart.series.forEach(function(d){let C=d&&d.options;d&&f(C.showInLegend,!E(C.linkedTo)&&void 0,!0)&&(l=l.concat((d.legendItem||{}).labels||("point"===C.legendType?d.data:d)))}),T(this,"afterGetAllItems",{allItems:l}),l}getAlignment(){let l=this.options;return this.proximate?l.align.charAt(0)+"tv":l.floating?"":l.align.charAt(0)+l.verticalAlign.charAt(0)+l.layout.charAt(0)}adjustMargins(l,d){let C=this.chart,k=this.options,p=this.getAlignment();p&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(S,j){S.test(p)&&!E(l[j])&&(C[B[j]]=Math.max(C[B[j]],C.legend[(j+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][j]*k[j%2?"x":"y"]+f(k.margin,12)+d[j]+(C.titleOffset[j]||0)))})}proximatePositions(){let l,d=this.chart,C=[],k="left"===this.options.align;for(let p of(this.allItems.forEach(function(S){let j,H,U,se,Y=k;S.yAxis&&(S.xAxis.options.reversed&&(Y=!Y),S.points&&(j=b(Y?S.points:S.points.slice(0).reverse(),function(w){return z(w.plotY)})),H=this.itemMarginTop+S.legendItem.label.getBBox().height+this.itemMarginBottom,se=S.yAxis.top-d.plotTop,U=S.visible?(j?j.plotY:S.yAxis.height)+(se-.3*H):se+S.yAxis.height,C.push({target:U,size:H,item:S}))},this),F(C,d.plotHeight)))l=p.item.legendItem||{},z(p.pos)&&(l.y=d.plotTop-d.spacing[0]+p.pos)}render(){let S,j,H,U,l=this.chart,d=l.renderer,C=this.options,k=this.padding,p=this.getAllItems(),Y=this.group,se=this.box;this.itemX=k,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=g(C.width,l.spacingBox.width-k),U=l.spacingBox.width-2*k-C.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(U/=2),this.maxLegendWidth=this.widthOption||U,Y||(this.group=Y=d.g("legend").addClass(C.className||"").attr({zIndex:7}).add(),this.contentGroup=d.g().attr({zIndex:1}).add(Y),this.scrollGroup=d.g().add(this.contentGroup)),this.renderTitle(),y(p,(w,X)=>(w.options&&w.options.legendIndex||0)-(X.options&&X.options.legendIndex||0)),C.reversed&&p.reverse(),this.allItems=p,this.display=S=!!p.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,p.forEach(this.renderItem,this),p.forEach(this.layoutItem,this),j=(this.widthOption||this.offsetWidth)+k,H=this.lastItemY+this.lastLineHeight+this.titleHeight,H=this.handleOverflow(H)+k,se||(this.box=se=d.rect().addClass("highcharts-legend-box").attr({r:C.borderRadius}).add(Y)),l.styledMode||se.attr({stroke:C.borderColor,"stroke-width":C.borderWidth||0,fill:C.backgroundColor||"none"}).shadow(C.shadow),j>0&&H>0&&se[se.placed?"animate":"attr"](se.crisp.call({},{x:0,y:0,width:j,height:H},se.strokeWidth())),Y[S?"show":"hide"](),l.styledMode&&"none"===Y.getStyle("display")&&(j=H=0),this.legendWidth=j,this.legendHeight=H,S&&this.align(),this.proximate||this.positionItems(),T(this,"afterRender")}align(l=this.chart.spacingBox){let d=this.chart,C=this.options,k=l.y;/(lth|ct|rth)/.test(this.getAlignment())&&d.titleOffset[0]>0?k+=d.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&d.titleOffset[2]>0&&(k-=d.titleOffset[2]),k!==l.y&&(l=O(l,{y:k})),d.hasRendered||(this.group.placed=!1),this.group.align(O(C,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":C.verticalAlign}),!0,l)}handleOverflow(l){let R,K,q,d=this,C=this.chart,k=C.renderer,p=this.options,S=p.y,j="top"===p.verticalAlign,H=this.padding,Y=p.maxHeight,U=p.navigation,se=f(U.animation,!0),w=U.arrowSize||12,X=this.pages,G=this.allItems,x=function(Se){"number"==typeof Se?Ce.attr({height:Se}):Ce&&(d.clipRect=Ce.destroy(),d.contentGroup.clip()),d.contentGroup.div&&(d.contentGroup.div.style.clip=Se?"rect("+H+"px,9999px,"+(H+Se)+"px,0)":"auto")},N=function(Se){return d[Se]=k.circle(0,0,1.3*w).translate(w/2,w/2).add(me),C.styledMode||d[Se].attr("fill","rgba(0,0,0,0.0001)"),d[Se]},he=C.spacingBox.height+(j?-S:S)-H,me=this.nav,Ce=this.clipRect;return"horizontal"!==p.layout||"middle"===p.verticalAlign||p.floating||(he/=2),Y&&(he=Math.min(he,Y)),X.length=0,l&&he>0&&l>he&&!1!==U.enabled?(this.clipHeight=R=Math.max(he-20-this.titleHeight-H,0),this.currentPage=f(this.currentPage,1),this.fullHeight=l,G.forEach((Se,Oe)=>{let Ae=(q=Se.legendItem||{}).y||0,Fe=Math.round(q.label.getBBox().height),oe=X.length;(!oe||Ae-X[oe-1]>R&&(K||Ae)!==X[oe-1])&&(X.push(K||Ae),oe++),q.pageIx=oe-1,K&&((G[Oe-1].legendItem||{}).pageIx=oe-1),Oe===G.length-1&&Ae+Fe-X[oe-1]>R&&Ae>X[oe-1]&&(X.push(Ae),q.pageIx=oe),Ae!==K&&(K=Ae)}),Ce||(Ce=d.clipRect=k.clipRect(0,H-2,9999,0),d.contentGroup.clip(Ce)),x(R),me||(this.nav=me=k.g().attr({zIndex:1}).add(this.group),this.up=k.symbol("triangle",0,0,w,w).add(me),N("upTracker").on("click",function(){d.scroll(-1,se)}),this.pager=k.text("",15,10).addClass("highcharts-legend-navigation"),!C.styledMode&&U.style&&this.pager.css(U.style),this.pager.add(me),this.down=k.symbol("triangle-down",0,0,w,w).add(me),N("downTracker").on("click",function(){d.scroll(1,se)})),d.scroll(0),l=he):me&&(x(),this.nav=me.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),l}scroll(l,d){let C=this.chart,k=this.pages,p=k.length,S=this.clipHeight,j=this.options.navigation,H=this.pager,Y=this.padding,U=this.currentPage+l;U>p&&(U=p),U>0&&(void 0!==d&&te(d,C),this.nav.attr({translateX:Y,translateY:S+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(se){se.attr({class:1===U?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),H.attr({text:U+"/"+p}),[this.down,this.downTracker].forEach(function(se){se.attr({x:18+this.pager.getBBox().width,class:U===p?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),C.styledMode||(this.up.attr({fill:1===U?j.inactiveColor:j.activeColor}),this.upTracker.css({cursor:1===U?"default":"pointer"}),this.down.attr({fill:U===p?j.inactiveColor:j.activeColor}),this.downTracker.css({cursor:U===p?"default":"pointer"})),this.scrollOffset=-k[U-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=U,this.positionCheckboxes(),o(()=>{T(this,"afterScroll",{currentPage:U})},J(f(d,C.renderer.globalAnimation,!0)).duration))}setItemEvents(l,d,C){let k=this,p=l.legendItem||{},S=k.chart.renderer.boxWrapper,j=l instanceof ve,H="highcharts-legend-"+(j?"point":"series")+"-active",Y=k.chart.styledMode,U=C?[d,p.symbol]:[p.group],se=w=>{k.allItems.forEach(X=>{l!==X&&[X].concat(X.linkedSeries||[]).forEach(G=>{G.setState(w,!j)})})};for(let w of U)w&&w.on("mouseover",function(){l.visible&&se("inactive"),l.setState("hover"),l.visible&&S.addClass(H),Y||d.css(k.options.itemHoverStyle)}).on("mouseout",function(){k.chart.styledMode||d.css(O(l.visible?k.itemStyle:k.itemHiddenStyle)),se(""),S.removeClass(H),l.setState()}).on("click",function(X){let G="legendItemClick",x=function(){l.setVisible&&l.setVisible(),se(l.visible?"inactive":"")};S.removeClass(H),X={browserEvent:X},l.firePointEvent?l.firePointEvent(G,X,x):T(l,G,X,x)})}createCheckboxForItem(l){l.checkbox=D("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:l.selected,defaultChecked:l.selected},this.options.itemCheckboxStyle,this.chart.container),L(l.checkbox,"click",function(d){T(l.series||l,"checkboxClick",{checked:d.target.checked,item:l},function(){l.select()})})}}return(pe=n||(n={})).compose=function(r){a(A,"Core.Legend")&&L(r,"beforeMargins",function(){this.legend=new pe(this,this.options.legend)})},n}),Pe(V,"Core/Legend/LegendSymbol.js",[V["Core/Utilities.js"]],function(Z){var ie;let{extend:re,merge:ve,pick:le}=Z;return function(fe){function pe(J,te,$){let f,A=this.legendItem=this.legendItem||{},{chart:B,options:F}=this,{baseline:L=0,symbolWidth:D,symbolHeight:I}=J,E=this.symbol||"circle",_=I/2,b=B.renderer,T=A.group,z=L-Math.round(I*($?.4:.3)),O={},a=F.marker,g=0;if(B.styledMode||(O["stroke-width"]=Math.min(F.lineWidth||0,24),F.dashStyle?O.dashstyle=F.dashStyle:"square"===F.linecap||(O["stroke-linecap"]="round")),A.line=b.path().addClass("highcharts-graph").attr(O).add(T),$&&(A.area=b.path().addClass("highcharts-area").add(T)),O["stroke-linecap"]&&(g=Math.min(A.line.strokeWidth(),D)/2),D){let y=[["M",g,z],["L",D-g,z]];A.line.attr({d:y}),A.area?.attr({d:[...y,["L",D-g,L],["L",g,L]]})}if(a&&!1!==a.enabled&&D){let y=Math.min(le(a.radius,_),_);0===E.indexOf("url")&&(a=ve(a,{width:I,height:I}),y=0),A.symbol=f=b.symbol(E,D/2-y,z-y,2*y,2*y,re({context:"legend"},a)).addClass("highcharts-point").add(T),f.isMarker=!0}}fe.areaMarker=function(J,te){pe.call(this,J,te,!0)},fe.lineMarker=pe,fe.rectangle=function(J,te){let $=te.legendItem||{},B=J.symbolHeight,F=J.options.squareSymbol;$.symbol=this.chart.renderer.rect(F?(J.symbolWidth-B)/2:0,J.baseline-B+1,F?B:J.symbolWidth,B,le(J.options.symbolRadius,B/2)).addClass("highcharts-point").attr({zIndex:3}).add($.group)}}(ie||(ie={})),ie}),Pe(V,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:Z}=this.series.chart;return"number"!=typeof this.y?"":Z(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),Pe(V,"Core/Series/SeriesRegistry.js",[V["Core/Globals.js"],V["Core/Defaults.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){var le;let{defaultOptions:fe}=ie,{extend:pe,extendClass:J,merge:te}=ve;return function($){function A(B,F){let L=fe.plotOptions||{},D=F.defaultOptions,I=F.prototype;return I.type=B,I.pointClass||(I.pointClass=re),!$.seriesTypes[B]&&(D&&(L[B]=D),$.seriesTypes[B]=F,!0)}$.seriesTypes=Z.seriesTypes,$.registerSeriesType=A,$.seriesType=function(B,F,L,D,I){let E=fe.plotOptions||{};if(E[B]=te(E[F=F||""],L),delete $.seriesTypes[B],A(B,J($.seriesTypes[F]||function(){},D)),$.seriesTypes[B].prototype.type=B,I){class _ extends re{}pe(_.prototype,I),$.seriesTypes[B].prototype.pointClass=_}return $.seriesTypes[B]}}(le||(le={})),le}),Pe(V,"Core/Series/Series.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Series/Point.js"],V["Core/Series/SeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe,pe,J,te,$){let{animObject:A,setAnimation:B}=Z,{defaultOptions:F}=ie,{registerEventOptions:L}=re,{svg:D,win:I}=ve,{seriesTypes:E}=J,{arrayMax:_,arrayMin:b,clamp:T,correctFloat:z,defined:O,destroyObjectProperties:f,diffObjects:a,erase:g,error:y,extend:o,find:n,fireEvent:r,getClosestDistance:l,getNestedProperty:d,insertItem:C,isArray:k,isNumber:p,isString:S,merge:j,objectEach:H,pick:Y,removeEvent:U,splat:se,syncTimeout:w}=$;class X{constructor(){this.zoneAxis="y"}init(x,N){let R;r(this,"init",{options:N});let K=this,q=x.series;this.eventsToUnbind=[],K.chart=x,K.options=K.setOptions(N);let he=K.options,me=!1!==he.visible;K.linkedSeries=[],K.bindAxes(),o(K,{name:he.name,state:"",visible:me,selected:!0===he.selected}),L(this,he);let Ce=he.events;(Ce&&Ce.click||he.point&&he.point.events&&he.point.events.click||he.allowPointSelect)&&(x.runTrackerClick=!0),K.getColor(),K.getSymbol(),K.parallelArrays.forEach(function(Se){K[Se+"Data"]||(K[Se+"Data"]=[])}),K.isCartesian&&(x.hasCartesianSeries=!0),q.length&&(R=q[q.length-1]),K._i=Y(R&&R._i,-1)+1,K.opacity=K.options.opacity,x.orderItems("series",C(this,q)),he.dataSorting&&he.dataSorting.enabled?K.setDataSortingOptions():K.points||K.data||K.setData(he.data,!1),r(this,"afterInit")}is(x){return E[x]&&this instanceof E[x]}bindAxes(){let x,N=this,R=N.options,K=N.chart;r(this,"bindAxes",null,function(){(N.axisTypes||[]).forEach(function(q){K[q].forEach(function(he){x=he.options,(Y(R[q],0)===he.index||void 0!==R[q]&&R[q]===x.id)&&(C(N,he.series),N[q]=he,he.isDirty=!0)}),N[q]||N.optionalAxis===q||y(18,!0,K)})}),r(this,"afterBindAxes")}updateParallelArrays(x,N,R){let K=x.series,q=p(N)?function(he){let me="y"===he&&K.toYData?K.toYData(x):x[he];K[he+"Data"][N]=me}:function(he){Array.prototype[N].apply(K[he+"Data"],R)};K.parallelArrays.forEach(q)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(x,N){let R=x.marker,K=N.marker||{};return R&&(K.enabled&&!R.enabled||K.symbol!==R.symbol||K.height!==R.height||K.width!==R.width)}autoIncrement(x){let me,Ce,N=this.options,R=N.pointIntervalUnit,K=N.relativeXValue,q=this.chart.time,he=this.xIncrement;return he=Y(he,N.pointStart,0),this.pointInterval=Ce=Y(this.pointInterval,N.pointInterval,1),K&&p(x)&&(Ce*=x),R&&(me=new q.Date(he),"day"===R?q.set("Date",me,q.get("Date",me)+Ce):"month"===R?q.set("Month",me,q.get("Month",me)+Ce):"year"===R&&q.set("FullYear",me,q.get("FullYear",me)+Ce),Ce=me.getTime()-he),K&&p(x)?he+Ce:(this.xIncrement=he+Ce,he)}setDataSortingOptions(){let x=this.options;o(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),O(x.pointRange)||(x.pointRange=1)}setOptions(x){let N,R=this.chart,K=R.options.plotOptions,q=R.userOptions||{},he=j(x),me=R.styledMode,Ce={plotOptions:K,userOptions:he};r(this,"setOptions",Ce);let Se=Ce.plotOptions[this.type],Oe=q.plotOptions||{},Ae=Oe.series||{},Fe=F.plotOptions[this.type]||{},oe=Oe[this.type]||{};this.userOptions=Ce.userOptions;let ee=j(Se,K.series,oe,he);this.tooltipOptions=j(F.tooltip,F.plotOptions.series?.tooltip,Fe?.tooltip,R.userOptions.tooltip,Oe.series?.tooltip,oe.tooltip,he.tooltip),this.stickyTracking=Y(he.stickyTracking,oe.stickyTracking,Ae.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||ee.stickyTracking),null===Se.marker&&delete ee.marker,this.zoneAxis=ee.zoneAxis||"y";let de=this.zones=(ee.zones||[]).map(ye=>({...ye}));return(ee.negativeColor||ee.negativeFillColor)&&!ee.zones&&(N={value:ee[this.zoneAxis+"Threshold"]||ee.threshold||0,className:"highcharts-negative"},me||(N.color=ee.negativeColor,N.fillColor=ee.negativeFillColor),de.push(N)),de.length&&O(de[de.length-1].value)&&de.push(me?{}:{color:this.color,fillColor:this.fillColor}),r(this,"afterSetOptions",{options:ee}),ee}getName(){return Y(this.options.name,"Series "+(this.index+1))}getCyclic(x,N,R){let K,q,he=this.chart,me=`${x}Index`,Ce=`${x}Counter`,Se=R?.length||he.options.chart.colorCount;!N&&(O(q=Y("color"===x?this.options.colorIndex:void 0,this[me]))?K=q:(he.series.length||(he[Ce]=0),K=he[Ce]%Se,he[Ce]+=1),R&&(N=R[K])),void 0!==K&&(this[me]=K),this[x]=N}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||F.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)}findPointIndex(x,N){let R,K,q,he=x.id,me=x.x,Ce=this.points,Se=this.options.dataSorting;if(he){let Oe=this.chart.get(he);Oe instanceof fe&&(R=Oe)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let Oe=Ae=>!Ae.touched&&Ae.index===x.index;if(Se&&Se.matchByName?Oe=Ae=>!Ae.touched&&Ae.name===x.name:this.options.relativeXValue&&(Oe=Ae=>!Ae.touched&&Ae.options.x===x.x),!(R=n(Ce,Oe)))return}return R&&void 0!==(q=R&&R.index)&&(K=!0),void 0===q&&p(me)&&(q=this.xData.indexOf(me,N)),-1!==q&&void 0!==q&&this.cropped&&(q=q>=this.cropStart?q-this.cropStart:q),!K&&p(q)&&Ce[q]&&Ce[q].touched&&(q=void 0),q}updateData(x,N){let Se,Oe,Ae,Fe,R=this.options,K=R.dataSorting,q=this.points,he=[],me=this.requireSorting,Ce=x.length===q.length,oe=!0;if(this.xIncrement=null,x.forEach(function(ee,de){let ye,Te=O(ee)&&this.pointClass.prototype.optionsToObject.call({series:this},ee)||{};Te.id||p(Te.x)?(-1===(ye=this.findPointIndex(Te,Fe))||void 0===ye?he.push(ee):q[ye]&&ee!==R.data[ye]?(q[ye].update(ee,!1,null,!1),q[ye].touched=!0,me&&(Fe=ye+1)):q[ye]&&(q[ye].touched=!0),(!Ce||de!==ye||K&&K.enabled||this.hasDerivedData)&&(Se=!0)):he.push(ee)},this),Se)for(Oe=q.length;Oe--;)(Ae=q[Oe])&&!Ae.touched&&Ae.remove&&Ae.remove(!1,N);else!Ce||K&&K.enabled?oe=!1:(x.forEach(function(ee,de){ee===q[de].y||q[de].destroyed||q[de].update(ee,!1,null,!1)}),he.length=0);return q.forEach(function(ee){ee&&(ee.touched=!1)}),!!oe&&(he.forEach(function(ee){this.addPoint(ee,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=_(this.xData),this.autoIncrement()),!0)}setData(x,N=!0,R,K){let _e,Me,Ee,Qe,q=this,he=q.points,me=he&&he.length||0,Ce=q.options,Se=q.chart,Oe=Ce.dataSorting,Ae=q.xAxis,Fe=Ce.turboThreshold,oe=this.xData,ee=this.yData,de=q.pointArrayMap,ye=de&&de.length,Te=Ce.keys,Xe=0,Ze=1,lt=null;Se.options.chart.allowMutatingData||(Ce.data&&delete q.options.data,q.userOptions.data&&delete q.userOptions.data,Qe=j(!0,x));let st=(x=Qe||x||[]).length;if(Oe&&Oe.enabled&&(x=this.sortData(x)),Se.options.chart.allowMutatingData&&!1!==K&&st&&me&&!q.cropped&&!q.hasGroupedData&&q.visible&&!q.boosted&&(Ee=this.updateData(x,R)),!Ee){if(q.xIncrement=null,q.colorCounter=0,this.parallelArrays.forEach(function(kt){q[kt+"Data"].length=0}),Fe&&st>Fe)if(p(lt=q.getFirstValidPoint(x)))for(_e=0;_e=0?Xe:0,Ze=Ze>=0?Ze:1),1===lt.length&&(Ze=0),Xe===Ze)for(_e=0;_e{let me=d(R,q),Ce=d(R,he);return Ceme?1:0}).forEach(function(q,he){q.x=he},this),N.linkedSeries&&N.linkedSeries.forEach(function(q){let he=q.options,me=he.data;he.dataSorting&&he.dataSorting.enabled||!me||(me.forEach(function(Ce,Se){me[Se]=K(q,Ce),x[Se]&&(me[Se].x=x[Se].x,me[Se].index=Se)}),q.setData(me,!1))}),x}getProcessedData(x){let Se,Oe,Fe,oe,ee,N=this,R=N.xAxis,K=N.options,q=K.cropThreshold,he=x||N.getExtremesFromAll||K.getExtremesFromAll,me=R?.logarithmic,Ce=N.isCartesian,Ae=0,de=N.xData,ye=N.yData,Te=!1,_e=de.length;R&&(oe=(Fe=R.getExtremes()).min,ee=Fe.max,Te=!(!R.categories||R.names.length)),Ce&&N.sorted&&!he&&(!q||_e>q||N.forceCrop)&&(de[_e-1]ee?(de=[],ye=[]):N.yData&&(de[0]ee)&&(de=(Se=this.cropData(N.xData,N.yData,oe,ee)).xData,ye=Se.yData,Ae=Se.start,Oe=!0));let Me=l([me?de.map(me.log2lin):de],()=>N.requireSorting&&!Te&&y(15,!1,N.chart));return{xData:de,yData:ye,cropped:Oe,cropStart:Ae,closestPointRange:Me}}processData(x){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!x)return!1;let R=this.getProcessedData();this.cropped=R.cropped,this.cropStart=R.cropStart,this.processedXData=R.xData,this.processedYData=R.yData,this.closestPointRange=this.basePointRange=R.closestPointRange,r(this,"afterProcessData")}cropData(x,N,R,K){let he,me,q=x.length,Ce=0,Se=q;for(he=0;he=R){Ce=Math.max(0,he-1);break}for(me=he;meK){Se=me+1;break}return{xData:x.slice(Ce,Se),yData:N.slice(Ce,Se),start:Ce,end:Se}}generatePoints(){let Fe,oe,ee,de,x=this.options,N=this.processedData||x.data,R=this.processedXData,K=this.processedYData,q=this.pointClass,he=R.length,me=this.cropStart||0,Ce=this.hasGroupedData,Se=x.keys,Oe=[],Ae=x.dataGrouping&&x.dataGrouping.groupAll?me:0,ye=this.data;if(!ye&&!Ce){let Te=[];Te.length=N.length,ye=this.data=Te}for(Se&&Ce&&(this.options.keys=!1),de=0;de0:oe.length)||!Ce),Ae=N||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!R||(q[ee+me]||Fe)>=ye&&(q[ee-me]||Fe)<=Te,Oe&&Ae)if(de=oe.length)for(;de--;)p(oe[de])&&(he[_e++]=oe[de]);else he[_e++]=oe;let Ee={activeYData:he,dataMin:b(he),dataMax:_(he)};return r(this,"afterGetExtremes",{dataExtremes:Ee}),Ee}applyExtremes(){let x=this.getExtremes();return this.dataMin=x.dataMin,this.dataMax=x.dataMax,x}getFirstValidPoint(x){let N=x.length,R=0,K=null;for(;null===K&&R1)&&(he.step=function(Fe,oe){Ae&&Ae.apply(oe,arguments),"width"===oe.prop&&Se?.element&&Se.attr(q?"height":"width",Fe+99)}),Ce.addClass("highcharts-animating").animate(Oe,he)}}afterAnimate(){this.setClip(),H(this.chart.sharedClips,(x,N,R)=>{x&&!this.chart.container.querySelector(`[clip-path="url(#${x.id})"]`)&&(x.destroy(),delete R[N])}),this.finishedAnimating=!0,r(this,"afterAnimate")}drawPoints(x=this.points){let N,R,K,q,he,me,Ce,Se=this.chart,Oe=Se.styledMode,{colorAxis:Ae,options:Fe}=this,oe=Fe.marker,ee=this[this.specialGroup||"markerGroup"],de=this.xAxis,ye=Y(oe.enabled,!de||!!de.isRadial||null,this.closestPointRangePx>=oe.enabledThreshold*oe.radius);if(!1!==oe.enabled||this._hasPointMarkers)for(N=0;N0||R.hasImage)&&(R.graphic=K=Se.renderer.symbol(Te,Ce.x,Ce.y,Ce.width,Ce.height,me?he:oe).add(ee),this.enabledDataSorting&&Se.hasRendered&&(K.attr({x:R.startXPos}),q="animate")),K&&"animate"===q&&K[_e?"show":"hide"](_e).animate(Ce),K){let Me=this.pointAttribs(R,Oe||!R.selected?void 0:"select");Oe?Ae&&K.css({fill:Me.fill}):K[q](Me)}K&&K.addClass(R.getClassName(),!0)}else K&&(R.graphic=K.destroy())}markerAttribs(x,N){let Ce,Se,R=this.options,K=R.marker,q=x.marker||{},he=q.symbol||K.symbol,me={},Oe=Y(q.radius,K&&K.radius);N&&(Ce=K.states[N],Oe=Y((Se=q.states&&q.states[N])&&Se.radius,Ce&&Ce.radius,Oe&&Oe+(Ce&&Ce.radiusPlus||0))),x.hasImage=he&&0===he.indexOf("url"),x.hasImage&&(Oe=0);let Ae=x.pos();return p(Oe)&&Ae&&(me.x=Ae[0]-Oe,me.y=Ae[1]-Oe,R.crisp&&(me.x=Math.floor(me.x))),Oe&&(me.width=me.height=2*Oe),me}pointAttribs(x,N){let Se,Oe,Fe,oe,R=this.options.marker,K=x&&x.options,q=K&&K.marker||{},he=K&&K.color,me=x&&x.color,Ce=x&&x.zone&&x.zone.color,Ae=this.color,ee=Y(q.lineWidth,R.lineWidth),de=1;return Ae=he||Ce||me||Ae,Fe=q.fillColor||R.fillColor||Ae,oe=q.lineColor||R.lineColor||Ae,Se=R.states[N=N||"normal"]||{},ee=Y((Oe=q.states&&q.states[N]||{}).lineWidth,Se.lineWidth,ee+Y(Oe.lineWidthPlus,Se.lineWidthPlus,0)),Fe=Oe.fillColor||Se.fillColor||Fe,{stroke:oe=Oe.lineColor||Se.lineColor||oe,"stroke-width":ee,fill:Fe,opacity:de=Y(Oe.opacity,Se.opacity,de)}}destroy(x){let N,R,K,q=this,he=q.chart,me=/AppleWebKit\/533/.test(I.navigator.userAgent),Ce=q.data||[];for(r(q,"destroy",{keepEventsForUpdate:x}),this.removeEvents(x),(q.axisTypes||[]).forEach(function(Se){(K=q[Se])&&K.series&&(g(K.series,q),K.isDirty=K.forceRedraw=!0)}),q.legendItem&&q.chart.legend.destroyItem(q),N=Ce.length;N--;)(R=Ce[N])&&R.destroy&&R.destroy();for(let Se of q.zones)f(Se,void 0,!0);$.clearTimeout(q.animationTimeout),H(q,function(Se,Oe){Se instanceof te&&!Se.survive&&Se[me&&"group"===Oe?"hide":"destroy"]()}),he.hoverSeries===q&&(he.hoverSeries=void 0),g(he.series,q),he.orderItems("series"),H(q,function(Se,Oe){x&&"hcEvents"===Oe||delete q[Oe]})}applyZones(){let{area:x,chart:N,graph:R,zones:K,points:q,xAxis:he,yAxis:me,zoneAxis:Ce}=this,{inverted:Se,renderer:Oe}=N,Ae=this[`${Ce}Axis`],{isXAxis:Fe,len:oe=0}=Ae||{},ee=(R?.strokeWidth()||0)/2+1,de=(ye,Te=0,_e=0)=>{Se&&(_e=oe-_e);let{translated:Me=0,lineClip:Ee}=ye,Xe=_e-Me;Ee?.push(["L",Te,Math.abs(Xe){Ee.forEach((Xe,Ze)=>{("M"===Xe[0]||"L"===Xe[0])&&(Ee[Ze]=[Xe[0],Fe?oe-Xe[1]:Xe[1],Fe?Xe[2]:oe-Xe[2]])})};if(K.forEach(Ee=>{Ee.lineClip=[],Ee.translated=T(Ae.toPixels(Y(Ee.value,ye),!0)||0,0,oe)}),R&&!this.showLine&&R.hide(),x&&x.hide(),"y"===Ce&&q.length{let Xe=Ee.lineClip||[],Ze=Math.round(Ee.translated||0);he.reversed&&Xe.reverse();let{clip:lt,simpleClip:Qe}=Ee,st=0,kt=0,pt=he.len,ht=me.len;Fe?(st=Ze,pt=Me):(kt=Ze,ht=Me);let Lt=[["M",st,kt],["L",pt,kt],["L",pt,ht],["L",st,ht],["Z"]],Gt=[Lt[0],...Xe,Lt[1],Lt[2],..._e,Lt[3],Lt[4]];_e=Xe.reverse(),Me=Ze,Se&&(Te(Gt),x&&Te(Lt)),lt?(lt.animate({d:Gt}),Qe?.animate({d:Lt})):(lt=Ee.clip=Oe.path(Gt),x&&(Qe=Ee.simpleClip=Oe.path(Lt))),R&&Ee.graph?.clip(lt),x&&Ee.area?.clip(Qe)})}else this.visible&&(R&&R.show(),x&&x.show())}plotGroup(x,N,R,K,q){let he=this[x],me=!he,Ce={visibility:R,zIndex:K||.1};return O(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(Ce.opacity=this.opacity),he||(this[x]=he=this.chart.renderer.g().add(q)),he.addClass("highcharts-"+N+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(O(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(he.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),he.attr(Ce)[me?"attr":"animate"](this.getPlotBox(N)),he}getPlotBox(x){let N=this.xAxis,R=this.yAxis,K=this.chart,q=K.inverted&&!K.polar&&N&&this.invertible&&"series"===x;return K.inverted&&(N=R,R=this.xAxis),{translateX:N?N.left:K.plotLeft,translateY:R?R.top:K.plotTop,rotation:q?90:0,rotationOriginX:q?(N.len-R.len)/2:0,rotationOriginY:q?(N.len+R.len)/2:0,scaleX:q?-1:1,scaleY:1}}removeEvents(x){let{eventsToUnbind:N}=this;x||U(this),N.length&&(N.forEach(R=>{R()}),N.length=0)}render(){let x=this,{chart:N,options:R,hasRendered:K}=x,q=A(R.animation),he=x.visible?"inherit":"hidden",me=R.zIndex,Ce=N.seriesGroup,Se=x.finishedAnimating?0:q.duration;r(this,"render"),x.plotGroup("group","series",he,me,Ce),x.markerGroup=x.plotGroup("markerGroup","markers",he,me,Ce),!1!==R.clip&&x.setClip(),Se&&x.animate?.(!0),x.drawGraph&&(x.drawGraph(),x.applyZones()),x.visible&&x.drawPoints(),x.drawDataLabels?.(),x.redrawPoints?.(),R.enableMouseTracking&&x.drawTracker?.(),Se&&x.animate?.(),K||(Se&&q.defer&&(Se+=q.defer),x.animationTimeout=w(()=>{x.afterAnimate()},Se||0)),x.isDirty=!1,x.hasRendered=!0,r(x,"afterRender")}redraw(){let x=this.isDirty||this.isDirtyData;this.translate(),this.render(),x&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(x,N){let{xAxis:R,yAxis:K}=this,q=this.chart.inverted;return this.searchKDTree({clientX:q?R.len-x.chartY+R.pos:x.chartX-R.pos,plotY:q?K.len-x.chartX+K.pos:x.chartY-K.pos},N,x)}buildKDTree(x){this.buildingKdTree=!0;let N=this,R=N.options.findNearestPointBy.indexOf("y")>-1?2:1;delete N.kdTree,w(function(){N.kdTree=function K(q,he,me){let Ce,Se,Oe=q?.length;if(Oe)return Ce=N.kdAxisArray[he%me],q.sort((Ae,Fe)=>(Ae[Ce]||0)-(Fe[Ce]||0)),{point:q[Se=Math.floor(Oe/2)],left:K(q.slice(0,Se),he+1,me),right:K(q.slice(Se+1),he+1,me)}}(N.getValidPoints(void 0,!N.directTouch),R,R),N.buildingKdTree=!1},N.options.kdNow||"touchstart"===x?.type?0:1)}searchKDTree(x,N,R){let K=this,[q,he]=this.kdAxisArray,me=N?"distX":"dist",Ce=(K.options.findNearestPointBy||"").indexOf("y")>-1?2:1,Se=!!K.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(R),this.kdTree)return function Oe(Ae,Fe,oe,ee){let Te,_e,de=Fe.point,ye=K.kdAxisArray[oe%ee],Me=de;!function(lt,Qe){let st=lt[q],kt=Qe[q],pt=O(st)&&O(kt)?st-kt:null,ht=lt[he],Lt=Qe[he],Gt=O(ht)&&O(Lt)?ht-Lt:0,ti=Se&&Qe.marker?.radius||0;Qe.dist=Math.sqrt((pt&&pt*pt||0)+Gt*Gt)-ti,Qe.distX=O(pt)?Math.abs(pt)-ti:Number.MAX_VALUE}(Ae,de);let Ee=(Ae[ye]||0)-(de[ye]||0)+(Se&&de.marker?.radius||0),Xe=Ee<0?"left":"right",Ze=Ee<0?"right":"left";return Fe[Xe]&&(Me=(Te=Oe(Ae,Fe[Xe],oe+1,ee))[me]=0&&he<=(K?K.len:N.plotHeight)&&q>=0&&q<=(R?R.len:N.plotWidth)}drawTracker(){let x=this,N=x.options,R=N.trackByArea,K=[].concat((R?x.areaPath:x.graphPath)||[]),q=x.chart,he=q.pointer,me=q.renderer,Ce=q.options.tooltip?.snap||0,Se=()=>{N.enableMouseTracking&&q.hoverSeries!==x&&x.onMouseOver()},Oe="rgba(192,192,192,"+(D?1e-4:.002)+")",Ae=x.tracker;Ae?Ae.attr({d:K}):x.graph&&(x.tracker=Ae=me.path(K).attr({visibility:x.visible?"inherit":"hidden",zIndex:2}).addClass(R?"highcharts-tracker-area":"highcharts-tracker-line").add(x.group),q.styledMode||Ae.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:Oe,fill:R?Oe:"none","stroke-width":x.graph.strokeWidth()+(R?0:2*Ce)}),[x.tracker,x.markerGroup,x.dataLabelsGroup].forEach(Fe=>{Fe&&(Fe.addClass("highcharts-tracker").on("mouseover",Se).on("mouseout",oe=>{he?.onTrackerMouseOut(oe)}),N.cursor&&!q.styledMode&&Fe.css({cursor:N.cursor}),Fe.on("touchstart",Se))})),r(this,"afterDrawTracker")}addPoint(x,N,R,K,q){let he,me,Ce=this.options,Se=this.data,Oe=this.chart,Ae=this.xAxis,Fe=Ae&&Ae.hasNames&&Ae.names,oe=Ce.data,ee=this.xData;N=Y(N,!0);let de={series:this};this.pointClass.prototype.applyOptions.apply(de,[x]);let ye=de.x;if(me=ee.length,this.requireSorting&&yeye;)me--;this.updateParallelArrays(de,"splice",[me,0,0]),this.updateParallelArrays(de,me),Fe&&de.name&&(Fe[ye]=de.name),oe.splice(me,0,x),(he||this.processedData)&&(this.data.splice(me,0,null),this.processData()),"point"===Ce.legendType&&this.generatePoints(),R&&(Se[0]&&Se[0].remove?Se[0].remove(!1):(Se.shift(),this.updateParallelArrays(de,"shift"),oe.shift())),!1!==q&&r(this,"addPoint",{point:de}),this.isDirty=!0,this.isDirtyData=!0,N&&Oe.redraw(K)}removePoint(x,N,R){let K=this,q=K.data,he=q[x],me=K.points,Ce=K.chart,Se=function(){me&&me.length===q.length&&me.splice(x,1),q.splice(x,1),K.options.data.splice(x,1),K.updateParallelArrays(he||{series:K},"splice",[x,1]),he&&he.destroy(),K.isDirty=!0,K.isDirtyData=!0,N&&Ce.redraw()};B(R,Ce),N=Y(N,!0),he?he.firePointEvent("remove",null,Se):Se()}remove(x,N,R,K){let q=this,he=q.chart;function me(){q.destroy(K),he.isDirtyLegend=he.isDirtyBox=!0,he.linkSeries(K),Y(x,!0)&&he.redraw(N)}!1!==R?r(q,"remove",null,me):me()}update(x,N){r(this,"update",{options:x=a(x,this.userOptions)});let Ae,Fe,R=this,K=R.chart,q=R.userOptions,he=R.initialType||R.type,me=K.options.plotOptions,Ce=E[he].prototype,Se=R.finishedAnimating&&{animation:!1},Oe={},oe=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],ee=x.type||q.type||K.options.chart.type,de=!(this.hasDerivedData||ee&&ee!==this.type||void 0!==x.pointStart||void 0!==x.pointInterval||void 0!==x.relativeXValue||x.joinBy||x.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(Te=>R.hasOptionChanged(Te)));ee=ee||he,de&&(oe.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==x.visible&&oe.push("area","graph"),R.parallelArrays.forEach(function(Te){oe.push(Te+"Data")}),x.data&&(x.dataSorting&&o(R.options.dataSorting,x.dataSorting),this.setData(x.data,!1))),x=j(q,{index:void 0===q.index?R.index:q.index,pointStart:me?.series?.pointStart??q.pointStart??R.xData?.[0]},!de&&{data:R.options.data},x,Se),de&&x.data&&(x.data=R.options.data),(oe=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(oe)).forEach(function(Te){oe[Te]=R[Te],delete R[Te]});let ye=!1;if(E[ee]){if(ye=ee!==R.type,R.remove(!1,!1,!1,!0),ye)if(K.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(R,E[ee].prototype);else{let Te=Object.hasOwnProperty.call(R,"hcEvents")&&R.hcEvents;for(Fe in Ce)R[Fe]=void 0;o(R,E[ee].prototype),Te?R.hcEvents=Te:delete R.hcEvents}}else y(17,!0,K,{missingModuleFor:ee});if(oe.forEach(function(Te){R[Te]=oe[Te]}),R.init(K,x),de&&this.points)for(let Te of(!1===(Ae=R.options).visible?(Oe.graphic=1,Oe.dataLabel=1):(this.hasMarkerChanged(Ae,q)&&(Oe.graphic=1),R.hasDataLabels?.()||(Oe.dataLabel=1)),this.points))Te&&Te.series&&(Te.resolveColor(),Object.keys(Oe).length&&Te.destroyElements(Oe),!1===Ae.showInLegend&&Te.legendItem&&K.legend.destroyItem(Te));R.initialType=he,K.linkSeries(),K.setSortedData(),ye&&R.linkedSeries.length&&(R.isDirtyData=!0),r(this,"afterUpdate"),Y(N,!0)&&K.redraw(!!de&&void 0)}setName(x){this.name=this.options.name=this.userOptions.name=x,this.chart.isDirtyLegend=!0}hasOptionChanged(x){let R=this.options[x],K=this.chart.options.plotOptions,q=this.userOptions[x],he=Y(K?.[this.type]?.[x],K?.series?.[x]);return q&&!O(he)?R!==q:R!==Y(he,R)}onMouseOver(){let x=this.chart,N=x.hoverSeries;x.pointer?.setHoverChartIndex(),N&&N!==this&&N.onMouseOut(),this.options.events.mouseOver&&r(this,"mouseOver"),this.setState("hover"),x.hoverSeries=this}onMouseOut(){let x=this.options,N=this.chart,R=N.tooltip,K=N.hoverPoint;N.hoverSeries=null,K&&K.onMouseOut(),this&&x.events.mouseOut&&r(this,"mouseOut"),R&&!this.stickyTracking&&(!R.shared||this.noSharedTooltip)&&R.hide(),N.series.forEach(function(q){q.setState("",!0)})}setState(x,N){let R=this,K=R.options,q=R.graph,he=K.inactiveOtherPoints,me=K.states,Ce=Y(me[x||"normal"]&&me[x||"normal"].animation,R.chart.options.chart.animation),Se=K.lineWidth,Oe=K.opacity;if(R.state!==(x=x||"")&&([R.group,R.markerGroup,R.dataLabelsGroup].forEach(function(Ae){Ae&&(R.state&&Ae.removeClass("highcharts-series-"+R.state),x&&Ae.addClass("highcharts-series-"+x))}),R.state=x,!R.chart.styledMode)){if(me[x]&&!1===me[x].enabled)return;if(x&&(Se=me[x].lineWidth||Se+(me[x].lineWidthPlus||0),Oe=Y(me[x].opacity,Oe)),q&&!q.dashstyle&&p(Se))for(let Ae of[q,...this.zones.map(Fe=>Fe.graph)])Ae?.animate({"stroke-width":Se},Ce);he||[R.group,R.markerGroup,R.dataLabelsGroup,R.labelBySeries].forEach(function(Ae){Ae&&Ae.animate({opacity:Oe},Ce)})}N&&he&&R.points&&R.setAllPointsToState(x||void 0)}setAllPointsToState(x){this.points.forEach(function(N){N.setState&&N.setState(x)})}setVisible(x,N){let R=this,K=R.chart,q=K.options.chart.ignoreHiddenSeries;R.visible=x=R.options.visible=R.userOptions.visible=void 0===x?!R.visible:x;let me=x?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(Ce=>{R[Ce]?.[me]()}),(K.hoverSeries===R||K.hoverPoint?.series===R)&&R.onMouseOut(),R.legendItem&&K.legend.colorizeItem(R,x),R.isDirty=!0,R.options.stacking&&K.series.forEach(Ce=>{Ce.options.stacking&&Ce.visible&&(Ce.isDirty=!0)}),R.linkedSeries.forEach(Ce=>{Ce.setVisible(x,!1)}),q&&(K.isDirtyBox=!0),r(R,me),!1!==N&&K.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(x){this.selected=x=this.options.selected=void 0===x?!this.selected:x,this.checkbox&&(this.checkbox.checked=x),r(this,x?"select":"unselect")}shouldShowTooltip(x,N,R={}){return R.series=this,R.visiblePlotOnly=!0,this.chart.isInsidePlot(x,N,R)}drawLegendSymbol(x,N){le[this.options.legendSymbol||"rectangle"]?.call(this,x,N)}}return X.defaultOptions=pe,X.types=J.seriesTypes,X.registerType=J.registerSeriesType,o(X.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:fe,requireSorting:!0,sorted:!0}),J.series=X,X}),Pe(V,"Core/Chart/Chart.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Time.js"],V["Core/Utilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Axis/Tick.js"]],function(Z,ie,re,ve,le,fe,pe,J,te,$,A,B,F,L){let{animate:D,animObject:I,setAnimation:E}=Z,{defaultOptions:_,defaultTime:b}=re,{numberFormat:T}=ve,{registerEventOptions:z}=le,{charts:O,doc:f,marginNames:a,svg:g,win:y}=fe,{seriesTypes:o}=te,{addEvent:n,attr:r,createElement:l,css:d,defined:C,diffObjects:k,discardElement:p,erase:S,error:j,extend:H,find:Y,fireEvent:U,getStyle:se,isArray:w,isNumber:X,isObject:G,isString:x,merge:N,objectEach:R,pick:K,pInt:q,relativeLength:he,removeEvent:me,splat:Ce,syncTimeout:Se,uniqueKey:Oe}=B;class Ae{static chart(oe,ee,de){return new Ae(oe,ee,de)}constructor(oe,ee,de){this.sharedClips={};let ye=[...arguments];(x(oe)||oe.nodeName)&&(this.renderTo=ye.shift()),this.init(ye[0],ye[1])}setZoomOptions(){let oe=this.options.chart,ee=oe.zooming;this.zooming={...ee,type:K(oe.zoomType,ee.type),key:K(oe.zoomKey,ee.key),pinchType:K(oe.pinchType,ee.pinchType),singleTouch:K(oe.zoomBySingleTouch,ee.singleTouch,!1),resetButton:N(ee.resetButton,oe.resetZoomButton)}}init(oe,ee){U(this,"init",{args:arguments},function(){let de=N(_,oe),ye=de.chart;this.userOptions=H({},oe),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=ee,this.isResizing=0,this.options=de,this.axes=[],this.series=[],this.time=oe.time&&Object.keys(oe.time).length?new A(oe.time):fe.time,this.numberFormatter=ye.numberFormatter||T,this.styledMode=ye.styledMode,this.hasCartesianSeries=ye.showAxes,this.index=O.length,O.push(this),fe.chartCount++,z(this,ye),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),U(this,"afterInit"),this.firstRender()})}initSeries(oe){let de=oe.type||this.options.chart.type,ye=o[de];ye||j(17,!0,this,{missingModuleFor:de});let Te=new ye;return"function"==typeof Te.init&&Te.init(this,oe),Te}setSortedData(){this.getSeriesOrderByLinks().forEach(function(oe){oe.points||oe.data||!oe.enabledDataSorting||oe.setData(oe.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(oe,ee){return oe.linkedSeries.length||ee.linkedSeries.length?ee.linkedSeries.length-oe.linkedSeries.length:0})}orderItems(oe,ee=0){let de=this[oe],ye=this.options[oe]=Ce(this.options[oe]).slice(),Te=this.userOptions[oe]=this.userOptions[oe]?Ce(this.userOptions[oe]).slice():[];if(this.hasRendered&&(ye.splice(ee),Te.splice(ee)),de)for(let _e=ee,Me=de.length;_e=Math.max(Xe+_e,ht.pos)&&Lt<=Math.min(Xe+_e+Qe.width,ht.pos+ht.len)||(pt.isInsidePlot=!1)}if(!de.ignoreY&&pt.isInsidePlot){let ht=!ye&&de.axis&&!de.axis.isXAxis&&de.axis||lt&&(ye?lt.xAxis:lt.yAxis)||{pos:Me,len:1/0},Lt=de.paneCoordinates?ht.pos+kt:Me+kt;Lt>=Math.max(Ze+Me,ht.pos)&&Lt<=Math.min(Ze+Me+Qe.height,ht.pos+ht.len)||(pt.isInsidePlot=!1)}return U(this,"afterIsInsidePlot",pt),pt.isInsidePlot}redraw(oe){U(this,"beforeRedraw");let Ze,lt,Qe,pt,ee=this.hasCartesianSeries?this.axes:this.colorAxis||[],de=this.series,ye=this.pointer,Te=this.legend,_e=this.userOptions.legend,Me=this.renderer,Ee=Me.isHidden(),Xe=[],st=this.isDirtyBox,kt=this.isDirtyLegend;for(Me.rootFontSize=Me.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),E(!!this.hasRendered&&oe,this),Ee&&this.temporaryDisplay(),this.layOutTitles(!1),Qe=de.length;Qe--;)if(((pt=de[Qe]).options.stacking||pt.options.centerInCategory)&&(lt=!0,pt.isDirty)){Ze=!0;break}if(Ze)for(Qe=de.length;Qe--;)(pt=de[Qe]).options.stacking&&(pt.isDirty=!0);de.forEach(function(ht){ht.isDirty&&("point"===ht.options.legendType?("function"==typeof ht.updateTotals&&ht.updateTotals(),kt=!0):_e&&(_e.labelFormatter||_e.labelFormat)&&(kt=!0)),ht.isDirtyData&&U(ht,"updatedData")}),kt&&Te&&Te.options.enabled&&(Te.render(),this.isDirtyLegend=!1),lt&&this.getStacks(),ee.forEach(function(ht){ht.updateNames(),ht.setScale()}),this.getMargins(),ee.forEach(function(ht){ht.isDirty&&(st=!0)}),ee.forEach(function(ht){let Lt=ht.min+","+ht.max;ht.extKey!==Lt&&(ht.extKey=Lt,Xe.push(function(){U(ht,"afterSetExtremes",H(ht.eventArgs,ht.getExtremes())),delete ht.eventArgs})),(st||lt)&&ht.redraw()}),st&&this.drawChartBox(),U(this,"predraw"),de.forEach(function(ht){(st||ht.isDirty)&&ht.visible&&ht.redraw(),ht.isDirtyData=!1}),ye&&ye.reset(!0),Me.draw(),U(this,"redraw"),U(this,"render"),Ee&&this.temporaryDisplay(!0),Xe.forEach(function(ht){ht.call()})}get(oe){let ee=this.series;function de(Te){return Te.id===oe||Te.options&&Te.options.id===oe}let ye=Y(this.axes,de)||Y(this.series,de);for(let Te=0;!ye&&Te(ee.getPointsCollection().forEach(de=>{K(de.selectedStaging,de.selected)&&oe.push(de)}),oe),[])}getSelectedSeries(){return this.series.filter(function(oe){return oe.selected})}setTitle(oe,ee,de){this.applyDescription("title",oe),this.applyDescription("subtitle",ee),this.applyDescription("caption",void 0),this.layOutTitles(de)}applyDescription(oe,ee){let de=this,ye=this.options[oe]=N(this.options[oe],ee),Te=this[oe];Te&&ee&&(this[oe]=Te=Te.destroy()),ye&&!Te&&((Te=this.renderer.text(ye.text,0,0,ye.useHTML).attr({align:ye.align,class:"highcharts-"+oe,zIndex:ye.zIndex||4}).add()).update=function(_e,Me){de.applyDescription(oe,_e),de.layOutTitles(Me)},this.styledMode||Te.css(H("title"===oe?{fontSize:this.options.isStock?"1em":"1.2em"}:{},ye.style)),this[oe]=Te)}layOutTitles(oe=!0){let ee=[0,0,0],de=this.renderer,ye=this.spacingBox;["title","subtitle","caption"].forEach(function(_e){let Me=this[_e],Ee=this.options[_e],Xe=Ee.verticalAlign||"top",Ze="title"===_e?"top"===Xe?-3:0:"top"===Xe?ee[0]+2:0;if(Me){Me.css({width:(Ee.width||ye.width+(Ee.widthAdjust||0))+"px"});let lt=de.fontMetrics(Me).b,Qe=Math.round(Me.getBBox(Ee.useHTML).height);Me.align(H({y:"bottom"===Xe?lt:Ze+lt,height:Qe},Ee),!1,"spacingBox"),Ee.floating||("top"===Xe?ee[0]=Math.ceil(ee[0]+Qe):"bottom"===Xe&&(ee[2]=Math.ceil(ee[2]+Qe)))}},this),ee[0]&&"top"===(this.options.title.verticalAlign||"top")&&(ee[0]+=this.options.title.margin),ee[2]&&"bottom"===this.options.caption.verticalAlign&&(ee[2]+=this.options.caption.margin);let Te=!this.titleOffset||this.titleOffset.join(",")!==ee.join(",");this.titleOffset=ee,U(this,"afterLayOutTitles"),!this.isDirtyBox&&Te&&(this.isDirtyBox=this.isDirtyLegend=Te,this.hasRendered&&oe&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:se(this.renderTo,"width",!0)||0,height:se(this.renderTo,"height",!0)||0}}getChartSize(){let oe=this.options.chart,ee=oe.width,de=oe.height,ye=this.getContainerBox();this.chartWidth=Math.max(0,ee||ye.width||600),this.chartHeight=Math.max(0,he(de,this.chartWidth)||(ye.height>1?ye.height:400)),this.containerBox=ye}temporaryDisplay(oe){let de,ee=this.renderTo;if(oe)for(;ee&&ee.style;)ee.hcOrigStyle&&(d(ee,ee.hcOrigStyle),delete ee.hcOrigStyle),ee.hcOrigDetached&&(f.body.removeChild(ee),ee.hcOrigDetached=!1),ee=ee.parentNode;else for(;ee&&ee.style&&(f.body.contains(ee)||ee.parentNode||(ee.hcOrigDetached=!0,f.body.appendChild(ee)),("none"===se(ee,"display",!1)||ee.hcOricDetached)&&(ee.hcOrigStyle={display:ee.style.display,height:ee.style.height,overflow:ee.style.overflow},de={display:"block",overflow:"hidden"},ee!==this.renderTo&&(de.height=0),d(ee,de),ee.offsetWidth||ee.style.setProperty("display","block","important")),(ee=ee.parentNode)!==f.body););}setClassName(oe){this.container.className="highcharts-container "+(oe||"")}getContainer(){let Te,oe=this.options,ee=oe.chart,de="data-highcharts-chart",ye=Oe(),_e=this.renderTo;_e||(this.renderTo=_e=ee.renderTo),x(_e)&&(this.renderTo=_e=f.getElementById(_e)),_e||j(13,!0,this);let Me=q(r(_e,de));X(Me)&&O[Me]&&O[Me].hasRendered&&O[Me].destroy(),r(_e,de,this.index),_e.innerHTML=F.emptyHTML,ee.skipClone||_e.offsetWidth||this.temporaryDisplay(),this.getChartSize();let Ee=this.chartHeight,Xe=this.chartWidth;d(_e,{overflow:"hidden"}),this.styledMode||(Te=H({position:"relative",overflow:"hidden",width:Xe+"px",height:Ee+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},ee.style||{}));let Ze=l("div",{id:ye},Te,_e);this.container=Ze,this.getChartSize(),Xe===this.chartWidth||(Xe=this.chartWidth,this.styledMode||d(Ze,{width:K(ee.style?.width,Xe+"px")})),this.containerBox=this.getContainerBox(),this._cursor=Ze.style.cursor;let lt=ee.renderer||!g?pe.getRendererType(ee.renderer):$;if(this.renderer=new lt(Ze,Xe,Ee,void 0,ee.forExport,oe.exporting&&oe.exporting.allowHTML,this.styledMode),E(void 0,this),this.setClassName(ee.className),this.styledMode)for(let Qe in oe.defs)this.renderer.definition(oe.defs[Qe]);else this.renderer.setStyle(ee.style);this.renderer.chartIndex=this.index,U(this,"afterGetContainer")}getMargins(oe){let{spacing:ee,margin:de,titleOffset:ye}=this;this.resetMargins(),ye[0]&&!C(de[0])&&(this.plotTop=Math.max(this.plotTop,ye[0]+ee[0])),ye[2]&&!C(de[2])&&(this.marginBottom=Math.max(this.marginBottom,ye[2]+ee[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(de,ee),U(this,"getMargins"),oe||this.getAxisMargins()}getAxisMargins(){let oe=this,ee=oe.axisOffset=[0,0,0,0],de=oe.colorAxis,ye=oe.margin,Te=function(_e){_e.forEach(function(Me){Me.visible&&Me.getOffset()})};oe.hasCartesianSeries?Te(oe.axes):de&&de.length&&Te(de),a.forEach(function(_e,Me){C(ye[Me])||(oe[_e]+=ee[Me])}),oe.setChartSize()}getOptions(){return k(this.userOptions,_)}reflow(oe){let ee=this,de=ee.containerBox,ye=ee.getContainerBox();delete ee.pointer?.chartPosition,!ee.isPrinting&&!ee.isResizing&&de&&ye.width&&((ye.width!==de.width||ye.height!==de.height)&&(B.clearTimeout(ee.reflowTimeout),ee.reflowTimeout=Se(function(){ee.container&&ee.setSize(void 0,void 0,!1)},oe?100:0)),ee.containerBox=ye)}setReflow(){let oe=this,ee=de=>{oe.options?.chart.reflow&&oe.hasLoaded&&oe.reflow(de)};if("function"==typeof ResizeObserver)new ResizeObserver(ee).observe(oe.renderTo);else{let de=n(y,"resize",ee);n(this,"destroy",de)}}setSize(oe,ee,de){let ye=this,Te=ye.renderer;ye.isResizing+=1,E(de,ye);let _e=Te.globalAnimation;ye.oldChartHeight=ye.chartHeight,ye.oldChartWidth=ye.chartWidth,void 0!==oe&&(ye.options.chart.width=oe),void 0!==ee&&(ye.options.chart.height=ee),ye.getChartSize();let{chartWidth:Me,chartHeight:Ee,scrollablePixelsX:Xe=0,scrollablePixelsY:Ze=0}=ye;(ye.isDirtyBox||Me!==ye.oldChartWidth||Ee!==ye.oldChartHeight)&&(ye.styledMode||(_e?D:d)(ye.container,{width:`${Me+Xe}px`,height:`${Ee+Ze}px`},_e),ye.setChartSize(!0),Te.setSize(Me,Ee,_e),ye.axes.forEach(function(lt){lt.isDirty=!0,lt.setScale()}),ye.isDirtyLegend=!0,ye.isDirtyBox=!0,ye.layOutTitles(),ye.getMargins(),ye.redraw(_e),ye.oldChartHeight=void 0,U(ye,"resize"),setTimeout(()=>{ye&&U(ye,"endResize",void 0,()=>{ye.isResizing-=1})},I(_e).duration))}setChartSize(oe){let ee,de,ye,Te,_e=this.inverted,Me=this.renderer,Ee=this.chartWidth,Xe=this.chartHeight,Ze=this.options.chart,lt=this.spacing,Qe=this.clipOffset;this.plotLeft=ee=Math.round(this.plotLeft),this.plotTop=de=Math.round(this.plotTop),this.plotWidth=ye=Math.max(0,Math.round(Ee-ee-this.marginRight)),this.plotHeight=Te=Math.max(0,Math.round(Xe-de-this.marginBottom)),this.plotSizeX=_e?Te:ye,this.plotSizeY=_e?ye:Te,this.plotBorderWidth=Ze.plotBorderWidth||0,this.spacingBox=Me.spacingBox={x:lt[3],y:lt[0],width:Ee-lt[3]-lt[1],height:Xe-lt[0]-lt[2]},this.plotBox=Me.plotBox={x:ee,y:de,width:ye,height:Te};let st=2*Math.floor(this.plotBorderWidth/2),kt=Math.ceil(Math.max(st,Qe[3])/2),pt=Math.ceil(Math.max(st,Qe[0])/2);this.clipBox={x:kt,y:pt,width:Math.floor(this.plotSizeX-Math.max(st,Qe[1])/2-kt),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(st,Qe[2])/2-pt))},oe||(this.axes.forEach(function(ht){ht.setAxisSize(),ht.setAxisTranslation()}),Me.alignElements()),U(this,"afterSetChartSize",{skipAxes:oe})}resetMargins(){U(this,"resetMargins");let oe=this,ee=oe.options.chart;["margin","spacing"].forEach(function(de){let ye=ee[de],Te=G(ye)?ye:[ye,ye,ye,ye];["Top","Right","Bottom","Left"].forEach(function(_e,Me){oe[de][Me]=K(ee[de+_e],Te[Me])})}),a.forEach(function(de,ye){oe[de]=K(oe.margin[ye],oe.spacing[ye])}),oe.axisOffset=[0,0,0,0],oe.clipOffset=[0,0,0,0]}drawChartBox(){let Dt,At,_t,oe=this.options.chart,ee=this.renderer,de=this.chartWidth,ye=this.chartHeight,Te=this.styledMode,_e=this.plotBGImage,Me=oe.backgroundColor,Ee=oe.plotBackgroundColor,Xe=oe.plotBackgroundImage,Ze=this.plotLeft,lt=this.plotTop,Qe=this.plotWidth,st=this.plotHeight,kt=this.plotBox,pt=this.clipRect,ht=this.clipBox,Lt=this.chartBackground,Gt=this.plotBackground,ti=this.plotBorder,wt="animate";Lt||(this.chartBackground=Lt=ee.rect().addClass("highcharts-background").add(),wt="attr"),Te?Dt=At=Lt.strokeWidth():(At=(Dt=oe.borderWidth||0)+(oe.shadow?8:0),_t={fill:Me||"none"},(Dt||Lt["stroke-width"])&&(_t.stroke=oe.borderColor,_t["stroke-width"]=Dt),Lt.attr(_t).shadow(oe.shadow)),Lt[wt]({x:At/2,y:At/2,width:de-At-Dt%2,height:ye-At-Dt%2,r:oe.borderRadius}),wt="animate",Gt||(wt="attr",this.plotBackground=Gt=ee.rect().addClass("highcharts-plot-background").add()),Gt[wt](kt),!Te&&(Gt.attr({fill:Ee||"none"}).shadow(oe.plotShadow),Xe&&(_e?(Xe!==_e.attr("href")&&_e.attr("href",Xe),_e.animate(kt)):this.plotBGImage=ee.image(Xe,Ze,lt,Qe,st).add())),pt?pt.animate({width:ht.width,height:ht.height}):this.clipRect=ee.clipRect(ht),wt="animate",ti||(wt="attr",this.plotBorder=ti=ee.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),Te||ti.attr({stroke:oe.plotBorderColor,"stroke-width":oe.plotBorderWidth||0,fill:"none"}),ti[wt](ti.crisp({x:Ze,y:lt,width:Qe,height:st},-ti.strokeWidth())),this.isDirtyBox=!1,U(this,"afterDrawChartBox")}propFromSeries(){let oe,ee,de,ye=this,Te=ye.options.chart,_e=ye.options.series;["inverted","angular","polar"].forEach(function(Me){for(ee=o[Te.type],de=Te[Me]||ee&&ee.prototype[Me],oe=_e&&_e.length;!de&&oe--;)(ee=o[_e[oe].type])&&ee.prototype[Me]&&(de=!0);ye[Me]=de})}linkSeries(oe){let ee=this,de=ee.series;de.forEach(function(ye){ye.linkedSeries.length=0}),de.forEach(function(ye){let{linkedTo:Te}=ye.options;if(x(Te)){let _e;(_e=":previous"===Te?ee.series[ye.index-1]:ee.get(Te))&&_e.linkedParent!==ye&&(_e.linkedSeries.push(ye),ye.linkedParent=_e,_e.enabledDataSorting&&ye.setDataSortingOptions(),ye.visible=K(ye.options.visible,_e.options.visible,ye.visible))}}),U(this,"afterLinkSeries",{isUpdating:oe})}renderSeries(){this.series.forEach(function(oe){oe.translate(),oe.render()})}render(){let Ee,oe=this.axes,ee=this.colorAxis,de=this.renderer,ye=this.options.chart.axisLayoutRuns||2,Te=Ze=>{Ze.forEach(lt=>{lt.visible&<.render()})},_e=0,Me=!0,Xe=0;for(let Ze of(this.setTitle(),U(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),oe)){let{options:lt}=Ze,{labels:Qe}=lt;if(Ze.horiz&&Ze.visible&&Qe.enabled&&Ze.series.length&&"colorAxis"!==Ze.coll&&!this.polar){_e=lt.tickLength,Ze.createGroups();let st=new L(Ze,0,"",!0),kt=st.createLabel("x",Qe);if(st.destroy(),kt&&K(Qe.reserveSpace,!X(lt.crossing))&&(_e=kt.getBBox().height+Qe.distance+Math.max(lt.offset||0,0)),_e){kt?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-_e,0);(Me||Ee||ye>1)&&Xe(Xe?1:1.1),Ee=lt/this.plotHeight>(Xe?1:1.05),Xe++}this.drawChartBox(),this.hasCartesianSeries?Te(oe):ee&&ee.length&&Te(ee),this.seriesGroup||(this.seriesGroup=de.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(oe){let ee=this,de=N(!0,this.options.credits,oe);de.enabled&&!this.credits&&(this.credits=this.renderer.text(de.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){de.href&&(y.location.href=de.href)}).attr({align:de.position.align,zIndex:8}),ee.styledMode||this.credits.css(de.style),this.credits.add().align(de.position),this.credits.update=function(ye){ee.credits=ee.credits.destroy(),ee.addCredits(ye)})}destroy(){let oe,ee=this,de=ee.axes,ye=ee.series,Te=ee.container,_e=Te&&Te.parentNode;for(U(ee,"destroy"),ee.renderer.forExport?S(O,ee):O[ee.index]=void 0,fe.chartCount--,ee.renderTo.removeAttribute("data-highcharts-chart"),me(ee),oe=de.length;oe--;)de[oe]=de[oe].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),oe=ye.length;oe--;)ye[oe]=ye[oe].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(Me){let Ee=ee[Me];Ee&&Ee.destroy&&(ee[Me]=Ee.destroy())}),Te&&(Te.innerHTML=F.emptyHTML,me(Te),_e&&p(Te)),R(ee,function(Me,Ee){delete ee[Ee]})}firstRender(){let oe=this,ee=oe.options;oe.getContainer(),oe.resetMargins(),oe.setChartSize(),oe.propFromSeries(),oe.getAxes();let de=w(ee.series)?ee.series:[];ee.series=[],de.forEach(function(ye){oe.initSeries(ye)}),oe.linkSeries(),oe.setSortedData(),U(oe,"beforeRender"),oe.render(),oe.pointer?.getChartPosition(),oe.renderer.imgCount||oe.hasLoaded||oe.onload(),oe.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(oe){oe&&void 0!==this.index&&oe.apply(this,[this])},this),U(this,"load"),U(this,"render"),C(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:oe,title:ee}=this;!oe||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(ee&&ee.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(oe,ee){let de=this,ye="object"==typeof ee?ee:{enabled:ee,type:"x"},Te=ye.type,_e=Te&&de[{x:"xAxis",xy:"axes",y:"yAxis"}[Te]].filter(Ee=>Ee.options.panningEnabled&&!Ee.options.isInternal),Me=de.options.chart;Me?.panning&&(Me.panning=ye),U(this,"pan",{originalEvent:oe},()=>{de.transform({axes:_e,event:oe,to:{x:oe.chartX-(de.mouseDownX||0),y:oe.chartY-(de.mouseDownY||0)},trigger:"pan"}),d(de.container,{cursor:"move"})})}transform(oe){let Qe,{axes:ee=this.axes,event:de,from:ye={},reset:Te,selection:_e,to:Me={},trigger:Ee}=oe,{inverted:Xe,resetZoomButton:Ze}=this,lt=!1;for(let st of(this.hoverPoints?.forEach(kt=>kt.setState()),ee)){let{horiz:kt,len:pt,minPointOffset:ht=0,options:Lt,reversed:Gt}=st,ti=kt?"width":"height",Dt=kt?"x":"y",At=Me[ti]||st.len,_t=ye[ti]||st.len,wt=10>Math.abs(At)?1:At/_t,Qt=(ye[Dt]||0)+_t/2-st.pos,di=Qt-((Me[Dt]??st.pos)+At/2-st.pos)/wt,Fi=Gt&&!Xe||!Gt&&Xe?-1:1;if(!Te&&(Qt<0||Qt>st.len))continue;let mi=st.toValue(di,!0)+ht*Fi,vi=st.toValue(di+pt/wt,!0)-(ht*Fi||0),Gi=st.allExtremes;if(mi>vi&&([mi,vi]=[vi,mi]),1===wt&&!Te&&"yAxis"===st.coll&&!Gi){for(let Cs of st.series){let Mn=Cs.getExtremes(Cs.getProcessedData(!0).yData,!0);Gi??(Gi={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),X(Mn.dataMin)&&X(Mn.dataMax)&&(Gi.dataMin=Math.min(Mn.dataMin,Gi.dataMin),Gi.dataMax=Math.max(Mn.dataMax,Gi.dataMax))}st.allExtremes=Gi}let{dataMin:xs,dataMax:jn,min:ls,max:fs}=H(st.getExtremes(),Gi||{}),Gn=xs??Lt.min,dn=jn??Lt.max,Mi=vi-mi,_s=st.categories?0:Math.min(Mi,dn-Gn),On=Gn-_s*(C(Lt.min)?0:Lt.minPadding),Pn=dn+_s*(C(Lt.max)?0:Lt.maxPadding),As=st.allowZoomOutside||1===wt||"zoom"!==Ee&&wt>1,$n=Math.min(Lt.min??On,On,As?ls:On),$i=Math.max(Lt.max??Pn,Pn,As?fs:Pn);(!st.isOrdinal||1!==wt||Te)&&(mi<$n&&(mi=$n,wt>=1&&(vi=mi+Mi)),vi>$i&&(vi=$i,wt>=1&&(mi=vi-Mi)),(Te||st.series.length&&(mi!==ls||vi!==fs)&&mi>=$n&&vi<=$i)&&(_e?_e[st.coll].push({axis:st,min:mi,max:vi}):(st.isPanning="zoom"!==Ee,st.setExtremes(Te?void 0:mi,Te?void 0:vi,!1,!1,{move:di,trigger:Ee,scale:wt}),!Te&&(mi>$n||vi<$i)&&"mousewheel"!==Ee&&(Qe=!0)),lt=!0),de&&(this[kt?"mouseDownX":"mouseDownY"]=de[kt?"chartX":"chartY"]))}return lt&&(_e?U(this,"selection",_e,()=>{delete oe.selection,oe.trigger="zoom",this.transform(oe)}):(Qe&&!Ze?this.showResetZoom():!Qe&&Ze&&(this.resetZoomButton=Ze.destroy()),this.redraw("zoom"===Ee&&(this.options.chart.animation??this.pointCount<100)))),lt}}return H(Ae.prototype,{callbacks:[],collectionsWithInit:{xAxis:[Ae.prototype.addAxis,[!0]],yAxis:[Ae.prototype.addAxis,[!1]],series:[Ae.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),Ae}),Pe(V,"Extensions/ScrollablePlotArea.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){let{stop:le}=Z,{composed:fe}=ie,{addEvent:pe,createElement:J,css:te,defined:$,merge:A,pushUnique:B}=ve;function F(){let I=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!I&&(this.scrollablePlotArea=I=new D(this)),I?.applyFixed()}function L(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class D{static compose(E,_,b){B(fe,this.compose)&&(pe(E,"afterInit",L),pe(_,"afterSetChartSize",T=>this.afterSetSize(T.target,T)),pe(_,"render",F),pe(b,"show",L))}static afterSetSize(E,_){let b,T,z,{minWidth:O,minHeight:f}=E.options.chart.scrollablePlotArea||{},{clipBox:a,plotBox:g,inverted:y,renderer:o}=E;if(!o.forExport&&(O?(E.scrollablePixelsX=b=Math.max(0,O-E.chartWidth),b&&(E.scrollablePlotBox=A(E.plotBox),g.width=E.plotWidth+=b,a[y?"height":"width"]+=b,z=!0)):f&&(E.scrollablePixelsY=T=Math.max(0,f-E.chartHeight),$(T)&&(E.scrollablePlotBox=A(E.plotBox),g.height=E.plotHeight+=T,a[y?"width":"height"]+=T,z=!1)),$(z)&&!_.skipAxes))for(let n of E.axes)n.horiz===z&&(n.setAxisSize(),n.setAxisTranslation())}constructor(E){let _,b=E.options.chart,T=re.getRendererType(),z=b.scrollablePlotArea||{},O=this.moveFixedElements.bind(this),f={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};E.scrollablePixelsX&&(f.overflowX="auto"),E.scrollablePixelsY&&(f.overflowY="auto"),this.chart=E;let a=this.parentDiv=J("div",{className:"highcharts-scrolling-parent"},{position:"relative"},E.renderTo),g=this.scrollingContainer=J("div",{className:"highcharts-scrolling"},f,a),y=this.innerContainer=J("div",{className:"highcharts-inner-container"},void 0,g),o=this.fixedDiv=J("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(b.style?.zIndex||0)+2,top:0},void 0,!0),n=this.fixedRenderer=new T(o,E.chartWidth,E.chartHeight,b.style);this.mask=n.path().attr({fill:b.backgroundColor||"#fff","fill-opacity":z.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),g.parentNode.insertBefore(o,g),te(E.renderTo,{overflow:"visible"}),pe(E,"afterShowResetZoom",O),pe(E,"afterApplyDrilldown",O),pe(E,"afterLayOutTitles",O),pe(g,"scroll",()=>{let{pointer:r,hoverPoint:l}=E;r&&(delete r.chartPosition,l&&(_=l),r.runPointActions(void 0,_,!0))}),y.appendChild(E.container)}applyFixed(){let{chart:E,fixedRenderer:_,isDirty:b,scrollingContainer:T}=this,{axisOffset:z,chartWidth:O,chartHeight:f,container:a,plotHeight:g,plotLeft:y,plotTop:o,plotWidth:n,scrollablePixelsX:r=0,scrollablePixelsY:l=0}=E,{scrollPositionX:d=0,scrollPositionY:C=0}=E.options.chart.scrollablePlotArea||{},k=O+r,p=f+l;_.setSize(O,f),(b??!0)&&(this.isDirty=!1,this.moveFixedElements()),le(E.container),te(a,{width:`${k}px`,height:`${p}px`}),E.renderer.boxWrapper.attr({width:k,height:p,viewBox:[0,0,k,p].join(" ")}),E.chartBackground?.attr({width:k,height:p}),te(T,{width:`${O}px`,height:`${f}px`}),$(b)||(T.scrollLeft=r*d,T.scrollTop=l*C);let S=o-z[0]-1,j=y-z[3]-1,H=o+g+z[2]+1,Y=y+n+z[1]+1,U=y+n-r,se=o+g-l,w=[["M",0,0]];r?w=[["M",0,S],["L",y-1,S],["L",y-1,H],["L",0,H],["Z"],["M",U,S],["L",O,S],["L",O,H],["L",U,H],["Z"]]:l&&(w=[["M",j,0],["L",j,o-1],["L",Y,o-1],["L",Y,0],["Z"],["M",j,se],["L",j,f],["L",Y,f],["L",Y,se],["Z"]]),"adjustHeight"!==E.redrawTrigger&&this.mask.attr({d:w})}moveFixedElements(){let E,{container:_,inverted:b,scrollablePixelsX:T,scrollablePixelsY:z}=this.chart,O=this.fixedRenderer,f=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-reset-zoom",".highcharts-drillup-button",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];for(let a of(T&&!b?E=".highcharts-yaxis":T&&b||z&&!b?E=".highcharts-xaxis":z&&b&&(E=".highcharts-yaxis"),E&&f.push(`${E}:not(.highcharts-radial-axis)`,`${E}-labels:not(.highcharts-radial-axis-labels)`),f))[].forEach.call(_.querySelectorAll(a),g=>{(g.namespaceURI===O.SVG_NS?O.box:O.box.parentNode).appendChild(g),g.style.pointerEvents="auto"})}}return D}),Pe(V,"Core/Axis/Stacking/StackItem.js",[V["Core/Templating.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{format:ve}=Z,{series:le}=ie,{destroyObjectProperties:fe,fireEvent:pe,isNumber:J,pick:te}=re;return class{constructor($,A,B,F,L){let D=$.chart.inverted,I=$.reversed;this.axis=$;let E=this.isNegative=!!B!=!!I;this.options=A=A||{},this.x=F,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=L,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:A.align||(D?E?"left":"right":"center"),verticalAlign:A.verticalAlign||(D?"middle":E?"bottom":"top"),y:A.y,x:A.x},this.textAlign=A.textAlign||(D?E?"right":"left":"center")}destroy(){fe(this,this.axis)}render($){let A=this.axis.chart,B=this.options,F=B.format,L=F?ve(F,this,A):B.formatter.call(this);if(this.label)this.label.attr({text:L,visibility:"hidden"});else{this.label=A.renderer.label(L,null,void 0,B.shape,void 0,void 0,B.useHTML,!1,"stack-labels");let D={r:B.borderRadius||0,text:L,padding:te(B.padding,5),visibility:"hidden"};A.styledMode||(D.fill=B.backgroundColor,D.stroke=B.borderColor,D["stroke-width"]=B.borderWidth,this.label.css(B.style||{})),this.label.attr(D),this.label.added||this.label.add($)}this.label.labelrank=A.plotSizeY,pe(this,"afterRender")}setOffset($,A,B,F,L,D){let{alignOptions:I,axis:E,label:_,options:b,textAlign:T}=this,z=E.chart,O=this.getStackBox({xOffset:$,width:A,boxBottom:B,boxTop:F,defaultX:L,xAxis:D}),{verticalAlign:f}=I;if(_&&O){let o,a=_.getBBox(void 0,0),g=_.padding,y="justify"===te(b.overflow,"justify");I.x=b.x||0,I.y=b.y||0;let{x:n,y:r}=this.adjustStackPosition({labelBox:a,verticalAlign:f,textAlign:T});O.x-=n,O.y-=r,_.align(I,!1,O),(o=z.isInsidePlot(_.alignAttr.x+I.x+n,_.alignAttr.y+I.y+r))||(y=!1),y&&le.prototype.justifyDataLabel.call(E,_,I,_.alignAttr,a,O),_.attr({x:_.alignAttr.x,y:_.alignAttr.y,rotation:b.rotation,rotationOriginX:a.width*{left:0,center:.5,right:1}[b.textAlign||"center"],rotationOriginY:a.height/2}),te(!y&&b.crop,!0)&&(o=J(_.x)&&J(_.y)&&z.isInsidePlot(_.x-g+(_.width||0),_.y)&&z.isInsidePlot(_.x+g,_.y)),_[o?"show":"hide"]()}pe(this,"afterSetOffset",{xOffset:$,width:A})}adjustStackPosition({labelBox:$,verticalAlign:A,textAlign:B}){let F={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:$.width/2+$.width/2*F[B],y:$.height/2*F[A]}}getStackBox($){let A=this.axis,B=A.chart,{boxTop:F,defaultX:L,xOffset:D,width:I,boxBottom:E}=$,_=A.stacking.usePercentage?100:te(F,this.total,0),b=A.toPixels(_),T=$.xAxis||B.xAxis[0],z=te(L,T.translate(this.x))+D,O=Math.abs(b-A.toPixels(E||J(A.min)&&A.logarithmic&&A.logarithmic.lin2log(A.min)||0)),a=this.isNegative;return B.inverted?{x:(a?b:b-O)-B.plotLeft,y:T.height-z-I,width:O,height:I}:{x:z+T.transB-B.plotLeft,y:(a?b-O:b)-B.plotTop,width:I,height:O}}}}),Pe(V,"Core/Axis/Stacking/StackingAxis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le){var fe;let{getDeferredAnimation:pe}=Z,{series:{prototype:J}}=re,{addEvent:te,correctFloat:$,defined:A,destroyObjectProperties:B,fireEvent:F,isArray:L,isNumber:D,objectEach:I,pick:E}=le;function _(){let o=this.inverted;this.axes.forEach(n=>{n.stacking&&n.stacking.stacks&&n.hasVisibleSeries&&(n.stacking.oldStacks=n.stacking.stacks)}),this.series.forEach(n=>{let r=n.xAxis&&n.xAxis.options||{};n.options.stacking&&n.reserveSpace()&&(n.stackKey=[n.type,E(n.options.stack,""),o?r.top:r.left,o?r.height:r.width].join(","))})}function b(){let o=this.stacking;if(o){let n=o.stacks;I(n,(r,l)=>{B(r),delete n[l]}),o.stackTotalGroup?.destroy()}}function T(){this.stacking||(this.stacking=new y(this))}function z(o,n,r,l){return!A(o)||o.x!==n||l&&o.stackKey!==l?o={x:n,index:0,key:l,stackKey:l}:o.index++,o.key=[r,n,o.index].join(","),o}function O(){let o,n=this,l=n.stackKey||"",d=n.yAxis.stacking.stacks,C=n.processedXData,p=n[n.options.stacking+"Stacker"];p&&[l,"-"+l].forEach(S=>{let H,Y,U,j=C.length;for(;j--;)H=C[j],o=n.getStackIndicator(o,H,n.index,S),Y=d[S]?.[H],(U=Y?.points[o.key||""])&&p.call(n,U,Y,j)})}function f(o,n,r){let l=n.total?100/n.total:0;o[0]=$(o[0]*l),o[1]=$(o[1]*l),this.stackedYData[r]=o[1]}function a(o){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?J.setStackedPoints.call(this,o,"group"):o.stacking.resetStacks())}function g(o,n){let r,l,d,C,k,p,S,j,H,Y=n||this.options.stacking;if(!Y||!this.reserveSpace()||({group:"xAxis"}[Y]||"yAxis")!==o.coll)return;let U=this.processedXData,se=this.processedYData,w=[],X=se.length,G=this.options,x=G.threshold||0,N=G.startFromThreshold?x:0,R=G.stack,K=n?`${this.type},${Y}`:this.stackKey||"",q="-"+K,he=this.negStacks,me=o.stacking,Ce=me.stacks,Se=me.oldStacks;for(me.stacksTouched+=1,S=0;S0&&!1===this.singleStacks&&(d.points[p][0]=d.points[this.index+","+j+",0"][0])):(delete d.points[p],delete d.points[this.index]);let Oe=d.total||0;"percent"===Y?(C=l?K:q,Oe=he&&Ce[C]?.[j]?(C=Ce[C][j]).total=Math.max(C.total||0,Oe)+Math.abs(H)||0:$(Oe+(Math.abs(H)||0))):"group"===Y?(L(H)&&(H=H[0]),null!==H&&Oe++):Oe=$(Oe+(H||0)),d.cumulative="group"===Y?(Oe||1)-1:$(E(d.cumulative,N)+(H||0)),d.total=Oe,null!==H&&(d.points[p].push(d.cumulative),w[S]=d.cumulative,d.hasValidPoints=!0)}"percent"===Y&&(me.usePercentage=!0),"group"!==Y&&(this.stackedYData=w),me.oldStacks={}}class y{constructor(n){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=n}buildStacks(){let n,r,l=this.axis,d=l.series,C="xAxis"===l.coll,k=l.options.reversedStacks,p=d.length;for(this.resetStacks(),this.usePercentage=!1,r=p;r--;)n=d[k?r:p-r-1],C&&n.setGroupedPoints(l),n.setStackedPoints(l);if(!C)for(r=0;r{I(n,r=>{r.cumulative=r.total})}))}resetStacks(){I(this.stacks,n=>{I(n,(r,l)=>{D(r.touched)&&r.touched{I(p,S=>{S.render(k)})}),k.animate({opacity:1},C)}}return(fe||(fe={})).compose=function(o,n,r){let l=n.prototype,d=r.prototype;l.getStacks||(te(o,"init",T),te(o,"destroy",b),l.getStacks=_,d.getStackIndicator=z,d.modifyStacks=O,d.percentStacker=f,d.setGroupedPoints=a,d.setStackedPoints=g)},fe}),Pe(V,"Series/Line/LineSeries.js",[V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{defined:ve,merge:le,isObject:fe}=re;class pe extends Z{drawGraph(){let te=this.options,$=(this.gappedPath||this.getGraphPath).call(this),A=this.chart.styledMode;[this,...this.zones].forEach((B,F)=>{let L,D=B.graph,I=D?"animate":"attr",E=B.dashStyle||te.dashStyle;D?(D.endX=this.preventGraphAnimation?null:$.xMap,D.animate({d:$})):$.length&&(B.graph=D=this.chart.renderer.path($).addClass("highcharts-graph"+(F?` highcharts-zone-graph-${F-1} `:" ")+(F&&B.className||"")).attr({zIndex:1}).add(this.group)),D&&!A&&(L={stroke:!F&&te.lineColor||B.color||this.color||"#cccccc","stroke-width":te.lineWidth||0,fill:this.fillGraph&&this.color||"none"},E?L.dashstyle=E:"square"!==te.linecap&&(L["stroke-linecap"]=L["stroke-linejoin"]="round"),D[I](L).shadow(F<2&&te.shadow&&le({filterUnits:"userSpaceOnUse"},fe(te.shadow)?te.shadow:{}))),D&&(D.startX=$.xMap,D.isArea=$.isArea)})}getGraphPath(te,$,A){let I,B=this,F=B.options,L=[],D=[],E=F.step,_=(te=te||B.points).reversed;return _&&te.reverse(),(E={right:1,center:2}[E]||E&&3)&&_&&(E=4-E),(te=this.getValidPoints(te,!1,!(F.connectNulls&&!$&&!A))).forEach(function(b,T){let z,O=b.plotX,f=b.plotY,a=te[T-1],g=b.isNull||"number"!=typeof f;(b.leftCliff||a&&a.rightCliff)&&!A&&(I=!0),g&&!ve($)&&T>0?I=!F.connectNulls:g&&!$?I=!0:(0===T||I?z=[["M",b.plotX,b.plotY]]:B.getPointSpline?z=[B.getPointSpline(te,b,T)]:E?(z=1===E?[["L",a.plotX,f]]:2===E?[["L",(a.plotX+O)/2,a.plotY],["L",(a.plotX+O)/2,f]]:[["L",O,a.plotY]]).push(["L",O,f]):z=[["L",O,f]],D.push(b.x),E&&(D.push(b.x),2===E&&D.push(b.x)),L.push.apply(L,z),I=!1)}),L.xMap=D,B.graphPath=L,L}}return pe.defaultOptions=le(Z.defaultOptions,{legendSymbol:"lineMarker"}),ie.registerSeriesType("line",pe),pe}),Pe(V,"Series/Area/AreaSeries.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie){let{seriesTypes:{line:re}}=Z,{extend:ve,merge:le,objectEach:fe,pick:pe}=ie;class J extends re{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:$,options:A}=this;[this,...this.zones].forEach((B,F)=>{let L={},D=B.fillColor||A.fillColor,I=B.area,E=I?"animate":"attr";I?(I.endX=this.preventGraphAnimation?null:$.xMap,I.animate({d:$})):(L.zIndex=0,(I=B.area=this.chart.renderer.path($).addClass("highcharts-area"+(F?` highcharts-zone-area-${F-1} `:" ")+(F&&B.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(L.fill=D||B.color||this.color,L["fill-opacity"]=D?1:A.fillOpacity??.75,I.css({pointerEvents:this.stickyTracking?"none":"auto"})),I[E](L),I.startX=$.xMap,I.shiftUnit=A.step?2:1})}getGraphPath($){let A,B,F,L=re.prototype.getGraphPath,D=this.options,I=D.stacking,E=this.yAxis,_=[],b=[],T=this.index,z=E.stacking.stacks[this.stackKey],O=D.threshold,f=Math.round(E.getThreshold(D.threshold)),a=pe(D.connectNulls,"percent"===I),g=function(d,C,k){let Y,U,p=$[d],S=I&&z[p.x].points[T],j=p[k+"Null"]||0,H=p[k+"Cliff"]||0,se=!0;H||j?(Y=(j?S[0]:S[1])+H,U=S[0]+H,se=!!j):!I&&$[C]&&$[C].isNull&&(Y=U=O),void 0!==Y&&(b.push({plotX:A,plotY:null===Y?f:E.getThreshold(Y),isNull:se,isCliff:!0}),_.push({plotX:A,plotY:null===U?f:E.getThreshold(U),doCurve:!1}))};$=$||this.points,I&&($=this.getStackPoints($));for(let d=0,C=$.length;df.visible);F.forEach(function(f,a){let y,o,g=0;if(E[f]&&!E[f].isNull)B.push(E[f]),[-1,1].forEach(function(n){let r=1===n?"rightNull":"leftNull",l=I[F[a+n]],d=0;if(l){let C=z;for(;C>=0&&C=0&&nO&&B>I?(B=Math.max(O,I),L=2*I-B):Ba&&L>I?(L=Math.max(a,I),B=2*I-L):L=Math.abs(f)&&r>.5;return g=r-(f=Math.round(f)+n),l&&g&&(f-=1,g+=1),{x:O,y:f,width:a,height:g}}adjustForMissingColumns(O,f,a,g){if(!a.isNull&&g.columnCount>1){let y=this.xAxis.series.filter(l=>l.visible).map(l=>l.index),o=0,n=0;b(this.xAxis.stacking?.stacks,l=>{if("number"==typeof a.x){let d=l[a.x.toString()];if(d&&D(d.points[this.index])){let C=Object.keys(d.points).filter(k=>!k.match(",")&&d.points[k]&&d.points[k].length>1).map(parseFloat).filter(k=>-1!==y.indexOf(k)).sort((k,p)=>p-k);o=C.indexOf(this.index),n=C.length}}}),o=this.xAxis.reversed?n-1-o:o,O=(a.plotX||0)+((n-1)*g.paddedWidth+f)/2-f-o*g.paddedWidth}return O}translate(){let O=this,f=O.chart,a=O.options,g=O.dense=O.closestPointRange*O.xAxis.transA<2,y=O.borderWidth=_(a.borderWidth,g?0:1),o=O.xAxis,n=O.yAxis,r=a.threshold,l=_(a.minPointLength,5),d=O.getColumnMetrics(),C=d.width,k=O.pointXOffset=d.offset,p=O.dataMin,S=O.dataMax,j=O.barW=Math.max(C,1+2*y),H=O.translatedThreshold=n.getThreshold(r);f.inverted&&(H-=.5),a.pointPadding&&(j=Math.ceil(j)),le.prototype.translate.apply(O),O.points.forEach(function(Y){let G,U=_(Y.yBottom,H),se=999+Math.abs(U),w=Y.plotX||0,X=A(Y.plotY,-se,n.len+se),x=Math.min(X,U),N=Math.max(X,U)-x,R=C,K=w+k,q=j;l&&Math.abs(N)l?U-l:H-(G?l:0)),B(Y.options.pointWidth)&&(K-=Math.round(((R=q=Math.ceil(Y.options.pointWidth))-C)/2)),a.centerInCategory&&!a.stacking&&(K=O.adjustForMissingColumns(K,R,Y,d)),Y.barX=K,Y.pointWidth=R,Y.tooltipPos=f.inverted?[A(n.len+n.pos-f.plotLeft-X,n.pos-f.plotLeft,n.len+n.pos-f.plotLeft),o.len+o.pos-f.plotTop-K-q/2,N]:[o.left-f.plotLeft+K+q/2,A(X+n.pos-f.plotTop,n.pos-f.plotTop,n.len+n.pos-f.plotTop),N],Y.shapeType=O.pointClass.prototype.shapeType||"roundedRect",Y.shapeArgs=O.crispCol(K,Y.isNull?H:x,q,Y.isNull?0:N)}),L(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(O,f){let n,r,l,a=this.options,g=this.pointAttrToOptions||{},y=g.stroke||"borderColor",o=g["stroke-width"]||"borderWidth",d=O&&O.color||this.color,C=O&&O[y]||a[y]||d,k=O&&O.options.dashStyle||a.dashStyle,p=O&&O[o]||a[o]||this[o]||0,S=_(O&&O.opacity,a.opacity,1);O&&this.zones.length&&(r=O.getZone(),d=O.options.color||r&&(r.color||O.nonZonedColor)||this.color,r&&(C=r.borderColor||C,k=r.dashStyle||k,p=r.borderWidth||p)),f&&O&&(l=(n=E(a.states[f],O.options.states&&O.options.states[f]||{})).brightness,d=n.color||void 0!==l&&te(d).brighten(n.brightness).get()||d,C=n[y]||C,p=n[o]||p,k=n.dashStyle||k,S=_(n.opacity,S));let j={fill:d,stroke:C,"stroke-width":p,opacity:S};return k&&(j.dashstyle=k),j}drawPoints(O=this.points){let f,a=this,g=this.chart,y=a.options,o=g.renderer,n=y.animationLimit||250;O.forEach(function(r){let d=r.graphic,C=!!d,k=d&&g.pointCounto?.enabled)}function b(o,n,r,l,d){let C=this.chart,k=this.isCartesian&&C.inverted,p=this.enabledDataSorting,S=o.plotX,j=o.plotY,H=r.rotation||0,Y=pe(S)&&pe(j)&&C.isInsidePlot(S,Math.round(j),{inverted:k,paneCoordinates:!0,series:this}),U=0===H&&"justify"===L(r.overflow,p?"none":"justify"),se=this.visible&&!1!==o.visible&&pe(S)&&(o.series.forceDL||p&&!U||Y||L(r.inside,!!this.options.stacking)&&l&&C.isInsidePlot(S,k?l.x+1:l.y+l.height-1,{inverted:k,paneCoordinates:!0,series:this})),w=o.pos();if(se&&w){let G=n.getBBox(),x=n.getBBox(void 0,0),N={right:1,center:.5}[r.align||0]||0,R={bottom:1,middle:.5}[r.verticalAlign||0]||0;if(l=J({x:w[0],y:Math.round(w[1]),width:0,height:0},l||{}),J(r,{width:G.width,height:G.height}),p&&this.xAxis&&!U&&this.setDataLabelStartPos(o,n,d,Y,l),n.align(B(r,{width:x.width,height:x.height}),!1,l,!1),n.alignAttr.x+=N*(x.width-G.width),n.alignAttr.y+=R*(x.height-G.height),n[n.placed?"animate":"attr"]({x:n.alignAttr.x+(G.width-x.width)/2,y:n.alignAttr.y+(G.height-x.height)/2,rotationOriginX:(n.width||0)/2,rotationOriginY:(n.height||0)/2}),U&&l.height>=0)this.justifyDataLabel(n,r,n.alignAttr,G,l,d);else if(L(r.crop,!0)){let{x:K,y:q}=n.alignAttr;se=C.isInsidePlot(K,q,{paneCoordinates:!0,series:this})&&C.isInsidePlot(K+G.width-1,q+G.height-1,{paneCoordinates:!0,series:this})}r.shape&&!H&&n[d?"attr":"animate"]({anchorX:w[0],anchorY:w[1]})}d&&p&&(n.placed=!1),se||p&&!U?(n.show(),n.placed=!0):(n.hide(),n.placed=!1)}function T(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function z(o){let n=this.hasRendered||0,r=this.initDataLabelsGroup().attr({opacity:+n});return!n&&r&&(this.visible&&r.show(),this.options.animation?r.animate({opacity:1},o):r.attr({opacity:1})),r}function O(o){let n;o=o||this.points;let r=this,l=r.chart,d=r.options,C=l.renderer,{backgroundColor:k,plotBackgroundColor:p}=l.options.chart,S=C.getContrast(A(p)&&p||A(k)&&k||"#000000"),j=g(r),{animation:H,defer:Y}=j[0],U=Y?le(l,H,r):{defer:0,duration:0};te(this,"drawDataLabels"),r.hasDataLabels?.()&&(n=this.initDataLabels(U),o.forEach(se=>{let w=se.dataLabels||[];I(a(j,se.dlOptions||se.options?.dataLabels)).forEach((G,x)=>{let me,Ce,Se,Oe,ee,N=G.enabled&&(se.visible||se.dataLabelOnHidden)&&(!se.isNull||se.dataLabelOnNull)&&function(de,ye){let Te=ye.filter;if(Te){let _e=Te.operator,Me=de[Te.property],Ee=Te.value;return">"===_e&&Me>Ee||"<"===_e&&Me="===_e&&Me>=Ee||"<="===_e&&Me<=Ee||"=="===_e&&Me==Ee||"==="===_e&&Me===Ee||"!="===_e&&Me!=Ee||"!=="===_e&&Me!==Ee}return!0}(se,G),{backgroundColor:R,borderColor:K,distance:q,style:he={}}=G,Ae={},Fe=w[x],oe=!Fe;if(N&&(Ce=L(G[se.formatPrefix+"Format"],G.format),me=se.getLabelConfig(),Se=pe(Ce)?fe(Ce,me,l):(G[se.formatPrefix+"Formatter"]||G.formatter).call(me,G),Oe=G.rotation,!l.styledMode&&(he.color=L(G.color,he.color,A(r.color)?r.color:void 0,"#000000"),"contrast"===he.color?("none"!==R&&(ee=R),se.contrastColor=C.getContrast("auto"!==ee&&ee||se.color||r.color),he.color=ee||!pe(q)&&G.inside||0>D(q||0)||d.stacking?se.contrastColor:S):delete se.contrastColor,d.cursor&&(he.cursor=d.cursor)),Ae={r:G.borderRadius||0,rotation:Oe,padding:G.padding,zIndex:1},l.styledMode||(Ae.fill="auto"===R?se.color:R,Ae.stroke="auto"===K?se.color:K,Ae["stroke-width"]=G.borderWidth),F(Ae,(de,ye)=>{void 0===de&&delete Ae[ye]})),!Fe||N&&pe(Se)&&!!Fe.div==!!G.useHTML&&(Fe.rotation&&G.rotation||Fe.rotation===G.rotation)||(Fe=void 0,oe=!0),N&&pe(Se)&&(Fe?Ae.text=Se:(Fe=C.label(Se,0,0,G.shape,void 0,void 0,G.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+se.colorIndex+" "+(G.className||"")+(G.useHTML?" highcharts-tracker":"")),Fe)){Fe.options=G,Fe.attr(Ae),l.styledMode||Fe.css(he).shadow(G.shadow);let de=G[se.formatPrefix+"TextPath"]||G.textPath;de&&!G.useHTML&&(Fe.setTextPath(se.getDataLabelPath?.(Fe)||se.graphic,de),se.dataLabelPath&&!de.enabled&&(se.dataLabelPath=se.dataLabelPath.destroy())),Fe.added||Fe.add(n),r.alignDataLabel(se,Fe,G,void 0,oe),Fe.isActive=!0,w[x]&&w[x]!==Fe&&w[x].destroy(),w[x]=Fe}});let X=w.length;for(;X--;)w[X]&&w[X].isActive?w[X].isActive=!1:(w[X]?.destroy(),w.splice(X,1));se.dataLabel=w[0],se.dataLabels=w})),te(this,"afterDrawDataLabels")}function f(o,n,r,l,d,C){let U,se,k=this.chart,p=n.align,S=n.verticalAlign,j=o.box?0:o.padding||0,{x:H=0,y:Y=0}=n;return(U=(r.x||0)+j)<0&&("right"===p&&H>=0?(n.align="left",n.inside=!0):H-=U,se=!0),(U=(r.x||0)+l.width-j)>k.plotWidth&&("left"===p&&H<=0?(n.align="right",n.inside=!0):H+=k.plotWidth-U,se=!0),(U=r.y+j)<0&&("bottom"===S&&Y>=0?(n.verticalAlign="top",n.inside=!0):Y-=U,se=!0),(U=(r.y||0)+l.height-j)>k.plotHeight&&("top"===S&&Y<=0?(n.verticalAlign="bottom",n.inside=!0):Y+=k.plotHeight-U,se=!0),se&&(n.x=H,n.y=Y,o.placed=!C,o.align(n,void 0,d)),se}function a(o,n){let l,r=[];if($(o)&&!$(n))r=o.map(function(d){return B(d,n)});else if($(n)&&!$(o))r=n.map(function(d){return B(o,d)});else if($(o)||$(n)){if($(o)&&$(n))for(l=Math.max(o.length,n.length);l--;)r[l]=B(o[l],n[l])}else r=B(o,n);return r}function g(o){let n=o.chart.options.plotOptions;return I(a(a(n?.series?.dataLabels,n?.[o.type]?.dataLabels),o.options.dataLabels))}function y(o,n,r,l,d){let C=this.chart,k=C.inverted,p=this.xAxis,S=p.reversed,j=((k?n.height:n.width)||0)/2,H=o.pointWidth,Y=H?H/2:0;n.startXPos=k?d.x:S?-j-Y:p.width-j+Y,n.startYPos=k?S?this.yAxis.height-j+Y:-j-Y:d.y,l?"hidden"===n.visibility&&(n.show(),n.attr({opacity:0}).animate({opacity:1})):n.attr({opacity:1}).animate({opacity:0},void 0,n.hide),C.hasRendered&&(r&&n.attr({x:n.startXPos,y:n.startYPos}),n.placed=!0)}E.compose=function(o){let n=o.prototype;n.initDataLabels||(n.initDataLabels=z,n.initDataLabelsGroup=T,n.alignDataLabel=b,n.drawDataLabels=O,n.justifyDataLabel=f,n.setDataLabelStartPos=y,n.hasDataLabels=_)}}(ve||(ve={})),ve}),Pe(V,"Series/Column/ColumnDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){var le;let{composed:fe}=ie,{series:pe}=re,{merge:J,pick:te,pushUnique:$}=ve;return function(A){function B(F,L,D,I,E){let _=this.chart.inverted,b=F.series,T=(b.xAxis?b.xAxis.len:this.chart.plotSizeX)||0,z=(b.yAxis?b.yAxis.len:this.chart.plotSizeY)||0,O=F.dlBox||F.shapeArgs,f=te(F.below,F.plotY>te(this.translatedThreshold,z)),a=te(D.inside,!!this.options.stacking);if(O){if(I=J(O),"allow"!==D.overflow||!1!==D.crop){I.y<0&&(I.height+=I.y,I.y=0);let g=I.y+I.height-z;g>0&&g\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),Pe(V,"Series/Scatter/ScatterSeries.js",[V["Series/Scatter/ScatterSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{column:ve,line:le}=ie.seriesTypes,{addEvent:fe,extend:pe,merge:J}=re;class te extends le{applyJitter(){let A=this,B=this.options.jitter,F=this.points.length;B&&this.points.forEach(function(L,D){["x","y"].forEach(function(I,E){let _,T,z,O,b="plot"+I.toUpperCase();B[I]&&!L.isNull&&(_=A[I+"Axis"],O=B[I]*_.transA,_&&!_.isLog&&(T=Math.max(0,L[b]-O),z=Math.min(_.len,L[b]+O),L[b]=T+(z-T)*function(f){let a=1e4*Math.sin(f);return a-Math.floor(a)}(D+E*F),"x"===I&&(L.clientX=L.plotX)))})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return te.defaultOptions=J(le.defaultOptions,Z),pe(te.prototype,{drawTracker:ve.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),fe(te,"afterTranslate",function(){this.applyJitter()}),ie.registerSeriesType("scatter",te),te}),Pe(V,"Series/CenteredUtilities.js",[V["Core/Globals.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(Z,ie,re){var ve,le;let{deg2rad:fe}=Z,{fireEvent:pe,isNumber:J,pick:te,relativeLength:$}=re;return(le=ve||(ve={})).getCenter=function(){let b,O,f,A=this.options,B=this.chart,F=2*(A.slicedOffset||0),L=B.plotWidth-2*F,D=B.plotHeight-2*F,I=A.center,E=Math.min(L,D),_=A.thickness,T=A.size,z=A.innerSize||0;"string"==typeof T&&(T=parseFloat(T)),"string"==typeof z&&(z=parseFloat(z));let a=[te(I[0],"50%"),te(I[1],"50%"),te(T&&T<0?void 0:A.size,"100%"),te(z&&z<0?void 0:A.innerSize||0,"0%")];for(!B.angular||this instanceof ie||(a[3]=0),O=0;O<4;++O)f=a[O],b=O<2||2===O&&/%$/.test(f),a[O]=$(f,[L,D,E,a[2]][O])+(b?F:0);return a[3]>a[2]&&(a[3]=a[2]),J(_)&&2*_0&&(a[3]=a[2]-2*_),pe(this,"afterGetCenter",{positions:a}),a},le.getStartAndEndRadians=function(A,B){let F=J(A)?A:0,L=J(B)&&B>F&&B-F<360?B:F+360;return{start:fe*(F+-90),end:fe*(L+-90)}},ve}),Pe(V,"Series/Pie/PiePoint.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{setAnimation:ve}=Z,{addEvent:le,defined:fe,extend:pe,isNumber:J,pick:te,relativeLength:$}=re;class A extends ie{getConnectorPath(F){let L=F.dataLabelPosition,D=F.options||{},I=D.connectorShape;return L&&(this.connectorShapes[I]||I).call(this,{...L.computed,alignment:L.alignment},L.connectorPosition,D)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(F){let L=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(L.x,L.y,L.r+F,L.r+F,{innerR:L.r-1,start:L.start,end:L.end,borderRadius:L.borderRadius})}constructor(F,L,D){super(F,L,D),this.half=0,this.name??(this.name="Slice");let I=E=>{this.slice("select"===E.type)};le(this,"select",I),le(this,"unselect",I)}isValid(){return J(this.y)&&this.y>=0}setVisible(F,L=!0){F!==this.visible&&this.update({visible:F??!this.visible},L,void 0,!1)}slice(F,L,D){let I=this.series;ve(D,I.chart),L=te(L,!0),this.sliced=this.options.sliced=F=fe(F)?F:!this.sliced,I.options.data[I.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return pe(A.prototype,{connectorShapes:{fixedOffset:function(B,F,L){let D=F.breakAt,I=F.touchingSliceAt;return[["M",B.x,B.y],L.softConnector?["C",B.x+("left"===B.alignment?-5:5),B.y,2*D.x-I.x,2*D.y-I.y,D.x,D.y]:["L",D.x,D.y],["L",I.x,I.y]]},straight:function(B,F){let L=F.touchingSliceAt;return[["M",B.x,B.y],["L",L.x,L.y]]},crookedLine:function(B,F,L){let{breakAt:D,touchingSliceAt:I}=F,{series:E}=this,[_,b,T]=E.center,z=T/2,{plotLeft:O,plotWidth:f}=E.chart,a="left"===B.alignment,{x:g,y}=B,o=D.x;if(L.crookDistance){let r=$(L.crookDistance,1);o=a?_+z+(f+O-_-z)*(1-r):O+(_-z)*r}else o=_+(b-y)*Math.tan((this.angle||0)-Math.PI/2);let n=[["M",g,y]];return(a?o<=g&&o>=D.x:o>=g&&o<=D.x)&&n.push(["L",o,y]),n.push(["L",D.x,D.y],["L",I.x,I.y]),n}}}),A}),Pe(V,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),Pe(V,"Series/Pie/PieSeries.js",[V["Series/CenteredUtilities.js"],V["Series/Column/ColumnSeries.js"],V["Core/Globals.js"],V["Series/Pie/PiePoint.js"],V["Series/Pie/PieSeriesDefaults.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe,pe,J,te){let{getStartAndEndRadians:$}=Z,{noop:A}=re,{clamp:B,extend:F,fireEvent:L,merge:D,pick:I}=te;class E extends fe{animate(b){let T=this,O=T.startAngleRad;b||T.points.forEach(function(f){let a=f.graphic,g=f.shapeArgs;a&&g&&(a.attr({r:I(f.startR,T.center&&T.center[3]/2),start:O,end:O}),a.animate({r:g.r,start:g.start,end:g.end},T.options.animation))})}drawEmpty(){let b,T,z=this.startAngleRad,O=this.endAngleRad,f=this.options;0===this.total&&this.center?(b=this.center[0],T=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(b,T,this.center[1]/2,0,z,O).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:J.arc(b,T,this.center[2]/2,0,{start:z,end:O,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":f.borderWidth,fill:f.fillColor||"none",stroke:f.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let b=this.chart.renderer;this.points.forEach(function(T){T.graphic&&T.hasNewShapeType()&&(T.graphic=T.graphic.destroy()),T.graphic||(T.graphic=b[T.shapeType](T.shapeArgs).add(T.series.group),T.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(b,T,z,O){let f=this.center,a=this.radii?this.radii[z.index]||0:f[2]/2,g=O.dataLabelPosition,y=g?.distance||0,o=Math.asin(B((b-f[1])/(a+y),-1,1));return f[0]+Math.cos(o)*(a+y)*(T?-1:1)+(y>0?(T?-1:1)*(O.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let b,T,z,O,f=this,a=f.chart;this.drawEmpty(),f.group&&!a.styledMode&&f.group.shadow(f.options.shadow),f.points.forEach(function(g){let y={};T=g.graphic,!g.isNull&&T?(O=g.shapeArgs,b=g.getTranslate(),a.styledMode||(z=f.pointAttribs(g,g.selected&&"select")),g.delayedRendering?(T.setRadialReference(f.center).attr(O).attr(b),a.styledMode||T.attr(z).attr({"stroke-linejoin":"round"}),g.delayedRendering=!1):(T.setRadialReference(f.center),a.styledMode||D(!0,y,z),D(!0,y,O,b),T.animate(y)),T.attr({visibility:g.visible?"inherit":"hidden"}),T.addClass(g.getClassName(),!0)):T&&(g.graphic=T.destroy())})}sortByAngle(b,T){b.sort(function(z,O){return void 0!==z.angle&&(O.angle-z.angle)*T})}translate(b){L(this,"translate"),this.generatePoints();let n,r,l,d,C,k,p,T=this.options,z=T.slicedOffset,O=$(T.startAngle,T.endAngle),f=this.startAngleRad=O.start,a=(this.endAngleRad=O.end)-f,g=this.points,y=T.ignoreHiddenPoint,o=g.length,S=0;for(b||(this.center=b=this.getCenter()),k=0;k1.5*Math.PI?l-=2*Math.PI:l<-Math.PI/2&&(l+=2*Math.PI),p.slicedTranslation={translateX:Math.round(Math.cos(l)*z),translateY:Math.round(Math.sin(l)*z)},d=Math.cos(l)*b[2]/2,C=Math.sin(l)*b[2]/2,p.tooltipPos=[b[0]+.7*d,b[1]+.7*C],p.half=l<-Math.PI/2||l>Math.PI/2?1:0,p.angle=l}L(this,"afterTranslate")}updateTotals(){let O,f,b=this.points,T=b.length,z=this.options.ignoreHiddenPoint,a=0;for(O=0;O0&&(f.visible||!z)?f.y/a*100:0,f.total=a}}return E.defaultOptions=D(fe.defaultOptions,le),F(E.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:ie.prototype.drawTracker,getCenter:Z.getCenter,getSymbol:A,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:ie.prototype.pointAttribs,pointClass:ve,requireSorting:!1,searchPoint:A,trackerGroups:["group","dataLabelsGroup"]}),pe.registerSeriesType("pie",E),E}),Pe(V,"Series/Pie/PieDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le){var fe;let{composed:pe,noop:J}=ie,{distribute:te}=re,{series:$}=ve,{arrayMax:A,clamp:B,defined:F,pick:L,pushUnique:D,relativeLength:I}=le;return function(E){let _={radialDistributionY:function(f,a){return(a.dataLabelPosition?.top||0)+f.distributeBox.pos},radialDistributionX:function(f,a,g,y,o){let n=o.dataLabelPosition;return f.getX(g<(n?.top||0)+2||g>(n?.bottom||0)-2?y:g,a.half,a,o)},justify:function(f,a,g,y){return y[0]+(f.half?-1:1)*(g+(a.dataLabelPosition?.distance||0))},alignToPlotEdges:function(f,a,g,y){let o=f.getBBox().width;return a?o+y:g-o-y},alignToConnectors:function(f,a,g,y){let n,o=0;return f.forEach(function(r){(n=r.dataLabel.getBBox().width)>o&&(o=n)}),a?o+y:g-o-y}};function b(f,a){let{center:g,options:y}=this,o=g[2]/2,n=f.angle||0,r=Math.cos(n),l=Math.sin(n),d=g[0]+r*o,C=g[1]+l*o,k=Math.min((y.slicedOffset||0)+(y.borderWidth||0),a/5);return{natural:{x:d+r*a,y:C+l*a},computed:{},alignment:a<0?"center":f.half?"right":"left",connectorPosition:{breakAt:{x:d+r*k,y:C+l*k},touchingSliceAt:{x:d,y:C}},distance:a}}function T(){let j,H,Y,f=this,a=f.points,g=f.chart,y=g.plotWidth,o=g.plotHeight,n=g.plotLeft,r=Math.round(g.chartWidth/3),l=f.center,d=l[2]/2,C=l[1],k=[[],[]],p=[0,0,0,0],S=f.dataLabelPositioners,U=0;f.visible&&f.hasDataLabels?.()&&(a.forEach(se=>{(se.dataLabels||[]).forEach(w=>{w.shortened&&(w.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),w.shortened=!1)})}),$.prototype.drawDataLabels.apply(f),a.forEach(se=>{(se.dataLabels||[]).forEach((w,X)=>{let G=l[2]/2,x=w.options,N=I(x?.distance||0,G);0===X&&k[se.half].push(se),!F(x?.style?.width)&&w.getBBox().width>r&&(w.css({width:Math.round(.7*r)+"px"}),w.shortened=!0),w.dataLabelPosition=this.getDataLabelPosition(se,N),U=Math.max(U,N)})}),k.forEach((se,w)=>{let x,N,K,G=[],R=0;se.length&&(f.sortByAngle(se,w-.5),U>0&&(x=Math.max(0,C-d-U),N=Math.min(C+d+U,g.plotHeight),se.forEach(q=>{(q.dataLabels||[]).forEach(he=>{let me=he.dataLabelPosition;me&&me.distance>0&&(me.top=Math.max(0,C-d-me.distance),me.bottom=Math.min(C+d+me.distance,g.plotHeight),R=he.getBBox().height||21,q.distributeBox={target:(he.dataLabelPosition?.natural.y||0)-me.top+R/2,size:R,rank:q.y},G.push(q.distributeBox))})}),te(G,K=N+R-x,K/5)),se.forEach(q=>{(q.dataLabels||[]).forEach(he=>{let me=he.options||{},Ce=q.distributeBox,Se=he.dataLabelPosition,Oe=Se?.natural.y||0,Ae=me.connectorPadding||0,Fe=0,oe=Oe,ee="inherit";if(Se){if(G&&F(Ce)&&Se.distance>0&&(void 0===Ce.pos?ee="hidden":(Y=Ce.size,oe=S.radialDistributionY(q,he))),me.justify)Fe=S.justify(q,he,d,l);else switch(me.alignTo){case"connectors":Fe=S.alignToConnectors(se,w,y,n);break;case"plotEdges":Fe=S.alignToPlotEdges(he,w,y,n);break;default:Fe=S.radialDistributionX(f,q,oe,Oe,he)}if(Se.attribs={visibility:ee,align:Se.alignment},Se.posAttribs={x:Fe+(me.x||0)+({left:Ae,right:-Ae}[Se.alignment]||0),y:oe+(me.y||0)-he.getBBox().height/2},Se.computed.x=Fe,Se.computed.y=oe,L(me.crop,!0)){let de;Fe-(H=he.getBBox().width)y-Ae&&0===w&&(de=Math.round(Fe+H-y+Ae),p[1]=Math.max(de,p[1])),oe-Y/2<0?p[0]=Math.max(Math.round(Y/2-oe),p[0]):oe+Y/2>o&&(p[2]=Math.max(Math.round(oe+Y/2-o),p[2])),Se.sideOverflow=de}}})}))}),(0===A(p)||this.verifyDataLabelOverflow(p))&&(this.placeDataLabels(),this.points.forEach(se=>{(se.dataLabels||[]).forEach(w=>{let{connectorColor:X,connectorWidth:G=1}=w.options||{},x=w.dataLabelPosition;if(G){let N;j=w.connector,x&&x.distance>0?(N=!j,j||(w.connector=j=g.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+se.colorIndex+(se.className?" "+se.className:"")).add(f.dataLabelsGroup)),g.styledMode||j.attr({"stroke-width":G,stroke:X||se.color||"#666666"}),j[N?"attr":"animate"]({d:se.getConnectorPath(w)}),j.attr({visibility:x.attribs?.visibility})):j&&(w.connector=j.destroy())}})})))}function z(){this.points.forEach(f=>{(f.dataLabels||[]).forEach(a=>{let g=a.dataLabelPosition;g?(g.sideOverflow&&(a.css({width:Math.max(a.getBBox().width-g.sideOverflow,0)+"px",textOverflow:(a.options?.style||{}).textOverflow||"ellipsis"}),a.shortened=!0),a.attr(g.attribs),a[a.moved?"animate":"attr"](g.posAttribs),a.moved=!0):a&&a.attr({y:-9999})}),delete f.distributeBox},this)}function O(f){let a=this.center,g=this.options,y=g.center,o=g.minSize||80,n=o,r=null!==g.size;return!r&&(null!==y[0]?n=Math.max(a[2]-Math.max(f[1],f[3]),o):(n=Math.max(a[2]-f[1]-f[3],o),a[0]+=(f[3]-f[1])/2),null!==y[1]?n=B(n,o,a[2]-Math.max(f[0],f[2])):(n=B(n,o,a[2]-f[0]-f[2]),a[1]+=(f[0]-f[2])/2),n!(b.x>=_.x+_.width||b.x+b.width<=_.x||b.y>=_.y+_.height||b.y+b.height<=_.y),E=!1;for(let _=0;_<$;_++)(B=te[_])&&(B.oldOpacity=B.opacity,B.newOpacity=1,B.absoluteBox=function(b){if(b&&(!b.alignAttr||b.placed)){let T=b.box?0:b.padding||0,z=b.alignAttr||{x:b.attr("x"),y:b.attr("y")},O=b.getBBox();return b.width=O.width,b.height=O.height,{x:z.x+(b.parentGroup?.translateX||0)+T,y:z.y+(b.parentGroup?.translateY||0)+T,width:(b.width||0)-2*T,height:(b.height||0)-2*T}}}(B));te.sort((_,b)=>(b.labelrank||0)-(_.labelrank||0));for(let _=0;_<$;++_){D=(F=te[_])&&F.absoluteBox;for(let b=_+1;b<$;++b)I=(L=te[b])&&L.absoluteBox,D&&I&&F!==L&&0!==F.newOpacity&&0!==L.newOpacity&&"hidden"!==F.visibility&&"hidden"!==L.visibility&&A(D,I)&&((F.labelrank{ve(B,F=>{F.label&&$.push(F.label)})});for(let A of te.series||[])if(A.visible&&A.hasDataLabels?.()){let B=F=>{for(let L of F)L.visible&&(L.dataLabels||[]).forEach(D=>{let I=D.options||{};D.labelrank=le(I.labelrank,L.labelrank,L.shapeArgs?.height),I.allowOverlap??Number(I.distance)>0?(D.oldOpacity=D.opacity,D.newOpacity=1,pe(D,te)):$.push(D)})};B(A.nodes||[]),B(A.points)}this.hideOverlappingLabels($)}return{compose:function(te){let $=te.prototype;$.hideOverlappingLabels||($.hideOverlappingLabels=fe,ie(te,"render",J))}}}),Pe(V,"Extensions/BorderRadius.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie,re){let{defaultOptions:ve}=Z,{noop:le}=ie,{addEvent:fe,extend:pe,isObject:J,merge:te,relativeLength:$}=re,A={radius:0,scope:"stack",where:void 0},B=le,F=le;function L(b,T,z,O,f={}){let a=B(b,T,z,O,f),{innerR:g=0,r:y=z,start:o=0,end:n=0}=f;if(f.open||!f.borderRadius)return a;let r=n-o,l=Math.sin(r/2),d=Math.max(Math.min($(f.borderRadius||0,y-g),(y-g)/2,y*l/(1+l)),0),C=Math.min(d,r/Math.PI*2*g),k=a.length-1;for(;k--;)!function(p,S,j){let H,Y,U,se=p[S],w=p[S+1];if("Z"===w[0]&&(w=p[0]),"M"!==se[0]&&"L"!==se[0]||"A"!==w[0]?"A"===se[0]&&("M"===w[0]||"L"===w[0])&&(H=w,Y=se):(H=se,Y=w,U=!0),H&&Y&&Y.params){let X=Y[1],G=Y[5],x=Y.params,{start:N,end:R,cx:K,cy:q}=x,he=G?X-j:X+j,me=he?Math.asin(j/he):0,Ce=G?me:-me,Se=Math.cos(me)*he;U?(x.start=N+Ce,H[1]=K+Se*Math.cos(N),H[2]=q+Se*Math.sin(N),p.splice(S+1,0,["A",j,j,0,0,1,K+X*Math.cos(x.start),q+X*Math.sin(x.start)])):(x.end=R-Ce,Y[6]=K+X*Math.cos(x.end),Y[7]=q+X*Math.sin(x.end),p.splice(S+1,0,["A",j,j,0,0,1,K+Se*Math.cos(R),q+Se*Math.sin(R)])),Y[4]=Math.abs(x.end-x.start)1?C:d);return a}function D(){if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){let{options:b,yAxis:T}=this,z="percent"===b.stacking,O=ve.plotOptions?.[this.type]?.borderRadius,f=I(b.borderRadius,J(O)?O:{}),a=T.options.reversed;for(let g of this.points){let{shapeArgs:y}=g;if("roundedRect"===g.shapeType&&y){let{width:o=0,height:n=0,y:r=0}=y,l=r,d=n;if("stack"===f.scope&&g.stackTotal){let S=T.translate(z?100:g.stackTotal,!1,!0,!1,!0),j=T.translate(b.threshold||0,!1,!0,!1,!0),H=this.crispCol(0,Math.min(S,j),0,Math.abs(S-j));l=H.y,d=H.height}let C=(g.negative?-1:1)*(a?-1:1)==-1,k=f.where;!k&&this.is("waterfall")&&Math.abs((g.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(k="all"),k||(k="end");let p=Math.min($(f.radius,o),o/2,"all"===k?n/2:1/0)||0;"end"===k&&(C&&(l-=p),d+=p),pe(y,{brBoxHeight:d,brBoxY:l,r:p})}}}}function I(b,T){return J(b)||(b={radius:b||0}),te(A,T,b)}function E(){let b=I(this.options.borderRadius);for(let T of this.points){let z=T.shapeArgs;z&&(z.borderRadius=$(b.radius,(z.r||0)-(z.innerR||0)))}}function _(b,T,z,O,f={}){let a=F(b,T,z,O,f),{r:g=0,brBoxHeight:y=O,brBoxY:o=T}=f,n=T-o,r=o+y-(T+O),l=n-g>-.1?0:g,d=r-g>-.1?0:g,C=Math.max(l&&n,0),k=Math.max(d&&r,0),p=[b+l,T],S=[b+z-l,T],j=[b+z,T+l],H=[b+z,T+O-d],Y=[b+z-d,T+O],U=[b+d,T+O],se=[b,T+O-d],w=[b,T+l],X=(G,x)=>Math.sqrt(Math.pow(G,2)-Math.pow(x,2));if(C){let G=X(l,l-C);p[0]-=G,S[0]+=G,j[1]=w[1]=T+l-C}if(O=pe(L.minWidth,0)&&this.chartHeight>=pe(L.minHeight,0)}).call(this)&&F.push(B._id)}function A(B,F){let E,L=this.options.responsive,D=this.currentResponsive,I=[];!F&&L&&L.rules&&L.rules.forEach(T=>{void 0===T._id&&(T._id=J()),this.matchResponsiveRule(T,I)},this);let _=fe(...I.map(T=>le((L||{}).rules||[],z=>z._id===T)).map(T=>T&&T.chartOptions));_.isResponsiveOptions=!0,I=I.toString()||void 0,I!==(D&&D.ruleIds)&&(D&&this.update(D.undoOptions,B,!0),I?((E=re(_,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:I,mergedOptions:_,undoOptions:E},this.update(_,B,!0)):this.currentResponsive=void 0)}te.compose=function(B){let F=B.prototype;return F.matchResponsiveRule||ve(F,{matchResponsiveRule:$,setResponsive:A}),B}}(ie||(ie={})),ie}),Pe(V,"masters/highcharts.src.js",[V["Core/Globals.js"],V["Core/Utilities.js"],V["Core/Defaults.js"],V["Core/Animation/Fx.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Templating.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Renderer/HTML/HTMLElement.js"],V["Core/Axis/Axis.js"],V["Core/Axis/DateTimeAxis.js"],V["Core/Axis/LogarithmicAxis.js"],V["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],V["Core/Axis/Tick.js"],V["Core/Tooltip.js"],V["Core/Series/Point.js"],V["Core/Pointer.js"],V["Core/Legend/Legend.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Chart/Chart.js"],V["Extensions/ScrollablePlotArea.js"],V["Core/Axis/Stacking/StackingAxis.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Series/Column/ColumnDataLabel.js"],V["Series/Pie/PieDataLabel.js"],V["Core/Series/DataLabel.js"],V["Extensions/OverlappingDataLabels.js"],V["Extensions/BorderRadius.js"],V["Core/Responsive.js"],V["Core/Color/Color.js"],V["Core/Time.js"]],function(Z,ie,re,ve,le,fe,pe,J,te,$,A,B,F,L,D,I,E,_,b,T,z,O,f,a,g,y,o,n,r,l,d,C,k,p,S,j){return Z.AST=fe,Z.Axis=F,Z.Chart=f,Z.Color=S,Z.DataLabel=d,Z.Fx=ve,Z.HTMLElement=B,Z.Legend=z,Z.LegendSymbol=O,Z.OverlappingDataLabels=Z.OverlappingDataLabels||C,Z.PlotLineOrBand=I,Z.Point=b,Z.Pointer=T,Z.RendererRegistry=J,Z.Series=o,Z.SeriesRegistry=n,Z.StackItem=y,Z.SVGElement=$,Z.SVGRenderer=A,Z.Templating=pe,Z.Tick=E,Z.Time=j,Z.Tooltip=_,Z.animate=le.animate,Z.animObject=le.animObject,Z.chart=f.chart,Z.color=S.parse,Z.dateFormat=pe.dateFormat,Z.defaultOptions=re.defaultOptions,Z.distribute=te.distribute,Z.format=pe.format,Z.getDeferredAnimation=le.getDeferredAnimation,Z.getOptions=re.getOptions,Z.numberFormat=pe.numberFormat,Z.seriesType=n.seriesType,Z.setAnimation=le.setAnimation,Z.setOptions=re.setOptions,Z.stop=le.stop,Z.time=re.defaultTime,Z.timers=ve.timers,k.compose(Z.Series,Z.SVGElement,Z.SVGRenderer),r.compose(Z.Series.types.column),d.compose(Z.Series),L.compose(Z.Axis),B.compose(Z.SVGRenderer),z.compose(Z.Chart),D.compose(Z.Axis),C.compose(Z.Chart),l.compose(Z.Series.types.pie),I.compose(Z.Axis),T.compose(Z.Chart),p.compose(Z.Chart),a.compose(Z.Axis,Z.Chart,Z.Series),g.compose(Z.Axis,Z.Chart,Z.Series),_.compose(Z.Pointer),ie.extend(Z,ie),Z}),Pe(V,"Series/DataModifyComposition.js",[V["Core/Axis/Axis.js"],V["Core/Series/Point.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){var le;let{tooltipFormatter:fe}=ie.prototype,{addEvent:pe,arrayMax:J,arrayMin:te,correctFloat:$,defined:A,isArray:B,isNumber:F,isString:L,pick:D}=ve;return function(I){function E(o,n,r){!this.isXAxis&&(this.series.forEach(function(l){"compare"===o&&"boolean"!=typeof n?l.setCompare(n,!1):"cumulative"!==o||L(n)||l.setCumulative(n,!1)}),D(r,!0)&&this.chart.redraw())}function _(o){let n=this,{numberFormatter:r}=n.series.chart,l=function(d){o=o.replace("{point."+d+"}",(n[d]>0&&"change"===d?"+":"")+r(n[d],D(n.series.tooltipOptions.changeDecimals,2)))};return A(n.change)&&l("change"),A(n.cumulativeSum)&&l("cumulativeSum"),fe.apply(this,[o])}function b(){let o,n=this.options.compare;("percent"===n||"value"===n||this.options.cumulative)&&(o=new y(this),"percent"===n||"value"===n?o.initCompare(n):o.initCumulative()),this.dataModify=o}function T(o){let n=o.dataExtremes,r=n.activeYData;if(this.dataModify&&n){let l;this.options.compare?l=[this.dataModify.modifyValue(n.dataMin),this.dataModify.modifyValue(n.dataMax)]:this.options.cumulative&&B(r)&&r.length>=2&&(l=y.getCumulativeExtremes(r)),l&&(n.dataMin=te(l),n.dataMax=J(l))}}function z(o,n){this.options.compare=this.userOptions.compare=o,this.update({},D(n,!0)),!this.dataModify||"value"!==o&&"percent"!==o?this.points.forEach(r=>{delete r.change}):this.dataModify.initCompare(o)}function O(){if(this.xAxis&&this.processedYData&&this.dataModify){let C,o=this.processedXData,n=this.processedYData,r=n.length,l=!0===this.options.compareStart?0:1,d=-1;for(this.pointArrayMap&&(d=this.pointArrayMap.indexOf(this.options.pointValKey||this.pointValKey||"y")),C=0;C-1?n[C][d]:n[C];if(F(k)&&0!==k&&o[C+l]>=(this.xAxis.min||0)){this.dataModify.compareValue=k;break}}}}function f(o,n){this.setModifier("compare",o,n)}function a(o,n){o=D(o,!1),this.options.cumulative=this.userOptions.cumulative=o,this.update({},D(n,!0)),this.dataModify?this.dataModify.initCumulative():this.points.forEach(r=>{delete r.cumulativeSum})}function g(o,n){this.setModifier("cumulative",o,n)}I.compose=function(o,n,r){let l=n.prototype,d=r.prototype,C=o.prototype;return C.setCompare||(C.setCompare=z,C.setCumulative=a,pe(o,"afterInit",b),pe(o,"afterGetExtremes",T),pe(o,"afterProcessData",O)),l.setCompare||(l.setCompare=f,l.setModifier=E,l.setCumulative=g,d.tooltipFormatter=_),o};class y{constructor(n){this.series=n}modifyValue(){return 0}static getCumulativeExtremes(n){let r=1/0,l=-1/0;return n.reduce((d,C)=>{let k=d+C;return r=Math.min(r,k,d),l=Math.max(l,k,d),k}),[r,l]}initCompare(n){this.modifyValue=function(r,l){null===r&&(r=0);let d=this.compareValue;if(void 0!==r&&void 0!==d){if("value"===n?r-=d:r=r/d*100-(100===this.series.options.compareBase?0:100),void 0!==l){let C=this.series.points[l];C&&(C.change=r)}return r}return 0}}initCumulative(){this.modifyValue=function(n,r){if(null===n&&(n=0),void 0!==n&&void 0!==r){let l=r>0?this.series.points[r-1]:null;l&&l.cumulativeSum&&(n=$(l.cumulativeSum+n));let d=this.series.points[r];return d&&(d.cumulativeSum=n),n}return 0}}}I.Additions=y}(le||(le={})),le}),Pe(V,"Stock/Navigator/ChartNavigatorComposition.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie){let re,{isTouchDevice:ve}=Z,{addEvent:le,merge:fe,pick:pe}=ie,J=[];function te(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function $(){let I,E,_,b=this.legend,T=this.navigator;if(T){I=b&&b.options,E=T.xAxis,_=T.yAxis;let{scrollbarHeight:z,scrollButtonSize:O}=T;this.inverted?(T.left=T.opposite?this.chartWidth-z-T.height:this.spacing[3]+z,T.top=this.plotTop+O):(T.left=pe(E.left,this.plotLeft+O),T.top=T.navigatorOptions.top||this.chartHeight-T.height-z-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(I&&"bottom"===I.verticalAlign&&"proximate"!==I.layout&&I.enabled&&!I.floating?b.legendHeight+pe(I.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),E&&_&&(this.inverted?E.options.left=_.options.left=T.left:E.options.top=_.options.top=T.top,E.setAxisSize(),_.setAxisSize())}}function A(I){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new re(this),pe(I.redraw,!0)&&this.redraw(I.animation))}function B(){let I=this.options;(I.navigator.enabled||I.scrollbar.enabled)&&(this.scroller=this.navigator=new re(this))}function F(){let I=this.options,E=I.navigator,_=I.rangeSelector;if((E&&E.enabled||_&&_.enabled)&&(!ve&&"x"===this.zooming.type||ve&&"x"===this.zooming.pinchType))return!1}function L(I){let E=I.navigator;if(E&&I.xAxis[0]){let _=I.xAxis[0].getExtremes();E.render(_.min,_.max)}}function D(I){let E=I.options.navigator||{},_=I.options.scrollbar||{};!this.navigator&&!this.scroller&&(E.enabled||_.enabled)&&(fe(!0,this.options.navigator,E),fe(!0,this.options.scrollbar,_),delete I.options.navigator,delete I.options.scrollbar)}return{compose:function(I,E){ie.pushUnique(J,I)&&(re=E,I.prototype.callbacks.push(L),le(I,"afterAddSeries",te),le(I,"afterSetChartSize",$),le(I,"afterUpdate",A),le(I,"beforeRender",B),le(I,"beforeShowResetZoom",F),le(I,"update",D))}}}),Pe(V,"Core/Axis/NavigatorAxisComposition.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie){let{isTouchDevice:re}=Z,{addEvent:ve,correctFloat:le,defined:fe,isNumber:pe,pick:J}=ie;function te(){this.navigatorAxis||(this.navigatorAxis=new A(this))}function $(B){let F,L=this.chart,D=L.options,I=D.navigator,E=this.navigatorAxis,_=L.zooming.pinchType,b=D.rangeSelector,T=L.zooming.type;if(this.isXAxis&&(I?.enabled||b?.enabled))if("y"===T&&"zoom"===B.trigger)F=!1;else if(("zoom"===B.trigger&&"xy"===T||re&&"xy"===_)&&this.options.range){let z=E.previousZoom;fe(B.min)?E.previousZoom=[this.min,this.max]:z&&(B.min=z[0],B.max=z[1],E.previousZoom=void 0)}void 0!==F&&B.preventDefault()}class A{static compose(F){F.keepProps.includes("navigatorAxis")||(F.keepProps.push("navigatorAxis"),ve(F,"init",te),ve(F,"setExtremes",$))}constructor(F){this.axis=F}destroy(){this.axis=void 0}toFixedRange(F,L,D,I){let E=this.axis,_=E.chart,b=J(E.ordinal?.convertOverscroll(E.options.overscroll),0),T=J(D,E.translate(F,!0,!E.horiz)),z=J(I,E.translate(L,!0,!E.horiz)),O=_&&_.fixedRange,f=(E.pointRange||0)/2;if(fe(D)||(T=le(T+f)),fe(I)||(z=le(z-f)),O&&E.dataMin&&E.dataMax){let a=E.dataMax+b;z>=a&&(T=le(a-O),z=le(a)),T<=E.dataMin&&(z=le(E.dataMin+O))}return pe(T)&&pe(z)||(T=z=void 0),{min:T,max:z}}}return A}),Pe(V,"Stock/Navigator/NavigatorDefaults.js",[V["Core/Color/Color.js"],V["Core/Series/SeriesRegistry.js"]],function(Z,ie){let{parse:re}=Z,{seriesTypes:ve}=ie;return{height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:re("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===ve.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}),Pe(V,"Stock/Navigator/NavigatorSymbols.js",[],function(){return{"navigator-handle":function(Z,ie,re,ve,le={}){let fe=le.width?le.width/2:re,pe=Math.round(fe/3)+.5;return[["M",-fe-1,.5],["L",fe,.5],["L",fe,(ve=le.height||ve)+.5],["L",-fe-1,ve+.5],["L",-fe-1,.5],["M",-pe,4],["L",-pe,ve-3],["M",pe-1,4],["L",pe-1,ve-3]]}}}),Pe(V,"Stock/Utilities/StockUtilities.js",[V["Core/Utilities.js"]],function(Z){let{defined:ie}=Z;return{setFixedRange:function(re){let ve=this.xAxis[0];this.fixedRange=ie(ve.dataMax)&&ie(ve.dataMin)&&re?Math.min(re,ve.dataMax-ve.dataMin):re}}}),Pe(V,"Stock/Navigator/NavigatorComposition.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Axis/NavigatorAxisComposition.js"],V["Stock/Navigator/NavigatorDefaults.js"],V["Stock/Navigator/NavigatorSymbols.js"],V["Core/Renderer/RendererRegistry.js"],V["Stock/Utilities/StockUtilities.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe,pe,J){let{setOptions:te}=Z,{composed:$}=ie,{getRendererType:A}=fe,{setFixedRange:B}=pe,{addEvent:F,extend:L,pushUnique:D}=J;function I(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(E,_,b){re.compose(_),D($,"Navigator")&&(E.prototype.setFixedRange=B,L(A().prototype.symbols,le),F(b,"afterUpdate",I),te({navigator:ve}))}}}),Pe(V,"Core/Axis/ScrollbarAxis.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(Z,ie){var re;let{composed:ve}=Z,{addEvent:le,defined:fe,pick:pe,pushUnique:J}=ie;return function(te){let $;function A(D){let I=pe(D.options&&D.options.min,D.min),E=pe(D.options&&D.options.max,D.max);return{axisMin:I,axisMax:E,scrollMin:fe(D.dataMin)?Math.min(I,D.min,D.dataMin,pe(D.threshold,1/0)):I,scrollMax:fe(D.dataMax)?Math.max(E,D.max,D.dataMax,pe(D.threshold,-1/0)):E}}function B(){let D=this.scrollbar,E=this.horiz?2:D&&!D.options.opposite?3:1;D&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[E]+=D.size+(D.options.margin||0))}function F(){let D=this;D.options&&D.options.scrollbar&&D.options.scrollbar.enabled&&(D.options.scrollbar.vertical=!D.horiz,D.options.startOnTick=D.options.endOnTick=!1,D.scrollbar=new $(D.chart.renderer,D.options.scrollbar,D.chart),le(D.scrollbar,"changed",function(I){let E,_,{axisMin:b,axisMax:T,scrollMin:z,scrollMax:O}=A(D),f=O-z;fe(b)&&fe(T)&&(D.horiz&&!D.reversed||!D.horiz&&D.reversed?(E=z+f*this.to,_=z+f*this.from):(E=z+f*(1-this.from),_=z+f*(1-this.to)),this.shouldUpdateExtremes(I.DOMType)?D.setExtremes(_,E,!0,"mousemove"!==I.DOMType&&"touchmove"!==I.DOMType&&void 0,I):this.setRange(this.from,this.to))}))}function L(){let D,I,E,{scrollMin:_,scrollMax:b}=A(this),T=this.scrollbar,z=this.axisTitleMargin+(this.titleOffset||0),O=this.chart.scrollbarsOffsets,f=this.options.margin||0;if(T&&O){if(this.horiz)this.opposite||(O[1]+=z),T.position(this.left,this.top+this.height+2+O[1]-(this.opposite?f:0),this.width,this.height),this.opposite||(O[1]+=f),D=1;else{let a;this.opposite&&(O[0]+=z),a=T.options.opposite?this.left+this.width+2+O[0]-(this.opposite?0:f):this.opposite?0:f,T.position(a,this.top,this.width,this.height),this.opposite&&(O[0]+=f),D=0}O[D]+=T.size+(T.options.margin||0),isNaN(_)||isNaN(b)||!fe(this.min)||!fe(this.max)||this.min===this.max?T.setRange(0,1):(I=(this.min-_)/(b-_),E=(this.max-_)/(b-_),this.horiz&&!this.reversed||!this.horiz&&this.reversed?T.setRange(I,E):T.setRange(1-E,1-I))}}te.compose=function(D,I){J(ve,"Axis.Scrollbar")&&($=I,le(D,"afterGetOffset",B),le(D,"afterInit",F),le(D,"afterRender",L))}}(re||(re={})),re}),Pe(V,"Stock/Scrollbar/ScrollbarDefaults.js",[],function(){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}}),Pe(V,"Stock/Scrollbar/Scrollbar.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Axis/ScrollbarAxis.js"],V["Stock/Scrollbar/ScrollbarDefaults.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le){let{defaultOptions:fe}=Z,{addEvent:pe,correctFloat:J,defined:te,destroyObjectProperties:$,fireEvent:A,merge:B,pick:F,removeEvent:L}=le;class D{static compose(E){re.compose(E,D)}static swapXY(E,_){return _&&E.forEach(b=>{let T,z=b.length;for(let O=0;Othis.calculatedWidth?_.minWidth:0;return{chartX:(E.chartX-this.x-this.xOffset)/(this.barWidth-b),chartY:(E.chartY-this.y-this.yOffset)/(this.barWidth-b)}}destroy(){let E=this,_=E.chart.scroller;E.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(b){E[b]&&E[b].destroy&&(E[b]=E[b].destroy())}),_&&E===_.scrollbar&&(_.scrollbar=null,$(_.scrollbarButtons))}drawScrollbarButton(E){let _=this.renderer,b=this.scrollbarButtons,T=this.options,z=this.size,O=_.g().add(this.group);if(b.push(O),T.buttonsEnabled){let f=_.rect().addClass("highcharts-scrollbar-button").add(O);this.chart.styledMode||f.attr({stroke:T.buttonBorderColor,"stroke-width":T.buttonBorderWidth,fill:T.buttonBackgroundColor}),f.attr(f.crisp({x:-.5,y:-.5,width:z+1,height:z+1,r:T.buttonBorderRadius},f.strokeWidth()));let a=_.path(D.swapXY([["M",z/2+(E?-1:1),z/2-3],["L",z/2+(E?-1:1),z/2+3],["L",z/2+(E?2:-2),z/2]],T.vertical)).addClass("highcharts-scrollbar-arrow").add(b[E]);this.chart.styledMode||a.attr({fill:T.buttonArrowColor})}}init(E,_,b){this.scrollbarButtons=[],this.renderer=E,this.userOptions=_,this.options=B(ve,fe.scrollbar,_),this.options.margin=F(this.options.margin,10),this.chart=b,this.size=F(this.options.size,this.options.height),_.enabled&&(this.render(),this.addEvents())}mouseDownHandler(E){let _=this.chart.pointer?.normalize(E)||E,b=this.cursorToScrollbarPosition(_);this.chartX=b.chartX,this.chartY=b.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(E){let _,b=this.chart.pointer?.normalize(E)||E,T=this.options.vertical?"chartY":"chartX",z=this.initPositions||[];this.grabbedCenter&&(!E.touches||0!==E.touches[0][T])&&(_=this.cursorToScrollbarPosition(b)[T]-this[T],this.hasDragged=!0,this.updatePosition(z[0]+_,z[1]+_),this.hasDragged&&A(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:E.type,DOMEvent:E}))}mouseUpHandler(E){this.hasDragged&&A(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:E.type,DOMEvent:E}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(E,_,b,T){let{buttonsEnabled:z,margin:O=0,vertical:f}=this.options,a=this.rendered?"animate":"attr",g=T,y=0;this.group.show(),this.x=E,this.y=_+this.trackBorderWidth,this.width=b,this.height=T,this.xOffset=g,this.yOffset=y,f?(this.width=this.yOffset=b=y=this.size,this.xOffset=g=0,this.yOffset=y=z?this.size:0,this.barWidth=T-(z?2*b:0),this.x=E+=O):(this.height=T=this.size,this.xOffset=g=z?this.size:0,this.barWidth=b-(z?2*T:0),this.y=this.y+O),this.group[a]({translateX:E,translateY:this.y}),this.track[a]({width:b,height:T}),this.scrollbarButtons[1][a]({translateX:f?0:b-g,translateY:f?T-y:0})}removeEvents(){this._events.forEach(function(E){L.apply(null,E)}),this._events.length=0}render(){let E=this.renderer,_=this.options,b=this.size,T=this.chart.styledMode,z=E.g("scrollbar").attr({zIndex:_.zIndex}).hide().add();this.group=z,this.track=E.rect().addClass("highcharts-scrollbar-track").attr({r:_.trackBorderRadius||0,height:b,width:b}).add(z),T||this.track.attr({fill:_.trackBackgroundColor,stroke:_.trackBorderColor,"stroke-width":_.trackBorderWidth});let O=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-O%2/2,y:-O%2/2}),this.scrollbarGroup=E.g().add(z),this.scrollbar=E.rect().addClass("highcharts-scrollbar-thumb").attr({height:b-O,width:b-O,r:_.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=E.path(D.swapXY([["M",-3,b/4],["L",-3,2*b/3],["M",0,b/4],["L",0,2*b/3],["M",3,b/4],["L",3,2*b/3]],_.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),T||(this.scrollbar.attr({fill:_.barBackgroundColor,stroke:_.barBorderColor,"stroke-width":_.barBorderWidth}),this.scrollbarRifles.attr({stroke:_.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(E,_){let b,T,z=this.options,O=z.vertical,f=z.minWidth,a=this.barWidth,g=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!te(a))return;let y=a*Math.min(_,1);b=Math.ceil(a*(E=Math.max(E,0))),this.calculatedWidth=T=J(y-b),T=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(E){return F(this.options.liveRedraw,ie.svg&&!ie.isTouchDevice&&!this.chart.boosted)||"mouseup"===E||"touchend"===E||!te(E)}trackClick(E){let _=this.chart.pointer?.normalize(E)||E,b=this.to-this.from;this.options.vertical&&_.chartY>this.y+this.scrollbarTop||!this.options.vertical&&_.chartX>this.x+this.scrollbarLeft?this.updatePosition(this.from+b,this.to+b):this.updatePosition(this.from-b,this.to-b),A(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:E})}update(E){this.destroy(),this.init(this.chart.renderer,B(!0,this.options,E),this.chart)}updatePosition(E,_){_>1&&(E=J(1-J(_-E)),_=1),E<0&&(_=J(_-E),E=0),this.from=E,this.to=_}}return D.defaultOptions=ve,fe.scrollbar=B(!0,D.defaultOptions,fe.scrollbar),D}),Pe(V,"Stock/Navigator/Navigator.js",[V["Core/Axis/Axis.js"],V["Stock/Navigator/ChartNavigatorComposition.js"],V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Axis/NavigatorAxisComposition.js"],V["Stock/Navigator/NavigatorComposition.js"],V["Stock/Scrollbar/Scrollbar.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe,pe,J){let{defaultOptions:te}=re,{isTouchDevice:$}=ve,{addEvent:A,clamp:B,correctFloat:F,defined:L,destroyObjectProperties:D,erase:I,extend:E,find:_,fireEvent:b,isArray:T,isNumber:z,merge:O,pick:f,removeEvent:a,splat:g}=J;function y(n,...r){let l=[].filter.call(r,z);if(l.length)return Math[n].apply(0,l)}class o{static compose(r,l,d){ie.compose(r,o),fe.compose(r,l,d)}constructor(r){this.scrollbarHeight=0,this.init(r)}drawHandle(r,l,d,C){let k=this.navigatorOptions.handles.height;this.handles[l][C](d?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(r,10)+.5-k)}:{translateX:Math.round(this.left+parseInt(r,10)),translateY:Math.round(this.top+this.height/2-k/2-1)})}drawOutline(r,l,d,C){let x,N,k=this.navigatorOptions.maskInside,p=this.outline.strokeWidth(),S=p/2,j=p%2/2,H=this.scrollButtonSize,Y=this.size,U=this.top,se=this.height,w=U-S,X=U+se,G=this.left;d?(x=U+l+j,N=[["M",G+se,U-H-j],["L",G+se,x],["L",G,x],["M",G,l=U+r+j],["L",G+se,l],["L",G+se,U+Y+H]],k&&N.push(["M",G+se,x-S],["L",G+se,l+S])):(G-=H,N=[["M",G,w],["L",r+=G+H-j,w],["L",r,X],["M",l+=G+H-j,X],["L",l,w],["L",G+Y+2*H,U+S]],k&&N.push(["M",r-S,w],["L",l+S,w])),this.outline[C]({d:N})}drawMasks(r,l,d,C){let k,p,S,j,H=this.left,Y=this.top,U=this.height;d?(S=[H,H,H],j=[Y,Y+r,Y+l],p=[U,U,U],k=[r,l-r,this.size-l]):(S=[H,H+r,H+l],j=[Y,Y,Y],p=[r,l-r,this.size-l],k=[U,U,U]),this.shades.forEach((se,w)=>{se[C]({x:S[w],y:j[w],width:p[w],height:k[w]})})}renderElements(){let r=this,l=r.navigatorOptions,d=l.maskInside,C=r.chart,p=C.renderer,S={cursor:C.inverted?"ns-resize":"ew-resize"},j=r.navigatorGroup=p.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();if([!d,d,!d].forEach((H,Y)=>{let U=p.rect().addClass("highcharts-navigator-mask"+(1===Y?"-inside":"-outside")).add(j);C.styledMode||(U.attr({fill:H?l.maskFill:"rgba(0,0,0,0)"}),1===Y&&U.css(S)),r.shades[Y]=U}),r.outline=p.path().addClass("highcharts-navigator-outline").add(j),C.styledMode||r.outline.attr({"stroke-width":l.outlineWidth,stroke:l.outlineColor}),l.handles&&l.handles.enabled){let H=l.handles,{height:Y,width:U}=H;[0,1].forEach(se=>{r.handles[se]=p.symbol(H.symbols[se],-U/2-1,0,U,Y,H),C.inverted&&r.handles[se].attr({rotation:90,rotationOriginX:Math.floor(-U/2),rotationOriginY:(Y+U)/2}),r.handles[se].attr({zIndex:7-se}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][se]).add(j),C.styledMode||r.handles[se].attr({fill:H.backgroundColor,stroke:H.borderColor,"stroke-width":H.lineWidth}).css(S)})}}update(r){(this.series||[]).forEach(l=>{l.baseSeries&&delete l.baseSeries.navigatorSeries}),this.destroy(),O(!0,this.chart.options.navigator,r),this.init(this.chart)}render(r,l,d,C){let G,x,N,K,q,k=this.chart,p=this.xAxis,S=p.pointRange||0,j=p.navigatorAxis.fake?k.xAxis[0]:p,H=this.navigatorEnabled,Y=this.rendered,U=k.inverted,se=k.xAxis[0].minRange,w=k.xAxis[0].options.maxRange,X=this.scrollButtonSize,R=this.scrollbarHeight;if(this.hasDragged&&!L(d))return;if(r=F(r-S/2),l=F(l+S/2),!z(r)||!z(l)){if(!Y)return;d=0,C=f(p.width,j.width)}this.left=f(p.left,k.plotLeft+X+(U?k.plotWidth:0));let he=this.size=K=f(p.len,(U?k.plotHeight:k.plotWidth)-2*X);G=U?R:K+2*X,d=f(d,p.toPixels(r,!0)),C=f(C,p.toPixels(l,!0)),z(d)&&Math.abs(d)!==1/0||(d=0,C=G);let me=p.toValue(d,!0),Ce=p.toValue(C,!0),Se=Math.abs(F(Ce-me));Sew&&(this.grabbedLeft?d=p.toPixels(Ce-w-S,!0):this.grabbedRight&&(C=p.toPixels(me+w+S,!0))),this.zoomedMax=B(Math.max(d,C),0,he),this.zoomedMin=B(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(d,C),0,he),this.range=this.zoomedMax-this.zoomedMin,he=Math.round(this.zoomedMax);let Oe=Math.round(this.zoomedMin);H&&(this.navigatorGroup.attr({visibility:"inherit"}),q=Y&&!this.hasDragged?"animate":"attr",this.drawMasks(Oe,he,U,q),this.drawOutline(Oe,he,U,q),this.navigatorOptions.handles.enabled&&(this.drawHandle(Oe,0,U,q),this.drawHandle(he,1,U,q))),this.scrollbar&&(U?(N=this.top-X,x=this.left-R+(H||!j.opposite?0:(j.titleOffset||0)+j.axisTitleMargin),R=K+2*X):(N=this.top+(H?this.height:-R),x=this.left-X),this.scrollbar.position(x,N,G,R),this.scrollbar.setRange(this.zoomedMin/(K||1),this.zoomedMax/(K||1))),this.rendered=!0,b(this,"afterRender")}addMouseEvents(){let k,p,r=this,l=r.chart,d=l.container,C=[];r.mouseMoveHandler=k=function(S){r.onMouseMove(S)},r.mouseUpHandler=p=function(S){r.onMouseUp(S)},(C=r.getPartsEvents("mousedown")).push(A(l.renderTo,"mousemove",k),A(d.ownerDocument,"mouseup",p),A(l.renderTo,"touchmove",k),A(d.ownerDocument,"touchend",p)),C.concat(r.getPartsEvents("touchstart")),r.eventsToUnbind=C,r.series&&r.series[0]&&C.push(A(r.series[0].xAxis,"foundExtremes",function(){l.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(r){let l=this,d=[];return["shades","handles"].forEach(function(C){l[C].forEach(function(k,p){d.push(A(k.element,r,function(S){l[C+"Mousedown"](S,p)}))})}),d}shadesMousedown(r,l){r=this.chart.pointer?.normalize(r)||r;let Y,U,se,w,C=this.xAxis,k=this.zoomedMin,p=this.size,S=this.range,j=this.left,H=r.chartX;this.chart.inverted&&(H=r.chartY,j=this.top),1===l?(this.grabbedCenter=H,this.fixedWidth=S,this.dragOffset=H-k):(w=H-j-S/2,0===l?w=Math.max(0,w):2===l&&w+S>=p&&(w=p-S,this.reversedExtremes?(w-=S,U=this.getUnionExtremes().dataMin):Y=this.getUnionExtremes().dataMax),w!==k&&(this.fixedWidth=S,L((se=C.navigatorAxis.toFixedRange(w,w+S,U,Y)).min)&&b(this,"setRange",{min:Math.min(se.min,se.max),max:Math.max(se.min,se.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(r,l){r=this.chart.pointer?.normalize(r)||r;let d=this.chart,C=d.xAxis[0],k=this.reversedExtremes;0===l?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=k?C.min:C.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=k?C.max:C.min),d.setFixedRange(void 0)}onMouseMove(r){let H,l=this,d=l.chart,C=l.navigatorSize,k=l.range,p=l.dragOffset,S=d.inverted,j=l.left;(!r.touches||0!==r.touches[0].pageX)&&(H=(r=d.pointer?.normalize(r)||r).chartX,S&&(j=l.top,H=r.chartY),l.grabbedLeft?(l.hasDragged=!0,l.render(0,0,H-j,l.otherHandlePos)):l.grabbedRight?(l.hasDragged=!0,l.render(0,0,l.otherHandlePos,H-j)):l.grabbedCenter&&(l.hasDragged=!0,HC+p-k&&(H=C+p-k),l.render(0,0,H-p,H-p+k)),l.hasDragged&&l.scrollbar&&f(l.scrollbar.options.liveRedraw,!$&&!this.chart.boosted)&&(r.DOMType=r.type,setTimeout(function(){l.onMouseUp(r)},0)))}onMouseUp(r){let l,d,C,k,p,S,H=this.xAxis,Y=this.scrollbar,U=r.DOMEvent||r,se=this.chart.inverted,w=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!Y||!Y.hasDragged)||"scrollbar"===r.trigger)&&(C=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?k=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(p=this.fixedExtreme),this.zoomedMax===this.size&&(p=this.reversedExtremes?C.dataMin:C.dataMax),0===this.zoomedMin&&(k=this.reversedExtremes?C.dataMax:C.dataMin),L((S=H.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,k,p)).min)&&b(this,"setRange",{min:Math.min(S.min,S.max),max:Math.max(S.min,S.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:U}})),"mousemove"!==r.DOMType&&"touchmove"!==r.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&z(this.zoomedMin)&&z(this.zoomedMax)&&(d=Math.round(this.zoomedMin),l=Math.round(this.zoomedMax),this.shades&&this.drawMasks(d,l,se,w),this.outline&&this.drawOutline(d,l,se,w),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(d,0,se,w),this.drawHandle(l,1,se,w)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(r){r()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let r=this.baseSeries||[];this.navigatorEnabled&&r[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&r.forEach(function(l){a(l,"updatedData",this.updatedDataHandler)},this),r[0].xAxis&&a(r[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}init(r){let l=r.options,d=l.navigator||{},C=d.enabled,k=l.scrollbar||{},p=k.enabled,S=C&&d.height||0,j=p&&k.height||0,H=k.buttonsEnabled&&j||0;this.handles=[],this.shades=[],this.chart=r,this.setBaseSeries(),this.height=S,this.scrollbarHeight=j,this.scrollButtonSize=H,this.scrollbarEnabled=p,this.navigatorEnabled=C,this.navigatorOptions=d,this.scrollbarOptions=k,this.opposite=f(d.opposite,!(C||!r.inverted));let Y=this,U=Y.baseSeries,se=r.xAxis.length,w=r.yAxis.length,X=U&&U[0]&&U[0].xAxis||r.xAxis[0]||{options:{}};if(r.isDirtyBox=!0,Y.navigatorEnabled?(Y.xAxis=new Z(r,O({breaks:X.options.breaks,ordinal:X.options.ordinal,overscroll:X.options.overscroll},d.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",type:"datetime",index:se,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},r.inverted?{offsets:[H,0,-H,0],width:S}:{offsets:[0,-H,0,H],height:S}),"xAxis"),Y.yAxis=new Z(r,O(d.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:w,isInternal:!0,reversed:f(d.yAxis&&d.yAxis.reversed,r.yAxis[0]&&r.yAxis[0].reversed,!1),zoomEnabled:!1},r.inverted?{width:S}:{height:S}),"yAxis"),U||d.series.data?Y.updateNavigatorSeries(!1):0===r.series.length&&(Y.unbindRedraw=A(r,"beforeRedraw",function(){r.series.length>0&&!Y.series&&(Y.setBaseSeries(),Y.unbindRedraw())})),Y.reversedExtremes=r.inverted&&!Y.xAxis.reversed||!r.inverted&&Y.xAxis.reversed,Y.renderElements(),Y.addMouseEvents()):(Y.xAxis={chart:r,navigatorAxis:{fake:!0},translate:function(G,x){let N=r.xAxis[0],R=N.getExtremes(),K=N.len-2*H,q=y("min",N.options.min,R.dataMin),he=y("max",N.options.max,R.dataMax)-q;return x?G*he/K+q:K*(G-q)/he},toPixels:function(G){return this.translate(G)},toValue:function(G){return this.translate(G,!0)}},Y.xAxis.navigatorAxis.axis=Y.xAxis,Y.xAxis.navigatorAxis.toFixedRange=le.prototype.toFixedRange.bind(Y.xAxis.navigatorAxis)),r.options.scrollbar.enabled){let G=O(r.options.scrollbar,{vertical:r.inverted});!z(G.margin)&&Y.navigatorEnabled&&(G.margin=r.inverted?-3:3),r.scrollbar=Y.scrollbar=new pe(r.renderer,G,r),A(Y.scrollbar,"changed",function(x){let N=Y.size,R=N*this.to,K=N*this.from;Y.hasDragged=Y.scrollbar.hasDragged,Y.render(0,0,K,R),this.shouldUpdateExtremes(x.DOMType)&&setTimeout(function(){Y.onMouseUp(x)})})}Y.addBaseSeriesEvents(),Y.addChartEvents()}getUnionExtremes(r){let l,d=this.chart.xAxis[0],C=this.xAxis,k=C.options,p=d.options;return r&&null===d.dataMin||(l={dataMin:f(k&&k.min,y("min",p.min,d.dataMin,C.dataMin,C.min)),dataMax:f(k&&k.max,y("max",p.max,d.dataMax,C.dataMax,C.max))}),l}setBaseSeries(r,l){let d=this.chart,C=this.baseSeries=[];r=r||d.options&&d.options.navigator.baseSeries||(d.series.length?_(d.series,k=>!k.options.isInternal).index:0),(d.series||[]).forEach((k,p)=>{!k.options.isInternal&&(k.options.showInNavigator||(p===r||k.options.id===r)&&!1!==k.options.showInNavigator)&&C.push(k)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,l)}updateNavigatorSeries(r,l){let j,H,U,d=this,C=d.chart,k=d.baseSeries,p={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},S=d.series=(d.series||[]).filter(se=>{let w=se.baseSeries;return!(0>k.indexOf(w)&&(w&&(a(w,"updatedData",d.updatedDataHandler),delete w.navigatorSeries),se.chart&&se.destroy(),1))}),Y=d.navigatorOptions.series;k&&k.length&&k.forEach(se=>{let w=se.navigatorSeries,X=E({color:se.color,visible:se.visible},T(Y)?te.navigator.series:Y);if(w&&!1===d.navigatorOptions.adaptToUpdatedData)return;p.name="Navigator "+k.length,U=(j=se.options||{}).navigatorOptions||{},X.dataLabels=g(X.dataLabels),(H=O(j,p,X,U)).pointRange=f(X.pointRange,U.pointRange,te.plotOptions[H.type||"line"].pointRange);let G=U.data||X.data;d.hasNavigatorData=d.hasNavigatorData||!!G,H.data=G||j.data&&j.data.slice(0),w&&w.options?w.update(H,l):(se.navigatorSeries=C.initSeries(H),C.setSortedData(),se.navigatorSeries.baseSeries=se,S.push(se.navigatorSeries))}),(Y.data&&!(k&&k.length)||T(Y))&&(d.hasNavigatorData=!1,(Y=g(Y)).forEach((se,w)=>{p.name="Navigator "+(S.length+1),(H=O(te.navigator.series,{color:C.series[w]&&!C.series[w].options.isInternal&&C.series[w].color||C.options.colors[w]||C.options.colors[0]},p,se)).data=se.data,H.data&&(d.hasNavigatorData=!0,S.push(C.initSeries(H)))})),r&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let r=this,l=r.baseSeries||[];l[0]&&l[0].xAxis&&l[0].eventsToUnbind.push(A(l[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),l.forEach(d=>{d.eventsToUnbind.push(A(d,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),d.eventsToUnbind.push(A(d,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&d.xAxis&&d.eventsToUnbind.push(A(d,"updatedData",this.updatedDataHandler)),d.eventsToUnbind.push(A(d,"remove",function(){this.navigatorSeries&&(I(r.series,this.navigatorSeries),L(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(r){return this.baseSeries.reduce(function(l,d){return Math.min(l,d.xData&&d.xData.length?d.xData[0]:l)},r)}modifyNavigatorAxisExtremes(){let r=this.xAxis;if(void 0!==r.getExtremes){let l=this.getUnionExtremes(!0);l&&(l.dataMin!==r.min||l.dataMax!==r.max)&&(r.min=l.dataMin,r.max=l.dataMax)}}modifyBaseAxisExtremes(){let r,l,d=this.chart.navigator,C=this.getExtremes(),S=C.dataMin,j=C.dataMax,H=C.max-C.min,Y=d.stickToMin,U=d.stickToMax,se=f(this.ordinal?.convertOverscroll(this.options.overscroll),0),w=d.series&&d.series[0],X=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(Y&&(r=(l=S)+H),U&&(r=j+se,Y||(l=Math.max(S,r-H,d.getBaseSeriesMin(w&&w.xData?w.xData[0]:-Number.MAX_VALUE)))),X&&(Y||U)&&z(l)&&(this.min=this.userMin=l,this.max=this.userMax=r)),d.stickToMin=d.stickToMax=null}updatedDataHandler(){let r=this.chart.navigator,l=this.navigatorSeries,d=r.reversedExtremes?0===Math.round(r.zoomedMin):Math.round(r.zoomedMax)>=Math.round(r.size);r.stickToMax=f(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,d),r.stickToMin=r.shouldStickToMin(this,r),l&&!r.hasNavigatorData&&(l.options.pointStart=this.xData[0],l.setData(this.options.data,!1,null,!1))}shouldStickToMin(r,l){let d=l.getBaseSeriesMin(r.xData[0]),C=r.xAxis,k=C.max,p=C.min,S=C.options.range;return!(!z(k)||!z(p))&&(S&&k-d>0?k-d{r.destroy&&r.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(r=>{this[r]&&this[r].destroy&&this[r].destroy(),this[r]=null}),[this.handles].forEach(r=>{D(r)})}}return o}),Pe(V,"Core/Axis/OrdinalAxis.js",[V["Core/Axis/Axis.js"],V["Core/Globals.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){var le;let{addEvent:fe,correctFloat:pe,css:J,defined:te,error:$,isNumber:A,pick:B,timeUnits:F,isString:L}=ve;return function(D){function I(n,r,l,d,C=[],k=0,p){let U,se,w,X,G,S={},j=this.options.tickPixelInterval,H=this.chart.time,Y=[],x=0,N=[],R=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!C||C.length<3||void 0===r)return H.getTimeTicks.apply(H,arguments);let K=C.length;for(U=0;Ul,C[U]5*k||G){if(C[U]>R){for(se=H.getTimeTicks(n,C[x],C[U],d);se.length&&se[0]<=R;)se.shift();se.length&&(R=se[se.length-1]),Y.push(N.length),N=N.concat(se)}x=U+1}if(G)break}if(se){if(X=se.info,p&&X.unitRange<=F.hour){for(x=1,U=N.length-1;xl?q-1:q,Oe=void 0;oe--;)Fe=Math.abs(Oe-(Se=he[oe])),Oe&&Fe<.8*j&&(null===Ae||Fe<.8*Ae)?(S[N[oe]]&&!S[N[oe+1]]?(Ce=oe+1,Oe=Se):Ce=oe,N.splice(Ce,1)):Oe=Se}return N}function E(n){let r=this.ordinal.positions;if(!r)return n;let d,l=r.length-1;return n<0?n=r[0]:n>l?n=r[l]:(l=Math.floor(n),d=n-l),void 0!==d&&void 0!==r[l]?r[l]+(d?d*(r[l+1]-r[l]):0):n}function _(n){let r=this.ordinal,l=this.old?this.old.min:this.min,d=this.old?this.old.transA:this.transA,C=r.getExtendedPositions();if(C&&C.length){let k=pe((n-l)*d+this.minPixelPadding),p=pe(r.getIndexOfPoint(k,C)),S=pe(p%1);if(p>=0&&p<=C.length-1){let j=C[Math.floor(p)],H=C[Math.ceil(p)];return C[Math.floor(p)]+S*(H-j)}}return n}function b(n,r){let l=D.Additions.findIndexOf(n,r,!0);return n[l]===r?l:l+(r-n[l])/(n[l+1]-n[l])}function T(){this.ordinal||(this.ordinal=new D.Additions(this))}function z(){let{eventArgs:n,options:r}=this;if(this.isXAxis&&te(r.overscroll)&&0!==r.overscroll&&A(this.max)&&A(this.min)&&(this.options.ordinal&&!this.ordinal.originalOrdinalRange&&this.ordinal.getExtendedPositions(!1),this.max===this.dataMax&&("pan"!==n?.trigger||this.isInternal)&&"navigator"!==n?.trigger)){let l=this.ordinal.convertOverscroll(r.overscroll);this.max+=l,!this.isInternal&&te(this.userMin)&&"mousewheel"!==n?.trigger&&(this.min+=l)}}function O(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function f(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function a(n){let r=this.xAxis[0],l=r.ordinal.convertOverscroll(r.options.overscroll),d=n.originalEvent.chartX,C=this.options.chart.panning,k=!1;if(C&&"y"!==C.type&&r.options.ordinal&&r.series.length){let p,S,j=this.mouseDownX,H=r.getExtremes(),Y=H.dataMax,U=H.min,se=H.max,w=this.hoverPoints,G=Math.round((j-d)/(r.translationSlope*(r.ordinal.slope||r.closestPointRange||r.ordinal&&r.ordinal.overscrollPointsRange))),x=r.ordinal.getExtendedPositions(),N={ordinal:{positions:x,extendedOrdinalPositions:x}},R=r.index2val,K=r.val2lin;N.ordinal.positions?Math.abs(G)>1&&(w&&w.forEach(function(q){q.setState()}),Y>(S=N.ordinal.positions)[S.length-1]&&S.push(Y),this.setFixedRange(se-U),(p=r.navigatorAxis.toFixedRange(void 0,void 0,R.apply(N,[K.apply(N,[U,!0])+G]),R.apply(N,[K.apply(N,[se,!0])+G]))).min>=Math.min(H.dataMin,U)&&p.max<=Math.max(Y,se)+l&&r.setExtremes(p.min,p.max,!0,!1,{trigger:"pan"}),this.mouseDownX=d,J(this.container,{cursor:"move"})):k=!0}else k=!0;k||C&&/y/.test(C.type)?l&&(r.max=r.dataMax+l):n.preventDefault()}function g(){let n=this.xAxis;n&&n.options.ordinal&&(delete n.ordinal.index,delete n.ordinal.originalOrdinalRange)}function y(n,r){let l,p,d=this.ordinal,C=d.positions,k=d.slope;if(!C)return n;if(C[0]<=n&&C[C.length-1]>=n)l=b(C,n);else{if(!(p=d.getExtendedPositions&&d.getExtendedPositions())||!p.length)return n;let j=p.length;k||(k=(p[j-1]-p[0])/j);let H=b(p,C[0]);if(n>=p[0]&&n<=p[j-1])l=b(p,n)-H;else{if(!r)return n;l=n0&&"highcharts-navigator-series"!==he.options.id&&he.processedXData.length>1&&(R=q!==he.processedXData[1]-he.processedXData[0]),q=he.processedXData[1]-he.processedXData[0],he.boosted&&(K=he.boosted),he.reserveSpace()&&(!1!==he.takeOrdinalPosition||p)&&(j=(G=G.concat(he.processedXData)).length,G.sort(function(Ce,Se){return Ce-Se}),x=Math.min(x,B(he.closestPointRange,x)),j)){for(me=0;me2){for(Y=G[1]-G[0],X=j-1;X--&&!N;)G[X+1]-G[X]!==Y&&(N=!0);!r.options.keepOrdinalPadding&&(G[0]-C>Y||k-G[G.length-1]>Y)&&(N=!0)}else r.options.overscroll&&(2===j?x=G[1]-G[0]:1===j?(x=r.ordinal.convertOverscroll(r.options.overscroll),G=[G[0],G[0]+x]):x=l.overscrollPointsRange);N||r.forceOrdinal?(r.options.overscroll&&(l.overscrollPointsRange=x,G=G.concat(l.getOverscrollPositions())),l.positions=G,U=r.ordinal2lin(Math.max(C,G[0]),!0),se=Math.max(r.ordinal2lin(Math.min(k,G[G.length-1]),!0),1),l.slope=w=(k-C)/(se-U),l.offset=C-U*w):(l.overscrollPointsRange=B(r.closestPointRange,l.overscrollPointsRange),l.positions=r.ordinal.slope=l.offset=void 0)}r.isOrdinal=S&&N,l.groupIntervalFactor=null}static findIndexOf(r,l,d){let p,C=0,k=r.length-1;for(;C{let Y=H.points?.[0];te(Y?.plotX)&&(Y.plotXse.x>=Y&&se.x<=U)}(H)&&(d=Y.plotX,k=Y.x)}),d??(d=C.minPixelPadding);let j=pe((r-d)/(C.translationSlope*(this.slope||C.closestPointRange||this.overscrollPointsRange)));return o.findIndexOf(l,k,!0)+j}getOverscrollPositions(){let r=this.axis,l=this.convertOverscroll(r.options.overscroll),d=this.overscrollPointsRange,C=[],k=r.dataMax;if(te(d))for(;k<=r.dataMax+l;)C.push(k+=d);return C}postProcessTickInterval(r){let l=this.axis,d=this.slope;return d?l.options.breaks?l.closestPointRange||r:r/(d/l.closestPointRange):r}convertOverscroll(r=0){let l=this,d=l.axis,C=function(k){return B(l.originalOrdinalRange,te(d.dataMax)&&te(d.dataMin)?d.dataMax-d.dataMin:0)*k};if(L(r)){let k=parseInt(r,10);if(/%$/.test(r))return C(k/100);if(/px/.test(r)){let p=Math.min(k,.9*d.len)/d.len;return C(p/(1-p))}return 0}return r}}D.Additions=o}(le||(le={})),le}),Pe(V,"Stock/RangeSelector/RangeSelectorDefaults.js",[],function(){return{lang:{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"\u2192"},rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%e %b %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#334eff",cursor:"pointer",fontSize:"0.8em"},labelStyle:{color:"#666666",fontSize:"0.8em"}}}}),Pe(V,"Stock/RangeSelector/RangeSelectorComposition.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Stock/RangeSelector/RangeSelectorDefaults.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){let le,{defaultOptions:fe}=Z,{composed:pe}=ie,{addEvent:J,defined:te,extend:$,find:A,isNumber:B,merge:F,pick:L,pushUnique:D}=ve,I=[];function E(){let g,y,o=this.range,n=o.type,r=this.max,l=this.chart.time,d=function(k,p){let S="year"===n?"FullYear":"Month",j=new l.Date(k),H=l.get(S,j);return l.set(S,j,H+p),H===l.get(S,j)&&l.set("Date",j,0),j.getTime()-k};B(o)?(g=r-o,y=o):o&&(g=r+d(r,-(o.count||1)),this.chart&&this.chart.setFixedRange(r-g));let C=L(this.dataMin,Number.MIN_VALUE);return B(g)||(g=C),g<=C&&(g=C,void 0===y&&(y=d(g,o.count)),this.newMax=Math.min(g+y,L(this.dataMax,Number.MAX_VALUE))),B(r)?!B(o)&&o&&o._offsetMin&&(g+=o._offsetMin):g=void 0,g}function _(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new le(this))}function b(){let g=this.axes,y=this.rangeSelector;if(y){B(y.deferredYTDClick)&&(y.clickButton(y.deferredYTDClick),delete y.deferredYTDClick),g.forEach(n=>{n.updateNames(),n.setScale()}),this.getAxisMargins(),y.render();let o=y.options.verticalAlign;y.options.floating||("bottom"===o?this.extraBottomMargin=!0:"middle"===o||(this.extraTopMargin=!0))}}function T(g){let y,o,n,r,l=g.rangeSelector,d=()=>{l&&(y=g.xAxis[0].getExtremes(),o=g.legend,r=l&&l.options.verticalAlign,B(y.min)&&l.render(y.min,y.max),o.display&&"top"===r&&r===o.options.verticalAlign&&(n=F(g.spacingBox),"vertical"===o.options.layout?n.y=g.plotTop:n.y+=l.getHeight(),o.group.placed=!1,o.align(n)))};l&&(A(I,C=>C[0]===g)||I.push([g,[J(g.xAxis[0],"afterSetExtremes",function(C){l&&l.render(C.min,C.max)}),J(g,"redraw",d)]]),d())}function z(){for(let g=0,y=I.length;gn()),void I.splice(g,1)}}function O(){let g=this.rangeSelector;if(g){let y=g.getHeight();this.extraTopMargin&&(this.plotTop+=y),this.extraBottomMargin&&(this.marginBottom+=y)}}function f(){let g=this.rangeSelector;if(g&&!g.options.floating){g.render();let y=g.options.verticalAlign;"bottom"===y?this.extraBottomMargin=!0:"middle"!==y&&(this.extraTopMargin=!0)}}function a(g){let y=g.options.rangeSelector,o=this.extraBottomMargin,n=this.extraTopMargin,r=this.rangeSelector;if(y&&y.enabled&&!te(r)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=r=new le(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,r){T(this);let l=y&&y.verticalAlign||r.options&&r.options.verticalAlign;r.options.floating||("bottom"===l?this.extraBottomMargin=!0:"middle"===l||(this.extraTopMargin=!0)),(this.extraBottomMargin!==o||this.extraTopMargin!==n)&&(this.isDirtyBox=!0)}}return{compose:function(g,y,o){if(le=o,D(pe,"RangeSelector")){let n=y.prototype;g.prototype.minFromRange=E,J(y,"afterGetContainer",_),J(y,"beforeRender",b),J(y,"destroy",z),J(y,"getMargins",O),J(y,"render",f),J(y,"update",a),n.callbacks.push(T),$(fe,{rangeSelector:re.rangeSelector}),$(fe.lang,re.lang)}}}}),Pe(V,"Stock/RangeSelector/RangeSelector.js",[V["Core/Axis/Axis.js"],V["Core/Defaults.js"],V["Core/Globals.js"],V["Stock/RangeSelector/RangeSelectorComposition.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe){let{defaultOptions:pe}=ie,{addEvent:J,createElement:te,css:$,defined:A,destroyObjectProperties:B,discardElement:F,extend:L,fireEvent:D,isNumber:I,merge:E,objectEach:_,pad:b,pick:T,pInt:z,splat:O}=fe;class f{static compose(g,y){ve.compose(g,y,f)}constructor(g){this.buttonOptions=f.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.chart=g,this.init(g)}clickButton(g,y){let S,H,U,se,w,X,G,o=this.chart,n=this.buttonOptions[g],r=o.xAxis[0],l=o.scroller&&o.scroller.getUnionExtremes()||r||{},d=n.type,C=n.dataGrouping,k=l.dataMin,p=l.dataMax,j=r&&Math.round(Math.min(r.max,T(p,r.max))),Y=n._range,x=!0;if(null!==k&&null!==p){if(this.setSelected(g),C&&(this.forcedDataGrouping=!0,Z.prototype.setDataGrouping.call(r||{chart:this.chart},C,!1),this.frozenStates=n.preserveDataGrouping),"month"===d||"year"===d)r?(X={range:n,max:j,chart:o,dataMin:k,dataMax:p},S=r.minFromRange.call(X),I(X.newMax)&&(j=X.newMax),x=!1):Y=n;else if(Y)j=Math.min((S=Math.max(j-Y,k))+Y,p),x=!1;else if("ytd"===d){if(!r)return void(this.deferredYTDClick=g);(void 0===p||void 0===k)&&(k=Number.MAX_VALUE,p=Number.MIN_VALUE,o.series.forEach(N=>{let R=N.xData;R&&(k=Math.min(R[0],k),p=Math.max(R[R.length-1],p))}),y=!1),S=U=(G=this.getYTDExtremes(p,k,o.time.useUTC)).min,j=G.max}else"all"===d&&r&&(o.navigator&&o.navigator.baseSeries[0]&&(o.navigator.baseSeries[0].xAxis.options.range=void 0),S=k,j=p);x&&n._offsetMin&&A(S)&&(S+=n._offsetMin),n._offsetMax&&A(j)&&(j+=n._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=g+1),r?(r.setExtremes(S,j,T(y,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:n}),o.setFixedRange(n._range)):(w=(H=O(o.options.xAxis)[0]).range,H.range=Y,se=H.min,H.min=U,J(o,"load",function(){o.setFixedRange(n._range),H.range=w,H.min=se})),D(this,"afterBtnClick")}}setSelected(g){this.selected=this.options.selected=g}init(g){let y=this,o=g.options.rangeSelector,n=o.buttons||y.defaultButtons.slice(),r=o.selected,l=function(){let d=y.minInput,C=y.maxInput;d&&d.blur&&D(d,"blur"),C&&C.blur&&D(C,"blur")};y.chart=g,y.options=o,y.buttons=[],y.buttonOptions=n,this.eventsToUnbind=[],this.eventsToUnbind.push(J(g.container,"mousedown",l)),this.eventsToUnbind.push(J(g,"resize",l)),n.forEach(y.computeButtonRange),void 0!==r&&n[r]&&this.clickButton(r,!1),this.eventsToUnbind.push(J(g,"load",function(){g.xAxis&&g.xAxis[0]&&J(g.xAxis[0],"setExtremes",function(d){I(this.max)&&I(this.min)&&this.max-this.min!==g.fixedRange&&"rangeSelectorButton"!==d.trigger&&"updatedData"!==d.trigger&&y.forcedDataGrouping&&!y.frozenStates&&this.setDataGrouping(!1,!1)})}))}updateButtonStates(){let g=this,y=this.chart,o=this.dropdown,n=y.xAxis[0],r=Math.round(n.max-n.min),l=!n.hasVisibleSeries,d=864e5,C=y.scroller&&y.scroller.getUnionExtremes()||n,k=C.dataMin,p=C.dataMax,S=g.getYTDExtremes(p,k,y.time.useUTC),j=S.min,H=S.max,Y=g.selected,U=g.options.allButtonsEnabled,se=g.buttons,w=I(Y),X=!1;g.buttonOptions.forEach((G,x)=>{let N=G._range,R=G.type,K=G.count||1,q=se[x],he=G._offsetMax-G._offsetMin,me=x===Y,Ce=N>p-k,Se=NN&&(oe=!0)}else("month"===R||"year"===R)&&r+36e5>={month:28,year:365}[R]*d*K-he&&r-36e5<={month:31,year:366}[R]*d*K+he?oe=!0:"ytd"===R?(oe=H-j+he===r,Ae=!me):"all"===R&&(oe=n.max-n.min>=p-k,Fe=!me&&w&&oe);let ee=!U&&!(X&&"all"===R)&&(Ce||Se||Fe||l);ee?Oe=3:(X&&"all"===R||me&&oe||oe&&!w&&!Ae||me&&g.frozenStates)&&(w=!0,Oe=2),q.state!==Oe&&(q.setState(Oe),o&&(o.options[x+1].disabled=ee,2===Oe&&(o.selectedIndex=x+1)),0===Oe&&Y===x?g.setSelected():(2===Oe&&!A(Y)||X)&&g.setSelected(x))})}computeButtonRange(g){let y=g.type,o=g.count||1,n={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5};n[y]?g._range=n[y]*o:("month"===y||"year"===y)&&(g._range=24*{month:30,year:365}[y]*36e5*o),g._offsetMin=T(g.offsetMin,0),g._offsetMax=T(g.offsetMax,0),g._range+=g._offsetMax-g._offsetMin}getInputValue(g){let y="min"===g?this.minInput:this.maxInput,n=this.chart.time;return y?("text"===y.type&&this.chart.options.rangeSelector.inputDateParser||this.defaultInputDateParser)(y.value,n.useUTC,n):0}setInputValue(g,y){let o=this.options,n=this.chart.time,r="min"===g?this.minInput:this.maxInput,l="min"===g?this.minDateBox:this.maxDateBox;if(r){let d=r.getAttribute("data-hc-time"),C=A(d)?Number(d):void 0;if(A(y)){let k=C;A(k)&&r.setAttribute("data-hc-time-previous",k),r.setAttribute("data-hc-time",y),C=y}r.value=n.dateFormat(this.inputTypeFormats[r.type]||o.inputEditDateFormat,C),l&&l.attr({text:n.dateFormat(o.inputDateFormat,C)})}}setInputExtremes(g,y,o){let n="min"===g?this.minInput:this.maxInput;if(n){let r=this.inputTypeFormats[n.type],l=this.chart.time;if(r){let d=l.dateFormat(r,y);n.min!==d&&(n.min=d);let C=l.dateFormat(r,o);n.max!==C&&(n.max=C)}}}showInput(g){let y="min"===g?this.minDateBox:this.maxDateBox,o="min"===g?this.minInput:this.maxInput;if(o&&y&&this.inputGroup){let n="text"===o.type,{translateX:r=0,translateY:l=0}=this.inputGroup,{x:d=0,width:C=0,height:k=0}=y,{inputBoxWidth:p}=this.options;$(o,{width:n?C+(p?-2:20)+"px":"auto",height:k-2+"px",border:"2px solid silver"}),$(o,n&&p?{left:r+d+"px",top:l+"px"}:{left:Math.min(Math.round(d+r-(o.offsetWidth-C)/2),this.chart.chartWidth-o.offsetWidth)+"px",top:l-(o.offsetHeight-k)/2+"px"})}}hideInput(g){let y="min"===g?this.minInput:this.maxInput;y&&$(y,{top:"-9999em",border:0,width:"1px",height:"1px"})}defaultInputDateParser(g,y,o){let n=g.split("/").join("-").split(" ").join("T");if(-1===n.indexOf("T")&&(n+="T00:00"),y)n+="Z";else{let l;if(re.isSafari&&(!((l=n).length>6)||l.lastIndexOf("-")!==l.length-6&&l.lastIndexOf("+")!==l.length-6)){let d=new Date(n).getTimezoneOffset()/60;n+=d<=0?`+${b(-d)}:00`:`-${b(d)}:00`}}let r=Date.parse(n);if(!I(r)){let l=g.split("-");r=Date.UTC(z(l[0]),z(l[1])-1,z(l[2]))}return o&&y&&I(r)&&(r+=o.getTimezoneOffset(r)),r}drawInput(g){let{chart:y,div:o,inputGroup:n}=this,r=this,l=y.renderer.style||{},d=y.renderer,C=y.options.rangeSelector,p="min"===g;function S(){let{maxInput:w,minInput:X}=r,G=y.xAxis[0],x=y.scroller&&y.scroller.getUnionExtremes()||G,N=x.dataMin,R=x.dataMax,K=r.getInputValue(g);K!==Number(U.getAttribute("data-hc-time-previous"))&&I(K)&&(U.setAttribute("data-hc-time-previous",K),p&&w&&I(N)?K>Number(w.getAttribute("data-hc-time"))?K=void 0:KR&&(K=R)),void 0!==K&&G.setExtremes(p?K:G.min,p?G.max:K,void 0,void 0,{trigger:"rangeSelectorInput"}))}let j=pe.lang[p?"rangeSelectorFrom":"rangeSelectorTo"]||"",H=d.label(j,0).addClass("highcharts-range-label").attr({padding:j?2:0,height:j?C.inputBoxHeight:0}).add(n),Y=d.label("",0).addClass("highcharts-range-input").attr({padding:2,width:C.inputBoxWidth,height:C.inputBoxHeight,"text-align":"center"}).on("click",function(){r.showInput(g),r[g+"Input"].focus()});y.styledMode||Y.attr({stroke:C.inputBoxBorderColor,"stroke-width":1}),Y.add(n);let U=te("input",{name:g,className:"highcharts-range-selector"},void 0,o);U.setAttribute("type",function(w){if(-1!==w.indexOf("%L"))return"text";let X=["a","A","d","e","w","b","B","m","o","y","Y"].some(x=>-1!==w.indexOf("%"+x)),G=["H","k","I","l","M","S"].some(x=>-1!==w.indexOf("%"+x));return X&&G?"datetime-local":X?"date":G?"time":"text"}(C.inputDateFormat||"%e %b %Y")),y.styledMode||(H.css(E(l,C.labelStyle)),Y.css(E({color:"#333333"},l,C.inputStyle)),$(U,L({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:l.fontSize,fontFamily:l.fontFamily,top:"-9999em"},C.inputStyle))),U.onfocus=()=>{r.showInput(g)},U.onblur=()=>{U===re.doc.activeElement&&S(),r.hideInput(g),r.setInputValue(g),U.blur()};let se=!1;return U.onchange=()=>{se||(S(),r.hideInput(g),U.blur())},U.onkeypress=w=>{13===w.keyCode&&S()},U.onkeydown=w=>{se=!0,(38===w.keyCode||40===w.keyCode)&&S()},U.onkeyup=()=>{se=!1},{dateBox:Y,input:U,label:H}}getPosition(){let g=this.chart,y=g.options.rangeSelector,o="top"===y.verticalAlign?g.plotTop-g.axisOffset[0]:0;return{buttonTop:o+y.buttonPosition.y,inputTop:o+y.inputPosition.y-10}}getYTDExtremes(g,y,o){let n=this.chart.time,r=new n.Date(g),l=n.get("FullYear",r),d=Math.max(y,o?n.Date.UTC(l,0,1):+new n.Date(l,0,1)),C=r.getTime();return{max:Math.min(g||C,C),min:d}}render(g,y){let o=this.chart,n=o.renderer,r=o.container,l=o.options,d=l.rangeSelector,C=T(l.chart.style&&l.chart.style.zIndex,0)+1,k=d.inputEnabled;if(!1!==d.enabled){if(!this.rendered&&(this.group=n.g("range-selector-group").attr({zIndex:7}).add(),this.div=te("div",void 0,{position:"relative",height:0,zIndex:C}),this.buttonOptions.length&&this.renderButtons(),r.parentNode&&r.parentNode.insertBefore(this.div,r),k)){this.inputGroup=n.g("input-group").add(this.group);let S=this.drawInput("min");this.minDateBox=S.dateBox,this.minLabel=S.label,this.minInput=S.input;let j=this.drawInput("max");this.maxDateBox=j.dateBox,this.maxLabel=j.label,this.maxInput=j.input}if(k){this.setInputValue("min",g),this.setInputValue("max",y);let S=o.scroller&&o.scroller.getUnionExtremes()||o.xAxis[0]||{};if(A(S.dataMin)&&A(S.dataMax)){let j=o.xAxis[0].minRange||0;this.setInputExtremes("min",S.dataMin,Math.min(S.dataMax,this.getInputValue("max"))-j),this.setInputExtremes("max",Math.max(S.dataMin,this.getInputValue("min"))+j,S.dataMax)}if(this.inputGroup){let j=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(H=>{if(H){let{width:Y}=H.getBBox();Y&&(H.attr({x:j}),j+=Y+d.inputSpacing)}})}}this.alignElements(),this.rendered=!0}}renderButtons(){let{buttons:g,chart:y,options:o}=this,n=pe.lang,r=y.renderer,l=E(o.buttonTheme),d=l&&l.states,C=l.width||28;delete l.width,delete l.states,this.buttonGroup=r.g("range-selector-buttons").add(this.group);let k=this.dropdown=te("select",void 0,{position:"absolute",width:"1px",height:"1px",padding:0,border:0,top:"-9999em",cursor:"pointer",opacity:1e-4},this.div);J(k,"touchstart",()=>{k.style.fontSize="16px"}),[[re.isMS?"mouseover":"mouseenter"],[re.isMS?"mouseout":"mouseleave"],["change","click"]].forEach(([p,S])=>{J(k,p,()=>{let j=g[this.currentButtonIndex()];j&&D(j.element,S||p)})}),this.zoomText=r.label(n&&n.rangeSelectorZoom||"",0).attr({padding:o.buttonTheme.padding,height:o.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(o.labelStyle),l["stroke-width"]=T(l["stroke-width"],0)),te("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,k),this.buttonOptions.forEach((p,S)=>{te("option",{textContent:p.title||p.text},void 0,k),g[S]=r.button(p.text,0,0,j=>{let H,Y=p.events&&p.events.click;Y&&(H=Y.call(p,j)),!1!==H&&this.clickButton(S),this.isActive=!0},l,d&&d.hover,d&&d.select,d&&d.disabled).attr({"text-align":"center",width:C}).add(this.buttonGroup),p.title&&g[S].attr("title",p.title)})}alignElements(){let{buttonGroup:g,buttons:y,chart:o,group:n,inputGroup:r,options:l,zoomText:d}=this,C=o.options,k=C.exporting&&!1!==C.exporting.enabled&&C.navigation&&C.navigation.buttonOptions,{buttonPosition:p,inputPosition:S,verticalAlign:j}=l,H=(U,se)=>k&&this.titleCollision(o)&&"top"===j&&"right"===se.align&&se.y-U.getBBox().height-12<(k.y||0)+(k.height||0)+o.spacing[0]?-40:0,Y=o.plotLeft;if(n&&p&&S){let U=p.x-o.spacing[3];if(g){if(this.positionButtons(),!this.initialButtonGroupWidth){let q=0;d&&(q+=d.getBBox().width+5),y.forEach((he,me)=>{q+=he.width||0,me!==y.length-1&&(q+=l.buttonSpacing)}),this.initialButtonGroupWidth=q}Y-=o.spacing[3],this.updateButtonStates();let K=H(g,p);this.alignButtonGroup(K),n.placed=g.placed=o.hasLoaded}let se=0;r&&(se=H(r,S),"left"===S.align?U=Y:"right"===S.align&&(U=-Math.max(o.axisOffset[1],-se)),r.align({y:S.y,width:r.getBBox().width,align:S.align,x:S.x+U-2},!0,o.spacingBox),r.placed=o.hasLoaded),this.handleCollision(se),n.align({verticalAlign:j},!0,o.spacingBox);let w=n.alignAttr.translateY,X=n.getBBox().height+20,G=0;if("bottom"===j){let K=o.legend&&o.legend.options;G=w-(X=X+(K&&"bottom"===K.verticalAlign&&K.enabled&&!K.floating?o.legend.legendHeight+T(K.margin,10):0)-20)-(l.floating?0:l.y)-(o.titleOffset?o.titleOffset[2]:0)-10}"top"===j?(l.floating&&(G=0),o.titleOffset&&o.titleOffset[0]&&(G=o.titleOffset[0]),G+=o.margin[0]-o.spacing[0]||0):"middle"===j&&(S.y===p.y?G=w:(S.y||p.y)&&(S.y<0||p.y<0?G-=Math.min(S.y,p.y):G=w-X)),n.translate(l.x,l.y+Math.floor(G));let{minInput:x,maxInput:N,dropdown:R}=this;l.inputEnabled&&x&&N&&(x.style.marginTop=n.translateY+"px",N.style.marginTop=n.translateY+"px"),R&&(R.style.marginTop=n.translateY+"px")}}alignButtonGroup(g,y){let{chart:o,options:n,buttonGroup:r}=this,{buttonPosition:l}=n,d=o.plotLeft-o.spacing[3],C=l.x-o.spacing[3];"right"===l.align?C+=g-d:"center"===l.align&&(C-=d/2),r&&r.align({y:l.y,width:T(y,this.initialButtonGroupWidth),align:l.align,x:C},!0,o.spacingBox)}positionButtons(){let{buttons:g,chart:y,options:o,zoomText:n}=this,r=y.hasLoaded?"animate":"attr",{buttonPosition:l}=o,d=y.plotLeft,C=d;n&&"hidden"!==n.visibility&&(n[r]({x:T(d+l.x,d)}),C+=l.x+n.getBBox().width+5);for(let k=0,p=this.buttonOptions.length;k{let S=0;return this.buttons.forEach(j=>{let H=j.getBBox();H.width>S&&(S=H.width)}),S},k=S=>{if(n&&o){let j=n.alignAttr.translateX+n.alignOptions.x-g+n.getBBox().x+2,H=n.alignOptions.width,Y=o.alignAttr.translateX+o.getBBox().x;return Y+S>j&&j+H>Y&&r.y{n&&o&&n.attr({translateX:n.alignAttr.translateX+(y.axisOffset[1]>=-g?0:-g),translateY:n.alignAttr.translateY+o.getBBox().height+10})};if(o){if("always"===l)return this.collapseButtons(g),void(k(C())&&p());"never"===l&&this.expandButtons()}n&&o?d.align===r.align||k(this.initialButtonGroupWidth+20)?"responsive"===l?(this.collapseButtons(g),k(C())&&p()):p():"responsive"===l&&this.expandButtons():o&&"responsive"===l&&(this.initialButtonGroupWidth>y.plotWidth?this.collapseButtons(g):this.expandButtons())}collapseButtons(g){let{buttons:y,buttonOptions:o,chart:n,dropdown:r,options:l,zoomText:d}=this;if(!0===this.isCollapsed)return;this.isCollapsed=!0;let C=n.userOptions.rangeSelector&&n.userOptions.rangeSelector.buttonTheme||{},k=j=>({text:j?`${j} \u25be`:"\u25be",width:"auto",paddingLeft:T(l.buttonTheme.paddingLeft,C.padding,8),paddingRight:T(l.buttonTheme.paddingRight,C.padding,8)});d&&d.hide();let p=!1;o.forEach((j,H)=>{let Y=y[H];2!==Y.state?Y.hide():(Y.show(),Y.attr(k(j.text)),p=!0)}),p||(r&&(r.selectedIndex=0),y[0].show(),y[0].attr(k(this.zoomText&&this.zoomText.textStr)));let{align:S}=l.buttonPosition;this.positionButtons(),("right"===S||"center"===S)&&this.alignButtonGroup(g,y[this.currentButtonIndex()].getBBox().width),this.showDropdown()}expandButtons(){let{buttons:g,buttonOptions:y,options:o,zoomText:n}=this;this.hideDropdown(),!1!==this.isCollapsed&&(this.isCollapsed=!1,n&&n.show(),y.forEach((r,l)=>{let d=g[l];d.show(),d.attr({text:r.text,width:o.buttonTheme.width||28,paddingLeft:T(o.buttonTheme.paddingLeft,"unset"),paddingRight:T(o.buttonTheme.paddingRight,"unset")}),d.state<2&&d.setState(0)}),this.positionButtons())}currentButtonIndex(){let{dropdown:g}=this;return g&&g.selectedIndex>0?g.selectedIndex-1:0}showDropdown(){let{buttonGroup:g,buttons:y,chart:o,dropdown:n}=this;if(g&&n){let{translateX:r=0,translateY:l=0}=g,d=y[this.currentButtonIndex()].getBBox();$(n,{left:o.plotLeft+r+"px",top:l+.5+"px",width:d.width+"px",height:d.height+"px"}),this.hasVisibleDropdown=!0}}hideDropdown(){let{dropdown:g}=this;g&&($(g,{top:"-9999em",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let g=this.options,y=this.group,r=g.y,l=g.buttonPosition.y,d=g.inputPosition.y,C=0;if(g.height)return g.height;this.alignElements(),C=y?y.getBBox(!0).height+13+r:0;let k=Math.min(d,l);return(d<0&&l<0||d>0&&l>0)&&(C+=Math.abs(k)),C}titleCollision(g){return!(g.options.title.text||g.options.subtitle.text)}update(g){let y=this.chart;E(!0,y.options.rangeSelector,g),this.destroy(),this.init(y),this.render()}destroy(){let g=this,y=g.minInput,o=g.maxInput;g.eventsToUnbind&&(g.eventsToUnbind.forEach(n=>n()),g.eventsToUnbind=void 0),B(g.buttons),y&&(y.onfocus=y.onblur=y.onchange=null),o&&(o.onfocus=o.onblur=o.onchange=null),_(g,function(n,r){n&&"chart"!==r&&(n instanceof le?n.destroy():n instanceof e.HTMLElement&&F(n)),n!==f.prototype[r]&&(g[r]=null)},this)}}return L(f.prototype,{defaultButtons:[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}}),f}),Pe(V,"Core/Chart/StockChart.js",[V["Core/Chart/Chart.js"],V["Core/Templating.js"],V["Core/Defaults.js"],V["Stock/Navigator/NavigatorDefaults.js"],V["Stock/RangeSelector/RangeSelectorDefaults.js"],V["Stock/Scrollbar/ScrollbarDefaults.js"],V["Stock/Utilities/StockUtilities.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe,pe,J){let{format:te}=ie,{getOptions:$}=re,{setFixedRange:A}=pe,{addEvent:B,clamp:F,defined:L,extend:D,find:I,isNumber:E,isString:_,merge:b,pick:T,splat:z}=J;function O(g,y,o){return"xAxis"===g?{minPadding:0,maxPadding:0,overscroll:0,ordinal:!0}:"yAxis"===g?{labels:{y:-2},opposite:o.opposite??y.opposite??!0,showLastLabel:!(!y.categories&&"category"!==y.type),title:{text:"Values"!==o.title?.text?o.title?.text:null}}:{}}function f(g,y){if("xAxis"===g){let n={type:"datetime",categories:void 0};return T(y.navigator&&y.navigator.enabled,ve.enabled,!0)&&(n.startOnTick=!1,n.endOnTick=!1),n}return{}}class a extends Z{init(y,o){let n=$(),r=y.xAxis,l=y.yAxis,d=T(y.navigator&&y.navigator.enabled,ve.enabled,!0);y.xAxis=y.yAxis=void 0;let C=b({chart:{panning:{enabled:!0,type:"x"},zooming:{pinchType:"x",mouseWheel:{type:"x"}}},navigator:{enabled:d},scrollbar:{enabled:T(fe.enabled,!0)},rangeSelector:{enabled:T(le.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:T(n.tooltip&&n.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1}},y,{isStock:!0});y.xAxis=r,y.yAxis=l,C.xAxis=z(y.xAxis||{}).map(k=>b(O("xAxis",k,n.xAxis),k,f("xAxis",y))),C.yAxis=z(y.yAxis||{}).map(k=>b(O("yAxis",k,n.yAxis),k)),super.init(C,o)}createAxis(y,o){return o.axis=b(O(y,o.axis,$()[y]),o.axis,f(y,this.userOptions)),super.createAxis(y,o)}}return B(Z,"update",function(g){let y=g.options;"scrollbar"in y&&this.navigator&&(b(!0,this.options.scrollbar,y.scrollbar),this.navigator.update({}),delete y.scrollbar)}),function(g){function y(p){if(!(this.crosshair&&this.crosshair.label&&this.crosshair.label.enabled&&this.cross&&E(this.min)&&E(this.max)))return;let q,he,Se,S=this.chart,j=this.logarithmic,H=this.crosshair.label,Y=this.horiz,U=this.opposite,se=this.left,w=this.top,X=this.width,G="inside"===this.options.tickPosition,x=!1!==this.crosshair.snap,N=p.e||this.cross&&this.cross.e,R=p.point,K=this.crossLabel,me=H.format,Ce="",Oe=0,Ae=this.min,Fe=this.max;j&&(Ae=j.lin2log(this.min),Fe=j.lin2log(this.max));let oe=Y?"center":U?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";K||(K=this.crossLabel=S.renderer.label("",0,void 0,H.shape||"callout").addClass("highcharts-crosshair-label highcharts-color-"+(R&&R.series?R.series.colorIndex:this.series[0]&&this.series[0].colorIndex)).attr({align:H.align||oe,padding:T(H.padding,8),r:T(H.borderRadius,3),zIndex:2}).add(this.labelGroup),S.styledMode||K.attr({fill:H.backgroundColor||R&&R.series&&R.series.color||"#666666",stroke:H.borderColor||"","stroke-width":H.borderWidth||0}).css(D({color:"#ffffff",fontWeight:"normal",fontSize:"0.7em",textAlign:"center"},H.style||{}))),Y?(q=x?(R.plotX||0)+se:N.chartX,he=w+(U?0:this.height)):(q=se+this.offset+(U?X:0),he=x?(R.plotY||0)+w:N.chartY),me||H.formatter||(this.dateTime&&(Ce="%b %d, %Y"),me="{value"+(Ce?":"+Ce:"")+"}");let ee=x?this.isXAxis?R.x:R.y:this.toValue(Y?N.chartX:N.chartY),de=R&&R.series?R.series.isPointInside(R):E(ee)&&ee>Ae&&ee=Se.right&&(Oe=-(_e+Te.width-Se.right)),K.attr({x:q+Oe,y:he,anchorX:Y?q:this.opposite?0:S.chartWidth,anchorY:Y?this.opposite?S.chartHeight:0:he+Te.height/2})}function o(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())}function n(p){let S=this.chart,j=this.options,H=S._labelPanes=S._labelPanes||{},Y=j.labels;if(S.options.isStock&&"yAxis"===this.coll){let U=j.top+","+j.height;!H[U]&&Y.enabled&&(15===Y.distance&&1===this.side&&(Y.distance=0),void 0===Y.align&&(Y.align="right"),H[U]=this,p.align="right",p.preventDefault())}}function r(){let p=this.chart,S=this.options&&this.options.top+","+this.options.height;S&&p._labelPanes&&p._labelPanes[S]===this&&delete p._labelPanes[S]}function l(p){let N,R,K,q,me,Ce,S=this,j=S.isLinked&&!S.series&&S.linkedParent?S.linkedParent.series:S.series,H=S.chart,Y=H.renderer,U=S.left,se=S.top,w=[],X=p.translatedValue,G=p.value,x=p.force,he=[];if(H.options.isStock&&!1!==p.acrossPanes&&"xAxis"===S.coll||"yAxis"===S.coll){for(let Se of(p.preventDefault(),he=(Oe=>{let Ae="xAxis"===Oe?"yAxis":"xAxis",Fe=S.options[Ae];return E(Fe)?[H[Ae][Fe]]:_(Fe)?[H.get(Fe)]:j.map(oe=>oe[Ae])})(S.coll),S.isXAxis?H.yAxis:H.xAxis))if(!L(Se.options.id)||-1===Se.options.id.indexOf("navigator")){let Oe=Se.isXAxis?"yAxis":"xAxis";S===(L(Se.options[Oe])?H[Oe][Se.options[Oe]]:H[Oe][0])&&he.push(Se)}for(let Se of(me=he.length?[]:[S.isXAxis?H.yAxis[0]:H.xAxis[0]],he))-1!==me.indexOf(Se)||I(me,Oe=>Oe.pos===Se.pos&&Oe.len===Se.len)||me.push(Se);if(E(Ce=T(X,S.translate(G||0,void 0,void 0,p.old))))if(S.horiz)for(let Se of me){let Oe;q=(R=Se.pos)+Se.len,N=K=Math.round(Ce+S.transB),"pass"!==x&&(NU+S.width)&&(x?N=K=F(N,U,U+S.width):Oe=!0),Oe||w.push(["M",N,R],["L",K,q])}else for(let Se of me){let Oe;K=(N=Se.pos)+Se.len,R=q=Math.round(se+S.height-Ce),"pass"!==x&&(Rse+S.height)&&(x?R=q=F(R,se,se+S.height):Oe=!0),Oe||w.push(["M",N,R],["L",K,q])}p.path=w.length>0?Y.crispPolyLine(w,p.lineWidth||1):void 0}}function d(p){if(this.chart.options.isStock){let S;this.is("column")||this.is("columnrange")?S={borderWidth:0,shadow:!1}:this.is("scatter")||this.is("sma")||(S={marker:{enabled:!1,radius:2}}),S&&(p.plotOptions[this.type]=b(p.plotOptions[this.type],S))}}function C(){let S=this.options.dataGrouping;return!1!==this.allowDG&&S&&T(S.enabled,this.chart.options.isStock)}function k(p,S){for(let j=0;j\u25cf {series.name}
High: {point.high}
Low: {point.low}
Close: {point.close}
'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0}}),Pe(V,"Series/HLC/HLCSeries.js",[V["Series/HLC/HLCPoint.js"],V["Series/HLC/HLCSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){let{column:le}=re.seriesTypes,{extend:fe,merge:pe}=ve;class J extends le{extendStem($,A,B){let F=$[0],L=$[1];"number"==typeof F[2]&&(F[2]=Math.max(B+A,F[2])),"number"==typeof L[2]&&(L[2]=Math.min(B-A,L[2]))}getPointPath($,A){let B=A.strokeWidth(),F=$.series,L=B%2/2,D=Math.round($.plotX)-L,I=Math.round($.shapeArgs.width/2),E=$.plotClose,_=[["M",D,Math.round($.yBottom)],["L",D,Math.round($.plotHigh)]];return null!==$.close&&(E=Math.round($.plotClose)+L,_.push(["M",D,E],["L",D+I,E]),F.extendStem(_,B/2,E)),_}drawSinglePoint($){let F,A=$.series,B=A.chart,L=$.graphic;void 0!==$.plotY&&(L||($.graphic=L=B.renderer.path().add(A.group)),B.styledMode||L.attr(A.pointAttribs($,$.selected&&"select")),F=A.getPointPath($,L),L[L?"animate":"attr"]({d:F}).addClass($.getClassName(),!0))}drawPoints(){this.points.forEach(this.drawSinglePoint)}init(){super.init.apply(this,arguments),this.options.stacking=void 0}pointAttribs($,A){let B=super.pointAttribs.call(this,$,A);return delete B.fill,B}toYData($){return[$.high,$.low,$.close]}translate(){let $=this,A=$.yAxis,B=this.pointArrayMap&&this.pointArrayMap.slice()||[],F=B.map(L=>`plot${L.charAt(0).toUpperCase()+L.slice(1)}`);F.push("yBottom"),B.push("low"),super.translate.apply($),$.points.forEach(function(L){B.forEach(function(D,I){let E=L[D];null!==E&&($.dataModify&&(E=$.dataModify.modifyValue(E)),L[F[I]]=A.toPixels(E,!0))}),L.tooltipPos[1]=L.plotHigh+A.pos-$.chart.plotTop})}}return J.defaultOptions=pe(le.defaultOptions,ie),fe(J.prototype,{pointClass:Z,animate:null,directTouch:!1,pointArrayMap:["high","low","close"],pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointValKey:"close"}),re.registerSeriesType("hlc",J),J}),Pe(V,"Series/OHLC/OHLCPoint.js",[V["Core/Series/SeriesRegistry.js"]],function(Z){let{seriesTypes:{hlc:ie}}=Z;return class re extends ie.prototype.pointClass{getClassName(){return super.getClassName.call(this)+(this.open\u25cf {series.name}
Open: {point.open}
High: {point.high}
Low: {point.low}
Close: {point.close}
'}}}),Pe(V,"Series/OHLC/OHLCSeries.js",[V["Core/Globals.js"],V["Series/OHLC/OHLCPoint.js"],V["Series/OHLC/OHLCSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le){let{composed:fe}=Z,{hlc:pe}=ve.seriesTypes,{addEvent:J,extend:te,merge:$,pushUnique:A}=le;function B(D){let I=D.options,E=I.dataGrouping;E&&I.useOhlcData&&"highcharts-navigator-series"!==I.id&&(E.approximation="ohlc")}function F(D){let I=D.options;I.useOhlcData&&"highcharts-navigator-series"!==I.id&&te(this,{pointValKey:L.prototype.pointValKey,pointArrayMap:L.prototype.pointArrayMap,toYData:L.prototype.toYData})}class L extends pe{static compose(I,...E){A(fe,"OHLCSeries")&&(J(I,"afterSetOptions",B),J(I,"init",F))}getPointPath(I,E){let _=super.getPointPath(I,E),b=E.strokeWidth(),T=b%2/2,z=Math.round(I.plotX)-T,O=Math.round(I.shapeArgs.width/2),f=I.plotOpen;return null!==I.open&&(f=Math.round(I.plotOpen)+T,_.push(["M",z,f],["L",z-O,f]),super.extendStem(_,b/2,f)),_}pointAttribs(I,E){let _=super.pointAttribs.call(this,I,E),b=this.options;return delete _.fill,!I.options.color&&b.upColor&&I.openA&&(te-=Math.round((B-A)/2),A=B),L=pe[J](te,$,A,B),D&&I){let E=D;if("circle"===J)E=te+A/2;else{let b=L[0],T=L[1];"M"===b[0]&&"L"===T[0]&&(E=(b[1]+T[1])/2)}L.push(["M",E,$>I?$:$+B],["L",D,I]),L=L.concat(pe.circle(D-1,I-1,2,2))}return L}}re.compose=function(pe){if(-1===ve.indexOf(pe)){ve.push(pe);let te=pe.prototype.symbols;te.flag=le,fe(te,"circle"),fe(te,"square")}let J=Z.getRendererType();ve.indexOf(J)&&ve.push(J)}}(ie||(ie={})),ie}),Pe(V,"Series/OnSeriesComposition.js",[V["Series/Column/ColumnSeries.js"],V["Core/Globals.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve){var le;let{composed:fe}=ie,{prototype:pe}=Z,{prototype:J}=re,{defined:te,pushUnique:$,stableSort:A}=ve;return function(B){function F(D){return J.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this,D)}function L(){pe.translate.apply(this);let o,n,C,k,p,S,j,D=this,I=D.options,E=D.chart,_=D.points,b=I.onSeries,T=b&&E.get(b),z=T&&T.options.step,O=T&&T.points,f=E.inverted,a=D.xAxis,g=D.yAxis,y=_.length-1,r=I.onKey||"y",l=O&&O.length,d=0;if(T&&T.visible&&l)for(d=(T.pointXOffset||0)+(T.barW||0)/2,S=T.currentDataGrouping,k=O[l-1].x+(S?S.totalRange:0),A(_,(H,Y)=>H.x-Y.x),r="plot"+r[0].toUpperCase()+r.substr(1);l--&&_[y];)if(C=O[l],(o=_[y]).y=C.y,C.x<=o.x&&void 0!==C[r]){if(o.x<=k&&(o.plotY=C[r],C.xMath.pow(1-N,3)*H[R]+3*(1-N)*(1-N)*N*U[R]+3*(1-N)*N*N*se[R]+N*N*N*Y[R],X=0,G=1;for(let N=0;N<100;N++){let R=(X+G)/2,K=w(R,0);if(null===K)break;if(.25>Math.abs(K-o.plotX)){x=R;break}K{let U;H.plotX+=d,(void 0===H.plotY||f)&&(H.plotX>=0&&H.plotX<=a.len?f?(H.plotY=a.translate(H.x,0,1,0,1),H.plotX=te(H.y)?g.translate(H.y,0,0,0,1):0):H.plotY=(a.opposite?0:D.yAxis.len)+a.offset:H.shapeArgs={}),(n=_[Y-1])&&n.plotX===H.plotX&&(void 0===n.stackIndex&&(n.stackIndex=0),U=n.stackIndex+1),H.stackIndex=U}),this.onSeries=T}B.compose=function(D){if($(fe,"OnSeries")){let I=D.prototype;I.getPlotBox=F,I.translate=L}return D},B.getPlotBox=F,B.translate=L}(le||(le={})),le}),Pe(V,"Series/Flags/FlagsSeries.js",[V["Series/Flags/FlagsPoint.js"],V["Series/Flags/FlagsSeriesDefaults.js"],V["Series/Flags/FlagsSymbols.js"],V["Core/Globals.js"],V["Series/OnSeriesComposition.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe,pe,J,te){let{noop:$}=ve,{distribute:A}=fe,{series:B,seriesTypes:{column:F}}=pe,{addEvent:L,defined:D,extend:I,merge:E,objectEach:_,wrap:b}=te;class T extends F{animate(O){O&&this.setClip()}drawPoints(){let O,f,a,g,y,o,n,r,l,d,C,k=this.points,p=this.chart,S=p.renderer,j=p.inverted,H=this.options,Y=H.y,U=this.yAxis,se={},w=[];for(g=k.length;g--;)y=k[g],d=(j?y.plotY:y.plotX)>this.xAxis.len,O=y.plotX,n=y.stackIndex,a=y.options.shape||H.shape,void 0!==(f=y.plotY)&&(f=y.plotY+Y-(void 0!==n&&n*H.stackDistance)),y.anchorX=n?void 0:y.plotX,r=n?void 0:y.plotY,C="flag"!==a,o=y.graphic,void 0!==f&&O>=0&&!d?(o&&y.hasNewShapeType()&&(o=o.destroy()),o||(o=y.graphic=S.label("",null,null,a,null,null,H.useHTML).addClass("highcharts-point").add(this.markerGroup),y.graphic.div&&(y.graphic.div.point=y),o.isNew=!0),o.attr({align:C?"center":"left",width:H.width,height:H.height,"text-align":H.textAlign}),p.styledMode||o.attr(this.pointAttribs(y)).css(E(H.style,y.style)).shadow(H.shadow),O>0&&(O-=o.strokeWidth()%2),l={y:f,anchorY:r},H.allowOverlapX&&(l.x=O,l.anchorX=y.anchorX),o.attr({text:y.options.title||H.title||"A"})[o.isNew?"attr":"animate"](l),H.allowOverlapX||(se[y.plotX]?se[y.plotX].size=Math.max(se[y.plotX].size,o.width||0):se[y.plotX]={align:C?.5:0,size:o.width||0,target:O,anchorX:O}),y.tooltipPos=[O,f+U.pos-p.plotTop]):o&&(y.graphic=o.destroy());if(!H.allowOverlapX){let X=100;for(let G of(_(se,function(x){x.plotX=x.anchorX,w.push(x),X=Math.max(x.size,X)}),A(w,j?U.len:this.xAxis.len,X),k)){let N=G.graphic,R=N&&se[G.plotX];R&&N&&(D(R.pos)?N[N.isNew?"attr":"animate"]({x:R.pos+(R.align||0)*R.size,anchorX:G.anchorX}).show().isNew=!1:N.hide().isNew=!0)}}H.useHTML&&this.markerGroup&&b(this.markerGroup,"on",function(X){return J.prototype.on.apply(X.apply(this,[].slice.call(arguments,1)),[].slice.call(arguments,1))})}drawTracker(){let O=this.points;for(let f of(super.drawTracker(),O)){let a=f.graphic;a&&(f.unbindMouseOver&&f.unbindMouseOver(),f.unbindMouseOver=L(a.element,"mouseover",function(){for(let g of(f.stackIndex>0&&!f.raised&&(f._y=a.y,a.attr({y:f._y-8}),f.raised=!0),O))g!==f&&g.raised&&g.graphic&&(g.graphic.attr({y:g._y}),g.raised=!1)}))}}pointAttribs(O,f){let a=this.options,g=O&&O.color||this.color,y=a.lineColor,o=O&&O.lineWidth,n=O&&O.fillColor||a.fillColor;return f&&(n=a.states[f].fillColor,y=a.states[f].lineColor,o=a.states[f].lineWidth),{fill:n||g,stroke:y||g,"stroke-width":o||a.lineWidth||0}}setClip(){B.prototype.setClip.apply(this,arguments),!1!==this.options.clip&&this.sharedClipKey&&this.markerGroup&&this.markerGroup.clip(this.chart.sharedClips[this.sharedClipKey])}}return T.compose=re.compose,T.defaultOptions=E(F.defaultOptions,ie),le.compose(T),I(T.prototype,{allowDG:!1,forceCrop:!0,invertible:!1,noSharedTooltip:!0,pointClass:Z,sorted:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],buildKDTree:$,init:B.prototype.init}),pe.registerSeriesType("flags",T),T}),Pe(V,"Core/Axis/BrokenAxis.js",[V["Core/Axis/Stacking/StackItem.js"],V["Core/Utilities.js"]],function(Z,ie){var re;let{addEvent:ve,find:le,fireEvent:fe,isArray:pe,isNumber:J,pick:te}=ie;return function($){function A(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function B(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function F(){let T=this.brokenAxis;if(T?.hasBreaks){let z=this.tickPositions,O=this.tickPositions.info,f=[];for(let a=0;ad.to||f>d.from&&ad.from&&ad.from&&a>d.to&&a0){let y,o;for("value"!==this.options.gapUnit&&(a*=this.basePointRange),z&&z>a&&z>=this.basePointRange&&(a=z);g--;)if(o&&!1!==o.visible||(o=O[g+1]),y=O[g],!1!==o.visible&&!1!==y.visible){if(o.x-y.x>a){let n=(y.x+o.x)/2;O.splice(g+1,0,{isNull:!0,x:n}),f.stacking&&this.options.stacking&&((f.stacking.stacks[this.stackKey][n]=new Z(f,f.options.stackLabels,!1,n,this.stack)).total=0)}o=y}}return this.getGraphPath(O)}$.compose=function(T,z){if(!T.keepProps.includes("brokenAxis")){T.keepProps.push("brokenAxis"),ve(T,"init",L),ve(T,"afterInit",A),ve(T,"afterSetTickPositions",F),ve(T,"afterSetOptions",B);let O=z.prototype;O.drawBreaks=E,O.gappedPath=_,ve(z,"afterGeneratePoints",D),ve(z,"afterRender",I)}return T};class b{static isInBreak(z,O){let f=z.repeat||1/0,a=z.from,g=z.to-z.from,y=O>=a?(O-a)%f:f-(a-O)%f;return z.inclusive?y<=g:y=a);y++)(g.to=z)break;if(b.isInBreak(g,z)){a-=z-g.from;break}}return a}constructor(z){this.hasBreaks=!1,this.axis=z}findBreakAt(z,O){return le(O,function(f){return f.fromk;)S-=C;for(;Sthis.chart.plotSizeX/L||I&&E.forced)&&(D=!0));return D?L:0}function $(){this.series.forEach(function(B){B.hasProcessed=!1})}function A(B,F){let L;if(F=pe(F,!0),B||(B={forced:!1,units:null}),this instanceof re)for(L=this.series.length;L--;)this.series[L].update({dataGrouping:B},!1);else this.chart.options.series.forEach(function(D){D.dataGrouping="boolean"==typeof B?B:fe(B,D.dataGrouping)});this.ordinal&&(this.ordinal.slope=void 0),F&&this.chart.redraw()}return{compose:function(B){re=B;let F=B.prototype;F.applyGrouping||(ve(B,"afterSetScale",$),ve(B,"postProcessData",J),le(F,{applyGrouping:J,getGroupPixelWidth:te,setDataGrouping:A}))}}}),Pe(V,"Extensions/DataGrouping/DataGroupingSeriesComposition.js",[V["Extensions/DataGrouping/ApproximationRegistry.js"],V["Extensions/DataGrouping/DataGroupingDefaults.js"],V["Core/Axis/DateTimeAxis.js"],V["Core/Defaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(Z,ie,re,ve,le,fe){let{series:{prototype:pe}}=le,{addEvent:J,defined:te,error:$,extend:A,isNumber:B,merge:F,pick:L}=fe,D=pe.generatePoints;function I(O){var f;let a,g,d,C,y=this.chart,o=this.options.dataGrouping,n=!1!==this.allowDG&&o&&L(o.enabled,y.options.isStock),r=this.reserveSpace(),l=this.currentDataGrouping,k=!1;n&&!this.requireSorting&&(this.requireSorting=k=!0);let p=!(!this.isCartesian||this.isDirty||this.xAxis.isDirty||this.yAxis.isDirty||O)||!n;if(k&&(this.requireSorting=!1),p)return;this.destroyGroupedData();let S=o.groupAll?this.xData:this.processedXData,j=o.groupAll?this.yData:this.processedYData,H=y.plotSizeX,Y=this.xAxis,U=Y.options.ordinal,se=this.groupPixelWidth;if(se&&S&&S.length&&H){g=!0,this.isDirty=!0,this.points=null;let w=Y.getExtremes(),X=w.min,G=w.max,x=U&&Y.ordinal&&Y.ordinal.getGroupIntervalFactor(X,G,this)||1,R=Y.getTimeTicks(re.Additions.prototype.normalizeTimeTickInterval(se*(G-X)/H*x,o.units||ie.units),Math.min(X,S[0]),Math.max(G,S[S.length-1]),Y.options.startOfWeek,S,this.closestPointRange),K=pe.groupData.apply(this,[S,j,R,o.approximation]),q=K.groupedXData,he=K.groupedYData,me=0;for(o&&o.smoothed&&q.length&&(o.firstAnchor="firstPoint",o.anchor="middle",o.lastAnchor="lastPoint",$(32,!1,y,{"dataGrouping.smoothed":"use dataGrouping.anchor"})),a=1;a=Se[0]){let Me;_e++;let Ee=Ce.groupMap[0].start,Xe=Ce.groupMap[0].length;B(Ee)&&B(Xe)&&(Me=Ee+(Xe-1)),Se[0]={start:Se[0],middle:Se[0]+.5*Fe,end:Se[0]+Fe,firstPoint:Ce.xData[0],lastPoint:Me&&Ce.xData[Me]}[de]}if(oe>0&&ye&&Fe&&Se[oe]>=Oe-Fe){Te--;let Me=Ce.groupMap[Ce.groupMap.length-1].start;Se[oe]={start:Se[oe],middle:Se[oe]+.5*Fe,end:Se[oe]+Fe,firstPoint:Me&&Ce.xData[Me],lastPoint:Ce.xData[Ce.xData.length-1]}[ye]}if(ee&&"start"!==ee){let Me=Fe*{middle:.5,end:1}[ee];for(;Te>=_e;)Se[Te]+=Me,Te--}}(this,q,G),r&&(te((f=q)[0])&&B(Y.min)&&B(Y.dataMin)&&f[0]Y.max&&((!te(Y.options.max)&&B(Y.dataMax)&&Y.max>=Y.dataMax||Y.max===Y.dataMax)&&(Y.max=Math.max(f[f.length-1],Y.max)),Y.dataMax=Math.max(f[f.length-1],Y.dataMax))),o.groupAll&&(this.allGroupedData=he,q=(C=this.cropData(q,he,Y.min,Y.max)).xData,he=C.yData,this.cropStart=C.start),this.processedXData=q,this.processedYData=he}else this.groupMap=null;this.hasGroupedData=g,this.preventGraphAnimation=(l&&l.totalRange)!==(d&&d.totalRange)}function E(){this.groupedData&&(this.groupedData.forEach(function(O,f){O&&(this.groupedData[f]=O.destroy?O.destroy():null)},this),this.groupedData.length=0,delete this.allGroupedData)}function _(){D.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null}function b(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("hlc")?"hlc":this.is("column")||this.options.cumulative?"sum":"average"}function T(O,f,a,g){let U,se,w,y=this,o=y.data,n=y.options&&y.options.data,r=[],l=[],d=[],C=O.length,k=!!f,p=[],S=y.pointArrayMap,j=S&&S.length,H=["x"].concat(S||["y"]),Y=this.options.dataGrouping&&this.options.dataGrouping.groupAll,X=0,G=0,x="function"==typeof g?g:g&&Z[g]?Z[g]:Z[y.getDGApproximation&&y.getDGApproximation()||"average"];if(j){let R=S.length;for(;R--;)p.push([])}else p.push([]);let N=j||1;for(let R=0;R<=C;R++)if(!(O[R]=a[X+1]||R===C;){U=a[X],y.dataGroupInfo={start:Y?G:y.cropStart+G,length:p[0].length,groupStart:U},w=x.apply(y,p),y.pointClass&&!te(y.dataGroupInfo.options)&&(y.dataGroupInfo.options=F(y.pointClass.prototype.optionsToObject.call({series:y},y.options.data[y.cropStart+G])),H.forEach(function(K){delete y.dataGroupInfo.options[K]})),void 0!==w&&(r.push(U),l.push(w),d.push(y.dataGroupInfo)),G=R;for(let K=0;K{let J=pe.axis.getExtremes(),te=J.min,$=J.max,A=ve(pe.axis.minPointOffset,0);return re(te)&&re($)&&pe.value>=te-A&&pe.value<=$+A&&!pe.axis.options.isInternal})[0]},getFieldType:function(fe,pe){let J=le[fe],te=typeof pe;return ie(J)&&(te=J),{string:"text",number:"number",boolean:"checkbox"}[te]}}}),Pe(V,"Extensions/MouseWheelZoom/MouseWheelZoom.js",[V["Core/Utilities.js"],V["Extensions/Annotations/NavigationBindingsUtilities.js"]],function(Z,ie){let re,{addEvent:ve,isObject:le,pick:fe,defined:pe,merge:J}=Z,{getAssignedAxis:te}=ie,$=[],A={enabled:!0,sensitivity:1.1};function L(){let D=(D=>(le(D)||(D={enabled:D??!0}),J(A,D)))(this.zooming.mouseWheel);D.enabled&&ve(this.container,"wheel",I=>{I=this.pointer?.normalize(I)||I;let{pointer:E}=this,_=E&&!E.inClass(I.target,"highcharts-no-mousewheel");if(this.isInsidePlot(I.chartX-this.plotLeft,I.chartY-this.plotTop)&&_){let b=D.sensitivity||1.1,T=I.detail||(I.deltaY||0)/120,z=te(E.getCoordinates(I).xAxis),O=te(E.getCoordinates(I).yAxis);(function(D,I,E,_,b,T,z){let O=fe(z.type,D.zooming.type,""),f=[];"x"===O?f=E:"y"===O?f=_:"xy"===O&&(f=D.axes);let a=D.transform({axes:f,to:{x:b-5,y:T-5,width:10,height:10},from:{x:b-5*I,y:T-5*I,width:10*I,height:10*I},trigger:"mousewheel"});return a&&(pe(re)&&clearTimeout(re),re=setTimeout(()=>{D.pointer?.drop()},400)),a})(this,Math.pow(b,T),z?[z.axis]:this.xAxis,O?[O.axis]:this.yAxis,I.chartX,I.chartY,D)&&I.preventDefault?.()}})}return{compose:function(D){-1===$.indexOf(D)&&($.push(D),ve(D,"afterGetContainer",L))}}}),Pe(V,"masters/modules/mouse-wheel-zoom.src.js",[V["Core/Globals.js"],V["Extensions/MouseWheelZoom/MouseWheelZoom.js"]],function(Z,ie){return Z.MouseWheelZoom=Z.MouseWheelZoom||ie,Z.MouseWheelZoom.compose(Z.Chart),Z}),Pe(V,"masters/modules/stock.src.js",[V["Core/Globals.js"],V["Series/DataModifyComposition.js"],V["Stock/Navigator/Navigator.js"],V["Core/Axis/OrdinalAxis.js"],V["Stock/RangeSelector/RangeSelector.js"],V["Stock/Scrollbar/Scrollbar.js"],V["Core/Chart/StockChart.js"],V["Series/OHLC/OHLCSeries.js"],V["Series/Flags/FlagsSeries.js"]],function(Z,ie,re,ve,le,fe,pe,J,te){return Z.Navigator=Z.Navigator||re,Z.OrdinalAxis=Z.OrdinalAxis||ve,Z.RangeSelector=Z.RangeSelector||le,Z.Scrollbar=Z.Scrollbar||fe,Z.stockChart=Z.stockChart||pe.stockChart,Z.StockChart=Z.StockChart||Z.stockChart,Z.extend(Z.StockChart,pe),ie.compose(Z.Series,Z.Axis,Z.Point),te.compose(Z.Renderer),J.compose(Z.Series),Z.Navigator.compose(Z.Chart,Z.Axis,Z.Series),Z.OrdinalAxis.compose(Z.Axis,Z.Series,Z.Chart),Z.RangeSelector.compose(Z.Axis,Z.Chart),Z.Scrollbar.compose(Z.Axis),Z.StockChart.compose(Z.Chart,Z.Axis,Z.Series,Z.SVGRenderer),Z}),Pe(V,"masters/highstock.src.js",[V["masters/highcharts.src.js"]],function(Z){return Z.product="Highstock",Z}),V["masters/highstock.src.js"]._modules=V,V["masters/highstock.src.js"]},ri.exports?(V.default=V,ri.exports=e&&e.document?V(e):V):void 0!==(M=function(){return V(e)}.call(Ft,He,Ft,ri))&&(ri.exports=M)},38833:(ri,Ft,He)=>{var M,e,V;V=function(V){"use strict";var Pe=V?V._modules:{};function Z(ie,re,ve,le){ie.hasOwnProperty(re)||(ie[re]=le.apply(null,ve),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:re,module:ie[re]}})))}Z(Pe,"Core/Chart/ChartNavigationComposition.js",[],function(){var ie;return function(re){re.compose=function ve(fe){return fe.navigation||(fe.navigation=new le(fe)),fe};class le{constructor(pe){this.updates=[],this.chart=pe}addUpdate(pe){this.chart.navigation.updates.push(pe)}update(pe,J){this.updates.forEach(te=>{te.call(this.chart,pe,J)})}}re.Additions=le}(ie||(ie={})),ie}),Z(Pe,"Extensions/Exporting/ExportingDefaults.js",[Pe["Core/Globals.js"]],function(ie){const{isTouchDevice:re}=ie;return{exporting:{allowTableSorting:!0,type:"image/png",url:"https://export.highcharts.com/",pdfFont:{normal:void 0,bold:void 0,bolditalic:void 0,italic:void 0},printMaxWidth:780,scale:2,buttons:{contextButton:{className:"highcharts-contextbutton",menuClassName:"highcharts-contextmenu",symbol:"menu",titleKey:"contextButtonTitle",menuItems:["viewFullscreen","printChart","separator","downloadPNG","downloadJPEG","downloadPDF","downloadSVG"]}},menuItemDefinitions:{viewFullscreen:{textKey:"viewFullscreen",onclick:function(){this.fullscreen&&this.fullscreen.toggle()}},printChart:{textKey:"printChart",onclick:function(){this.print()}},separator:{separator:!0},downloadPNG:{textKey:"downloadPNG",onclick:function(){this.exportChart()}},downloadJPEG:{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},downloadPDF:{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},downloadSVG:{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}}},lang:{viewFullscreen:"View in full screen",exitFullscreen:"Exit from full screen",printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"},navigation:{buttonOptions:{symbolSize:14,symbolX:14.5,symbolY:13.5,align:"right",buttonSpacing:3,height:28,verticalAlign:"top",width:28,symbolFill:"#666666",symbolStroke:"#666666",symbolStrokeWidth:3,theme:{padding:5}},menuStyle:{border:"none",borderRadius:"3px",background:"#ffffff",padding:"0.5em"},menuItemStyle:{background:"none",borderRadius:"3px",color:"#333333",padding:"0.5em",fontSize:re?"0.9em":"0.8em",transition:"background 250ms, color 250ms"},menuItemHoverStyle:{background:"#f2f2f2"}}}}),Z(Pe,"Extensions/Exporting/ExportingSymbols.js",[],function(){var ie;return function(re){const ve=[];function fe(J,te,$,A){return[["M",J,te+2.5],["L",J+$,te+2.5],["M",J,te+A/2+.5],["L",J+$,te+A/2+.5],["M",J,te+A-1.5],["L",J+$,te+A-1.5]]}function pe(J,te,$,A){const B=A/3-2;let F=[];return F=F.concat(this.circle($-B,te,B,B),this.circle($-B,te+B+4,B,B),this.circle($-B,te+2*(B+4),B,B)),F}re.compose=function le(J){if(-1===ve.indexOf(J)){ve.push(J);const te=J.prototype.symbols;te.menu=fe,te.menuball=pe.bind(te)}}}(ie||(ie={})),ie}),Z(Pe,"Extensions/Exporting/Fullscreen.js",[Pe["Core/Renderer/HTML/AST.js"],Pe["Core/Globals.js"],Pe["Core/Utilities.js"]],function(ie,re,ve){const{composed:le}=re,{addEvent:fe,fireEvent:pe,pushUnique:J}=ve;function te(){this.fullscreen=new $(this)}class ${static compose(B){J(le,"Fullscreen")&&fe(B,"beforeRender",te)}constructor(B){this.chart=B,this.isOpen=!1;const F=B.renderTo;this.browserProps||("function"==typeof F.requestFullscreen?this.browserProps={fullscreenChange:"fullscreenchange",requestFullscreen:"requestFullscreen",exitFullscreen:"exitFullscreen"}:F.mozRequestFullScreen?this.browserProps={fullscreenChange:"mozfullscreenchange",requestFullscreen:"mozRequestFullScreen",exitFullscreen:"mozCancelFullScreen"}:F.webkitRequestFullScreen?this.browserProps={fullscreenChange:"webkitfullscreenchange",requestFullscreen:"webkitRequestFullScreen",exitFullscreen:"webkitExitFullscreen"}:F.msRequestFullscreen&&(this.browserProps={fullscreenChange:"MSFullscreenChange",requestFullscreen:"msRequestFullscreen",exitFullscreen:"msExitFullscreen"}))}close(){const B=this,F=B.chart,L=F.options.chart;pe(F,"fullscreenClose",null,function(){B.isOpen&&B.browserProps&&F.container.ownerDocument instanceof Document&&F.container.ownerDocument[B.browserProps.exitFullscreen](),B.unbindFullscreenEvent&&(B.unbindFullscreenEvent=B.unbindFullscreenEvent()),F.setSize(B.origWidth,B.origHeight,!1),B.origWidth=void 0,B.origHeight=void 0,L.width=B.origWidthOption,L.height=B.origHeightOption,B.origWidthOption=void 0,B.origHeightOption=void 0,B.isOpen=!1,B.setButtonText()})}open(){const B=this,F=B.chart,L=F.options.chart;pe(F,"fullscreenOpen",null,function(){if(L&&(B.origWidthOption=L.width,B.origHeightOption=L.height),B.origWidth=F.chartWidth,B.origHeight=F.chartHeight,B.browserProps){const D=fe(F.container.ownerDocument,B.browserProps.fullscreenChange,function(){B.isOpen?(B.isOpen=!1,B.close()):(F.setSize(null,null,!1),B.isOpen=!0,B.setButtonText())}),I=fe(F,"destroy",D);B.unbindFullscreenEvent=()=>{D(),I()};const E=F.renderTo[B.browserProps.requestFullscreen]();E&&E.catch(function(){alert("Full screen is not supported inside a frame.")})}})}setButtonText(){const B=this.chart,F=B.exportDivElements,L=B.options.exporting,D=L&&L.buttons&&L.buttons.contextButton.menuItems,I=B.options.lang;if(L&&L.menuItemDefinitions&&I&&I.exitFullscreen&&I.viewFullscreen&&D&&F){const E=F[D.indexOf("viewFullscreen")];E&&ie.setElementHTML(E,this.isOpen?I.exitFullscreen:L.menuItemDefinitions.viewFullscreen.text||I.viewFullscreen)}}toggle(){const B=this;B.isOpen?B.close():B.open()}}return $}),Z(Pe,"Core/HttpUtilities.js",[Pe["Core/Globals.js"],Pe["Core/Utilities.js"]],function(ie,re){const{win:ve}=ie,{discardElement:le,objectEach:fe}=re,$={ajax:function pe(A){const B={json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"},F=new XMLHttpRequest;function L(D,I){A.error&&A.error(D,I)}if(!A.url)return!1;F.open((A.type||"get").toUpperCase(),A.url,!0),(!A.headers||!A.headers["Content-Type"])&&F.setRequestHeader("Content-Type",B[A.dataType||"json"]||B.text),fe(A.headers,function(D,I){F.setRequestHeader(I,D)}),A.responseType&&(F.responseType=A.responseType),F.onreadystatechange=function(){let D;if(4===F.readyState){if(200===F.status){if("blob"!==A.responseType&&(D=F.responseText,"json"===A.dataType))try{D=JSON.parse(D)}catch(I){if(I instanceof Error)return L(F,I)}return A.success&&A.success(D,F)}L(F,F.responseText)}},A.data&&"string"!=typeof A.data&&(A.data=JSON.stringify(A.data)),F.send(A.data)},getJSON:function J(A,B){$.ajax({url:A,success:B,dataType:"json",headers:{"Content-Type":"text/plain"}})},post:function te(A,B,F){const L=new ve.FormData;fe(B,function(E,_){L.append(_,E)}),L.append("b64","true");const{filename:D,type:I}=B;return ve.fetch(A,{method:"POST",body:L,...F}).then(E=>{E.ok&&E.text().then(_=>{const b=document.createElement("a");b.href=`data:${I};base64,${_}`,b.download=D,b.click(),le(b)})})}};return $}),Z(Pe,"Extensions/Exporting/Exporting.js",[Pe["Core/Renderer/HTML/AST.js"],Pe["Core/Chart/Chart.js"],Pe["Core/Chart/ChartNavigationComposition.js"],Pe["Core/Defaults.js"],Pe["Extensions/Exporting/ExportingDefaults.js"],Pe["Extensions/Exporting/ExportingSymbols.js"],Pe["Extensions/Exporting/Fullscreen.js"],Pe["Core/Globals.js"],Pe["Core/HttpUtilities.js"],Pe["Core/Utilities.js"]],function(ie,re,ve,le,fe,pe,J,te,$,A){const{defaultOptions:B}=le,{doc:F,SVG_NS:L,win:D}=te,{addEvent:I,css:E,createElement:_,discardElement:b,extend:T,find:z,fireEvent:O,isObject:f,merge:a,objectEach:g,pick:y,removeEvent:o,uniqueKey:n}=A;var r;return function(l){const d=[/-/,/^(clipPath|cssText|d|height|width)$/,/^font$/,/[lL]ogical(Width|Height)$/,/^parentRule$/,/^(cssRules|ownerRules)$/,/perspective/,/TapHighlightColor/,/^transition/,/^length$/,/^[0-9]+$/],C=["fill","stroke","strokeLinecap","strokeLinejoin","strokeWidth","textAnchor","x","y"];l.inlineAllowlist=[];const k=["clipPath","defs","desc"];let p;function S(Ae){const Fe=this,oe=Fe.renderer,ee=a(Fe.options.navigation.buttonOptions,Ae),de=ee.onclick,ye=ee.menuItems,Te=ee.symbolSize||12;let _e;if(Fe.btnCount||(Fe.btnCount=0),Fe.exportDivElements||(Fe.exportDivElements=[],Fe.exportSVGElements=[]),!1===ee.enabled||!ee.theme)return;const Me=ee.theme;let Ee;Fe.styledMode||(Me.fill=y(Me.fill,"#ffffff"),Me.stroke=y(Me.stroke,"none")),de?Ee=function(Ze){Ze&&Ze.stopPropagation(),de.call(Fe,Ze)}:ye&&(Ee=function(Ze){Ze&&Ze.stopPropagation(),Fe.contextMenu(Xe.menuClassName,ye,Xe.translateX||0,Xe.translateY||0,Xe.width||0,Xe.height||0,Xe),Xe.setState(2)}),ee.text&&ee.symbol?Me.paddingLeft=y(Me.paddingLeft,30):ee.text||T(Me,{width:ee.width,height:ee.height,padding:0}),Fe.styledMode||(Me["stroke-linecap"]="round",Me.fill=y(Me.fill,"#ffffff"),Me.stroke=y(Me.stroke,"none"));const Xe=oe.button(ee.text,0,0,Ee,Me,void 0,void 0,void 0,void 0,ee.useHTML).addClass(Ae.className).attr({title:y(Fe.options.lang[ee._titleKey||ee.titleKey],"")});Xe.menuClassName=Ae.menuClassName||"highcharts-menu-"+Fe.btnCount++,ee.symbol&&(_e=oe.symbol(ee.symbol,ee.symbolX-Te/2,ee.symbolY-Te/2,Te,Te,{width:Te,height:Te}).addClass("highcharts-button-symbol").attr({zIndex:1}).add(Xe),Fe.styledMode||_e.attr({stroke:ee.symbolStroke,fill:ee.symbolFill,"stroke-width":ee.symbolStrokeWidth||1})),Xe.add(Fe.exportingGroup).align(T(ee,{width:Xe.width,x:y(ee.x,Fe.buttonOffset)}),!0,"spacingBox"),Fe.buttonOffset+=((Xe.width||0)+ee.buttonSpacing)*("right"===ee.align?-1:1),Fe.exportSVGElements.push(Xe,_e)}function j(){const Ae=this;if(!Ae.printReverseInfo)return;const{childNodes:Fe,origDisplay:oe,resetParams:ee}=Ae.printReverseInfo;Ae.moveContainers(Ae.renderTo),[].forEach.call(Fe,function(de,ye){1===de.nodeType&&(de.style.display=oe[ye]||"")}),Ae.isPrinting=!1,ee&&Ae.setSize.apply(Ae,ee),delete Ae.printReverseInfo,p=void 0,O(Ae,"afterPrint")}function H(){const Ae=this,Fe=F.body,oe=Ae.options.exporting.printMaxWidth,ee={childNodes:Fe.childNodes,origDisplay:[],resetParams:void 0};Ae.isPrinting=!0,Ae.pointer?.reset(void 0,0),O(Ae,"beforePrint"),oe&&Ae.chartWidth>oe&&(ee.resetParams=[Ae.options.chart.width,void 0,!1],Ae.setSize(oe,void 0,!1)),[].forEach.call(ee.childNodes,function(ye,Te){1===ye.nodeType&&(ee.origDisplay[Te]=ye.style.display,ye.style.display="none")}),Ae.moveContainers(Fe),Ae.printReverseInfo=ee}function Y(Ae){const Fe=Ae;Fe.renderExporting(),I(Ae,"redraw",Fe.renderExporting),I(Ae,"destroy",Fe.destroyExport)}function se(Ae,Fe,oe,ee,de,ye,Te){const _e=this,Me=_e.options.navigation,Ee=_e.chartWidth,Xe=_e.chartHeight,Ze="cache-"+Ae,lt=Math.max(de,ye);let Qe,st=_e[Ze];st||(_e.exportContextMenu=_e[Ze]=st=_("div",{className:Ae},{position:"absolute",zIndex:1e3,padding:lt+"px",pointerEvents:"auto",..._e.renderer.style},_e.scrollablePlotArea?.fixedDiv||_e.container),Qe=_("ul",{className:"highcharts-menu"},_e.styledMode?{}:{listStyle:"none",margin:0,padding:0},st),_e.styledMode||E(Qe,T({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},Me.menuStyle)),st.hideMenu=function(){E(st,{display:"none"}),Te&&Te.setState(0),_e.openMenu=!1,E(_e.renderTo,{overflow:"hidden"}),E(_e.container,{overflow:"hidden"}),A.clearTimeout(st.hideTimer),O(_e,"exportMenuHidden")},_e.exportEvents.push(I(st,"mouseleave",function(){st.hideTimer=D.setTimeout(st.hideMenu,500)}),I(st,"mouseenter",function(){A.clearTimeout(st.hideTimer)}),I(F,"mouseup",function(pt){_e.pointer?.inClass(pt.target,Ae)||st.hideMenu()}),I(st,"click",function(){_e.openMenu&&st.hideMenu()})),Fe.forEach(function(pt){if("string"==typeof pt&&(pt=_e.options.exporting.menuItemDefinitions[pt]),f(pt,!0)){let ht;pt.separator?ht=_("hr",void 0,void 0,Qe):("viewData"===pt.textKey&&_e.isDataTableVisible&&(pt.textKey="hideData"),ht=_("li",{className:"highcharts-menu-item",onclick:function(Lt){Lt&&Lt.stopPropagation(),st.hideMenu(),"string"!=typeof pt&&pt.onclick&&pt.onclick.apply(_e,arguments)}},void 0,Qe),ie.setElementHTML(ht,pt.text||_e.options.lang[pt.textKey]),_e.styledMode||(ht.onmouseover=function(){E(this,Me.menuItemHoverStyle)},ht.onmouseout=function(){E(this,Me.menuItemStyle)},E(ht,T({cursor:"pointer"},Me.menuItemStyle||{})))),_e.exportDivElements.push(ht)}}),_e.exportDivElements.push(Qe,st),_e.exportMenuWidth=st.offsetWidth,_e.exportMenuHeight=st.offsetHeight);const kt={display:"block"};oe+_e.exportMenuWidth>Ee?kt.right=Ee-oe-de-lt+"px":kt.left=oe-lt+"px",ee+ye+_e.exportMenuHeight>Xe&&"top"!==Te.alignOptions.verticalAlign?kt.bottom=Xe-ee-lt+"px":kt.top=ee+ye-lt+"px",E(st,kt),E(_e.renderTo,{overflow:""}),E(_e.container,{overflow:""}),_e.openMenu=!0,O(_e,"exportMenuShown")}function w(Ae){const Fe=Ae?Ae.target:this,oe=Fe.exportSVGElements,ee=Fe.exportDivElements,de=Fe.exportEvents;let ye;oe&&(oe.forEach((Te,_e)=>{Te&&(Te.onclick=Te.ontouchstart=null,ye="cache-"+Te.menuClassName,Fe[ye]&&delete Fe[ye],oe[_e]=Te.destroy())}),oe.length=0),Fe.exportingGroup&&(Fe.exportingGroup.destroy(),delete Fe.exportingGroup),ee&&(ee.forEach(function(Te,_e){Te&&(A.clearTimeout(Te.hideTimer),o(Te,"mouseleave"),ee[_e]=Te.onmouseout=Te.onmouseover=Te.ontouchstart=Te.onclick=null,b(Te))}),ee.length=0),de&&(de.forEach(function(Te){Te()}),de.length=0)}function X(Ae,Fe){const oe=this.getSVGForExport(Ae,Fe);Ae=a(this.options.exporting,Ae),$.post(Ae.url,{filename:Ae.filename?Ae.filename.replace(/\//g,"-"):this.getFilename(),type:Ae.type,width:Ae.width,scale:Ae.scale,svg:oe},Ae.fetchOptions)}function G(){return this.styledMode&&this.inlineStyles(),this.container.innerHTML}function x(){const Ae=this.userOptions.title&&this.userOptions.title.text;let Fe=this.options.exporting.filename;return Fe?Fe.replace(/\//g,"-"):("string"==typeof Ae&&(Fe=Ae.toLowerCase().replace(/<\/?[^>]+(>|$)/g,"").replace(/[\s_]+/g,"-").replace(/[^a-z0-9\-]/g,"").replace(/^[\-]+/g,"").replace(/[\-]+/g,"-").substr(0,24).replace(/[\-]+$/g,"")),(!Fe||Fe.length<5)&&(Fe="chart"),Fe)}function N(Ae){const Fe=this;let oe,ee,de=a(Fe.options,Ae);de.plotOptions=a(Fe.userOptions.plotOptions,Ae&&Ae.plotOptions),de.time=a(Fe.userOptions.time,Ae&&Ae.time);const ye=_("div",null,{position:"absolute",top:"-9999em",width:Fe.chartWidth+"px",height:Fe.chartHeight+"px"},F.body),Te=Fe.renderTo.style.width,_e=Fe.renderTo.style.height,Me=de.exporting.sourceWidth||de.chart.width||/px$/.test(Te)&&parseInt(Te,10)||(de.isGantt?800:600),Ee=de.exporting.sourceHeight||de.chart.height||/px$/.test(_e)&&parseInt(_e,10)||400;T(de.chart,{animation:!1,renderTo:ye,forExport:!0,renderer:"SVGRenderer",width:Me,height:Ee}),de.exporting.enabled=!1,delete de.data,de.series=[],Fe.series.forEach(function(lt){ee=a(lt.userOptions,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:lt.visible}),ee.isInternal||de.series.push(ee)});const Xe={};Fe.axes.forEach(function(lt){lt.userOptions.internalKey||(lt.userOptions.internalKey=n()),lt.options.isInternal||(Xe[lt.coll]||(Xe[lt.coll]=!0,de[lt.coll]=[]),de[lt.coll].push(a(lt.userOptions,{visible:lt.visible})))}),de.colorAxis=Fe.userOptions.colorAxis;const Ze=new Fe.constructor(de,Fe.callback);return Ae&&["xAxis","yAxis","series"].forEach(function(lt){const Qe={};Ae[lt]&&(Qe[lt]=Ae[lt],Ze.update(Qe))}),Fe.axes.forEach(function(lt){const Qe=z(Ze.axes,function(ht){return ht.options.internalKey===lt.userOptions.internalKey}),st=lt.getExtremes(),kt=st.userMin,pt=st.userMax;Qe&&(typeof kt<"u"&&kt!==Qe.min||typeof pt<"u"&&pt!==Qe.max)&&Qe.setExtremes(kt,pt,!0,!1)}),oe=Ze.getChartHTML(),O(this,"getSVG",{chartCopy:Ze}),oe=Fe.sanitizeSVG(oe,de),de=null,Ze.destroy(),b(ye),oe}function R(Ae,Fe){const oe=this.options.exporting;return this.getSVG(a({chart:{borderRadius:0}},oe.chartOptions,Fe,{exporting:{sourceWidth:Ae&&Ae.sourceWidth||oe.sourceWidth,sourceHeight:Ae&&Ae.sourceHeight||oe.sourceHeight}}))}function q(){const Ae=d,Fe=l.inlineAllowlist,oe={};let ee;const de=F.createElement("iframe");E(de,{width:"1px",height:"1px",visibility:"hidden"}),F.body.appendChild(de);const ye=de.contentWindow&&de.contentWindow.document;ye&&ye.body.appendChild(ye.createElementNS(L,"svg")),function Te(Me){const Ee={};let Xe,Ze,lt,Qe,st,kt;function pt(ht,Lt){if(Qe=st=!1,Fe.length){for(kt=Fe.length;kt--&&!st;)st=Fe[kt].test(Lt);Qe=!st}for("transform"===Lt&&"none"===ht&&(Qe=!0),kt=Ae.length;kt--&&!Qe;)Qe=Ae[kt].test(Lt)||"function"==typeof ht;Qe||(Ze[Lt]!==ht||"svg"===Me.nodeName)&&oe[Me.nodeName][Lt]!==ht&&(C&&-1===C.indexOf(Lt)?Ee[Lt]=ht:ht&&Me.setAttribute(function K(Ae){return Ae.replace(/([A-Z])/g,function(Fe,oe){return"-"+oe.toLowerCase()})}(Lt),ht))}if(ye&&1===Me.nodeType&&-1===k.indexOf(Me.nodeName)){if(Xe=D.getComputedStyle(Me,null),Ze="svg"===Me.nodeName?{}:D.getComputedStyle(Me.parentNode,null),!oe[Me.nodeName]){ee=ye.getElementsByTagName("svg")[0],lt=ye.createElementNS(Me.namespaceURI,Me.nodeName),ee.appendChild(lt);const ht=D.getComputedStyle(lt,null),Lt={};for(const Gt in ht)"string"==typeof ht[Gt]&&!/^[0-9]+$/.test(Gt)&&(Lt[Gt]=ht[Gt]);oe[Me.nodeName]=Lt,"text"===Me.nodeName&&delete oe.text.fill,ee.removeChild(lt)}for(const ht in Xe)(te.isFirefox||te.isMS||te.isSafari||Object.hasOwnProperty.call(Xe,ht))&&pt(Xe[ht],ht);if(E(Me,Ee),"svg"===Me.nodeName&&Me.setAttribute("stroke-width","1px"),"text"===Me.nodeName)return;[].forEach.call(Me.children||Me.childNodes,Te)}}(this.container.querySelector("svg")),function _e(){ee.parentNode.removeChild(ee),de.parentNode.removeChild(de)}()}function he(Ae){const{scrollablePlotArea:Fe}=this;(Fe?[Fe.fixedDiv,Fe.scrollingContainer]:[this.container]).forEach(function(oe){Ae.appendChild(oe)})}function me(){const Ae=this,Fe=(oe,ee,de)=>{Ae.isDirtyExporting=!0,a(!0,Ae.options[oe],ee),y(de,!0)&&Ae.redraw()};Ae.exporting={update:function(oe,ee){Fe("exporting",oe,ee)}},ve.compose(Ae).navigation.addUpdate((oe,ee)=>{Fe("navigation",oe,ee)})}function Ce(){const Ae=this;Ae.isPrinting||(p=Ae,te.isSafari||Ae.beforePrint(),setTimeout(()=>{D.focus(),D.print(),te.isSafari||setTimeout(()=>{Ae.afterPrint()},1e3)},1))}function Se(){const Ae=this,Fe=Ae.options.exporting,oe=Fe.buttons,ee=Ae.isDirtyExporting||!Ae.exportSVGElements;Ae.buttonOffset=0,Ae.isDirtyExporting&&Ae.destroyExport(),ee&&!1!==Fe.enabled&&(Ae.exportEvents=[],Ae.exportingGroup=Ae.exportingGroup||Ae.renderer.g("exporting-group").attr({zIndex:3}).add(),g(oe,function(de){Ae.addButton(de)}),Ae.isDirtyExporting=!1)}function Oe(Ae,Fe){const oe=Ae.indexOf("")+6;let ee=Ae.substr(oe);return Ae=Ae.substr(0,oe),Fe&&Fe.exporting&&Fe.exporting.allowHTML&&ee&&(ee=''+ee.replace(/(<(?:img|br).*?(?=\>))>/g,"$1 />")+"",Ae=Ae.replace("",ee+"")),Ae.replace(/zIndex="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery[0-9]+="[^"]+"/g,"").replace(/url\(("|")(.*?)("|")\;?\)/g,"url($2)").replace(/url\([^#]+#/g,"url(#").replace(/{"use strict";function Ft(e){return e instanceof Buffer?Buffer.from(e):new e.constructor(e.buffer.slice(),e.byteOffset,e.length)}ri.exports=function He(e){return(e=e||{}).circles?function M(e){var V=[],Pe=[];return e.proto?function re(ve){if("object"!=typeof ve||null===ve)return ve;if(ve instanceof Date)return new Date(ve);if(Array.isArray(ve))return Z(ve,re);if(ve instanceof Map)return new Map(Z(Array.from(ve),re));if(ve instanceof Set)return new Set(Z(Array.from(ve),re));var le={};for(var fe in V.push(ve),Pe.push(le),ve){var pe=ve[fe];if("object"!=typeof pe||null===pe)le[fe]=pe;else if(pe instanceof Date)le[fe]=new Date(pe);else if(pe instanceof Map)le[fe]=new Map(Z(Array.from(pe),re));else if(pe instanceof Set)le[fe]=new Set(Z(Array.from(pe),re));else if(ArrayBuffer.isView(pe))le[fe]=Ft(pe);else{var J=V.indexOf(pe);le[fe]=-1!==J?Pe[J]:re(pe)}}return V.pop(),Pe.pop(),le}:function ie(ve){if("object"!=typeof ve||null===ve)return ve;if(ve instanceof Date)return new Date(ve);if(Array.isArray(ve))return Z(ve,ie);if(ve instanceof Map)return new Map(Z(Array.from(ve),ie));if(ve instanceof Set)return new Set(Z(Array.from(ve),ie));var le={};for(var fe in V.push(ve),Pe.push(le),ve)if(!1!==Object.hasOwnProperty.call(ve,fe)){var pe=ve[fe];if("object"!=typeof pe||null===pe)le[fe]=pe;else if(pe instanceof Date)le[fe]=new Date(pe);else if(pe instanceof Map)le[fe]=new Map(Z(Array.from(pe),ie));else if(pe instanceof Set)le[fe]=new Set(Z(Array.from(pe),ie));else if(ArrayBuffer.isView(pe))le[fe]=Ft(pe);else{var J=V.indexOf(pe);le[fe]=-1!==J?Pe[J]:ie(pe)}}return V.pop(),Pe.pop(),le};function Z(ve,le){for(var fe=Object.keys(ve),pe=new Array(fe.length),J=0;J{"use strict";He.d(Ft,{t:()=>e});var M=He(21413);class e extends M.B{constructor(Pe){super(),this._value=Pe}get value(){return this.getValue()}_subscribe(Pe){const Z=super._subscribe(Pe);return!Z.closed&&Pe.next(this._value),Z}getValue(){const{hasError:Pe,thrownError:Z,_value:ie}=this;if(Pe)throw Z;return this._throwIfClosed(),ie}next(Pe){super.next(this._value=Pe)}}},71985:(ri,Ft,He)=>{"use strict";He.d(Ft,{c:()=>ve});var M=He(47707),e=He(18359),V=He(3494),Pe=He(71203),Z=He(41026),ie=He(98071),re=He(49786);let ve=(()=>{class J{constructor($){$&&(this._subscribe=$)}lift($){const A=new J;return A.source=this,A.operator=$,A}subscribe($,A,B){const F=function pe(J){return J&&J instanceof M.vU||function fe(J){return J&&(0,ie.T)(J.next)&&(0,ie.T)(J.error)&&(0,ie.T)(J.complete)}(J)&&(0,e.Uv)(J)}($)?$:new M.Ms($,A,B);return(0,re.Y)(()=>{const{operator:L,source:D}=this;F.add(L?L.call(F,D):D?this._subscribe(F):this._trySubscribe(F))}),F}_trySubscribe($){try{return this._subscribe($)}catch(A){$.error(A)}}forEach($,A){return new(A=le(A))((B,F)=>{const L=new M.Ms({next:D=>{try{$(D)}catch(I){F(I),L.unsubscribe()}},error:F,complete:B});this.subscribe(L)})}_subscribe($){var A;return null===(A=this.source)||void 0===A?void 0:A.subscribe($)}[V.s](){return this}pipe(...$){return(0,Pe.m)($)(this)}toPromise($){return new($=le($))((A,B)=>{let F;this.subscribe(L=>F=L,L=>B(L),()=>A(F))})}}return J.create=te=>new J(te),J})();function le(J){var te;return null!==(te=J??Z.$.Promise)&&void 0!==te?te:Promise}},21413:(ri,Ft,He)=>{"use strict";He.d(Ft,{B:()=>re});var M=He(71985),e=He(18359);const Pe=(0,He(81853).L)(le=>function(){le(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var Z=He(57908),ie=He(49786);let re=(()=>{class le extends M.c{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(pe){const J=new ve(this,this);return J.operator=pe,J}_throwIfClosed(){if(this.closed)throw new Pe}next(pe){(0,ie.Y)(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const J of this.currentObservers)J.next(pe)}})}error(pe){(0,ie.Y)(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=pe;const{observers:J}=this;for(;J.length;)J.shift().error(pe)}})}complete(){(0,ie.Y)(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:pe}=this;for(;pe.length;)pe.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var pe;return(null===(pe=this.observers)||void 0===pe?void 0:pe.length)>0}_trySubscribe(pe){return this._throwIfClosed(),super._trySubscribe(pe)}_subscribe(pe){return this._throwIfClosed(),this._checkFinalizedStatuses(pe),this._innerSubscribe(pe)}_innerSubscribe(pe){const{hasError:J,isStopped:te,observers:$}=this;return J||te?e.Kn:(this.currentObservers=null,$.push(pe),new e.yU(()=>{this.currentObservers=null,(0,Z.o)($,pe)}))}_checkFinalizedStatuses(pe){const{hasError:J,thrownError:te,isStopped:$}=this;J?pe.error(te):$&&pe.complete()}asObservable(){const pe=new M.c;return pe.source=this,pe}}return le.create=(fe,pe)=>new ve(fe,pe),le})();class ve extends re{constructor(fe,pe){super(),this.destination=fe,this.source=pe}next(fe){var pe,J;null===(J=null===(pe=this.destination)||void 0===pe?void 0:pe.next)||void 0===J||J.call(pe,fe)}error(fe){var pe,J;null===(J=null===(pe=this.destination)||void 0===pe?void 0:pe.error)||void 0===J||J.call(pe,fe)}complete(){var fe,pe;null===(pe=null===(fe=this.destination)||void 0===fe?void 0:fe.complete)||void 0===pe||pe.call(fe)}_subscribe(fe){var pe,J;return null!==(J=null===(pe=this.source)||void 0===pe?void 0:pe.subscribe(fe))&&void 0!==J?J:e.Kn}}},47707:(ri,Ft,He)=>{"use strict";He.d(Ft,{Ms:()=>B,vU:()=>J});var M=He(98071),e=He(18359),V=He(41026),Pe=He(45334),Z=He(85343);const ie=le("C",void 0,void 0);function le(E,_,b){return{kind:E,value:_,error:b}}var fe=He(19270),pe=He(49786);class J extends e.yU{constructor(_){super(),this.isStopped=!1,_?(this.destination=_,(0,e.Uv)(_)&&_.add(this)):this.destination=I}static create(_,b,T){return new B(_,b,T)}next(_){this.isStopped?D(function ve(E){return le("N",E,void 0)}(_),this):this._next(_)}error(_){this.isStopped?D(function re(E){return le("E",void 0,E)}(_),this):(this.isStopped=!0,this._error(_))}complete(){this.isStopped?D(ie,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(_){this.destination.next(_)}_error(_){try{this.destination.error(_)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const te=Function.prototype.bind;function $(E,_){return te.call(E,_)}class A{constructor(_){this.partialObserver=_}next(_){const{partialObserver:b}=this;if(b.next)try{b.next(_)}catch(T){F(T)}}error(_){const{partialObserver:b}=this;if(b.error)try{b.error(_)}catch(T){F(T)}else F(_)}complete(){const{partialObserver:_}=this;if(_.complete)try{_.complete()}catch(b){F(b)}}}class B extends J{constructor(_,b,T){let z;if(super(),(0,M.T)(_)||!_)z={next:_??void 0,error:b??void 0,complete:T??void 0};else{let O;this&&V.$.useDeprecatedNextContext?(O=Object.create(_),O.unsubscribe=()=>this.unsubscribe(),z={next:_.next&&$(_.next,O),error:_.error&&$(_.error,O),complete:_.complete&&$(_.complete,O)}):z=_}this.destination=new A(z)}}function F(E){V.$.useDeprecatedSynchronousErrorHandling?(0,pe.l)(E):(0,Pe.m)(E)}function D(E,_){const{onStoppedNotification:b}=V.$;b&&fe.f.setTimeout(()=>b(E,_))}const I={closed:!0,next:Z.l,error:function L(E){throw E},complete:Z.l}},18359:(ri,Ft,He)=>{"use strict";He.d(Ft,{Kn:()=>ie,yU:()=>Z,Uv:()=>re});var M=He(98071);const V=(0,He(81853).L)(le=>function(pe){le(this),this.message=pe?`${pe.length} errors occurred during unsubscription:\n${pe.map((J,te)=>`${te+1}) ${J.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=pe});var Pe=He(57908);class Z{constructor(fe){this.initialTeardown=fe,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let fe;if(!this.closed){this.closed=!0;const{_parentage:pe}=this;if(pe)if(this._parentage=null,Array.isArray(pe))for(const $ of pe)$.remove(this);else pe.remove(this);const{initialTeardown:J}=this;if((0,M.T)(J))try{J()}catch($){fe=$ instanceof V?$.errors:[$]}const{_finalizers:te}=this;if(te){this._finalizers=null;for(const $ of te)try{ve($)}catch(A){fe=fe??[],A instanceof V?fe=[...fe,...A.errors]:fe.push(A)}}if(fe)throw new V(fe)}}add(fe){var pe;if(fe&&fe!==this)if(this.closed)ve(fe);else{if(fe instanceof Z){if(fe.closed||fe._hasParent(this))return;fe._addParent(this)}(this._finalizers=null!==(pe=this._finalizers)&&void 0!==pe?pe:[]).push(fe)}}_hasParent(fe){const{_parentage:pe}=this;return pe===fe||Array.isArray(pe)&&pe.includes(fe)}_addParent(fe){const{_parentage:pe}=this;this._parentage=Array.isArray(pe)?(pe.push(fe),pe):pe?[pe,fe]:fe}_removeParent(fe){const{_parentage:pe}=this;pe===fe?this._parentage=null:Array.isArray(pe)&&(0,Pe.o)(pe,fe)}remove(fe){const{_finalizers:pe}=this;pe&&(0,Pe.o)(pe,fe),fe instanceof Z&&fe._removeParent(this)}}Z.EMPTY=(()=>{const le=new Z;return le.closed=!0,le})();const ie=Z.EMPTY;function re(le){return le instanceof Z||le&&"closed"in le&&(0,M.T)(le.remove)&&(0,M.T)(le.add)&&(0,M.T)(le.unsubscribe)}function ve(le){(0,M.T)(le)?le():le.unsubscribe()}},41026:(ri,Ft,He)=>{"use strict";He.d(Ft,{$:()=>M});const M={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1}},84572:(ri,Ft,He)=>{"use strict";He.d(Ft,{z:()=>fe});var M=He(71985),e=He(93073),V=He(86648),Pe=He(33669),Z=He(6450),ie=He(9326),re=He(58496),ve=He(54360),le=He(45225);function fe(...te){const $=(0,ie.lI)(te),A=(0,ie.ms)(te),{args:B,keys:F}=(0,e.D)(te);if(0===B.length)return(0,V.H)([],$);const L=new M.c(function pe(te,$,A=Pe.D){return B=>{J($,()=>{const{length:F}=te,L=new Array(F);let D=F,I=F;for(let E=0;E{const _=(0,V.H)(te[E],$);let b=!1;_.subscribe((0,ve._)(B,T=>{L[E]=T,b||(b=!0,I--),I||B.next(A(L.slice()))},()=>{--D||B.complete()}))},B)},B)}}(B,$,F?D=>(0,re.e)(F,D):Pe.D));return A?L.pipe((0,Z.I)(A)):L}function J(te,$,A){te?(0,le.N)(A,te,$):$()}},28793:(ri,Ft,He)=>{"use strict";He.d(Ft,{x:()=>Z});var M=He(26365),V=He(9326),Pe=He(86648);function Z(...ie){return function e(){return(0,M.U)(1)}()((0,Pe.H)(ie,(0,V.lI)(ie)))}},59030:(ri,Ft,He)=>{"use strict";He.d(Ft,{v:()=>V});var M=He(71985),e=He(58750);function V(Pe){return new M.c(Z=>{(0,e.Tg)(Pe()).subscribe(Z)})}},983:(ri,Ft,He)=>{"use strict";He.d(Ft,{w:()=>e});const e=new(He(71985).c)(Z=>Z.complete())},27468:(ri,Ft,He)=>{"use strict";He.d(Ft,{p:()=>ve});var M=He(71985),e=He(93073),V=He(58750),Pe=He(9326),Z=He(54360),ie=He(6450),re=He(58496);function ve(...le){const fe=(0,Pe.ms)(le),{args:pe,keys:J}=(0,e.D)(le),te=new M.c($=>{const{length:A}=pe;if(!A)return void $.complete();const B=new Array(A);let F=A,L=A;for(let D=0;D{I||(I=!0,L--),B[D]=E},()=>F--,void 0,()=>{(!F||!I)&&(L||$.next(J?(0,re.e)(J,B):B),$.complete())}))}});return fe?te.pipe((0,ie.I)(fe)):te}},86648:(ri,Ft,He)=>{"use strict";He.d(Ft,{H:()=>T});var M=He(58750),e=He(45225),V=He(39974),Pe=He(54360);function Z(z,O=0){return(0,V.N)((f,a)=>{f.subscribe((0,Pe._)(a,g=>(0,e.N)(a,z,()=>a.next(g),O),()=>(0,e.N)(a,z,()=>a.complete(),O),g=>(0,e.N)(a,z,()=>a.error(g),O)))})}function ie(z,O=0){return(0,V.N)((f,a)=>{a.add(z.schedule(()=>f.subscribe(a),O))})}var le=He(71985),pe=He(4761),J=He(98071);function $(z,O){if(!z)throw new Error("Iterable cannot be null");return new le.c(f=>{(0,e.N)(f,O,()=>{const a=z[Symbol.asyncIterator]();(0,e.N)(f,O,()=>{a.next().then(g=>{g.done?f.complete():f.next(g.value)})},0,!0)})})}var A=He(55055),B=He(59858),F=He(47441),L=He(85397),D=He(37953),I=He(50591),E=He(15196);function T(z,O){return O?function b(z,O){if(null!=z){if((0,A.l)(z))return function re(z,O){return(0,M.Tg)(z).pipe(ie(O),Z(O))}(z,O);if((0,F.X)(z))return function fe(z,O){return new le.c(f=>{let a=0;return O.schedule(function(){a===z.length?f.complete():(f.next(z[a++]),f.closed||this.schedule())})})}(z,O);if((0,B.y)(z))return function ve(z,O){return(0,M.Tg)(z).pipe(ie(O),Z(O))}(z,O);if((0,D.T)(z))return $(z,O);if((0,L.x)(z))return function te(z,O){return new le.c(f=>{let a;return(0,e.N)(f,O,()=>{a=z[pe.l](),(0,e.N)(f,O,()=>{let g,y;try{({value:g,done:y}=a.next())}catch(o){return void f.error(o)}y?f.complete():f.next(g)},0,!0)}),()=>(0,J.T)(a?.return)&&a.return()})}(z,O);if((0,E.U)(z))return function _(z,O){return $((0,E.C)(z),O)}(z,O)}throw(0,I.L)(z)}(z,O):(0,M.Tg)(z)}},33726:(ri,Ft,He)=>{"use strict";He.d(Ft,{R:()=>fe});var M=He(58750),e=He(71985),V=He(73028),Pe=He(47441),Z=He(98071),ie=He(6450);const re=["addListener","removeListener"],ve=["addEventListener","removeEventListener"],le=["on","off"];function fe(A,B,F,L){if((0,Z.T)(F)&&(L=F,F=void 0),L)return fe(A,B,F).pipe((0,ie.I)(L));const[D,I]=function $(A){return(0,Z.T)(A.addEventListener)&&(0,Z.T)(A.removeEventListener)}(A)?ve.map(E=>_=>A[E](B,_,F)):function J(A){return(0,Z.T)(A.addListener)&&(0,Z.T)(A.removeListener)}(A)?re.map(pe(A,B)):function te(A){return(0,Z.T)(A.on)&&(0,Z.T)(A.off)}(A)?le.map(pe(A,B)):[];if(!D&&(0,Pe.X)(A))return(0,V.Z)(E=>fe(E,B,F))((0,M.Tg)(A));if(!D)throw new TypeError("Invalid event target");return new e.c(E=>{const _=(...b)=>E.next(1I(_)})}function pe(A,B){return F=>L=>A[F](B,L)}},58750:(ri,Ft,He)=>{"use strict";He.d(Ft,{Sx:()=>B,Tg:()=>te});var M=He(31635),e=He(47441),V=He(59858),Pe=He(71985),Z=He(55055),ie=He(37953),re=He(50591),ve=He(85397),le=He(15196),fe=He(98071),pe=He(45334),J=He(3494);function te(E){if(E instanceof Pe.c)return E;if(null!=E){if((0,Z.l)(E))return function $(E){return new Pe.c(_=>{const b=E[J.s]();if((0,fe.T)(b.subscribe))return b.subscribe(_);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(E);if((0,e.X)(E))return function A(E){return new Pe.c(_=>{for(let b=0;b{for(const b of E)if(_.next(b),_.closed)return;_.complete()})}(E);if((0,le.U)(E))return function D(E){return L((0,le.C)(E))}(E)}throw(0,re.L)(E)}function B(E){return new Pe.c(_=>{E.then(b=>{_.closed||(_.next(b),_.complete())},b=>_.error(b)).then(null,pe.m)})}function L(E){return new Pe.c(_=>{(function I(E,_){var b,T,z,O;return(0,M.sH)(this,void 0,void 0,function*(){try{for(b=(0,M.xN)(E);!(T=yield b.next()).done;)if(_.next(T.value),_.closed)return}catch(f){z={error:f}}finally{try{T&&!T.done&&(O=b.return)&&(yield O.call(b))}finally{if(z)throw z.error}}_.complete()})})(E,_).catch(b=>_.error(b))})}},57786:(ri,Ft,He)=>{"use strict";He.d(Ft,{h:()=>ie});var M=He(26365),e=He(58750),V=He(983),Pe=He(9326),Z=He(86648);function ie(...re){const ve=(0,Pe.lI)(re),le=(0,Pe.R0)(re,1/0),fe=re;return fe.length?1===fe.length?(0,e.Tg)(fe[0]):(0,M.U)(le)((0,Z.H)(fe,ve)):V.w}},7673:(ri,Ft,He)=>{"use strict";He.d(Ft,{of:()=>V});var M=He(9326),e=He(86648);function V(...Pe){const Z=(0,M.lI)(Pe);return(0,e.H)(Pe,Z)}},18810:(ri,Ft,He)=>{"use strict";He.d(Ft,{$:()=>V});var M=He(71985),e=He(98071);function V(Pe,Z){const ie=(0,e.T)(Pe)?Pe:()=>Pe,re=ve=>ve.error(ie());return new M.c(Z?ve=>Z.schedule(re,0,ve):re)}},41584:(ri,Ft,He)=>{"use strict";He.d(Ft,{O:()=>Z});var M=He(71985),e=He(43236),V=He(79470);function Z(ie=0,re,ve=e.b){let le=-1;return null!=re&&((0,V.m)(re)?ve=re:le=re),new M.c(fe=>{let pe=function Pe(ie){return ie instanceof Date&&!isNaN(ie)}(ie)?+ie-ve.now():ie;pe<0&&(pe=0);let J=0;return ve.schedule(function(){fe.closed||(fe.next(J++),0<=le?this.schedule(void 0,le):fe.complete())},pe)})}},54360:(ri,Ft,He)=>{"use strict";He.d(Ft,{_:()=>e});var M=He(47707);function e(Pe,Z,ie,re,ve){return new V(Pe,Z,ie,re,ve)}class V extends M.vU{constructor(Z,ie,re,ve,le,fe){super(Z),this.onFinalize=le,this.shouldUnsubscribe=fe,this._next=ie?function(pe){try{ie(pe)}catch(J){Z.error(J)}}:super._next,this._error=ve?function(pe){try{ve(pe)}catch(J){Z.error(J)}finally{this.unsubscribe()}}:super._error,this._complete=re?function(){try{re()}catch(pe){Z.error(pe)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var Z;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:ie}=this;super.unsubscribe(),!ie&&(null===(Z=this.onFinalize)||void 0===Z||Z.call(this))}}}},99437:(ri,Ft,He)=>{"use strict";He.d(Ft,{W:()=>Pe});var M=He(58750),e=He(54360),V=He(39974);function Pe(Z){return(0,V.N)((ie,re)=>{let fe,ve=null,le=!1;ve=ie.subscribe((0,e._)(re,void 0,void 0,pe=>{fe=(0,M.Tg)(Z(pe,Pe(Z)(ie))),ve?(ve.unsubscribe(),ve=null,fe.subscribe(re)):le=!0})),le&&(ve.unsubscribe(),ve=null,fe.subscribe(re))})}},70274:(ri,Ft,He)=>{"use strict";He.d(Ft,{H:()=>V});var M=He(73028),e=He(98071);function V(Pe,Z){return(0,e.T)(Z)?(0,M.Z)(Pe,Z,1):(0,M.Z)(Pe,1)}},70152:(ri,Ft,He)=>{"use strict";He.d(Ft,{B:()=>Pe});var M=He(43236),e=He(39974),V=He(54360);function Pe(Z,ie=M.E){return(0,e.N)((re,ve)=>{let le=null,fe=null,pe=null;const J=()=>{if(le){le.unsubscribe(),le=null;const $=fe;fe=null,ve.next($)}};function te(){const $=pe+Z,A=ie.now();if(A<$)return le=this.schedule(void 0,$-A),void ve.add(le);J()}re.subscribe((0,V._)(ve,$=>{fe=$,pe=ie.now(),le||(le=ie.schedule(te,Z),ve.add(le))},()=>{J(),ve.complete()},void 0,()=>{fe=le=null}))})}},39901:(ri,Ft,He)=>{"use strict";He.d(Ft,{U:()=>V});var M=He(39974),e=He(54360);function V(Pe){return(0,M.N)((Z,ie)=>{let re=!1;Z.subscribe((0,e._)(ie,ve=>{re=!0,ie.next(ve)},()=>{re||ie.next(Pe),ie.complete()}))})}},91986:(ri,Ft,He)=>{"use strict";He.d(Ft,{c:()=>te});var M=He(43236),e=He(28793),V=He(96697),Pe=He(39974),Z=He(54360),ie=He(85343),ve=He(73703),le=He(73028),fe=He(58750);function pe($,A){return A?B=>(0,e.x)(A.pipe((0,V.s)(1),function re(){return(0,Pe.N)(($,A)=>{$.subscribe((0,Z._)(A,ie.l))})}()),B.pipe(pe($))):(0,le.Z)((B,F)=>(0,fe.Tg)($(B,F)).pipe((0,V.s)(1),(0,ve.u)(B)))}var J=He(41584);function te($,A=M.E){const B=(0,J.O)($,A);return pe(()=>B)}},23294:(ri,Ft,He)=>{"use strict";He.d(Ft,{F:()=>Pe});var M=He(33669),e=He(39974),V=He(54360);function Pe(ie,re=M.D){return ie=ie??Z,(0,e.N)((ve,le)=>{let fe,pe=!0;ve.subscribe((0,V._)(le,J=>{const te=re(J);(pe||!ie(fe,te))&&(pe=!1,fe=te,le.next(J))}))})}function Z(ie,re){return ie===re}},5964:(ri,Ft,He)=>{"use strict";He.d(Ft,{p:()=>V});var M=He(39974),e=He(54360);function V(Pe,Z){return(0,M.N)((ie,re)=>{let ve=0;ie.subscribe((0,e._)(re,le=>Pe.call(Z,le,ve++)&&re.next(le)))})}},70980:(ri,Ft,He)=>{"use strict";He.d(Ft,{j:()=>e});var M=He(39974);function e(V){return(0,M.N)((Pe,Z)=>{try{Pe.subscribe(Z)}finally{Z.add(V)}})}},96354:(ri,Ft,He)=>{"use strict";He.d(Ft,{T:()=>V});var M=He(39974),e=He(54360);function V(Pe,Z){return(0,M.N)((ie,re)=>{let ve=0;ie.subscribe((0,e._)(re,le=>{re.next(Pe.call(Z,le,ve++))}))})}},73703:(ri,Ft,He)=>{"use strict";He.d(Ft,{u:()=>e});var M=He(96354);function e(V){return(0,M.T)(()=>V)}},26365:(ri,Ft,He)=>{"use strict";He.d(Ft,{U:()=>V});var M=He(73028),e=He(33669);function V(Pe=1/0){return(0,M.Z)(e.D,Pe)}},85412:(ri,Ft,He)=>{"use strict";He.d(Ft,{h:()=>Pe});var M=He(58750),e=He(45225),V=He(54360);function Pe(Z,ie,re,ve,le,fe,pe,J){const te=[];let $=0,A=0,B=!1;const F=()=>{B&&!te.length&&!$&&ie.complete()},L=I=>${fe&&ie.next(I),$++;let E=!1;(0,M.Tg)(re(I,A++)).subscribe((0,V._)(ie,_=>{le?.(_),fe?L(_):ie.next(_)},()=>{E=!0},void 0,()=>{if(E)try{for($--;te.length&&$D(_)):D(_)}F()}catch(_){ie.error(_)}}))};return Z.subscribe((0,V._)(ie,L,()=>{B=!0,F()})),()=>{J?.()}}},73028:(ri,Ft,He)=>{"use strict";He.d(Ft,{Z:()=>ie});var M=He(96354),e=He(58750),V=He(39974),Pe=He(85412),Z=He(98071);function ie(re,ve,le=1/0){return(0,Z.T)(ve)?ie((fe,pe)=>(0,M.T)((J,te)=>ve(fe,J,pe,te))((0,e.Tg)(re(fe,pe))),le):("number"==typeof ve&&(le=ve),(0,V.N)((fe,pe)=>(0,Pe.h)(fe,pe,re,le)))}},97647:(ri,Ft,He)=>{"use strict";He.d(Ft,{u:()=>Z});var M=He(58750),e=He(21413),V=He(47707),Pe=He(39974);function Z(re={}){const{connector:ve=(()=>new e.B),resetOnError:le=!0,resetOnComplete:fe=!0,resetOnRefCountZero:pe=!0}=re;return J=>{let te,$,A,B=0,F=!1,L=!1;const D=()=>{$?.unsubscribe(),$=void 0},I=()=>{D(),te=A=void 0,F=L=!1},E=()=>{const _=te;I(),_?.unsubscribe()};return(0,Pe.N)((_,b)=>{B++,!L&&!F&&D();const T=A=A??ve();b.add(()=>{B--,0===B&&!L&&!F&&($=ie(E,pe))}),T.subscribe(b),!te&&B>0&&(te=new V.Ms({next:z=>T.next(z),error:z=>{L=!0,D(),$=ie(I,le,z),T.error(z)},complete:()=>{F=!0,D(),$=ie(I,fe),T.complete()}}),(0,M.Tg)(_).subscribe(te))})(J)}}function ie(re,ve,...le){if(!0===ve)return void re();if(!1===ve)return;const fe=new V.Ms({next:()=>{fe.unsubscribe(),re()}});return(0,M.Tg)(ve(...le)).subscribe(fe)}},99172:(ri,Ft,He)=>{"use strict";He.d(Ft,{Z:()=>Pe});var M=He(28793),e=He(9326),V=He(39974);function Pe(...Z){const ie=(0,e.lI)(Z);return(0,V.N)((re,ve)=>{(ie?(0,M.x)(Z,re,ie):(0,M.x)(Z,re)).subscribe(ve)})}},25558:(ri,Ft,He)=>{"use strict";He.d(Ft,{n:()=>Pe});var M=He(58750),e=He(39974),V=He(54360);function Pe(Z,ie){return(0,e.N)((re,ve)=>{let le=null,fe=0,pe=!1;const J=()=>pe&&!le&&ve.complete();re.subscribe((0,V._)(ve,te=>{le?.unsubscribe();let $=0;const A=fe++;(0,M.Tg)(Z(te,A)).subscribe(le=(0,V._)(ve,B=>ve.next(ie?ie(te,B,A,$++):B),()=>{le=null,J()}))},()=>{pe=!0,J()}))})}},96697:(ri,Ft,He)=>{"use strict";He.d(Ft,{s:()=>Pe});var M=He(983),e=He(39974),V=He(54360);function Pe(Z){return Z<=0?()=>M.w:(0,e.N)((ie,re)=>{let ve=0;ie.subscribe((0,V._)(re,le=>{++ve<=Z&&(re.next(le),Z<=ve&&re.complete())}))})}},56977:(ri,Ft,He)=>{"use strict";He.d(Ft,{Q:()=>Z});var M=He(39974),e=He(54360),V=He(58750),Pe=He(85343);function Z(ie){return(0,M.N)((re,ve)=>{(0,V.Tg)(ie).subscribe((0,e._)(ve,()=>ve.complete(),Pe.l)),!ve.closed&&re.subscribe(ve)})}},88141:(ri,Ft,He)=>{"use strict";He.d(Ft,{M:()=>Z});var M=He(98071),e=He(39974),V=He(54360),Pe=He(33669);function Z(ie,re,ve){const le=(0,M.T)(ie)||re||ve?{next:ie,error:re,complete:ve}:ie;return le?(0,e.N)((fe,pe)=>{var J;null===(J=le.subscribe)||void 0===J||J.call(le);let te=!0;fe.subscribe((0,V._)(pe,$=>{var A;null===(A=le.next)||void 0===A||A.call(le,$),pe.next($)},()=>{var $;te=!1,null===($=le.complete)||void 0===$||$.call(le),pe.complete()},$=>{var A;te=!1,null===(A=le.error)||void 0===A||A.call(le,$),pe.error($)},()=>{var $,A;te&&(null===($=le.unsubscribe)||void 0===$||$.call(le)),null===(A=le.finalize)||void 0===A||A.call(le)}))}):Pe.D}},96780:(ri,Ft,He)=>{"use strict";He.d(Ft,{R:()=>Z});var M=He(18359);class e extends M.yU{constructor(re,ve){super()}schedule(re,ve=0){return this}}const V={setInterval(ie,re,...ve){const{delegate:le}=V;return le?.setInterval?le.setInterval(ie,re,...ve):setInterval(ie,re,...ve)},clearInterval(ie){const{delegate:re}=V;return(re?.clearInterval||clearInterval)(ie)},delegate:void 0};var Pe=He(57908);class Z extends e{constructor(re,ve){super(re,ve),this.scheduler=re,this.work=ve,this.pending=!1}schedule(re,ve=0){var le;if(this.closed)return this;this.state=re;const fe=this.id,pe=this.scheduler;return null!=fe&&(this.id=this.recycleAsyncId(pe,fe,ve)),this.pending=!0,this.delay=ve,this.id=null!==(le=this.id)&&void 0!==le?le:this.requestAsyncId(pe,this.id,ve),this}requestAsyncId(re,ve,le=0){return V.setInterval(re.flush.bind(re,this),le)}recycleAsyncId(re,ve,le=0){if(null!=le&&this.delay===le&&!1===this.pending)return ve;null!=ve&&V.clearInterval(ve)}execute(re,ve){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const le=this._execute(re,ve);if(le)return le;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(re,ve){let fe,le=!1;try{this.work(re)}catch(pe){le=!0,fe=pe||new Error("Scheduled action threw falsy error")}if(le)return this.unsubscribe(),fe}unsubscribe(){if(!this.closed){const{id:re,scheduler:ve}=this,{actions:le}=ve;this.work=this.state=this.scheduler=null,this.pending=!1,(0,Pe.o)(le,this),null!=re&&(this.id=this.recycleAsyncId(ve,re,null)),this.delay=null,super.unsubscribe()}}}},39687:(ri,Ft,He)=>{"use strict";He.d(Ft,{q:()=>V});var M=He(86129);class e{constructor(Z,ie=e.now){this.schedulerActionCtor=Z,this.now=ie}schedule(Z,ie=0,re){return new this.schedulerActionCtor(this,Z).schedule(re,ie)}}e.now=M.U.now;class V extends e{constructor(Z,ie=e.now){super(Z,ie),this.actions=[],this._active=!1}flush(Z){const{actions:ie}=this;if(this._active)return void ie.push(Z);let re;this._active=!0;do{if(re=Z.execute(Z.state,Z.delay))break}while(Z=ie.shift());if(this._active=!1,re){for(;Z=ie.shift();)Z.unsubscribe();throw re}}}},30536:(ri,Ft,He)=>{"use strict";He.d(Ft,{X:()=>re});var M=He(96780),e=He(18359);const V={schedule(le){let fe=requestAnimationFrame,pe=cancelAnimationFrame;const{delegate:J}=V;J&&(fe=J.requestAnimationFrame,pe=J.cancelAnimationFrame);const te=fe($=>{pe=void 0,le($)});return new e.yU(()=>pe?.(te))},requestAnimationFrame(...le){const{delegate:fe}=V;return(fe?.requestAnimationFrame||requestAnimationFrame)(...le)},cancelAnimationFrame(...le){const{delegate:fe}=V;return(fe?.cancelAnimationFrame||cancelAnimationFrame)(...le)},delegate:void 0};var Z=He(39687);const re=new class ie extends Z.q{flush(fe){this._active=!0;const pe=this._scheduled;this._scheduled=void 0;const{actions:J}=this;let te;fe=fe||J.shift();do{if(te=fe.execute(fe.state,fe.delay))break}while((fe=J[0])&&fe.id===pe&&J.shift());if(this._active=!1,te){for(;(fe=J[0])&&fe.id===pe&&J.shift();)fe.unsubscribe();throw te}}}(class Pe extends M.R{constructor(fe,pe){super(fe,pe),this.scheduler=fe,this.work=pe}requestAsyncId(fe,pe,J=0){return null!==J&&J>0?super.requestAsyncId(fe,pe,J):(fe.actions.push(this),fe._scheduled||(fe._scheduled=V.requestAnimationFrame(()=>fe.flush(void 0))))}recycleAsyncId(fe,pe,J=0){var te;if(null!=J?J>0:this.delay>0)return super.recycleAsyncId(fe,pe,J);const{actions:$}=fe;null!=pe&&(null===(te=$[$.length-1])||void 0===te?void 0:te.id)!==pe&&(V.cancelAnimationFrame(pe),fe._scheduled=void 0)}})},43236:(ri,Ft,He)=>{"use strict";He.d(Ft,{E:()=>V,b:()=>Pe});var M=He(96780);const V=new(He(39687).q)(M.R),Pe=V},86129:(ri,Ft,He)=>{"use strict";He.d(Ft,{U:()=>M});const M={now:()=>(M.delegate||Date).now(),delegate:void 0}},19270:(ri,Ft,He)=>{"use strict";He.d(Ft,{f:()=>M});const M={setTimeout(e,V,...Pe){const{delegate:Z}=M;return Z?.setTimeout?Z.setTimeout(e,V,...Pe):setTimeout(e,V,...Pe)},clearTimeout(e){const{delegate:V}=M;return(V?.clearTimeout||clearTimeout)(e)},delegate:void 0}},4761:(ri,Ft,He)=>{"use strict";He.d(Ft,{l:()=>e});const e=function M(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}()},3494:(ri,Ft,He)=>{"use strict";He.d(Ft,{s:()=>M});const M="function"==typeof Symbol&&Symbol.observable||"@@observable"},9326:(ri,Ft,He)=>{"use strict";He.d(Ft,{R0:()=>ie,lI:()=>Z,ms:()=>Pe});var M=He(98071),e=He(79470);function V(re){return re[re.length-1]}function Pe(re){return(0,M.T)(V(re))?re.pop():void 0}function Z(re){return(0,e.m)(V(re))?re.pop():void 0}function ie(re,ve){return"number"==typeof V(re)?re.pop():ve}},93073:(ri,Ft,He)=>{"use strict";He.d(Ft,{D:()=>Z});const{isArray:M}=Array,{getPrototypeOf:e,prototype:V,keys:Pe}=Object;function Z(re){if(1===re.length){const ve=re[0];if(M(ve))return{args:ve,keys:null};if(function ie(re){return re&&"object"==typeof re&&e(re)===V}(ve)){const le=Pe(ve);return{args:le.map(fe=>ve[fe]),keys:le}}}return{args:re,keys:null}}},57908:(ri,Ft,He)=>{"use strict";function M(e,V){if(e){const Pe=e.indexOf(V);0<=Pe&&e.splice(Pe,1)}}He.d(Ft,{o:()=>M})},81853:(ri,Ft,He)=>{"use strict";function M(e){const Pe=e(Z=>{Error.call(Z),Z.stack=(new Error).stack});return Pe.prototype=Object.create(Error.prototype),Pe.prototype.constructor=Pe,Pe}He.d(Ft,{L:()=>M})},58496:(ri,Ft,He)=>{"use strict";function M(e,V){return e.reduce((Pe,Z,ie)=>(Pe[Z]=V[ie],Pe),{})}He.d(Ft,{e:()=>M})},49786:(ri,Ft,He)=>{"use strict";He.d(Ft,{Y:()=>V,l:()=>Pe});var M=He(41026);let e=null;function V(Z){if(M.$.useDeprecatedSynchronousErrorHandling){const ie=!e;if(ie&&(e={errorThrown:!1,error:null}),Z(),ie){const{errorThrown:re,error:ve}=e;if(e=null,re)throw ve}}else Z()}function Pe(Z){M.$.useDeprecatedSynchronousErrorHandling&&e&&(e.errorThrown=!0,e.error=Z)}},45225:(ri,Ft,He)=>{"use strict";function M(e,V,Pe,Z=0,ie=!1){const re=V.schedule(function(){Pe(),ie?e.add(this.schedule(null,Z)):this.unsubscribe()},Z);if(e.add(re),!ie)return re}He.d(Ft,{N:()=>M})},33669:(ri,Ft,He)=>{"use strict";function M(e){return e}He.d(Ft,{D:()=>M})},47441:(ri,Ft,He)=>{"use strict";He.d(Ft,{X:()=>M});const M=e=>e&&"number"==typeof e.length&&"function"!=typeof e},37953:(ri,Ft,He)=>{"use strict";He.d(Ft,{T:()=>e});var M=He(98071);function e(V){return Symbol.asyncIterator&&(0,M.T)(V?.[Symbol.asyncIterator])}},98071:(ri,Ft,He)=>{"use strict";function M(e){return"function"==typeof e}He.d(Ft,{T:()=>M})},55055:(ri,Ft,He)=>{"use strict";He.d(Ft,{l:()=>V});var M=He(3494),e=He(98071);function V(Pe){return(0,e.T)(Pe[M.s])}},85397:(ri,Ft,He)=>{"use strict";He.d(Ft,{x:()=>V});var M=He(4761),e=He(98071);function V(Pe){return(0,e.T)(Pe?.[M.l])}},74402:(ri,Ft,He)=>{"use strict";He.d(Ft,{A:()=>V});var M=He(71985),e=He(98071);function V(Pe){return!!Pe&&(Pe instanceof M.c||(0,e.T)(Pe.lift)&&(0,e.T)(Pe.subscribe))}},59858:(ri,Ft,He)=>{"use strict";He.d(Ft,{y:()=>e});var M=He(98071);function e(V){return(0,M.T)(V?.then)}},15196:(ri,Ft,He)=>{"use strict";He.d(Ft,{C:()=>V,U:()=>Pe});var M=He(31635),e=He(98071);function V(Z){return(0,M.AQ)(this,arguments,function*(){const re=Z.getReader();try{for(;;){const{value:ve,done:le}=yield(0,M.N3)(re.read());if(le)return yield(0,M.N3)(void 0);yield yield(0,M.N3)(ve)}}finally{re.releaseLock()}})}function Pe(Z){return(0,e.T)(Z?.getReader)}},79470:(ri,Ft,He)=>{"use strict";He.d(Ft,{m:()=>e});var M=He(98071);function e(V){return V&&(0,M.T)(V.schedule)}},39974:(ri,Ft,He)=>{"use strict";He.d(Ft,{N:()=>V,S:()=>e});var M=He(98071);function e(Pe){return(0,M.T)(Pe?.lift)}function V(Pe){return Z=>{if(e(Z))return Z.lift(function(ie){try{return Pe(ie,this)}catch(re){this.error(re)}});throw new TypeError("Unable to lift unknown Observable type")}}},6450:(ri,Ft,He)=>{"use strict";He.d(Ft,{I:()=>Pe});var M=He(96354);const{isArray:e}=Array;function Pe(Z){return(0,M.T)(ie=>function V(Z,ie){return e(ie)?Z(...ie):Z(ie)}(Z,ie))}},85343:(ri,Ft,He)=>{"use strict";function M(){}He.d(Ft,{l:()=>M})},71203:(ri,Ft,He)=>{"use strict";He.d(Ft,{F:()=>e,m:()=>V});var M=He(33669);function e(...Pe){return V(Pe)}function V(Pe){return 0===Pe.length?M.D:1===Pe.length?Pe[0]:function(ie){return Pe.reduce((re,ve)=>ve(re),ie)}}},45334:(ri,Ft,He)=>{"use strict";He.d(Ft,{m:()=>V});var M=He(41026),e=He(19270);function V(Pe){e.f.setTimeout(()=>{const{onUnhandledError:Z}=M.$;if(!Z)throw Pe;Z(Pe)})}},50591:(ri,Ft,He)=>{"use strict";function M(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}He.d(Ft,{L:()=>M})},49969:(ri,Ft,He)=>{"use strict";He.d(Ft,{FX:()=>O,If:()=>M,K2:()=>ie,hZ:()=>V,i0:()=>Pe,iF:()=>re,kY:()=>fe,kp:()=>e,lY:()=>pe,sM:()=>te,sf:()=>T,ui:()=>z,wk:()=>ve});var M=function(f){return f[f.State=0]="State",f[f.Transition=1]="Transition",f[f.Sequence=2]="Sequence",f[f.Group=3]="Group",f[f.Animate=4]="Animate",f[f.Keyframes=5]="Keyframes",f[f.Style=6]="Style",f[f.Trigger=7]="Trigger",f[f.Reference=8]="Reference",f[f.AnimateChild=9]="AnimateChild",f[f.AnimateRef=10]="AnimateRef",f[f.Query=11]="Query",f[f.Stagger=12]="Stagger",f}(M||{});const e="*";function V(f,a){return{type:M.Trigger,name:f,definitions:a,options:{}}}function Pe(f,a=null){return{type:M.Animate,styles:a,timings:f}}function ie(f,a=null){return{type:M.Sequence,steps:f,options:a}}function re(f){return{type:M.Style,styles:f,offset:null}}function ve(f,a,g){return{type:M.State,name:f,styles:a,options:g}}function fe(f,a,g=null){return{type:M.Transition,expr:f,animation:a,options:g}}function pe(f,a=null){return{type:M.Reference,animation:f,options:a}}function te(f,a=null){return{type:M.AnimateRef,animation:f,options:a}}class T{constructor(a=0,g=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._originalOnDoneFns=[],this._originalOnStartFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=a+g}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(a=>a()),this._onDoneFns=[])}onStart(a){this._originalOnStartFns.push(a),this._onStartFns.push(a)}onDone(a){this._originalOnDoneFns.push(a),this._onDoneFns.push(a)}onDestroy(a){this._onDestroyFns.push(a)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(a=>a()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(a=>a()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(a){this._position=this.totalTime?a*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(a){const g="start"==a?this._onStartFns:this._onDoneFns;g.forEach(y=>y()),g.length=0}}class z{constructor(a){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=a;let g=0,y=0,o=0;const n=this.players.length;0==n?queueMicrotask(()=>this._onFinish()):this.players.forEach(r=>{r.onDone(()=>{++g==n&&this._onFinish()}),r.onDestroy(()=>{++y==n&&this._onDestroy()}),r.onStart(()=>{++o==n&&this._onStart()})}),this.totalTime=this.players.reduce((r,l)=>Math.max(r,l.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(a=>a()),this._onDoneFns=[])}init(){this.players.forEach(a=>a.init())}onStart(a){this._onStartFns.push(a)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(a=>a()),this._onStartFns=[])}onDone(a){this._onDoneFns.push(a)}onDestroy(a){this._onDestroyFns.push(a)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(a=>a.play())}pause(){this.players.forEach(a=>a.pause())}restart(){this.players.forEach(a=>a.restart())}finish(){this._onFinish(),this.players.forEach(a=>a.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(a=>a.destroy()),this._onDestroyFns.forEach(a=>a()),this._onDestroyFns=[])}reset(){this.players.forEach(a=>a.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(a){const g=a*this.totalTime;this.players.forEach(y=>{const o=y.totalTime?Math.min(1,g/y.totalTime):1;y.setPosition(o)})}getPosition(){const a=this.players.reduce((g,y)=>null===g||y.totalTime>g.totalTime?y:g,null);return null!=a?a.getPosition():0}beforeDestroy(){this.players.forEach(a=>{a.beforeDestroy&&a.beforeDestroy()})}triggerCallback(a){const g="start"==a?this._onStartFns:this._onDoneFns;g.forEach(y=>y()),g.length=0}}const O="!"},83801:(ri,Ft,He)=>{"use strict";He.d(Ft,{B0:()=>Pe,FQ:()=>re});var M=He(60177),e=He(54438);class V{constructor(le,fe){this._document=fe;const pe=this._textarea=this._document.createElement("textarea"),J=pe.style;J.position="fixed",J.top=J.opacity="0",J.left="-999em",pe.setAttribute("aria-hidden","true"),pe.value=le,pe.readOnly=!0,(this._document.fullscreenElement||this._document.body).appendChild(pe)}copy(){const le=this._textarea;let fe=!1;try{if(le){const pe=this._document.activeElement;le.select(),le.setSelectionRange(0,le.value.length),fe=this._document.execCommand("copy"),pe&&pe.focus()}}catch{}return fe}destroy(){const le=this._textarea;le&&(le.remove(),this._textarea=void 0)}}let Pe=(()=>{class ve{constructor(fe){this._document=fe}copy(fe){const pe=this.beginCopy(fe),J=pe.copy();return pe.destroy(),J}beginCopy(fe){return new V(fe,this._document)}static#e=this.\u0275fac=function(pe){return new(pe||ve)(e.KVO(M.qQ))};static#t=this.\u0275prov=e.jDH({token:ve,factory:ve.\u0275fac,providedIn:"root"})}return ve})(),re=(()=>{class ve{static#e=this.\u0275fac=function(pe){return new(pe||ve)};static#t=this.\u0275mod=e.$C({type:ve});static#i=this.\u0275inj=e.G2t({})}return ve})()},60177:(ri,Ft,He)=>{"use strict";He.d(Ft,{AJ:()=>vo,B3:()=>Ki,Jj:()=>mn,MD:()=>ma,N0:()=>va,QT:()=>V,Sm:()=>B,Sq:()=>si,T3:()=>Tn,UE:()=>tr,VF:()=>Z,Vy:()=>hl,XO:()=>r,Xr:()=>rr,YU:()=>$e,Yq:()=>ye,ZD:()=>Pe,_b:()=>Nt,aZ:()=>L,bT:()=>Hi,cH:()=>f,e1:()=>er,fG:()=>is,fw:()=>F,hb:()=>$,hj:()=>le,kB:()=>A,lG:()=>xr,oV:()=>O,qQ:()=>re,tL:()=>l,ux:()=>rs,vh:()=>Hs});var M=He(54438);let e=null;function V(){return e}function Pe(Ge){e??=Ge}class Z{}const re=new M.nKC("");let ve=(()=>{class Ge{historyGo(Ke){throw new Error("")}static#e=this.\u0275fac=function(at){return new(at||Ge)};static#t=this.\u0275prov=M.jDH({token:Ge,factory:()=>(0,M.WQX)(fe),providedIn:"platform"})}return Ge})();const le=new M.nKC("");let fe=(()=>{class Ge extends ve{constructor(){super(),this._doc=(0,M.WQX)(re),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return V().getBaseHref(this._doc)}onPopState(Ke){const at=V().getGlobalEventTarget(this._doc,"window");return at.addEventListener("popstate",Ke,!1),()=>at.removeEventListener("popstate",Ke)}onHashChange(Ke){const at=V().getGlobalEventTarget(this._doc,"window");return at.addEventListener("hashchange",Ke,!1),()=>at.removeEventListener("hashchange",Ke)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(Ke){this._location.pathname=Ke}pushState(Ke,at,Et){this._history.pushState(Ke,at,Et)}replaceState(Ke,at,Et){this._history.replaceState(Ke,at,Et)}forward(){this._history.forward()}back(){this._history.back()}historyGo(Ke=0){this._history.go(Ke)}getState(){return this._history.state}static#e=this.\u0275fac=function(at){return new(at||Ge)};static#t=this.\u0275prov=M.jDH({token:Ge,factory:()=>new Ge,providedIn:"platform"})}return Ge})();function pe(Ge,ut){if(0==Ge.length)return ut;if(0==ut.length)return Ge;let Ke=0;return Ge.endsWith("/")&&Ke++,ut.startsWith("/")&&Ke++,2==Ke?Ge+ut.substring(1):1==Ke?Ge+ut:Ge+"/"+ut}function J(Ge){const ut=Ge.match(/#|\?|$/),Ke=ut&&ut.index||Ge.length;return Ge.slice(0,Ke-("/"===Ge[Ke-1]?1:0))+Ge.slice(Ke)}function te(Ge){return Ge&&"?"!==Ge[0]?"?"+Ge:Ge}let $=(()=>{class Ge{historyGo(Ke){throw new Error("")}static#e=this.\u0275fac=function(at){return new(at||Ge)};static#t=this.\u0275prov=M.jDH({token:Ge,factory:()=>(0,M.WQX)(B),providedIn:"root"})}return Ge})();const A=new M.nKC("");let B=(()=>{class Ge extends ${constructor(Ke,at){super(),this._platformLocation=Ke,this._removeListenerFns=[],this._baseHref=at??this._platformLocation.getBaseHrefFromDOM()??(0,M.WQX)(re).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(Ke){this._removeListenerFns.push(this._platformLocation.onPopState(Ke),this._platformLocation.onHashChange(Ke))}getBaseHref(){return this._baseHref}prepareExternalUrl(Ke){return pe(this._baseHref,Ke)}path(Ke=!1){const at=this._platformLocation.pathname+te(this._platformLocation.search),Et=this._platformLocation.hash;return Et&&Ke?`${at}${Et}`:at}pushState(Ke,at,Et,qt){const ci=this.prepareExternalUrl(Et+te(qt));this._platformLocation.pushState(Ke,at,ci)}replaceState(Ke,at,Et,qt){const ci=this.prepareExternalUrl(Et+te(qt));this._platformLocation.replaceState(Ke,at,ci)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(Ke=0){this._platformLocation.historyGo?.(Ke)}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.KVO(ve),M.KVO(A,8))};static#t=this.\u0275prov=M.jDH({token:Ge,factory:Ge.\u0275fac,providedIn:"root"})}return Ge})(),F=(()=>{class Ge extends ${constructor(Ke,at){super(),this._platformLocation=Ke,this._baseHref="",this._removeListenerFns=[],null!=at&&(this._baseHref=at)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(Ke){this._removeListenerFns.push(this._platformLocation.onPopState(Ke),this._platformLocation.onHashChange(Ke))}getBaseHref(){return this._baseHref}path(Ke=!1){const at=this._platformLocation.hash??"#";return at.length>0?at.substring(1):at}prepareExternalUrl(Ke){const at=pe(this._baseHref,Ke);return at.length>0?"#"+at:at}pushState(Ke,at,Et,qt){let ci=this.prepareExternalUrl(Et+te(qt));0==ci.length&&(ci=this._platformLocation.pathname),this._platformLocation.pushState(Ke,at,ci)}replaceState(Ke,at,Et,qt){let ci=this.prepareExternalUrl(Et+te(qt));0==ci.length&&(ci=this._platformLocation.pathname),this._platformLocation.replaceState(Ke,at,ci)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(Ke=0){this._platformLocation.historyGo?.(Ke)}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.KVO(ve),M.KVO(A,8))};static#t=this.\u0275prov=M.jDH({token:Ge,factory:Ge.\u0275fac})}return Ge})(),L=(()=>{class Ge{constructor(Ke){this._subject=new M.bkB,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=Ke;const at=this._locationStrategy.getBaseHref();this._basePath=function _(Ge){if(new RegExp("^(https?:)?//").test(Ge)){const[,Ke]=Ge.split(/\/\/[^\/]+/);return Ke}return Ge}(J(E(at))),this._locationStrategy.onPopState(Et=>{this._subject.emit({url:this.path(!0),pop:!0,state:Et.state,type:Et.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(Ke=!1){return this.normalize(this._locationStrategy.path(Ke))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(Ke,at=""){return this.path()==this.normalize(Ke+te(at))}normalize(Ke){return Ge.stripTrailingSlash(function I(Ge,ut){if(!Ge||!ut.startsWith(Ge))return ut;const Ke=ut.substring(Ge.length);return""===Ke||["/",";","?","#"].includes(Ke[0])?Ke:ut}(this._basePath,E(Ke)))}prepareExternalUrl(Ke){return Ke&&"/"!==Ke[0]&&(Ke="/"+Ke),this._locationStrategy.prepareExternalUrl(Ke)}go(Ke,at="",Et=null){this._locationStrategy.pushState(Et,"",Ke,at),this._notifyUrlChangeListeners(this.prepareExternalUrl(Ke+te(at)),Et)}replaceState(Ke,at="",Et=null){this._locationStrategy.replaceState(Et,"",Ke,at),this._notifyUrlChangeListeners(this.prepareExternalUrl(Ke+te(at)),Et)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(Ke=0){this._locationStrategy.historyGo?.(Ke)}onUrlChange(Ke){return this._urlChangeListeners.push(Ke),this._urlChangeSubscription??=this.subscribe(at=>{this._notifyUrlChangeListeners(at.url,at.state)}),()=>{const at=this._urlChangeListeners.indexOf(Ke);this._urlChangeListeners.splice(at,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(Ke="",at){this._urlChangeListeners.forEach(Et=>Et(Ke,at))}subscribe(Ke,at,Et){return this._subject.subscribe({next:Ke,error:at,complete:Et})}static#e=this.normalizeQueryParams=te;static#t=this.joinWithSlash=pe;static#i=this.stripTrailingSlash=J;static#n=this.\u0275fac=function(at){return new(at||Ge)(M.KVO($))};static#s=this.\u0275prov=M.jDH({token:Ge,factory:()=>function D(){return new L((0,M.KVO)($))}(),providedIn:"root"})}return Ge})();function E(Ge){return Ge.replace(/\/index.html$/,"")}var O=function(Ge){return Ge[Ge.Format=0]="Format",Ge[Ge.Standalone=1]="Standalone",Ge}(O||{}),f=function(Ge){return Ge[Ge.Narrow=0]="Narrow",Ge[Ge.Abbreviated=1]="Abbreviated",Ge[Ge.Wide=2]="Wide",Ge[Ge.Short=3]="Short",Ge}(f||{}),a=function(Ge){return Ge[Ge.Short=0]="Short",Ge[Ge.Medium=1]="Medium",Ge[Ge.Long=2]="Long",Ge[Ge.Full=3]="Full",Ge}(a||{});const g={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};function r(Ge,ut,Ke){const at=(0,M.H5H)(Ge),qt=q([at[M.KH2.DaysFormat],at[M.KH2.DaysStandalone]],ut);return q(qt,Ke)}function l(Ge,ut,Ke){const at=(0,M.H5H)(Ge),qt=q([at[M.KH2.MonthsFormat],at[M.KH2.MonthsStandalone]],ut);return q(qt,Ke)}function p(Ge,ut){return q((0,M.H5H)(Ge)[M.KH2.DateFormat],ut)}function S(Ge,ut){return q((0,M.H5H)(Ge)[M.KH2.TimeFormat],ut)}function j(Ge,ut){return q((0,M.H5H)(Ge)[M.KH2.DateTimeFormat],ut)}function H(Ge,ut){const Ke=(0,M.H5H)(Ge),at=Ke[M.KH2.NumberSymbols][ut];if(typeof at>"u"){if(ut===g.CurrencyDecimal)return Ke[M.KH2.NumberSymbols][g.Decimal];if(ut===g.CurrencyGroup)return Ke[M.KH2.NumberSymbols][g.Group]}return at}function x(Ge){if(!Ge[M.KH2.ExtraData])throw new Error(`Missing extra locale data for the locale "${Ge[M.KH2.LocaleId]}". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.`)}function q(Ge,ut){for(let Ke=ut;Ke>-1;Ke--)if(typeof Ge[Ke]<"u")return Ge[Ke];throw new Error("Locale data API: locale data undefined")}function he(Ge){const[ut,Ke]=Ge.split(":");return{hours:+ut,minutes:+Ke}}const Oe=/^(\d{4,})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,Ae={},Fe=/((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/;var oe=function(Ge){return Ge[Ge.Short=0]="Short",Ge[Ge.ShortGMT=1]="ShortGMT",Ge[Ge.Long=2]="Long",Ge[Ge.Extended=3]="Extended",Ge}(oe||{}),ee=function(Ge){return Ge[Ge.FullYear=0]="FullYear",Ge[Ge.Month=1]="Month",Ge[Ge.Date=2]="Date",Ge[Ge.Hours=3]="Hours",Ge[Ge.Minutes=4]="Minutes",Ge[Ge.Seconds=5]="Seconds",Ge[Ge.FractionalSeconds=6]="FractionalSeconds",Ge[Ge.Day=7]="Day",Ge}(ee||{}),de=function(Ge){return Ge[Ge.DayPeriods=0]="DayPeriods",Ge[Ge.Days=1]="Days",Ge[Ge.Months=2]="Months",Ge[Ge.Eras=3]="Eras",Ge}(de||{});function ye(Ge,ut,Ke,at){let Et=function Fi(Ge){if(vi(Ge))return Ge;if("number"==typeof Ge&&!isNaN(Ge))return new Date(Ge);if("string"==typeof Ge){if(Ge=Ge.trim(),/^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(Ge)){const[Et,qt=1,ci=1]=Ge.split("-").map(Pi=>+Pi);return Te(Et,qt-1,ci)}const Ke=parseFloat(Ge);if(!isNaN(Ge-Ke))return new Date(Ke);let at;if(at=Ge.match(Oe))return function mi(Ge){const ut=new Date(0);let Ke=0,at=0;const Et=Ge[8]?ut.setUTCFullYear:ut.setFullYear,qt=Ge[8]?ut.setUTCHours:ut.setHours;Ge[9]&&(Ke=Number(Ge[9]+Ge[10]),at=Number(Ge[9]+Ge[11])),Et.call(ut,Number(Ge[1]),Number(Ge[2])-1,Number(Ge[3]));const ci=Number(Ge[4]||0)-Ke,Pi=Number(Ge[5]||0)-at,Xn=Number(Ge[6]||0),Qn=Math.floor(1e3*parseFloat("0."+(Ge[7]||0)));return qt.call(ut,ci,Pi,Xn,Qn),ut}(at)}const ut=new Date(Ge);if(!vi(ut))throw new Error(`Unable to convert "${Ge}" into a date`);return ut}(Ge);ut=_e(Ke,ut)||ut;let Pi,ci=[];for(;ut;){if(Pi=Fe.exec(ut),!Pi){ci.push(ut);break}{ci=ci.concat(Pi.slice(1));const os=ci.pop();if(!os)break;ut=os}}let Xn=Et.getTimezoneOffset();at&&(Xn=wt(at,Xn),Et=function di(Ge,ut,Ke){const at=Ke?-1:1,Et=Ge.getTimezoneOffset();return function Qt(Ge,ut){return(Ge=new Date(Ge.getTime())).setMinutes(Ge.getMinutes()+ut),Ge}(Ge,at*(wt(ut,Et)-Et))}(Et,at,!0));let Qn="";return ci.forEach(os=>{const Sn=function _t(Ge){if(At[Ge])return At[Ge];let ut;switch(Ge){case"G":case"GG":case"GGG":ut=Qe(de.Eras,f.Abbreviated);break;case"GGGG":ut=Qe(de.Eras,f.Wide);break;case"GGGGG":ut=Qe(de.Eras,f.Narrow);break;case"y":ut=Ze(ee.FullYear,1,0,!1,!0);break;case"yy":ut=Ze(ee.FullYear,2,0,!0,!0);break;case"yyy":ut=Ze(ee.FullYear,3,0,!1,!0);break;case"yyyy":ut=Ze(ee.FullYear,4,0,!1,!0);break;case"Y":ut=Dt(1);break;case"YY":ut=Dt(2,!0);break;case"YYY":ut=Dt(3);break;case"YYYY":ut=Dt(4);break;case"M":case"L":ut=Ze(ee.Month,1,1);break;case"MM":case"LL":ut=Ze(ee.Month,2,1);break;case"MMM":ut=Qe(de.Months,f.Abbreviated);break;case"MMMM":ut=Qe(de.Months,f.Wide);break;case"MMMMM":ut=Qe(de.Months,f.Narrow);break;case"LLL":ut=Qe(de.Months,f.Abbreviated,O.Standalone);break;case"LLLL":ut=Qe(de.Months,f.Wide,O.Standalone);break;case"LLLLL":ut=Qe(de.Months,f.Narrow,O.Standalone);break;case"w":ut=ti(1);break;case"ww":ut=ti(2);break;case"W":ut=ti(1,!0);break;case"d":ut=Ze(ee.Date,1);break;case"dd":ut=Ze(ee.Date,2);break;case"c":case"cc":ut=Ze(ee.Day,1);break;case"ccc":ut=Qe(de.Days,f.Abbreviated,O.Standalone);break;case"cccc":ut=Qe(de.Days,f.Wide,O.Standalone);break;case"ccccc":ut=Qe(de.Days,f.Narrow,O.Standalone);break;case"cccccc":ut=Qe(de.Days,f.Short,O.Standalone);break;case"E":case"EE":case"EEE":ut=Qe(de.Days,f.Abbreviated);break;case"EEEE":ut=Qe(de.Days,f.Wide);break;case"EEEEE":ut=Qe(de.Days,f.Narrow);break;case"EEEEEE":ut=Qe(de.Days,f.Short);break;case"a":case"aa":case"aaa":ut=Qe(de.DayPeriods,f.Abbreviated);break;case"aaaa":ut=Qe(de.DayPeriods,f.Wide);break;case"aaaaa":ut=Qe(de.DayPeriods,f.Narrow);break;case"b":case"bb":case"bbb":ut=Qe(de.DayPeriods,f.Abbreviated,O.Standalone,!0);break;case"bbbb":ut=Qe(de.DayPeriods,f.Wide,O.Standalone,!0);break;case"bbbbb":ut=Qe(de.DayPeriods,f.Narrow,O.Standalone,!0);break;case"B":case"BB":case"BBB":ut=Qe(de.DayPeriods,f.Abbreviated,O.Format,!0);break;case"BBBB":ut=Qe(de.DayPeriods,f.Wide,O.Format,!0);break;case"BBBBB":ut=Qe(de.DayPeriods,f.Narrow,O.Format,!0);break;case"h":ut=Ze(ee.Hours,1,-12);break;case"hh":ut=Ze(ee.Hours,2,-12);break;case"H":ut=Ze(ee.Hours,1);break;case"HH":ut=Ze(ee.Hours,2);break;case"m":ut=Ze(ee.Minutes,1);break;case"mm":ut=Ze(ee.Minutes,2);break;case"s":ut=Ze(ee.Seconds,1);break;case"ss":ut=Ze(ee.Seconds,2);break;case"S":ut=Ze(ee.FractionalSeconds,1);break;case"SS":ut=Ze(ee.FractionalSeconds,2);break;case"SSS":ut=Ze(ee.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":ut=kt(oe.Short);break;case"ZZZZZ":ut=kt(oe.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":ut=kt(oe.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":ut=kt(oe.Long);break;default:return null}return At[Ge]=ut,ut}(os);Qn+=Sn?Sn(Et,Ke,Xn):"''"===os?"'":os.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),Qn}function Te(Ge,ut,Ke){const at=new Date(0);return at.setFullYear(Ge,ut,Ke),at.setHours(0,0,0),at}function _e(Ge,ut){const Ke=function o(Ge){return(0,M.H5H)(Ge)[M.KH2.LocaleId]}(Ge);if(Ae[Ke]??={},Ae[Ke][ut])return Ae[Ke][ut];let at="";switch(ut){case"shortDate":at=p(Ge,a.Short);break;case"mediumDate":at=p(Ge,a.Medium);break;case"longDate":at=p(Ge,a.Long);break;case"fullDate":at=p(Ge,a.Full);break;case"shortTime":at=S(Ge,a.Short);break;case"mediumTime":at=S(Ge,a.Medium);break;case"longTime":at=S(Ge,a.Long);break;case"fullTime":at=S(Ge,a.Full);break;case"short":const Et=_e(Ge,"shortTime"),qt=_e(Ge,"shortDate");at=Me(j(Ge,a.Short),[Et,qt]);break;case"medium":const ci=_e(Ge,"mediumTime"),Pi=_e(Ge,"mediumDate");at=Me(j(Ge,a.Medium),[ci,Pi]);break;case"long":const Xn=_e(Ge,"longTime"),Qn=_e(Ge,"longDate");at=Me(j(Ge,a.Long),[Xn,Qn]);break;case"full":const os=_e(Ge,"fullTime"),Sn=_e(Ge,"fullDate");at=Me(j(Ge,a.Full),[os,Sn])}return at&&(Ae[Ke][ut]=at),at}function Me(Ge,ut){return ut&&(Ge=Ge.replace(/\{([^}]+)}/g,function(Ke,at){return null!=ut&&at in ut?ut[at]:Ke})),Ge}function Ee(Ge,ut,Ke="-",at,Et){let qt="";(Ge<0||Et&&Ge<=0)&&(Et?Ge=1-Ge:(Ge=-Ge,qt=Ke));let ci=String(Ge);for(;ci.length0||Pi>-Ke)&&(Pi+=Ke),Ge===ee.Hours)0===Pi&&-12===Ke&&(Pi=12);else if(Ge===ee.FractionalSeconds)return function Xe(Ge,ut){return Ee(Ge,3).substring(0,ut)}(Pi,ut);const Xn=H(ci,g.MinusSign);return Ee(Pi,ut,Xn,at,Et)}}function Qe(Ge,ut,Ke=O.Format,at=!1){return function(Et,qt){return function st(Ge,ut,Ke,at,Et,qt){switch(Ke){case de.Months:return l(ut,Et,at)[Ge.getMonth()];case de.Days:return r(ut,Et,at)[Ge.getDay()];case de.DayPeriods:const ci=Ge.getHours(),Pi=Ge.getMinutes();if(qt){const Qn=function N(Ge){const ut=(0,M.H5H)(Ge);return x(ut),(ut[M.KH2.ExtraData][2]||[]).map(at=>"string"==typeof at?he(at):[he(at[0]),he(at[1])])}(ut),os=function R(Ge,ut,Ke){const at=(0,M.H5H)(Ge);x(at);const qt=q([at[M.KH2.ExtraData][0],at[M.KH2.ExtraData][1]],ut)||[];return q(qt,Ke)||[]}(ut,Et,at),Sn=Qn.findIndex(us=>{if(Array.isArray(us)){const[ns,js]=us,Pr=ci>=ns.hours&&Pi>=ns.minutes,Hn=ci0?Math.floor(Et/60):Math.ceil(Et/60);switch(Ge){case oe.Short:return(Et>=0?"+":"")+Ee(ci,2,qt)+Ee(Math.abs(Et%60),2,qt);case oe.ShortGMT:return"GMT"+(Et>=0?"+":"")+Ee(ci,1,qt);case oe.Long:return"GMT"+(Et>=0?"+":"")+Ee(ci,2,qt)+":"+Ee(Math.abs(Et%60),2,qt);case oe.Extended:return 0===at?"Z":(Et>=0?"+":"")+Ee(ci,2,qt)+":"+Ee(Math.abs(Et%60),2,qt);default:throw new Error(`Unknown zone width "${Ge}"`)}}}const pt=0,ht=4;function Gt(Ge){const ut=Ge.getDay(),Ke=0===ut?-3:ht-ut;return Te(Ge.getFullYear(),Ge.getMonth(),Ge.getDate()+Ke)}function ti(Ge,ut=!1){return function(Ke,at){let Et;if(ut){const qt=new Date(Ke.getFullYear(),Ke.getMonth(),1).getDay()-1,ci=Ke.getDate();Et=1+Math.floor((ci+qt)/7)}else{const qt=Gt(Ke),ci=function Lt(Ge){const ut=Te(Ge,pt,1).getDay();return Te(Ge,0,1+(ut<=ht?ht:ht+7)-ut)}(qt.getFullYear()),Pi=qt.getTime()-ci.getTime();Et=1+Math.round(Pi/6048e5)}return Ee(Et,Ge,H(at,g.MinusSign))}}function Dt(Ge,ut=!1){return function(Ke,at){return Ee(Gt(Ke).getFullYear(),Ge,H(at,g.MinusSign),ut)}}const At={};function wt(Ge,ut){Ge=Ge.replace(/:/g,"");const Ke=Date.parse("Jan 01, 1970 00:00:00 "+Ge)/6e4;return isNaN(Ke)?ut:Ke}function vi(Ge){return Ge instanceof Date&&!isNaN(Ge.valueOf())}function Nt(Ge,ut){ut=encodeURIComponent(ut);for(const Ke of Ge.split(";")){const at=Ke.indexOf("="),[Et,qt]=-1==at?[Ke,""]:[Ke.slice(0,at),Ke.slice(at+1)];if(Et.trim()===ut)return decodeURIComponent(qt)}return null}const bt=/\s+/,xt=[];let $e=(()=>{class Ge{constructor(Ke,at){this._ngEl=Ke,this._renderer=at,this.initialClasses=xt,this.stateMap=new Map}set klass(Ke){this.initialClasses=null!=Ke?Ke.trim().split(bt):xt}set ngClass(Ke){this.rawClass="string"==typeof Ke?Ke.trim().split(bt):Ke}ngDoCheck(){for(const at of this.initialClasses)this._updateState(at,!0);const Ke=this.rawClass;if(Array.isArray(Ke)||Ke instanceof Set)for(const at of Ke)this._updateState(at,!0);else if(null!=Ke)for(const at of Object.keys(Ke))this._updateState(at,!!Ke[at]);this._applyStateDiff()}_updateState(Ke,at){const Et=this.stateMap.get(Ke);void 0!==Et?(Et.enabled!==at&&(Et.changed=!0,Et.enabled=at),Et.touched=!0):this.stateMap.set(Ke,{enabled:at,changed:!0,touched:!0})}_applyStateDiff(){for(const Ke of this.stateMap){const at=Ke[0],Et=Ke[1];Et.changed?(this._toggleClass(at,Et.enabled),Et.changed=!1):Et.touched||(Et.enabled&&this._toggleClass(at,!1),this.stateMap.delete(at)),Et.touched=!1}}_toggleClass(Ke,at){(Ke=Ke.trim()).length>0&&Ke.split(bt).forEach(Et=>{at?this._renderer.addClass(this._ngEl.nativeElement,Et):this._renderer.removeClass(this._ngEl.nativeElement,Et)})}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.aKT),M.rXU(M.sFG))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngClass",""]],inputs:{klass:[M.Mj6.None,"class","klass"],ngClass:"ngClass"},standalone:!0})}return Ge})();class $t{constructor(ut,Ke,at,Et){this.$implicit=ut,this.ngForOf=Ke,this.index=at,this.count=Et}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let si=(()=>{class Ge{set ngForOf(Ke){this._ngForOf=Ke,this._ngForOfDirty=!0}set ngForTrackBy(Ke){this._trackByFn=Ke}get ngForTrackBy(){return this._trackByFn}constructor(Ke,at,Et){this._viewContainer=Ke,this._template=at,this._differs=Et,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(Ke){Ke&&(this._template=Ke)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const Ke=this._ngForOf;!this._differ&&Ke&&(this._differ=this._differs.find(Ke).create(this.ngForTrackBy))}if(this._differ){const Ke=this._differ.diff(this._ngForOf);Ke&&this._applyChanges(Ke)}}_applyChanges(Ke){const at=this._viewContainer;Ke.forEachOperation((Et,qt,ci)=>{if(null==Et.previousIndex)at.createEmbeddedView(this._template,new $t(Et.item,this._ngForOf,-1,-1),null===ci?void 0:ci);else if(null==ci)at.remove(null===qt?void 0:qt);else if(null!==qt){const Pi=at.get(qt);at.move(Pi,ci),Ti(Pi,Et)}});for(let Et=0,qt=at.length;Et{Ti(at.get(Et.currentIndex),Et)})}static ngTemplateContextGuard(Ke,at){return!0}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.c1b),M.rXU(M.C4Q),M.rXU(M._q3))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}return Ge})();function Ti(Ge,ut){Ge.context.$implicit=ut.item}let Hi=(()=>{class Ge{constructor(Ke,at){this._viewContainer=Ke,this._context=new ss,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=at}set ngIf(Ke){this._context.$implicit=this._context.ngIf=Ke,this._updateView()}set ngIfThen(Ke){un("ngIfThen",Ke),this._thenTemplateRef=Ke,this._thenViewRef=null,this._updateView()}set ngIfElse(Ke){un("ngIfElse",Ke),this._elseTemplateRef=Ke,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(Ke,at){return!0}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.c1b),M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}return Ge})();class ss{constructor(){this.$implicit=null,this.ngIf=null}}function un(Ge,ut){if(ut&&!ut.createEmbeddedView)throw new Error(`${Ge} must be a TemplateRef, but received '${(0,M.Tbb)(ut)}'.`)}class cn{constructor(ut,Ke){this._viewContainerRef=ut,this._templateRef=Ke,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(ut){ut&&!this._created?this.create():!ut&&this._created&&this.destroy()}}let rs=(()=>{class Ge{constructor(){this._defaultViews=[],this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(Ke){this._ngSwitch=Ke,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(Ke){this._defaultViews.push(Ke)}_matchCase(Ke){const at=Ke===this._ngSwitch;return this._lastCasesMatched||=at,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),at}_updateDefaultCases(Ke){if(this._defaultViews.length>0&&Ke!==this._defaultUsed){this._defaultUsed=Ke;for(const at of this._defaultViews)at.enforceState(Ke)}}static#e=this.\u0275fac=function(at){return new(at||Ge)};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngSwitch",""]],inputs:{ngSwitch:"ngSwitch"},standalone:!0})}return Ge})(),er=(()=>{class Ge{constructor(Ke,at,Et){this.ngSwitch=Et,Et._addCase(),this._view=new cn(Ke,at)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.c1b),M.rXU(M.C4Q),M.rXU(rs,9))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"},standalone:!0})}return Ge})(),is=(()=>{class Ge{constructor(Ke,at,Et){Et._addDefault(new cn(Ke,at))}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.c1b),M.rXU(M.C4Q),M.rXU(rs,9))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngSwitchDefault",""]],standalone:!0})}return Ge})(),Ki=(()=>{class Ge{constructor(Ke,at,Et){this._ngEl=Ke,this._differs=at,this._renderer=Et,this._ngStyle=null,this._differ=null}set ngStyle(Ke){this._ngStyle=Ke,!this._differ&&Ke&&(this._differ=this._differs.find(Ke).create())}ngDoCheck(){if(this._differ){const Ke=this._differ.diff(this._ngStyle);Ke&&this._applyChanges(Ke)}}_setStyle(Ke,at){const[Et,qt]=Ke.split("."),ci=-1===Et.indexOf("-")?void 0:M.czy.DashCase;null!=at?this._renderer.setStyle(this._ngEl.nativeElement,Et,qt?`${at}${qt}`:at,ci):this._renderer.removeStyle(this._ngEl.nativeElement,Et,ci)}_applyChanges(Ke){Ke.forEachRemovedItem(at=>this._setStyle(at.key,null)),Ke.forEachAddedItem(at=>this._setStyle(at.key,at.currentValue)),Ke.forEachChangedItem(at=>this._setStyle(at.key,at.currentValue))}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.aKT),M.rXU(M.MKu),M.rXU(M.sFG))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"},standalone:!0})}return Ge})(),Tn=(()=>{class Ge{constructor(Ke){this._viewContainerRef=Ke,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(Ke){if(this._shouldRecreateView(Ke)){const at=this._viewContainerRef;if(this._viewRef&&at.remove(at.indexOf(this._viewRef)),!this.ngTemplateOutlet)return void(this._viewRef=null);const Et=this._createContextForwardProxy();this._viewRef=at.createEmbeddedView(this.ngTemplateOutlet,Et,{injector:this.ngTemplateOutletInjector??void 0})}}_shouldRecreateView(Ke){return!!Ke.ngTemplateOutlet||!!Ke.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(Ke,at,Et)=>!!this.ngTemplateOutletContext&&Reflect.set(this.ngTemplateOutletContext,at,Et),get:(Ke,at,Et)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,at,Et)}})}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.c1b))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[M.OA$]})}return Ge})();function ur(Ge,ut){return new M.wOt(2100,!1)}class Oa{createSubscription(ut,Ke){return(0,M.O8t)(()=>ut.subscribe({next:Ke,error:at=>{throw at}}))}dispose(ut){(0,M.O8t)(()=>ut.unsubscribe())}}class Pa{createSubscription(ut,Ke){return ut.then(Ke,at=>{throw at})}dispose(ut){}}const La=new Pa,qr=new Oa;let mn=(()=>{class Ge{constructor(Ke){this._latestValue=null,this.markForCheckOnValueUpdate=!0,this._subscription=null,this._obj=null,this._strategy=null,this._ref=Ke}ngOnDestroy(){this._subscription&&this._dispose(),this._ref=null}transform(Ke){if(!this._obj){if(Ke)try{this.markForCheckOnValueUpdate=!1,this._subscribe(Ke)}finally{this.markForCheckOnValueUpdate=!0}return this._latestValue}return Ke!==this._obj?(this._dispose(),this.transform(Ke)):this._latestValue}_subscribe(Ke){this._obj=Ke,this._strategy=this._selectStrategy(Ke),this._subscription=this._strategy.createSubscription(Ke,at=>this._updateLatestValue(Ke,at))}_selectStrategy(Ke){if((0,M.jNT)(Ke))return La;if((0,M.zjR)(Ke))return qr;throw ur()}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(Ke,at){Ke===this._obj&&(this._latestValue=at,this.markForCheckOnValueUpdate&&this._ref?.markForCheck())}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.gRc,16))};static#t=this.\u0275pipe=M.EJ8({name:"async",type:Ge,pure:!1,standalone:!0})}return Ge})();const al=new M.nKC(""),vr=new M.nKC("");let Hs=(()=>{class Ge{constructor(Ke,at,Et){this.locale=Ke,this.defaultTimezone=at,this.defaultOptions=Et}transform(Ke,at,Et,qt){if(null==Ke||""===Ke||Ke!=Ke)return null;try{return ye(Ke,at??this.defaultOptions?.dateFormat??"mediumDate",qt||this.locale,Et??this.defaultOptions?.timezone??this.defaultTimezone??void 0)}catch(ci){throw ur()}}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.xe9,16),M.rXU(al,24),M.rXU(vr,24))};static#t=this.\u0275pipe=M.EJ8({name:"date",type:Ge,pure:!0,standalone:!0})}return Ge})(),xr=(()=>{class Ge{constructor(Ke){this.differs=Ke,this.keyValues=[],this.compareFn=fa}transform(Ke,at=fa){if(!Ke||!(Ke instanceof Map)&&"object"!=typeof Ke)return null;this.differ??=this.differs.find(Ke).create();const Et=this.differ.diff(Ke),qt=at!==this.compareFn;return Et&&(this.keyValues=[],Et.forEachItem(ci=>{this.keyValues.push(function bo(Ge,ut){return{key:Ge,value:ut}}(ci.key,ci.currentValue))})),(Et||qt)&&(this.keyValues.sort(at),this.compareFn=at),this.keyValues}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.MKu,16))};static#t=this.\u0275pipe=M.EJ8({name:"keyvalue",type:Ge,pure:!1,standalone:!0})}return Ge})();function fa(Ge,ut){const Ke=Ge.key,at=ut.key;if(Ke===at)return 0;if(void 0===Ke)return 1;if(void 0===at)return-1;if(null===Ke)return 1;if(null===at)return-1;if("string"==typeof Ke&&"string"==typeof at)return Ke{class Ge{static#e=this.\u0275fac=function(at){return new(at||Ge)};static#t=this.\u0275mod=M.$C({type:Ge});static#i=this.\u0275inj=M.G2t({})}return Ge})();const vo="browser",ba="server";function tr(Ge){return Ge===vo}function hl(Ge){return Ge===ba}let rr=(()=>{class Ge{static#e=this.\u0275prov=(0,M.jDH)({token:Ge,providedIn:"root",factory:()=>tr((0,M.WQX)(M.Agw))?new cs((0,M.WQX)(re),window):new qo})}return Ge})();class cs{constructor(ut,Ke){this.document=ut,this.window=Ke,this.offset=()=>[0,0]}setOffset(ut){this.offset=Array.isArray(ut)?()=>ut:ut}getScrollPosition(){return[this.window.scrollX,this.window.scrollY]}scrollToPosition(ut){this.window.scrollTo(ut[0],ut[1])}scrollToAnchor(ut){const Ke=function Dr(Ge,ut){const Ke=Ge.getElementById(ut)||Ge.getElementsByName(ut)[0];if(Ke)return Ke;if("function"==typeof Ge.createTreeWalker&&Ge.body&&"function"==typeof Ge.body.attachShadow){const at=Ge.createTreeWalker(Ge.body,NodeFilter.SHOW_ELEMENT);let Et=at.currentNode;for(;Et;){const qt=Et.shadowRoot;if(qt){const ci=qt.getElementById(ut)||qt.querySelector(`[name="${ut}"]`);if(ci)return ci}Et=at.nextNode()}}return null}(this.document,ut);Ke&&(this.scrollToElement(Ke),Ke.focus())}setHistoryScrollRestoration(ut){this.window.history.scrollRestoration=ut}scrollToElement(ut){const Ke=ut.getBoundingClientRect(),at=Ke.left+this.window.pageXOffset,Et=Ke.top+this.window.pageYOffset,qt=this.offset();this.window.scrollTo(at-qt[0],Et-qt[1])}}class qo{setOffset(ut){}getScrollPosition(){return[0,0]}scrollToPosition(ut){}scrollToAnchor(ut){}setHistoryScrollRestoration(ut){}}class va{}},21626:(ri,Ft,He)=>{"use strict";He.d(Ft,{Lr:()=>$,Qq:()=>p,cS:()=>l,hR:()=>J,q1:()=>fs}),He(10467);var e=He(54438),V=He(7673),Pe=He(71985),Z=He(86648),ie=He(70274),re=He(5964),ve=He(96354),le=He(70980),fe=He(25558),pe=He(60177);class J{}class te{}class ${constructor(Rt){this.normalizedNames=new Map,this.lazyUpdate=null,Rt?"string"==typeof Rt?this.lazyInit=()=>{this.headers=new Map,Rt.split("\n").forEach(Nt=>{const bt=Nt.indexOf(":");if(bt>0){const xt=Nt.slice(0,bt),$e=xt.toLowerCase(),yt=Nt.slice(bt+1).trim();this.maybeSetNormalizedName(xt,$e),this.headers.has($e)?this.headers.get($e).push(yt):this.headers.set($e,[yt])}})}:typeof Headers<"u"&&Rt instanceof Headers?(this.headers=new Map,Rt.forEach((Nt,bt)=>{this.setHeaderEntries(bt,Nt)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(Rt).forEach(([Nt,bt])=>{this.setHeaderEntries(Nt,bt)})}:this.headers=new Map}has(Rt){return this.init(),this.headers.has(Rt.toLowerCase())}get(Rt){this.init();const Nt=this.headers.get(Rt.toLowerCase());return Nt&&Nt.length>0?Nt[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(Rt){return this.init(),this.headers.get(Rt.toLowerCase())||null}append(Rt,Nt){return this.clone({name:Rt,value:Nt,op:"a"})}set(Rt,Nt){return this.clone({name:Rt,value:Nt,op:"s"})}delete(Rt,Nt){return this.clone({name:Rt,value:Nt,op:"d"})}maybeSetNormalizedName(Rt,Nt){this.normalizedNames.has(Nt)||this.normalizedNames.set(Nt,Rt)}init(){this.lazyInit&&(this.lazyInit instanceof $?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(Rt=>this.applyUpdate(Rt)),this.lazyUpdate=null))}copyFrom(Rt){Rt.init(),Array.from(Rt.headers.keys()).forEach(Nt=>{this.headers.set(Nt,Rt.headers.get(Nt)),this.normalizedNames.set(Nt,Rt.normalizedNames.get(Nt))})}clone(Rt){const Nt=new $;return Nt.lazyInit=this.lazyInit&&this.lazyInit instanceof $?this.lazyInit:this,Nt.lazyUpdate=(this.lazyUpdate||[]).concat([Rt]),Nt}applyUpdate(Rt){const Nt=Rt.name.toLowerCase();switch(Rt.op){case"a":case"s":let bt=Rt.value;if("string"==typeof bt&&(bt=[bt]),0===bt.length)return;this.maybeSetNormalizedName(Rt.name,Nt);const xt=("a"===Rt.op?this.headers.get(Nt):void 0)||[];xt.push(...bt),this.headers.set(Nt,xt);break;case"d":const $e=Rt.value;if($e){let yt=this.headers.get(Nt);if(!yt)return;yt=yt.filter(It=>-1===$e.indexOf(It)),0===yt.length?(this.headers.delete(Nt),this.normalizedNames.delete(Nt)):this.headers.set(Nt,yt)}else this.headers.delete(Nt),this.normalizedNames.delete(Nt)}}setHeaderEntries(Rt,Nt){const bt=(Array.isArray(Nt)?Nt:[Nt]).map($e=>$e.toString()),xt=Rt.toLowerCase();this.headers.set(xt,bt),this.maybeSetNormalizedName(Rt,xt)}forEach(Rt){this.init(),Array.from(this.normalizedNames.keys()).forEach(Nt=>Rt(this.normalizedNames.get(Nt),this.headers.get(Nt)))}}class B{encodeKey(Rt){return I(Rt)}encodeValue(Rt){return I(Rt)}decodeKey(Rt){return decodeURIComponent(Rt)}decodeValue(Rt){return decodeURIComponent(Rt)}}const L=/%(\d[a-f0-9])/gi,D={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function I(St){return encodeURIComponent(St).replace(L,(Rt,Nt)=>D[Nt]??Rt)}function E(St){return`${St}`}class _{constructor(Rt={}){if(this.updates=null,this.cloneFrom=null,this.encoder=Rt.encoder||new B,Rt.fromString){if(Rt.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function F(St,Rt){const Nt=new Map;return St.length>0&&St.replace(/^\?/,"").split("&").forEach(xt=>{const $e=xt.indexOf("="),[yt,It]=-1==$e?[Rt.decodeKey(xt),""]:[Rt.decodeKey(xt.slice(0,$e)),Rt.decodeValue(xt.slice($e+1))],$t=Nt.get(yt)||[];$t.push(It),Nt.set(yt,$t)}),Nt}(Rt.fromString,this.encoder)}else Rt.fromObject?(this.map=new Map,Object.keys(Rt.fromObject).forEach(Nt=>{const bt=Rt.fromObject[Nt],xt=Array.isArray(bt)?bt.map(E):[E(bt)];this.map.set(Nt,xt)})):this.map=null}has(Rt){return this.init(),this.map.has(Rt)}get(Rt){this.init();const Nt=this.map.get(Rt);return Nt?Nt[0]:null}getAll(Rt){return this.init(),this.map.get(Rt)||null}keys(){return this.init(),Array.from(this.map.keys())}append(Rt,Nt){return this.clone({param:Rt,value:Nt,op:"a"})}appendAll(Rt){const Nt=[];return Object.keys(Rt).forEach(bt=>{const xt=Rt[bt];Array.isArray(xt)?xt.forEach($e=>{Nt.push({param:bt,value:$e,op:"a"})}):Nt.push({param:bt,value:xt,op:"a"})}),this.clone(Nt)}set(Rt,Nt){return this.clone({param:Rt,value:Nt,op:"s"})}delete(Rt,Nt){return this.clone({param:Rt,value:Nt,op:"d"})}toString(){return this.init(),this.keys().map(Rt=>{const Nt=this.encoder.encodeKey(Rt);return this.map.get(Rt).map(bt=>Nt+"="+this.encoder.encodeValue(bt)).join("&")}).filter(Rt=>""!==Rt).join("&")}clone(Rt){const Nt=new _({encoder:this.encoder});return Nt.cloneFrom=this.cloneFrom||this,Nt.updates=(this.updates||[]).concat(Rt),Nt}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(Rt=>this.map.set(Rt,this.cloneFrom.map.get(Rt))),this.updates.forEach(Rt=>{switch(Rt.op){case"a":case"s":const Nt=("a"===Rt.op?this.map.get(Rt.param):void 0)||[];Nt.push(E(Rt.value)),this.map.set(Rt.param,Nt);break;case"d":if(void 0===Rt.value){this.map.delete(Rt.param);break}{let bt=this.map.get(Rt.param)||[];const xt=bt.indexOf(E(Rt.value));-1!==xt&&bt.splice(xt,1),bt.length>0?this.map.set(Rt.param,bt):this.map.delete(Rt.param)}}}),this.cloneFrom=this.updates=null)}}class T{constructor(){this.map=new Map}set(Rt,Nt){return this.map.set(Rt,Nt),this}get(Rt){return this.map.has(Rt)||this.map.set(Rt,Rt.defaultValue()),this.map.get(Rt)}delete(Rt){return this.map.delete(Rt),this}has(Rt){return this.map.has(Rt)}keys(){return this.map.keys()}}function O(St){return typeof ArrayBuffer<"u"&&St instanceof ArrayBuffer}function f(St){return typeof Blob<"u"&&St instanceof Blob}function a(St){return typeof FormData<"u"&&St instanceof FormData}class y{constructor(Rt,Nt,bt,xt){let $e;if(this.url=Nt,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=Rt.toUpperCase(),function z(St){switch(St){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||xt?(this.body=void 0!==bt?bt:null,$e=xt):$e=bt,$e&&(this.reportProgress=!!$e.reportProgress,this.withCredentials=!!$e.withCredentials,$e.responseType&&(this.responseType=$e.responseType),$e.headers&&(this.headers=$e.headers),$e.context&&(this.context=$e.context),$e.params&&(this.params=$e.params),this.transferCache=$e.transferCache),this.headers??=new $,this.context??=new T,this.params){const yt=this.params.toString();if(0===yt.length)this.urlWithParams=Nt;else{const It=Nt.indexOf("?");this.urlWithParams=Nt+(-1===It?"?":ItSi.set(Hi,Rt.setHeaders[Hi]),$t)),Rt.setParams&&(si=Object.keys(Rt.setParams).reduce((Si,Hi)=>Si.set(Hi,Rt.setParams[Hi]),si)),new y(Nt,bt,$e,{params:si,headers:$t,context:Ti,reportProgress:It,responseType:xt,withCredentials:yt})}}var o=function(St){return St[St.Sent=0]="Sent",St[St.UploadProgress=1]="UploadProgress",St[St.ResponseHeader=2]="ResponseHeader",St[St.DownloadProgress=3]="DownloadProgress",St[St.Response=4]="Response",St[St.User=5]="User",St}(o||{});class n{constructor(Rt,Nt=C.Ok,bt="OK"){this.headers=Rt.headers||new $,this.status=void 0!==Rt.status?Rt.status:Nt,this.statusText=Rt.statusText||bt,this.url=Rt.url||null,this.ok=this.status>=200&&this.status<300}}class r extends n{constructor(Rt={}){super(Rt),this.type=o.ResponseHeader}clone(Rt={}){return new r({headers:Rt.headers||this.headers,status:void 0!==Rt.status?Rt.status:this.status,statusText:Rt.statusText||this.statusText,url:Rt.url||this.url||void 0})}}class l extends n{constructor(Rt={}){super(Rt),this.type=o.Response,this.body=void 0!==Rt.body?Rt.body:null}clone(Rt={}){return new l({body:void 0!==Rt.body?Rt.body:this.body,headers:Rt.headers||this.headers,status:void 0!==Rt.status?Rt.status:this.status,statusText:Rt.statusText||this.statusText,url:Rt.url||this.url||void 0})}}class d extends n{constructor(Rt){super(Rt,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${Rt.url||"(unknown url)"}`:`Http failure response for ${Rt.url||"(unknown url)"}: ${Rt.status} ${Rt.statusText}`,this.error=Rt.error||null}}var C=function(St){return St[St.Continue=100]="Continue",St[St.SwitchingProtocols=101]="SwitchingProtocols",St[St.Processing=102]="Processing",St[St.EarlyHints=103]="EarlyHints",St[St.Ok=200]="Ok",St[St.Created=201]="Created",St[St.Accepted=202]="Accepted",St[St.NonAuthoritativeInformation=203]="NonAuthoritativeInformation",St[St.NoContent=204]="NoContent",St[St.ResetContent=205]="ResetContent",St[St.PartialContent=206]="PartialContent",St[St.MultiStatus=207]="MultiStatus",St[St.AlreadyReported=208]="AlreadyReported",St[St.ImUsed=226]="ImUsed",St[St.MultipleChoices=300]="MultipleChoices",St[St.MovedPermanently=301]="MovedPermanently",St[St.Found=302]="Found",St[St.SeeOther=303]="SeeOther",St[St.NotModified=304]="NotModified",St[St.UseProxy=305]="UseProxy",St[St.Unused=306]="Unused",St[St.TemporaryRedirect=307]="TemporaryRedirect",St[St.PermanentRedirect=308]="PermanentRedirect",St[St.BadRequest=400]="BadRequest",St[St.Unauthorized=401]="Unauthorized",St[St.PaymentRequired=402]="PaymentRequired",St[St.Forbidden=403]="Forbidden",St[St.NotFound=404]="NotFound",St[St.MethodNotAllowed=405]="MethodNotAllowed",St[St.NotAcceptable=406]="NotAcceptable",St[St.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",St[St.RequestTimeout=408]="RequestTimeout",St[St.Conflict=409]="Conflict",St[St.Gone=410]="Gone",St[St.LengthRequired=411]="LengthRequired",St[St.PreconditionFailed=412]="PreconditionFailed",St[St.PayloadTooLarge=413]="PayloadTooLarge",St[St.UriTooLong=414]="UriTooLong",St[St.UnsupportedMediaType=415]="UnsupportedMediaType",St[St.RangeNotSatisfiable=416]="RangeNotSatisfiable",St[St.ExpectationFailed=417]="ExpectationFailed",St[St.ImATeapot=418]="ImATeapot",St[St.MisdirectedRequest=421]="MisdirectedRequest",St[St.UnprocessableEntity=422]="UnprocessableEntity",St[St.Locked=423]="Locked",St[St.FailedDependency=424]="FailedDependency",St[St.TooEarly=425]="TooEarly",St[St.UpgradeRequired=426]="UpgradeRequired",St[St.PreconditionRequired=428]="PreconditionRequired",St[St.TooManyRequests=429]="TooManyRequests",St[St.RequestHeaderFieldsTooLarge=431]="RequestHeaderFieldsTooLarge",St[St.UnavailableForLegalReasons=451]="UnavailableForLegalReasons",St[St.InternalServerError=500]="InternalServerError",St[St.NotImplemented=501]="NotImplemented",St[St.BadGateway=502]="BadGateway",St[St.ServiceUnavailable=503]="ServiceUnavailable",St[St.GatewayTimeout=504]="GatewayTimeout",St[St.HttpVersionNotSupported=505]="HttpVersionNotSupported",St[St.VariantAlsoNegotiates=506]="VariantAlsoNegotiates",St[St.InsufficientStorage=507]="InsufficientStorage",St[St.LoopDetected=508]="LoopDetected",St[St.NotExtended=510]="NotExtended",St[St.NetworkAuthenticationRequired=511]="NetworkAuthenticationRequired",St}(C||{});function k(St,Rt){return{body:Rt,headers:St.headers,context:St.context,observe:St.observe,params:St.params,reportProgress:St.reportProgress,responseType:St.responseType,withCredentials:St.withCredentials,transferCache:St.transferCache}}let p=(()=>{class St{constructor(Nt){this.handler=Nt}request(Nt,bt,xt={}){let $e;if(Nt instanceof y)$e=Nt;else{let $t,si;$t=xt.headers instanceof $?xt.headers:new $(xt.headers),xt.params&&(si=xt.params instanceof _?xt.params:new _({fromObject:xt.params})),$e=new y(Nt,bt,void 0!==xt.body?xt.body:null,{headers:$t,context:xt.context,params:si,reportProgress:xt.reportProgress,responseType:xt.responseType||"json",withCredentials:xt.withCredentials,transferCache:xt.transferCache})}const yt=(0,V.of)($e).pipe((0,ie.H)($t=>this.handler.handle($t)));if(Nt instanceof y||"events"===xt.observe)return yt;const It=yt.pipe((0,re.p)($t=>$t instanceof l));switch(xt.observe||"body"){case"body":switch($e.responseType){case"arraybuffer":return It.pipe((0,ve.T)($t=>{if(null!==$t.body&&!($t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return $t.body}));case"blob":return It.pipe((0,ve.T)($t=>{if(null!==$t.body&&!($t.body instanceof Blob))throw new Error("Response is not a Blob.");return $t.body}));case"text":return It.pipe((0,ve.T)($t=>{if(null!==$t.body&&"string"!=typeof $t.body)throw new Error("Response is not a string.");return $t.body}));default:return It.pipe((0,ve.T)($t=>$t.body))}case"response":return It;default:throw new Error(`Unreachable: unhandled observe type ${xt.observe}}`)}}delete(Nt,bt={}){return this.request("DELETE",Nt,bt)}get(Nt,bt={}){return this.request("GET",Nt,bt)}head(Nt,bt={}){return this.request("HEAD",Nt,bt)}jsonp(Nt,bt){return this.request("JSONP",Nt,{params:(new _).append(bt,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(Nt,bt={}){return this.request("OPTIONS",Nt,bt)}patch(Nt,bt,xt={}){return this.request("PATCH",Nt,k(xt,bt))}post(Nt,bt,xt={}){return this.request("POST",Nt,k(xt,bt))}put(Nt,bt,xt={}){return this.request("PUT",Nt,k(xt,bt))}static#e=this.\u0275fac=function(bt){return new(bt||St)(e.KVO(J))};static#t=this.\u0275prov=e.jDH({token:St,factory:St.\u0275fac})}return St})();function X(St,Rt){return Rt(St)}function G(St,Rt){return(Nt,bt)=>Rt.intercept(Nt,{handle:xt=>St(xt,bt)})}const N=new e.nKC(""),R=new e.nKC(""),K=new e.nKC(""),q=new e.nKC("");function he(){let St=null;return(Rt,Nt)=>{null===St&&(St=((0,e.WQX)(N,{optional:!0})??[]).reduceRight(G,X));const bt=(0,e.WQX)(e.TgB),xt=bt.add();return St(Rt,Nt).pipe((0,le.j)(()=>bt.remove(xt)))}}let Se=(()=>{class St extends J{constructor(Nt,bt){super(),this.backend=Nt,this.injector=bt,this.chain=null,this.pendingTasks=(0,e.WQX)(e.TgB);const xt=(0,e.WQX)(q,{optional:!0});this.backend=xt??Nt}handle(Nt){if(null===this.chain){const xt=Array.from(new Set([...this.injector.get(R),...this.injector.get(K,[])]));this.chain=xt.reduceRight(($e,yt)=>function x(St,Rt,Nt){return(bt,xt)=>(0,e.N4e)(Nt,()=>Rt(bt,$e=>St($e,xt)))}($e,yt,this.injector),X)}const bt=this.pendingTasks.add();return this.chain(Nt,xt=>this.backend.handle(xt)).pipe((0,le.j)(()=>this.pendingTasks.remove(bt)))}static#e=this.\u0275fac=function(bt){return new(bt||St)(e.KVO(te),e.KVO(e.uvJ))};static#t=this.\u0275prov=e.jDH({token:St,factory:St.\u0275fac})}return St})();const Xe=/^\)\]\}',?\n/;let lt=(()=>{class St{constructor(Nt){this.xhrFactory=Nt}handle(Nt){if("JSONP"===Nt.method)throw new e.wOt(-2800,!1);const bt=this.xhrFactory;return(bt.\u0275loadImpl?(0,Z.H)(bt.\u0275loadImpl()):(0,V.of)(null)).pipe((0,fe.n)(()=>new Pe.c($e=>{const yt=bt.build();if(yt.open(Nt.method,Nt.urlWithParams),Nt.withCredentials&&(yt.withCredentials=!0),Nt.headers.forEach((Xi,cn)=>yt.setRequestHeader(Xi,cn.join(","))),Nt.headers.has("Accept")||yt.setRequestHeader("Accept","application/json, text/plain, */*"),!Nt.headers.has("Content-Type")){const Xi=Nt.detectContentTypeHeader();null!==Xi&&yt.setRequestHeader("Content-Type",Xi)}if(Nt.responseType){const Xi=Nt.responseType.toLowerCase();yt.responseType="json"!==Xi?Xi:"text"}const It=Nt.serializeBody();let $t=null;const si=()=>{if(null!==$t)return $t;const Xi=yt.statusText||"OK",cn=new $(yt.getAllResponseHeaders()),rs=function Ze(St){return"responseURL"in St&&St.responseURL?St.responseURL:/^X-Request-URL:/m.test(St.getAllResponseHeaders())?St.getResponseHeader("X-Request-URL"):null}(yt)||Nt.url;return $t=new r({headers:cn,status:yt.status,statusText:Xi,url:rs}),$t},Ti=()=>{let{headers:Xi,status:cn,statusText:rs,url:er}=si(),is=null;cn!==C.NoContent&&(is=typeof yt.response>"u"?yt.responseText:yt.response),0===cn&&(cn=is?C.Ok:0);let Zr=cn>=200&&cn<300;if("json"===Nt.responseType&&"string"==typeof is){const sr=is;is=is.replace(Xe,"");try{is=""!==is?JSON.parse(is):null}catch(Ls){is=sr,Zr&&(Zr=!1,is={error:Ls,text:is})}}Zr?($e.next(new l({body:is,headers:Xi,status:cn,statusText:rs,url:er||void 0})),$e.complete()):$e.error(new d({error:is,headers:Xi,status:cn,statusText:rs,url:er||void 0}))},Si=Xi=>{const{url:cn}=si(),rs=new d({error:Xi,status:yt.status||0,statusText:yt.statusText||"Unknown Error",url:cn||void 0});$e.error(rs)};let Hi=!1;const ss=Xi=>{Hi||($e.next(si()),Hi=!0);let cn={type:o.DownloadProgress,loaded:Xi.loaded};Xi.lengthComputable&&(cn.total=Xi.total),"text"===Nt.responseType&&yt.responseText&&(cn.partialText=yt.responseText),$e.next(cn)},un=Xi=>{let cn={type:o.UploadProgress,loaded:Xi.loaded};Xi.lengthComputable&&(cn.total=Xi.total),$e.next(cn)};return yt.addEventListener("load",Ti),yt.addEventListener("error",Si),yt.addEventListener("timeout",Si),yt.addEventListener("abort",Si),Nt.reportProgress&&(yt.addEventListener("progress",ss),null!==It&&yt.upload&&yt.upload.addEventListener("progress",un)),yt.send(It),$e.next({type:o.Sent}),()=>{yt.removeEventListener("error",Si),yt.removeEventListener("abort",Si),yt.removeEventListener("load",Ti),yt.removeEventListener("timeout",Si),Nt.reportProgress&&(yt.removeEventListener("progress",ss),null!==It&&yt.upload&&yt.upload.removeEventListener("progress",un)),yt.readyState!==yt.DONE&&yt.abort()}})))}static#e=this.\u0275fac=function(bt){return new(bt||St)(e.KVO(pe.N0))};static#t=this.\u0275prov=e.jDH({token:St,factory:St.\u0275fac})}return St})();const Qe=new e.nKC(""),kt=new e.nKC("",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),ht=new e.nKC("",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class Lt{}let Gt=(()=>{class St{constructor(Nt,bt,xt){this.doc=Nt,this.platform=bt,this.cookieName=xt,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const Nt=this.doc.cookie||"";return Nt!==this.lastCookieString&&(this.parseCount++,this.lastToken=(0,pe._b)(Nt,this.cookieName),this.lastCookieString=Nt),this.lastToken}static#e=this.\u0275fac=function(bt){return new(bt||St)(e.KVO(pe.qQ),e.KVO(e.Agw),e.KVO(kt))};static#t=this.\u0275prov=e.jDH({token:St,factory:St.\u0275fac})}return St})();function ti(St,Rt){const Nt=St.url.toLowerCase();if(!(0,e.WQX)(Qe)||"GET"===St.method||"HEAD"===St.method||Nt.startsWith("http://")||Nt.startsWith("https://"))return Rt(St);const bt=(0,e.WQX)(Lt).getToken(),xt=(0,e.WQX)(ht);return null!=bt&&!St.headers.has(xt)&&(St=St.clone({headers:St.headers.set(xt,bt)})),Rt(St)}var At=function(St){return St[St.Interceptors=0]="Interceptors",St[St.LegacyInterceptors=1]="LegacyInterceptors",St[St.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",St[St.NoXsrfProtection=3]="NoXsrfProtection",St[St.JsonpSupport=4]="JsonpSupport",St[St.RequestsMadeViaParent=5]="RequestsMadeViaParent",St[St.Fetch=6]="Fetch",St}(At||{});function wt(...St){const Rt=[p,lt,Se,{provide:J,useExisting:Se},{provide:te,useExisting:lt},{provide:R,useValue:ti,multi:!0},{provide:Qe,useValue:!0},{provide:Lt,useClass:Gt}];for(const Nt of St)Rt.push(...Nt.\u0275providers);return(0,e.EmA)(Rt)}const di=new e.nKC("");function Fi(){return function _t(St,Rt){return{\u0275kind:St,\u0275providers:Rt}}(At.LegacyInterceptors,[{provide:di,useFactory:he},{provide:R,useExisting:di,multi:!0}])}let fs=(()=>{class St{static#e=this.\u0275fac=function(bt){return new(bt||St)};static#t=this.\u0275mod=e.$C({type:St});static#i=this.\u0275inj=e.G2t({providers:[wt(Fi())]})}return St})()},54438:(ri,Ft,He)=>{"use strict";function e(t,s){return Object.is(t,s)}He.d(Ft,{bc$:()=>xc,iLQ:()=>uw,sZ2:()=>nh,hnV:()=>nM,Hbi:()=>uA,o8S:()=>zu,BIS:()=>Gh,gRc:()=>mM,Ql9:()=>BE,OM3:()=>Su,Ocv:()=>$E,abz:()=>Dl,Z63:()=>Lo,aKT:()=>jh,uvJ:()=>Co,zcH:()=>Ml,bkB:()=>ko,$GK:()=>mn,nKC:()=>$e,zZn:()=>Ws,_q3:()=>xw,MKu:()=>_w,xe9:()=>ix,Co$:()=>Xv,Vns:()=>Mu,SKi:()=>Tr,Xx1:()=>tr,Agw:()=>sh,PLl:()=>zh,sFG:()=>cv,_9s:()=>lv,czy:()=>hg,WPN:()=>md,kdw:()=>zr,C4Q:()=>Wp,NYb:()=>IE,giA:()=>tM,RxE:()=>Xk,c1b:()=>jg,gXe:()=>Ro,mal:()=>o0,Af3:()=>Ge,tdH:()=>uv,L39:()=>zA,EWP:()=>UA,a0P:()=>ZA,Ol2:()=>qv,w6W:()=>DT,oH4:()=>uM,QZP:()=>XM,SmG:()=>qE,Rfq:()=>ti,WQX:()=>qi,hFB:()=>vm,QuC:()=>xo,EmA:()=>za,Udg:()=>GA,fpN:()=>dA,HJs:()=>qA,N4e:()=>Ha,vPA:()=>t1,O8t:()=>WA,An2:()=>Og,H3F:()=>Yk,H8p:()=>Fs,KH2:()=>Mf,TgB:()=>lf,wOt:()=>me,WHO:()=>Jk,e01:()=>eM,lNU:()=>he,h9k:()=>nb,$MX:()=>Sp,ZF7:()=>oh,Kcf:()=>tg,e5t:()=>px,UyX:()=>dx,cWb:()=>hx,osQ:()=>ux,H5H:()=>B0,Zy3:()=>Ce,mq5:()=>pC,JZv:()=>Ze,LfX:()=>mo,plB:()=>gh,jNT:()=>hw,zjR:()=>iM,TL$:()=>ih,Tbb:()=>pt,rcV:()=>El,nM4:()=>b1,Vt3:()=>v0,Mj6:()=>Qi,GFd:()=>$v,OA$:()=>Wa,Jv_:()=>sk,aNF:()=>rk,R7$:()=>Mb,BMQ:()=>k0,HbH:()=>wy,ZvI:()=>Zg,AVh:()=>ua,vxM:()=>Ay,wni:()=>yi,VBU:()=>Dc,FsC:()=>Or,jDH:()=>$i,G2t:()=>Mn,$C:()=>Nl,EJ8:()=>Ec,rXU:()=>Ql,nrm:()=>nm,eu8:()=>F0,bVm:()=>N0,qex:()=>sm,k0s:()=>im,j41:()=>tm,RV6:()=>dC,xGo:()=>qd,Mr5:()=>jy,pXf:()=>De,KVO:()=>Is,kS0:()=>Qc,QTQ:()=>Eb,bIt:()=>Mt,lsd:()=>Wi,joV:()=>sp,qSk:()=>np,XpG:()=>Ci,nI1:()=>Dk,bMT:()=>Ek,i5U:()=>Ak,SdG:()=>Bi,NAR:()=>ki,Y8G:()=>Mc,FS9:()=>Di,Mz_:()=>on,lJ4:()=>fk,eq3:()=>gk,l_i:()=>mk,sMw:()=>bk,ziG:()=>vk,s1E:()=>yk,l4e:()=>xk,sGs:()=>_k,zJS:()=>Ck,mGM:()=>ji,sdS:()=>as,Dyx:()=>Ny,Z7z:()=>Ly,fX1:()=>Oy,Njj:()=>zc,EBC:()=>Om,tSv:()=>Ox,eBV:()=>gc,npT:()=>sb,f$h:()=>Mp,B4B:()=>ng,n$t:()=>Do,Aen:()=>tc,xc7:()=>Yg,zvX:()=>Vy,DNE:()=>Eu,C5r:()=>Ik,EFF:()=>KS,JRh:()=>XC,SpI:()=>Zy,Lme:()=>YC,E5c:()=>KC,LHq:()=>ZC,DH7:()=>ik,mxI:()=>QC,R50:()=>qC,GBs:()=>Ei}),He(10467);let V=null,Pe=!1,Z=1;const ie=Symbol("SIGNAL");function re(t){const s=V;return V=t,s}const pe={version:0,lastCleanEpoch:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function J(t){if(Pe)throw new Error("");if(null===V)return;V.consumerOnSignalRead(t);const s=V.nextProducerIndex++;z(V),st.nextProducerIndex;)t.producerNode.pop(),t.producerLastReadVersion.pop(),t.producerIndexOfThis.pop()}}function I(t){z(t);for(let s=0;s0}function z(t){t.producerNode??=[],t.producerIndexOfThis??=[],t.producerLastReadVersion??=[]}function O(t){t.liveConsumerNode??=[],t.liveConsumerIndexOfThis??=[]}const a=Symbol("UNSET"),g=Symbol("COMPUTING"),y=Symbol("ERRORED"),o={...pe,value:a,dirty:!0,error:null,equal:e,producerMustRecompute:t=>t.value===a||t.value===g,producerRecomputeValue(t){if(t.value===g)throw new Error("Detected cycle in computations.");const s=t.value;t.value=g;const h=L(t);let P;try{P=t.computation()}catch(Q){P=y,t.error=Q}finally{D(t,h)}s!==a&&s!==y&&P!==y&&t.equal(s,P)?t.value=s:(t.value=P,t.version++)}};let r=function n(){throw new Error};function l(){r()}let C=null;function j(t,s){B()||l(),t.equal(t.value,s)||(t.value=s,function U(t){t.version++,function te(){Z++}(),A(t),C?.()}(t))}const Y={...pe,equal:e,value:void 0};const w=()=>{},X={...pe,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!1,consumerMarkedDirty:t=>{null!==t.schedule&&t.schedule(t.ref)},hasRun:!1,cleanupFn:w};var x=He(21413),N=He(18359),R=He(84412),K=He(96354);const he="https://g.co/ng/security#xss";class me extends Error{constructor(s,h){super(Ce(s,h)),this.code=s}}function Ce(t,s){return`NG0${Math.abs(t)}${s?": "+s:""}`}const Se=Symbol("InputSignalNode#UNSET"),Oe={...Y,transformFn:void 0,applyValueToInputSignal(t,s){j(t,s)}};function oe(t,s){const h=Object.create(Oe);function P(){if(J(h),h.value===Se)throw new me(-950,!1);return h.value}return h.value=t,h.transformFn=s?.transform,P[ie]=h,P}function ee(t){return{toString:t}.toString()}const ye="__parameters__";function Ee(t,s,h){return ee(()=>{const P=function Me(t){return function(...h){if(t){const P=t(...h);for(const Q in P)this[Q]=P[Q]}}}(s);function Q(...ge){if(this instanceof Q)return P.apply(this,ge),this;const ke=new Q(...ge);return Le.annotation=ke,Le;function Le(ze,Je,dt){const Ct=ze.hasOwnProperty(ye)?ze[ye]:Object.defineProperty(ze,ye,{value:[]})[ye];for(;Ct.length<=dt;)Ct.push(null);return(Ct[dt]=Ct[dt]||[]).push(ke),ze}}return h&&(Q.prototype=Object.create(h.prototype)),Q.prototype.ngMetadataName=t,Q.annotationCls=Q,Q})}const Ze=globalThis;function st(t){for(let s in t)if(t[s]===st)return s;throw Error("Could not find renamed property on target object.")}function kt(t,s){for(const h in s)s.hasOwnProperty(h)&&!t.hasOwnProperty(h)&&(t[h]=s[h])}function pt(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(pt).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const s=t.toString();if(null==s)return""+s;const h=s.indexOf("\n");return-1===h?s:s.substring(0,h)}function ht(t,s){return null==t||""===t?null===s?"":s:null==s||""===s?t:t+" "+s}const Gt=st({__forward_ref__:st});function ti(t){return t.__forward_ref__=ti,t.toString=function(){return pt(this())},t}function Dt(t){return At(t)?t():t}function At(t){return"function"==typeof t&&t.hasOwnProperty(Gt)&&t.__forward_ref__===ti}function Fi(t,s,h){t!=s&&function Mi(t,s,h,P){throw new Error(`ASSERTION ERROR: ${t}`+(null==P?"":` [Expected=> ${h} ${P} ${s} <=Actual]`))}(h,t,s,"==")}function $i(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function Mn(t){return{providers:t.providers||[],imports:t.imports||[]}}function Br(t){return Kr(t,Rt)||Kr(t,bt)}function mo(t){return null!==Br(t)}function Kr(t,s){return t.hasOwnProperty(s)?t[s]:null}function St(t){return t&&(t.hasOwnProperty(Nt)||t.hasOwnProperty(xt))?t[Nt]:null}const Rt=st({\u0275prov:st}),Nt=st({\u0275inj:st}),bt=st({ngInjectableDef:st}),xt=st({ngInjectorDef:st});class $e{constructor(s,h){this._desc=s,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof h?this.__NG_ELEMENT_ID__=h:void 0!==h&&(this.\u0275prov=$i({token:this,providedIn:h.providedIn||"root",factory:h.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function cn(t){return t&&!!t.\u0275providers}const rs=st({\u0275cmp:st}),er=st({\u0275dir:st}),is=st({\u0275pipe:st}),Zr=st({\u0275mod:st}),sr=st({\u0275fac:st}),Ls=st({__NG_ELEMENT_ID__:st}),jr=st({__NG_ENV_ID__:st});function Ki(t){return"string"==typeof t?t:null==t?"":String(t)}function qr(t,s){throw new me(-201,!1)}var mn=function(t){return t[t.Default=0]="Default",t[t.Host=1]="Host",t[t.Self=2]="Self",t[t.SkipSelf=4]="SkipSelf",t[t.Optional=8]="Optional",t}(mn||{});let Zo;function rl(){return Zo}function Gs(t){const s=Zo;return Zo=t,s}function Qr(t,s,h){const P=Br(t);return P&&"root"==P.providedIn?void 0===P.value?P.value=P.factory():P.value:h&mn.Optional?null:void 0!==s?s:void qr()}const vr={},Hs="__NG_DI_FLAG__",yr="ngTempTokenPath",pa=/\n/gm,bo="__source";let xr;function kr(t){const s=xr;return xr=t,s}function ga(t,s=mn.Default){if(void 0===xr)throw new me(-203,!1);return null===xr?Qr(t,void 0,s):xr.get(t,s&mn.Optional?null:void 0,s)}function Is(t,s=mn.Default){return(rl()||ga)(Dt(t),s)}function qi(t,s=mn.Default){return Is(t,Vr(s))}function Vr(t){return typeof t>"u"||"number"==typeof t?t:(t.optional&&8)|(t.host&&1)|(t.self&&2)|(t.skipSelf&&4)}function Io(t){const s=[];for(let h=0;hArray.isArray(h)?Dr(h,s):s(h))}function qo(t,s,h){s>=t.length?t.push(h):t.splice(s,0,h)}function va(t,s){return s>=t.length-1?t.pop():t.splice(s,1)[0]}function Ys(t,s,h){let P=Gr(t,s);return P>=0?t[1|P]=h:(P=~P,function Ba(t,s,h,P){let Q=t.length;if(Q==s)t.push(h,P);else if(1===Q)t.push(P,t[0]),t[0]=h;else{for(Q--,t.push(t[Q-1],t[Q]);Q>s;)t[Q]=t[Q-2],Q--;t[s]=h,t[s+1]=P}}(t,P,s,h)),P}function Jr(t,s){const h=Gr(t,s);if(h>=0)return t[1|h]}function Gr(t,s){return function rc(t,s,h){let P=0,Q=t.length>>h;for(;Q!==P;){const ge=P+(Q-P>>1),ke=t[ge<s?Q=ge:P=ge+1}return~(Q<s){ke=ge-1;break}}}for(;ge-1){let ge;for(;++Qge?"":Q[dt+1].toLowerCase(),2&P&&Je!==Ct){if(Zs(P))return!1;ke=!0}}}}else{if(!ke&&!Zs(P)&&!Zs(ze))return!1;if(ke&&Zs(ze))continue;ke=!1,P=ze|1&P}}return Zs(P)||ke}function Zs(t){return!(1&t)}function Ar(t,s,h,P){if(null===s)return-1;let Q=0;if(P||!h){let ge=!1;for(;Q-1)for(h++;h0?'="'+Le+'"':"")+"]"}else 8&P?Q+="."+ke:4&P&&(Q+=" "+ke);else""!==Q&&!Zs(ke)&&(s+=oc(ge,Q),Q=""),P=ke,ge=ge||!Zs(P);h++}return""!==Q&&(s+=oc(ge,Q)),s}function Dc(t){return ee(()=>{const s=pl(t),h={...s,decls:t.decls,vars:t.vars,template:t.template,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,onPush:t.changeDetection===ul.OnPush,directiveDefs:null,pipeDefs:null,dependencies:s.standalone&&t.dependencies||null,getStandaloneInjector:null,signals:t.signals??!1,data:t.data||{},encapsulation:t.encapsulation||Ro.Emulated,styles:t.styles||Dn,_:null,schemas:t.schemas||null,tView:null,id:""};fl(h);const P=t.dependencies;return h.directiveDefs=gl(P,!1),h.pipeDefs=gl(P,!0),h.id=function ac(t){let s=0;const h=[t.selectors,t.ngContentSelectors,t.hostVars,t.hostAttrs,t.consts,t.vars,t.decls,t.encapsulation,t.standalone,t.signals,t.exportAs,JSON.stringify(t.inputs),JSON.stringify(t.outputs),Object.getOwnPropertyNames(t.type.prototype),!!t.contentQueries,!!t.viewQuery].join("|");for(const Q of h)s=Math.imul(31,s)+Q.charCodeAt(0)|0;return s+=2147483648,"c"+s}(h),h})}function io(t){return hn(t)||Rs(t)}function Zh(t){return null!==t}function Nl(t){return ee(()=>({type:t.type,bootstrap:t.bootstrap||Dn,declarations:t.declarations||Dn,imports:t.imports||Dn,exports:t.exports||Dn,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null}))}function Va(t,s){if(null==t)return Ks;const h={};for(const P in t)if(t.hasOwnProperty(P)){const Q=t[P];let ge,ke,Le=Qi.None;Array.isArray(Q)?(Le=Q[0],ge=Q[1],ke=Q[2]??ge):(ge=Q,ke=Q),s?(h[ge]=Le!==Qi.None?[P,Le]:P,s[ge]=ke):h[ge]=P}return h}function Or(t){return ee(()=>{const s=pl(t);return fl(s),s})}function Ec(t){return{type:t.type,name:t.name,factory:null,pure:!1!==t.pure,standalone:!0===t.standalone,onDestroy:t.type.prototype.ngOnDestroy||null}}function hn(t){return t[rs]||null}function Rs(t){return t[er]||null}function Ss(t){return t[is]||null}function xo(t){const s=hn(t)||Rs(t)||Ss(t);return null!==s&&s.standalone}function qs(t,s){const h=t[Zr]||null;if(!h&&!0===s)throw new Error(`Type ${pt(t)} does not have '\u0275mod' property.`);return h}function pl(t){const s={};return{type:t.type,providersResolver:null,factory:null,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:s,inputTransforms:null,inputConfig:t.inputs||Ks,exportAs:t.exportAs||null,standalone:!0===t.standalone,signals:!0===t.signals,selectors:t.selectors||Dn,viewQuery:t.viewQuery||null,features:t.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:Va(t.inputs,s),outputs:Va(t.outputs),debugInfo:null}}function fl(t){t.features?.forEach(s=>s(t))}function gl(t,s){if(!t)return null;const h=s?Ss:io;return()=>("function"==typeof t?t():t).map(P=>h(P)).filter(Zh)}function za(t){return{\u0275providers:t}}function Fl(...t){return{\u0275providers:ml(0,t),\u0275fromNgModule:!0}}function ml(t,...s){const h=[],P=new Set;let Q;const ge=ke=>{h.push(ke)};return Dr(s,ke=>{const Le=ke;lc(Le,ge,[],P)&&(Q||=[],Q.push(Le))}),void 0!==Q&&Ic(Q,ge),h}function Ic(t,s){for(let h=0;h{s(ge,P)})}}function lc(t,s,h,P){if(!(t=Dt(t)))return!1;let Q=null,ge=St(t);const ke=!ge&&hn(t);if(ge||ke){if(ke&&!ke.standalone)return!1;Q=t}else{const ze=t.ngModule;if(ge=St(ze),!ge)return!1;Q=ze}const Le=P.has(Q);if(ke){if(Le)return!1;if(P.add(Q),ke.dependencies){const ze="function"==typeof ke.dependencies?ke.dependencies():ke.dependencies;for(const Je of ze)lc(Je,s,h,P)}}else{if(!ge)return!1;{if(null!=ge.imports&&!Le){let Je;P.add(Q);try{Dr(ge.imports,dt=>{lc(dt,s,h,P)&&(Je||=[],Je.push(dt))})}finally{}void 0!==Je&&Ic(Je,s)}if(!Le){const Je=Mr(Q)||(()=>new Q);s({provide:Q,useFactory:Je,deps:Dn},Q),s({provide:Qo,useValue:Q,multi:!0},Q),s({provide:Lo,useValue:()=>Is(Q),multi:!0},Q)}const ze=ge.providers;if(null!=ze&&!Le){const Je=t;No(ze,dt=>{s(dt,Je)})}}}return Q!==t&&void 0!==t.providers}function No(t,s){for(let h of t)cn(h)&&(h=h.\u0275providers),Array.isArray(h)?No(h,s):s(h)}const Pc=st({provide:String,useValue:st});function Bl(t){return null!==t&&"object"==typeof t&&Pc in t}function Fo(t){return"function"==typeof t}const Fs=new $e(""),Bs={},ta={};let bl;function _o(){return void 0===bl&&(bl=new yo),bl}class Co{}class Ca extends Co{get destroyed(){return this._destroyed}constructor(s,h,P,Q){super(),this.parent=h,this.source=P,this.scopes=Q,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,na(s,ke=>this.processProvider(ke)),this.records.set(xa,_r(void 0,this)),Q.has("environment")&&this.records.set(Co,_r(void 0,this));const ge=this.records.get(Fs);null!=ge&&"string"==typeof ge.value&&this.scopes.add(ge.value),this.injectorDefTypes=new Set(this.get(Qo,Dn,mn.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;const s=re(null);try{for(const P of this._ngOnDestroyHooks)P.ngOnDestroy();const h=this._onDestroyHooks;this._onDestroyHooks=[];for(const P of h)P()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),re(s)}}onDestroy(s){return this.assertNotDestroyed(),this._onDestroyHooks.push(s),()=>this.removeOnDestroy(s)}runInContext(s){this.assertNotDestroyed();const h=kr(this),P=Gs(void 0);try{return s()}finally{kr(h),Gs(P)}}get(s,h=vr,P=mn.Default){if(this.assertNotDestroyed(),s.hasOwnProperty(jr))return s[jr](this);P=Vr(P);const ge=kr(this),ke=Gs(void 0);try{if(!(P&mn.SkipSelf)){let ze=this.records.get(s);if(void 0===ze){const Je=function Hr(t){return"function"==typeof t||"object"==typeof t&&t instanceof $e}(s)&&Br(s);ze=Je&&this.injectableDefInScope(Je)?_r(wa(s),Bs):null,this.records.set(s,ze)}if(null!=ze)return this.hydrate(s,ze)}return(P&mn.Self?_o():this.parent).get(s,h=P&mn.Optional&&h===vr?null:h)}catch(Le){if("NullInjectorError"===Le.name){if((Le[yr]=Le[yr]||[]).unshift(pt(s)),ge)throw Le;return function ba(t,s,h,P){const Q=t[yr];throw s[bo]&&Q.unshift(s[bo]),t.message=function cl(t,s,h,P=null){t=t&&"\n"===t.charAt(0)&&"\u0275"==t.charAt(1)?t.slice(2):t;let Q=pt(s);if(Array.isArray(s))Q=s.map(pt).join(" -> ");else if("object"==typeof s){let ge=[];for(let ke in s)if(s.hasOwnProperty(ke)){let Le=s[ke];ge.push(ke+":"+("string"==typeof Le?JSON.stringify(Le):pt(Le)))}Q=`{${ge.join(", ")}}`}return`${h}${P?"("+P+")":""}[${Q}]: ${t.replace(pa,"\n ")}`}("\n"+t.message,Q,h,P),t.ngTokenPath=Q,t[yr]=null,t}(Le,s,"R3InjectorError",this.source)}throw Le}finally{Gs(ke),kr(ge)}}resolveInjectorInitializers(){const s=re(null),h=kr(this),P=Gs(void 0);try{const ge=this.get(Lo,Dn,mn.Self);for(const ke of ge)ke()}finally{kr(h),Gs(P),re(s)}}toString(){const s=[],h=this.records;for(const P of h.keys())s.push(pt(P));return`R3Injector[${s.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new me(205,!1)}processProvider(s){let h=Fo(s=Dt(s))?s:Dt(s&&s.provide);const P=function Rc(t){return Bl(t)?_r(void 0,t.useValue):_r(vl(t),Bs)}(s);if(!Fo(s)&&!0===s.multi){let Q=this.records.get(h);Q||(Q=_r(void 0,Bs,!0),Q.factory=()=>Io(Q.multi),this.records.set(h,Q)),h=s,Q.multi.push(s)}this.records.set(h,P)}hydrate(s,h){const P=re(null);try{return h.value===Bs&&(h.value=ta,h.value=h.factory()),"object"==typeof h.value&&h.value&&function ia(t){return null!==t&&"object"==typeof t&&"function"==typeof t.ngOnDestroy}(h.value)&&this._ngOnDestroyHooks.add(h.value),h.value}finally{re(P)}}injectableDefInScope(s){if(!s.providedIn)return!1;const h=Dt(s.providedIn);return"string"==typeof h?"any"===h||this.scopes.has(h):this.injectorDefTypes.has(h)}removeOnDestroy(s){const h=this._onDestroyHooks.indexOf(s);-1!==h&&this._onDestroyHooks.splice(h,1)}}function wa(t){const s=Br(t),h=null!==s?s.factory:Mr(t);if(null!==h)return h;if(t instanceof $e)throw new me(204,!1);if(t instanceof Function)return function jl(t){if(t.length>0)throw new me(204,!1);const h=function nr(t){return t&&(t[Rt]||t[bt])||null}(t);return null!==h?()=>h.factory(t):()=>new t}(t);throw new me(204,!1)}function vl(t,s,h){let P;if(Fo(t)){const Q=Dt(t);return Mr(Q)||wa(Q)}if(Bl(t))P=()=>Dt(t.useValue);else if(function Lc(t){return!(!t||!t.useFactory)}(t))P=()=>t.useFactory(...Io(t.deps||[]));else if(function ir(t){return!(!t||!t.useExisting)}(t))P=()=>Is(Dt(t.useExisting));else{const Q=Dt(t&&(t.useClass||t.provide));if(!function Ga(t){return!!t.deps}(t))return Mr(Q)||wa(Q);P=()=>new Q(...Io(t.deps))}return P}function _r(t,s,h=!1){return{factory:t,value:s,multi:h?[]:void 0}}function na(t,s){for(const h of t)Array.isArray(h)?na(h,s):h&&cn(h)?na(h.\u0275providers,s):s(h)}function Ha(t,s){t instanceof Ca&&t.assertNotDestroyed();const P=kr(t),Q=Gs(void 0);try{return s()}finally{kr(P),Gs(Q)}}function sa(){return void 0!==rl()||null!=function fa(){return xr}()}function Ge(t){if(!sa())throw new me(-203,!1)}const Hn=0,ui=1,zi=2,Yn=3,gs=4,ks=5,ar=6,Ta=7,ms=8,fr=9,wo=10,en=11,Bo=12,cc=13,bs=14,Kn=15,Sa=16,Vl=17,To=18,hc=19,ka=20,jo=21,yl=22,Ua=23,rn=25,dc=1,Vo=7,_l=9,Vs=10;var pc=function(t){return t[t.None=0]="None",t[t.HasTransplantedViews=2]="HasTransplantedViews",t}(pc||{});function gr(t){return Array.isArray(t)&&"object"==typeof t[dc]}function zs(t){return Array.isArray(t)&&!0===t[dc]}function zl(t){return!!(4&t.flags)}function ra(t){return t.componentOffset>-1}function Cl(t){return!(1&~t.flags)}function Ur(t){return!!t.template}function Nc(t){return!!(512&t[zi])}class Gl{constructor(s,h,P){this.previousValue=s,this.currentValue=h,this.firstChange=P}isFirstChange(){return this.firstChange}}function Hl(t,s,h,P){null!==s?s.applyValueToInputSignal(s,P):t[h]=P}function Wa(){return Fc}function Fc(t){return t.type.prototype.ngOnChanges&&(t.setInput=Wu),$a}function $a(){const t=$u(this),s=t?.current;if(s){const h=t.previous;if(h===Ks)t.previous=s;else for(let P in s)h[P]=s[P];t.current=null,this.ngOnChanges(s)}}function Wu(t,s,h,P,Q){const ge=this.declaredInputs[P],ke=$u(t)||function Xu(t,s){return t[td]=s}(t,{previous:Ks,current:null}),Le=ke.current||(ke.current={}),ze=ke.previous,Je=ze[ge];Le[ge]=new Gl(Je&&Je.currentValue,h,ze===Ks),Hl(t,s,Q,h)}Wa.ngInherit=!0;const td="__ngSimpleChanges__";function $u(t){return t[td]||null}const no=function(t,s,h){},Ld="svg";let Ku=!1;function ws(t){for(;Array.isArray(t);)t=t[Hn];return t}function Bc(t,s){return ws(s[t])}function so(t,s){return ws(s[t.index])}function vh(t,s){return t.data[s]}function jc(t,s){return t[s]}function zo(t,s){const h=s[t];return gr(h)?h:h[Hn]}function nd(t){return!(128&~t[zi])}function Xa(t,s){return null==s?null:t[s]}function Rd(t){t[Vl]=0}function Ff(t){1024&t[zi]||(t[zi]|=1024,nd(t)&&_h(t))}function Nd(t){return!!(9216&t[zi]||t[Ua]?.dirty)}function xh(t){t[wo].changeDetectionScheduler?.notify(1),Nd(t)?_h(t):64&t[zi]&&(function Zu(){return Ku}()?(t[zi]|=1024,_h(t)):t[wo].changeDetectionScheduler?.notify())}function _h(t){t[wo].changeDetectionScheduler?.notify();let s=Ya(t);for(;null!==s&&!(8192&s[zi])&&(s[zi]|=8192,nd(s));)s=Ya(s)}function ro(t,s){if(!(256&~t[zi]))throw new me(911,!1);null===t[jo]&&(t[jo]=[]),t[jo].push(s)}function Ya(t){const s=t[Yn];return zs(s)?s[Yn]:s}const an={lFrame:ld(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function fc(){return an.bindingsEnabled}function Ka(){return null!==an.skipHydrationRootTNode}function ni(){return an.lFrame.lView}function pn(){return an.lFrame.tView}function gc(t){return an.lFrame.contextLView=t,t[ms]}function zc(t){return an.lFrame.contextLView=null,t}function hs(){let t=Gc();for(;null!==t&&64===t.type;)t=t.parent;return t}function Gc(){return an.lFrame.currentTNode}function oa(){const t=an.lFrame,s=t.currentTNode;return t.isParent?s:s.parent}function aa(t,s){const h=an.lFrame;h.currentTNode=t,h.isParent=s}function Bd(){return an.lFrame.isParent}function od(){an.lFrame.isParent=!1}function oo(){const t=an.lFrame;let s=t.bindingRootIndex;return-1===s&&(s=t.bindingRootIndex=t.tView.bindingStartIndex),s}function So(){return an.lFrame.bindingIndex}function Ma(){return an.lFrame.bindingIndex++}function Sl(t){const s=an.lFrame,h=s.bindingIndex;return s.bindingIndex=s.bindingIndex+t,h}function jd(t){an.lFrame.inI18n=t}function Vd(t,s){const h=an.lFrame;h.bindingIndex=h.bindingRootIndex=t,wh(s)}function wh(t){an.lFrame.currentDirectiveIndex=t}function Th(t){const s=an.lFrame.currentDirectiveIndex;return-1===s?null:t[s]}function zd(){return an.lFrame.currentQueryIndex}function Hc(t){an.lFrame.currentQueryIndex=t}function Gf(t){const s=t[ui];return 2===s.type?s.declTNode:1===s.type?t[ks]:null}function Sh(t,s,h){if(h&mn.SkipSelf){let Q=s,ge=t;for(;!(Q=Q.parent,null!==Q||h&mn.Host||(Q=Gf(ge),null===Q||(ge=ge[bs],10&Q.type))););if(null===Q)return!1;s=Q,t=ge}const P=an.lFrame=ip();return P.currentTNode=s,P.lView=t,!0}function Gd(t){const s=ip(),h=t[ui];an.lFrame=s,s.currentTNode=h.firstChild,s.lView=t,s.tView=h,s.contextLView=t,s.bindingIndex=h.bindingStartIndex,s.inI18n=!1}function ip(){const t=an.lFrame,s=null===t?null:t.child;return null===s?ld(t):s}function ld(t){const s={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:t,child:null,inI18n:!1};return null!==t&&(t.child=s),s}function Hd(){const t=an.lFrame;return an.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const Ud=Hd;function cd(){const t=Hd();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function Wr(){return an.lFrame.selectedIndex}function mc(t){an.lFrame.selectedIndex=t}function Os(){const t=an.lFrame;return vh(t.tView,t.selectedIndex)}function np(){an.lFrame.currentNamespace=Ld}function sp(){!function Wd(){an.lFrame.currentNamespace=null}()}let kh=!0;function Uc(){return kh}function Go(t){kh=t}function Wc(t,s){for(let h=s.directiveStart,P=s.directiveEnd;h=P)break}else s[ze]<0&&(t[Vl]+=65536),(Le>14>16&&(3&t[zi])===s&&(t[zi]+=16384,kl(Le,ge)):kl(Le,ge)}const bc=-1;class $c{constructor(s,h,P){this.factory=s,this.resolving=!1,this.canSeeViewProviders=h,this.injectImpl=P}}function Lr(t){return t!==bc}function Wl(t){return 32767&t}function Da(t,s){let h=function ap(t){return t>>16}(t),P=s;for(;h>0;)P=P[bs],h--;return P}let $r=!0;function Xc(t){const s=$r;return $r=t,s}const $l=255,Yc=5;let Ph=0;const la={};function ud(t,s){const h=pd(t,s);if(-1!==h)return h;const P=s[ui];P.firstCreatePass&&(t.injectorIndex=s.length,Kc(P.data,t),Kc(s,null),Kc(P.blueprint,null));const Q=Zc(t,s),ge=t.injectorIndex;if(Lr(Q)){const ke=Wl(Q),Le=Da(Q,s),ze=Le[ui].data;for(let Je=0;Je<8;Je++)s[ge+Je]=Le[ke+Je]|ze[ke+Je]}return s[ge+8]=Q,ge}function Kc(t,s){t.push(0,0,0,0,0,0,0,0,s)}function pd(t,s){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===s[t.injectorIndex+8]?-1:t.injectorIndex}function Zc(t,s){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let h=0,P=null,Q=s;for(;null!==Q;){if(P=Jd(Q),null===P)return bc;if(h++,Q=Q[bs],-1!==P.injectorIndex)return P.injectorIndex|h<<16}return bc}function Kd(t,s,h){!function Yd(t,s,h){let P;"string"==typeof h?P=h.charCodeAt(0)||0:h.hasOwnProperty(Ls)&&(P=h[Ls]),null==P&&(P=h[Ls]=Ph++);const Q=P&$l;s.data[t+(Q>>Yc)]|=1<=0?s&$l:dp:s}(h);if("function"==typeof ge){if(!Sh(s,t,P))return P&mn.Host?Lh(Q,0,P):Rh(s,h,P,Q);try{let ke;if(ke=ge(P),null!=ke||P&mn.Optional)return ke;qr()}finally{Ud()}}else if("number"==typeof ge){let ke=null,Le=pd(t,s),ze=bc,Je=P&mn.Host?s[Kn][ks]:null;for((-1===Le||P&mn.SkipSelf)&&(ze=-1===Le?Zc(t,s):s[Le+8],ze!==bc&&hp(P,!1)?(ke=s[ui],Le=Wl(ze),s=Da(ze,s)):Le=-1);-1!==Le;){const dt=s[ui];if(cp(ge,Le,dt.data)){const Ct=qc(Le,s,h,ke,P,Je);if(Ct!==la)return Ct}ze=s[Le+8],ze!==bc&&hp(P,s[ui].data[Le+8]===Je)&&cp(ge,Le,s)?(ke=dt,Le=Wl(ze),s=Da(ze,s)):Le=-1}}return Q}function qc(t,s,h,P,Q,ge){const ke=s[ui],Le=ke.data[t+8],dt=Ea(Le,ke,h,null==P?ra(Le)&&$r:P!=ke&&!!(3&Le.type),Q&mn.Host&&ge===Le);return null!==dt?Ho(s,ke,dt,Le):la}function Ea(t,s,h,P,Q){const ge=t.providerIndexes,ke=s.data,Le=1048575&ge,ze=t.directiveStart,dt=ge>>20,jt=Q?Le+dt:t.directiveEnd;for(let Ht=P?Le:Le+dt;Ht=ze&&Kt.type===h)return Ht}if(Q){const Ht=ke[ze];if(Ht&&Ur(Ht)&&Ht.type===h)return ze}return null}function Ho(t,s,h,P){let Q=t[h];const ge=s.data;if(function Eh(t){return t instanceof $c}(Q)){const ke=Q;ke.resolving&&function Oa(t,s){throw s&&s.join(" > "),new me(-200,t)}(function Tn(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():Ki(t)}(ge[h]));const Le=Xc(ke.canSeeViewProviders);ke.resolving=!0;const Je=ke.injectImpl?Gs(ke.injectImpl):null;Sh(t,P,mn.Default);try{Q=t[h]=ke.factory(void 0,ge,t,P),s.firstCreatePass&&h>=P.directiveStart&&function Mh(t,s,h){const{ngOnChanges:P,ngOnInit:Q,ngDoCheck:ge}=s.type.prototype;if(P){const ke=Fc(s);(h.preOrderHooks??=[]).push(t,ke),(h.preOrderCheckHooks??=[]).push(t,ke)}Q&&(h.preOrderHooks??=[]).push(0-t,Q),ge&&((h.preOrderHooks??=[]).push(t,ge),(h.preOrderCheckHooks??=[]).push(t,ge))}(h,ge[h],s)}finally{null!==Je&&Gs(Je),Xc(Le),ke.resolving=!1,Ud()}}return Q}function cp(t,s,h){return!!(h[s+(t>>Yc)]&1<{const s=t.prototype.constructor,h=s[sr]||Nh(s),P=Object.prototype;let Q=Object.getPrototypeOf(t.prototype).constructor;for(;Q&&Q!==P;){const ge=Q[sr]||Nh(Q);if(ge&&ge!==h)return ge;Q=Object.getPrototypeOf(Q)}return ge=>new ge})}function Nh(t){return At(t)?()=>{const s=Nh(Dt(t));return s&&s()}:Mr(t)}function Jd(t){const s=t[ui],h=s.type;return 2===h?s.declTNode:1===h?t[ks]:null}function Qc(t){return function Zd(t,s){if("class"===s)return t.classes;if("style"===s)return t.styles;const h=t.attrs;if(h){const P=h.length;let Q=0;for(;Q{class t{static#e=this.THROW_IF_NOT_FOUND=vr;static#t=this.NULL=new yo;static create(h,P){if(Array.isArray(h))return gp({name:""},P,h,"");{const Q=h.name??"";return gp({name:Q},h.parent,h.providers,Q)}}static#i=this.\u0275prov=$i({token:t,providedIn:"any",factory:()=>Is(xa)});static#n=this.__NG_ELEMENT_ID__=-1}return t})();function nu(t){return t.ngOriginalError}class Ml{constructor(){this._console=console}handleError(s){const h=this._findOriginalError(s);this._console.error("ERROR",s),h&&this._console.error("ORIGINAL ERROR",h)}_findOriginalError(s){let h=s&&nu(s);for(;h&&nu(h);)h=nu(h);return h||null}}const su=new $e("",{providedIn:"root",factory:()=>qi(Ml).handleError.bind(void 0)});let Dl=(()=>{class t{static#e=this.__NG_ELEMENT_ID__=bm;static#t=this.__NG_ENV_ID__=h=>h}return t})();class vp extends Dl{constructor(s){super(),this._lView=s}onDestroy(s){return ro(this._lView,s),()=>function Ms(t,s){if(null===t[jo])return;const h=t[jo].indexOf(s);-1!==h&&t[jo].splice(h,1)}(this._lView,s)}}function bm(){return new vp(ni())}function Bh(t,s){return oe(t,s)}const vm=(Bh.required=function qf(t){return oe(Se,t)},Bh);function ym(){return yc(hs(),ni())}function yc(t,s){return new jh(so(t,s))}let jh=(()=>{class t{constructor(h){this.nativeElement=h}static#e=this.__NG_ELEMENT_ID__=ym}return t})();function xp(t){return t instanceof jh?t.nativeElement:t}function ru(t){return s=>{setTimeout(t,void 0,s)}}const ko=class Aa extends x.B{constructor(s=!1){super(),this.destroyRef=void 0,this.__isAsync=s,sa()&&(this.destroyRef=qi(Dl,{optional:!0})??void 0)}emit(s){const h=re(null);try{super.next(s)}finally{re(h)}}subscribe(s,h,P){let Q=s,ge=h||(()=>null),ke=P;if(s&&"object"==typeof s){const ze=s;Q=ze.next?.bind(ze),ge=ze.error?.bind(ze),ke=ze.complete?.bind(ze)}this.__isAsync&&(ge=ru(ge),Q&&(Q=ru(Q)),ke&&(ke=ru(ke)));const Le=super.subscribe({next:Q,error:ge,complete:ke});return s instanceof N.yU&&s.add(Le),Le}};function ou(){return this._results[Symbol.iterator]()}class au{static#e=Symbol.iterator;get changes(){return this._changes??=new ko}constructor(s=!1){this._emitDistinctChangesOnly=s,this.dirty=!0,this._onDirty=void 0,this._results=[],this._changesDetected=!1,this._changes=void 0,this.length=0,this.first=void 0,this.last=void 0;const h=au.prototype;h[Symbol.iterator]||(h[Symbol.iterator]=ou)}get(s){return this._results[s]}map(s){return this._results.map(s)}filter(s){return this._results.filter(s)}find(s){return this._results.find(s)}reduce(s,h){return this._results.reduce(s,h)}forEach(s){this._results.forEach(s)}some(s){return this._results.some(s)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(s,h){this.dirty=!1;const P=function cs(t){return t.flat(Number.POSITIVE_INFINITY)}(s);(this._changesDetected=!function rr(t,s,h){if(t.length!==s.length)return!1;for(let P=0;Plu}),lu="ng",zh=new $e(""),sh=new $e("",{providedIn:"platform",factory:()=>"unknown"}),xc=new $e(""),Gh=new $e("",{providedIn:"root",factory:()=>ha().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let vs=()=>null;function An(t,s,h=!1){return vs(t,s,h)}const Zi=new $e("",{providedIn:"root",factory:()=>!1});let tn,hr;function nn(t){return function wn(){if(void 0===tn&&(tn=null,Ze.trustedTypes))try{tn=Ze.trustedTypes.createPolicy("angular",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch{}return tn}()?.createHTML(t)||t}function lo(){if(void 0===hr&&(hr=null,Ze.trustedTypes))try{hr=Ze.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch{}return hr}function Uo(t){return lo()?.createHTML(t)||t}function Ia(t){return lo()?.createScriptURL(t)||t}class wr{constructor(s){this.changingThisBreaksApplicationSecurity=s}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${he})`}}class da extends wr{getTypeName(){return"HTML"}}class du extends wr{getTypeName(){return"Style"}}class Qf extends wr{getTypeName(){return"Script"}}class Jf extends wr{getTypeName(){return"URL"}}class Tp extends wr{getTypeName(){return"ResourceURL"}}function El(t){return t instanceof wr?t.changingThisBreaksApplicationSecurity:t}function oh(t,s){const h=function eg(t){return t instanceof wr&&t.getTypeName()||null}(t);if(null!=h&&h!==s){if("ResourceURL"===h&&"URL"===s)return!0;throw new Error(`Required a safe ${s}, got a ${h} (see ${he})`)}return h===s}function tg(t){return new da(t)}function hx(t){return new du(t)}function dx(t){return new Qf(t)}function ux(t){return new Jf(t)}function px(t){return new Tp(t)}function q0(t){const s=new gx(t);return function mx(){try{return!!(new window.DOMParser).parseFromString(nn(""),"text/html")}catch{return!1}}()?new fx(s):s}class fx{constructor(s){this.inertDocumentHelper=s}getInertBodyElement(s){s=""+s;try{const h=(new window.DOMParser).parseFromString(nn(s),"text/html").body;return null===h?this.inertDocumentHelper.getInertBodyElement(s):(h.removeChild(h.firstChild),h)}catch{return null}}}class gx{constructor(s){this.defaultDoc=s,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(s){const h=this.inertDocument.createElement("template");return h.innerHTML=nn(s),h}}const bx=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Sp(t){return(t=String(t)).match(bx)?t:"unsafe:"+t}function ah(t){const s={};for(const h of t.split(","))s[h]=!0;return s}function kp(...t){const s={};for(const h of t)for(const P in h)h.hasOwnProperty(P)&&(s[P]=!0);return s}const Q0=ah("area,br,col,hr,img,wbr"),J0=ah("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),eb=ah("rp,rt"),xm=kp(Q0,kp(J0,ah("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),kp(eb,ah("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),kp(eb,J0)),_m=ah("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),tb=kp(_m,ah("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),ah("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),vx=ah("script,style,template");class yx{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(s){let h=s.firstChild,P=!0,Q=[];for(;h;)if(h.nodeType===Node.ELEMENT_NODE?P=this.startElement(h):h.nodeType===Node.TEXT_NODE?this.chars(h.nodeValue):this.sanitizedSomething=!0,P&&h.firstChild)Q.push(h),h=_x(h);else for(;h;){h.nodeType===Node.ELEMENT_NODE&&this.endElement(h);let ge=lh(h);if(ge){h=ge;break}h=Q.pop()}return this.buf.join("")}startElement(s){const h=Cm(s).toLowerCase();if(!xm.hasOwnProperty(h))return this.sanitizedSomething=!0,!vx.hasOwnProperty(h);this.buf.push("<"),this.buf.push(h);const P=s.attributes;for(let Q=0;Q"),!0}endElement(s){const h=Cm(s).toLowerCase();xm.hasOwnProperty(h)&&!Q0.hasOwnProperty(h)&&(this.buf.push(""))}chars(s){this.buf.push(ib(s))}}function lh(t){const s=t.nextSibling;if(s&&t!==s.previousSibling)throw Cc(s);return s}function _x(t){const s=t.firstChild;if(s&&function xx(t,s){return(t.compareDocumentPosition(s)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}(t,s))throw Cc(s);return s}function Cm(t){const s=t.nodeName;return"string"==typeof s?s:"FORM"}function Cc(t){return new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`)}const Ew=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Aw=/([^\#-~ |!])/g;function ib(t){return t.replace(/&/g,"&").replace(Ew,function(s){return"&#"+(1024*(s.charCodeAt(0)-55296)+(s.charCodeAt(1)-56320)+65536)+";"}).replace(Aw,function(s){return"&#"+s.charCodeAt(0)+";"}).replace(//g,">")}let ig;function nb(t,s){let h=null;try{ig=ig||q0(t);let P=s?String(s):"";h=ig.getInertBodyElement(P);let Q=5,ge=P;do{if(0===Q)throw new Error("Failed to sanitize html because the input is unstable");Q--,P=ge,ge=h.innerHTML,h=ig.getInertBodyElement(P)}while(P!==ge);return nn((new yx).sanitizeChildren(wm(h)||h))}finally{if(h){const P=wm(h)||h;for(;P.firstChild;)P.removeChild(P.firstChild)}}}function wm(t){return"content"in t&&function Tm(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}var md=function(t){return t[t.NONE=0]="NONE",t[t.HTML=1]="HTML",t[t.STYLE=2]="STYLE",t[t.SCRIPT=3]="SCRIPT",t[t.URL=4]="URL",t[t.RESOURCE_URL=5]="RESOURCE_URL",t}(md||{});function sb(t){const s=Hh();return s?Uo(s.sanitize(md.HTML,t)||""):oh(t,"HTML")?Uo(El(t)):nb(ha(),Ki(t))}function ng(t){const s=Hh();return s?s.sanitize(md.URL,t)||"":oh(t,"URL")?El(t):Sp(Ki(t))}function Mp(t){const s=Hh();if(s)return Ia(s.sanitize(md.RESOURCE_URL,t)||"");if(oh(t,"ResourceURL"))return Ia(El(t));throw new me(904,!1)}function Do(t,s,h){return function Wo(t,s){return"src"===s&&("embed"===t||"frame"===t||"iframe"===t||"media"===t||"script"===t)||"href"===s&&("base"===t||"link"===t)?Mp:ng}(s,h)(t)}function Hh(){const t=ni();return t&&t[wo].sanitizer}const sg=/^>|^->||--!>|)/g,ch="\u200b$1\u200b";const Mm=new Map;let kx=0;const bd="__ngContext__";function $o(t,s){gr(s)?(t[bd]=s[hc],function Dm(t){Mm.set(t[hc],t)}(s)):t[bd]=s}function Ox(t){return t.ownerDocument.defaultView}function Om(t){return t.ownerDocument}function Il(t){return t instanceof Function?t():t}var hg=function(t){return t[t.Important=1]="Important",t[t.DashCase=2]="DashCase",t}(hg||{});let Pm;function Lm(t,s){return Pm(t,s)}function Op(t,s,h,P,Q){if(null!=P){let ge,ke=!1;zs(P)?ge=P:gr(P)&&(ke=!0,P=P[Hn]);const Le=ws(P);0===t&&null!==h?null==Q?zx(s,h,Le):mu(s,h,Le,Q||null,!0):1===t&&null!==h?mu(s,h,Le,Q||null,!0):2===t?function _d(t,s,h){const P=Fm(t,s);P&&function jw(t,s,h,P){t.removeChild(s,h,P)}(t,P,s,h)}(s,Le,ke):3===t&&s.destroyNode(Le),null!=ge&&function kb(t,s,h,P,Q){const ge=h[Vo];ge!==ws(h)&&Op(s,t,P,ge,Q);for(let Le=Vs;Les.replace(wx,ch))}(s))}function Rm(t,s,h){return t.createElement(s,h)}function Nm(t,s){s[wo].changeDetectionScheduler?.notify(1),bu(t,s,s[en],2,null,null)}function _b(t,s){const h=t[_l],P=h.indexOf(s);h.splice(P,1)}function Pp(t,s){if(t.length<=Vs)return;const h=Vs+s,P=t[h];if(P){const Q=P[Sa];null!==Q&&Q!==t&&_b(Q,P),s>0&&(t[h-1][gs]=P[gs]);const ge=va(t,Vs+s);!function Nw(t,s){Nm(t,s),s[Hn]=null,s[ks]=null}(P[ui],P);const ke=ge[To];null!==ke&&ke.detachView(ge[ui]),P[Yn]=null,P[gs]=null,P[zi]&=-129}return P}function dg(t,s){if(!(256&s[zi])){const h=s[en];h.destroyNode&&bu(t,s,h,3,null,null),function Fx(t){let s=t[Bo];if(!s)return Cb(t[ui],t);for(;s;){let h=null;if(gr(s))h=s[Bo];else{const P=s[Vs];P&&(h=P)}if(!h){for(;s&&!s[gs]&&s!==t;)gr(s)&&Cb(s[ui],s),s=s[Yn];null===s&&(s=t),gr(s)&&Cb(s[ui],s),h=s&&s[gs]}s=h}}(s)}}function Cb(t,s){if(256&s[zi])return;const h=re(null);try{s[zi]&=-129,s[zi]|=256,s[Ua]&&E(s[Ua]),function Bw(t,s){let h;if(null!=t&&null!=(h=t.destroyHooks))for(let P=0;P=0?P[ke]():P[-ke].unsubscribe(),ge+=2}else h[ge].call(P[h[ge+1]]);null!==P&&(s[Ta]=null);const Q=s[jo];if(null!==Q){s[jo]=null;for(let ge=0;ge-1){const{encapsulation:ge}=t.data[P.directiveStart+Q];if(ge===Ro.None||ge===Ro.Emulated)return null}return so(P,h)}}function mu(t,s,h,P,Q){t.insertBefore(s,h,P,Q)}function zx(t,s,h){t.appendChild(s,h)}function ug(t,s,h,P,Q){null!==P?mu(t,s,h,P,Q):zx(t,s,h)}function Fm(t,s){return t.parentNode(s)}function Hx(t,s,h){return Ux(t,s,h)}function fg(t,s,h){return 40&t.type?so(t,h):null}let gg,Ux=fg;function Wx(t,s){Ux=t,gg=s}function Bm(t,s,h,P){const Q=wb(t,P,s),ge=s[en],Le=Hx(P.parent||s[ks],P,s);if(null!=Q)if(Array.isArray(h))for(let ze=0;zern&&Db(t,s,rn,!1),no(ke?2:0,Q),h(P,Q)}finally{mc(ge),no(ke?3:1,Q)}}function Ob(t,s,h){if(zl(s)){const P=re(null);try{const ge=s.directiveEnd;for(let ke=s.directiveStart;kenull;function qx(t,s,h,P,Q){for(let ge in s){if(!s.hasOwnProperty(ge))continue;const ke=s[ge];if(void 0===ke)continue;P??={};let Le,ze=Qi.None;Array.isArray(ke)?(Le=ke[0],ze=ke[1]):Le=ke;let Je=ge;if(null!==Q){if(!Q.hasOwnProperty(ge))continue;Je=Q[ge]}0===t?Qx(P,h,Je,Le,ze):Qx(P,h,Je,Le)}return P}function Qx(t,s,h,P,Q){let ge;t.hasOwnProperty(h)?(ge=t[h]).push(s,P):ge=t[h]=[s,P],void 0!==Q&&ge.push(Q)}function Qa(t,s,h,P,Q,ge,ke,Le){const ze=so(s,h);let dt,Je=s.inputs;!Le&&null!=Je&&(dt=Je[P])?($m(t,h,dt,P,Q),ra(s)&&function Xw(t,s){const h=zo(s,t);16&h[zi]||(h[zi]|=64)}(h,s.index)):3&s.type&&(P=function $w(t){return"class"===t?"className":"for"===t?"htmlFor":"formaction"===t?"formAction":"innerHtml"===t?"innerHTML":"readonly"===t?"readOnly":"tabindex"===t?"tabIndex":t}(P),Q=null!=ke?ke(Q,s.value||"",P):Q,ge.setProperty(ze,P,Q))}function Nb(t,s,h,P){if(fc()){const Q=null===P?null:{"":-1},ge=function Gm(t,s){const h=t.directiveRegistry;let P=null,Q=null;if(h)for(let ge=0;ge0;){const h=t[--s];if("number"==typeof h&&h<0)return h}return 0})(ke)!=Le&&ke.push(Le),ke.push(h,P,ge)}}(t,s,P,mg(t,h,Q.hostVars,kn),Q)}function Tc(t,s,h,P,Q,ge){const ke=so(t,s);!function ds(t,s,h,P,Q,ge,ke){if(null==ge)t.removeAttribute(s,Q,h);else{const Le=null==ke?Ki(ge):ke(ge,P||"",Q);t.setAttribute(s,Q,Le,h)}}(s[en],ke,ge,t.value,h,P,Q)}function i_(t,s,h,P,Q,ge){const ke=ge[s];if(null!==ke)for(let Le=0;Le0&&(h[Q-1][gs]=s),P{_h(t.lView)},consumerOnSignalRead(){this.lView[Ua]=this}};function Ub(t){return $b(t[Bo])}function Wb(t){return $b(t[gs])}function $b(t){for(;null!==t&&!zs(t);)t=t[gs];return t}const Km=100;function Tg(t,s=!0,h=0){const P=t[wo],Q=P.rendererFactory;Q.begin?.();try{!function h_(t,s){qm(t,s);let h=0;for(;Nd(t);){if(h===Km)throw new me(103,!1);h++,qm(t,1)}}(t,h)}catch(ke){throw s&&Cg(t,ke),ke}finally{Q.end?.(),P.inlineEffectRunner?.flush()}}function d_(t,s,h,P){const Q=s[zi];if(!(256&~Q))return;s[wo].inlineEffectRunner?.flush(),Gd(s);let ke=null,Le=null;(function u_(t){return 2!==t.type})(t)&&(Le=function r_(t){return t[Ua]??function o_(t){const s=Gb.pop()??Object.create(a_);return s.lView=t,s}(t)}(s),ke=L(Le));try{Rd(s),function tp(t){return an.lFrame.bindingIndex=t}(t.bindingStartIndex),null!==h&&$x(t,s,h,2,P);const ze=!(3&~Q);if(ze){const Ct=t.preOrderCheckHooks;null!==Ct&&Ul(s,Ct,null)}else{const Ct=t.preOrderHooks;null!==Ct&&dd(s,Ct,0,null),Dh(s,0)}if(function p_(t){for(let s=Ub(t);null!==s;s=Wb(s)){if(!(s[zi]&pc.HasTransplantedViews))continue;const h=s[_l];for(let P=0;P-1&&(Pp(s,P),va(h,P))}this._attachedToViewContainer=!1}dg(this._lView[ui],this._lView)}onDestroy(s){ro(this._lView,s)}markForCheck(){Up(this._cdRefInjectingView||this._lView)}detach(){this._lView[zi]&=-129}reattach(){xh(this._lView),this._lView[zi]|=128}detectChanges(){this._lView[zi]|=1024,Tg(this._lView,this.notifyErrorHandler)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new me(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,Nm(this._lView[ui],this._lView)}attachToAppRef(s){if(this._attachedToViewContainer)throw new me(902,!1);this._appRef=s,xh(this._lView)}}let Wp=(()=>{class t{static#e=this.__NG_ELEMENT_ID__=b_}return t})();const g_=Wp,m_=class extends g_{constructor(s,h,P){super(),this._declarationLView=s,this._declarationTContainer=h,this.elementRef=P}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(s,h){return this.createEmbeddedViewImpl(s,h)}createEmbeddedViewImpl(s,h,P){const Q=zp(this._declarationLView,this._declarationTContainer,s,{injector:h,dehydratedView:P});return new wu(Q)}};function b_(){return Sg(hs(),ni())}function Sg(t,s){return 4&t.type?new m_(s,t,yc(t,s)):null}let ov=()=>null;function $h(t,s){return ov(t,s)}class Og{}class Pg{}class Cd{}class O_{resolveComponentFactory(s){throw function I_(t){const s=Error(`No component factory found for ${pt(t)}.`);return s.ngComponent=t,s}(s)}}let Su=(()=>{class t{static#e=this.NULL=new O_}return t})();class lv{}let cv=(()=>{class t{constructor(){this.destroyNode=null}static#e=this.__NG_ELEMENT_ID__=()=>function hv(){const t=ni(),h=zo(hs().index,t);return(gr(h)?h:t)[en]}()}return t})(),dv=(()=>{class t{static#e=this.\u0275prov=$i({token:t,providedIn:"root",factory:()=>null})}return t})();const Lg={};function uv(t,s){if(null!==function ve(){return V}())throw new me(-602,!1)}const pv=new Set;function Ja(t){pv.has(t)||(pv.add(t),performance?.mark?.("mark_feature_usage",{detail:{feature:t}}))}function e0(...t){}class Tr{constructor({enableLongStackTrace:s=!1,shouldCoalesceEventChangeDetection:h=!1,shouldCoalesceRunChangeDetection:P=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new ko(!1),this.onMicrotaskEmpty=new ko(!1),this.onStable=new ko(!1),this.onError=new ko(!1),typeof Zone>"u")throw new me(908,!1);Zone.assertZonePatched();const Q=this;Q._nesting=0,Q._outer=Q._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(Q._inner=Q._inner.fork(new Zone.TaskTrackingZoneSpec)),s&&Zone.longStackTraceZoneSpec&&(Q._inner=Q._inner.fork(Zone.longStackTraceZoneSpec)),Q.shouldCoalesceEventChangeDetection=!P&&h,Q.shouldCoalesceRunChangeDetection=P,Q.lastRequestAnimationFrameId=-1,Q.nativeRequestAnimationFrame=function fv(){const t="function"==typeof Ze.requestAnimationFrame;let s=Ze[t?"requestAnimationFrame":"setTimeout"],h=Ze[t?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&s&&h){const P=s[Zone.__symbol__("OriginalDelegate")];P&&(s=P);const Q=h[Zone.__symbol__("OriginalDelegate")];Q&&(h=Q)}return{nativeRequestAnimationFrame:s,nativeCancelAnimationFrame:h}}().nativeRequestAnimationFrame,function Qp(t){const s=()=>{!function L_(t){t.isCheckStableRunning||-1!==t.lastRequestAnimationFrameId||(t.lastRequestAnimationFrameId=t.nativeRequestAnimationFrame.call(Ze,()=>{t.fakeTopEventTask||(t.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{t.lastRequestAnimationFrameId=-1,Rg(t),t.isCheckStableRunning=!0,t0(t),t.isCheckStableRunning=!1},void 0,()=>{},()=>{})),t.fakeTopEventTask.invoke()}),Rg(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(h,P,Q,ge,ke,Le)=>{if(function gv(t){return!(!Array.isArray(t)||1!==t.length)&&!0===t[0].data?.__ignore_ng_zone__}(Le))return h.invokeTask(Q,ge,ke,Le);try{return n0(t),h.invokeTask(Q,ge,ke,Le)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===ge.type||t.shouldCoalesceRunChangeDetection)&&s(),R_(t)}},onInvoke:(h,P,Q,ge,ke,Le,ze)=>{try{return n0(t),h.invoke(Q,ge,ke,Le,ze)}finally{t.shouldCoalesceRunChangeDetection&&s(),R_(t)}},onHasTask:(h,P,Q,ge)=>{h.hasTask(Q,ge),P===Q&&("microTask"==ge.change?(t._hasPendingMicrotasks=ge.microTask,Rg(t),t0(t)):"macroTask"==ge.change&&(t.hasPendingMacrotasks=ge.macroTask))},onHandleError:(h,P,Q,ge)=>(h.handleError(Q,ge),t.runOutsideAngular(()=>t.onError.emit(ge)),!1)})}(Q)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Tr.isInAngularZone())throw new me(909,!1)}static assertNotInAngularZone(){if(Tr.isInAngularZone())throw new me(909,!1)}run(s,h,P){return this._inner.run(s,h,P)}runTask(s,h,P,Q){const ge=this._inner,ke=ge.scheduleEventTask("NgZoneEvent: "+Q,s,P_,e0,e0);try{return ge.runTask(ke,h,P)}finally{ge.cancelTask(ke)}}runGuarded(s,h,P){return this._inner.runGuarded(s,h,P)}runOutsideAngular(s){return this._outer.run(s)}}const P_={};function t0(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function Rg(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&-1!==t.lastRequestAnimationFrameId)}function n0(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function R_(t){t._nesting--,t0(t)}class Ng{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new ko,this.onMicrotaskEmpty=new ko,this.onStable=new ko,this.onError=new ko}run(s,h,P){return s.apply(h,P)}runGuarded(s,h,P){return s.apply(h,P)}runOutsideAngular(s){return s()}runTask(s,h,P,Q){return s.apply(h,P)}}var Xh=function(t){return t[t.EarlyRead=0]="EarlyRead",t[t.Write=1]="Write",t[t.MixedReadWrite=2]="MixedReadWrite",t[t.Read=3]="Read",t}(Xh||{});const s0={destroy(){}};function o0(t,s){!s&&Ge();const h=s?.injector??qi(Ws);if(!function yd(t){return"browser"===(t??qi(Ws)).get(sh)}(h))return s0;Ja("NgAfterNextRender");const P=h.get(ef),Q=P.handler??=new N_,ge=s?.phase??Xh.MixedReadWrite,ke=()=>{Q.unregister(ze),Le()},Le=h.get(Dl).onDestroy(ke),ze=Ha(h,()=>new bv(ge,()=>{ke(),t()}));return Q.register(ze),{destroy:ke}}class bv{constructor(s,h){this.phase=s,this.callbackFn=h,this.zone=qi(Tr),this.errorHandler=qi(Ml,{optional:!0}),qi(Og,{optional:!0})?.notify(1)}invoke(){try{this.zone.runOutsideAngular(this.callbackFn)}catch(s){this.errorHandler?.handleError(s)}}}class N_{constructor(){this.executingCallbacks=!1,this.buckets={[Xh.EarlyRead]:new Set,[Xh.Write]:new Set,[Xh.MixedReadWrite]:new Set,[Xh.Read]:new Set},this.deferredCallbacks=new Set}register(s){(this.executingCallbacks?this.deferredCallbacks:this.buckets[s.phase]).add(s)}unregister(s){this.buckets[s.phase].delete(s),this.deferredCallbacks.delete(s)}execute(){this.executingCallbacks=!0;for(const s of Object.values(this.buckets))for(const h of s)h.invoke();this.executingCallbacks=!1;for(const s of this.deferredCallbacks)this.buckets[s.phase].add(s);this.deferredCallbacks.clear()}destroy(){for(const s of Object.values(this.buckets))s.clear();this.deferredCallbacks.clear()}}let ef=(()=>{class t{constructor(){this.handler=null,this.internalCallbacks=[]}execute(){this.executeInternalCallbacks(),this.handler?.execute()}executeInternalCallbacks(){const h=[...this.internalCallbacks];this.internalCallbacks.length=0;for(const P of h)P()}ngOnDestroy(){this.handler?.destroy(),this.handler=null,this.internalCallbacks.length=0}static#e=this.\u0275prov=$i({token:t,providedIn:"root",factory:()=>new t})}return t})();function gh(t){return!!qs(t)}function Td(t,s,h){let P=h?t.styles:null,Q=h?t.classes:null,ge=0;if(null!==s)for(let ke=0;ke0&&Wh(t,h,ge.join(" "))}}(Ht,Ao,li,P),void 0!==h&&function oT(t,s,h){const P=t.projection=[];for(let Q=0;Q{class t{static#e=this.__NG_ELEMENT_ID__=G_}return t})();function G_(){return sf(hs(),ni())}const H_=jg,Cv=class extends H_{constructor(s,h,P){super(),this._lContainer=s,this._hostTNode=h,this._hostLView=P}get element(){return yc(this._hostTNode,this._hostLView)}get injector(){return new lr(this._hostTNode,this._hostLView)}get parentInjector(){const s=Zc(this._hostTNode,this._hostLView);if(Lr(s)){const h=Da(s,this._hostLView),P=Wl(s);return new lr(h[ui].data[P+8],h)}return new lr(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(s){const h=wv(this._lContainer);return null!==h&&h[s]||null}get length(){return this._lContainer.length-Vs}createEmbeddedView(s,h,P){let Q,ge;"number"==typeof P?Q=P:null!=P&&(Q=P.index,ge=P.injector);const ke=$h(this._lContainer,s.ssrId),Le=s.createEmbeddedViewImpl(h||{},ge,ke);return this.insertImpl(Le,Q,Cu(this._hostTNode,ke)),Le}createComponent(s,h,P,Q,ge){const ke=s&&!function Pi(t){return"function"==typeof t}(s);let Le;if(ke)Le=h;else{const Kt=h||{};Le=Kt.index,P=Kt.injector,Q=Kt.projectableNodes,ge=Kt.environmentInjector||Kt.ngModuleRef}const ze=ke?s:new Sd(hn(s)),Je=P||this.parentInjector;if(!ge&&null==ze.ngModule){const li=(ke?Je:this.parentInjector).get(Co,null);li&&(ge=li)}const dt=hn(ze.componentType??{}),Ct=$h(this._lContainer,dt?.id??null),Ht=ze.create(Je,Q,Ct?.firstChild??null,ge);return this.insertImpl(Ht.hostView,Le,Cu(this._hostTNode,Ct)),Ht}insert(s,h){return this.insertImpl(s,h,!0)}insertImpl(s,h,P){const Q=s._lView;if(function Nf(t){return zs(t[Yn])}(Q)){const Le=this.indexOf(s);if(-1!==Le)this.detach(Le);else{const ze=Q[Yn],Je=new Cv(ze,ze[ks],ze[Yn]);Je.detach(Je.indexOf(s))}}const ge=this._adjustIndex(h),ke=this._lContainer;return Gp(ke,Q,ge,P),s.attachToViewContainerRef(),qo(c0(ke),ge,s),s}move(s,h){return this.insert(s,h)}indexOf(s){const h=wv(this._lContainer);return null!==h?h.indexOf(s):-1}remove(s){const h=this._adjustIndex(s,-1),P=Pp(this._lContainer,h);P&&(va(c0(this._lContainer),h),dg(P[ui],P))}detach(s){const h=this._adjustIndex(s,-1),P=Pp(this._lContainer,h);return P&&null!=va(c0(this._lContainer),h)?new wu(P):null}_adjustIndex(s,h=0){return s??this.length+h}};function wv(t){return t[8]}function c0(t){return t[8]||(t[8]=[])}function sf(t,s){let h;const P=s[t.index];return zs(P)?h=P:(h=_u(P,s,null,t),s[t.index]=h,_g(s,h)),U_(h,s,t,P),new Cv(h,t,s)}let U_=function Sv(t,s,h,P){if(t[Vo])return;let Q;Q=8&h.type?ws(P):function h0(t,s){const h=t[en],P=h.createComment(""),Q=so(s,t);return mu(h,Fm(h,Q),P,function pg(t,s){return t.nextSibling(s)}(h,Q),!1),P}(s,h),t[Vo]=Q},d0=()=>!1;class u0{constructor(s){this.queryList=s,this.matches=null}clone(){return new u0(this.queryList)}setDirty(){this.queryList.setDirty()}}class p0{constructor(s=[]){this.queries=s}createEmbeddedView(s){const h=s.queries;if(null!==h){const P=null!==s.contentQueries?s.contentQueries[0]:h.length,Q=[];for(let ge=0;ges.trim())}(s):s}}class f0{constructor(s=[]){this.queries=s}elementStart(s,h){for(let P=0;P0)P.push(ke[Le/2]);else{const Je=ge[Le+1],dt=s[-ze];for(let Ct=Vs;Ct(J(s),s.value);return h[ie]=s,h}(t),P=h[ie];return s?.equal&&(P.equal=s.equal),h.set=Q=>j(P,Q),h.update=Q=>function H(t,s){B()||l(),j(t,s(t.value))}(P,Q),h.asReadonly=n1.bind(h),h}function n1(){const t=this[ie];if(void 0===t.readonlyFn){const s=()=>this();s[ie]=t,t.readonlyFn=s}return t.readonlyFn}function s1(t){return function Lv(t){return"function"==typeof t&&void 0!==t[ie]}(t)&&"function"==typeof t.set}function v0(t){let s=function Uv(t){return Object.getPrototypeOf(t.prototype).constructor}(t.type),h=!0;const P=[t];for(;s;){let Q;if(Ur(t))Q=s.\u0275cmp||s.\u0275dir;else{if(s.\u0275cmp)throw new me(903,!1);Q=s.\u0275dir}if(Q){if(h){P.push(Q);const ke=t;ke.inputs=zg(t.inputs),ke.inputTransforms=zg(t.inputTransforms),ke.declaredInputs=zg(t.declaredInputs),ke.outputs=zg(t.outputs);const Le=Q.hostBindings;Le&&TT(t,Le);const ze=Q.viewQuery,Je=Q.contentQueries;if(ze&&wT(t,ze),Je&&af(t,Je),g1(t,Q),kt(t.outputs,Q.outputs),Ur(Q)&&Q.data.animation){const dt=t.data;dt.animation=(dt.animation||[]).concat(Q.data.animation)}}const ge=Q.features;if(ge)for(let ke=0;ke=0;P--){const Q=t[P];Q.hostVars=s+=Q.hostVars,Q.hostAttrs=Ye(Q.hostAttrs,h=Ye(h,Q.hostAttrs))}}(P)}function g1(t,s){for(const h in s.inputs){if(!s.inputs.hasOwnProperty(h)||t.inputs.hasOwnProperty(h))continue;const P=s.inputs[h];if(void 0!==P&&(t.inputs[h]=P,t.declaredInputs[h]=s.declaredInputs[h],null!==s.inputTransforms)){const Q=Array.isArray(P)?P[0]:P;if(!s.inputTransforms.hasOwnProperty(Q))continue;t.inputTransforms??={},t.inputTransforms[Q]=s.inputTransforms[Q]}}}function zg(t){return t===Ks?{}:t===Dn?[]:t}function wT(t,s){const h=t.viewQuery;t.viewQuery=h?(P,Q)=>{s(P,Q),h(P,Q)}:s}function af(t,s){const h=t.contentQueries;t.contentQueries=h?(P,Q,ge)=>{s(P,Q,ge),h(P,Q,ge)}:s}function TT(t,s){const h=t.hostBindings;t.hostBindings=h?(P,Q)=>{s(P,Q),h(P,Q)}:s}function b1(t){const s=h=>{const P=(Array.isArray(t)?t:t()).map(Q=>"function"==typeof Q?{directive:Dt(Q),inputs:Ks,outputs:Ks}:{directive:Dt(Q.directive),inputs:v1(Q.inputs),outputs:v1(Q.outputs)});null===h.hostDirectives?(h.findHostDirectiveDefs=Wv,h.hostDirectives=P):h.hostDirectives.unshift(...P)};return s.ngInherit=!0,s}function Wv(t,s,h){if(null!==t.hostDirectives)for(const P of t.hostDirectives){const Q=Rs(P.directive);MT(Q.declaredInputs,P.inputs),Wv(Q,s,h),h.set(Q,P),s.push(Q)}}function v1(t){if(void 0===t||0===t.length)return Ks;const s={};for(let h=0;hh()),this.destroyCbs=null}onDestroy(s){this.destroyCbs.push(s)}}class Kv extends Xv{constructor(s){super(),this.moduleType=s}create(s){return new Yv(this.moduleType,s,[])}}class Zv extends Mu{constructor(s){super(),this.componentFactoryResolver=new nf(this),this.instance=null;const h=new Ca([...s.providers,{provide:Mu,useValue:this},{provide:Su,useValue:this.componentFactoryResolver}],s.parent||_o(),s.debugName,new Set(["environment"]));this.injector=h,s.runEnvironmentInitializers&&h.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(s){this.injector.onDestroy(s)}}function qv(t,s,h=null){return new Zv({providers:t,parent:s,debugName:h,runEnvironmentInitializers:!0}).injector}let lf=(()=>{class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new R.t(!1)}get _hasPendingTasks(){return this.hasPendingTasks.value}add(){this._hasPendingTasks||this.hasPendingTasks.next(!0);const h=this.taskId++;return this.pendingTasks.add(h),h}remove(h){this.pendingTasks.delete(h),0===this.pendingTasks.size&&this._hasPendingTasks&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this._hasPendingTasks&&this.hasPendingTasks.next(!1)}static#e=this.\u0275fac=function(P){return new(P||t)};static#t=this.\u0275prov=$i({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function x0(t){return!!Qv(t)&&(Array.isArray(t)||!(t instanceof Map)&&Symbol.iterator in t)}function Qv(t){return null!==t&&("function"==typeof t||"object"==typeof t)}function kc(t,s,h){return t[s]=h}function Gg(t,s){return t[s]}function Sr(t,s,h){return!Object.is(t[s],h)&&(t[s]=h,!0)}function Du(t,s,h,P){const Q=Sr(t,s,h);return Sr(t,s+1,P)||Q}function _0(t,s,h,P,Q){const ge=Du(t,s,h,P);return Sr(t,s+2,Q)||ge}function ec(t,s,h,P,Q,ge){const ke=Du(t,s,h,P);return Du(t,s+2,Q,ge)||ke}function Eu(t,s,h,P,Q,ge,ke,Le){const ze=ni(),Je=pn(),dt=t+rn,Ct=Je.firstCreatePass?function NT(t,s,h,P,Q,ge,ke,Le,ze){const Je=s.consts,dt=Np(s,t,4,ke||null,Xa(Je,Le));Nb(s,h,dt,Xa(Je,ze)),Wc(s,dt);const Ct=dt.tView=ph(2,dt,P,Q,ge,s.directiveRegistry,s.pipeRegistry,null,s.schemas,Je,null);return null!==s.queries&&(s.queries.template(s,dt),Ct.queries=s.queries.embeddedTView(dt)),dt}(dt,Je,ze,s,h,P,Q,ge,ke):Je.data[dt];aa(Ct,!1);const jt=_1(Je,ze,Ct,t);Uc()&&Bm(Je,ze,jt,Ct),$o(jt,ze);const Ht=_u(jt,ze,jt,Ct);return ze[dt]=Ht,_g(ze,Ht),function Tv(t,s,h){return d0(t,s,h)}(Ht,Ct,ze),Cl(Ct)&&bg(Je,ze,Ct),null!=ke&&vg(ze,Ct,Le),Eu}let _1=function C1(t,s,h,P){return Go(!0),s[en].createComment("")};function k0(t,s,h,P){const Q=ni();return Sr(Q,Ma(),s)&&(pn(),Tc(Os(),Q,t,s,h,P)),k0}function Iu(t,s,h,P){return Sr(t,Ma(),h)?s+Ki(h)+P:kn}function M0(t,s){return t<<17|s<<2}function Ed(t){return t>>17&32767}function xy(t){return 2|t}function Ad(t){return(131068&t)>>2}function D0(t,s){return-131069&t|s<<2}function _y(t){return 1|t}function Z1(t,s,h,P){const Q=t[h+1],ge=null===s;let ke=P?Ed(Q):Ad(Q),Le=!1;for(;0!==ke&&(!1===Le||ge);){const Je=t[ke+1];hS(t[ke],s)&&(Le=!0,t[ke+1]=P?_y(Je):xy(Je)),ke=P?Ed(Je):Ad(Je)}Le&&(t[h+1]=P?xy(Q):_y(Q))}function hS(t,s){return null===t||null==s||(Array.isArray(t)?t[1]:t)===s||!(!Array.isArray(t)||"string"!=typeof s)&&Gr(t,s)>=0}const fo={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function q1(t){return t.substring(fo.key,fo.keyEnd)}function dS(t){return t.substring(fo.value,fo.valueEnd)}function Q1(t,s){const h=fo.textEnd;return h===s?-1:(s=fo.keyEnd=function fS(t,s,h){for(;s32;)s++;return s}(t,fo.key=s,h),xf(t,s,h))}function J1(t,s){const h=fo.textEnd;let P=fo.key=xf(t,s,h);return h===P?-1:(P=fo.keyEnd=function tC(t,s,h){let P;for(;s=65&&(-33&P)<=90||P>=48&&P<=57);)s++;return s}(t,P,h),P=iC(t,P,h),P=fo.value=xf(t,P,h),P=fo.valueEnd=function nC(t,s,h){let P=-1,Q=-1,ge=-1,ke=s,Le=ke;for(;ke32&&(Le=ke),ge=Q,Q=P,P=-33&ze}return Le}(t,P,h),iC(t,P,h))}function eC(t){fo.key=0,fo.keyEnd=0,fo.value=0,fo.valueEnd=0,fo.textEnd=t.length}function xf(t,s,h){for(;s=0;h=J1(s,h))A0(t,q1(s),dS(s))}function wy(t){Xo(gS,ic,t,!0)}function ic(t,s){for(let h=function uS(t){return eC(t),Q1(t,xf(t,0,fo.textEnd))}(s);h>=0;h=Q1(s,h))Ys(t,q1(s),!0)}function tl(t,s,h,P){const Q=ni(),ge=pn(),ke=Sl(2);ge.firstUpdatePass&&xn(ge,t,ke,P),s!==kn&&Sr(Q,ke,s)&&My(ge,ge.data[Wr()],Q,Q[en],t,Q[ke+1]=function mS(t,s){return null==t||""===t||("string"==typeof s?t+=s:"object"==typeof t&&(t=pt(El(t)))),t}(s,h),P,ke)}function Xo(t,s,h,P){const Q=pn(),ge=Sl(2);Q.firstUpdatePass&&xn(Q,null,ge,P);const ke=ni();if(h!==kn&&Sr(ke,ge,h)){const Le=Q.data[Wr()];if(aC(Le,P)&&!Nu(Q,ge)){let ze=P?Le.classesWithoutHost:Le.stylesWithoutHost;null!==ze&&(h=ht(ze,h||"")),Xg(Q,Le,ke,h,P)}else!function ky(t,s,h,P,Q,ge,ke,Le){Q===kn&&(Q=Dn);let ze=0,Je=0,dt=0=t.expandoStartIndex}function xn(t,s,h,P){const Q=t.data;if(null===Q[h+1]){const ge=Q[Wr()],ke=Nu(t,h);aC(ge,P)&&null===s&&!ke&&(s=!1),s=function Ty(t,s,h,P){const Q=Th(t);let ge=P?s.residualClasses:s.residualStyles;if(null===Q)0===(P?s.classBindings:s.styleBindings)&&(h=Fu(h=Kg(null,t,s,h,P),s.attrs,P),ge=null);else{const ke=s.directiveStylingLast;if(-1===ke||t[ke]!==Q)if(h=Kg(Q,t,s,h,P),null===ge){let ze=function _f(t,s,h){const P=h?s.classBindings:s.styleBindings;if(0!==Ad(P))return t[Ed(P)]}(t,s,P);void 0!==ze&&Array.isArray(ze)&&(ze=Kg(null,t,s,ze[1],P),ze=Fu(ze,s.attrs,P),function E0(t,s,h,P){t[Ed(h?s.classBindings:s.styleBindings)]=P}(t,s,P,ze))}else ge=function Sy(t,s,h){let P;const Q=s.directiveEnd;for(let ge=1+s.directiveStylingLast;ge0)&&(Je=!0)):dt=h,Q)if(0!==ze){const jt=Ed(t[Le+1]);t[P+1]=M0(jt,Le),0!==jt&&(t[jt+1]=D0(t[jt+1],P)),t[Le+1]=function oS(t,s){return 131071&t|s<<17}(t[Le+1],P)}else t[P+1]=M0(Le,0),0!==Le&&(t[Le+1]=D0(t[Le+1],P)),Le=P;else t[P+1]=M0(ze,0),0===Le?Le=P:t[ze+1]=D0(t[ze+1],P),ze=P;Je&&(t[P+1]=xy(t[P+1])),Z1(t,dt,P,!0),Z1(t,dt,P,!1),function cS(t,s,h,P,Q){const ge=Q?t.residualClasses:t.residualStyles;null!=ge&&"string"==typeof s&&Gr(ge,s)>=0&&(h[P+1]=_y(h[P+1]))}(s,dt,t,P,ge),ke=M0(Le,ze),ge?s.classBindings=ke:s.styleBindings=ke}(Q,ge,s,h,ke,P)}}function Kg(t,s,h,P,Q){let ge=null;const ke=h.directiveEnd;let Le=h.directiveStylingLast;for(-1===Le?Le=h.directiveStart:Le++;Le0;){const ze=t[Q],Je=Array.isArray(ze),dt=Je?ze[1]:ze,Ct=null===dt;let jt=h[Q+1];jt===kn&&(jt=Ct?Dn:void 0);let Ht=Ct?Jr(jt,P):dt===P?jt:void 0;if(Je&&!Cf(Ht)&&(Ht=Jr(ze,P)),Cf(Ht)&&(Le=Ht,ke))return Le;const Kt=t[Q+1];Q=ke?Ed(Kt):Ad(Kt)}if(null!==s){let ze=ge?s.residualClasses:s.residualStyles;null!=ze&&(Le=Jr(ze,P))}return Le}function Cf(t){return void 0!==t}function aC(t,s){return!!(t.flags&(s?8:16))}function Zg(t,s,h){Xo(Ys,ic,Iu(ni(),t,s,h),!0)}class Ey{destroy(s){}updateValue(s,h){}swap(s,h){const P=Math.min(s,h),Q=Math.max(s,h),ge=this.detach(Q);if(Q-P>1){const ke=this.detach(P);this.attach(P,ge),this.attach(Q,ke)}else this.attach(P,ge)}move(s,h){this.attach(h,this.detach(s))}}function qg(t,s,h,P,Q){return t===h&&Object.is(s,P)?1:Object.is(Q(t,s),Q(h,P))?-1:0}function nc(t,s,h,P){return!(void 0===s||!s.has(P)||(t.attach(h,s.get(P)),s.delete(P),0))}function Qg(t,s,h,P,Q){if(nc(t,s,P,h(P,Q)))t.updateValue(P,Q);else{const ge=t.create(P,Q);t.attach(P,ge)}}function O0(t,s,h,P){const Q=new Set;for(let ge=s;ge<=h;ge++)Q.add(P(ge,t.at(ge)));return Q}class Sf{constructor(){this.kvMap=new Map,this._vMap=void 0}has(s){return this.kvMap.has(s)}delete(s){if(!this.has(s))return!1;const h=this.kvMap.get(s);return void 0!==this._vMap&&this._vMap.has(h)?(this.kvMap.set(s,this._vMap.get(h)),this._vMap.delete(h)):this.kvMap.delete(s),!0}get(s){return this.kvMap.get(s)}set(s,h){if(this.kvMap.has(s)){let P=this.kvMap.get(s);void 0===this._vMap&&(this._vMap=new Map);const Q=this._vMap;for(;Q.has(P);)P=Q.get(P);Q.set(P,h)}else this.kvMap.set(s,h)}forEach(s){for(let[h,P]of this.kvMap)if(s(P,h),void 0!==this._vMap){const Q=this._vMap;for(;Q.has(P);)P=Q.get(P),s(P,h)}}}function Ay(t,s,h){Ja("NgControlFlow");const P=ni(),Q=Ma(),ge=P0(P,rn+t);if(Sr(P,Q,s)){const Le=re(null);try{if(Xm(ge,0),-1!==s){const ze=em(P[ui],rn+s),Je=$h(ge,ze.tView.ssrId);Gp(ge,zp(P,ze,h,{dehydratedView:Je}),0,Cu(ze,Je))}}finally{re(Le)}}else{const Le=zb(ge,0);void 0!==Le&&(Le[ms]=h)}}class Iy{constructor(s,h,P){this.lContainer=s,this.$implicit=h,this.$index=P}get $count(){return this.lContainer.length-Vs}}function Oy(t,s){return s}class Py{constructor(s,h,P){this.hasEmptyBlock=s,this.trackByFn=h,this.liveCollection=P}}function Ly(t,s,h,P,Q,ge,ke,Le,ze,Je,dt,Ct,jt){Ja("NgControlFlow");const Ht=void 0!==ze,Kt=ni(),li=Le?ke.bind(Kt[Kn][ms]):ke,bi=new Py(Ht,li);Kt[rn+t]=bi,Eu(t+1,s,h,P,Q,ge),Ht&&Eu(t+2,ze,Je,dt,Ct,jt)}class Ry extends Ey{constructor(s,h,P){super(),this.lContainer=s,this.hostLView=h,this.templateTNode=P,this.needsIndexUpdate=!1}get length(){return this.lContainer.length-Vs}at(s){return this.getLView(s)[ms].$implicit}attach(s,h){const P=h[ar];this.needsIndexUpdate||=s!==this.length,Gp(this.lContainer,h,s,Cu(this.templateTNode,P))}detach(s){return this.needsIndexUpdate||=s!==this.length-1,function Fy(t,s){return Pp(t,s)}(this.lContainer,s)}create(s,h){const P=$h(this.lContainer,this.templateTNode.tView.ssrId);return zp(this.hostLView,this.templateTNode,new Iy(this.lContainer,h,s),{dehydratedView:P})}destroy(s){dg(s[ui],s)}updateValue(s,h){this.getLView(s)[ms].$implicit=h}reset(){this.needsIndexUpdate=!1}updateIndexes(){if(this.needsIndexUpdate)for(let s=0;s{t.destroy(Le)})}(ke,t,ge.trackByFn),ke.updateIndexes(),ge.hasEmptyBlock){const Le=Ma(),ze=0===ke.length;if(Sr(P,Le,ze)){const Je=h+2,dt=P0(P,Je);if(ze){const Ct=em(Q,Je),jt=$h(dt,Ct.tView.ssrId);Gp(dt,zp(P,Ct,void 0,{dehydratedView:jt}),0,Cu(Ct,jt))}else Xm(dt,0)}}}finally{re(s)}}function P0(t,s){return t[s]}function em(t,s){return vh(t,s)}function tm(t,s,h,P){const Q=ni(),ge=pn(),ke=rn+t,Le=Q[en],ze=ge.firstCreatePass?function R0(t,s,h,P,Q,ge){const ke=s.consts,ze=Np(s,t,2,P,Xa(ke,Q));return Nb(s,h,ze,Xa(ke,ge)),null!==ze.attrs&&Td(ze,ze.attrs,!1),null!==ze.mergedAttrs&&Td(ze,ze.mergedAttrs,!0),null!==s.queries&&s.queries.elementStart(s,ze),ze}(ke,ge,Q,s,h,P):ge.data[ke],Je=lC(ge,Q,ze,Le,s,t);Q[ke]=Je;const dt=Cl(ze);return aa(ze,!0),jm(Le,Je,ze),!function cf(t){return!(32&~t.flags)}(ze)&&Uc()&&Bm(ge,Q,Je,ze),0===function Tl(){return an.lFrame.elementDepthCount}()&&$o(Je,Q),function sd(){an.lFrame.elementDepthCount++}(),dt&&(bg(ge,Q,ze),Ob(ge,ze,Q)),null!==P&&vg(Q,ze),tm}function im(){let t=hs();Bd()?od():(t=t.parent,aa(t,!1));const s=t;(function Fd(t){return an.skipHydrationRootTNode===t})(s)&&function rd(){an.skipHydrationRootTNode=null}(),function jf(){an.lFrame.elementDepthCount--}();const h=pn();return h.firstCreatePass&&(Wc(h,t),zl(t)&&h.queries.elementEnd(t)),null!=s.classesWithoutHost&&function Xd(t){return!!(8&t.flags)}(s)&&Xg(h,s,ni(),s.classesWithoutHost,!0),null!=s.stylesWithoutHost&&function Oh(t){return!!(16&t.flags)}(s)&&Xg(h,s,ni(),s.stylesWithoutHost,!1),im}function nm(t,s,h,P){return tm(t,s,h,P),im(),nm}let lC=(t,s,h,P,Q,ge)=>(Go(!0),Rm(P,Q,function hd(){return an.lFrame.currentNamespace}()));function sm(t,s,h){const P=ni(),Q=pn(),ge=t+rn,ke=Q.firstCreatePass?function By(t,s,h,P,Q){const ge=s.consts,ke=Xa(ge,P),Le=Np(s,t,8,"ng-container",ke);return null!==ke&&Td(Le,ke,!0),Nb(s,h,Le,Xa(ge,Q)),null!==s.queries&&s.queries.elementStart(s,Le),Le}(ge,Q,P,s,h):Q.data[ge];aa(ke,!0);const Le=hC(Q,P,ke,t);return P[ge]=Le,Uc()&&Bm(Q,P,Le,ke),$o(Le,P),Cl(ke)&&(bg(Q,P,ke),Ob(Q,ke,P)),null!=h&&vg(P,ke),sm}function N0(){let t=hs();const s=pn();return Bd()?od():(t=t.parent,aa(t,!1)),s.firstCreatePass&&(Wc(s,t),zl(t)&&s.queries.elementEnd(t)),N0}function F0(t,s,h){return sm(t,s,h),N0(),F0}let hC=(t,s,h,P)=>(Go(!0),xb(s[en],""));function dC(){return ni()}function jy(t,s,h){const P=ni();return Sr(P,Ma(),s)&&Qa(pn(),Os(),P,t,s,P[en],h,!0),jy}function Vy(t,s,h){const P=ni();if(Sr(P,Ma(),s)){const ge=pn(),ke=Os();Qa(ge,ke,P,t,s,Wm(Th(ge.data),ke,P),h,!0)}return Vy}const ju=void 0;var uC=["en",[["a","p"],["AM","PM"],ju],[["AM","PM"],ju,ju],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],ju,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],ju,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",ju,"{1} 'at' {0}",ju],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function TS(t){const h=Math.floor(Math.abs(t)),P=t.toString().replace(/^[^.]*\.?/,"").length;return 1===h&&0===P?1:5}];let kf={};function B0(t){const s=function kS(t){return t.toLowerCase().replace(/_/g,"-")}(t);let h=fC(s);if(h)return h;const P=s.split("-")[0];if(h=fC(P),h)return h;if("en"===P)return uC;throw new me(701,!1)}function pC(t){return B0(t)[Mf.PluralCase]}function fC(t){return t in kf||(kf[t]=Ze.ng&&Ze.ng.common&&Ze.ng.common.locales&&Ze.ng.common.locales[t]),kf[t]}var Mf=function(t){return t[t.LocaleId=0]="LocaleId",t[t.DayPeriodsFormat=1]="DayPeriodsFormat",t[t.DayPeriodsStandalone=2]="DayPeriodsStandalone",t[t.DaysFormat=3]="DaysFormat",t[t.DaysStandalone=4]="DaysStandalone",t[t.MonthsFormat=5]="MonthsFormat",t[t.MonthsStandalone=6]="MonthsStandalone",t[t.Eras=7]="Eras",t[t.FirstDayOfWeek=8]="FirstDayOfWeek",t[t.WeekendRange=9]="WeekendRange",t[t.DateFormat=10]="DateFormat",t[t.TimeFormat=11]="TimeFormat",t[t.DateTimeFormat=12]="DateTimeFormat",t[t.NumberSymbols=13]="NumberSymbols",t[t.NumberFormats=14]="NumberFormats",t[t.CurrencyCode=15]="CurrencyCode",t[t.CurrencySymbol=16]="CurrencySymbol",t[t.CurrencyName=17]="CurrencyName",t[t.Currencies=18]="Currencies",t[t.Directionality=19]="Directionality",t[t.PluralCase=20]="PluralCase",t[t.ExtraData=21]="ExtraData",t}(Mf||{});const Df="en-US",j0={marker:"element"},Ef={marker:"ICU"};var nl=function(t){return t[t.SHIFT=2]="SHIFT",t[t.APPEND_EAGERLY=1]="APPEND_EAGERLY",t[t.COMMENT=2]="COMMENT",t}(nl||{});let gC=Df;function zy(t,s,h){const P=s.insertBeforeIndex,Q=Array.isArray(P)?P[0]:P;return null===Q?fg(t,0,h):ws(h[Q])}function bC(t,s,h,P,Q){const ge=s.insertBeforeIndex;if(Array.isArray(ge)){let ke=P,Le=null;if(3&s.type||(Le=ke,ke=Q),null!==ke&&-1===s.componentOffset)for(let ze=1;ze1)for(let h=t.length-2;h>=0;h--){const P=t[h];yC(P)||IS(P,s)&&null===xC(P)&&OS(P,s.index)}}function yC(t){return!(64&t.type)}function IS(t,s){return yC(s)||t.index>s.index}function xC(t){const s=t.insertBeforeIndex;return Array.isArray(s)?s[0]:s}function OS(t,s){const h=t.insertBeforeIndex;Array.isArray(h)?h[0]=s:(Wx(zy,bC),t.insertBeforeIndex=s)}function LS(t,s,h){const P=Ib(t,h,64,null,null);return vC(s,P),P}let lm=(t,s,h,P)=>(Go(!0),function Hy(t,s,h){const P=t[en];switch(h){case Node.COMMENT_NODE:return xb(P,s);case Node.TEXT_NODE:return yb(P,s);case Node.ELEMENT_NODE:return Rm(P,s,null)}}(t,h,P));function BS(){const t=[];let h,P,s=-1;function ge(Le,ze){s=0;const Je=function V0(t,s){const h=s[t.currentCaseLViewIndex];return null===h?h:h<0?~h:h}(Le,ze);P=null!==Je?Le.remove[Je]:Dn}function ke(){if(s0?h[Le]:(t.push(s,P),ge(h[ui].data[~Le],h),ke())}return 0===t.length?null:(P=t.pop(),s=t.pop(),ke())}return function Q(Le,ze){for(h=ze;t.length;)t.pop();return ge(Le.value,ze),ke}}const hm=/\ufffd(\d+):?\d*\ufffd/gi,zS=/\ufffd(\d+)\ufffd/,OC=/^\s*(\ufffd\d+:?\d*\ufffd)\s*,\s*(select|plural)\s*,/,Af="\ufffd",PC=/\ufffd\/?\*(\d+:\d+)\ufffd/gi,GS=/\ufffd(\/?[#*]\d+):?\d*\ufffd/gi,HS=/\uE500/g;function Uy(t,s,h,P,Q,ge,ke){const Le=mg(t,P,1,null);let ze=Le<h.length&&h.push(ze)}return{type:P,mainBinding:Q,cases:s,values:h}}function H0(t){if(!t)return[];let s=0;const h=[],P=[],Q=/[{}]/g;let ge;for(Q.lastIndex=0;ge=Q.exec(t);){const Le=ge.index;if("}"==ge[0]){if(h.pop(),0==h.length){const ze=t.substring(s,Le);OC.test(ze)?P.push(FC(ze)):P.push(ze),s=Le+1}}else{if(0==h.length){const ze=t.substring(s,Le);P.push(ze),s=Le+1}h.push("{")}}const ke=t.substring(s);return P.push(ke),P}function BC(t,s,h,P,Q,ge,ke,Le,ze){const Je=[],dt=[],Ct=[];h.cases.push(ke),h.create.push(Je),h.remove.push(dt),h.update.push(Ct);const Ht=q0(ha()).getInertBodyElement(Le),Kt=wm(Ht)||Ht;return Kt?Xy(t,s,h,P,Q,Je,dt,Ct,Kt,ge,ze,0):0}function Xy(t,s,h,P,Q,ge,ke,Le,ze,Je,dt,Ct){let jt=0,Ht=ze.firstChild;for(;Ht;){const Kt=mg(s,P,1,null);switch(Ht.nodeType){case Node.ELEMENT_NODE:const li=Ht,bi=li.tagName.toLowerCase();if(xm.hasOwnProperty(bi)){U0(ge,j0,bi,Je,Kt),s.data[Kt]=bi;const ys=li.attributes;for(let Ao=0;Ao>>nl.SHIFT;let Ct=t[dt],jt=!1;null===Ct&&(Ct=t[dt]=lm(t,dt,s[ge],(ke&nl.COMMENT)===nl.COMMENT?Node.COMMENT_NODE:Node.TEXT_NODE),jt=Uc()),Je&&null!==h&&jt&&mu(Q,h,Ct,P,!1)}})(Q,ze.create,dt,Le&&8&Le.type?Q[Le.index]:null),jd(!0)}function De(t,s,h){W(t,s,h),function ce(){jd(!1)}()}function Mt(t,s,h,P){const Q=ni(),ge=pn(),ke=hs();return Zt(ge,Q,Q[en],ke,t,s,P),Mt}function Zt(t,s,h,P,Q,ge,ke){const Le=Cl(P),Je=t.firstCreatePass&&Um(t),dt=s[ms],Ct=jb(s);let jt=!0;if(3&P.type||ke){const li=so(P,s),bi=ke?ke(li):li,Ni=Ct.length,fi=ke?ys=>ke(ws(ys[P.index])):P.index;let _n=null;if(!ke&&Le&&(_n=function Wt(t,s,h,P){const Q=t.cleanup;if(null!=Q)for(let ge=0;geze?Le[ze]:null}"string"==typeof ke&&(ge+=2)}return null}(t,s,Q,P.index)),null!==_n)(_n.__ngLastListenerFn__||_n).__ngNextListenerFn__=ge,_n.__ngLastListenerFn__=ge,jt=!1;else{ge=Xt(P,s,dt,ge,!1);const ys=h.listen(bi,Q,ge);Ct.push(ge,ys),Je&&Je.push(Q,fi,Ni,Ni+1)}}else ge=Xt(P,s,dt,ge,!1);const Ht=P.outputs;let Kt;if(jt&&null!==Ht&&(Kt=Ht[Q])){const li=Kt.length;if(li)for(let bi=0;bi-1?zo(t.index,s):s);let ze=hi(s,h,P,ke),Je=ge.__ngNextListenerFn__;for(;Je;)ze=hi(s,h,Je,ke)&&ze,Je=Je.__ngNextListenerFn__;return Q&&!1===ze&&ke.preventDefault(),ze}}function Ci(t=1){return function Hf(t){return(an.lFrame.contextLView=function yh(t,s){for(;t>0;)s=s[bs],t--;return s}(t,an.lFrame.contextLView))[ms]}(t)}function gi(t,s){let h=null;const P=function Ir(t){const s=t.attrs;if(null!=s){const h=s.indexOf(5);if(!(1&h))return s[h+1]}return null}(t);for(let Q=0;Q(Go(!0),yb(s[en],P));function XC(t){return Zy("",t,""),XC}function Zy(t,s,h){const P=ni(),Q=Iu(P,t,s,h);return Q!==kn&&fh(P,Wr(),Q),Zy}function YC(t,s,h,P,Q){const ge=ni(),ke=function Ou(t,s,h,P,Q,ge){const Le=Du(t,So(),h,Q);return Sl(2),Le?s+Ki(h)+P+Ki(Q)+ge:kn}(ge,t,s,h,P,Q);return ke!==kn&&fh(ge,Wr(),ke),YC}function KC(t,s,h,P,Q,ge,ke){const Le=ni(),ze=function Pu(t,s,h,P,Q,ge,ke,Le){const Je=_0(t,So(),h,Q,ke);return Sl(3),Je?s+Ki(h)+P+Ki(Q)+ge+Ki(ke)+Le:kn}(Le,t,s,h,P,Q,ge,ke);return ze!==kn&&fh(Le,Wr(),ze),KC}function ZC(t,s,h,P,Q,ge,ke,Le,ze){const Je=ni(),dt=function Lu(t,s,h,P,Q,ge,ke,Le,ze,Je){const Ct=ec(t,So(),h,Q,ke,ze);return Sl(4),Ct?s+Ki(h)+P+Ki(Q)+ge+Ki(ke)+Le+Ki(ze)+Je:kn}(Je,t,s,h,P,Q,ge,ke,Le,ze);return dt!==kn&&fh(Je,Wr(),dt),ZC}function qC(t,s,h){s1(s)&&(s=s());const P=ni();return Sr(P,Ma(),s)&&Qa(pn(),Os(),P,t,s,P[en],h,!1),qC}function ik(t,s){const h=s1(t);return h&&t.set(s),h}function QC(t,s){const h=ni(),P=pn(),Q=hs();return Zt(P,h,h[en],Q,t,s),QC}function JC(t,s,h,P,Q){if(t=Dt(t),Array.isArray(t))for(let ge=0;ge>20;if(Fo(t)||!t.multi){const Ht=new $c(Je,Q,Ql),Kt=tw(ze,s,Q?dt:dt+jt,Ct);-1===Kt?(Kd(ud(Le,ke),ge,ze),ew(ge,t,s.length),s.push(ze),Le.directiveStart++,Le.directiveEnd++,Q&&(Le.providerIndexes+=1048576),h.push(Ht),ke.push(Ht)):(h[Kt]=Ht,ke[Kt]=Ht)}else{const Ht=tw(ze,s,dt+jt,Ct),Kt=tw(ze,s,dt,dt+jt),bi=Kt>=0&&h[Kt];if(Q&&!bi||!Q&&!(Ht>=0&&h[Ht])){Kd(ud(Le,ke),ge,ze);const Ni=function wD(t,s,h,P,Q){const ge=new $c(t,h,Ql);return ge.multi=[],ge.index=s,ge.componentProviders=0,nk(ge,Q,P&&!h),ge}(Q?CD:_D,h.length,Q,P,Je);!Q&&bi&&(h[Kt].providerFactory=Ni),ew(ge,t,s.length,0),s.push(ze),Le.directiveStart++,Le.directiveEnd++,Q&&(Le.providerIndexes+=1048576),h.push(Ni),ke.push(Ni)}else ew(ge,t,Ht>-1?Ht:Kt,nk(h[Q?Kt:Ht],Je,!Q&&P));!Q&&P&&bi&&h[Kt].componentProviders++}}}function ew(t,s,h,P){const Q=Fo(s),ge=function _a(t){return!!t.useClass}(s);if(Q||ge){const ze=(ge?Dt(s.useClass):s).prototype.ngOnDestroy;if(ze){const Je=t.destroyHooks||(t.destroyHooks=[]);if(!Q&&s.multi){const dt=Je.indexOf(h);-1===dt?Je.push(h,[P,ze]):Je[dt+1].push(P,ze)}else Je.push(h,ze)}}}function nk(t,s,h){return h&&t.componentProviders++,t.multi.push(s)-1}function tw(t,s,h,P){for(let Q=h;Q{h.providersResolver=(P,Q)=>function xD(t,s,h){const P=pn();if(P.firstCreatePass){const Q=Ur(t);JC(h,P.data,P.blueprint,Q,!0),JC(s,P.data,P.blueprint,Q,!1)}}(P,Q?Q(t):t,s)}}let TD=(()=>{class t{constructor(h){this._injector=h,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(h){if(!h.standalone)return null;if(!this.cachedInjectors.has(h)){const P=ml(0,h.type),Q=P.length>0?qv([P],this._injector,`Standalone[${h.type.name}]`):null;this.cachedInjectors.set(h,Q)}return this.cachedInjectors.get(h)}ngOnDestroy(){try{for(const h of this.cachedInjectors.values())null!==h&&h.destroy()}finally{this.cachedInjectors.clear()}}static#e=this.\u0275prov=$i({token:t,providedIn:"environment",factory:()=>new t(Is(Co))})}return t})();function rk(t){Ja("NgStandalone"),t.getStandaloneInjector=s=>s.get(TD).getOrCreateStandaloneInjector(t)}function fk(t,s,h){const P=oo()+t,Q=ni();return Q[P]===kn?kc(Q,P,h?s.call(h):s()):Gg(Q,P)}function gk(t,s,h,P){return wk(ni(),oo(),t,s,h,P)}function mk(t,s,h,P,Q){return Tk(ni(),oo(),t,s,h,P,Q)}function bk(t,s,h,P,Q,ge){return function Sk(t,s,h,P,Q,ge,ke,Le){const ze=s+h;return _0(t,ze,Q,ge,ke)?kc(t,ze+3,Le?P.call(Le,Q,ge,ke):P(Q,ge,ke)):W0(t,ze+3)}(ni(),oo(),t,s,h,P,Q,ge)}function vk(t,s,h,P,Q,ge,ke){return function kk(t,s,h,P,Q,ge,ke,Le,ze){const Je=s+h;return ec(t,Je,Q,ge,ke,Le)?kc(t,Je+4,ze?P.call(ze,Q,ge,ke,Le):P(Q,ge,ke,Le)):W0(t,Je+4)}(ni(),oo(),t,s,h,P,Q,ge,ke)}function yk(t,s,h,P,Q,ge,ke,Le){const ze=oo()+t,Je=ni(),dt=ec(Je,ze,h,P,Q,ge);return Sr(Je,ze+4,ke)||dt?kc(Je,ze+5,Le?s.call(Le,h,P,Q,ge,ke):s(h,P,Q,ge,ke)):Gg(Je,ze+5)}function xk(t,s,h,P,Q,ge,ke,Le,ze){const Je=oo()+t,dt=ni(),Ct=ec(dt,Je,h,P,Q,ge);return Du(dt,Je+4,ke,Le)||Ct?kc(dt,Je+6,ze?s.call(ze,h,P,Q,ge,ke,Le):s(h,P,Q,ge,ke,Le)):Gg(dt,Je+6)}function _k(t,s,h,P,Q,ge,ke,Le,ze,Je){const dt=oo()+t,Ct=ni();let jt=ec(Ct,dt,h,P,Q,ge);return _0(Ct,dt+4,ke,Le,ze)||jt?kc(Ct,dt+7,Je?s.call(Je,h,P,Q,ge,ke,Le,ze):s(h,P,Q,ge,ke,Le,ze)):Gg(Ct,dt+7)}function Ck(t,s,h,P){return function Mk(t,s,h,P,Q,ge){let ke=s+h,Le=!1;for(let ze=0;ze=0;h--){const P=s[h];if(t===P.name)return P}}(s,h.pipeRegistry),h.data[Q]=P,P.onDestroy&&(h.destroyHooks??=[]).push(Q,P.onDestroy)):P=h.data[Q];const ge=P.factory||(P.factory=Mr(P.type)),Le=Gs(Ql);try{const ze=Xc(!1),Je=ge();return Xc(ze),function go(t,s,h,P){h>=t.data.length&&(t.data[h]=null,t.blueprint[h]=null),s[h]=P}(h,ni(),Q,Je),Je}finally{Gs(Le)}}function Ek(t,s,h){const P=t+rn,Q=ni(),ge=jc(Q,P);return $0(Q,P)?wk(Q,oo(),s,ge.transform,h,ge):ge.transform(h)}function Ak(t,s,h,P){const Q=t+rn,ge=ni(),ke=jc(ge,Q);return $0(ge,Q)?Tk(ge,oo(),s,ke.transform,h,P,ke):ke.transform(h,P)}function $0(t,s){return t[ui].data[s].pure}function Ik(t,s){return Sg(t,s)}class Xk{constructor(s){this.full=s;const h=s.split(".");this.major=h[0],this.minor=h[1],this.patch=h.slice(2).join(".")}}let Yk=(()=>{class t{log(h){console.log(h)}warn(h){console.warn(h)}static#e=this.\u0275fac=function(P){return new(P||t)};static#t=this.\u0275prov=$i({token:t,factory:t.\u0275fac,providedIn:"platform"})}return t})();const Jk=new $e(""),eM=new $e("");let cw,IE=(()=>{class t{constructor(h,P,Q){this._ngZone=h,this.registry=P,this._pendingCount=0,this._isZoneStable=!0,this._callbacks=[],this.taskTrackingZone=null,cw||(function OE(t){cw=t}(Q),Q.addToWindow(P)),this._watchAngularEvents(),h.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Tr.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let h=this._callbacks.pop();clearTimeout(h.timeoutId),h.doneCb()}});else{let h=this.getPendingTasks();this._callbacks=this._callbacks.filter(P=>!P.updateCb||!P.updateCb(h)||(clearTimeout(P.timeoutId),!1))}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(h=>({source:h.source,creationLocation:h.creationLocation,data:h.data})):[]}addCallback(h,P,Q){let ge=-1;P&&P>0&&(ge=setTimeout(()=>{this._callbacks=this._callbacks.filter(ke=>ke.timeoutId!==ge),h()},P)),this._callbacks.push({doneCb:h,timeoutId:ge,updateCb:Q})}whenStable(h,P,Q){if(Q&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(h,P,Q),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(h){this.registry.registerApplication(h,this)}unregisterApplication(h){this.registry.unregisterApplication(h)}findProviders(h,P,Q){return[]}static#e=this.\u0275fac=function(P){return new(P||t)(Is(Tr),Is(tM),Is(eM))};static#t=this.\u0275prov=$i({token:t,factory:t.\u0275fac})}return t})(),tM=(()=>{class t{constructor(){this._applications=new Map}registerApplication(h,P){this._applications.set(h,P)}unregisterApplication(h){this._applications.delete(h)}unregisterAllApplications(){this._applications.clear()}getTestability(h){return this._applications.get(h)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(h,P=!0){return cw?.findTestabilityInTree(this,h,P)??null}static#e=this.\u0275fac=function(P){return new(P||t)};static#t=this.\u0275prov=$i({token:t,factory:t.\u0275fac,providedIn:"platform"})}return t})();function hw(t){return!!t&&"function"==typeof t.then}function iM(t){return!!t&&"function"==typeof t.subscribe}const nM=new $e("");let dw=(()=>{class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((h,P)=>{this.resolve=h,this.reject=P}),this.appInits=qi(nM,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const h=[];for(const Q of this.appInits){const ge=Q();if(hw(ge))h.push(ge);else if(iM(ge)){const ke=new Promise((Le,ze)=>{ge.subscribe({complete:Le,error:ze})});h.push(ke)}}const P=()=>{this.done=!0,this.resolve()};Promise.all(h).then(()=>{P()}).catch(Q=>{this.reject(Q)}),0===h.length&&P(),this.initialized=!0}static#e=this.\u0275fac=function(P){return new(P||t)};static#t=this.\u0275prov=$i({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const uw=new $e("");function oM(t,s){return Array.isArray(s)?s.reduce(oM,t):{...t,...s}}let zu=(()=>{class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=qi(su),this.afterRenderEffectManager=qi(ef),this.externalTestViews=new Set,this.beforeRender=new x.B,this.afterTick=new x.B,this.componentTypes=[],this.components=[],this.isStable=qi(lf).hasPendingTasks.pipe((0,K.T)(h=>!h)),this._injector=qi(Co)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(h,P){const Q=h instanceof Cd;if(!this._injector.get(dw).done)throw!Q&&xo(h),new me(405,!1);let ke;ke=Q?h:this._injector.get(Su).resolveComponentFactory(h),this.componentTypes.push(ke.componentType);const Le=function PE(t){return t.isBoundToModule}(ke)?void 0:this._injector.get(Mu),Je=ke.create(Ws.NULL,[],P||ke.selector,Le),dt=Je.location.nativeElement,Ct=Je.injector.get(Jk,null);return Ct?.registerApplication(dt),Je.onDestroy(()=>{this.detachView(Je.hostView),ex(this.components,Je),Ct?.unregisterApplication(dt)}),this._loadComponent(Je),Je}tick(){this._tick(!0)}_tick(h){if(this._runningTick)throw new me(101,!1);const P=re(null);try{this._runningTick=!0,this.detectChangesInAttachedViews(h)}catch(Q){this.internalErrorHandler(Q)}finally{this.afterTick.next(),this._runningTick=!1,re(P)}}detectChangesInAttachedViews(h){let P=0;const Q=this.afterRenderEffectManager;for(;;){if(P===Km)throw new me(103,!1);if(h){const ge=0===P;this.beforeRender.next(ge);for(let{_lView:ke,notifyErrorHandler:Le}of this._views)RE(ke,ge,Le)}if(P++,Q.executeInternalCallbacks(),![...this.externalTestViews.keys(),...this._views].some(({_lView:ge})=>pw(ge))&&(Q.execute(),![...this.externalTestViews.keys(),...this._views].some(({_lView:ge})=>pw(ge))))break}}attachView(h){const P=h;this._views.push(P),P.attachToAppRef(this)}detachView(h){const P=h;ex(this._views,P),P.detachFromAppRef()}_loadComponent(h){this.attachView(h.hostView),this.tick(),this.components.push(h);const P=this._injector.get(uw,[]);[...this._bootstrapListeners,...P].forEach(Q=>Q(h))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(h=>h()),this._views.slice().forEach(h=>h.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(h){return this._destroyListeners.push(h),()=>ex(this._destroyListeners,h)}destroy(){if(this._destroyed)throw new me(406,!1);const h=this._injector;h.destroy&&!h.destroyed&&h.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static#e=this.\u0275fac=function(P){return new(P||t)};static#t=this.\u0275prov=$i({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function ex(t,s){const h=t.indexOf(s);h>-1&&t.splice(h,1)}function RE(t,s,h){!s&&!pw(t)||function NE(t,s,h){let P;h?(P=0,t[zi]|=1024):P=64&t[zi]?0:1,Tg(t,s,P)}(t,h,s)}function pw(t){return Nd(t)}class FE{constructor(s,h){this.ngModuleFactory=s,this.componentFactories=h}}let BE=(()=>{class t{compileModuleSync(h){return new Kv(h)}compileModuleAsync(h){return Promise.resolve(this.compileModuleSync(h))}compileModuleAndAllComponentsSync(h){const P=this.compileModuleSync(h),ge=Il(qs(h).declarations).reduce((ke,Le)=>{const ze=hn(Le);return ze&&ke.push(new Sd(ze)),ke},[]);return new FE(P,ge)}compileModuleAndAllComponentsAsync(h){return Promise.resolve(this.compileModuleAndAllComponentsSync(h))}clearCache(){}clearCacheFor(h){}getModuleId(h){}static#e=this.\u0275fac=function(P){return new(P||t)};static#t=this.\u0275prov=$i({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),zE=(()=>{class t{constructor(){this.zone=qi(Tr),this.applicationRef=qi(zu)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static#e=this.\u0275fac=function(P){return new(P||t)};static#t=this.\u0275prov=$i({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function GE(){const t=qi(Tr),s=qi(Ml);return h=>t.runOutsideAngular(()=>s.handleError(h))}let UE=(()=>{class t{constructor(){this.subscription=new N.yU,this.initialized=!1,this.zone=qi(Tr),this.pendingTasks=qi(lf)}initialize(){if(this.initialized)return;this.initialized=!0;let h=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(h=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{Tr.assertNotInAngularZone(),queueMicrotask(()=>{null!==h&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(h),h=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{Tr.assertInAngularZone(),h??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static#e=this.\u0275fac=function(P){return new(P||t)};static#t=this.\u0275prov=$i({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const ix=new $e("",{providedIn:"root",factory:()=>qi(ix,mn.Optional|mn.SkipSelf)||function WE(){return typeof $localize<"u"&&$localize.locale||Df}()}),$E=new $e("",{providedIn:"root",factory:()=>"USD"}),fw=new $e("");let hM=(()=>{class t{constructor(h){this._injector=h,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(h,P){const Q=function mv(t="zone.js",s){return"noop"===t?new Ng:"zone.js"===t?new Tr(s):t}(P?.ngZone,function cM(t){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:t?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:t?.runCoalescing??!1}}({eventCoalescing:P?.ngZoneEventCoalescing,runCoalescing:P?.ngZoneRunCoalescing}));return Q.run(()=>{const ge=function AT(t,s,h){return new Yv(t,s,h)}(h.moduleType,this.injector,function lM(t){return[{provide:Tr,useFactory:t},{provide:Lo,multi:!0,useFactory:()=>{const s=qi(zE,{optional:!0});return()=>s.initialize()}},{provide:Lo,multi:!0,useFactory:()=>{const s=qi(UE);return()=>{s.initialize()}}},{provide:su,useFactory:GE}]}(()=>Q)),ke=ge.injector.get(Ml,null);return Q.runOutsideAngular(()=>{const Le=Q.onError.subscribe({next:ze=>{ke.handleError(ze)}});ge.onDestroy(()=>{ex(this._modules,ge),Le.unsubscribe()})}),function rM(t,s,h){try{const P=h();return hw(P)?P.catch(Q=>{throw s.runOutsideAngular(()=>t.handleError(Q)),Q}):P}catch(P){throw s.runOutsideAngular(()=>t.handleError(P)),P}}(ke,Q,()=>{const Le=ge.injector.get(dw);return Le.runInitializers(),Le.donePromise.then(()=>(function mC(t){"string"==typeof t&&(gC=t.toLowerCase().replace(/_/g,"-"))}(ge.injector.get(ix,Df)||Df),this._moduleDoBootstrap(ge),ge))})})}bootstrapModule(h,P=[]){const Q=oM({},P);return function VE(t,s,h){const P=new Kv(h);return Promise.resolve(P)}(0,0,h).then(ge=>this.bootstrapModuleFactory(ge,Q))}_moduleDoBootstrap(h){const P=h.injector.get(zu);if(h._bootstrapComponents.length>0)h._bootstrapComponents.forEach(Q=>P.bootstrap(Q));else{if(!h.instance.ngDoBootstrap)throw new me(-403,!1);h.instance.ngDoBootstrap(P)}this._modules.push(h)}onDestroy(h){this._destroyListeners.push(h)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new me(404,!1);this._modules.slice().forEach(P=>P.destroy()),this._destroyListeners.forEach(P=>P());const h=this._injector.get(fw,null);h&&(h.forEach(P=>P()),h.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static#e=this.\u0275fac=function(P){return new(P||t)(Is(Ws))};static#t=this.\u0275prov=$i({token:t,factory:t.\u0275fac,providedIn:"platform"})}return t})(),Gu=null;const dM=new $e("");function uM(t,s,h=[]){const P=`Platform: ${s}`,Q=new $e(P);return(ge=[])=>{let ke=gw();if(!ke||ke.injector.get(dM,!1)){const Le=[...h,...ge,{provide:Q,useValue:!0}];t?t(Le):function YE(t){if(Gu&&!Gu.get(dM,!1))throw new me(400,!1);(function sM(){!function d(t){r=t}(()=>{throw new me(600,!1)})})(),Gu=t;const s=t.get(hM);(function fM(t){t.get(zh,null)?.forEach(h=>h())})(t)}(function pM(t=[],s){return Ws.create({name:s,providers:[{provide:Fs,useValue:"platform"},{provide:fw,useValue:new Set([()=>Gu=null])},...t]})}(Le,P))}return function KE(t){const s=gw();if(!s)throw new me(401,!1);return s}()}}function gw(){return Gu?.get(hM)??null}function qE(){}let mM=(()=>{class t{static#e=this.__NG_ELEMENT_ID__=QE}return t})();function QE(t){return function JE(t,s,h){if(ra(t)&&!h){const P=zo(t.index,s);return new wu(P,P)}return 47&t.type?new wu(s[Kn],s):null}(hs(),ni(),!(16&~t))}class xM{constructor(){}supports(s){return x0(s)}create(s){return new sA(s)}}const nA=(t,s)=>s;class sA{constructor(s){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=s||nA}forEachItem(s){let h;for(h=this._itHead;null!==h;h=h._next)s(h)}forEachOperation(s){let h=this._itHead,P=this._removalsHead,Q=0,ge=null;for(;h||P;){const ke=!P||h&&h.currentIndex{ke=this._trackByFn(Q,Le),null!==h&&Object.is(h.trackById,ke)?(P&&(h=this._verifyReinsertion(h,Le,ke,Q)),Object.is(h.item,Le)||this._addIdentityChange(h,Le)):(h=this._mismatch(h,Le,ke,Q),P=!0),h=h._next,Q++}),this.length=Q;return this._truncate(h),this.collection=s,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let s;for(s=this._previousItHead=this._itHead;null!==s;s=s._next)s._nextPrevious=s._next;for(s=this._additionsHead;null!==s;s=s._nextAdded)s.previousIndex=s.currentIndex;for(this._additionsHead=this._additionsTail=null,s=this._movesHead;null!==s;s=s._nextMoved)s.previousIndex=s.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(s,h,P,Q){let ge;return null===s?ge=this._itTail:(ge=s._prev,this._remove(s)),null!==(s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(P,null))?(Object.is(s.item,h)||this._addIdentityChange(s,h),this._reinsertAfter(s,ge,Q)):null!==(s=null===this._linkedRecords?null:this._linkedRecords.get(P,Q))?(Object.is(s.item,h)||this._addIdentityChange(s,h),this._moveAfter(s,ge,Q)):s=this._addAfter(new rA(h,P),ge,Q),s}_verifyReinsertion(s,h,P,Q){let ge=null===this._unlinkedRecords?null:this._unlinkedRecords.get(P,null);return null!==ge?s=this._reinsertAfter(ge,s._prev,Q):s.currentIndex!=Q&&(s.currentIndex=Q,this._addToMoves(s,Q)),s}_truncate(s){for(;null!==s;){const h=s._next;this._addToRemovals(this._unlink(s)),s=h}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(s,h,P){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(s);const Q=s._prevRemoved,ge=s._nextRemoved;return null===Q?this._removalsHead=ge:Q._nextRemoved=ge,null===ge?this._removalsTail=Q:ge._prevRemoved=Q,this._insertAfter(s,h,P),this._addToMoves(s,P),s}_moveAfter(s,h,P){return this._unlink(s),this._insertAfter(s,h,P),this._addToMoves(s,P),s}_addAfter(s,h,P){return this._insertAfter(s,h,P),this._additionsTail=null===this._additionsTail?this._additionsHead=s:this._additionsTail._nextAdded=s,s}_insertAfter(s,h,P){const Q=null===h?this._itHead:h._next;return s._next=Q,s._prev=h,null===Q?this._itTail=s:Q._prev=s,null===h?this._itHead=s:h._next=s,null===this._linkedRecords&&(this._linkedRecords=new _M),this._linkedRecords.put(s),s.currentIndex=P,s}_remove(s){return this._addToRemovals(this._unlink(s))}_unlink(s){null!==this._linkedRecords&&this._linkedRecords.remove(s);const h=s._prev,P=s._next;return null===h?this._itHead=P:h._next=P,null===P?this._itTail=h:P._prev=h,s}_addToMoves(s,h){return s.previousIndex===h||(this._movesTail=null===this._movesTail?this._movesHead=s:this._movesTail._nextMoved=s),s}_addToRemovals(s){return null===this._unlinkedRecords&&(this._unlinkedRecords=new _M),this._unlinkedRecords.put(s),s.currentIndex=null,s._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=s,s._prevRemoved=null):(s._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=s),s}_addIdentityChange(s,h){return s.item=h,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=s:this._identityChangesTail._nextIdentityChange=s,s}}class rA{constructor(s,h){this.item=s,this.trackById=h,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class oA{constructor(){this._head=null,this._tail=null}add(s){null===this._head?(this._head=this._tail=s,s._nextDup=null,s._prevDup=null):(this._tail._nextDup=s,s._prevDup=this._tail,s._nextDup=null,this._tail=s)}get(s,h){let P;for(P=this._head;null!==P;P=P._nextDup)if((null===h||h<=P.currentIndex)&&Object.is(P.trackById,s))return P;return null}remove(s){const h=s._prevDup,P=s._nextDup;return null===h?this._head=P:h._nextDup=P,null===P?this._tail=h:P._prevDup=h,null===this._head}}class _M{constructor(){this.map=new Map}put(s){const h=s.trackById;let P=this.map.get(h);P||(P=new oA,this.map.set(h,P)),P.add(s)}get(s,h){const Q=this.map.get(s);return Q?Q.get(s,h):null}remove(s){const h=s.trackById;return this.map.get(h).remove(s)&&this.map.delete(h),s}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function CM(t,s,h){const P=t.previousIndex;if(null===P)return P;let Q=0;return h&&P{if(h&&h.key===Q)this._maybeAddToChanges(h,P),this._appendAfter=h,h=h._next;else{const ge=this._getOrCreateRecordForKey(Q,P);h=this._insertBeforeOrAppend(h,ge)}}),h){h._prev&&(h._prev._next=null),this._removalsHead=h;for(let P=h;null!==P;P=P._nextRemoved)P===this._mapHead&&(this._mapHead=null),this._records.delete(P.key),P._nextRemoved=P._next,P.previousValue=P.currentValue,P.currentValue=null,P._prev=null,P._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(s,h){if(s){const P=s._prev;return h._next=s,h._prev=P,s._prev=h,P&&(P._next=h),s===this._mapHead&&(this._mapHead=h),this._appendAfter=s,s}return this._appendAfter?(this._appendAfter._next=h,h._prev=this._appendAfter):this._mapHead=h,this._appendAfter=h,null}_getOrCreateRecordForKey(s,h){if(this._records.has(s)){const Q=this._records.get(s);this._maybeAddToChanges(Q,h);const ge=Q._prev,ke=Q._next;return ge&&(ge._next=ke),ke&&(ke._prev=ge),Q._next=null,Q._prev=null,Q}const P=new lA(s);return this._records.set(s,P),P.currentValue=h,this._addToAdditions(P),P}_reset(){if(this.isDirty){let s;for(this._previousMapHead=this._mapHead,s=this._previousMapHead;null!==s;s=s._next)s._nextPrevious=s._next;for(s=this._changesHead;null!==s;s=s._nextChanged)s.previousValue=s.currentValue;for(s=this._additionsHead;null!=s;s=s._nextAdded)s.previousValue=s.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(s,h){Object.is(h,s.currentValue)||(s.previousValue=s.currentValue,s.currentValue=h,this._addToChanges(s))}_addToAdditions(s){null===this._additionsHead?this._additionsHead=this._additionsTail=s:(this._additionsTail._nextAdded=s,this._additionsTail=s)}_addToChanges(s){null===this._changesHead?this._changesHead=this._changesTail=s:(this._changesTail._nextChanged=s,this._changesTail=s)}_forEach(s,h){s instanceof Map?s.forEach(h):Object.keys(s).forEach(P=>h(s[P],P))}}class lA{constructor(s){this.key=s,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function TM(){return new xw([new xM])}let xw=(()=>{class t{static#e=this.\u0275prov=$i({token:t,providedIn:"root",factory:TM});constructor(h){this.factories=h}static create(h,P){if(null!=P){const Q=P.factories.slice();h=h.concat(Q)}return new t(h)}static extend(h){return{provide:t,useFactory:P=>t.create(h,P||TM()),deps:[[t,new zr,new tr]]}}find(h){const P=this.factories.find(Q=>Q.supports(h));if(null!=P)return P;throw new me(901,!1)}}return t})();function SM(){return new _w([new wM])}let _w=(()=>{class t{static#e=this.\u0275prov=$i({token:t,providedIn:"root",factory:SM});constructor(h){this.factories=h}static create(h,P){if(P){const Q=P.factories.slice();h=h.concat(Q)}return new t(h)}static extend(h){return{provide:t,useFactory:P=>t.create(h,P||SM()),deps:[[t,new zr,new tr]]}}find(h){const P=this.factories.find(Q=>Q.supports(h));if(P)return P;throw new me(901,!1)}}return t})();const dA=uM(null,"core",[]);let uA=(()=>{class t{constructor(h){}static#e=this.\u0275fac=function(P){return new(P||t)(Is(zu))};static#t=this.\u0275mod=Nl({type:t});static#i=this.\u0275inj=Mn({})}return t})();function zA(t){return"boolean"==typeof t?t:null!=t&&"false"!==t}function GA(t,s=NaN){return isNaN(parseFloat(t))||isNaN(Number(t))?s:Number(t)}function UA(t,s){Ja("NgSignals");const h=function f(t){const s=Object.create(o);s.computation=t;const h=()=>{if($(s),J(s),s.value===y)throw s.error;return s.value};return h[ie]=s,h}(t);return s?.equal&&(h[ie].equal=s.equal),h}function WA(t){const s=re(null);try{return t()}finally{re(s)}}const $A=new $e("",{providedIn:"root",factory:()=>qi(XA)});let XA=(()=>{class t{static#e=this.\u0275prov=$i({token:t,providedIn:"root",factory:()=>new YA})}return t})();class YA{constructor(){this.queuedEffectCount=0,this.queues=new Map,this.pendingTasks=qi(lf),this.taskId=null}scheduleEffect(s){if(this.enqueue(s),null===this.taskId){const h=this.taskId=this.pendingTasks.add();queueMicrotask(()=>{this.flush(),this.pendingTasks.remove(h),this.taskId=null})}}enqueue(s){const h=s.creationZone;this.queues.has(h)||this.queues.set(h,new Set);const P=this.queues.get(h);P.has(s)||(this.queuedEffectCount++,P.add(s))}flush(){for(;this.queuedEffectCount>0;)for(const[s,h]of this.queues)null===s?this.flushQueue(h):s.run(()=>this.flushQueue(h))}flushQueue(s){for(const h of s)s.delete(h),this.queuedEffectCount--,h.run()}}class KA{constructor(s,h,P,Q,ge,ke){this.scheduler=s,this.effectFn=h,this.creationZone=P,this.injector=ge,this.watcher=function se(t,s,h){const P=Object.create(X);h&&(P.consumerAllowSignalWrites=!0),P.fn=t,P.schedule=s;const Q=ze=>{P.cleanupFn=ze};return P.ref={notify:()=>F(P),run:()=>{if(null===P.fn)return;if(function le(){return Pe}())throw new Error("Schedulers cannot synchronously execute watches while scheduling.");if(P.dirty=!1,P.hasRun&&!I(P))return;P.hasRun=!0;const ze=L(P);try{P.cleanupFn(),P.cleanupFn=w,P.fn(Q)}finally{D(P,ze)}},cleanup:()=>P.cleanupFn(),destroy:()=>function ke(ze){(function ge(ze){return null===ze.fn&&null===ze.schedule})(ze)||(E(ze),ze.cleanupFn(),ze.fn=null,ze.schedule=null,ze.cleanupFn=w)}(P),[ie]:P},P.ref}(Le=>this.runEffect(Le),()=>this.schedule(),ke),this.unregisterOnDestroy=Q?.onDestroy(()=>this.destroy())}runEffect(s){try{this.effectFn(s)}catch(h){this.injector.get(Ml,null,{optional:!0})?.handleError(h)}}run(){this.watcher.run()}schedule(){this.scheduler.scheduleEffect(this)}destroy(){this.watcher.destroy(),this.unregisterOnDestroy?.()}}function XM(t,s){Ja("NgSignals"),!s?.injector&&Ge();const h=s?.injector??qi(Ws),P=!0!==s?.manualCleanup?h.get(Dl):null,Q=new KA(h.get($A),t,typeof Zone>"u"?null:Zone.current,P,h,s?.allowSignalWrites??!1),ge=h.get(mM,null,{optional:!0});return ge&&8&ge._lView[zi]?(ge._lView[yl]??=[]).push(Q.watcher.notify):Q.watcher.notify(),Q}function ZA(t,s){const h=hn(t),P=s.elementInjector||_o();return new Sd(h).create(P,s.projectableNodes,s.hostElement,s.environmentInjector)}function qA(t){const s=hn(t);if(!s)return null;const h=new Sd(s);return{get selector(){return h.selector},get type(){return h.componentType},get inputs(){return h.inputs},get outputs(){return h.outputs},get ngContentSelectors(){return h.ngContentSelectors},get isStandalone(){return s.standalone},get isSignal(){return s.signals}}}},89079:(ri,Ft,He)=>{"use strict";He.d(Ft,{ot:()=>le,pQ:()=>Pe});var M=He(54438),e=He(71985),V=He(56977);function Pe(fe){fe||((0,M.Af3)(Pe),fe=(0,M.WQX)(M.abz));const pe=new e.c(J=>fe.onDestroy(J.next.bind(J)));return J=>J.pipe((0,V.Q)(pe))}function le(fe,pe){const J=!pe?.manualCleanup;J&&!pe?.injector&&(0,M.Af3)(le);const te=J?pe?.injector?.get(M.abz)??(0,M.WQX)(M.abz):null;let $;$=(0,M.vPA)(pe?.requireSync?{kind:0}:{kind:1,value:pe?.initialValue});const A=fe.subscribe({next:B=>$.set({kind:1,value:B}),error:B=>{if(pe?.rejectErrors)throw B;$.set({kind:2,error:B})}});return te?.onDestroy(A.unsubscribe.bind(A)),(0,M.EWP)(()=>{const B=$();switch(B.kind){case 1:return B.value;case 2:throw B.error;case 0:throw new M.wOt(601,"`toSignal()` called with `requireSync` but `Observable` did not emit synchronously.")}})}},89417:(ri,Ft,He)=>{"use strict";He.d(Ft,{$R:()=>yr,BC:()=>he,JD:()=>xr,Q0:()=>Oa,VZ:()=>Mr,X1:()=>ja,YN:()=>Jo,ZU:()=>x,Zm:()=>fe,cb:()=>me,cz:()=>F,j4:()=>vr,k0:()=>I,kq:()=>ve,me:()=>$,ok:()=>yo,qT:()=>sc,vO:()=>N,vS:()=>Tn});var M=He(54438),e=He(60177),V=He(86648),Pe=He(27468),Z=He(96354);let ie=(()=>{class ot{constructor(Ye,vt){this._renderer=Ye,this._elementRef=vt,this.onChange=Bt=>{},this.onTouched=()=>{}}setProperty(Ye,vt){this._renderer.setProperty(this._elementRef.nativeElement,Ye,vt)}registerOnTouched(Ye){this.onTouched=Ye}registerOnChange(Ye){this.onChange=Ye}setDisabledState(Ye){this.setProperty("disabled",Ye)}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(M.sFG),M.rXU(M.aKT))};static#t=this.\u0275dir=M.FsC({type:ot})}return ot})(),re=(()=>{class ot extends ie{static#e=this.\u0275fac=(()=>{let Ye;return function(Bt){return(Ye||(Ye=M.xGo(ot)))(Bt||ot)}})();static#t=this.\u0275dir=M.FsC({type:ot,features:[M.Vt3]})}return ot})();const ve=new M.nKC(""),le={provide:ve,useExisting:(0,M.Rfq)(()=>fe),multi:!0};let fe=(()=>{class ot extends re{writeValue(Ye){this.setProperty("checked",Ye)}static#e=this.\u0275fac=(()=>{let Ye;return function(Bt){return(Ye||(Ye=M.xGo(ot)))(Bt||ot)}})();static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(vt,Bt){1&vt&&M.bIt("change",function(bn){return Bt.onChange(bn.target.checked)})("blur",function(){return Bt.onTouched()})},features:[M.Jv_([le]),M.Vt3]})}return ot})();const pe={provide:ve,useExisting:(0,M.Rfq)(()=>$),multi:!0},te=new M.nKC("");let $=(()=>{class ot extends ie{constructor(Ye,vt,Bt){super(Ye,vt),this._compositionMode=Bt,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function J(){const ot=(0,e.QT)()?(0,e.QT)().getUserAgent():"";return/android (\d+)/.test(ot.toLowerCase())}())}writeValue(Ye){this.setProperty("value",Ye??"")}_handleInput(Ye){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(Ye)}_compositionStart(){this._composing=!0}_compositionEnd(Ye){this._composing=!1,this._compositionMode&&this.onChange(Ye)}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(M.sFG),M.rXU(M.aKT),M.rXU(te,8))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(vt,Bt){1&vt&&M.bIt("input",function(bn){return Bt._handleInput(bn.target.value)})("blur",function(){return Bt.onTouched()})("compositionstart",function(){return Bt._compositionStart()})("compositionend",function(bn){return Bt._compositionEnd(bn.target.value)})},features:[M.Jv_([pe]),M.Vt3]})}return ot})();function A(ot){return null==ot||("string"==typeof ot||Array.isArray(ot))&&0===ot.length}function B(ot){return null!=ot&&"number"==typeof ot.length}const F=new M.nKC(""),L=new M.nKC(""),D=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class I{static min(ct){return E(ct)}static max(ct){return function _(ot){return ct=>{if(A(ct.value)||A(ot))return null;const Ye=parseFloat(ct.value);return!isNaN(Ye)&&Ye>ot?{max:{max:ot,actual:ct.value}}:null}}(ct)}static required(ct){return function b(ot){return A(ot.value)?{required:!0}:null}(ct)}static requiredTrue(ct){return function T(ot){return!0===ot.value?null:{required:!0}}(ct)}static email(ct){return function z(ot){return A(ot.value)||D.test(ot.value)?null:{email:!0}}(ct)}static minLength(ct){return function O(ot){return ct=>A(ct.value)||!B(ct.value)?null:ct.value.lengthB(ct.value)&&ct.value.length>ot?{maxlength:{requiredLength:ot,actualLength:ct.value.length}}:null}(ct)}static pattern(ct){return function a(ot){if(!ot)return g;let ct,Ye;return"string"==typeof ot?(Ye="","^"!==ot.charAt(0)&&(Ye+="^"),Ye+=ot,"$"!==ot.charAt(ot.length-1)&&(Ye+="$"),ct=new RegExp(Ye)):(Ye=ot.toString(),ct=ot),vt=>{if(A(vt.value))return null;const Bt=vt.value;return ct.test(Bt)?null:{pattern:{requiredPattern:Ye,actualValue:Bt}}}}(ct)}static nullValidator(ct){return null}static compose(ct){return C(ct)}static composeAsync(ct){return p(ct)}}function E(ot){return ct=>{if(A(ct.value)||A(ot))return null;const Ye=parseFloat(ct.value);return!isNaN(Ye)&&Ye{ct=null!=Ye?{...ct,...Ye}:ct}),0===Object.keys(ct).length?null:ct}function r(ot,ct){return ct.map(Ye=>Ye(ot))}function d(ot){return ot.map(ct=>function l(ot){return!ot.validate}(ct)?ct:Ye=>ct.validate(Ye))}function C(ot){if(!ot)return null;const ct=ot.filter(y);return 0==ct.length?null:function(Ye){return n(r(Ye,ct))}}function k(ot){return null!=ot?C(d(ot)):null}function p(ot){if(!ot)return null;const ct=ot.filter(y);return 0==ct.length?null:function(Ye){const vt=r(Ye,ct).map(o);return(0,Pe.p)(vt).pipe((0,Z.T)(n))}}function S(ot){return null!=ot?p(d(ot)):null}function j(ot,ct){return null===ot?[ct]:Array.isArray(ot)?[...ot,ct]:[ot,ct]}function H(ot){return ot._rawValidators}function Y(ot){return ot._rawAsyncValidators}function U(ot){return ot?Array.isArray(ot)?ot:[ot]:[]}function se(ot,ct){return Array.isArray(ot)?ot.includes(ct):ot===ct}function w(ot,ct){const Ye=U(ct);return U(ot).forEach(Bt=>{se(Ye,Bt)||Ye.push(Bt)}),Ye}function X(ot,ct){return U(ct).filter(Ye=>!se(ot,Ye))}class G{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(ct){this._rawValidators=ct||[],this._composedValidatorFn=k(this._rawValidators)}_setAsyncValidators(ct){this._rawAsyncValidators=ct||[],this._composedAsyncValidatorFn=S(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(ct){this._onDestroyCallbacks.push(ct)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(ct=>ct()),this._onDestroyCallbacks=[]}reset(ct=void 0){this.control&&this.control.reset(ct)}hasError(ct,Ye){return!!this.control&&this.control.hasError(ct,Ye)}getError(ct,Ye){return this.control?this.control.getError(ct,Ye):null}}class x extends G{get formDirective(){return null}get path(){return null}}class N extends G{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class R{constructor(ct){this._cd=ct}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let he=(()=>{class ot extends R{constructor(Ye){super(Ye)}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(N,2))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(vt,Bt){2&vt&&M.AVh("ng-untouched",Bt.isUntouched)("ng-touched",Bt.isTouched)("ng-pristine",Bt.isPristine)("ng-dirty",Bt.isDirty)("ng-valid",Bt.isValid)("ng-invalid",Bt.isInvalid)("ng-pending",Bt.isPending)},features:[M.Vt3]})}return ot})(),me=(()=>{class ot extends R{constructor(Ye){super(Ye)}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(x,10))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(vt,Bt){2&vt&&M.AVh("ng-untouched",Bt.isUntouched)("ng-touched",Bt.isTouched)("ng-pristine",Bt.isPristine)("ng-dirty",Bt.isDirty)("ng-valid",Bt.isValid)("ng-invalid",Bt.isInvalid)("ng-pending",Bt.isPending)("ng-submitted",Bt.isSubmitted)},features:[M.Vt3]})}return ot})();const st="VALID",kt="INVALID",pt="PENDING",ht="DISABLED";function Lt(ot){return(At(ot)?ot.validators:ot)||null}function ti(ot,ct){return(At(ct)?ct.asyncValidators:ot)||null}function At(ot){return null!=ot&&!Array.isArray(ot)&&"object"==typeof ot}function _t(ot,ct,Ye){const vt=ot.controls;if(!(ct?Object.keys(vt):vt).length)throw new M.wOt(1e3,"");if(!vt[Ye])throw new M.wOt(1001,"")}function wt(ot,ct,Ye){ot._forEachChild((vt,Bt)=>{if(void 0===Ye[Bt])throw new M.wOt(1002,"")})}class Qt{constructor(ct,Ye){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(ct),this._assignAsyncValidators(Ye)}get validator(){return this._composedValidatorFn}set validator(ct){this._rawValidators=this._composedValidatorFn=ct}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(ct){this._rawAsyncValidators=this._composedAsyncValidatorFn=ct}get parent(){return this._parent}get valid(){return this.status===st}get invalid(){return this.status===kt}get pending(){return this.status==pt}get disabled(){return this.status===ht}get enabled(){return this.status!==ht}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(ct){this._assignValidators(ct)}setAsyncValidators(ct){this._assignAsyncValidators(ct)}addValidators(ct){this.setValidators(w(ct,this._rawValidators))}addAsyncValidators(ct){this.setAsyncValidators(w(ct,this._rawAsyncValidators))}removeValidators(ct){this.setValidators(X(ct,this._rawValidators))}removeAsyncValidators(ct){this.setAsyncValidators(X(ct,this._rawAsyncValidators))}hasValidator(ct){return se(this._rawValidators,ct)}hasAsyncValidator(ct){return se(this._rawAsyncValidators,ct)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(ct={}){this.touched=!0,this._parent&&!ct.onlySelf&&this._parent.markAsTouched(ct)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(ct=>ct.markAllAsTouched())}markAsUntouched(ct={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(Ye=>{Ye.markAsUntouched({onlySelf:!0})}),this._parent&&!ct.onlySelf&&this._parent._updateTouched(ct)}markAsDirty(ct={}){this.pristine=!1,this._parent&&!ct.onlySelf&&this._parent.markAsDirty(ct)}markAsPristine(ct={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(Ye=>{Ye.markAsPristine({onlySelf:!0})}),this._parent&&!ct.onlySelf&&this._parent._updatePristine(ct)}markAsPending(ct={}){this.status=pt,!1!==ct.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!ct.onlySelf&&this._parent.markAsPending(ct)}disable(ct={}){const Ye=this._parentMarkedDirty(ct.onlySelf);this.status=ht,this.errors=null,this._forEachChild(vt=>{vt.disable({...ct,onlySelf:!0})}),this._updateValue(),!1!==ct.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...ct,skipPristineCheck:Ye}),this._onDisabledChange.forEach(vt=>vt(!0))}enable(ct={}){const Ye=this._parentMarkedDirty(ct.onlySelf);this.status=st,this._forEachChild(vt=>{vt.enable({...ct,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:ct.emitEvent}),this._updateAncestors({...ct,skipPristineCheck:Ye}),this._onDisabledChange.forEach(vt=>vt(!1))}_updateAncestors(ct){this._parent&&!ct.onlySelf&&(this._parent.updateValueAndValidity(ct),ct.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(ct){this._parent=ct}getRawValue(){return this.value}updateValueAndValidity(ct={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===st||this.status===pt)&&this._runAsyncValidator(ct.emitEvent)),!1!==ct.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!ct.onlySelf&&this._parent.updateValueAndValidity(ct)}_updateTreeValidity(ct={emitEvent:!0}){this._forEachChild(Ye=>Ye._updateTreeValidity(ct)),this.updateValueAndValidity({onlySelf:!0,emitEvent:ct.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?ht:st}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(ct){if(this.asyncValidator){this.status=pt,this._hasOwnPendingAsyncValidator=!0;const Ye=o(this.asyncValidator(this));this._asyncValidationSubscription=Ye.subscribe(vt=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(vt,{emitEvent:ct})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(ct,Ye={}){this.errors=ct,this._updateControlsErrors(!1!==Ye.emitEvent)}get(ct){let Ye=ct;return null==Ye||(Array.isArray(Ye)||(Ye=Ye.split(".")),0===Ye.length)?null:Ye.reduce((vt,Bt)=>vt&&vt._find(Bt),this)}getError(ct,Ye){const vt=Ye?this.get(Ye):this;return vt&&vt.errors?vt.errors[ct]:null}hasError(ct,Ye){return!!this.getError(ct,Ye)}get root(){let ct=this;for(;ct._parent;)ct=ct._parent;return ct}_updateControlsErrors(ct){this.status=this._calculateStatus(),ct&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(ct)}_initObservables(){this.valueChanges=new M.bkB,this.statusChanges=new M.bkB}_calculateStatus(){return this._allControlsDisabled()?ht:this.errors?kt:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(pt)?pt:this._anyControlsHaveStatus(kt)?kt:st}_anyControlsHaveStatus(ct){return this._anyControls(Ye=>Ye.status===ct)}_anyControlsDirty(){return this._anyControls(ct=>ct.dirty)}_anyControlsTouched(){return this._anyControls(ct=>ct.touched)}_updatePristine(ct={}){this.pristine=!this._anyControlsDirty(),this._parent&&!ct.onlySelf&&this._parent._updatePristine(ct)}_updateTouched(ct={}){this.touched=this._anyControlsTouched(),this._parent&&!ct.onlySelf&&this._parent._updateTouched(ct)}_registerOnCollectionChange(ct){this._onCollectionChange=ct}_setUpdateStrategy(ct){At(ct)&&null!=ct.updateOn&&(this._updateOn=ct.updateOn)}_parentMarkedDirty(ct){return!ct&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(ct){return null}_assignValidators(ct){this._rawValidators=Array.isArray(ct)?ct.slice():ct,this._composedValidatorFn=function Gt(ot){return Array.isArray(ot)?k(ot):ot||null}(this._rawValidators)}_assignAsyncValidators(ct){this._rawAsyncValidators=Array.isArray(ct)?ct.slice():ct,this._composedAsyncValidatorFn=function Dt(ot){return Array.isArray(ot)?S(ot):ot||null}(this._rawAsyncValidators)}}class di extends Qt{constructor(ct,Ye,vt){super(Lt(Ye),ti(vt,Ye)),this.controls=ct,this._initObservables(),this._setUpdateStrategy(Ye),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(ct,Ye){return this.controls[ct]?this.controls[ct]:(this.controls[ct]=Ye,Ye.setParent(this),Ye._registerOnCollectionChange(this._onCollectionChange),Ye)}addControl(ct,Ye,vt={}){this.registerControl(ct,Ye),this.updateValueAndValidity({emitEvent:vt.emitEvent}),this._onCollectionChange()}removeControl(ct,Ye={}){this.controls[ct]&&this.controls[ct]._registerOnCollectionChange(()=>{}),delete this.controls[ct],this.updateValueAndValidity({emitEvent:Ye.emitEvent}),this._onCollectionChange()}setControl(ct,Ye,vt={}){this.controls[ct]&&this.controls[ct]._registerOnCollectionChange(()=>{}),delete this.controls[ct],Ye&&this.registerControl(ct,Ye),this.updateValueAndValidity({emitEvent:vt.emitEvent}),this._onCollectionChange()}contains(ct){return this.controls.hasOwnProperty(ct)&&this.controls[ct].enabled}setValue(ct,Ye={}){wt(this,0,ct),Object.keys(ct).forEach(vt=>{_t(this,!0,vt),this.controls[vt].setValue(ct[vt],{onlySelf:!0,emitEvent:Ye.emitEvent})}),this.updateValueAndValidity(Ye)}patchValue(ct,Ye={}){null!=ct&&(Object.keys(ct).forEach(vt=>{const Bt=this.controls[vt];Bt&&Bt.patchValue(ct[vt],{onlySelf:!0,emitEvent:Ye.emitEvent})}),this.updateValueAndValidity(Ye))}reset(ct={},Ye={}){this._forEachChild((vt,Bt)=>{vt.reset(ct?ct[Bt]:null,{onlySelf:!0,emitEvent:Ye.emitEvent})}),this._updatePristine(Ye),this._updateTouched(Ye),this.updateValueAndValidity(Ye)}getRawValue(){return this._reduceChildren({},(ct,Ye,vt)=>(ct[vt]=Ye.getRawValue(),ct))}_syncPendingControls(){let ct=this._reduceChildren(!1,(Ye,vt)=>!!vt._syncPendingControls()||Ye);return ct&&this.updateValueAndValidity({onlySelf:!0}),ct}_forEachChild(ct){Object.keys(this.controls).forEach(Ye=>{const vt=this.controls[Ye];vt&&ct(vt,Ye)})}_setUpControls(){this._forEachChild(ct=>{ct.setParent(this),ct._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(ct){for(const[Ye,vt]of Object.entries(this.controls))if(this.contains(Ye)&&ct(vt))return!0;return!1}_reduceValue(){return this._reduceChildren({},(Ye,vt,Bt)=>((vt.enabled||this.disabled)&&(Ye[Bt]=vt.value),Ye))}_reduceChildren(ct,Ye){let vt=ct;return this._forEachChild((Bt,Vi)=>{vt=Ye(vt,Bt,Vi)}),vt}_allControlsDisabled(){for(const ct of Object.keys(this.controls))if(this.controls[ct].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(ct){return this.controls.hasOwnProperty(ct)?this.controls[ct]:null}}class Gi extends di{}const jn=new M.nKC("CallSetDisabledState",{providedIn:"root",factory:()=>ls}),ls="always";function fs(ot,ct){return[...ct.path,ot]}function Gn(ot,ct,Ye=ls){On(ot,ct),ct.valueAccessor.writeValue(ot.value),(ot.disabled||"always"===Ye)&&ct.valueAccessor.setDisabledState?.(ot.disabled),function As(ot,ct){ct.valueAccessor.registerOnChange(Ye=>{ot._pendingValue=Ye,ot._pendingChange=!0,ot._pendingDirty=!0,"change"===ot.updateOn&&$i(ot,ct)})}(ot,ct),function Cs(ot,ct){const Ye=(vt,Bt)=>{ct.valueAccessor.writeValue(vt),Bt&&ct.viewToModelUpdate(vt)};ot.registerOnChange(Ye),ct._registerOnDestroy(()=>{ot._unregisterOnChange(Ye)})}(ot,ct),function $n(ot,ct){ct.valueAccessor.registerOnTouched(()=>{ot._pendingTouched=!0,"blur"===ot.updateOn&&ot._pendingChange&&$i(ot,ct),"submit"!==ot.updateOn&&ot.markAsTouched()})}(ot,ct),function _s(ot,ct){if(ct.valueAccessor.setDisabledState){const Ye=vt=>{ct.valueAccessor.setDisabledState(vt)};ot.registerOnDisabledChange(Ye),ct._registerOnDestroy(()=>{ot._unregisterOnDisabledChange(Ye)})}}(ot,ct)}function dn(ot,ct,Ye=!0){const vt=()=>{};ct.valueAccessor&&(ct.valueAccessor.registerOnChange(vt),ct.valueAccessor.registerOnTouched(vt)),Pn(ot,ct),ot&&(ct._invokeOnDestroyCallbacks(),ot._registerOnCollectionChange(()=>{}))}function Mi(ot,ct){ot.forEach(Ye=>{Ye.registerOnValidatorChange&&Ye.registerOnValidatorChange(ct)})}function On(ot,ct){const Ye=H(ot);null!==ct.validator?ot.setValidators(j(Ye,ct.validator)):"function"==typeof Ye&&ot.setValidators([Ye]);const vt=Y(ot);null!==ct.asyncValidator?ot.setAsyncValidators(j(vt,ct.asyncValidator)):"function"==typeof vt&&ot.setAsyncValidators([vt]);const Bt=()=>ot.updateValueAndValidity();Mi(ct._rawValidators,Bt),Mi(ct._rawAsyncValidators,Bt)}function Pn(ot,ct){let Ye=!1;if(null!==ot){if(null!==ct.validator){const Bt=H(ot);if(Array.isArray(Bt)&&Bt.length>0){const Vi=Bt.filter(bn=>bn!==ct.validator);Vi.length!==Bt.length&&(Ye=!0,ot.setValidators(Vi))}}if(null!==ct.asyncValidator){const Bt=Y(ot);if(Array.isArray(Bt)&&Bt.length>0){const Vi=Bt.filter(bn=>bn!==ct.asyncValidator);Vi.length!==Bt.length&&(Ye=!0,ot.setAsyncValidators(Vi))}}}const vt=()=>{};return Mi(ct._rawValidators,vt),Mi(ct._rawAsyncValidators,vt),Ye}function $i(ot,ct){ot._pendingDirty&&ot.markAsDirty(),ot.setValue(ot._pendingValue,{emitModelToViewChange:!1}),ct.viewToModelUpdate(ot._pendingValue),ot._pendingChange=!1}function Nt(ot,ct){if(!ot.hasOwnProperty("model"))return!1;const Ye=ot.model;return!!Ye.isFirstChange()||!Object.is(ct,Ye.currentValue)}function $e(ot,ct){if(!ct)return null;let Ye,vt,Bt;return Array.isArray(ct),ct.forEach(Vi=>{Vi.constructor===$?Ye=Vi:function bt(ot){return Object.getPrototypeOf(ot.constructor)===re}(Vi)?vt=Vi:Bt=Vi}),Bt||vt||Ye||null}function Si(ot,ct){const Ye=ot.indexOf(ct);Ye>-1&&ot.splice(Ye,1)}function Hi(ot){return"object"==typeof ot&&null!==ot&&2===Object.keys(ot).length&&"value"in ot&&"disabled"in ot}Promise.resolve();const ss=class extends Qt{constructor(ct=null,Ye,vt){super(Lt(Ye),ti(vt,Ye)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(ct),this._setUpdateStrategy(Ye),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),At(Ye)&&(Ye.nonNullable||Ye.initialValueIsDefault)&&(this.defaultValue=Hi(ct)?ct.value:ct)}setValue(ct,Ye={}){this.value=this._pendingValue=ct,this._onChange.length&&!1!==Ye.emitModelToViewChange&&this._onChange.forEach(vt=>vt(this.value,!1!==Ye.emitViewToModelChange)),this.updateValueAndValidity(Ye)}patchValue(ct,Ye={}){this.setValue(ct,Ye)}reset(ct=this.defaultValue,Ye={}){this._applyFormState(ct),this.markAsPristine(Ye),this.markAsUntouched(Ye),this.setValue(this.value,Ye),this._pendingChange=!1}_updateValue(){}_anyControls(ct){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(ct){this._onChange.push(ct)}_unregisterOnChange(ct){Si(this._onChange,ct)}registerOnDisabledChange(ct){this._onDisabledChange.push(ct)}_unregisterOnDisabledChange(ct){Si(this._onDisabledChange,ct)}_forEachChild(ct){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(ct){Hi(ct)?(this.value=this._pendingValue=ct.value,ct.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=ct}};let cn=(()=>{class ot extends x{ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return fs(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}static#e=this.\u0275fac=(()=>{let Ye;return function(Bt){return(Ye||(Ye=M.xGo(ot)))(Bt||ot)}})();static#t=this.\u0275dir=M.FsC({type:ot,features:[M.Vt3]})}return ot})();const jr={provide:N,useExisting:(0,M.Rfq)(()=>Tn)},Ki=Promise.resolve();let Tn=(()=>{class ot extends N{constructor(Ye,vt,Bt,Vi,bn,to){super(),this._changeDetectorRef=bn,this.callSetDisabledState=to,this.control=new ss,this._registered=!1,this.name="",this.update=new M.bkB,this._parent=Ye,this._setValidators(vt),this._setAsyncValidators(Bt),this.valueAccessor=$e(0,Vi)}ngOnChanges(Ye){if(this._checkForErrors(),!this._registered||"name"in Ye){if(this._registered&&(this._checkName(),this.formDirective)){const vt=Ye.name.previousValue;this.formDirective.removeControl({name:vt,path:this._getPath(vt)})}this._setUpControl()}"isDisabled"in Ye&&this._updateDisabled(Ye),Nt(Ye,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(Ye){this.viewModel=Ye,this.update.emit(Ye)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){Gn(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(Ye){Ki.then(()=>{this.control.setValue(Ye,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(Ye){const vt=Ye.isDisabled.currentValue,Bt=0!==vt&&(0,M.L39)(vt);Ki.then(()=>{Bt&&!this.control.disabled?this.control.disable():!Bt&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(Ye){return this._parent?fs(Ye,this._parent):[Ye]}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(x,9),M.rXU(F,10),M.rXU(L,10),M.rXU(ve,10),M.rXU(M.gRc,8),M.rXU(jn,8))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[M.Mj6.None,"disabled","isDisabled"],model:[M.Mj6.None,"ngModel","model"],options:[M.Mj6.None,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[M.Jv_([jr]),M.Vt3,M.OA$]})}return ot})(),sc=(()=>{class ot{static#e=this.\u0275fac=function(vt){return new(vt||ot)};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}return ot})();const ur={provide:ve,useExisting:(0,M.Rfq)(()=>Oa),multi:!0};let Oa=(()=>{class ot extends re{writeValue(Ye){this.setProperty("value",Ye??"")}registerOnChange(Ye){this.onChange=vt=>{Ye(""==vt?null:parseFloat(vt))}}static#e=this.\u0275fac=(()=>{let Ye;return function(Bt){return(Ye||(Ye=M.xGo(ot)))(Bt||ot)}})();static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(vt,Bt){1&vt&&M.bIt("input",function(bn){return Bt.onChange(bn.target.value)})("blur",function(){return Bt.onTouched()})},features:[M.Jv_([ur]),M.Vt3]})}return ot})();const Gs=new M.nKC(""),al={provide:x,useExisting:(0,M.Rfq)(()=>vr)};let vr=(()=>{class ot extends x{constructor(Ye,vt,Bt){super(),this.callSetDisabledState=Bt,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new M.bkB,this._setValidators(Ye),this._setAsyncValidators(vt)}ngOnChanges(Ye){this._checkFormPresent(),Ye.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(Pn(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(Ye){const vt=this.form.get(Ye.path);return Gn(vt,Ye,this.callSetDisabledState),vt.updateValueAndValidity({emitEvent:!1}),this.directives.push(Ye),vt}getControl(Ye){return this.form.get(Ye.path)}removeControl(Ye){dn(Ye.control||null,Ye,!1),function yt(ot,ct){const Ye=ot.indexOf(ct);Ye>-1&&ot.splice(Ye,1)}(this.directives,Ye)}addFormGroup(Ye){this._setUpFormContainer(Ye)}removeFormGroup(Ye){this._cleanUpFormContainer(Ye)}getFormGroup(Ye){return this.form.get(Ye.path)}addFormArray(Ye){this._setUpFormContainer(Ye)}removeFormArray(Ye){this._cleanUpFormContainer(Ye)}getFormArray(Ye){return this.form.get(Ye.path)}updateModel(Ye,vt){this.form.get(Ye.path).setValue(vt)}onSubmit(Ye){return this.submitted=!0,function xt(ot,ct){ot._syncPendingControls(),ct.forEach(Ye=>{const vt=Ye.control;"submit"===vt.updateOn&&vt._pendingChange&&(Ye.viewToModelUpdate(vt._pendingValue),vt._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(Ye),"dialog"===Ye?.target?.method}onReset(){this.resetForm()}resetForm(Ye=void 0){this.form.reset(Ye),this.submitted=!1}_updateDomValue(){this.directives.forEach(Ye=>{const vt=Ye.control,Bt=this.form.get(Ye.path);vt!==Bt&&(dn(vt||null,Ye),(ot=>ot instanceof ss)(Bt)&&(Gn(Bt,Ye,this.callSetDisabledState),Ye.control=Bt))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(Ye){const vt=this.form.get(Ye.path);(function Mn(ot,ct){On(ot,ct)})(vt,Ye),vt.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(Ye){if(this.form){const vt=this.form.get(Ye.path);vt&&function Br(ot,ct){return Pn(ot,ct)}(vt,Ye)&&vt.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){On(this.form,this),this._oldForm&&Pn(this._oldForm,this)}_checkFormPresent(){}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(F,10),M.rXU(L,10),M.rXU(jn,8))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["","formGroup",""]],hostBindings:function(vt,Bt){1&vt&&M.bIt("submit",function(bn){return Bt.onSubmit(bn)})("reset",function(){return Bt.onReset()})},inputs:{form:[M.Mj6.None,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[M.Jv_([al]),M.Vt3,M.OA$]})}return ot})();const Hs={provide:x,useExisting:(0,M.Rfq)(()=>yr)};let yr=(()=>{class ot extends cn{constructor(Ye,vt,Bt){super(),this.name=null,this._parent=Ye,this._setValidators(vt),this._setAsyncValidators(Bt)}_checkParentType(){Ra(this._parent)}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(x,13),M.rXU(F,10),M.rXU(L,10))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["","formGroupName",""]],inputs:{name:[M.Mj6.None,"formGroupName","name"]},features:[M.Jv_([Hs]),M.Vt3]})}return ot})();const ll={provide:x,useExisting:(0,M.Rfq)(()=>pa)};let pa=(()=>{class ot extends x{constructor(Ye,vt,Bt){super(),this.name=null,this._parent=Ye,this._setValidators(vt),this._setAsyncValidators(Bt)}ngOnInit(){this._checkParentType(),this.formDirective.addFormArray(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormArray(this)}get control(){return this.formDirective.getFormArray(this)}get formDirective(){return this._parent?this._parent.formDirective:null}get path(){return fs(null==this.name?this.name:this.name.toString(),this._parent)}_checkParentType(){Ra(this._parent)}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(x,13),M.rXU(F,10),M.rXU(L,10))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["","formArrayName",""]],inputs:{name:[M.Mj6.None,"formArrayName","name"]},features:[M.Jv_([ll]),M.Vt3]})}return ot})();function Ra(ot){return!(ot instanceof yr||ot instanceof vr||ot instanceof pa)}const bo={provide:N,useExisting:(0,M.Rfq)(()=>xr)};let xr=(()=>{class ot extends N{set isDisabled(Ye){}static#e=this._ngModelWarningSentOnce=!1;constructor(Ye,vt,Bt,Vi,bn){super(),this._ngModelWarningConfig=bn,this._added=!1,this.name=null,this.update=new M.bkB,this._ngModelWarningSent=!1,this._parent=Ye,this._setValidators(vt),this._setAsyncValidators(Bt),this.valueAccessor=$e(0,Vi)}ngOnChanges(Ye){this._added||this._setUpControl(),Nt(Ye,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(Ye){this.viewModel=Ye,this.update.emit(Ye)}get path(){return fs(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}static#t=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(x,13),M.rXU(F,10),M.rXU(L,10),M.rXU(ve,10),M.rXU(Gs,8))};static#i=this.\u0275dir=M.FsC({type:ot,selectors:[["","formControlName",""]],inputs:{name:[M.Mj6.None,"formControlName","name"],isDisabled:[M.Mj6.None,"disabled","isDisabled"],model:[M.Mj6.None,"ngModel","model"]},outputs:{update:"ngModelChange"},features:[M.Jv_([bo]),M.Vt3,M.OA$]})}return ot})();let tr=(()=>{class ot{constructor(){this._validator=g}ngOnChanges(Ye){if(this.inputName in Ye){const vt=this.normalizeInput(Ye[this.inputName].currentValue);this._enabled=this.enabled(vt),this._validator=this._enabled?this.createValidator(vt):g,this._onChange&&this._onChange()}}validate(Ye){return this._validator(Ye)}registerOnValidatorChange(Ye){this._onChange=Ye}enabled(Ye){return null!=Ye}static#e=this.\u0275fac=function(vt){return new(vt||ot)};static#t=this.\u0275dir=M.FsC({type:ot,features:[M.OA$]})}return ot})();const dl={provide:F,useExisting:(0,M.Rfq)(()=>Mr),multi:!0};let Mr=(()=>{class ot extends tr{constructor(){super(...arguments),this.inputName="min",this.normalizeInput=Ye=>function Oo(ot){return"number"==typeof ot?ot:parseFloat(ot)}(Ye),this.createValidator=Ye=>E(Ye)}static#e=this.\u0275fac=(()=>{let Ye;return function(Bt){return(Ye||(Ye=M.xGo(ot)))(Bt||ot)}})();static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["input","type","number","min","","formControlName",""],["input","type","number","min","","formControl",""],["input","type","number","min","","ngModel",""]],hostVars:1,hostBindings:function(vt,Bt){2&vt&&M.BMQ("min",Bt._enabled?Bt.min:null)},inputs:{min:"min"},features:[M.Jv_([dl]),M.Vt3]})}return ot})(),Ks=(()=>{class ot{static#e=this.\u0275fac=function(vt){return new(vt||ot)};static#t=this.\u0275mod=M.$C({type:ot});static#i=this.\u0275inj=M.G2t({})}return ot})();class Dn extends Qt{constructor(ct,Ye,vt){super(Lt(Ye),ti(vt,Ye)),this.controls=ct,this._initObservables(),this._setUpdateStrategy(Ye),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(ct){return this.controls[this._adjustIndex(ct)]}push(ct,Ye={}){this.controls.push(ct),this._registerControl(ct),this.updateValueAndValidity({emitEvent:Ye.emitEvent}),this._onCollectionChange()}insert(ct,Ye,vt={}){this.controls.splice(ct,0,Ye),this._registerControl(Ye),this.updateValueAndValidity({emitEvent:vt.emitEvent})}removeAt(ct,Ye={}){let vt=this._adjustIndex(ct);vt<0&&(vt=0),this.controls[vt]&&this.controls[vt]._registerOnCollectionChange(()=>{}),this.controls.splice(vt,1),this.updateValueAndValidity({emitEvent:Ye.emitEvent})}setControl(ct,Ye,vt={}){let Bt=this._adjustIndex(ct);Bt<0&&(Bt=0),this.controls[Bt]&&this.controls[Bt]._registerOnCollectionChange(()=>{}),this.controls.splice(Bt,1),Ye&&(this.controls.splice(Bt,0,Ye),this._registerControl(Ye)),this.updateValueAndValidity({emitEvent:vt.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(ct,Ye={}){wt(this,0,ct),ct.forEach((vt,Bt)=>{_t(this,!1,Bt),this.at(Bt).setValue(vt,{onlySelf:!0,emitEvent:Ye.emitEvent})}),this.updateValueAndValidity(Ye)}patchValue(ct,Ye={}){null!=ct&&(ct.forEach((vt,Bt)=>{this.at(Bt)&&this.at(Bt).patchValue(vt,{onlySelf:!0,emitEvent:Ye.emitEvent})}),this.updateValueAndValidity(Ye))}reset(ct=[],Ye={}){this._forEachChild((vt,Bt)=>{vt.reset(ct[Bt],{onlySelf:!0,emitEvent:Ye.emitEvent})}),this._updatePristine(Ye),this._updateTouched(Ye),this.updateValueAndValidity(Ye)}getRawValue(){return this.controls.map(ct=>ct.getRawValue())}clear(ct={}){this.controls.length<1||(this._forEachChild(Ye=>Ye._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:ct.emitEvent}))}_adjustIndex(ct){return ct<0?ct+this.length:ct}_syncPendingControls(){let ct=this.controls.reduce((Ye,vt)=>!!vt._syncPendingControls()||Ye,!1);return ct&&this.updateValueAndValidity({onlySelf:!0}),ct}_forEachChild(ct){this.controls.forEach((Ye,vt)=>{ct(Ye,vt)})}_updateValue(){this.value=this.controls.filter(ct=>ct.enabled||this.disabled).map(ct=>ct.value)}_anyControls(ct){return this.controls.some(Ye=>Ye.enabled&&ct(Ye))}_setUpControls(){this._forEachChild(ct=>this._registerControl(ct))}_allControlsDisabled(){for(const ct of this.controls)if(ct.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(ct){ct.setParent(this),ct._registerOnCollectionChange(this._onCollectionChange)}_find(ct){return this.at(ct)??null}}function Qo(ot){return!!ot&&(void 0!==ot.asyncValidators||void 0!==ot.validators||void 0!==ot.updateOn)}let yo=(()=>{class ot{constructor(){this.useNonNullable=!1}get nonNullable(){const Ye=new ot;return Ye.useNonNullable=!0,Ye}group(Ye,vt=null){const Bt=this._reduceControls(Ye);let Vi={};return Qo(vt)?Vi=vt:null!==vt&&(Vi.validators=vt.validator,Vi.asyncValidators=vt.asyncValidator),new di(Bt,Vi)}record(Ye,vt=null){const Bt=this._reduceControls(Ye);return new Gi(Bt,vt)}control(Ye,vt,Bt){let Vi={};return this.useNonNullable?(Qo(vt)?Vi=vt:(Vi.validators=vt,Vi.asyncValidators=Bt),new ss(Ye,{...Vi,nonNullable:!0})):new ss(Ye,vt,Bt)}array(Ye,vt,Bt){const Vi=Ye.map(bn=>this._createControl(bn));return new Dn(Vi,vt,Bt)}_reduceControls(Ye){const vt={};return Object.keys(Ye).forEach(Bt=>{vt[Bt]=this._createControl(Ye[Bt])}),vt}_createControl(Ye){return Ye instanceof ss||Ye instanceof Qt?Ye:Array.isArray(Ye)?this.control(Ye[0],Ye.length>1?Ye[1]:null,Ye.length>2?Ye[2]:null):this.control(Ye)}static#e=this.\u0275fac=function(vt){return new(vt||ot)};static#t=this.\u0275prov=M.jDH({token:ot,factory:ot.\u0275fac,providedIn:"root"})}return ot})(),Jo=(()=>{class ot{static withConfig(Ye){return{ngModule:ot,providers:[{provide:jn,useValue:Ye.callSetDisabledState??ls}]}}static#e=this.\u0275fac=function(vt){return new(vt||ot)};static#t=this.\u0275mod=M.$C({type:ot});static#i=this.\u0275inj=M.G2t({imports:[Ks]})}return ot})(),ja=(()=>{class ot{static withConfig(Ye){return{ngModule:ot,providers:[{provide:Gs,useValue:Ye.warnOnNgModelWithFormControl??"always"},{provide:jn,useValue:Ye.callSetDisabledState??ls}]}}static#e=this.\u0275fac=function(vt){return new(vt||ot)};static#t=this.\u0275mod=M.$C({type:ot});static#i=this.\u0275inj=M.G2t({imports:[Ks]})}return ot})()},345:(ri,Ft,He)=>{"use strict";He.d(Ft,{B7:()=>z,Bb:()=>R,EU:()=>pe,hE:()=>he,sG:()=>X,up:()=>Xe});var M=He(54438),e=He(60177);class V extends e.VF{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Pe extends V{static makeCurrent(){(0,e.ZD)(new Pe)}onAndCancel(At,_t,wt){return At.addEventListener(_t,wt),()=>{At.removeEventListener(_t,wt)}}dispatchEvent(At,_t){At.dispatchEvent(_t)}remove(At){At.parentNode&&At.parentNode.removeChild(At)}createElement(At,_t){return(_t=_t||this.getDefaultDocument()).createElement(At)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(At){return At.nodeType===Node.ELEMENT_NODE}isShadowRoot(At){return At instanceof DocumentFragment}getGlobalEventTarget(At,_t){return"window"===_t?window:"document"===_t?At:"body"===_t?At.body:null}getBaseHref(At){const _t=function ie(){return Z=Z||document.querySelector("base"),Z?Z.getAttribute("href"):null}();return null==_t?null:function re(Dt){return new URL(Dt,document.baseURI).pathname}(_t)}resetBaseElement(){Z=null}getUserAgent(){return window.navigator.userAgent}getCookie(At){return(0,e._b)(document.cookie,At)}}let Z=null,le=(()=>{class Dt{build(){return new XMLHttpRequest}static#e=this.\u0275fac=function(wt){return new(wt||Dt)};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac})}return Dt})();const fe=new M.nKC("");let pe=(()=>{class Dt{constructor(_t,wt){this._zone=wt,this._eventNameToPlugin=new Map,_t.forEach(Qt=>{Qt.manager=this}),this._plugins=_t.slice().reverse()}addEventListener(_t,wt,Qt){return this._findPluginFor(wt).addEventListener(_t,wt,Qt)}getZone(){return this._zone}_findPluginFor(_t){let wt=this._eventNameToPlugin.get(_t);if(wt)return wt;if(wt=this._plugins.find(di=>di.supports(_t)),!wt)throw new M.wOt(5101,!1);return this._eventNameToPlugin.set(_t,wt),wt}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(fe),M.KVO(M.SKi))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac})}return Dt})();class J{constructor(At){this._doc=At}}const te="ng-app-id";let $=(()=>{class Dt{constructor(_t,wt,Qt,di={}){this.doc=_t,this.appId=wt,this.nonce=Qt,this.platformId=di,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=(0,e.Vy)(di),this.resetHostNodes()}addStyles(_t){for(const wt of _t)1===this.changeUsageCount(wt,1)&&this.onStyleAdded(wt)}removeStyles(_t){for(const wt of _t)this.changeUsageCount(wt,-1)<=0&&this.onStyleRemoved(wt)}ngOnDestroy(){const _t=this.styleNodesInDOM;_t&&(_t.forEach(wt=>wt.remove()),_t.clear());for(const wt of this.getAllStyles())this.onStyleRemoved(wt);this.resetHostNodes()}addHost(_t){this.hostNodes.add(_t);for(const wt of this.getAllStyles())this.addStyleToHost(_t,wt)}removeHost(_t){this.hostNodes.delete(_t)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(_t){for(const wt of this.hostNodes)this.addStyleToHost(wt,_t)}onStyleRemoved(_t){const wt=this.styleRef;wt.get(_t)?.elements?.forEach(Qt=>Qt.remove()),wt.delete(_t)}collectServerRenderedStyles(){const _t=this.doc.head?.querySelectorAll(`style[${te}="${this.appId}"]`);if(_t?.length){const wt=new Map;return _t.forEach(Qt=>{null!=Qt.textContent&&wt.set(Qt.textContent,Qt)}),wt}return null}changeUsageCount(_t,wt){const Qt=this.styleRef;if(Qt.has(_t)){const di=Qt.get(_t);return di.usage+=wt,di.usage}return Qt.set(_t,{usage:wt,elements:[]}),wt}getStyleElement(_t,wt){const Qt=this.styleNodesInDOM,di=Qt?.get(wt);if(di?.parentNode===_t)return Qt.delete(wt),di.removeAttribute(te),di;{const Fi=this.doc.createElement("style");return this.nonce&&Fi.setAttribute("nonce",this.nonce),Fi.textContent=wt,this.platformIsServer&&Fi.setAttribute(te,this.appId),_t.appendChild(Fi),Fi}}addStyleToHost(_t,wt){const Qt=this.getStyleElement(_t,wt),di=this.styleRef,Fi=di.get(wt)?.elements;Fi?Fi.push(Qt):di.set(wt,{elements:[Qt],usage:1})}resetHostNodes(){const _t=this.hostNodes;_t.clear(),_t.add(this.doc.head)}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(e.qQ),M.KVO(M.sZ2),M.KVO(M.BIS,8),M.KVO(M.Agw))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac})}return Dt})();const A={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},B=/%COMP%/g,F="%COMP%",L=`_nghost-${F}`,D=`_ngcontent-${F}`,E=new M.nKC("",{providedIn:"root",factory:()=>!0});function T(Dt,At){return At.map(_t=>_t.replace(B,Dt))}let z=(()=>{class Dt{constructor(_t,wt,Qt,di,Fi,mi,vi,Gi=null){this.eventManager=_t,this.sharedStylesHost=wt,this.appId=Qt,this.removeStylesOnCompDestroy=di,this.doc=Fi,this.platformId=mi,this.ngZone=vi,this.nonce=Gi,this.rendererByCompId=new Map,this.platformIsServer=(0,e.Vy)(mi),this.defaultRenderer=new O(_t,Fi,vi,this.platformIsServer)}createRenderer(_t,wt){if(!_t||!wt)return this.defaultRenderer;this.platformIsServer&&wt.encapsulation===M.gXe.ShadowDom&&(wt={...wt,encapsulation:M.gXe.Emulated});const Qt=this.getOrCreateRenderer(_t,wt);return Qt instanceof n?Qt.applyToHost(_t):Qt instanceof o&&Qt.applyStyles(),Qt}getOrCreateRenderer(_t,wt){const Qt=this.rendererByCompId;let di=Qt.get(wt.id);if(!di){const Fi=this.doc,mi=this.ngZone,vi=this.eventManager,Gi=this.sharedStylesHost,xs=this.removeStylesOnCompDestroy,jn=this.platformIsServer;switch(wt.encapsulation){case M.gXe.Emulated:di=new n(vi,Gi,wt,this.appId,xs,Fi,mi,jn);break;case M.gXe.ShadowDom:return new y(vi,Gi,_t,wt,Fi,mi,this.nonce,jn);default:di=new o(vi,Gi,wt,xs,Fi,mi,jn)}Qt.set(wt.id,di)}return di}ngOnDestroy(){this.rendererByCompId.clear()}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(pe),M.KVO($),M.KVO(M.sZ2),M.KVO(E),M.KVO(e.qQ),M.KVO(M.Agw),M.KVO(M.SKi),M.KVO(M.BIS))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac})}return Dt})();class O{constructor(At,_t,wt,Qt){this.eventManager=At,this.doc=_t,this.ngZone=wt,this.platformIsServer=Qt,this.data=Object.create(null),this.throwOnSyntheticProps=!0,this.destroyNode=null}destroy(){}createElement(At,_t){return _t?this.doc.createElementNS(A[_t]||_t,At):this.doc.createElement(At)}createComment(At){return this.doc.createComment(At)}createText(At){return this.doc.createTextNode(At)}appendChild(At,_t){(g(At)?At.content:At).appendChild(_t)}insertBefore(At,_t,wt){At&&(g(At)?At.content:At).insertBefore(_t,wt)}removeChild(At,_t){At&&At.removeChild(_t)}selectRootElement(At,_t){let wt="string"==typeof At?this.doc.querySelector(At):At;if(!wt)throw new M.wOt(-5104,!1);return _t||(wt.textContent=""),wt}parentNode(At){return At.parentNode}nextSibling(At){return At.nextSibling}setAttribute(At,_t,wt,Qt){if(Qt){_t=Qt+":"+_t;const di=A[Qt];di?At.setAttributeNS(di,_t,wt):At.setAttribute(_t,wt)}else At.setAttribute(_t,wt)}removeAttribute(At,_t,wt){if(wt){const Qt=A[wt];Qt?At.removeAttributeNS(Qt,_t):At.removeAttribute(`${wt}:${_t}`)}else At.removeAttribute(_t)}addClass(At,_t){At.classList.add(_t)}removeClass(At,_t){At.classList.remove(_t)}setStyle(At,_t,wt,Qt){Qt&(M.czy.DashCase|M.czy.Important)?At.style.setProperty(_t,wt,Qt&M.czy.Important?"important":""):At.style[_t]=wt}removeStyle(At,_t,wt){wt&M.czy.DashCase?At.style.removeProperty(_t):At.style[_t]=""}setProperty(At,_t,wt){null!=At&&(At[_t]=wt)}setValue(At,_t){At.nodeValue=_t}listen(At,_t,wt){if("string"==typeof At&&!(At=(0,e.QT)().getGlobalEventTarget(this.doc,At)))throw new Error(`Unsupported event target ${At} for event ${_t}`);return this.eventManager.addEventListener(At,_t,this.decoratePreventDefault(wt))}decoratePreventDefault(At){return _t=>{if("__ngUnwrap__"===_t)return At;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>At(_t)):At(_t))&&_t.preventDefault()}}}function g(Dt){return"TEMPLATE"===Dt.tagName&&void 0!==Dt.content}class y extends O{constructor(At,_t,wt,Qt,di,Fi,mi,vi){super(At,di,Fi,vi),this.sharedStylesHost=_t,this.hostEl=wt,this.shadowRoot=wt.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const Gi=T(Qt.id,Qt.styles);for(const xs of Gi){const jn=document.createElement("style");mi&&jn.setAttribute("nonce",mi),jn.textContent=xs,this.shadowRoot.appendChild(jn)}}nodeOrShadowRoot(At){return At===this.hostEl?this.shadowRoot:At}appendChild(At,_t){return super.appendChild(this.nodeOrShadowRoot(At),_t)}insertBefore(At,_t,wt){return super.insertBefore(this.nodeOrShadowRoot(At),_t,wt)}removeChild(At,_t){return super.removeChild(this.nodeOrShadowRoot(At),_t)}parentNode(At){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(At)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class o extends O{constructor(At,_t,wt,Qt,di,Fi,mi,vi){super(At,di,Fi,mi),this.sharedStylesHost=_t,this.removeStylesOnCompDestroy=Qt,this.styles=vi?T(vi,wt.styles):wt.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class n extends o{constructor(At,_t,wt,Qt,di,Fi,mi,vi){const Gi=Qt+"-"+wt.id;super(At,_t,wt,di,Fi,mi,vi,Gi),this.contentAttr=function _(Dt){return D.replace(B,Dt)}(Gi),this.hostAttr=function b(Dt){return L.replace(B,Dt)}(Gi)}applyToHost(At){this.applyStyles(),this.setAttribute(At,this.hostAttr,"")}createElement(At,_t){const wt=super.createElement(At,_t);return super.setAttribute(wt,this.contentAttr,""),wt}}let r=(()=>{class Dt extends J{constructor(_t){super(_t)}supports(_t){return!0}addEventListener(_t,wt,Qt){return _t.addEventListener(wt,Qt,!1),()=>this.removeEventListener(_t,wt,Qt)}removeEventListener(_t,wt,Qt){return _t.removeEventListener(wt,Qt)}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(e.qQ))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac})}return Dt})();const l=["alt","control","meta","shift"],d={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},C={alt:Dt=>Dt.altKey,control:Dt=>Dt.ctrlKey,meta:Dt=>Dt.metaKey,shift:Dt=>Dt.shiftKey};let k=(()=>{class Dt extends J{constructor(_t){super(_t)}supports(_t){return null!=Dt.parseEventName(_t)}addEventListener(_t,wt,Qt){const di=Dt.parseEventName(wt),Fi=Dt.eventCallback(di.fullKey,Qt,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>(0,e.QT)().onAndCancel(_t,di.domEventName,Fi))}static parseEventName(_t){const wt=_t.toLowerCase().split("."),Qt=wt.shift();if(0===wt.length||"keydown"!==Qt&&"keyup"!==Qt)return null;const di=Dt._normalizeKey(wt.pop());let Fi="",mi=wt.indexOf("code");if(mi>-1&&(wt.splice(mi,1),Fi="code."),l.forEach(Gi=>{const xs=wt.indexOf(Gi);xs>-1&&(wt.splice(xs,1),Fi+=Gi+".")}),Fi+=di,0!=wt.length||0===di.length)return null;const vi={};return vi.domEventName=Qt,vi.fullKey=Fi,vi}static matchEventFullKeyCode(_t,wt){let Qt=d[_t.key]||_t.key,di="";return wt.indexOf("code.")>-1&&(Qt=_t.code,di="code."),!(null==Qt||!Qt)&&(Qt=Qt.toLowerCase()," "===Qt?Qt="space":"."===Qt&&(Qt="dot"),l.forEach(Fi=>{Fi!==Qt&&(0,C[Fi])(_t)&&(di+=Fi+".")}),di+=Qt,di===wt)}static eventCallback(_t,wt,Qt){return di=>{Dt.matchEventFullKeyCode(di,_t)&&Qt.runGuarded(()=>wt(di))}}static _normalizeKey(_t){return"esc"===_t?"escape":_t}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(e.qQ))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac})}return Dt})();const X=(0,M.oH4)(M.fpN,"browser",[{provide:M.Agw,useValue:e.AJ},{provide:M.PLl,useValue:function Y(){Pe.makeCurrent()},multi:!0},{provide:e.qQ,useFactory:function se(){return(0,M.TL$)(document),document},deps:[]}]),G=new M.nKC(""),x=[{provide:M.e01,useClass:class ve{addToWindow(At){M.JZv.getAngularTestability=(wt,Qt=!0)=>{const di=At.findTestabilityInTree(wt,Qt);if(null==di)throw new M.wOt(5103,!1);return di},M.JZv.getAllAngularTestabilities=()=>At.getAllTestabilities(),M.JZv.getAllAngularRootElements=()=>At.getAllRootElements(),M.JZv.frameworkStabilizers||(M.JZv.frameworkStabilizers=[]),M.JZv.frameworkStabilizers.push(wt=>{const Qt=M.JZv.getAllAngularTestabilities();let di=Qt.length;const Fi=function(){di--,0==di&&wt()};Qt.forEach(mi=>{mi.whenStable(Fi)})})}findTestabilityInTree(At,_t,wt){return null==_t?null:At.getTestability(_t)??(wt?(0,e.QT)().isShadowRoot(_t)?this.findTestabilityInTree(At,_t.host,!0):this.findTestabilityInTree(At,_t.parentElement,!0):null)}},deps:[]},{provide:M.WHO,useClass:M.NYb,deps:[M.SKi,M.giA,M.e01]},{provide:M.NYb,useClass:M.NYb,deps:[M.SKi,M.giA,M.e01]}],N=[{provide:M.H8p,useValue:"root"},{provide:M.zcH,useFactory:function U(){return new M.zcH},deps:[]},{provide:fe,useClass:r,multi:!0,deps:[e.qQ,M.SKi,M.Agw]},{provide:fe,useClass:k,multi:!0,deps:[e.qQ]},z,$,pe,{provide:M._9s,useExisting:z},{provide:e.N0,useClass:le,deps:[]},[]];let R=(()=>{class Dt{constructor(_t){}static withServerTransition(_t){return{ngModule:Dt,providers:[{provide:M.sZ2,useValue:_t.appId}]}}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(G,12))};static#t=this.\u0275mod=M.$C({type:Dt});static#i=this.\u0275inj=M.G2t({providers:[...N,...x],imports:[e.MD,M.Hbi]})}return Dt})(),he=(()=>{class Dt{constructor(_t){this._doc=_t}getTitle(){return this._doc.title}setTitle(_t){this._doc.title=_t||""}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(e.qQ))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac,providedIn:"root"})}return Dt})(),Xe=(()=>{class Dt{static#e=this.\u0275fac=function(wt){return new(wt||Dt)};static#t=this.\u0275prov=M.jDH({token:Dt,factory:function(wt){let Qt=null;return Qt=wt?new(wt||Dt):M.KVO(Ze),Qt},providedIn:"root"})}return Dt})(),Ze=(()=>{class Dt extends Xe{constructor(_t){super(),this._doc=_t}sanitize(_t,wt){if(null==wt)return null;switch(_t){case M.WPN.NONE:return wt;case M.WPN.HTML:return(0,M.ZF7)(wt,"HTML")?(0,M.rcV)(wt):(0,M.h9k)(this._doc,String(wt)).toString();case M.WPN.STYLE:return(0,M.ZF7)(wt,"Style")?(0,M.rcV)(wt):wt;case M.WPN.SCRIPT:if((0,M.ZF7)(wt,"Script"))return(0,M.rcV)(wt);throw new M.wOt(5200,!1);case M.WPN.URL:return(0,M.ZF7)(wt,"URL")?(0,M.rcV)(wt):(0,M.$MX)(String(wt));case M.WPN.RESOURCE_URL:if((0,M.ZF7)(wt,"ResourceURL"))return(0,M.rcV)(wt);throw new M.wOt(5201,!1);default:throw new M.wOt(5202,!1)}}bypassSecurityTrustHtml(_t){return(0,M.Kcf)(_t)}bypassSecurityTrustStyle(_t){return(0,M.cWb)(_t)}bypassSecurityTrustScript(_t){return(0,M.UyX)(_t)}bypassSecurityTrustUrl(_t){return(0,M.osQ)(_t)}bypassSecurityTrustResourceUrl(_t){return(0,M.e5t)(_t)}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(e.qQ))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac,providedIn:"root"})}return Dt})()},93331:(ri,Ft,He)=>{"use strict";He.d(Ft,{nX:()=>bo,wF:()=>un,Kp:()=>ms,b:()=>Pi,Ix:()=>ui,Wk:()=>gs,wQ:()=>ks,iI:()=>Cl,n3:()=>Io});var M=He(54438),e=He(74402),V=He(86648),Pe=He(7673),Z=He(84412),ie=He(84572);const ve=(0,He(81853).L)(Re=>function(){Re(this),this.name="EmptyError",this.message="no elements in sequence"});var le=He(28793),fe=He(59030),pe=He(71203),J=He(18810),te=He(983),$=He(71985),A=He(18359),B=He(39974),F=He(54360);function L(){return(0,B.N)((Re,Ue)=>{let Be=null;Re._refCount++;const We=(0,F._)(Ue,void 0,void 0,void 0,()=>{if(!Re||Re._refCount<=0||0<--Re._refCount)return void(Be=null);const rt=Re._connection,mt=Be;Be=null,rt&&(!mt||rt===mt)&&rt.unsubscribe(),Ue.unsubscribe()});Re.subscribe(We),We.closed||(Be=Re.connect())})}class D extends $.c{constructor(Ue,Be){super(),this.source=Ue,this.subjectFactory=Be,this._subject=null,this._refCount=0,this._connection=null,(0,B.S)(Ue)&&(this.lift=Ue.lift)}_subscribe(Ue){return this.getSubject().subscribe(Ue)}getSubject(){const Ue=this._subject;return(!Ue||Ue.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:Ue}=this;this._subject=this._connection=null,Ue?.unsubscribe()}connect(){let Ue=this._connection;if(!Ue){Ue=this._connection=new A.yU;const Be=this.getSubject();Ue.add(this.source.subscribe((0,F._)(Be,void 0,()=>{this._teardown(),Be.complete()},We=>{this._teardown(),Be.error(We)},()=>this._teardown()))),Ue.closed&&(this._connection=null,Ue=A.yU.EMPTY)}return Ue}refCount(){return L()(this)}}var I=He(21413),E=He(60177),_=He(96354),b=He(25558),T=He(96697),z=He(99172),O=He(5964),f=He(73028),a=He(39901);function g(Re=y){return(0,B.N)((Ue,Be)=>{let We=!1;Ue.subscribe((0,F._)(Be,rt=>{We=!0,Be.next(rt)},()=>We?Be.complete():Be.error(Re())))})}function y(){return new ve}var o=He(33669);function n(Re,Ue){const Be=arguments.length>=2;return We=>We.pipe(Re?(0,O.p)((rt,mt)=>Re(rt,mt,We)):o.D,(0,T.s)(1),Be?(0,a.U)(Ue):g(()=>new ve))}var r=He(70274),l=He(88141),d=He(99437);function p(Re){return Re<=0?()=>te.w:(0,B.N)((Ue,Be)=>{let We=[];Ue.subscribe((0,F._)(Be,rt=>{We.push(rt),Re{for(const rt of We)Be.next(rt);Be.complete()},void 0,()=>{We=null}))})}var j=He(73703),H=He(70980),Y=He(56977),U=He(26365),se=He(345);const w="primary",X=Symbol("RouteTitle");class G{constructor(Ue){this.params=Ue||{}}has(Ue){return Object.prototype.hasOwnProperty.call(this.params,Ue)}get(Ue){if(this.has(Ue)){const Be=this.params[Ue];return Array.isArray(Be)?Be[0]:Be}return null}getAll(Ue){if(this.has(Ue)){const Be=this.params[Ue];return Array.isArray(Be)?Be:[Be]}return[]}get keys(){return Object.keys(this.params)}}function x(Re){return new G(Re)}function N(Re,Ue,Be){const We=Be.path.split("/");if(We.length>Re.length||"full"===Be.pathMatch&&(Ue.hasChildren()||We.lengthWe[mt]===rt)}return Re===Ue}function me(Re){return Re.length>0?Re[Re.length-1]:null}function Ce(Re){return(0,e.A)(Re)?Re:(0,M.jNT)(Re)?(0,V.H)(Promise.resolve(Re)):(0,Pe.of)(Re)}const Se={exact:function oe(Re,Ue,Be){if(!Ze(Re.segments,Ue.segments)||!Te(Re.segments,Ue.segments,Be)||Re.numberOfChildren!==Ue.numberOfChildren)return!1;for(const We in Ue.children)if(!Re.children[We]||!oe(Re.children[We],Ue.children[We],Be))return!1;return!0},subset:de},Oe={exact:function Fe(Re,Ue){return K(Re,Ue)},subset:function ee(Re,Ue){return Object.keys(Ue).length<=Object.keys(Re).length&&Object.keys(Ue).every(Be=>he(Re[Be],Ue[Be]))},ignored:()=>!0};function Ae(Re,Ue,Be){return Se[Be.paths](Re.root,Ue.root,Be.matrixParams)&&Oe[Be.queryParams](Re.queryParams,Ue.queryParams)&&!("exact"===Be.fragment&&Re.fragment!==Ue.fragment)}function de(Re,Ue,Be){return ye(Re,Ue,Ue.segments,Be)}function ye(Re,Ue,Be,We){if(Re.segments.length>Be.length){const rt=Re.segments.slice(0,Be.length);return!(!Ze(rt,Be)||Ue.hasChildren()||!Te(rt,Be,We))}if(Re.segments.length===Be.length){if(!Ze(Re.segments,Be)||!Te(Re.segments,Be,We))return!1;for(const rt in Ue.children)if(!Re.children[rt]||!de(Re.children[rt],Ue.children[rt],We))return!1;return!0}{const rt=Be.slice(0,Re.segments.length),mt=Be.slice(Re.segments.length);return!!(Ze(Re.segments,rt)&&Te(Re.segments,rt,We)&&Re.children[w])&&ye(Re.children[w],Ue,mt,We)}}function Te(Re,Ue,Be){return Ue.every((We,rt)=>Oe[Be](Re[rt].parameters,We.parameters))}class _e{constructor(Ue=new Me([],{}),Be={},We=null){this.root=Ue,this.queryParams=Be,this.fragment=We}get queryParamMap(){return this._queryParamMap??=x(this.queryParams),this._queryParamMap}toString(){return kt.serialize(this)}}class Me{constructor(Ue,Be){this.segments=Ue,this.children=Be,this.parent=null,Object.values(Be).forEach(We=>We.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return pt(this)}}class Ee{constructor(Ue,Be){this.path=Ue,this.parameters=Be}get parameterMap(){return this._parameterMap??=x(this.parameters),this._parameterMap}toString(){return wt(this)}}function Ze(Re,Ue){return Re.length===Ue.length&&Re.every((Be,We)=>Be.path===Ue[We].path)}let Qe=(()=>{class Re{static#e=this.\u0275fac=function(We){return new(We||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:()=>new st,providedIn:"root"})}return Re})();class st{parse(Ue){const Be=new Gn(Ue);return new _e(Be.parseRootSegment(),Be.parseQueryParams(),Be.parseFragment())}serialize(Ue){const Be=`/${ht(Ue.root,!0)}`,We=function di(Re){const Ue=Object.entries(Re).map(([Be,We])=>Array.isArray(We)?We.map(rt=>`${Gt(Be)}=${Gt(rt)}`).join("&"):`${Gt(Be)}=${Gt(We)}`).filter(Be=>Be);return Ue.length?`?${Ue.join("&")}`:""}(Ue.queryParams);return`${Be}${We}${"string"==typeof Ue.fragment?`#${function ti(Re){return encodeURI(Re)}(Ue.fragment)}`:""}`}}const kt=new st;function pt(Re){return Re.segments.map(Ue=>wt(Ue)).join("/")}function ht(Re,Ue){if(!Re.hasChildren())return pt(Re);if(Ue){const Be=Re.children[w]?ht(Re.children[w],!1):"",We=[];return Object.entries(Re.children).forEach(([rt,mt])=>{rt!==w&&We.push(`${rt}:${ht(mt,!1)}`)}),We.length>0?`${Be}(${We.join("//")})`:Be}{const Be=function lt(Re,Ue){let Be=[];return Object.entries(Re.children).forEach(([We,rt])=>{We===w&&(Be=Be.concat(Ue(rt,We)))}),Object.entries(Re.children).forEach(([We,rt])=>{We!==w&&(Be=Be.concat(Ue(rt,We)))}),Be}(Re,(We,rt)=>rt===w?[ht(Re.children[w],!1)]:[`${rt}:${ht(We,!1)}`]);return 1===Object.keys(Re.children).length&&null!=Re.children[w]?`${pt(Re)}/${Be[0]}`:`${pt(Re)}/(${Be.join("//")})`}}function Lt(Re){return encodeURIComponent(Re).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Gt(Re){return Lt(Re).replace(/%3B/gi,";")}function Dt(Re){return Lt(Re).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function At(Re){return decodeURIComponent(Re)}function _t(Re){return At(Re.replace(/\+/g,"%20"))}function wt(Re){return`${Dt(Re.path)}${function Qt(Re){return Object.entries(Re).map(([Ue,Be])=>`;${Dt(Ue)}=${Dt(Be)}`).join("")}(Re.parameters)}`}const Fi=/^[^\/()?;#]+/;function mi(Re){const Ue=Re.match(Fi);return Ue?Ue[0]:""}const vi=/^[^\/()?;=#]+/,xs=/^[^=?&#]+/,ls=/^[^&#]+/;class Gn{constructor(Ue){this.url=Ue,this.remaining=Ue}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new Me([],{}):new Me([],this.parseChildren())}parseQueryParams(){const Ue={};if(this.consumeOptional("?"))do{this.parseQueryParam(Ue)}while(this.consumeOptional("&"));return Ue}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const Ue=[];for(this.peekStartsWith("(")||Ue.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),Ue.push(this.parseSegment());let Be={};this.peekStartsWith("/(")&&(this.capture("/"),Be=this.parseParens(!0));let We={};return this.peekStartsWith("(")&&(We=this.parseParens(!1)),(Ue.length>0||Object.keys(Be).length>0)&&(We[w]=new Me(Ue,Be)),We}parseSegment(){const Ue=mi(this.remaining);if(""===Ue&&this.peekStartsWith(";"))throw new M.wOt(4009,!1);return this.capture(Ue),new Ee(At(Ue),this.parseMatrixParams())}parseMatrixParams(){const Ue={};for(;this.consumeOptional(";");)this.parseParam(Ue);return Ue}parseParam(Ue){const Be=function Gi(Re){const Ue=Re.match(vi);return Ue?Ue[0]:""}(this.remaining);if(!Be)return;this.capture(Be);let We="";if(this.consumeOptional("=")){const rt=mi(this.remaining);rt&&(We=rt,this.capture(We))}Ue[At(Be)]=At(We)}parseQueryParam(Ue){const Be=function jn(Re){const Ue=Re.match(xs);return Ue?Ue[0]:""}(this.remaining);if(!Be)return;this.capture(Be);let We="";if(this.consumeOptional("=")){const Ot=function fs(Re){const Ue=Re.match(ls);return Ue?Ue[0]:""}(this.remaining);Ot&&(We=Ot,this.capture(We))}const rt=_t(Be),mt=_t(We);if(Ue.hasOwnProperty(rt)){let Ot=Ue[rt];Array.isArray(Ot)||(Ot=[Ot],Ue[rt]=Ot),Ot.push(mt)}else Ue[rt]=mt}parseParens(Ue){const Be={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const We=mi(this.remaining),rt=this.remaining[We.length];if("/"!==rt&&")"!==rt&&";"!==rt)throw new M.wOt(4010,!1);let mt;We.indexOf(":")>-1?(mt=We.slice(0,We.indexOf(":")),this.capture(mt),this.capture(":")):Ue&&(mt=w);const Ot=this.parseChildren();Be[mt]=1===Object.keys(Ot).length?Ot[w]:new Me([],Ot),this.consumeOptional("//")}return Be}peekStartsWith(Ue){return this.remaining.startsWith(Ue)}consumeOptional(Ue){return!!this.peekStartsWith(Ue)&&(this.remaining=this.remaining.substring(Ue.length),!0)}capture(Ue){if(!this.consumeOptional(Ue))throw new M.wOt(4011,!1)}}function dn(Re){return Re.segments.length>0?new Me([],{[w]:Re}):Re}function Mi(Re){const Ue={};for(const[We,rt]of Object.entries(Re.children)){const mt=Mi(rt);if(We===w&&0===mt.segments.length&&mt.hasChildren())for(const[Ot,Jt]of Object.entries(mt.children))Ue[Ot]=Jt;else(mt.segments.length>0||mt.hasChildren())&&(Ue[We]=mt)}return function _s(Re){if(1===Re.numberOfChildren&&Re.children[w]){const Ue=Re.children[w];return new Me(Re.segments.concat(Ue.segments),Ue.children)}return Re}(new Me(Re.segments,Ue))}function On(Re){return Re instanceof _e}function As(Re){let Ue;const rt=dn(function Be(mt){const Ot={};for(const Yt of mt.children){const Ii=Be(Yt);Ot[Yt.outlet]=Ii}const Jt=new Me(mt.url,Ot);return mt===Re&&(Ue=Jt),Jt}(Re.root));return Ue??rt}function $n(Re,Ue,Be,We){let rt=Re;for(;rt.parent;)rt=rt.parent;if(0===Ue.length)return Mn(rt,rt,rt,Be,We);const mt=function Kr(Re){if("string"==typeof Re[0]&&1===Re.length&&"/"===Re[0])return new mo(!0,0,Re);let Ue=0,Be=!1;const We=Re.reduce((rt,mt,Ot)=>{if("object"==typeof mt&&null!=mt){if(mt.outlets){const Jt={};return Object.entries(mt.outlets).forEach(([Yt,Ii])=>{Jt[Yt]="string"==typeof Ii?Ii.split("/"):Ii}),[...rt,{outlets:Jt}]}if(mt.segmentPath)return[...rt,mt.segmentPath]}return"string"!=typeof mt?[...rt,mt]:0===Ot?(mt.split("/").forEach((Jt,Yt)=>{0==Yt&&"."===Jt||(0==Yt&&""===Jt?Be=!0:".."===Jt?Ue++:""!=Jt&&rt.push(Jt))}),rt):[...rt,mt]},[]);return new mo(Be,Ue,We)}(Ue);if(mt.toRoot())return Mn(rt,rt,new Me([],{}),Be,We);const Ot=function St(Re,Ue,Be){if(Re.isAbsolute)return new nr(Ue,!0,0);if(!Be)return new nr(Ue,!1,NaN);if(null===Be.parent)return new nr(Be,!0,0);const We=$i(Re.commands[0])?0:1;return function Rt(Re,Ue,Be){let We=Re,rt=Ue,mt=Be;for(;mt>rt;){if(mt-=rt,We=We.parent,!We)throw new M.wOt(4005,!1);rt=We.segments.length}return new nr(We,!1,rt-mt)}(Be,Be.segments.length-1+We,Re.numberOfDoubleDots)}(mt,rt,Re),Jt=Ot.processChildren?xt(Ot.segmentGroup,Ot.index,mt.commands):bt(Ot.segmentGroup,Ot.index,mt.commands);return Mn(rt,Ot.segmentGroup,Jt,Be,We)}function $i(Re){return"object"==typeof Re&&null!=Re&&!Re.outlets&&!Re.segmentPath}function Cs(Re){return"object"==typeof Re&&null!=Re&&Re.outlets}function Mn(Re,Ue,Be,We,rt){let Ot,mt={};We&&Object.entries(We).forEach(([Yt,Ii])=>{mt[Yt]=Array.isArray(Ii)?Ii.map(vn=>`${vn}`):`${Ii}`}),Ot=Re===Ue?Be:Br(Re,Ue,Be);const Jt=dn(Mi(Ot));return new _e(Jt,mt,rt)}function Br(Re,Ue,Be){const We={};return Object.entries(Re.children).forEach(([rt,mt])=>{We[rt]=mt===Ue?Be:Br(mt,Ue,Be)}),new Me(Re.segments,We)}class mo{constructor(Ue,Be,We){if(this.isAbsolute=Ue,this.numberOfDoubleDots=Be,this.commands=We,Ue&&We.length>0&&$i(We[0]))throw new M.wOt(4003,!1);const rt=We.find(Cs);if(rt&&rt!==me(We))throw new M.wOt(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class nr{constructor(Ue,Be,We){this.segmentGroup=Ue,this.processChildren=Be,this.index=We}}function bt(Re,Ue,Be){if(Re??=new Me([],{}),0===Re.segments.length&&Re.hasChildren())return xt(Re,Ue,Be);const We=function $e(Re,Ue,Be){let We=0,rt=Ue;const mt={match:!1,pathIndex:0,commandIndex:0};for(;rt=Be.length)return mt;const Ot=Re.segments[rt],Jt=Be[We];if(Cs(Jt))break;const Yt=`${Jt}`,Ii=We0&&void 0===Yt)break;if(Yt&&Ii&&"object"==typeof Ii&&void 0===Ii.outlets){if(!si(Yt,Ii,Ot))return mt;We+=2}else{if(!si(Yt,{},Ot))return mt;We++}rt++}return{match:!0,pathIndex:rt,commandIndex:We}}(Re,Ue,Be),rt=Be.slice(We.commandIndex);if(We.match&&We.pathIndexmt!==w)&&Re.children[w]&&1===Re.numberOfChildren&&0===Re.children[w].segments.length){const mt=xt(Re.children[w],Ue,Be);return new Me(Re.segments,mt.children)}return Object.entries(We).forEach(([mt,Ot])=>{"string"==typeof Ot&&(Ot=[Ot]),null!==Ot&&(rt[mt]=bt(Re.children[mt],Ue,Ot))}),Object.entries(Re.children).forEach(([mt,Ot])=>{void 0===We[mt]&&(rt[mt]=Ot)}),new Me(Re.segments,rt)}}function yt(Re,Ue,Be){const We=Re.segments.slice(0,Ue);let rt=0;for(;rt{"string"==typeof We&&(We=[We]),null!==We&&(Ue[Be]=yt(new Me([],{}),0,We))}),Ue}function $t(Re){const Ue={};return Object.entries(Re).forEach(([Be,We])=>Ue[Be]=`${We}`),Ue}function si(Re,Ue,Be){return Re==Be.path&&K(Ue,Be.parameters)}const Ti="imperative";var Si=function(Re){return Re[Re.NavigationStart=0]="NavigationStart",Re[Re.NavigationEnd=1]="NavigationEnd",Re[Re.NavigationCancel=2]="NavigationCancel",Re[Re.NavigationError=3]="NavigationError",Re[Re.RoutesRecognized=4]="RoutesRecognized",Re[Re.ResolveStart=5]="ResolveStart",Re[Re.ResolveEnd=6]="ResolveEnd",Re[Re.GuardsCheckStart=7]="GuardsCheckStart",Re[Re.GuardsCheckEnd=8]="GuardsCheckEnd",Re[Re.RouteConfigLoadStart=9]="RouteConfigLoadStart",Re[Re.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",Re[Re.ChildActivationStart=11]="ChildActivationStart",Re[Re.ChildActivationEnd=12]="ChildActivationEnd",Re[Re.ActivationStart=13]="ActivationStart",Re[Re.ActivationEnd=14]="ActivationEnd",Re[Re.Scroll=15]="Scroll",Re[Re.NavigationSkipped=16]="NavigationSkipped",Re}(Si||{});class Hi{constructor(Ue,Be){this.id=Ue,this.url=Be}}class ss extends Hi{constructor(Ue,Be,We="imperative",rt=null){super(Ue,Be),this.type=Si.NavigationStart,this.navigationTrigger=We,this.restoredState=rt}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class un extends Hi{constructor(Ue,Be,We){super(Ue,Be),this.urlAfterRedirects=We,this.type=Si.NavigationEnd}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}var Xi=function(Re){return Re[Re.Redirect=0]="Redirect",Re[Re.SupersededByNewNavigation=1]="SupersededByNewNavigation",Re[Re.NoDataFromResolver=2]="NoDataFromResolver",Re[Re.GuardRejected=3]="GuardRejected",Re}(Xi||{}),cn=function(Re){return Re[Re.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",Re[Re.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",Re}(cn||{});class rs extends Hi{constructor(Ue,Be,We,rt){super(Ue,Be),this.reason=We,this.code=rt,this.type=Si.NavigationCancel}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class er extends Hi{constructor(Ue,Be,We,rt){super(Ue,Be),this.reason=We,this.code=rt,this.type=Si.NavigationSkipped}}class is extends Hi{constructor(Ue,Be,We,rt){super(Ue,Be),this.error=We,this.target=rt,this.type=Si.NavigationError}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class Zr extends Hi{constructor(Ue,Be,We,rt){super(Ue,Be),this.urlAfterRedirects=We,this.state=rt,this.type=Si.RoutesRecognized}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class sr extends Hi{constructor(Ue,Be,We,rt){super(Ue,Be),this.urlAfterRedirects=We,this.state=rt,this.type=Si.GuardsCheckStart}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Ls extends Hi{constructor(Ue,Be,We,rt,mt){super(Ue,Be),this.urlAfterRedirects=We,this.state=rt,this.shouldActivate=mt,this.type=Si.GuardsCheckEnd}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class jr extends Hi{constructor(Ue,Be,We,rt){super(Ue,Be),this.urlAfterRedirects=We,this.state=rt,this.type=Si.ResolveStart}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Ki extends Hi{constructor(Ue,Be,We,rt){super(Ue,Be),this.urlAfterRedirects=We,this.state=rt,this.type=Si.ResolveEnd}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Tn{constructor(Ue){this.route=Ue,this.type=Si.RouteConfigLoadStart}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class sc{constructor(Ue){this.route=Ue,this.type=Si.RouteConfigLoadEnd}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class ur{constructor(Ue){this.snapshot=Ue,this.type=Si.ChildActivationStart}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Oa{constructor(Ue){this.snapshot=Ue,this.type=Si.ChildActivationEnd}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Pa{constructor(Ue){this.snapshot=Ue,this.type=Si.ActivationStart}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class La{constructor(Ue){this.snapshot=Ue,this.type=Si.ActivationEnd}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class qr{constructor(Ue,Be,We){this.routerEvent=Ue,this.position=Be,this.anchor=We,this.type=Si.Scroll}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class mn{}class Zo{constructor(Ue){this.url=Ue}}class Gs{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new Qr,this.attachRef=null}}let Qr=(()=>{class Re{constructor(){this.contexts=new Map}onChildOutletCreated(Be,We){const rt=this.getOrCreateContext(Be);rt.outlet=We,this.contexts.set(Be,rt)}onChildOutletDestroyed(Be){const We=this.getContext(Be);We&&(We.outlet=null,We.attachRef=null)}onOutletDeactivated(){const Be=this.contexts;return this.contexts=new Map,Be}onOutletReAttached(Be){this.contexts=Be}getOrCreateContext(Be){let We=this.getContext(Be);return We||(We=new Gs,this.contexts.set(Be,We)),We}getContext(Be){return this.contexts.get(Be)||null}static#e=this.\u0275fac=function(We){return new(We||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();class ol{constructor(Ue){this._root=Ue}get root(){return this._root.value}parent(Ue){const Be=this.pathFromRoot(Ue);return Be.length>1?Be[Be.length-2]:null}children(Ue){const Be=al(Ue,this._root);return Be?Be.children.map(We=>We.value):[]}firstChild(Ue){const Be=al(Ue,this._root);return Be&&Be.children.length>0?Be.children[0].value:null}siblings(Ue){const Be=vr(Ue,this._root);return Be.length<2?[]:Be[Be.length-2].children.map(rt=>rt.value).filter(rt=>rt!==Ue)}pathFromRoot(Ue){return vr(Ue,this._root).map(Be=>Be.value)}}function al(Re,Ue){if(Re===Ue.value)return Ue;for(const Be of Ue.children){const We=al(Re,Be);if(We)return We}return null}function vr(Re,Ue){if(Re===Ue.value)return[Ue];for(const Be of Ue.children){const We=vr(Re,Be);if(We.length)return We.unshift(Ue),We}return[]}class Hs{constructor(Ue,Be){this.value=Ue,this.children=Be}toString(){return`TreeNode(${this.value})`}}function yr(Re){const Ue={};return Re&&Re.children.forEach(Be=>Ue[Be.value.outlet]=Be),Ue}class ll extends ol{constructor(Ue,Be){super(Ue),this.snapshot=Be,ga(this,Ue)}toString(){return this.snapshot.toString()}}function pa(Re){const Ue=function Ra(Re){const mt=new fa([],{},{},"",{},w,Re,null,{});return new kr("",new Hs(mt,[]))}(Re),Be=new Z.t([new Ee("",{})]),We=new Z.t({}),rt=new Z.t({}),mt=new Z.t({}),Ot=new Z.t(""),Jt=new bo(Be,We,mt,Ot,rt,w,Re,Ue.root);return Jt.snapshot=Ue.root,new ll(new Hs(Jt,[]),Ue)}class bo{constructor(Ue,Be,We,rt,mt,Ot,Jt,Yt){this.urlSubject=Ue,this.paramsSubject=Be,this.queryParamsSubject=We,this.fragmentSubject=rt,this.dataSubject=mt,this.outlet=Ot,this.component=Jt,this._futureSnapshot=Yt,this.title=this.dataSubject?.pipe((0,_.T)(Ii=>Ii[X]))??(0,Pe.of)(void 0),this.url=Ue,this.params=Be,this.queryParams=We,this.fragment=rt,this.data=mt}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe((0,_.T)(Ue=>x(Ue))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe((0,_.T)(Ue=>x(Ue))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function xr(Re,Ue,Be="emptyOnly"){let We;const{routeConfig:rt}=Re;return We=null===Ue||"always"!==Be&&""!==rt?.path&&(Ue.component||Ue.routeConfig?.loadComponent)?{params:{...Re.params},data:{...Re.data},resolve:{...Re.data,...Re._resolvedData??{}}}:{params:{...Ue.params,...Re.params},data:{...Ue.data,...Re.data},resolve:{...Re.data,...Ue.data,...rt?.data,...Re._resolvedData}},rt&&Vr(rt)&&(We.resolve[X]=rt.title),We}class fa{get title(){return this.data?.[X]}constructor(Ue,Be,We,rt,mt,Ot,Jt,Yt,Ii){this.url=Ue,this.params=Be,this.queryParams=We,this.fragment=rt,this.data=mt,this.outlet=Ot,this.component=Jt,this.routeConfig=Yt,this._resolve=Ii}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=x(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=x(this.queryParams),this._queryParamMap}toString(){return`Route(url:'${this.url.map(We=>We.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class kr extends ol{constructor(Ue,Be){super(Be),this.url=Ue,ga(this,Be)}toString(){return Is(this._root)}}function ga(Re,Ue){Ue.value._routerState=Re,Ue.children.forEach(Be=>ga(Re,Be))}function Is(Re){const Ue=Re.children.length>0?` { ${Re.children.map(Is).join(", ")} } `:"";return`${Re.value}${Ue}`}function Us(Re){if(Re.snapshot){const Ue=Re.snapshot,Be=Re._futureSnapshot;Re.snapshot=Be,K(Ue.queryParams,Be.queryParams)||Re.queryParamsSubject.next(Be.queryParams),Ue.fragment!==Be.fragment&&Re.fragmentSubject.next(Be.fragment),K(Ue.params,Be.params)||Re.paramsSubject.next(Be.params),function R(Re,Ue){if(Re.length!==Ue.length)return!1;for(let Be=0;BeK(Be.parameters,Ue[We].parameters))}(Re.url,Ue.url);return Be&&!(!Re.parent!=!Ue.parent)&&(!Re.parent||qi(Re.parent,Ue.parent))}function Vr(Re){return"string"==typeof Re.title||null===Re.title}let Io=(()=>{class Re{constructor(){this.activated=null,this._activatedRoute=null,this.name=w,this.activateEvents=new M.bkB,this.deactivateEvents=new M.bkB,this.attachEvents=new M.bkB,this.detachEvents=new M.bkB,this.parentContexts=(0,M.WQX)(Qr),this.location=(0,M.WQX)(M.c1b),this.changeDetector=(0,M.WQX)(M.gRc),this.environmentInjector=(0,M.WQX)(M.uvJ),this.inputBinder=(0,M.WQX)(vo,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(Be){if(Be.name){const{firstChange:We,previousValue:rt}=Be.name;if(We)return;this.isTrackedInParentContexts(rt)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(rt)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(Be){return this.parentContexts.getContext(Be)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const Be=this.parentContexts.getContext(this.name);Be?.route&&(Be.attachRef?this.attach(Be.attachRef,Be.route):this.activateWith(Be.route,Be.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new M.wOt(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new M.wOt(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new M.wOt(4012,!1);this.location.detach();const Be=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(Be.instance),Be}attach(Be,We){this.activated=Be,this._activatedRoute=We,this.location.insert(Be.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(Be.instance)}deactivate(){if(this.activated){const Be=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(Be)}}activateWith(Be,We){if(this.isActivated)throw new M.wOt(4013,!1);this._activatedRoute=Be;const rt=this.location,Ot=Be.snapshot.component,Jt=this.parentContexts.getOrCreateContext(this.name).children,Yt=new ma(Be,Jt,rt.injector);this.activated=rt.createComponent(Ot,{index:rt.length,injector:Yt,environmentInjector:We??this.environmentInjector}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static#e=this.\u0275fac=function(We){return new(We||Re)};static#t=this.\u0275dir=M.FsC({type:Re,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[M.OA$]})}return Re})();class ma{constructor(Ue,Be,We){this.route=Ue,this.childContexts=Be,this.parent=We}get(Ue,Be){return Ue===bo?this.route:Ue===Qr?this.childContexts:this.parent.get(Ue,Be)}}const vo=new M.nKC("");let ba=(()=>{class Re{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(Be){this.unsubscribeFromRouteData(Be),this.subscribeToRouteData(Be)}unsubscribeFromRouteData(Be){this.outletDataSubscriptions.get(Be)?.unsubscribe(),this.outletDataSubscriptions.delete(Be)}subscribeToRouteData(Be){const{activatedRoute:We}=Be,rt=(0,ie.z)([We.queryParams,We.params,We.data]).pipe((0,b.n)(([mt,Ot,Jt],Yt)=>(Jt={...mt,...Ot,...Jt},0===Yt?(0,Pe.of)(Jt):Promise.resolve(Jt)))).subscribe(mt=>{if(!Be.isActivated||!Be.activatedComponentRef||Be.activatedRoute!==We||null===We.component)return void this.unsubscribeFromRouteData(Be);const Ot=(0,M.HJs)(We.component);if(Ot)for(const{templateName:Jt}of Ot.inputs)Be.activatedComponentRef.setInput(Jt,mt[Jt]);else this.unsubscribeFromRouteData(Be)});this.outletDataSubscriptions.set(Be,rt)}static#e=this.\u0275fac=function(We){return new(We||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac})}return Re})();function Oo(Re,Ue,Be){if(Be&&Re.shouldReuseRoute(Ue.value,Be.value.snapshot)){const We=Be.value;We._futureSnapshot=Ue.value;const rt=function tr(Re,Ue,Be){return Ue.children.map(We=>{for(const rt of Be.children)if(Re.shouldReuseRoute(We.value,rt.value.snapshot))return Oo(Re,We,rt);return Oo(Re,We)})}(Re,Ue,Be);return new Hs(We,rt)}{if(Re.shouldAttach(Ue.value)){const mt=Re.retrieve(Ue.value);if(null!==mt){const Ot=mt.route;return Ot.value._futureSnapshot=Ue.value,Ot.children=Ue.children.map(Jt=>Oo(Re,Jt)),Ot}}const We=function hl(Re){return new bo(new Z.t(Re.url),new Z.t(Re.params),new Z.t(Re.queryParams),new Z.t(Re.fragment),new Z.t(Re.data),Re.outlet,Re.component,Re)}(Ue.value),rt=Ue.children.map(mt=>Oo(Re,mt));return new Hs(We,rt)}}const zr="ngNavigationCancelingError";function dl(Re,Ue){const{redirectTo:Be,navigationBehaviorOptions:We}=On(Ue)?{redirectTo:Ue,navigationBehaviorOptions:void 0}:Ue,rt=Mr(!1,Xi.Redirect);return rt.url=Be,rt.navigationBehaviorOptions=We,rt}function Mr(Re,Ue){const Be=new Error(`NavigationCancelingError: ${Re||""}`);return Be[zr]=!0,Be.cancellationCode=Ue,Be}function cs(Re){return!!Re&&Re[zr]}let Dr=(()=>{class Re{static#e=this.\u0275fac=function(We){return new(We||Re)};static#t=this.\u0275cmp=M.VBU({type:Re,selectors:[["ng-component"]],standalone:!0,features:[M.aNF],decls:1,vars:0,template:function(We,rt){1&We&&M.nrm(0,"router-outlet")},dependencies:[Io],encapsulation:2})}return Re})();function Gr(Re){const Ue=Re.children&&Re.children.map(Gr),Be=Ue?{...Re,children:Ue}:{...Re};return!Be.component&&!Be.loadComponent&&(Ue||Be.loadChildren)&&Be.outlet&&Be.outlet!==w&&(Be.component=Dr),Be}function eo(Re){return Re.outlet||w}function Ks(Re){if(!Re)return null;if(Re.routeConfig?._injector)return Re.routeConfig._injector;for(let Ue=Re.parent;Ue;Ue=Ue.parent){const Be=Ue.routeConfig;if(Be?._loadedInjector)return Be._loadedInjector;if(Be?._injector)return Be._injector}return null}class xa{constructor(Ue,Be,We,rt,mt){this.routeReuseStrategy=Ue,this.futureState=Be,this.currState=We,this.forwardEvent=rt,this.inputBindingEnabled=mt}activate(Ue){const Be=this.futureState._root,We=this.currState?this.currState._root:null;this.deactivateChildRoutes(Be,We,Ue),Us(this.futureState.root),this.activateChildRoutes(Be,We,Ue)}deactivateChildRoutes(Ue,Be,We){const rt=yr(Be);Ue.children.forEach(mt=>{const Ot=mt.value.outlet;this.deactivateRoutes(mt,rt[Ot],We),delete rt[Ot]}),Object.values(rt).forEach(mt=>{this.deactivateRouteAndItsChildren(mt,We)})}deactivateRoutes(Ue,Be,We){const rt=Ue.value,mt=Be?Be.value:null;if(rt===mt)if(rt.component){const Ot=We.getContext(rt.outlet);Ot&&this.deactivateChildRoutes(Ue,Be,Ot.children)}else this.deactivateChildRoutes(Ue,Be,We);else mt&&this.deactivateRouteAndItsChildren(Be,We)}deactivateRouteAndItsChildren(Ue,Be){Ue.value.component&&this.routeReuseStrategy.shouldDetach(Ue.value.snapshot)?this.detachAndStoreRouteSubtree(Ue,Be):this.deactivateRouteAndOutlet(Ue,Be)}detachAndStoreRouteSubtree(Ue,Be){const We=Be.getContext(Ue.value.outlet),rt=We&&Ue.value.component?We.children:Be,mt=yr(Ue);for(const Ot of Object.values(mt))this.deactivateRouteAndItsChildren(Ot,rt);if(We&&We.outlet){const Ot=We.outlet.detach(),Jt=We.children.onOutletDeactivated();this.routeReuseStrategy.store(Ue.value.snapshot,{componentRef:Ot,route:Ue,contexts:Jt})}}deactivateRouteAndOutlet(Ue,Be){const We=Be.getContext(Ue.value.outlet),rt=We&&Ue.value.component?We.children:Be,mt=yr(Ue);for(const Ot of Object.values(mt))this.deactivateRouteAndItsChildren(Ot,rt);We&&(We.outlet&&(We.outlet.deactivate(),We.children.onOutletDeactivated()),We.attachRef=null,We.route=null)}activateChildRoutes(Ue,Be,We){const rt=yr(Be);Ue.children.forEach(mt=>{this.activateRoutes(mt,rt[mt.value.outlet],We),this.forwardEvent(new La(mt.value.snapshot))}),Ue.children.length&&this.forwardEvent(new Oa(Ue.value.snapshot))}activateRoutes(Ue,Be,We){const rt=Ue.value,mt=Be?Be.value:null;if(Us(rt),rt===mt)if(rt.component){const Ot=We.getOrCreateContext(rt.outlet);this.activateChildRoutes(Ue,Be,Ot.children)}else this.activateChildRoutes(Ue,Be,We);else if(rt.component){const Ot=We.getOrCreateContext(rt.outlet);if(this.routeReuseStrategy.shouldAttach(rt.snapshot)){const Jt=this.routeReuseStrategy.retrieve(rt.snapshot);this.routeReuseStrategy.store(rt.snapshot,null),Ot.children.onOutletReAttached(Jt.contexts),Ot.attachRef=Jt.componentRef,Ot.route=Jt.route.value,Ot.outlet&&Ot.outlet.attach(Jt.componentRef,Jt.route.value),Us(Jt.route.value),this.activateChildRoutes(Ue,null,Ot.children)}else{const Jt=Ks(rt.snapshot);Ot.attachRef=null,Ot.route=rt,Ot.injector=Jt,Ot.outlet&&Ot.outlet.activateWith(rt,Ot.injector),this.activateChildRoutes(Ue,null,Ot.children)}}else this.activateChildRoutes(Ue,null,We)}}class Qo{constructor(Ue){this.path=Ue,this.route=this.path[this.path.length-1]}}class yo{constructor(Ue,Be){this.component=Ue,this.route=Be}}function ul(Re,Ue,Be){const We=Re._root;return Jo(We,Ue?Ue._root:null,Be,[We.value])}function Qi(Re,Ue){const Be=Symbol(),We=Ue.get(Re,Be);return We===Be?"function"!=typeof Re||(0,M.LfX)(Re)?Ue.get(Re):Re:We}function Jo(Re,Ue,Be,We,rt={canDeactivateChecks:[],canActivateChecks:[]}){const mt=yr(Ue);return Re.children.forEach(Ot=>{(function ja(Re,Ue,Be,We,rt={canDeactivateChecks:[],canActivateChecks:[]}){const mt=Re.value,Ot=Ue?Ue.value:null,Jt=Be?Be.getContext(Re.value.outlet):null;if(Ot&&mt.routeConfig===Ot.routeConfig){const Yt=function ot(Re,Ue,Be){if("function"==typeof Be)return Be(Re,Ue);switch(Be){case"pathParamsChange":return!Ze(Re.url,Ue.url);case"pathParamsOrQueryParamsChange":return!Ze(Re.url,Ue.url)||!K(Re.queryParams,Ue.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!qi(Re,Ue)||!K(Re.queryParams,Ue.queryParams);default:return!qi(Re,Ue)}}(Ot,mt,mt.routeConfig.runGuardsAndResolvers);Yt?rt.canActivateChecks.push(new Qo(We)):(mt.data=Ot.data,mt._resolvedData=Ot._resolvedData),Jo(Re,Ue,mt.component?Jt?Jt.children:null:Be,We,rt),Yt&&Jt&&Jt.outlet&&Jt.outlet.isActivated&&rt.canDeactivateChecks.push(new yo(Jt.outlet.component,Ot))}else Ot&&ct(Ue,Jt,rt),rt.canActivateChecks.push(new Qo(We)),Jo(Re,null,mt.component?Jt?Jt.children:null:Be,We,rt)})(Ot,mt[Ot.value.outlet],Be,We.concat([Ot.value]),rt),delete mt[Ot.value.outlet]}),Object.entries(mt).forEach(([Ot,Jt])=>ct(Jt,Be.getContext(Ot),rt)),rt}function ct(Re,Ue,Be){const We=yr(Re),rt=Re.value;Object.entries(We).forEach(([mt,Ot])=>{ct(Ot,rt.component?Ue?Ue.children.getContext(mt):null:Ue,Be)}),Be.canDeactivateChecks.push(new yo(rt.component&&Ue&&Ue.outlet&&Ue.outlet.isActivated?Ue.outlet.component:null,rt))}function Ye(Re){return"function"==typeof Re}function Zs(Re){return Re instanceof ve||"EmptyError"===Re?.name}const Ar=Symbol("INITIAL_VALUE");function or(){return(0,b.n)(Re=>(0,ie.z)(Re.map(Ue=>Ue.pipe((0,T.s)(1),(0,z.Z)(Ar)))).pipe((0,_.T)(Ue=>{for(const Be of Ue)if(!0!==Be){if(Be===Ar)return Ar;if(!1===Be||Be instanceof _e)return Be}return!0}),(0,O.p)(Ue=>Ue!==Ar),(0,T.s)(1)))}function io(Re){return(0,pe.F)((0,l.M)(Ue=>{if(On(Ue))throw dl(0,Ue)}),(0,_.T)(Ue=>!0===Ue))}class Nl{constructor(Ue){this.segmentGroup=Ue||null}}class Va extends Error{constructor(Ue){super(),this.urlTree=Ue}}function Or(Re){return(0,J.$)(new Nl(Re))}class Ss{constructor(Ue,Be){this.urlSerializer=Ue,this.urlTree=Be}lineralizeSegments(Ue,Be){let We=[],rt=Be.root;for(;;){if(We=We.concat(rt.segments),0===rt.numberOfChildren)return(0,Pe.of)(We);if(rt.numberOfChildren>1||!rt.children[w])return(0,J.$)(new M.wOt(4e3,!1));rt=rt.children[w]}}applyRedirectCommands(Ue,Be,We){const rt=this.applyRedirectCreateUrlTree(Be,this.urlSerializer.parse(Be),Ue,We);if(Be.startsWith("/"))throw new Va(rt);return rt}applyRedirectCreateUrlTree(Ue,Be,We,rt){const mt=this.createSegmentGroup(Ue,Be.root,We,rt);return new _e(mt,this.createQueryParams(Be.queryParams,this.urlTree.queryParams),Be.fragment)}createQueryParams(Ue,Be){const We={};return Object.entries(Ue).forEach(([rt,mt])=>{if("string"==typeof mt&&mt.startsWith(":")){const Jt=mt.substring(1);We[rt]=Be[Jt]}else We[rt]=mt}),We}createSegmentGroup(Ue,Be,We,rt){const mt=this.createSegments(Ue,Be.segments,We,rt);let Ot={};return Object.entries(Be.children).forEach(([Jt,Yt])=>{Ot[Jt]=this.createSegmentGroup(Ue,Yt,We,rt)}),new Me(mt,Ot)}createSegments(Ue,Be,We,rt){return Be.map(mt=>mt.path.startsWith(":")?this.findPosParam(Ue,mt,rt):this.findOrReturn(mt,We))}findPosParam(Ue,Be,We){const rt=We[Be.path.substring(1)];if(!rt)throw new M.wOt(4001,!1);return rt}findOrReturn(Ue,Be){let We=0;for(const rt of Be){if(rt.path===Ue.path)return Be.splice(We),rt;We++}return Ue}}const xo={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function qs(Re,Ue,Be,We,rt){const mt=pl(Re,Ue,Be);return mt.matched?(We=function qo(Re,Ue){return Re.providers&&!Re._injector&&(Re._injector=(0,M.Ol2)(Re.providers,Ue,`Route: ${Re.path}`)),Re._injector??Ue}(Ue,We),function Zh(Re,Ue,Be,We){const rt=Ue.canMatch;if(!rt||0===rt.length)return(0,Pe.of)(!0);const mt=rt.map(Ot=>{const Jt=Qi(Ot,Re);return Ce(function Er(Re){return Re&&Ye(Re.canMatch)}(Jt)?Jt.canMatch(Ue,Be):(0,M.N4e)(Re,()=>Jt(Ue,Be)))});return(0,Pe.of)(mt).pipe(or(),io())}(We,Ue,Be).pipe((0,_.T)(Ot=>!0===Ot?mt:{...xo}))):(0,Pe.of)(mt)}function pl(Re,Ue,Be){if("**"===Ue.path)return function fl(Re){return{matched:!0,parameters:Re.length>0?me(Re).parameters:{},consumedSegments:Re,remainingSegments:[],positionalParamSegments:{}}}(Be);if(""===Ue.path)return"full"===Ue.pathMatch&&(Re.hasChildren()||Be.length>0)?{...xo}:{matched:!0,consumedSegments:[],remainingSegments:Be,parameters:{},positionalParamSegments:{}};const rt=(Ue.matcher||N)(Be,Re,Ue);if(!rt)return{...xo};const mt={};Object.entries(rt.posParams??{}).forEach(([Jt,Yt])=>{mt[Jt]=Yt.path});const Ot=rt.consumed.length>0?{...mt,...rt.consumed[rt.consumed.length-1].parameters}:mt;return{matched:!0,consumedSegments:rt.consumed,remainingSegments:Be.slice(rt.consumed.length),parameters:Ot,positionalParamSegments:rt.posParams??{}}}function gl(Re,Ue,Be,We){return Be.length>0&&function za(Re,Ue,Be){return Be.some(We=>ml(Re,Ue,We)&&eo(We)!==w)}(Re,Be,We)?{segmentGroup:new Me(Ue,ac(We,new Me(Be,Re.children))),slicedSegments:[]}:0===Be.length&&function Fl(Re,Ue,Be){return Be.some(We=>ml(Re,Ue,We))}(Re,Be,We)?{segmentGroup:new Me(Re.segments,Ac(Re,Be,We,Re.children)),slicedSegments:Be}:{segmentGroup:new Me(Re.segments,Re.children),slicedSegments:Be}}function Ac(Re,Ue,Be,We){const rt={};for(const mt of Be)if(ml(Re,Ue,mt)&&!We[eo(mt)]){const Ot=new Me([],{});rt[eo(mt)]=Ot}return{...We,...rt}}function ac(Re,Ue){const Be={};Be[w]=Ue;for(const We of Re)if(""===We.path&&eo(We)!==w){const rt=new Me([],{});Be[eo(We)]=rt}return Be}function ml(Re,Ue,Be){return(!(Re.hasChildren()||Ue.length>0)||"full"!==Be.pathMatch)&&""===Be.path}class Oc{}class Bl{constructor(Ue,Be,We,rt,mt,Ot,Jt){this.injector=Ue,this.configLoader=Be,this.rootComponentType=We,this.config=rt,this.urlTree=mt,this.paramsInheritanceStrategy=Ot,this.urlSerializer=Jt,this.applyRedirects=new Ss(this.urlSerializer,this.urlTree),this.absoluteRedirectCount=0,this.allowRedirects=!0}noMatchError(Ue){return new M.wOt(4002,`'${Ue.segmentGroup}'`)}recognize(){const Ue=gl(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(Ue).pipe((0,_.T)(Be=>{const We=new fa([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},w,this.rootComponentType,null,{}),rt=new Hs(We,Be),mt=new kr("",rt),Ot=function Pn(Re,Ue,Be=null,We=null){return $n(As(Re),Ue,Be,We)}(We,[],this.urlTree.queryParams,this.urlTree.fragment);return Ot.queryParams=this.urlTree.queryParams,mt.url=this.urlSerializer.serialize(Ot),this.inheritParamsAndData(mt._root,null),{state:mt,tree:Ot}}))}match(Ue){return this.processSegmentGroup(this.injector,this.config,Ue,w).pipe((0,d.W)(We=>{if(We instanceof Va)return this.urlTree=We.urlTree,this.match(We.urlTree.root);throw We instanceof Nl?this.noMatchError(We):We}))}inheritParamsAndData(Ue,Be){const We=Ue.value,rt=xr(We,Be,this.paramsInheritanceStrategy);We.params=Object.freeze(rt.params),We.data=Object.freeze(rt.data),Ue.children.forEach(mt=>this.inheritParamsAndData(mt,We))}processSegmentGroup(Ue,Be,We,rt){return 0===We.segments.length&&We.hasChildren()?this.processChildren(Ue,Be,We):this.processSegment(Ue,Be,We,We.segments,rt,!0).pipe((0,_.T)(mt=>mt instanceof Hs?[mt]:[]))}processChildren(Ue,Be,We){const rt=[];for(const mt of Object.keys(We.children))"primary"===mt?rt.unshift(mt):rt.push(mt);return(0,V.H)(rt).pipe((0,r.H)(mt=>{const Ot=We.children[mt],Jt=function rc(Re,Ue){const Be=Re.filter(We=>eo(We)===Ue);return Be.push(...Re.filter(We=>eo(We)!==Ue)),Be}(Be,mt);return this.processSegmentGroup(Ue,Jt,Ot,mt)}),function k(Re,Ue){return(0,B.N)(function C(Re,Ue,Be,We,rt){return(mt,Ot)=>{let Jt=Be,Yt=Ue,Ii=0;mt.subscribe((0,F._)(Ot,vn=>{const In=Ii++;Yt=Jt?Re(Yt,vn,In):(Jt=!0,vn),We&&Ot.next(Yt)},rt&&(()=>{Jt&&Ot.next(Yt),Ot.complete()})))}}(Re,Ue,arguments.length>=2,!0))}((mt,Ot)=>(mt.push(...Ot),mt)),(0,a.U)(null),function S(Re,Ue){const Be=arguments.length>=2;return We=>We.pipe(Re?(0,O.p)((rt,mt)=>Re(rt,mt,We)):o.D,p(1),Be?(0,a.U)(Ue):g(()=>new ve))}(),(0,f.Z)(mt=>{if(null===mt)return Or(We);const Ot=Fo(mt);return function ir(Re){Re.sort((Ue,Be)=>Ue.value.outlet===w?-1:Be.value.outlet===w?1:Ue.value.outlet.localeCompare(Be.value.outlet))}(Ot),(0,Pe.of)(Ot)}))}processSegment(Ue,Be,We,rt,mt,Ot){return(0,V.H)(Be).pipe((0,r.H)(Jt=>this.processSegmentAgainstRoute(Jt._injector??Ue,Be,Jt,We,rt,mt,Ot).pipe((0,d.W)(Yt=>{if(Yt instanceof Nl)return(0,Pe.of)(null);throw Yt}))),n(Jt=>!!Jt),(0,d.W)(Jt=>{if(Zs(Jt))return function lc(Re,Ue,Be){return 0===Ue.length&&!Re.children[Be]}(We,rt,mt)?(0,Pe.of)(new Oc):Or(We);throw Jt}))}processSegmentAgainstRoute(Ue,Be,We,rt,mt,Ot,Jt){return function Ic(Re,Ue,Be,We){return!!(eo(Re)===We||We!==w&&ml(Ue,Be,Re))&&pl(Ue,Re,Be).matched}(We,rt,mt,Ot)?void 0===We.redirectTo?this.matchSegmentAgainstRoute(Ue,rt,We,mt,Ot):this.allowRedirects&&Jt?this.expandSegmentAgainstRouteUsingRedirect(Ue,rt,Be,We,mt,Ot):Or(rt):Or(rt)}expandSegmentAgainstRouteUsingRedirect(Ue,Be,We,rt,mt,Ot){const{matched:Jt,consumedSegments:Yt,positionalParamSegments:Ii,remainingSegments:vn}=pl(Be,rt,mt);if(!Jt)return Or(Be);rt.redirectTo.startsWith("/")&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>31&&(this.allowRedirects=!1));const In=this.applyRedirects.applyRedirectCommands(Yt,rt.redirectTo,Ii);return this.applyRedirects.lineralizeSegments(rt,In).pipe((0,f.Z)(Qs=>this.processSegment(Ue,We,Be,Qs.concat(vn),Ot,!1)))}matchSegmentAgainstRoute(Ue,Be,We,rt,mt){const Ot=qs(Be,We,rt,Ue);return"**"===We.path&&(Be.children={}),Ot.pipe((0,b.n)(Jt=>Jt.matched?this.getChildConfig(Ue=We._injector??Ue,We,rt).pipe((0,b.n)(({routes:Yt})=>{const Ii=We._loadedInjector??Ue,{consumedSegments:vn,remainingSegments:In,parameters:Qs}=Jt,Gl=new fa(vn,Qs,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,function Fs(Re){return Re.data||{}}(We),eo(We),We.component??We._loadedComponent??null,We,function Bs(Re){return Re.resolve||{}}(We)),{segmentGroup:Hl,slicedSegments:Wa}=gl(Be,vn,In,Yt);if(0===Wa.length&&Hl.hasChildren())return this.processChildren(Ii,Yt,Hl).pipe((0,_.T)($a=>null===$a?null:new Hs(Gl,$a)));if(0===Yt.length&&0===Wa.length)return(0,Pe.of)(new Hs(Gl,[]));const Fc=eo(We)===mt;return this.processSegment(Ii,Yt,Hl,Wa,Fc?w:mt,!0).pipe((0,_.T)($a=>new Hs(Gl,$a instanceof Hs?[$a]:[])))})):Or(Be)))}getChildConfig(Ue,Be,We){return Be.children?(0,Pe.of)({routes:Be.children,injector:Ue}):Be.loadChildren?void 0!==Be._loadedRoutes?(0,Pe.of)({routes:Be._loadedRoutes,injector:Be._loadedInjector}):function Dc(Re,Ue,Be,We){const rt=Ue.canLoad;if(void 0===rt||0===rt.length)return(0,Pe.of)(!0);const mt=rt.map(Ot=>{const Jt=Qi(Ot,Re);return Ce(function Bt(Re){return Re&&Ye(Re.canLoad)}(Jt)?Jt.canLoad(Ue,Be):(0,M.N4e)(Re,()=>Jt(Ue,Be)))});return(0,Pe.of)(mt).pipe(or(),io())}(Ue,Be,We).pipe((0,f.Z)(rt=>rt?this.configLoader.loadChildren(Ue,Be).pipe((0,l.M)(mt=>{Be._loadedRoutes=mt.routes,Be._loadedInjector=mt.injector})):function Rs(Re){return(0,J.$)(Mr(!1,Xi.GuardRejected))}())):(0,Pe.of)({routes:[],injector:Ue})}}function Lc(Re){const Ue=Re.value.routeConfig;return Ue&&""===Ue.path}function Fo(Re){const Ue=[],Be=new Set;for(const We of Re){if(!Lc(We)){Ue.push(We);continue}const rt=Ue.find(mt=>We.value.routeConfig===mt.value.routeConfig);void 0!==rt?(rt.children.push(...We.children),Be.add(rt)):Ue.push(We)}for(const We of Be){const rt=Fo(We.children);Ue.push(new Hs(We.value,rt))}return Ue.filter(We=>!Be.has(We))}function _o(Re){const Ue=Re.children.map(Be=>_o(Be)).flat();return[Re,...Ue]}function jl(Re){return(0,b.n)(Ue=>{const Be=Re(Ue);return Be?(0,V.H)(Be).pipe((0,_.T)(()=>Ue)):(0,Pe.of)(Ue)})}let Rc=(()=>{class Re{buildTitle(Be){let We,rt=Be.root;for(;void 0!==rt;)We=this.getResolvedTitleForRoute(rt)??We,rt=rt.children.find(mt=>mt.outlet===w);return We}getResolvedTitleForRoute(Be){return Be.data[X]}static#e=this.\u0275fac=function(We){return new(We||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:()=>(0,M.WQX)(vl),providedIn:"root"})}return Re})(),vl=(()=>{class Re extends Rc{constructor(Be){super(),this.title=Be}updateTitle(Be){const We=this.buildTitle(Be);void 0!==We&&this.title.setTitle(We)}static#e=this.\u0275fac=function(We){return new(We||Re)(M.KVO(se.hE))};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();const _r=new M.nKC("",{providedIn:"root",factory:()=>({})}),Ga=new M.nKC("");let ia=(()=>{class Re{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=(0,M.WQX)(M.Ql9)}loadComponent(Be){if(this.componentLoaders.get(Be))return this.componentLoaders.get(Be);if(Be._loadedComponent)return(0,Pe.of)(Be._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(Be);const We=Ce(Be.loadComponent()).pipe((0,_.T)(Ha),(0,l.M)(mt=>{this.onLoadEndListener&&this.onLoadEndListener(Be),Be._loadedComponent=mt}),(0,H.j)(()=>{this.componentLoaders.delete(Be)})),rt=new D(We,()=>new I.B).pipe(L());return this.componentLoaders.set(Be,rt),rt}loadChildren(Be,We){if(this.childrenLoaders.get(We))return this.childrenLoaders.get(We);if(We._loadedRoutes)return(0,Pe.of)({routes:We._loadedRoutes,injector:We._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(We);const mt=function Hr(Re,Ue,Be,We){return Ce(Re.loadChildren()).pipe((0,_.T)(Ha),(0,f.Z)(rt=>rt instanceof M.Co$||Array.isArray(rt)?(0,Pe.of)(rt):(0,V.H)(Ue.compileModuleAsync(rt))),(0,_.T)(rt=>{We&&We(Re);let mt,Ot,Jt=!1;return Array.isArray(rt)?(Ot=rt,!0):(mt=rt.create(Be).injector,Ot=mt.get(Ga,[],{optional:!0,self:!0}).flat()),{routes:Ot.map(Gr),injector:mt}}))}(We,this.compiler,Be,this.onLoadEndListener).pipe((0,H.j)(()=>{this.childrenLoaders.delete(We)})),Ot=new D(mt,()=>new I.B).pipe(L());return this.childrenLoaders.set(We,Ot),Ot}static#e=this.\u0275fac=function(We){return new(We||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();function Ha(Re){return function na(Re){return Re&&"object"==typeof Re&&"default"in Re}(Re)?Re.default:Re}let sa=(()=>{class Re{static#e=this.\u0275fac=function(We){return new(We||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:()=>(0,M.WQX)(Ge),providedIn:"root"})}return Re})(),Ge=(()=>{class Re{shouldProcessUrl(Be){return!0}extract(Be){return Be}merge(Be,We){return Be}static#e=this.\u0275fac=function(We){return new(We||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();const ut=new M.nKC(""),Ke=new M.nKC("");function at(Re,Ue,Be){const We=Re.get(Ke),rt=Re.get(E.qQ);return Re.get(M.SKi).runOutsideAngular(()=>{if(!rt.startViewTransition||We.skipNextTransition)return We.skipNextTransition=!1,Promise.resolve();let mt;const Ot=new Promise(Ii=>{mt=Ii}),Jt=rt.startViewTransition(()=>(mt(),function Et(Re){return new Promise(Ue=>{(0,M.mal)(Ue,{injector:Re})})}(Re))),{onViewTransitionCreated:Yt}=We;return Yt&&(0,M.N4e)(Re,()=>Yt({transition:Jt,from:Ue,to:Be})),Ot})}let qt=(()=>{class Re{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new I.B,this.transitionAbortSubject=new I.B,this.configLoader=(0,M.WQX)(ia),this.environmentInjector=(0,M.WQX)(M.uvJ),this.urlSerializer=(0,M.WQX)(Qe),this.rootContexts=(0,M.WQX)(Qr),this.location=(0,M.WQX)(E.aZ),this.inputBindingEnabled=null!==(0,M.WQX)(vo,{optional:!0}),this.titleStrategy=(0,M.WQX)(Rc),this.options=(0,M.WQX)(_r,{optional:!0})||{},this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlHandlingStrategy=(0,M.WQX)(sa),this.createViewTransition=(0,M.WQX)(ut,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>(0,Pe.of)(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=rt=>this.events.next(new sc(rt)),this.configLoader.onLoadStartListener=rt=>this.events.next(new Tn(rt))}complete(){this.transitions?.complete()}handleNavigationRequest(Be){const We=++this.navigationId;this.transitions?.next({...this.transitions.value,...Be,id:We})}setupNavigations(Be,We,rt){return this.transitions=new Z.t({id:0,currentUrlTree:We,currentRawUrl:We,extractedUrl:this.urlHandlingStrategy.extract(We),urlAfterRedirects:this.urlHandlingStrategy.extract(We),rawUrl:We,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:Ti,restoredState:null,currentSnapshot:rt.snapshot,targetSnapshot:null,currentRouterState:rt,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe((0,O.p)(mt=>0!==mt.id),(0,_.T)(mt=>({...mt,extractedUrl:this.urlHandlingStrategy.extract(mt.rawUrl)})),(0,b.n)(mt=>{let Ot=!1,Jt=!1;return(0,Pe.of)(mt).pipe((0,b.n)(Yt=>{if(this.navigationId>mt.id)return this.cancelNavigationTransition(mt,"",Xi.SupersededByNewNavigation),te.w;this.currentTransition=mt,this.currentNavigation={id:Yt.id,initialUrl:Yt.rawUrl,extractedUrl:Yt.extractedUrl,trigger:Yt.source,extras:Yt.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null};const Ii=!Be.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl();if(!Ii&&"reload"!==(Yt.extras.onSameUrlNavigation??Be.onSameUrlNavigation)){const In="";return this.events.next(new er(Yt.id,this.urlSerializer.serialize(Yt.rawUrl),In,cn.IgnoredSameUrlNavigation)),Yt.resolve(null),te.w}if(this.urlHandlingStrategy.shouldProcessUrl(Yt.rawUrl))return(0,Pe.of)(Yt).pipe((0,b.n)(In=>{const Qs=this.transitions?.getValue();return this.events.next(new ss(In.id,this.urlSerializer.serialize(In.extractedUrl),In.source,In.restoredState)),Qs!==this.transitions?.getValue()?te.w:Promise.resolve(In)}),function ta(Re,Ue,Be,We,rt,mt){return(0,f.Z)(Ot=>function No(Re,Ue,Be,We,rt,mt,Ot="emptyOnly"){return new Bl(Re,Ue,Be,We,rt,Ot,mt).recognize()}(Re,Ue,Be,We,Ot.extractedUrl,rt,mt).pipe((0,_.T)(({state:Jt,tree:Yt})=>({...Ot,targetSnapshot:Jt,urlAfterRedirects:Yt}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,Be.config,this.urlSerializer,this.paramsInheritanceStrategy),(0,l.M)(In=>{mt.targetSnapshot=In.targetSnapshot,mt.urlAfterRedirects=In.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:In.urlAfterRedirects};const Qs=new Zr(In.id,this.urlSerializer.serialize(In.extractedUrl),this.urlSerializer.serialize(In.urlAfterRedirects),In.targetSnapshot);this.events.next(Qs)}));if(Ii&&this.urlHandlingStrategy.shouldProcessUrl(Yt.currentRawUrl)){const{id:In,extractedUrl:Qs,source:Gl,restoredState:Hl,extras:Wa}=Yt,Fc=new ss(In,this.urlSerializer.serialize(Qs),Gl,Hl);this.events.next(Fc);const $a=pa(this.rootComponentType).snapshot;return this.currentTransition=mt={...Yt,targetSnapshot:$a,urlAfterRedirects:Qs,extras:{...Wa,skipLocationChange:!1,replaceUrl:!1}},this.currentNavigation.finalUrl=Qs,(0,Pe.of)(mt)}{const In="";return this.events.next(new er(Yt.id,this.urlSerializer.serialize(Yt.extractedUrl),In,cn.IgnoredByUrlHandlingStrategy)),Yt.resolve(null),te.w}}),(0,l.M)(Yt=>{const Ii=new sr(Yt.id,this.urlSerializer.serialize(Yt.extractedUrl),this.urlSerializer.serialize(Yt.urlAfterRedirects),Yt.targetSnapshot);this.events.next(Ii)}),(0,_.T)(Yt=>(this.currentTransition=mt={...Yt,guards:ul(Yt.targetSnapshot,Yt.currentSnapshot,this.rootContexts)},mt)),function Ir(Re,Ue){return(0,f.Z)(Be=>{const{targetSnapshot:We,currentSnapshot:rt,guards:{canActivateChecks:mt,canDeactivateChecks:Ot}}=Be;return 0===Ot.length&&0===mt.length?(0,Pe.of)({...Be,guardsResult:!0}):function Vn(Re,Ue,Be,We){return(0,V.H)(Re).pipe((0,f.Z)(rt=>function Kh(Re,Ue,Be,We,rt){const mt=Ue&&Ue.routeConfig?Ue.routeConfig.canDeactivate:null;if(!mt||0===mt.length)return(0,Pe.of)(!0);const Ot=mt.map(Jt=>{const Yt=Ks(Ue)??rt,Ii=Qi(Jt,Yt);return Ce(function to(Re){return Re&&Ye(Re.canDeactivate)}(Ii)?Ii.canDeactivate(Re,Ue,Be,We):(0,M.N4e)(Yt,()=>Ii(Re,Ue,Be,We))).pipe(n())});return(0,Pe.of)(Ot).pipe(or())}(rt.component,rt.route,Be,Ue,We)),n(rt=>!0!==rt,!0))}(Ot,We,rt,Re).pipe((0,f.Z)(Jt=>Jt&&function vt(Re){return"boolean"==typeof Re}(Jt)?function pr(Re,Ue,Be,We){return(0,V.H)(Ue).pipe((0,r.H)(rt=>(0,le.x)(function oc(Re,Ue){return null!==Re&&Ue&&Ue(new ur(Re)),(0,Pe.of)(!0)}(rt.route.parent,We),function ea(Re,Ue){return null!==Re&&Ue&&Ue(new Pa(Re)),(0,Pe.of)(!0)}(rt.route,We),function Yh(Re,Ue,Be){const We=Ue[Ue.length-1],mt=Ue.slice(0,Ue.length-1).reverse().map(Ot=>function Ro(Re){const Ue=Re.routeConfig?Re.routeConfig.canActivateChild:null;return Ue&&0!==Ue.length?{node:Re,guards:Ue}:null}(Ot)).filter(Ot=>null!==Ot).map(Ot=>(0,fe.v)(()=>{const Jt=Ot.guards.map(Yt=>{const Ii=Ks(Ot.node)??Be,vn=Qi(Yt,Ii);return Ce(function bn(Re){return Re&&Ye(Re.canActivateChild)}(vn)?vn.canActivateChild(We,Re):(0,M.N4e)(Ii,()=>vn(We,Re))).pipe(n())});return(0,Pe.of)(Jt).pipe(or())}));return(0,Pe.of)(mt).pipe(or())}(Re,rt.path,Be),function Rl(Re,Ue,Be){const We=Ue.routeConfig?Ue.routeConfig.canActivate:null;if(!We||0===We.length)return(0,Pe.of)(!0);const rt=We.map(mt=>(0,fe.v)(()=>{const Ot=Ks(Ue)??Be,Jt=Qi(mt,Ot);return Ce(function Vi(Re){return Re&&Ye(Re.canActivate)}(Jt)?Jt.canActivate(Ue,Re):(0,M.N4e)(Ot,()=>Jt(Ue,Re))).pipe(n())}));return(0,Pe.of)(rt).pipe(or())}(Re,rt.route,Be))),n(rt=>!0!==rt,!0))}(We,mt,Re,Ue):(0,Pe.of)(Jt)),(0,_.T)(Jt=>({...Be,guardsResult:Jt})))})}(this.environmentInjector,Yt=>this.events.next(Yt)),(0,l.M)(Yt=>{if(mt.guardsResult=Yt.guardsResult,On(Yt.guardsResult))throw dl(0,Yt.guardsResult);const Ii=new Ls(Yt.id,this.urlSerializer.serialize(Yt.extractedUrl),this.urlSerializer.serialize(Yt.urlAfterRedirects),Yt.targetSnapshot,!!Yt.guardsResult);this.events.next(Ii)}),(0,O.p)(Yt=>!!Yt.guardsResult||(this.cancelNavigationTransition(Yt,"",Xi.GuardRejected),!1)),jl(Yt=>{if(Yt.guards.canActivateChecks.length)return(0,Pe.of)(Yt).pipe((0,l.M)(Ii=>{const vn=new jr(Ii.id,this.urlSerializer.serialize(Ii.extractedUrl),this.urlSerializer.serialize(Ii.urlAfterRedirects),Ii.targetSnapshot);this.events.next(vn)}),(0,b.n)(Ii=>{let vn=!1;return(0,Pe.of)(Ii).pipe(function bl(Re,Ue){return(0,f.Z)(Be=>{const{targetSnapshot:We,guards:{canActivateChecks:rt}}=Be;if(!rt.length)return(0,Pe.of)(Be);const mt=new Set(rt.map(Yt=>Yt.route)),Ot=new Set;for(const Yt of mt)if(!Ot.has(Yt))for(const Ii of _o(Yt))Ot.add(Ii);let Jt=0;return(0,V.H)(Ot).pipe((0,r.H)(Yt=>mt.has(Yt)?function Co(Re,Ue,Be,We){const rt=Re.routeConfig,mt=Re._resolve;return void 0!==rt?.title&&!Vr(rt)&&(mt[X]=rt.title),function Ca(Re,Ue,Be,We){const rt=q(Re);if(0===rt.length)return(0,Pe.of)({});const mt={};return(0,V.H)(rt).pipe((0,f.Z)(Ot=>function wa(Re,Ue,Be,We){const rt=Ks(Ue)??We,mt=Qi(Re,rt);return Ce(mt.resolve?mt.resolve(Ue,Be):(0,M.N4e)(rt,()=>mt(Ue,Be)))}(Re[Ot],Ue,Be,We).pipe(n(),(0,l.M)(Jt=>{mt[Ot]=Jt}))),p(1),(0,j.u)(mt),(0,d.W)(Ot=>Zs(Ot)?te.w:(0,J.$)(Ot)))}(mt,Re,Ue,We).pipe((0,_.T)(Ot=>(Re._resolvedData=Ot,Re.data=xr(Re,Re.parent,Be).resolve,null)))}(Yt,We,Re,Ue):(Yt.data=xr(Yt,Yt.parent,Re).resolve,(0,Pe.of)(void 0))),(0,l.M)(()=>Jt++),p(1),(0,f.Z)(Yt=>Jt===Ot.size?(0,Pe.of)(Be):te.w))})}(this.paramsInheritanceStrategy,this.environmentInjector),(0,l.M)({next:()=>vn=!0,complete:()=>{vn||this.cancelNavigationTransition(Ii,"",Xi.NoDataFromResolver)}}))}),(0,l.M)(Ii=>{const vn=new Ki(Ii.id,this.urlSerializer.serialize(Ii.extractedUrl),this.urlSerializer.serialize(Ii.urlAfterRedirects),Ii.targetSnapshot);this.events.next(vn)}))}),jl(Yt=>{const Ii=vn=>{const In=[];vn.routeConfig?.loadComponent&&!vn.routeConfig._loadedComponent&&In.push(this.configLoader.loadComponent(vn.routeConfig).pipe((0,l.M)(Qs=>{vn.component=Qs}),(0,_.T)(()=>{})));for(const Qs of vn.children)In.push(...Ii(Qs));return In};return(0,ie.z)(Ii(Yt.targetSnapshot.root)).pipe((0,a.U)(null),(0,T.s)(1))}),jl(()=>this.afterPreactivation()),(0,b.n)(()=>{const{currentSnapshot:Yt,targetSnapshot:Ii}=mt,vn=this.createViewTransition?.(this.environmentInjector,Yt.root,Ii.root);return vn?(0,V.H)(vn).pipe((0,_.T)(()=>mt)):(0,Pe.of)(mt)}),(0,_.T)(Yt=>{const Ii=function cl(Re,Ue,Be){const We=Oo(Re,Ue._root,Be?Be._root:void 0);return new ll(We,Ue)}(Be.routeReuseStrategy,Yt.targetSnapshot,Yt.currentRouterState);return this.currentTransition=mt={...Yt,targetRouterState:Ii},this.currentNavigation.targetRouterState=Ii,mt}),(0,l.M)(()=>{this.events.next(new mn)}),((Re,Ue,Be,We)=>(0,_.T)(rt=>(new xa(Ue,rt.targetRouterState,rt.currentRouterState,Be,We).activate(Re),rt)))(this.rootContexts,Be.routeReuseStrategy,Yt=>this.events.next(Yt),this.inputBindingEnabled),(0,T.s)(1),(0,l.M)({next:Yt=>{Ot=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new un(Yt.id,this.urlSerializer.serialize(Yt.extractedUrl),this.urlSerializer.serialize(Yt.urlAfterRedirects))),this.titleStrategy?.updateTitle(Yt.targetRouterState.snapshot),Yt.resolve(!0)},complete:()=>{Ot=!0}}),(0,Y.Q)(this.transitionAbortSubject.pipe((0,l.M)(Yt=>{throw Yt}))),(0,H.j)(()=>{!Ot&&!Jt&&this.cancelNavigationTransition(mt,"",Xi.SupersededByNewNavigation),this.currentTransition?.id===mt.id&&(this.currentNavigation=null,this.currentTransition=null)}),(0,d.W)(Yt=>{if(Jt=!0,cs(Yt))this.events.next(new rs(mt.id,this.urlSerializer.serialize(mt.extractedUrl),Yt.message,Yt.cancellationCode)),function rr(Re){return cs(Re)&&On(Re.url)}(Yt)?this.events.next(new Zo(Yt.url)):mt.resolve(!1);else{this.events.next(new is(mt.id,this.urlSerializer.serialize(mt.extractedUrl),Yt,mt.targetSnapshot??void 0));try{mt.resolve(Be.errorHandler(Yt))}catch(Ii){this.options.resolveNavigationPromiseOnError?mt.resolve(!1):mt.reject(Ii)}}return te.w}))}))}cancelNavigationTransition(Be,We,rt){const mt=new rs(Be.id,this.urlSerializer.serialize(Be.extractedUrl),We,rt);this.events.next(mt),Be.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){return this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))).toString()!==this.currentTransition?.extractedUrl.toString()&&!this.currentTransition?.extras.skipLocationChange}static#e=this.\u0275fac=function(We){return new(We||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();function ci(Re){return Re!==Ti}let Pi=(()=>{class Re{static#e=this.\u0275fac=function(We){return new(We||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:()=>(0,M.WQX)(Qn),providedIn:"root"})}return Re})();class Xn{shouldDetach(Ue){return!1}store(Ue,Be){}shouldAttach(Ue){return!1}retrieve(Ue){return null}shouldReuseRoute(Ue,Be){return Ue.routeConfig===Be.routeConfig}}let Qn=(()=>{class Re extends Xn{static#e=this.\u0275fac=(()=>{let Be;return function(rt){return(Be||(Be=M.xGo(Re)))(rt||Re)}})();static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})(),os=(()=>{class Re{static#e=this.\u0275fac=function(We){return new(We||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:()=>(0,M.WQX)(Sn),providedIn:"root"})}return Re})(),Sn=(()=>{class Re extends os{constructor(){super(...arguments),this.location=(0,M.WQX)(E.aZ),this.urlSerializer=(0,M.WQX)(Qe),this.options=(0,M.WQX)(_r,{optional:!0})||{},this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.urlHandlingStrategy=(0,M.WQX)(sa),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.currentUrlTree=new _e,this.rawUrlTree=this.currentUrlTree,this.currentPageId=0,this.lastSuccessfulId=-1,this.routerState=pa(null),this.stateMemento=this.createStateMemento()}getCurrentUrlTree(){return this.currentUrlTree}getRawUrlTree(){return this.rawUrlTree}restoredState(){return this.location.getState()}get browserPageId(){return"computed"!==this.canceledNavigationResolution?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}getRouterState(){return this.routerState}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}registerNonRouterCurrentEntryChangeListener(Be){return this.location.subscribe(We=>{"popstate"===We.type&&Be(We.url,We.state)})}handleRouterEvent(Be,We){if(Be instanceof ss)this.stateMemento=this.createStateMemento();else if(Be instanceof er)this.rawUrlTree=We.initialUrl;else if(Be instanceof Zr){if("eager"===this.urlUpdateStrategy&&!We.extras.skipLocationChange){const rt=this.urlHandlingStrategy.merge(We.finalUrl,We.initialUrl);this.setBrowserUrl(rt,We)}}else Be instanceof mn?(this.currentUrlTree=We.finalUrl,this.rawUrlTree=this.urlHandlingStrategy.merge(We.finalUrl,We.initialUrl),this.routerState=We.targetRouterState,"deferred"===this.urlUpdateStrategy&&(We.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,We))):Be instanceof rs&&(Be.code===Xi.GuardRejected||Be.code===Xi.NoDataFromResolver)?this.restoreHistory(We):Be instanceof is?this.restoreHistory(We,!0):Be instanceof un&&(this.lastSuccessfulId=Be.id,this.currentPageId=this.browserPageId)}setBrowserUrl(Be,We){const rt=this.urlSerializer.serialize(Be);if(this.location.isCurrentPathEqualTo(rt)||We.extras.replaceUrl){const Ot={...We.extras.state,...this.generateNgRouterState(We.id,this.browserPageId)};this.location.replaceState(rt,"",Ot)}else{const mt={...We.extras.state,...this.generateNgRouterState(We.id,this.browserPageId+1)};this.location.go(rt,"",mt)}}restoreHistory(Be,We=!1){if("computed"===this.canceledNavigationResolution){const mt=this.currentPageId-this.browserPageId;0!==mt?this.location.historyGo(mt):this.currentUrlTree===Be.finalUrl&&0===mt&&(this.resetState(Be),this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(We&&this.resetState(Be),this.resetUrlToCurrentUrlTree())}resetState(Be){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,Be.finalUrl??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(Be,We){return"computed"===this.canceledNavigationResolution?{navigationId:Be,\u0275routerPageId:We}:{navigationId:Be}}static#e=this.\u0275fac=(()=>{let Be;return function(rt){return(Be||(Be=M.xGo(Re)))(rt||Re)}})();static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();var us=function(Re){return Re[Re.COMPLETE=0]="COMPLETE",Re[Re.FAILED=1]="FAILED",Re[Re.REDIRECTING=2]="REDIRECTING",Re}(us||{});function ns(Re,Ue){Re.events.pipe((0,O.p)(Be=>Be instanceof un||Be instanceof rs||Be instanceof is||Be instanceof er),(0,_.T)(Be=>Be instanceof un||Be instanceof er?us.COMPLETE:Be instanceof rs&&(Be.code===Xi.Redirect||Be.code===Xi.SupersededByNewNavigation)?us.REDIRECTING:us.FAILED),(0,O.p)(Be=>Be!==us.REDIRECTING),(0,T.s)(1)).subscribe(()=>{Ue()})}function js(Re){throw Re}const Pr={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},Hn={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let ui=(()=>{class Re{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}constructor(){this.disposed=!1,this.isNgZoneEnabled=!1,this.console=(0,M.WQX)(M.H3F),this.stateManager=(0,M.WQX)(os),this.options=(0,M.WQX)(_r,{optional:!0})||{},this.pendingTasks=(0,M.WQX)(M.TgB),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.navigationTransitions=(0,M.WQX)(qt),this.urlSerializer=(0,M.WQX)(Qe),this.location=(0,M.WQX)(E.aZ),this.urlHandlingStrategy=(0,M.WQX)(sa),this._events=new I.B,this.errorHandler=this.options.errorHandler||js,this.navigated=!1,this.routeReuseStrategy=(0,M.WQX)(Pi),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.config=(0,M.WQX)(Ga,{optional:!0})?.flat()??[],this.componentInputBindingEnabled=!!(0,M.WQX)(vo,{optional:!0}),this.eventsSubscription=new A.yU,this.isNgZoneEnabled=(0,M.WQX)(M.SKi)instanceof M.SKi&&M.SKi.isInAngularZone(),this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe({error:Be=>{this.console.warn(Be)}}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){const Be=this.navigationTransitions.events.subscribe(We=>{try{const rt=this.navigationTransitions.currentTransition,mt=this.navigationTransitions.currentNavigation;if(null!==rt&&null!==mt)if(this.stateManager.handleRouterEvent(We,mt),We instanceof rs&&We.code!==Xi.Redirect&&We.code!==Xi.SupersededByNewNavigation)this.navigated=!0;else if(We instanceof un)this.navigated=!0;else if(We instanceof Zo){const Ot=this.urlHandlingStrategy.merge(We.url,rt.currentRawUrl),Jt={info:rt.extras.info,skipLocationChange:rt.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||ci(rt.source)};this.scheduleNavigation(Ot,Ti,null,Jt,{resolve:rt.resolve,reject:rt.reject,promise:rt.promise})}(function Yn(Re){return!(Re instanceof mn||Re instanceof Zo)})(We)&&this._events.next(We)}catch(rt){this.navigationTransitions.transitionAbortSubject.next(rt)}});this.eventsSubscription.add(Be)}resetRootComponentType(Be){this.routerState.root.component=Be,this.navigationTransitions.rootComponentType=Be}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),Ti,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((Be,We)=>{setTimeout(()=>{this.navigateToSyncWithBrowser(Be,"popstate",We)},0)})}navigateToSyncWithBrowser(Be,We,rt){const mt={replaceUrl:!0},Ot=rt?.navigationId?rt:null;if(rt){const Yt={...rt};delete Yt.navigationId,delete Yt.\u0275routerPageId,0!==Object.keys(Yt).length&&(mt.state=Yt)}const Jt=this.parseUrl(Be);this.scheduleNavigation(Jt,We,Ot,mt)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(Be){this.config=Be.map(Gr),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(Be,We={}){const{relativeTo:rt,queryParams:mt,fragment:Ot,queryParamsHandling:Jt,preserveFragment:Yt}=We,Ii=Yt?this.currentUrlTree.fragment:Ot;let In,vn=null;switch(Jt){case"merge":vn={...this.currentUrlTree.queryParams,...mt};break;case"preserve":vn=this.currentUrlTree.queryParams;break;default:vn=mt||null}null!==vn&&(vn=this.removeEmptyProps(vn));try{In=As(rt?rt.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof Be[0]||!Be[0].startsWith("/"))&&(Be=[]),In=this.currentUrlTree.root}return $n(In,Be,vn,Ii??null)}navigateByUrl(Be,We={skipLocationChange:!1}){const rt=On(Be)?Be:this.parseUrl(Be),mt=this.urlHandlingStrategy.merge(rt,this.rawUrlTree);return this.scheduleNavigation(mt,Ti,null,We)}navigate(Be,We={skipLocationChange:!1}){return function zi(Re){for(let Ue=0;Ue(null!=mt&&(We[rt]=mt),We),{})}scheduleNavigation(Be,We,rt,mt,Ot){if(this.disposed)return Promise.resolve(!1);let Jt,Yt,Ii;Ot?(Jt=Ot.resolve,Yt=Ot.reject,Ii=Ot.promise):Ii=new Promise((In,Qs)=>{Jt=In,Yt=Qs});const vn=this.pendingTasks.add();return ns(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(vn))}),this.navigationTransitions.handleNavigationRequest({source:We,restoredState:rt,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:Be,extras:mt,resolve:Jt,reject:Yt,promise:Ii,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),Ii.catch(In=>Promise.reject(In))}static#e=this.\u0275fac=function(We){return new(We||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})(),gs=(()=>{class Re{constructor(Be,We,rt,mt,Ot,Jt){this.router=Be,this.route=We,this.tabIndexAttribute=rt,this.renderer=mt,this.el=Ot,this.locationStrategy=Jt,this.href=null,this.commands=null,this.onChanges=new I.B,this.preserveFragment=!1,this.skipLocationChange=!1,this.replaceUrl=!1;const Yt=Ot.nativeElement.tagName?.toLowerCase();this.isAnchorElement="a"===Yt||"area"===Yt,this.isAnchorElement?this.subscription=Be.events.subscribe(Ii=>{Ii instanceof un&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}setTabIndexIfNotOnNativeEl(Be){null!=this.tabIndexAttribute||this.isAnchorElement||this.applyAttributeValue("tabindex",Be)}ngOnChanges(Be){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(Be){null!=Be?(this.commands=Array.isArray(Be)?Be:[Be],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(Be,We,rt,mt,Ot){const Jt=this.urlTree;return!!(null===Jt||this.isAnchorElement&&(0!==Be||We||rt||mt||Ot||"string"==typeof this.target&&"_self"!=this.target))||(this.router.navigateByUrl(Jt,{skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info}),!this.isAnchorElement)}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){const Be=this.urlTree;this.href=null!==Be&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(Be)):null;const We=null===this.href?null:(0,M.n$t)(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",We)}applyAttributeValue(Be,We){const rt=this.renderer,mt=this.el.nativeElement;null!==We?rt.setAttribute(mt,Be,We):rt.removeAttribute(mt,Be)}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static#e=this.\u0275fac=function(We){return new(We||Re)(M.rXU(ui),M.rXU(bo),M.kS0("tabindex"),M.rXU(M.sFG),M.rXU(M.aKT),M.rXU(E.hb))};static#t=this.\u0275dir=M.FsC({type:Re,selectors:[["","routerLink",""]],hostVars:1,hostBindings:function(We,rt){1&We&&M.bIt("click",function(Ot){return rt.onClick(Ot.button,Ot.ctrlKey,Ot.shiftKey,Ot.altKey,Ot.metaKey)}),2&We&&M.BMQ("target",rt.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[M.Mj6.HasDecoratorInputTransform,"preserveFragment","preserveFragment",M.L39],skipLocationChange:[M.Mj6.HasDecoratorInputTransform,"skipLocationChange","skipLocationChange",M.L39],replaceUrl:[M.Mj6.HasDecoratorInputTransform,"replaceUrl","replaceUrl",M.L39],routerLink:"routerLink"},standalone:!0,features:[M.GFd,M.OA$]})}return Re})(),ks=(()=>{class Re{get isActive(){return this._isActive}constructor(Be,We,rt,mt,Ot){this.router=Be,this.element=We,this.renderer=rt,this.cdr=mt,this.link=Ot,this.classes=[],this._isActive=!1,this.routerLinkActiveOptions={exact:!1},this.isActiveChange=new M.bkB,this.routerEventsSubscription=Be.events.subscribe(Jt=>{Jt instanceof un&&this.update()})}ngAfterContentInit(){(0,Pe.of)(this.links.changes,(0,Pe.of)(null)).pipe((0,U.U)()).subscribe(Be=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();const Be=[...this.links.toArray(),this.link].filter(We=>!!We).map(We=>We.onChanges);this.linkInputChangesSubscription=(0,V.H)(Be).pipe((0,U.U)()).subscribe(We=>{this._isActive!==this.isLinkActive(this.router)(We)&&this.update()})}set routerLinkActive(Be){const We=Array.isArray(Be)?Be:Be.split(" ");this.classes=We.filter(rt=>!!rt)}ngOnChanges(Be){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{const Be=this.hasActiveLinks();this._isActive!==Be&&(this._isActive=Be,this.cdr.markForCheck(),this.classes.forEach(We=>{Be?this.renderer.addClass(this.element.nativeElement,We):this.renderer.removeClass(this.element.nativeElement,We)}),Be&&void 0!==this.ariaCurrentWhenActive?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this.isActiveChange.emit(Be))})}isLinkActive(Be){const We=function ar(Re){return!!Re.paths}(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return rt=>{const mt=rt.urlTree;return!!mt&&Be.isActive(mt,We)}}hasActiveLinks(){const Be=this.isLinkActive(this.router);return this.link&&Be(this.link)||this.links.some(Be)}static#e=this.\u0275fac=function(We){return new(We||Re)(M.rXU(ui),M.rXU(M.aKT),M.rXU(M.sFG),M.rXU(M.gRc),M.rXU(gs,8))};static#t=this.\u0275dir=M.FsC({type:Re,selectors:[["","routerLinkActive",""]],contentQueries:function(We,rt,mt){if(1&We&&M.wni(mt,gs,5),2&We){let Ot;M.mGM(Ot=M.lsd())&&(rt.links=Ot)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],standalone:!0,features:[M.OA$]})}return Re})();class Ta{}let ms=(()=>{class Re{preload(Be,We){return We().pipe((0,d.W)(()=>(0,Pe.of)(null)))}static#e=this.\u0275fac=function(We){return new(We||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})(),wo=(()=>{class Re{constructor(Be,We,rt,mt,Ot){this.router=Be,this.injector=rt,this.preloadingStrategy=mt,this.loader=Ot}setUpPreloading(){this.subscription=this.router.events.pipe((0,O.p)(Be=>Be instanceof un),(0,r.H)(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(Be,We){const rt=[];for(const mt of We){mt.providers&&!mt._injector&&(mt._injector=(0,M.Ol2)(mt.providers,Be,`Route: ${mt.path}`));const Ot=mt._injector??Be,Jt=mt._loadedInjector??Ot;(mt.loadChildren&&!mt._loadedRoutes&&void 0===mt.canLoad||mt.loadComponent&&!mt._loadedComponent)&&rt.push(this.preloadConfig(Ot,mt)),(mt.children||mt._loadedRoutes)&&rt.push(this.processRoutes(Jt,mt.children??mt._loadedRoutes))}return(0,V.H)(rt).pipe((0,U.U)())}preloadConfig(Be,We){return this.preloadingStrategy.preload(We,()=>{let rt;rt=We.loadChildren&&void 0===We.canLoad?this.loader.loadChildren(Be,We):(0,Pe.of)(null);const mt=rt.pipe((0,f.Z)(Ot=>null===Ot?(0,Pe.of)(void 0):(We._loadedRoutes=Ot.routes,We._loadedInjector=Ot.injector,this.processRoutes(Ot.injector??Be,Ot.routes))));if(We.loadComponent&&!We._loadedComponent){const Ot=this.loader.loadComponent(We);return(0,V.H)([mt,Ot]).pipe((0,U.U)())}return mt})}static#e=this.\u0275fac=function(We){return new(We||Re)(M.KVO(ui),M.KVO(M.Ql9),M.KVO(M.uvJ),M.KVO(Ta),M.KVO(ia))};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();const en=new M.nKC("");let Bo=(()=>{class Re{constructor(Be,We,rt,mt,Ot={}){this.urlSerializer=Be,this.transitions=We,this.viewportScroller=rt,this.zone=mt,this.options=Ot,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},Ot.scrollPositionRestoration||="disabled",Ot.anchorScrolling||="disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(Be=>{Be instanceof ss?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=Be.navigationTrigger,this.restoredId=Be.restoredState?Be.restoredState.navigationId:0):Be instanceof un?(this.lastId=Be.id,this.scheduleScrollEvent(Be,this.urlSerializer.parse(Be.urlAfterRedirects).fragment)):Be instanceof er&&Be.code===cn.IgnoredSameUrlNavigation&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(Be,this.urlSerializer.parse(Be.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(Be=>{Be instanceof qr&&(Be.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(Be.position):Be.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(Be.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(Be,We){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new qr(Be,"popstate"===this.lastSource?this.store[this.restoredId]:null,We))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static#e=this.\u0275fac=function(We){M.QTQ()};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac})}return Re})();function Kn(Re,Ue){return{\u0275kind:Re,\u0275providers:Ue}}function ka(){const Re=(0,M.WQX)(M.zZn);return Ue=>{const Be=Re.get(M.o8S);if(Ue!==Be.components[0])return;const We=Re.get(ui),rt=Re.get(jo);1===Re.get(yl)&&We.initialNavigation(),Re.get(xl,null,M.$GK.Optional)?.setUpPreloading(),Re.get(en,null,M.$GK.Optional)?.init(),We.resetRootComponentType(Be.componentTypes[0]),rt.closed||(rt.next(),rt.complete(),rt.unsubscribe())}}const jo=new M.nKC("",{factory:()=>new I.B}),yl=new M.nKC("",{providedIn:"root",factory:()=>1}),xl=new M.nKC("");function Vo(Re){return Kn(0,[{provide:xl,useExisting:wo},{provide:Ta,useExisting:Re}])}function gr(Re){return Kn(9,[{provide:ut,useValue:at},{provide:Ke,useValue:{skipNextTransition:!!Re?.skipInitialTransition,...Re}}])}const zl=new M.nKC("ROUTER_FORROOT_GUARD"),ra=[E.aZ,{provide:Qe,useClass:st},ui,Qr,{provide:bo,useFactory:function bs(Re){return Re.routerState.root},deps:[ui]},ia,[]];let Cl=(()=>{class Re{constructor(Be){}static forRoot(Be,We){return{ngModule:Re,providers:[ra,[],{provide:Ga,multi:!0,useValue:Be},{provide:zl,useFactory:qh,deps:[[ui,new M.Xx1,new M.kdw]]},{provide:_r,useValue:We||{}},We?.useHash?{provide:E.hb,useClass:E.fw}:{provide:E.hb,useClass:E.Sm},{provide:en,useFactory:()=>{const Re=(0,M.WQX)(E.Xr),Ue=(0,M.WQX)(M.SKi),Be=(0,M.WQX)(_r),We=(0,M.WQX)(qt),rt=(0,M.WQX)(Qe);return Be.scrollOffset&&Re.setOffset(Be.scrollOffset),new Bo(rt,We,Re,Ue,Be)}},We?.preloadingStrategy?Vo(We.preloadingStrategy).\u0275providers:[],We?.initialNavigation?Zn(We):[],We?.bindToComponentInputs?Kn(8,[ba,{provide:vo,useExisting:ba}]).\u0275providers:[],We?.enableViewTransitions?gr().\u0275providers:[],[{provide:wl,useFactory:ka},{provide:M.iLQ,multi:!0,useExisting:wl}]]}}static forChild(Be){return{ngModule:Re,providers:[{provide:Ga,multi:!0,useValue:Be}]}}static#e=this.\u0275fac=function(We){return new(We||Re)(M.KVO(zl,8))};static#t=this.\u0275mod=M.$C({type:Re});static#i=this.\u0275inj=M.G2t({})}return Re})();function qh(Re){return"guarded"}function Zn(Re){return["disabled"===Re.initialNavigation?Kn(3,[{provide:M.hnV,multi:!0,useFactory:()=>{const Ue=(0,M.WQX)(ui);return()=>{Ue.setUpLocationChangeListener()}}},{provide:yl,useValue:2}]).\u0275providers:[],"enabledBlocking"===Re.initialNavigation?Kn(2,[{provide:yl,useValue:0},{provide:M.hnV,multi:!0,deps:[M.zZn],useFactory:Ue=>{const Be=Ue.get(E.hj,Promise.resolve());return()=>Be.then(()=>new Promise(We=>{const rt=Ue.get(ui),mt=Ue.get(jo);ns(rt,()=>{We(!0)}),Ue.get(qt).afterPreactivation=()=>(We(!0),mt.closed?(0,Pe.of)(void 0):mt),rt.initialNavigation()}))}}]).\u0275providers:[]]}const wl=new M.nKC("")},88652:(ri,Ft,He)=>{"use strict";He.d(Ft,{$G:()=>ut,tg:()=>Ul,U0:()=>Go,do:()=>Wc,Bq:()=>Lr,UN:()=>hu,ZM:()=>Jd});var M=He(54438),V=(He(89079),He(71985)),Pe=He(983),Z=He(7673),ie=He(21413),re=He(33726),ve=He(41584),le=He(58750);const{isArray:fe}=Array;function pe(be){return 1===be.length&&fe(be[0])?be[0]:be}var J=He(54360);function te(...be){return 1===(be=pe(be)).length?(0,le.Tg)(be[0]):new V.c(function $(be){return je=>{let ae=[];for(let we=0;ae&&!je.closed&&we{if(ae){for(let it=0;it{let Ne=ae.map(()=>[]),it=ae.map(()=>!1);we.add(()=>{Ne=it=null});for(let ft=0;!we.closed&&ft{if(Ne[ft].push(Vt),Ne.every(Ut=>Ut.length)){const Ut=Ne.map(ei=>ei.shift());we.next(je?je(...Ut):Ut),Ne.some((ei,ii)=>!ei.length&&it[ii])&&we.complete()}},()=>{it[ft]=!0,!Ne[ft].length&&we.complete()}));return()=>{Ne=it=null}}):Pe.w}var L=He(28793),I=He(56977),E=He(5964),_=He(96697),b=He(88141),T=He(96354),z=He(39974),O=He(33669),f=He(85343);function a(...be){const je=(0,B.ms)(be);return(0,z.N)((ae,we)=>{const Ne=be.length,it=new Array(Ne);let ft=be.map(()=>!1),Vt=!1;for(let Ut=0;Ut{it[Ut]=ei,!Vt&&!ft[Ut]&&(ft[Ut]=!0,(Vt=ft.every(O.D))&&(ft=null))},f.l));ae.subscribe((0,J._)(we,Ut=>{if(Vt){const ei=[Ut,...it];we.next(je?je(...ei):ei)}}))})}var g=He(91986),y=He(73028),o=He(25558);He(99172),He(23294);var d=He(60177),k=(He(89417),{left:"right",right:"left",bottom:"top",top:"bottom"});function p(be){return be.replace(/left|right|bottom|top/g,function(je){return k[je]})}function S(be){return be.split("-")[0]}var j={start:"end",end:"start"};function H(be){return be.replace(/start|end/g,function(je){return j[je]})}var Y="top",U="bottom",se="right",w="left",X="auto",G=[Y,U,se,w],x="start",N="end",K="viewport",q="popper",me=G.reduce(function(be,je){return be.concat([je+"-"+x,je+"-"+N])},[]),Ce=[].concat(G,[X]).reduce(function(be,je){return be.concat([je,je+"-"+x,je+"-"+N])},[]),_e=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Me(be){if(null==be)return window;if("[object Window]"!==be.toString()){var je=be.ownerDocument;return je&&je.defaultView||window}return be}function Ee(be){return be instanceof Me(be).Element||be instanceof Element}function Xe(be){return be instanceof Me(be).HTMLElement||be instanceof HTMLElement}function Ze(be){return!(typeof ShadowRoot>"u")&&(be instanceof Me(be).ShadowRoot||be instanceof ShadowRoot)}function lt(be){return((Ee(be)?be.ownerDocument:be.document)||window.document).documentElement}var Qe=Math.max,st=Math.min,kt=Math.round;function pt(){var be=navigator.userAgentData;return null!=be&&be.brands&&Array.isArray(be.brands)?be.brands.map(function(je){return je.brand+"/"+je.version}).join(" "):navigator.userAgent}function ht(){return!/^((?!chrome|android).)*safari/i.test(pt())}function Lt(be,je,ae){void 0===je&&(je=!1),void 0===ae&&(ae=!1);var we=be.getBoundingClientRect(),Ne=1,it=1;je&&Xe(be)&&(Ne=be.offsetWidth>0&&kt(we.width)/be.offsetWidth||1,it=be.offsetHeight>0&&kt(we.height)/be.offsetHeight||1);var Vt=(Ee(be)?Me(be):window).visualViewport,Ut=!ht()&&ae,ei=(we.left+(Ut&&Vt?Vt.offsetLeft:0))/Ne,ii=(we.top+(Ut&&Vt?Vt.offsetTop:0))/it,wi=we.width/Ne,_i=we.height/it;return{width:wi,height:_i,top:ii,right:ei+wi,bottom:ii+_i,left:ei,x:ei,y:ii}}function Gt(be){var je=Me(be);return{scrollLeft:je.pageXOffset,scrollTop:je.pageYOffset}}function ti(be){return Lt(lt(be)).left+Gt(be).scrollLeft}function At(be){return Me(be).getComputedStyle(be)}function wt(be){return be?(be.nodeName||"").toLowerCase():null}function Qt(be){return"html"===wt(be)?be:be.assignedSlot||be.parentNode||(Ze(be)?be.host:null)||lt(be)}function di(be){var je=At(be);return/auto|scroll|overlay|hidden/.test(je.overflow+je.overflowY+je.overflowX)}function Fi(be){return["html","body","#document"].indexOf(wt(be))>=0?be.ownerDocument.body:Xe(be)&&di(be)?be:Fi(Qt(be))}function mi(be,je){var ae;void 0===je&&(je=[]);var we=Fi(be),Ne=we===(null==(ae=be.ownerDocument)?void 0:ae.body),it=Me(we),ft=Ne?[it].concat(it.visualViewport||[],di(we)?we:[]):we,Vt=je.concat(ft);return Ne?Vt:Vt.concat(mi(Qt(ft)))}function vi(be){return["table","td","th"].indexOf(wt(be))>=0}function Gi(be){return Xe(be)&&"fixed"!==At(be).position?be.offsetParent:null}function jn(be){for(var je=Me(be),ae=Gi(be);ae&&vi(ae)&&"static"===At(ae).position;)ae=Gi(ae);return ae&&("html"===wt(ae)||"body"===wt(ae)&&"static"===At(ae).position)?je:ae||function xs(be){var je=/firefox/i.test(pt());if(/Trident/i.test(pt())&&Xe(be)&&"fixed"===At(be).position)return null;var Ne=Qt(be);for(Ze(Ne)&&(Ne=Ne.host);Xe(Ne)&&["html","body"].indexOf(wt(Ne))<0;){var it=At(Ne);if("none"!==it.transform||"none"!==it.perspective||"paint"===it.contain||-1!==["transform","perspective"].indexOf(it.willChange)||je&&"filter"===it.willChange||je&&it.filter&&"none"!==it.filter)return Ne;Ne=Ne.parentNode}return null}(be)||je}function ls(be,je){var ae=je.getRootNode&&je.getRootNode();if(be.contains(je))return!0;if(ae&&Ze(ae)){var we=je;do{if(we&&be.isSameNode(we))return!0;we=we.parentNode||we.host}while(we)}return!1}function fs(be){return Object.assign({},be,{left:be.x,top:be.y,right:be.x+be.width,bottom:be.y+be.height})}function dn(be,je,ae){return je===K?fs(function Dt(be,je){var ae=Me(be),we=lt(be),Ne=ae.visualViewport,it=we.clientWidth,ft=we.clientHeight,Vt=0,Ut=0;if(Ne){it=Ne.width,ft=Ne.height;var ei=ht();(ei||!ei&&"fixed"===je)&&(Vt=Ne.offsetLeft,Ut=Ne.offsetTop)}return{width:it,height:ft,x:Vt+ti(be),y:Ut}}(be,ae)):Ee(je)?function Gn(be,je){var ae=Lt(be,!1,"fixed"===je);return ae.top=ae.top+be.clientTop,ae.left=ae.left+be.clientLeft,ae.bottom=ae.top+be.clientHeight,ae.right=ae.left+be.clientWidth,ae.width=be.clientWidth,ae.height=be.clientHeight,ae.x=ae.left,ae.y=ae.top,ae}(je,ae):fs(function _t(be){var je,ae=lt(be),we=Gt(be),Ne=null==(je=be.ownerDocument)?void 0:je.body,it=Qe(ae.scrollWidth,ae.clientWidth,Ne?Ne.scrollWidth:0,Ne?Ne.clientWidth:0),ft=Qe(ae.scrollHeight,ae.clientHeight,Ne?Ne.scrollHeight:0,Ne?Ne.clientHeight:0),Vt=-we.scrollLeft+ti(be),Ut=-we.scrollTop;return"rtl"===At(Ne||ae).direction&&(Vt+=Qe(ae.clientWidth,Ne?Ne.clientWidth:0)-it),{width:it,height:ft,x:Vt,y:Ut}}(lt(be)))}function On(be){return be.split("-")[1]}function Pn(be){return["top","bottom"].indexOf(be)>=0?"x":"y"}function As(be){var Ut,je=be.reference,ae=be.element,we=be.placement,Ne=we?S(we):null,it=we?On(we):null,ft=je.x+je.width/2-ae.width/2,Vt=je.y+je.height/2-ae.height/2;switch(Ne){case Y:Ut={x:ft,y:je.y-ae.height};break;case U:Ut={x:ft,y:je.y+je.height};break;case se:Ut={x:je.x+je.width,y:Vt};break;case w:Ut={x:je.x-ae.width,y:Vt};break;default:Ut={x:je.x,y:je.y}}var ei=Ne?Pn(Ne):null;if(null!=ei){var ii="y"===ei?"height":"width";switch(it){case x:Ut[ei]=Ut[ei]-(je[ii]/2-ae[ii]/2);break;case N:Ut[ei]=Ut[ei]+(je[ii]/2-ae[ii]/2)}}return Ut}function $i(be){return Object.assign({},{top:0,right:0,bottom:0,left:0},be)}function Cs(be,je){return je.reduce(function(ae,we){return ae[we]=be,ae},{})}function Mn(be,je){void 0===je&&(je={});var we=je.placement,Ne=void 0===we?be.placement:we,it=je.strategy,ft=void 0===it?be.strategy:it,Vt=je.boundary,Ut=void 0===Vt?"clippingParents":Vt,ei=je.rootBoundary,ii=void 0===ei?K:ei,wi=je.elementContext,_i=void 0===wi?q:wi,Ai=je.altBoundary,yn=void 0!==Ai&&Ai,sn=je.padding,Cn=void 0===sn?0:sn,Ln=$i("number"!=typeof Cn?Cn:Cs(Cn,G)),vs=be.rects.popper,Rn=be.elements[yn?_i===q?"reference":q:_i],En=function _s(be,je,ae,we){var Ne="clippingParents"===je?function Mi(be){var je=mi(Qt(be)),we=["absolute","fixed"].indexOf(At(be).position)>=0&&Xe(be)?jn(be):be;return Ee(we)?je.filter(function(Ne){return Ee(Ne)&&ls(Ne,we)&&"body"!==wt(Ne)}):[]}(be):[].concat(je),it=[].concat(Ne,[ae]),Vt=it.reduce(function(Ut,ei){var ii=dn(be,ei,we);return Ut.top=Qe(ii.top,Ut.top),Ut.right=st(ii.right,Ut.right),Ut.bottom=st(ii.bottom,Ut.bottom),Ut.left=Qe(ii.left,Ut.left),Ut},dn(be,it[0],we));return Vt.width=Vt.right-Vt.left,Vt.height=Vt.bottom-Vt.top,Vt.x=Vt.left,Vt.y=Vt.top,Vt}(Ee(Rn)?Rn:Rn.contextElement||lt(be.elements.popper),Ut,ii,ft),An=Lt(be.elements.reference),Ps=As({reference:An,element:vs,strategy:"absolute",placement:Ne}),Ts=fs(Object.assign({},vs,Ps)),Cr=_i===q?Ts:An,Ns={top:En.top-Cr.top+Ln.top,bottom:Cr.bottom-En.bottom+Ln.bottom,left:En.left-Cr.left+Ln.left,right:Cr.right-En.right+Ln.right},mr=be.modifiersData.offset;if(_i===q&&mr){var Mo=mr[Ne];Object.keys(Ns).forEach(function(cr){var xe=[se,U].indexOf(cr)>=0?1:-1,tt=[Y,U].indexOf(cr)>=0?"y":"x";Ns[cr]+=Mo[tt]*xe})}return Ns}const nr={name:"flip",enabled:!0,phase:"main",fn:function Kr(be){var je=be.state,ae=be.options,we=be.name;if(!je.modifiersData[we]._skip){for(var Ne=ae.mainAxis,it=void 0===Ne||Ne,ft=ae.altAxis,Vt=void 0===ft||ft,Ut=ae.fallbackPlacements,ei=ae.padding,ii=ae.boundary,wi=ae.rootBoundary,_i=ae.altBoundary,Ai=ae.flipVariations,yn=void 0===Ai||Ai,sn=ae.allowedAutoPlacements,Cn=je.options.placement,Ln=S(Cn),vs=Ut||(Ln!==Cn&&yn?function mo(be){if(S(be)===X)return[];var je=p(be);return[H(be),je,H(je)]}(Cn):[p(Cn)]),Rn=[Cn].concat(vs).reduce(function(oi,Li){return oi.concat(S(Li)===X?function Br(be,je){void 0===je&&(je={});var Ne=je.boundary,it=je.rootBoundary,ft=je.padding,Vt=je.flipVariations,Ut=je.allowedAutoPlacements,ei=void 0===Ut?Ce:Ut,ii=On(je.placement),wi=ii?Vt?me:me.filter(function(yn){return On(yn)===ii}):G,_i=wi.filter(function(yn){return ei.indexOf(yn)>=0});0===_i.length&&(_i=wi);var Ai=_i.reduce(function(yn,sn){return yn[sn]=Mn(be,{placement:sn,boundary:Ne,rootBoundary:it,padding:ft})[S(sn)],yn},{});return Object.keys(Ai).sort(function(yn,sn){return Ai[yn]-Ai[sn]})}(je,{placement:Li,boundary:ii,rootBoundary:wi,padding:ei,flipVariations:yn,allowedAutoPlacements:sn}):Li)},[]),En=je.rects.reference,An=je.rects.popper,Ps=new Map,Ts=!0,Cr=Rn[0],Ns=0;Ns=0,tt=xe?"width":"height",u=Mn(je,{placement:mr,boundary:ii,rootBoundary:wi,altBoundary:_i,padding:ei}),ne=xe?cr?se:w:cr?U:Y;En[tt]>An[tt]&&(ne=p(ne));var ue=p(ne),Ie=[];if(it&&Ie.push(u[Mo]<=0),Vt&&Ie.push(u[ne]<=0,u[ue]<=0),Ie.every(function(oi){return oi})){Cr=mr,Ts=!1;break}Ps.set(mr,Ie)}if(Ts)for(var Tt=function(Li){var Zi=Rn.find(function(Yi){var tn=Ps.get(Yi);if(tn)return tn.slice(0,Li).every(function(wn){return wn})});if(Zi)return Cr=Zi,"break"},zt=yn?3:1;zt>0&&"break"!==Tt(zt);zt--);je.placement!==Cr&&(je.modifiersData[we]._skip=!0,je.placement=Cr,je.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Rt(be,je,ae){return Qe(be,st(je,ae))}function bt(be){var je=Lt(be),ae=be.offsetWidth,we=be.offsetHeight;return Math.abs(je.width-ae)<=1&&(ae=je.width),Math.abs(je.height-we)<=1&&(we=je.height),{x:be.offsetLeft,y:be.offsetTop,width:ae,height:we}}const $e={name:"preventOverflow",enabled:!0,phase:"main",fn:function xt(be){var je=be.state,ae=be.options,we=be.name,Ne=ae.mainAxis,it=void 0===Ne||Ne,ft=ae.altAxis,Vt=void 0!==ft&&ft,_i=ae.tether,Ai=void 0===_i||_i,yn=ae.tetherOffset,sn=void 0===yn?0:yn,Cn=Mn(je,{boundary:ae.boundary,rootBoundary:ae.rootBoundary,padding:ae.padding,altBoundary:ae.altBoundary}),Ln=S(je.placement),Fn=On(je.placement),vs=!Fn,Rn=Pn(Ln),En=function St(be){return"x"===be?"y":"x"}(Rn),An=je.modifiersData.popperOffsets,Ps=je.rects.reference,Ts=je.rects.popper,Cr="function"==typeof sn?sn(Object.assign({},je.rects,{placement:je.placement})):sn,Ns="number"==typeof Cr?{mainAxis:Cr,altAxis:Cr}:Object.assign({mainAxis:0,altAxis:0},Cr),mr=je.modifiersData.offset?je.modifiersData.offset[je.placement]:null,Mo={x:0,y:0};if(An){if(it){var cr,xe="y"===Rn?Y:w,tt="y"===Rn?U:se,u="y"===Rn?"height":"width",ne=An[Rn],ue=ne+Cn[xe],Ie=ne-Cn[tt],nt=Ai?-Ts[u]/2:0,Tt=Fn===x?Ps[u]:Ts[u],zt=Fn===x?-Ts[u]:-Ps[u],ai=je.elements.arrow,oi=Ai&&ai?bt(ai):{width:0,height:0},Li=je.modifiersData["arrow#persistent"]?je.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Zi=Li[xe],Yi=Li[tt],tn=Rt(0,Ps[u],oi[u]),wn=vs?Ps[u]/2-nt-tn-Zi-Ns.mainAxis:Tt-tn-Zi-Ns.mainAxis,nn=vs?-Ps[u]/2+nt+tn+Yi+Ns.mainAxis:zt+tn+Yi+Ns.mainAxis,qn=je.elements.arrow&&jn(je.elements.arrow),Ds=qn?"y"===Rn?qn.clientTop||0:qn.clientLeft||0:0,$s=null!=(cr=mr?.[Rn])?cr:0,lo=ne+nn-$s,Uo=Rt(Ai?st(ue,ne+wn-$s-Ds):ue,ne,Ai?Qe(Ie,lo):Ie);An[Rn]=Uo,Mo[Rn]=Uo-ne}if(Vt){var _c,da=An[En],du="y"===En?"height":"width",Qf=da+Cn["x"===Rn?Y:w],Jf=da-Cn["x"===Rn?U:se],Tp=-1!==[Y,w].indexOf(Ln),El=null!=(_c=mr?.[En])?_c:0,oh=Tp?Qf:da-Ps[du]-Ts[du]-El+Ns.altAxis,eg=Tp?da+Ps[du]+Ts[du]-El-Ns.altAxis:Jf,tg=Ai&&Tp?function Nt(be,je,ae){var we=Rt(be,je,ae);return we>ae?ae:we}(oh,da,eg):Rt(Ai?oh:Qf,da,Ai?eg:Jf);An[En]=tg,Mo[En]=tg-da}je.modifiersData[we]=Mo}},requiresIfExists:["offset"]},si={name:"arrow",enabled:!0,phase:"main",fn:function It(be){var je,ae=be.state,we=be.name,Ne=be.options,it=ae.elements.arrow,ft=ae.modifiersData.popperOffsets,Vt=S(ae.placement),Ut=Pn(Vt),ii=[w,se].indexOf(Vt)>=0?"height":"width";if(it&&ft){var wi=function(je,ae){return $i("number"!=typeof(je="function"==typeof je?je(Object.assign({},ae.rects,{placement:ae.placement})):je)?je:Cs(je,G))}(Ne.padding,ae),_i=bt(it),Ai="y"===Ut?Y:w,yn="y"===Ut?U:se,sn=ae.rects.reference[ii]+ae.rects.reference[Ut]-ft[Ut]-ae.rects.popper[ii],Cn=ft[Ut]-ae.rects.reference[Ut],Ln=jn(it),Fn=Ln?"y"===Ut?Ln.clientHeight||0:Ln.clientWidth||0:0,An=Fn/2-_i[ii]/2+(sn/2-Cn/2),Ps=Rt(wi[Ai],An,Fn-_i[ii]-wi[yn]);ae.modifiersData[we]=((je={})[Ut]=Ps,je.centerOffset=Ps-An,je)}},effect:function $t(be){var je=be.state,we=be.options.element,Ne=void 0===we?"[data-popper-arrow]":we;null!=Ne&&("string"==typeof Ne&&!(Ne=je.elements.popper.querySelector(Ne))||ls(je.elements.popper,Ne)&&(je.elements.arrow=Ne))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ss(be,je,ae){void 0===ae&&(ae=!1);var we=Xe(je),Ne=Xe(je)&&function Hi(be){var je=be.getBoundingClientRect(),ae=kt(je.width)/be.offsetWidth||1,we=kt(je.height)/be.offsetHeight||1;return 1!==ae||1!==we}(je),it=lt(je),ft=Lt(be,Ne,ae),Vt={scrollLeft:0,scrollTop:0},Ut={x:0,y:0};return(we||!we&&!ae)&&(("body"!==wt(je)||di(it))&&(Vt=function Si(be){return be!==Me(be)&&Xe(be)?function Ti(be){return{scrollLeft:be.scrollLeft,scrollTop:be.scrollTop}}(be):Gt(be)}(je)),Xe(je)?((Ut=Lt(je,!0)).x+=je.clientLeft,Ut.y+=je.clientTop):it&&(Ut.x=ti(it))),{x:ft.left+Vt.scrollLeft-Ut.x,y:ft.top+Vt.scrollTop-Ut.y,width:ft.width,height:ft.height}}function un(be){var je=new Map,ae=new Set,we=[];function Ne(it){ae.add(it.name),[].concat(it.requires||[],it.requiresIfExists||[]).forEach(function(Vt){if(!ae.has(Vt)){var Ut=je.get(Vt);Ut&&Ne(Ut)}}),we.push(it)}return be.forEach(function(it){je.set(it.name,it)}),be.forEach(function(it){ae.has(it.name)||Ne(it)}),we}function cn(be){var je;return function(){return je||(je=new Promise(function(ae){Promise.resolve().then(function(){je=void 0,ae(be())})})),je}}var er={placement:"bottom",modifiers:[],strategy:"absolute"};function is(){for(var be=arguments.length,je=new Array(be),ae=0;ae=0?-1:1,it="function"==typeof ae?ae(Object.assign({},je,{placement:be})):ae,ft=it[0],Vt=it[1];return ft=ft||0,Vt=(Vt||0)*Ne,[w,se].indexOf(we)>=0?{x:Vt,y:ft}:{x:ft,y:Vt}}(wi,je.rects,it),ii},{}),Vt=ft[je.placement],ei=Vt.y;null!=je.modifiersData.popperOffsets&&(je.modifiersData.popperOffsets.x+=Vt.x,je.modifiersData.popperOffsets.y+=ei),je.modifiersData[we]=ft}},Hs=["*"],Ys=["dialog"];function ea(be,je){if(1&be&&M.EFF(0),2&be){const ae=M.XpG(2);M.JRh(ae.title)}}function oc(be,je){}function Rl(be,je){if(1&be&&(M.j41(0,"h3",2),M.DNE(1,ea,1,1,"ng-template",null,0,M.C5r)(3,oc,0,0,"ng-template",4),M.k0s()),2&be){const ae=M.sdS(2),we=M.XpG();M.R7$(3),M.Y8G("ngTemplateOutlet",we.isTitleTemplate()?we.title:ae)("ngTemplateOutletContext",we.context)}}const Oc={animation:!0,transitionTimerDelayMs:5};let No=(()=>{class be{constructor(){this.animation=Oc.animation}static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275prov=M.jDH({token:be,factory:be.\u0275fac,providedIn:"root"})}return be})();function _a(be){return"string"==typeof be}function ta(be){return null!=be}function wa(be){return(be||document.body).getBoundingClientRect()}function vl(be=document){const je=be?.activeElement;return je?je.shadowRoot?vl(je.shadowRoot):je:null}const _r=()=>{},{transitionTimerDelayMs:Ga}=Oc,ia=new Map,Hr=(be,je,ae,we)=>{let Ne=we.context||{};const it=ia.get(je);if(it)switch(we.runningTransition){case"continue":return Pe.w;case"stop":be.run(()=>it.transition$.complete()),Ne=Object.assign(it.context,Ne),ia.delete(je)}const ft=ae(je,we.animation,Ne)||_r;if(!we.animation||"none"===window.getComputedStyle(je).transitionProperty)return be.run(()=>ft()),(0,Z.of)(void 0).pipe(function jl(be){return je=>new V.c(ae=>je.subscribe({next:ft=>be.run(()=>ae.next(ft)),error:ft=>be.run(()=>ae.error(ft)),complete:()=>be.run(()=>ae.complete())}))}(be));const Vt=new ie.B,Ut=new ie.B,ei=Vt.pipe(function D(...be){return je=>(0,L.x)(je,(0,Z.of)(...be))}(!0));ia.set(je,{transition$:Vt,complete:()=>{Ut.next(),Ut.complete()},context:Ne});const ii=function Bl(be){const{transitionDelay:je,transitionDuration:ae}=window.getComputedStyle(be);return 1e3*(parseFloat(je)+parseFloat(ae))}(je);return be.runOutsideAngular(()=>{const wi=(0,re.R)(je,"transitionend").pipe((0,I.Q)(ei),(0,E.p)(({target:Ai})=>Ai===je));te((0,ve.O)(ii+Ga).pipe((0,I.Q)(ei)),wi,Ut).pipe((0,I.Q)(ei)).subscribe(()=>{ia.delete(je),be.run(()=>{ft(),Vt.next(),Vt.complete()})})}),Vt.asObservable()},sa=(be,je,ae)=>{let{direction:we,maxSize:Ne,dimension:it}=ae;const{classList:ft}=be;function Vt(){ft.add("collapse"),"show"===we?ft.add("show"):ft.remove("show")}if(je)return Ne||(Ne=function Ha(be,je){if(typeof navigator>"u")return"0px";const{classList:ae}=be,we=ae.contains("show");we||ae.add("show"),be.style[je]="";const Ne=be.getBoundingClientRect()[je]+"px";return we||ae.remove("show"),Ne}(be,it),ae.maxSize=Ne,be.style[it]="show"!==we?Ne:"0px",ft.remove("collapse"),ft.remove("collapsing"),ft.remove("show"),wa(be),ft.add("collapsing")),be.style[it]="show"===we?Ne:"0px",()=>{Vt(),ft.remove("collapsing"),be.style[it]=""};Vt()};let Ge=(()=>{class be{constructor(){this._ngbConfig=(0,M.WQX)(No),this.horizontal=!1}get animation(){return this._animation??this._ngbConfig.animation}set animation(ae){this._animation=ae}static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275prov=M.jDH({token:be,factory:be.\u0275fac,providedIn:"root"})}return be})(),ut=(()=>{class be{constructor(){this._config=(0,M.WQX)(Ge),this._element=(0,M.WQX)(M.aKT),this._zone=(0,M.WQX)(M.SKi),this.animation=this._config.animation,this._afterInit=!1,this._isCollapsed=!1,this.ngbCollapseChange=new M.bkB,this.horizontal=this._config.horizontal,this.shown=new M.bkB,this.hidden=new M.bkB}set collapsed(ae){this._isCollapsed!==ae&&(this._isCollapsed=ae,this._afterInit&&this._runTransitionWithEvents(ae,this.animation))}ngOnInit(){this._runTransition(this._isCollapsed,!1),this._afterInit=!0}toggle(ae=this._isCollapsed){this.collapsed=!ae,this.ngbCollapseChange.next(this._isCollapsed)}_runTransition(ae,we){return Hr(this._zone,this._element.nativeElement,sa,{animation:we,runningTransition:"stop",context:{direction:ae?"hide":"show",dimension:this.horizontal?"width":"height"}})}_runTransitionWithEvents(ae,we){this._runTransition(ae,we).subscribe(()=>{ae?this.hidden.emit():this.shown.emit()})}static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275dir=M.FsC({type:be,selectors:[["","ngbCollapse",""]],hostVars:2,hostBindings:function(we,Ne){2&we&&M.AVh("collapse-horizontal",Ne.horizontal)},inputs:{animation:"animation",collapsed:[M.Mj6.None,"ngbCollapse","collapsed"],horizontal:"horizontal"},outputs:{ngbCollapseChange:"ngbCollapseChange",shown:"shown",hidden:"hidden"},exportAs:["ngbCollapse"],standalone:!0})}return be})(),Sn=(()=>{class be{static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275mod=M.$C({type:be});static#i=this.\u0275inj=M.G2t({})}return be})(),Pr=(()=>{class be{static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275mod=M.$C({type:be});static#i=this.\u0275inj=M.G2t({})}return be})(),Bo=(()=>{class be{static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275mod=M.$C({type:be});static#i=this.\u0275inj=M.G2t({})}return be})(),cc=(()=>{class be{static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275mod=M.$C({type:be});static#i=this.\u0275inj=M.G2t({})}return be})();var Zn=function(be){return be[be.Tab=9]="Tab",be[be.Enter=13]="Enter",be[be.Escape=27]="Escape",be[be.Space=32]="Space",be[be.PageUp=33]="PageUp",be[be.PageDown=34]="PageDown",be[be.End=35]="End",be[be.Home=36]="Home",be[be.ArrowLeft=37]="ArrowLeft",be[be.ArrowUp=38]="ArrowUp",be[be.ArrowRight=39]="ArrowRight",be[be.ArrowDown=40]="ArrowDown",be}(Zn||{});const ed=(be,je)=>!!je&&je.some(ae=>ae.contains(be)),Re=(be,je)=>!je||null!=function Ca(be,je){return!je||typeof be.closest>"u"?null:be.closest(je)}(be,je),Ue=typeof navigator<"u"&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function We(be,je,ae,we,Ne,it,ft,Vt){ae&&be.runOutsideAngular((be=>Ue?()=>setTimeout(()=>be(),100):be)(()=>{const ei=(0,re.R)(je,"keydown").pipe((0,I.Q)(Ne),(0,E.p)(_i=>_i.which===Zn.Escape),(0,b.M)(_i=>_i.preventDefault())),ii=(0,re.R)(je,"mousedown").pipe((0,T.T)(_i=>{const Ai=_i.target;return 2!==_i.button&&!ed(Ai,ft)&&("inside"===ae?ed(Ai,it)&&Re(Ai,Vt):"outside"===ae?!ed(Ai,it):Re(Ai,Vt)||!ed(Ai,it))}),(0,I.Q)(Ne)),wi=(0,re.R)(je,"mouseup").pipe(a(ii),(0,E.p)(([_i,Ai])=>Ai),(0,g.c)(0),(0,I.Q)(Ne));te([ei.pipe((0,T.T)(_i=>0)),wi.pipe((0,T.T)(_i=>1))]).subscribe(_i=>be.run(()=>we(_i)))}))}const rt=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function mt(be){const je=Array.from(be.querySelectorAll(rt)).filter(ae=>-1!==ae.tabIndex);return[je[0],je[je.length-1]]}let Jt=(()=>{class be{constructor(){this._element=(0,M.WQX)(d.qQ).documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275prov=M.jDH({token:be,factory:be.\u0275fac,providedIn:"root"})}return be})();const Yt=/\s+/,Ii=/ +/gi,vn={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]},Qs=/^left/,Gl=/^right/,Hl=/^start/,Wa=/^end/;function $a({placement:be,baseClass:je},ae){let we=Array.isArray(be)?be:be.split(Yt),it=we.findIndex(ei=>"auto"===ei);it>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(ei){null==we.find(ii=>-1!==ii.search("^"+ei))&&we.splice(it++,1,ei)});const ft=we.map(ei=>function In(be,je){const[ae,we]=vn[be];return je&&we||ae}(ei,ae.isRTL()));return{placement:ft.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!je,phase:"write",fn({state:ei}){const ii=new RegExp(je+"(-[a-z]+)*","gi"),wi=ei.elements.popper,_i=ei.placement;let Ai=wi.className;Ai=Ai.replace(ii,""),Ai+=` ${function Fc(be,je){let[ae,we]=je.split("-");const Ne=ae.replace(Qs,"start").replace(Gl,"end");let it=[Ne];if(we){let ft=we;("left"===ae||"right"===ae)&&(ft=ft.replace(Hl,"top").replace(Wa,"bottom")),it.push(`${Ne}-${ft}`)}return be&&(it=it.map(ft=>`${be}-${ft}`)),it.join(" ")}(je,_i)}`,Ai=Ai.trim().replace(Ii," "),wi.className=Ai}},nr,$e,si,{enabled:!0,name:"flip",options:{fallbackPlacements:ft}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function Wu(be){return be}function td(){const be=(0,M.WQX)(Jt);let je=null;return{createPopper(ae){if(!je){let Ne=(ae.updatePopperOptions||Wu)($a(ae,be));je=Qr(ae.hostElement,ae.targetElement,Ne)}},update(){je&&je.update()},setOptions(ae){if(je){let Ne=(ae.updatePopperOptions||Wu)($a(ae,be));je.setOptions(Ne)}},destroy(){je&&(je.destroy(),je=null)}}}function no(be){return je=>(je.modifiers.push(vr,{name:"offset",options:{offset:()=>be}}),je)}new Date(1882,10,12),new Date(2174,10,25);let Wd=(()=>{class be{static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275mod=M.$C({type:be});static#i=this.\u0275inj=M.G2t({})}return be})(),hd=(()=>{class be{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=ae=>ae,this.container=null}static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275prov=M.jDH({token:be,factory:be.\u0275fac,providedIn:"root"})}return be})(),kh=(()=>{class be{constructor(){this._disabled=!1,this.nativeElement=(0,M.WQX)(M.aKT).nativeElement,this.tabindex=0}set disabled(ae){this._disabled=""===ae||!0===ae}get disabled(){return this._disabled}static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275dir=M.FsC({type:be,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(we,Ne){2&we&&(M.Mr5("tabIndex",Ne.disabled?-1:Ne.tabindex),M.AVh("disabled",Ne.disabled))},inputs:{tabindex:"tabindex",disabled:"disabled"},standalone:!0})}return be})(),Go=(()=>{class be{constructor(){this.dropdown=(0,M.WQX)(Ul),this.nativeElement=(0,M.WQX)(M.aKT).nativeElement}static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275dir=M.FsC({type:be,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(we,Ne,it){if(1&we&&M.wni(it,kh,4),2&we){let ft;M.mGM(ft=M.lsd())&&(Ne.menuItems=ft)}},hostVars:4,hostBindings:function(we,Ne){1&we&&M.bIt("keydown.ArrowUp",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.ArrowDown",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Home",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.End",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Enter",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Space",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Tab",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Shift.Tab",function(ft){return Ne.dropdown.onKeyDown(ft)}),2&we&&M.AVh("dropdown-menu",!0)("show",Ne.dropdown.isOpen())},standalone:!0})}return be})(),Mh=(()=>{class be{constructor(){this.dropdown=(0,M.WQX)(Ul),this.nativeElement=(0,M.WQX)(M.aKT).nativeElement}static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275dir=M.FsC({type:be,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:3,hostBindings:function(we,Ne){2&we&&(M.BMQ("aria-expanded",Ne.dropdown.isOpen()),M.AVh("show",Ne.dropdown.isOpen()))},standalone:!0})}return be})(),Wc=(()=>{class be extends Mh{static#e=this.\u0275fac=(()=>{let ae;return function(Ne){return(ae||(ae=M.xGo(be)))(Ne||be)}})();static#t=this.\u0275dir=M.FsC({type:be,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:3,hostBindings:function(we,Ne){1&we&&M.bIt("click",function(){return Ne.dropdown.toggle()})("keydown.ArrowUp",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.ArrowDown",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Home",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.End",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Tab",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Shift.Tab",function(ft){return Ne.dropdown.onKeyDown(ft)}),2&we&&(M.BMQ("aria-expanded",Ne.dropdown.isOpen()),M.AVh("show",Ne.dropdown.isOpen()))},standalone:!0,features:[M.Jv_([{provide:Mh,useExisting:(0,M.Rfq)(()=>be)}]),M.Vt3]})}return be})(),Ul=(()=>{class be{constructor(){this._changeDetector=(0,M.WQX)(M.gRc),this._config=(0,M.WQX)(hd),this._document=(0,M.WQX)(d.qQ),this._ngZone=(0,M.WQX)(M.SKi),this._nativeElement=(0,M.WQX)(M.aKT).nativeElement,this._destroyCloseHandlers$=new ie.B,this._bodyContainer=null,this._positioning=td(),this.autoClose=this._config.autoClose,this._open=!1,this.placement=this._config.placement,this.popperOptions=this._config.popperOptions,this.container=this._config.container,this.openChange=new M.bkB}ngOnInit(){this.display||(this.display=this._nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe((0,_.s)(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(ae){if(ae.container&&this._open&&this._applyContainer(this.container),ae.placement&&!ae.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),ae.dropdownClass){const{currentValue:we,previousValue:Ne}=ae.dropdownClass;this._applyCustomDropdownClass(we,Ne)}ae.autoClose&&this._open&&(this.autoClose=ae.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),"dynamic"===this.display&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container,updatePopperOptions:ae=>this.popperOptions(no([0,2])(ae))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),We(this._ngZone,this._document,this.autoClose,ae=>{this.close(),0===ae&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(ae){const we=ae.which,Ne=this._getMenuElements();let it=-1,ft=null;const Vt=this._isEventFromToggle(ae);if(!Vt&&Ne.length&&Ne.forEach((Ut,ei)=>{Ut.contains(ae.target)&&(ft=Ut),Ut===vl(this._document)&&(it=ei)}),we!==Zn.Space&&we!==Zn.Enter){if(we!==Zn.Tab){if(Vt||ft){if(this.open(),Ne.length){switch(we){case Zn.ArrowDown:it=Math.min(it+1,Ne.length-1);break;case Zn.ArrowUp:if(this._isDropup()&&-1===it){it=Ne.length-1;break}it=Math.max(it-1,0);break;case Zn.Home:it=0;break;case Zn.End:it=Ne.length-1}Ne[it].focus()}ae.preventDefault()}}else if(ae.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===ae.target)return void("body"!==this.container||ae.shiftKey?ae.shiftKey&&this.close():(this._menu.nativeElement.setAttribute("tabindex","0"),this._menu.nativeElement.focus(),this._menu.nativeElement.removeAttribute("tabindex")));if("body"===this.container){const Ut=this._menu.nativeElement.querySelectorAll(rt);ae.shiftKey&&ae.target===Ut[0]?(this._anchor.nativeElement.focus(),ae.preventDefault()):!ae.shiftKey&&ae.target===Ut[Ut.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else(0,re.R)(ae.target,"focusout").pipe((0,_.s)(1)).subscribe(({relatedTarget:Ut})=>{this._nativeElement.contains(Ut)||this.close()})}}else ft&&(!0===this.autoClose||"inside"===this.autoClose)&&(0,re.R)(ft,"click").pipe((0,_.s)(1)).subscribe(()=>this.close())}_isDropup(){return this._nativeElement.classList.contains("dropup")}_isEventFromToggle(ae){return this._anchor.nativeElement.contains(ae.target)}_getMenuElements(){return this._menu?this._menu.menuItems.filter(({disabled:ae})=>!ae).map(({nativeElement:ae})=>ae):[]}_positionMenu(){const ae=this._menu;this.isOpen()&&ae&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(ae){return Array.isArray(ae)?ae[0]:ae.split(" ")[0]}_resetContainer(){this._menu&&this._nativeElement.appendChild(this._menu.nativeElement),this._bodyContainer&&(this._document.body.removeChild(this._bodyContainer),this._bodyContainer=null)}_applyContainer(ae=null){if(this._resetContainer(),"body"===ae){const we=this._menu.nativeElement,Ne=this._bodyContainer=this._bodyContainer||this._document.createElement("div");Ne.style.position="absolute",we.style.position="static",Ne.style.zIndex="1055",Ne.appendChild(we),this._document.body.appendChild(Ne)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(ae,we){const Ne="body"===this.container?this._bodyContainer:this._nativeElement;Ne&&(we&&Ne.classList.remove(we),ae&&Ne.classList.add(ae))}_applyPlacementClasses(ae){if(this._menu){ae||(ae=this._getFirstPlacement(this.placement)),this._nativeElement.classList.remove("dropup","dropdown"),"static"===this.display?this._menu.nativeElement.setAttribute("data-bs-popper","static"):this._menu.nativeElement.removeAttribute("data-bs-popper");const we=-1!==ae.search("^top")?"dropup":"dropdown";this._nativeElement.classList.add(we),this._bodyContainer&&(this._bodyContainer.classList.remove("dropup","dropdown"),this._bodyContainer.classList.add(we))}}static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275dir=M.FsC({type:be,selectors:[["","ngbDropdown",""]],contentQueries:function(we,Ne,it){if(1&we&&(M.wni(it,Go,5),M.wni(it,Mh,5)),2&we){let ft;M.mGM(ft=M.lsd())&&(Ne._menu=ft.first),M.mGM(ft=M.lsd())&&(Ne._anchor=ft.first)}},hostVars:2,hostBindings:function(we,Ne){2&we&&M.AVh("show",Ne.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:[M.Mj6.None,"open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[M.OA$]})}return be})(),Dh=(()=>{class be{static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275mod=M.$C({type:be});static#i=this.\u0275inj=M.G2t({})}return be})(),$d=(()=>{class be{constructor(){this._ngbConfig=(0,M.WQX)(No),this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return this._animation??this._ngbConfig.animation}set animation(ae){this._animation=ae}static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275prov=M.jDH({token:be,factory:be.\u0275fac,providedIn:"root"})}return be})();class kl{constructor(je,ae,we){this.nodes=je,this.viewRef=ae,this.componentRef=we}}class rp{constructor(je){this._componentType=je,this._windowRef=null,this._contentRef=null,this._document=(0,M.WQX)(d.qQ),this._applicationRef=(0,M.WQX)(M.o8S),this._injector=(0,M.WQX)(M.zZn),this._viewContainerRef=(0,M.WQX)(M.c1b),this._ngZone=(0,M.WQX)(M.SKi)}open(je,ae,we=!1){this._windowRef||(this._contentRef=this._getContentRef(je,ae),this._windowRef=this._viewContainerRef.createComponent(this._componentType,{injector:this._injector,projectableNodes:this._contentRef.nodes}));const{nativeElement:Ne}=this._windowRef.location,it=this._ngZone.onStable.pipe((0,_.s)(1),(0,y.Z)(()=>Hr(this._ngZone,Ne,({classList:ft})=>ft.add("show"),{animation:we,runningTransition:"continue"})));return{windowRef:this._windowRef,transition$:it}}close(je=!1){return this._windowRef?Hr(this._ngZone,this._windowRef.location.nativeElement,({classList:ae})=>ae.remove("show"),{animation:je,runningTransition:"stop"}).pipe((0,b.M)(()=>{this._windowRef&&(this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._windowRef.hostView)),this._windowRef=null),this._contentRef?.viewRef&&(this._applicationRef.detachView(this._contentRef.viewRef),this._contentRef.viewRef.destroy(),this._contentRef=null)})):(0,Z.of)(void 0)}_getContentRef(je,ae){if(je){if(je instanceof M.C4Q){const we=je.createEmbeddedView(ae);return this._applicationRef.attachView(we),new kl([we.rootNodes],we)}return new kl([[this._document.createTextNode(`${je}`)]])}return new kl([])}}let bc=(()=>{class be{constructor(){this._document=(0,M.WQX)(d.qQ)}hide(){const ae=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),we=this._document.body,Ne=we.style,{overflow:it,paddingRight:ft}=Ne;if(ae>0){const Vt=parseFloat(window.getComputedStyle(we).paddingRight);Ne.paddingRight=`${Vt+ae}px`}return Ne.overflow="hidden",()=>{ae>0&&(Ne.paddingRight=ft),Ne.overflow=it}}static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275prov=M.jDH({token:be,factory:be.\u0275fac,providedIn:"root"})}return be})(),$c=(()=>{class be{constructor(){this._nativeElement=(0,M.WQX)(M.aKT).nativeElement,this._zone=(0,M.WQX)(M.SKi)}ngOnInit(){this._zone.onStable.asObservable().pipe((0,_.s)(1)).subscribe(()=>{Hr(this._zone,this._nativeElement,(ae,we)=>{we&&wa(ae),ae.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return Hr(this._zone,this._nativeElement,({classList:ae})=>ae.remove("show"),{animation:this.animation,runningTransition:"stop"})}static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275cmp=M.VBU({type:be,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(we,Ne){2&we&&(M.HbH("modal-backdrop"+(Ne.backdropClass?" "+Ne.backdropClass:"")),M.AVh("show",!Ne.animation)("fade",Ne.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[M.aNF],decls:0,vars:0,template:function(we,Ne){},encapsulation:2})}return be})();class Eh{update(je){}close(je){}dismiss(je){}}const Ah=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],Ih=["animation","backdropClass"];class Xd{_applyWindowOptions(je,ae){Ah.forEach(we=>{ta(ae[we])&&(je[we]=ae[we])})}_applyBackdropOptions(je,ae){Ih.forEach(we=>{ta(ae[we])&&(je[we]=ae[we])})}update(je){this._applyWindowOptions(this._windowCmptRef.instance,je),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,je)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe((0,I.Q)(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe((0,I.Q)(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(je,ae,we,Ne){this._windowCmptRef=je,this._contentRef=ae,this._backdropCmptRef=we,this._beforeDismiss=Ne,this._closed=new ie.B,this._dismissed=new ie.B,this._hidden=new ie.B,je.instance.dismissEvent.subscribe(it=>{this.dismiss(it)}),this.result=new Promise((it,ft)=>{this._resolve=it,this._reject=ft}),this.result.then(null,()=>{})}close(je){this._windowCmptRef&&(this._closed.next(je),this._resolve(je),this._removeModalElements())}_dismiss(je){this._dismissed.next(je),this._reject(je),this._removeModalElements()}dismiss(je){if(this._windowCmptRef)if(this._beforeDismiss){const ae=this._beforeDismiss();!function bl(be){return be&&be.then}(ae)?!1!==ae&&this._dismiss(je):ae.then(we=>{!1!==we&&this._dismiss(je)},()=>{})}else this._dismiss(je)}_removeModalElements(){const je=this._windowCmptRef.instance.hide(),ae=this._backdropCmptRef?this._backdropCmptRef.instance.hide():(0,Z.of)(void 0);je.subscribe(()=>{const{nativeElement:we}=this._windowCmptRef.location;we.parentNode.removeChild(we),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),ae.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:we}=this._backdropCmptRef.location;we.parentNode.removeChild(we),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),F(je,ae).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var Oh=function(be){return be[be.BACKDROP_CLICK=0]="BACKDROP_CLICK",be[be.ESC=1]="ESC",be}(Oh||{});let Wf=(()=>{class be{constructor(){this._document=(0,M.WQX)(d.qQ),this._elRef=(0,M.WQX)(M.aKT),this._zone=(0,M.WQX)(M.SKi),this._closed$=new ie.B,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new M.bkB,this.shown=new ie.B,this.hidden=new ie.B}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":_a(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(ae){this.dismissEvent.emit(ae)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe((0,_.s)(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:ae}=this._elRef,we={animation:this.animation,runningTransition:"stop"},ft=F(Hr(this._zone,ae,()=>ae.classList.remove("show"),we),Hr(this._zone,this._dialogEl.nativeElement,()=>{},we));return ft.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),ft}_show(){const ae={animation:this.animation,runningTransition:"continue"};F(Hr(this._zone,this._elRef.nativeElement,(it,ft)=>{ft&&wa(it),it.classList.add("show")},ae),Hr(this._zone,this._dialogEl.nativeElement,()=>{},ae)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:ae}=this._elRef;this._zone.runOutsideAngular(()=>{(0,re.R)(ae,"keydown").pipe((0,I.Q)(this._closed$),(0,E.p)(Ne=>Ne.which===Zn.Escape)).subscribe(Ne=>{this.keyboard?requestAnimationFrame(()=>{Ne.defaultPrevented||this._zone.run(()=>this.dismiss(Oh.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let we=!1;(0,re.R)(this._dialogEl.nativeElement,"mousedown").pipe((0,I.Q)(this._closed$),(0,b.M)(()=>we=!1),(0,o.n)(()=>(0,re.R)(ae,"mouseup").pipe((0,I.Q)(this._closed$),(0,_.s)(1))),(0,E.p)(({target:Ne})=>ae===Ne)).subscribe(()=>{we=!0}),(0,re.R)(ae,"click").pipe((0,I.Q)(this._closed$)).subscribe(({target:Ne})=>{ae===Ne&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!we&&this._zone.run(()=>this.dismiss(Oh.BACKDROP_CLICK))),we=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:ae}=this._elRef;if(!ae.contains(document.activeElement)){const we=ae.querySelector("[ngbAutofocus]"),Ne=mt(ae)[0];(we||Ne||ae).focus()}}_restoreFocus(){const ae=this._document.body,we=this._elWithFocus;let Ne;Ne=we&&we.focus&&ae.contains(we)?we:ae,this._zone.runOutsideAngular(()=>{setTimeout(()=>Ne.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&Hr(this._zone,this._elRef.nativeElement,({classList:ae})=>(ae.add("modal-static"),()=>ae.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275cmp=M.VBU({type:be,selectors:[["ngb-modal-window"]],viewQuery:function(we,Ne){if(1&we&&M.GBs(Ys,7),2&we){let it;M.mGM(it=M.lsd())&&(Ne._dialogEl=it.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(we,Ne){2&we&&(M.BMQ("aria-modal",!0)("aria-labelledby",Ne.ariaLabelledBy)("aria-describedby",Ne.ariaDescribedBy),M.HbH("modal d-block"+(Ne.windowClass?" "+Ne.windowClass:"")),M.AVh("fade",Ne.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[M.aNF],ngContentSelectors:Hs,decls:4,vars:2,consts:[["dialog",""],["role","document"],[1,"modal-content"]],template:function(we,Ne){1&we&&(M.NAR(),M.j41(0,"div",1,0)(2,"div",2),M.SdG(3),M.k0s()()),2&we&&M.HbH("modal-dialog"+(Ne.size?" modal-"+Ne.size:"")+(Ne.centered?" modal-dialog-centered":"")+Ne.fullscreenClass+(Ne.scrollable?" modal-dialog-scrollable":"")+(Ne.modalDialogClass?" "+Ne.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2})}return be})(),op=(()=>{class be{constructor(){this._applicationRef=(0,M.WQX)(M.o8S),this._injector=(0,M.WQX)(M.zZn),this._environmentInjector=(0,M.WQX)(M.uvJ),this._document=(0,M.WQX)(d.qQ),this._scrollBar=(0,M.WQX)(bc),this._activeWindowCmptHasChanged=new ie.B,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new M.bkB;const ae=(0,M.WQX)(M.SKi);this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const we=this._windowCmpts[this._windowCmpts.length-1];((be,je,ae,we=!1)=>{be.runOutsideAngular(()=>{const Ne=(0,re.R)(je,"focusin").pipe((0,I.Q)(ae),(0,T.T)(it=>it.target));(0,re.R)(je,"keydown").pipe((0,I.Q)(ae),(0,E.p)(it=>it.which===Zn.Tab),a(Ne)).subscribe(([it,ft])=>{const[Vt,Ut]=mt(je);(ft===Vt||ft===je)&&it.shiftKey&&(Ut.focus(),it.preventDefault()),ft===Ut&&!it.shiftKey&&(Vt.focus(),it.preventDefault())}),we&&(0,re.R)(je,"click").pipe((0,I.Q)(ae),a(Ne),(0,T.T)(it=>it[1])).subscribe(it=>it.focus())})})(ae,we.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(we.location.nativeElement)}})}_restoreScrollBar(){const ae=this._scrollBarRestoreFn;ae&&(this._scrollBarRestoreFn=null,ae())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(ae,we,Ne){const it=Ne.container instanceof HTMLElement?Ne.container:ta(Ne.container)?this._document.querySelector(Ne.container):this._document.body;if(!it)throw new Error(`The specified modal container "${Ne.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const ft=new Eh,Vt=(ae=Ne.injector||ae).get(M.uvJ,null)||this._environmentInjector,Ut=this._getContentRef(ae,Vt,we,ft,Ne);let ei=!1!==Ne.backdrop?this._attachBackdrop(it):void 0,ii=this._attachWindowComponent(it,Ut.nodes),wi=new Xd(ii,Ut,ei,Ne.beforeDismiss);return this._registerModalRef(wi),this._registerWindowCmpt(ii),wi.hidden.pipe((0,_.s)(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(this._document.body.classList.remove("modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),ft.close=_i=>{wi.close(_i)},ft.dismiss=_i=>{wi.dismiss(_i)},ft.update=_i=>{wi.update(_i)},wi.update(Ne),1===this._modalRefs.length&&this._document.body.classList.add("modal-open"),ei&&ei.instance&&ei.changeDetectorRef.detectChanges(),ii.changeDetectorRef.detectChanges(),wi}get activeInstances(){return this._activeInstances}dismissAll(ae){this._modalRefs.forEach(we=>we.dismiss(ae))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(ae){let we=(0,M.a0P)($c,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(we.hostView),ae.appendChild(we.location.nativeElement),we}_attachWindowComponent(ae,we){let Ne=(0,M.a0P)(Wf,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:we});return this._applicationRef.attachView(Ne.hostView),ae.appendChild(Ne.location.nativeElement),Ne}_getContentRef(ae,we,Ne,it,ft){return Ne?Ne instanceof M.C4Q?this._createFromTemplateRef(Ne,it):_a(Ne)?this._createFromString(Ne):this._createFromComponent(ae,we,Ne,it,ft):new kl([])}_createFromTemplateRef(ae,we){const it=ae.createEmbeddedView({$implicit:we,close(ft){we.close(ft)},dismiss(ft){we.dismiss(ft)}});return this._applicationRef.attachView(it),new kl([it.rootNodes],it)}_createFromString(ae){const we=this._document.createTextNode(`${ae}`);return new kl([[we]])}_createFromComponent(ae,we,Ne,it,ft){const Vt=M.zZn.create({providers:[{provide:Eh,useValue:it}],parent:ae}),Ut=(0,M.a0P)(Ne,{environmentInjector:we,elementInjector:Vt}),ei=Ut.location.nativeElement;return ft.scrollable&&ei.classList.add("component-host-scrollable"),this._applicationRef.attachView(Ut.hostView),new kl([[ei]],Ut.hostView,Ut)}_setAriaHidden(ae){const we=ae.parentElement;we&&ae!==this._document.body&&(Array.from(we.children).forEach(Ne=>{Ne!==ae&&"SCRIPT"!==Ne.nodeName&&(this._ariaHiddenValues.set(Ne,Ne.getAttribute("aria-hidden")),Ne.setAttribute("aria-hidden","true"))}),this._setAriaHidden(we))}_revertAriaHidden(){this._ariaHiddenValues.forEach((ae,we)=>{ae?we.setAttribute("aria-hidden",ae):we.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(ae){const we=()=>{const Ne=this._modalRefs.indexOf(ae);Ne>-1&&(this._modalRefs.splice(Ne,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(ae),this._activeInstances.emit(this._modalRefs),ae.result.then(we,we)}_registerWindowCmpt(ae){this._windowCmpts.push(ae),this._activeWindowCmptHasChanged.next(),ae.onDestroy(()=>{const we=this._windowCmpts.indexOf(ae);we>-1&&(this._windowCmpts.splice(we,1),this._activeWindowCmptHasChanged.next())})}static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275prov=M.jDH({token:be,factory:be.\u0275fac,providedIn:"root"})}return be})(),Lr=(()=>{class be{constructor(){this._injector=(0,M.WQX)(M.zZn),this._modalStack=(0,M.WQX)(op),this._config=(0,M.WQX)($d)}open(ae,we={}){const Ne={...this._config,animation:this._config.animation,...we};return this._modalStack.open(this._injector,ae,Ne)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(ae){this._modalStack.dismissAll(ae)}hasOpenModals(){return this._modalStack.hasOpenModals()}static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275prov=M.jDH({token:be,factory:be.\u0275fac,providedIn:"root"})}return be})(),Wl=(()=>{class be{static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275mod=M.$C({type:be});static#i=this.\u0275inj=M.G2t({providers:[Lr]})}return be})(),Zd=(()=>{class be{static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275mod=M.$C({type:be});static#i=this.\u0275inj=M.G2t({})}return be})(),Kl=(()=>{class be{static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275mod=M.$C({type:be});static#i=this.\u0275inj=M.G2t({})}return be})();const vc={hover:["mouseenter","mouseleave"],focus:["focusin","focusout"]};let qd=(()=>{class be{constructor(){this._ngbConfig=(0,M.WQX)(No),this.autoClose=!0,this.placement="auto",this.popperOptions=ae=>ae,this.triggers="click",this.disablePopover=!1,this.openDelay=0,this.closeDelay=0}get animation(){return this._animation??this._ngbConfig.animation}set animation(ae){this._animation=ae}static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275prov=M.jDH({token:be,factory:be.\u0275fac,providedIn:"root"})}return be})(),Nh=0,Qd=(()=>{class be{isTitleTemplate(){return this.title instanceof M.C4Q}static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275cmp=M.VBU({type:be,selectors:[["ngb-popover-window"]],hostAttrs:["role","tooltip",2,"position","absolute"],hostVars:5,hostBindings:function(we,Ne){2&we&&(M.Mr5("id",Ne.id),M.HbH("popover"+(Ne.popoverClass?" "+Ne.popoverClass:"")),M.AVh("fade",Ne.animation))},inputs:{animation:"animation",title:"title",id:"id",popoverClass:"popoverClass",context:"context"},standalone:!0,features:[M.aNF],ngContentSelectors:Hs,decls:4,vars:1,consts:[["simpleTitle",""],["data-popper-arrow","",1,"popover-arrow"],[1,"popover-header"],[1,"popover-body"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(we,Ne){1&we&&(M.NAR(),M.nrm(0,"div",1),M.DNE(1,Rl,4,2,"h3",2),M.j41(2,"div",3),M.SdG(3),M.k0s()),2&we&&(M.R7$(),M.vxM(1,Ne.title?1:-1))},dependencies:[d.T3],encapsulation:2,changeDetection:0})}return be})(),Jd=(()=>{class be{constructor(){this._config=(0,M.WQX)(qd),this.animation=this._config.animation,this.autoClose=this._config.autoClose,this.placement=this._config.placement,this.popperOptions=this._config.popperOptions,this.triggers=this._config.triggers,this.container=this._config.container,this.disablePopover=this._config.disablePopover,this.popoverClass=this._config.popoverClass,this.openDelay=this._config.openDelay,this.closeDelay=this._config.closeDelay,this.shown=new M.bkB,this.hidden=new M.bkB,this._nativeElement=(0,M.WQX)(M.aKT).nativeElement,this._ngZone=(0,M.WQX)(M.SKi),this._document=(0,M.WQX)(d.qQ),this._changeDetector=(0,M.WQX)(M.gRc),this._ngbPopoverWindowId="ngb-popover-"+Nh++,this._popupService=new rp(Qd),this._windowRef=null,this._positioning=td()}open(ae){if(!this._windowRef&&!this._isDisabled()){const{windowRef:we,transition$:Ne}=this._popupService.open(this.ngbPopover,ae??this.popoverContext,this.animation);this._windowRef=we,this._windowRef.setInput("animation",this.animation),this._windowRef.setInput("title",this.popoverTitle),this._windowRef.setInput("context",ae??this.popoverContext),this._windowRef.setInput("popoverClass",this.popoverClass),this._windowRef.setInput("id",this._ngbPopoverWindowId),this._getPositionTargetElement().setAttribute("aria-describedby",this._ngbPopoverWindowId),"body"===this.container&&this._document.body.appendChild(this._windowRef.location.nativeElement),this._windowRef.changeDetectorRef.detectChanges(),this._windowRef.changeDetectorRef.markForCheck(),this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._getPositionTargetElement(),targetElement:this._windowRef.location.nativeElement,placement:this.placement,appendToBody:"body"===this.container,baseClass:"bs-popover",updatePopperOptions:it=>this.popperOptions(no([0,8])(it))}),Promise.resolve().then(()=>{this._positioning.update(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positioning.update())})}),We(this._ngZone,this._document,this.autoClose,()=>this.close(),this.hidden,[this._windowRef.location.nativeElement]),Ne.subscribe(()=>this.shown.emit())}}close(ae=this.animation){this._windowRef&&(this._getPositionTargetElement().removeAttribute("aria-describedby"),this._popupService.close(ae).subscribe(()=>{this._windowRef=null,this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this.hidden.emit(),this._changeDetector.markForCheck()}))}toggle(){this._windowRef?this.close():this.open()}isOpen(){return null!=this._windowRef}ngOnInit(){this._unregisterListenersFn=function dp(be,je,ae,we,Ne,it=0,ft=0){const Vt=function lr(be){const je=(be||"").trim();if(0===je.length)return[];const ae=je.split(/\s+/).map(Ne=>Ne.split(":")).map(Ne=>vc[Ne[0]]||Ne),we=ae.filter(Ne=>Ne.includes("manual"));if(we.length>1)throw"Triggers parse error: only one manual trigger is allowed";if(1===we.length&&ae.length>1)throw"Triggers parse error: manual trigger can't be mixed with other triggers";return we.length?[]:ae}(je);if(0===Vt.length)return()=>{};const Ut=new Set,ei=[];let ii;function wi(Ai,yn){be.addEventListener(Ai,yn),ei.push(()=>be.removeEventListener(Ai,yn))}function _i(Ai,yn){clearTimeout(ii),yn>0?ii=setTimeout(Ai,yn):Ai()}for(const[Ai,yn]of Vt)yn?(wi(Ai,()=>{Ut.add(Ai),_i(()=>Ut.size>0&&we(),it)}),wi(yn,()=>{Ut.delete(Ai),_i(()=>0===Ut.size&&Ne(),ft)})):wi(Ai,()=>ae()?_i(Ne,ft):_i(we,it));return()=>ei.forEach(Ai=>Ai())}(this._nativeElement,this.triggers,this.isOpen.bind(this),this.open.bind(this),this.close.bind(this),+this.openDelay,+this.closeDelay)}ngOnChanges({ngbPopover:ae,popoverTitle:we,disablePopover:Ne,popoverClass:it}){it&&this.isOpen()&&this._windowRef.setInput("popoverClass",it.currentValue),(ae||we||Ne)&&this._isDisabled()&&this.close()}ngOnDestroy(){this.close(!1),this._unregisterListenersFn?.()}_isDisabled(){return!!this.disablePopover||!this.ngbPopover&&!this.popoverTitle}_getPositionTargetElement(){return(_a(this.positionTarget)?this._document.querySelector(this.positionTarget):this.positionTarget)||this._nativeElement}static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275dir=M.FsC({type:be,selectors:[["","ngbPopover",""]],inputs:{animation:"animation",autoClose:"autoClose",ngbPopover:"ngbPopover",popoverTitle:"popoverTitle",placement:"placement",popperOptions:"popperOptions",triggers:"triggers",positionTarget:"positionTarget",container:"container",disablePopover:"disablePopover",popoverClass:"popoverClass",popoverContext:"popoverContext",openDelay:"openDelay",closeDelay:"closeDelay"},outputs:{shown:"shown",hidden:"hidden"},exportAs:["ngbPopover"],standalone:!0,features:[M.OA$]})}return be})(),Qc=(()=>{class be{static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275mod=M.$C({type:be});static#i=this.\u0275inj=M.G2t({})}return be})(),ql=(()=>{class be{static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275mod=M.$C({type:be});static#i=this.\u0275inj=M.G2t({})}return be})(),ao=(()=>{class be{static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275mod=M.$C({type:be});static#i=this.\u0275inj=M.G2t({})}return be})(),bp=(()=>{class be{static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275mod=M.$C({type:be});static#i=this.\u0275inj=M.G2t({})}return be})(),yp=(()=>{class be{static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275mod=M.$C({type:be});static#i=this.\u0275inj=M.G2t({})}return be})(),yc=(()=>{class be{static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275mod=M.$C({type:be});static#i=this.\u0275inj=M.G2t({})}return be})(),ko=(()=>{class be{static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275mod=M.$C({type:be});static#i=this.\u0275inj=M.G2t({})}return be})();new M.nKC("live announcer delay",{providedIn:"root",factory:()=>100});let th=(()=>{class be{static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275mod=M.$C({type:be});static#i=this.\u0275inj=M.G2t({})}return be})(),Gh=(()=>{class be{static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275mod=M.$C({type:be});static#i=this.\u0275inj=M.G2t({})}return be})();const rh=[Sn,Pr,Bo,cc,Wd,Dh,Wl,Zd,Gh,Kl,Qc,ql,ao,bp,yp,yc,ko,th];let hu=(()=>{class be{static#e=this.\u0275fac=function(we){return new(we||be)};static#t=this.\u0275mod=M.$C({type:be});static#i=this.\u0275inj=M.G2t({imports:[rh,Sn,Pr,Bo,cc,Wd,Dh,Wl,Zd,Gh,Kl,Qc,ql,ao,bp,yp,yc,ko,th]})}return be})()},97013:(ri,Ft,He)=>{"use strict";He.d(Ft,{Uq:()=>Qt,vr:()=>nr,MQ:()=>Nt});var M=He(54438),e=He(89417),V=He(56977),Pe=He(43236),Z=He(39974),ie=He(58750),re=He(54360),le=He(41584);var pe=He(99172),J=He(88141),te=He(70152),$=He(5964),A=He(96354),B=He(30536),F=He(96780);let D,L=1;const I={};function E(bt){return bt in I&&(delete I[bt],!0)}const _={setImmediate(bt){const xt=L++;return I[xt]=!0,D||(D=Promise.resolve()),D.then(()=>E(xt)&&bt()),xt},clearImmediate(bt){E(bt)}},{setImmediate:T,clearImmediate:z}=_,O={setImmediate(...bt){const{delegate:xt}=O;return(xt?.setImmediate||T)(...bt)},clearImmediate(bt){const{delegate:xt}=O;return(xt?.clearImmediate||z)(bt)},delegate:void 0};var a=He(39687);const y=new class g extends a.q{flush(xt){this._active=!0;const $e=this._scheduled;this._scheduled=void 0;const{actions:yt}=this;let It;xt=xt||yt.shift();do{if(It=xt.execute(xt.state,xt.delay))break}while((xt=yt[0])&&xt.id===$e&&yt.shift());if(this._active=!1,It){for(;(xt=yt[0])&&xt.id===$e&&yt.shift();)xt.unsubscribe();throw It}}}(class f extends F.R{constructor(xt,$e){super(xt,$e),this.scheduler=xt,this.work=$e}requestAsyncId(xt,$e,yt=0){return null!==yt&&yt>0?super.requestAsyncId(xt,$e,yt):(xt.actions.push(this),xt._scheduled||(xt._scheduled=O.setImmediate(xt.flush.bind(xt,void 0))))}recycleAsyncId(xt,$e,yt=0){var It;if(null!=yt?yt>0:this.delay>0)return super.recycleAsyncId(xt,$e,yt);const{actions:$t}=xt;null!=$e&&(null===(It=$t[$t.length-1])||void 0===It?void 0:It.id)!==$e&&(O.clearImmediate($e),xt._scheduled===$e&&(xt._scheduled=void 0))}});var n=He(21413),r=He(33726),l=He(57786),d=He(60177);const C=["content"],k=["scroll"],p=["padding"],S=["*"],j=bt=>({searchTerm:bt});function H(bt,xt){if(1&bt&&(M.j41(0,"div",6),M.eu8(1,7),M.k0s()),2&bt){const $e=M.XpG();M.R7$(),M.Y8G("ngTemplateOutlet",$e.headerTemplate)("ngTemplateOutletContext",M.eq3(2,j,$e.filterValue))}}function Y(bt,xt){if(1&bt&&(M.j41(0,"div",8),M.eu8(1,7),M.k0s()),2&bt){const $e=M.XpG();M.R7$(),M.Y8G("ngTemplateOutlet",$e.footerTemplate)("ngTemplateOutletContext",M.eq3(2,j,$e.filterValue))}}const U=["searchInput"],se=["clearButton"],w=(bt,xt,$e)=>({item:bt,clear:xt,label:$e}),X=(bt,xt)=>({items:bt,clear:xt}),G=(bt,xt,$e,yt)=>({item:bt,item$:xt,index:$e,searchTerm:yt});function x(bt,xt){if(1&bt){const $e=M.RV6();M.j41(0,"span",22),M.bIt("click",function(){M.eBV($e);const It=M.XpG().$implicit,$t=M.XpG(2);return M.Njj($t.unselect(It))}),M.EFF(1,"\xd7"),M.k0s(),M.nrm(2,"span",23)}if(2&bt){const $e=M.XpG().$implicit,yt=M.XpG(2);M.R7$(2),M.Y8G("ngItemLabel",$e.label)("escape",yt.escapeHTML)}}function N(bt,xt){}function R(bt,xt){if(1&bt&&(M.j41(0,"div",20),M.DNE(1,x,3,2,"ng-template",null,1,M.C5r)(3,N,0,0,"ng-template",21),M.k0s()),2&bt){const $e=xt.$implicit,yt=M.sdS(2),It=M.XpG(2);M.AVh("ng-value-disabled",$e.disabled),M.R7$(3),M.Y8G("ngTemplateOutlet",It.labelTemplate||yt)("ngTemplateOutletContext",M.sMw(4,w,$e.value,It.clearItem,$e.label))}}function K(bt,xt){if(1&bt&&(M.qex(0),M.DNE(1,R,4,8,"div",19),M.bVm()),2&bt){const $e=M.XpG();M.R7$(),M.Y8G("ngForOf",$e.selectedItems)("ngForTrackBy",$e.trackByOption)}}function q(bt,xt){}function he(bt,xt){if(1&bt&&M.DNE(0,q,0,0,"ng-template",21),2&bt){const $e=M.XpG();M.Y8G("ngTemplateOutlet",$e.multiLabelTemplate)("ngTemplateOutletContext",M.l_i(2,X,$e.selectedValues,$e.clearItem))}}function me(bt,xt){1&bt&&M.nrm(0,"div",25)}function Ce(bt,xt){}function Se(bt,xt){if(1&bt&&(M.qex(0),M.DNE(1,me,1,0,"ng-template",null,2,M.C5r)(3,Ce,0,0,"ng-template",24),M.bVm()),2&bt){const $e=M.sdS(2),yt=M.XpG();M.R7$(3),M.Y8G("ngTemplateOutlet",yt.loadingSpinnerTemplate||$e)}}function Oe(bt,xt){if(1&bt&&(M.j41(0,"span",26,3)(2,"span",27),M.EFF(3,"\xd7"),M.k0s()()),2&bt){const $e=M.XpG();M.FS9("title",$e.clearAllText)}}function Ae(bt,xt){if(1&bt&&M.nrm(0,"span",32),2&bt){const $e=M.XpG().$implicit,yt=M.XpG(2);M.Y8G("ngItemLabel",$e.label)("escape",yt.escapeHTML)}}function Fe(bt,xt){}function oe(bt,xt){if(1&bt){const $e=M.RV6();M.j41(0,"div",31),M.bIt("click",function(){const It=M.eBV($e).$implicit,$t=M.XpG(2);return M.Njj($t.toggleItem(It))})("mouseover",function(){const It=M.eBV($e).$implicit,$t=M.XpG(2);return M.Njj($t.onItemHover(It))}),M.DNE(1,Ae,1,2,"ng-template",null,4,M.C5r)(3,Fe,0,0,"ng-template",21),M.k0s()}if(2&bt){const $e=xt.$implicit,yt=M.sdS(2),It=M.XpG(2);M.AVh("ng-option-disabled",$e.disabled)("ng-option-selected",$e.selected)("ng-optgroup",$e.children)("ng-option",!$e.children)("ng-option-child",!!$e.parent)("ng-option-marked",$e===It.itemsList.markedItem),M.BMQ("role",$e.children?"group":"option")("aria-selected",$e.selected)("id",null==$e?null:$e.htmlId),M.R7$(3),M.Y8G("ngTemplateOutlet",$e.children?It.optgroupTemplate||yt:It.optionTemplate||yt)("ngTemplateOutletContext",M.ziG(17,G,$e.value,$e,$e.index,It.searchTerm))}}function ee(bt,xt){if(1&bt&&(M.j41(0,"span")(1,"span",34),M.EFF(2),M.k0s(),M.EFF(3),M.k0s()),2&bt){const $e=M.XpG(3);M.R7$(2),M.JRh($e.addTagText),M.R7$(),M.SpI('"',$e.searchTerm,'"')}}function de(bt,xt){}function ye(bt,xt){if(1&bt){const $e=M.RV6();M.j41(0,"div",33),M.bIt("mouseover",function(){M.eBV($e);const It=M.XpG(2);return M.Njj(It.itemsList.unmarkItem())})("click",function(){M.eBV($e);const It=M.XpG(2);return M.Njj(It.selectTag())}),M.DNE(1,ee,4,2,"ng-template",null,5,M.C5r)(3,de,0,0,"ng-template",21),M.k0s()}if(2&bt){const $e=M.sdS(2),yt=M.XpG(2);M.AVh("ng-option-marked",!yt.itemsList.markedItem),M.R7$(3),M.Y8G("ngTemplateOutlet",yt.tagTemplate||$e)("ngTemplateOutletContext",M.eq3(4,j,yt.searchTerm))}}function Te(bt,xt){if(1&bt&&(M.j41(0,"div",35),M.EFF(1),M.k0s()),2&bt){const $e=M.XpG(3);M.R7$(),M.JRh($e.notFoundText)}}function _e(bt,xt){}function Me(bt,xt){if(1&bt&&(M.qex(0),M.DNE(1,Te,2,1,"ng-template",null,6,M.C5r)(3,_e,0,0,"ng-template",21),M.bVm()),2&bt){const $e=M.sdS(2),yt=M.XpG(2);M.R7$(3),M.Y8G("ngTemplateOutlet",yt.notFoundTemplate||$e)("ngTemplateOutletContext",M.eq3(2,j,yt.searchTerm))}}function Ee(bt,xt){if(1&bt&&(M.j41(0,"div",35),M.EFF(1),M.k0s()),2&bt){const $e=M.XpG(3);M.R7$(),M.JRh($e.typeToSearchText)}}function Xe(bt,xt){}function Ze(bt,xt){if(1&bt&&(M.qex(0),M.DNE(1,Ee,2,1,"ng-template",null,7,M.C5r)(3,Xe,0,0,"ng-template",24),M.bVm()),2&bt){const $e=M.sdS(2),yt=M.XpG(2);M.R7$(3),M.Y8G("ngTemplateOutlet",yt.typeToSearchTemplate||$e)}}function lt(bt,xt){if(1&bt&&(M.j41(0,"div",35),M.EFF(1),M.k0s()),2&bt){const $e=M.XpG(3);M.R7$(),M.JRh($e.loadingText)}}function Qe(bt,xt){}function st(bt,xt){if(1&bt&&(M.qex(0),M.DNE(1,lt,2,1,"ng-template",null,8,M.C5r)(3,Qe,0,0,"ng-template",21),M.bVm()),2&bt){const $e=M.sdS(2),yt=M.XpG(2);M.R7$(3),M.Y8G("ngTemplateOutlet",yt.loadingTextTemplate||$e)("ngTemplateOutletContext",M.eq3(2,j,yt.searchTerm))}}function kt(bt,xt){if(1&bt){const $e=M.RV6();M.j41(0,"ng-dropdown-panel",28),M.bIt("update",function(It){M.eBV($e);const $t=M.XpG();return M.Njj($t.viewPortItems=It)})("scroll",function(It){M.eBV($e);const $t=M.XpG();return M.Njj($t.scroll.emit(It))})("scrollToEnd",function(It){M.eBV($e);const $t=M.XpG();return M.Njj($t.scrollToEnd.emit(It))})("outsideClick",function(){M.eBV($e);const It=M.XpG();return M.Njj(It.close())}),M.qex(1),M.DNE(2,oe,4,22,"div",29)(3,ye,4,6,"div",30),M.bVm(),M.DNE(4,Me,4,4,"ng-container",12)(5,Ze,4,1,"ng-container",12)(6,st,4,4,"ng-container",12),M.k0s()}if(2&bt){const $e=M.XpG();M.AVh("ng-select-multiple",$e.multiple),M.Y8G("virtualScroll",$e.virtualScroll)("bufferAmount",$e.bufferAmount)("appendTo",$e.appendTo)("position",$e.dropdownPosition)("headerTemplate",$e.headerTemplate)("footerTemplate",$e.footerTemplate)("filterValue",$e.searchTerm)("items",$e.itemsList.filteredItems)("markedItem",$e.itemsList.markedItem)("ngClass",$e.appendTo?$e.classes:null)("id",$e.dropdownId),M.R7$(2),M.Y8G("ngForOf",$e.viewPortItems)("ngForTrackBy",$e.trackByOption),M.R7$(),M.Y8G("ngIf",$e.showAddTag),M.R7$(),M.Y8G("ngIf",$e.showNoItemsFound()),M.R7$(),M.Y8G("ngIf",$e.showTypeToSearch()),M.R7$(),M.Y8G("ngIf",$e.loading&&0===$e.itemsList.filteredItems.length)}}const pt=/[&<>"']/g,ht=RegExp(pt.source),Lt={"&":"&","<":"<",">":">",'"':""","'":"'"};function ti(bt){return null!=bt}function Dt(bt){return"object"==typeof bt&&ti(bt)}function _t(bt){return bt instanceof Function}let wt=(()=>{class bt{constructor($e){this.element=$e,this.escape=!0}ngOnChanges($e){this.element.nativeElement.innerHTML=this.escape?function Gt(bt){return bt&&ht.test(bt)?bt.replace(pt,xt=>Lt[xt]):bt}(this.ngItemLabel):this.ngItemLabel}static#e=this.\u0275fac=function(yt){return new(yt||bt)(M.rXU(M.aKT))};static#t=this.\u0275dir=M.FsC({type:bt,selectors:[["","ngItemLabel",""]],inputs:{ngItemLabel:"ngItemLabel",escape:"escape"},features:[M.OA$]})}return bt})(),Qt=(()=>{class bt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||bt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:bt,selectors:[["","ng-option-tmp",""]]})}return bt})(),di=(()=>{class bt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||bt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:bt,selectors:[["","ng-optgroup-tmp",""]]})}return bt})(),Fi=(()=>{class bt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||bt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:bt,selectors:[["","ng-label-tmp",""]]})}return bt})(),mi=(()=>{class bt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||bt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:bt,selectors:[["","ng-multi-label-tmp",""]]})}return bt})(),vi=(()=>{class bt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||bt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:bt,selectors:[["","ng-header-tmp",""]]})}return bt})(),Gi=(()=>{class bt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||bt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:bt,selectors:[["","ng-footer-tmp",""]]})}return bt})(),xs=(()=>{class bt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||bt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:bt,selectors:[["","ng-notfound-tmp",""]]})}return bt})(),jn=(()=>{class bt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||bt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:bt,selectors:[["","ng-typetosearch-tmp",""]]})}return bt})(),ls=(()=>{class bt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||bt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:bt,selectors:[["","ng-loadingtext-tmp",""]]})}return bt})(),fs=(()=>{class bt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||bt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:bt,selectors:[["","ng-tag-tmp",""]]})}return bt})(),Gn=(()=>{class bt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||bt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:bt,selectors:[["","ng-loadingspinner-tmp",""]]})}return bt})();function dn(){return"axxxxxxxxxxx".replace(/[x]/g,()=>(16*Math.random()|0).toString(16))}const Mi={"\u24b6":"A",\uff21:"A",\u00c0:"A",\u00c1:"A",\u00c2:"A",\u1ea6:"A",\u1ea4:"A",\u1eaa:"A",\u1ea8:"A",\u00c3:"A",\u0100:"A",\u0102:"A",\u1eb0:"A",\u1eae:"A",\u1eb4:"A",\u1eb2:"A",\u0226:"A",\u01e0:"A",\u00c4:"A",\u01de:"A",\u1ea2:"A",\u00c5:"A",\u01fa:"A",\u01cd:"A",\u0200:"A",\u0202:"A",\u1ea0:"A",\u1eac:"A",\u1eb6:"A",\u1e00:"A",\u0104:"A",\u023a:"A",\u2c6f:"A",\ua732:"AA",\u00c6:"AE",\u01fc:"AE",\u01e2:"AE",\ua734:"AO",\ua736:"AU",\ua738:"AV",\ua73a:"AV",\ua73c:"AY","\u24b7":"B",\uff22:"B",\u1e02:"B",\u1e04:"B",\u1e06:"B",\u0243:"B",\u0182:"B",\u0181:"B","\u24b8":"C",\uff23:"C",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u00c7:"C",\u1e08:"C",\u0187:"C",\u023b:"C",\ua73e:"C","\u24b9":"D",\uff24:"D",\u1e0a:"D",\u010e:"D",\u1e0c:"D",\u1e10:"D",\u1e12:"D",\u1e0e:"D",\u0110:"D",\u018b:"D",\u018a:"D",\u0189:"D",\ua779:"D",\u01f1:"DZ",\u01c4:"DZ",\u01f2:"Dz",\u01c5:"Dz","\u24ba":"E",\uff25:"E",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u1ec0:"E",\u1ebe:"E",\u1ec4:"E",\u1ec2:"E",\u1ebc:"E",\u0112:"E",\u1e14:"E",\u1e16:"E",\u0114:"E",\u0116:"E",\u00cb:"E",\u1eba:"E",\u011a:"E",\u0204:"E",\u0206:"E",\u1eb8:"E",\u1ec6:"E",\u0228:"E",\u1e1c:"E",\u0118:"E",\u1e18:"E",\u1e1a:"E",\u0190:"E",\u018e:"E","\u24bb":"F",\uff26:"F",\u1e1e:"F",\u0191:"F",\ua77b:"F","\u24bc":"G",\uff27:"G",\u01f4:"G",\u011c:"G",\u1e20:"G",\u011e:"G",\u0120:"G",\u01e6:"G",\u0122:"G",\u01e4:"G",\u0193:"G",\ua7a0:"G",\ua77d:"G",\ua77e:"G","\u24bd":"H",\uff28:"H",\u0124:"H",\u1e22:"H",\u1e26:"H",\u021e:"H",\u1e24:"H",\u1e28:"H",\u1e2a:"H",\u0126:"H",\u2c67:"H",\u2c75:"H",\ua78d:"H","\u24be":"I",\uff29:"I",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u0128:"I",\u012a:"I",\u012c:"I",\u0130:"I",\u00cf:"I",\u1e2e:"I",\u1ec8:"I",\u01cf:"I",\u0208:"I",\u020a:"I",\u1eca:"I",\u012e:"I",\u1e2c:"I",\u0197:"I","\u24bf":"J",\uff2a:"J",\u0134:"J",\u0248:"J","\u24c0":"K",\uff2b:"K",\u1e30:"K",\u01e8:"K",\u1e32:"K",\u0136:"K",\u1e34:"K",\u0198:"K",\u2c69:"K",\ua740:"K",\ua742:"K",\ua744:"K",\ua7a2:"K","\u24c1":"L",\uff2c:"L",\u013f:"L",\u0139:"L",\u013d:"L",\u1e36:"L",\u1e38:"L",\u013b:"L",\u1e3c:"L",\u1e3a:"L",\u0141:"L",\u023d:"L",\u2c62:"L",\u2c60:"L",\ua748:"L",\ua746:"L",\ua780:"L",\u01c7:"LJ",\u01c8:"Lj","\u24c2":"M",\uff2d:"M",\u1e3e:"M",\u1e40:"M",\u1e42:"M",\u2c6e:"M",\u019c:"M","\u24c3":"N",\uff2e:"N",\u01f8:"N",\u0143:"N",\u00d1:"N",\u1e44:"N",\u0147:"N",\u1e46:"N",\u0145:"N",\u1e4a:"N",\u1e48:"N",\u0220:"N",\u019d:"N",\ua790:"N",\ua7a4:"N",\u01ca:"NJ",\u01cb:"Nj","\u24c4":"O",\uff2f:"O",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u1ed2:"O",\u1ed0:"O",\u1ed6:"O",\u1ed4:"O",\u00d5:"O",\u1e4c:"O",\u022c:"O",\u1e4e:"O",\u014c:"O",\u1e50:"O",\u1e52:"O",\u014e:"O",\u022e:"O",\u0230:"O",\u00d6:"O",\u022a:"O",\u1ece:"O",\u0150:"O",\u01d1:"O",\u020c:"O",\u020e:"O",\u01a0:"O",\u1edc:"O",\u1eda:"O",\u1ee0:"O",\u1ede:"O",\u1ee2:"O",\u1ecc:"O",\u1ed8:"O",\u01ea:"O",\u01ec:"O",\u00d8:"O",\u01fe:"O",\u0186:"O",\u019f:"O",\ua74a:"O",\ua74c:"O",\u01a2:"OI",\ua74e:"OO",\u0222:"OU","\u24c5":"P",\uff30:"P",\u1e54:"P",\u1e56:"P",\u01a4:"P",\u2c63:"P",\ua750:"P",\ua752:"P",\ua754:"P","\u24c6":"Q",\uff31:"Q",\ua756:"Q",\ua758:"Q",\u024a:"Q","\u24c7":"R",\uff32:"R",\u0154:"R",\u1e58:"R",\u0158:"R",\u0210:"R",\u0212:"R",\u1e5a:"R",\u1e5c:"R",\u0156:"R",\u1e5e:"R",\u024c:"R",\u2c64:"R",\ua75a:"R",\ua7a6:"R",\ua782:"R","\u24c8":"S",\uff33:"S",\u1e9e:"S",\u015a:"S",\u1e64:"S",\u015c:"S",\u1e60:"S",\u0160:"S",\u1e66:"S",\u1e62:"S",\u1e68:"S",\u0218:"S",\u015e:"S",\u2c7e:"S",\ua7a8:"S",\ua784:"S","\u24c9":"T",\uff34:"T",\u1e6a:"T",\u0164:"T",\u1e6c:"T",\u021a:"T",\u0162:"T",\u1e70:"T",\u1e6e:"T",\u0166:"T",\u01ac:"T",\u01ae:"T",\u023e:"T",\ua786:"T",\ua728:"TZ","\u24ca":"U",\uff35:"U",\u00d9:"U",\u00da:"U",\u00db:"U",\u0168:"U",\u1e78:"U",\u016a:"U",\u1e7a:"U",\u016c:"U",\u00dc:"U",\u01db:"U",\u01d7:"U",\u01d5:"U",\u01d9:"U",\u1ee6:"U",\u016e:"U",\u0170:"U",\u01d3:"U",\u0214:"U",\u0216:"U",\u01af:"U",\u1eea:"U",\u1ee8:"U",\u1eee:"U",\u1eec:"U",\u1ef0:"U",\u1ee4:"U",\u1e72:"U",\u0172:"U",\u1e76:"U",\u1e74:"U",\u0244:"U","\u24cb":"V",\uff36:"V",\u1e7c:"V",\u1e7e:"V",\u01b2:"V",\ua75e:"V",\u0245:"V",\ua760:"VY","\u24cc":"W",\uff37:"W",\u1e80:"W",\u1e82:"W",\u0174:"W",\u1e86:"W",\u1e84:"W",\u1e88:"W",\u2c72:"W","\u24cd":"X",\uff38:"X",\u1e8a:"X",\u1e8c:"X","\u24ce":"Y",\uff39:"Y",\u1ef2:"Y",\u00dd:"Y",\u0176:"Y",\u1ef8:"Y",\u0232:"Y",\u1e8e:"Y",\u0178:"Y",\u1ef6:"Y",\u1ef4:"Y",\u01b3:"Y",\u024e:"Y",\u1efe:"Y","\u24cf":"Z",\uff3a:"Z",\u0179:"Z",\u1e90:"Z",\u017b:"Z",\u017d:"Z",\u1e92:"Z",\u1e94:"Z",\u01b5:"Z",\u0224:"Z",\u2c7f:"Z",\u2c6b:"Z",\ua762:"Z","\u24d0":"a",\uff41:"a",\u1e9a:"a",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u1ea7:"a",\u1ea5:"a",\u1eab:"a",\u1ea9:"a",\u00e3:"a",\u0101:"a",\u0103:"a",\u1eb1:"a",\u1eaf:"a",\u1eb5:"a",\u1eb3:"a",\u0227:"a",\u01e1:"a",\u00e4:"a",\u01df:"a",\u1ea3:"a",\u00e5:"a",\u01fb:"a",\u01ce:"a",\u0201:"a",\u0203:"a",\u1ea1:"a",\u1ead:"a",\u1eb7:"a",\u1e01:"a",\u0105:"a",\u2c65:"a",\u0250:"a",\ua733:"aa",\u00e6:"ae",\u01fd:"ae",\u01e3:"ae",\ua735:"ao",\ua737:"au",\ua739:"av",\ua73b:"av",\ua73d:"ay","\u24d1":"b",\uff42:"b",\u1e03:"b",\u1e05:"b",\u1e07:"b",\u0180:"b",\u0183:"b",\u0253:"b","\u24d2":"c",\uff43:"c",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u00e7:"c",\u1e09:"c",\u0188:"c",\u023c:"c",\ua73f:"c",\u2184:"c","\u24d3":"d",\uff44:"d",\u1e0b:"d",\u010f:"d",\u1e0d:"d",\u1e11:"d",\u1e13:"d",\u1e0f:"d",\u0111:"d",\u018c:"d",\u0256:"d",\u0257:"d",\ua77a:"d",\u01f3:"dz",\u01c6:"dz","\u24d4":"e",\uff45:"e",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u1ec1:"e",\u1ebf:"e",\u1ec5:"e",\u1ec3:"e",\u1ebd:"e",\u0113:"e",\u1e15:"e",\u1e17:"e",\u0115:"e",\u0117:"e",\u00eb:"e",\u1ebb:"e",\u011b:"e",\u0205:"e",\u0207:"e",\u1eb9:"e",\u1ec7:"e",\u0229:"e",\u1e1d:"e",\u0119:"e",\u1e19:"e",\u1e1b:"e",\u0247:"e",\u025b:"e",\u01dd:"e","\u24d5":"f",\uff46:"f",\u1e1f:"f",\u0192:"f",\ua77c:"f","\u24d6":"g",\uff47:"g",\u01f5:"g",\u011d:"g",\u1e21:"g",\u011f:"g",\u0121:"g",\u01e7:"g",\u0123:"g",\u01e5:"g",\u0260:"g",\ua7a1:"g",\u1d79:"g",\ua77f:"g","\u24d7":"h",\uff48:"h",\u0125:"h",\u1e23:"h",\u1e27:"h",\u021f:"h",\u1e25:"h",\u1e29:"h",\u1e2b:"h",\u1e96:"h",\u0127:"h",\u2c68:"h",\u2c76:"h",\u0265:"h",\u0195:"hv","\u24d8":"i",\uff49:"i",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u0129:"i",\u012b:"i",\u012d:"i",\u00ef:"i",\u1e2f:"i",\u1ec9:"i",\u01d0:"i",\u0209:"i",\u020b:"i",\u1ecb:"i",\u012f:"i",\u1e2d:"i",\u0268:"i",\u0131:"i","\u24d9":"j",\uff4a:"j",\u0135:"j",\u01f0:"j",\u0249:"j","\u24da":"k",\uff4b:"k",\u1e31:"k",\u01e9:"k",\u1e33:"k",\u0137:"k",\u1e35:"k",\u0199:"k",\u2c6a:"k",\ua741:"k",\ua743:"k",\ua745:"k",\ua7a3:"k","\u24db":"l",\uff4c:"l",\u0140:"l",\u013a:"l",\u013e:"l",\u1e37:"l",\u1e39:"l",\u013c:"l",\u1e3d:"l",\u1e3b:"l",\u017f:"l",\u0142:"l",\u019a:"l",\u026b:"l",\u2c61:"l",\ua749:"l",\ua781:"l",\ua747:"l",\u01c9:"lj","\u24dc":"m",\uff4d:"m",\u1e3f:"m",\u1e41:"m",\u1e43:"m",\u0271:"m",\u026f:"m","\u24dd":"n",\uff4e:"n",\u01f9:"n",\u0144:"n",\u00f1:"n",\u1e45:"n",\u0148:"n",\u1e47:"n",\u0146:"n",\u1e4b:"n",\u1e49:"n",\u019e:"n",\u0272:"n",\u0149:"n",\ua791:"n",\ua7a5:"n",\u01cc:"nj","\u24de":"o",\uff4f:"o",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u1ed3:"o",\u1ed1:"o",\u1ed7:"o",\u1ed5:"o",\u00f5:"o",\u1e4d:"o",\u022d:"o",\u1e4f:"o",\u014d:"o",\u1e51:"o",\u1e53:"o",\u014f:"o",\u022f:"o",\u0231:"o",\u00f6:"o",\u022b:"o",\u1ecf:"o",\u0151:"o",\u01d2:"o",\u020d:"o",\u020f:"o",\u01a1:"o",\u1edd:"o",\u1edb:"o",\u1ee1:"o",\u1edf:"o",\u1ee3:"o",\u1ecd:"o",\u1ed9:"o",\u01eb:"o",\u01ed:"o",\u00f8:"o",\u01ff:"o",\u0254:"o",\ua74b:"o",\ua74d:"o",\u0275:"o",\u01a3:"oi",\u0223:"ou",\ua74f:"oo","\u24df":"p",\uff50:"p",\u1e55:"p",\u1e57:"p",\u01a5:"p",\u1d7d:"p",\ua751:"p",\ua753:"p",\ua755:"p","\u24e0":"q",\uff51:"q",\u024b:"q",\ua757:"q",\ua759:"q","\u24e1":"r",\uff52:"r",\u0155:"r",\u1e59:"r",\u0159:"r",\u0211:"r",\u0213:"r",\u1e5b:"r",\u1e5d:"r",\u0157:"r",\u1e5f:"r",\u024d:"r",\u027d:"r",\ua75b:"r",\ua7a7:"r",\ua783:"r","\u24e2":"s",\uff53:"s",\u00df:"s",\u015b:"s",\u1e65:"s",\u015d:"s",\u1e61:"s",\u0161:"s",\u1e67:"s",\u1e63:"s",\u1e69:"s",\u0219:"s",\u015f:"s",\u023f:"s",\ua7a9:"s",\ua785:"s",\u1e9b:"s","\u24e3":"t",\uff54:"t",\u1e6b:"t",\u1e97:"t",\u0165:"t",\u1e6d:"t",\u021b:"t",\u0163:"t",\u1e71:"t",\u1e6f:"t",\u0167:"t",\u01ad:"t",\u0288:"t",\u2c66:"t",\ua787:"t",\ua729:"tz","\u24e4":"u",\uff55:"u",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u0169:"u",\u1e79:"u",\u016b:"u",\u1e7b:"u",\u016d:"u",\u00fc:"u",\u01dc:"u",\u01d8:"u",\u01d6:"u",\u01da:"u",\u1ee7:"u",\u016f:"u",\u0171:"u",\u01d4:"u",\u0215:"u",\u0217:"u",\u01b0:"u",\u1eeb:"u",\u1ee9:"u",\u1eef:"u",\u1eed:"u",\u1ef1:"u",\u1ee5:"u",\u1e73:"u",\u0173:"u",\u1e77:"u",\u1e75:"u",\u0289:"u","\u24e5":"v",\uff56:"v",\u1e7d:"v",\u1e7f:"v",\u028b:"v",\ua75f:"v",\u028c:"v",\ua761:"vy","\u24e6":"w",\uff57:"w",\u1e81:"w",\u1e83:"w",\u0175:"w",\u1e87:"w",\u1e85:"w",\u1e98:"w",\u1e89:"w",\u2c73:"w","\u24e7":"x",\uff58:"x",\u1e8b:"x",\u1e8d:"x","\u24e8":"y",\uff59:"y",\u1ef3:"y",\u00fd:"y",\u0177:"y",\u1ef9:"y",\u0233:"y",\u1e8f:"y",\u00ff:"y",\u1ef7:"y",\u1e99:"y",\u1ef5:"y",\u01b4:"y",\u024f:"y",\u1eff:"y","\u24e9":"z",\uff5a:"z",\u017a:"z",\u1e91:"z",\u017c:"z",\u017e:"z",\u1e93:"z",\u1e95:"z",\u01b6:"z",\u0225:"z",\u0240:"z",\u2c6c:"z",\ua763:"z",\u0386:"\u0391",\u0388:"\u0395",\u0389:"\u0397",\u038a:"\u0399",\u03aa:"\u0399",\u038c:"\u039f",\u038e:"\u03a5",\u03ab:"\u03a5",\u038f:"\u03a9",\u03ac:"\u03b1",\u03ad:"\u03b5",\u03ae:"\u03b7",\u03af:"\u03b9",\u03ca:"\u03b9",\u0390:"\u03b9",\u03cc:"\u03bf",\u03cd:"\u03c5",\u03cb:"\u03c5",\u03b0:"\u03c5",\u03c9:"\u03c9",\u03c2:"\u03c3"};function _s(bt){return bt.replace(/[^\u0000-\u007E]/g,$e=>Mi[$e]||$e)}class On{constructor(xt,$e){this._ngSelect=xt,this._selectionModel=$e,this._items=[],this._filteredItems=[],this._markedIndex=-1}get items(){return this._items}get filteredItems(){return this._filteredItems}get markedIndex(){return this._markedIndex}get selectedItems(){return this._selectionModel.value}get markedItem(){return this._filteredItems[this._markedIndex]}get noItemsToSelect(){return this._ngSelect.hideSelected&&this._items.length===this.selectedItems.length}get maxItemsSelected(){return this._ngSelect.multiple&&this._ngSelect.maxSelectedItems<=this.selectedItems.length}get lastSelectedItem(){let xt=this.selectedItems.length-1;for(;xt>=0;xt--){const $e=this.selectedItems[xt];if(!$e.disabled)return $e}return null}setItems(xt){this._items=xt.map(($e,yt)=>this.mapItem($e,yt)),this._ngSelect.groupBy?(this._groups=this._groupBy(this._items,this._ngSelect.groupBy),this._items=this._flatten(this._groups)):(this._groups=new Map,this._groups.set(void 0,this._items)),this._filteredItems=[...this._items]}select(xt){if(xt.selected||this.maxItemsSelected)return;const $e=this._ngSelect.multiple;$e||this.clearSelected(),this._selectionModel.select(xt,$e,this._ngSelect.selectableGroupAsModel),this._ngSelect.hideSelected&&this._hideSelected(xt)}unselect(xt){xt.selected&&(this._selectionModel.unselect(xt,this._ngSelect.multiple),this._ngSelect.hideSelected&&ti(xt.index)&&this._ngSelect.multiple&&this._showSelected(xt))}findItem(xt){let $e;return $e=this._ngSelect.compareWith?yt=>this._ngSelect.compareWith(yt.value,xt):this._ngSelect.bindValue?yt=>!yt.children&&this.resolveNested(yt.value,this._ngSelect.bindValue)===xt:yt=>yt.value===xt||!yt.children&&yt.label&&yt.label===this.resolveNested(xt,this._ngSelect.bindLabel),this._items.find(yt=>$e(yt))}addItem(xt){const $e=this.mapItem(xt,this._items.length);return this._items.push($e),this._filteredItems.push($e),$e}clearSelected(xt=!1){this._selectionModel.clear(xt),this._items.forEach($e=>{$e.selected=xt&&$e.selected&&$e.disabled,$e.marked=!1}),this._ngSelect.hideSelected&&this.resetFilteredItems()}findByLabel(xt){return xt=_s(xt).toLocaleLowerCase(),this.filteredItems.find($e=>_s($e.label).toLocaleLowerCase().substr(0,xt.length)===xt)}filter(xt){if(!xt)return void this.resetFilteredItems();this._filteredItems=[],xt=this._ngSelect.searchFn?xt:_s(xt).toLocaleLowerCase();const $e=this._ngSelect.searchFn||this._defaultSearchFn,yt=this._ngSelect.hideSelected;for(const It of Array.from(this._groups.keys())){const $t=[];for(const si of this._groups.get(It))yt&&(si.parent&&si.parent.selected||si.selected)||$e(xt,this._ngSelect.searchFn?si.value:si)&&$t.push(si);if($t.length>0){const[si]=$t.slice(-1);if(si.parent){const Ti=this._items.find(Si=>Si===si.parent);this._filteredItems.push(Ti)}this._filteredItems.push(...$t)}}}resetFilteredItems(){this._filteredItems.length!==this._items.length&&(this._filteredItems=this._ngSelect.hideSelected&&this.selectedItems.length>0?this._items.filter(xt=>!xt.selected):this._items)}unmarkItem(){this._markedIndex=-1}markNextItem(){this._stepToItem(1)}markPreviousItem(){this._stepToItem(-1)}markItem(xt){this._markedIndex=this._filteredItems.indexOf(xt)}markSelectedOrDefault(xt){if(0===this._filteredItems.length)return;const $e=this._getLastMarkedIndex();this._markedIndex=$e>-1?$e:xt?this.filteredItems.findIndex(yt=>!yt.disabled):-1}resolveNested(xt,$e){if(!Dt(xt))return xt;if(-1===$e.indexOf("."))return xt[$e];{const yt=$e.split(".");let It=xt;for(let $t=0,si=yt.length;$t-1===this.selectedItems.indexOf($e)))}_showSelected(xt){if(this._filteredItems.push(xt),xt.parent){const $e=xt.parent;this._filteredItems.find(It=>It===$e)||this._filteredItems.push($e)}else if(xt.children)for(const $e of xt.children)$e.selected=!1,this._filteredItems.push($e);this._filteredItems=[...this._filteredItems.sort(($e,yt)=>$e.index-yt.index)]}_hideSelected(xt){this._filteredItems=this._filteredItems.filter($e=>$e!==xt),xt.parent?xt.parent.children.every(yt=>yt.selected)&&(this._filteredItems=this._filteredItems.filter(yt=>yt!==xt.parent)):xt.children&&(this._filteredItems=this.filteredItems.filter($e=>$e.parent!==xt))}_defaultSearchFn(xt,$e){return _s($e.label).toLocaleLowerCase().indexOf(xt)>-1}_getNextItemIndex(xt){return xt>0?this._markedIndex>=this._filteredItems.length-1?0:this._markedIndex+1:this._markedIndex<=0?this._filteredItems.length-1:this._markedIndex-1}_stepToItem(xt){0===this._filteredItems.length||this._filteredItems.every($e=>$e.disabled)||(this._markedIndex=this._getNextItemIndex(xt),this.markedItem.disabled&&this._stepToItem(xt))}_getLastMarkedIndex(){if(this._ngSelect.hideSelected||this._markedIndex>-1&&void 0===this.markedItem)return-1;const xt=this._filteredItems.indexOf(this.lastSelectedItem);return this.lastSelectedItem&&xt<0?-1:Math.max(this.markedIndex,xt)}_groupBy(xt,$e){const yt=new Map;if(0===xt.length)return yt;if(Array.isArray(xt[0].value[$e])){for(const si of xt){const Ti=(si.value[$e]||[]).map((Si,Hi)=>this.mapItem(Si,Hi));yt.set(si,Ti)}return yt}const It=_t(this._ngSelect.groupBy),$t=si=>{const Ti=It?$e(si.value):si.value[$e];return ti(Ti)?Ti:void 0};for(const si of xt){const Ti=$t(si),Si=yt.get(Ti);Si?Si.push(si):yt.set(Ti,[si])}return yt}_flatten(xt){const $e=_t(this._ngSelect.groupBy),yt=[];for(const It of Array.from(xt.keys())){let $t=yt.length;if(void 0===It){const un=xt.get(void 0)||[];yt.push(...un.map(Xi=>(Xi.index=$t++,Xi)));continue}const si=Dt(It),Ti={label:si?"":String(It),children:void 0,parent:null,index:$t++,disabled:!this._ngSelect.selectableGroup,htmlId:dn()},Si=$e?this._ngSelect.bindLabel:this._ngSelect.groupBy,Hi=this._ngSelect.groupValue||(()=>si?It.value:{[Si]:It}),ss=xt.get(It).map(un=>(un.parent=Ti,un.children=void 0,un.index=$t++,un));Ti.children=ss,Ti.value=Hi(It,ss.map(un=>un.value)),yt.push(Ti),yt.push(...ss)}return yt}}var Pn=function(bt){return bt[bt.Tab=9]="Tab",bt[bt.Enter=13]="Enter",bt[bt.Esc=27]="Esc",bt[bt.Space=32]="Space",bt[bt.ArrowUp=38]="ArrowUp",bt[bt.ArrowDown=40]="ArrowDown",bt[bt.Backspace=8]="Backspace",bt}(Pn||{});let As=(()=>{class bt{constructor(){this._dimensions={itemHeight:0,panelHeight:0,itemsPerViewport:0}}get dimensions(){return this._dimensions}calculateItems($e,yt,It){const $t=this._dimensions,si=$t.itemHeight*yt,Si=Math.max(0,$e)/si*yt;let Hi=Math.min(yt,Math.ceil(Si)+($t.itemsPerViewport+1));const un=Math.max(0,Hi-$t.itemsPerViewport);let Xi=Math.min(un,Math.floor(Si)),cn=$t.itemHeight*Math.ceil(Xi)-$t.itemHeight*Math.min(Xi,It);return cn=isNaN(cn)?0:cn,Xi=isNaN(Xi)?-1:Xi,Hi=isNaN(Hi)?-1:Hi,Xi-=It,Xi=Math.max(0,Xi),Hi+=It,Hi=Math.min(yt,Hi),{topPadding:cn,scrollHeight:si,start:Xi,end:Hi}}setDimensions($e,yt){const It=Math.max(1,Math.floor(yt/$e));this._dimensions={itemHeight:$e,panelHeight:yt,itemsPerViewport:It}}getScrollTo($e,yt,It){const{panelHeight:$t}=this.dimensions,si=$e+yt,Si=It+$t;return $t>=si&&It===$e?null:si>Si?It+si-Si:$e<=It?$e:null}static#e=this.\u0275fac=function(yt){return new(yt||bt)};static#t=this.\u0275prov=M.jDH({token:bt,factory:bt.\u0275fac})}return bt})();const $n=["top","right","bottom","left"],$i=typeof requestAnimationFrame<"u"?B.X:y;let Cs=(()=>{class bt{constructor($e,yt,It,$t,si){this._renderer=$e,this._zone=yt,this._panelService=It,this._document=si,this.items=[],this.position="auto",this.virtualScroll=!1,this.filterValue=null,this.update=new M.bkB,this.scroll=new M.bkB,this.scrollToEnd=new M.bkB,this.outsideClick=new M.bkB,this._destroy$=new n.B,this._scrollToEndFired=!1,this._updateScrollHeight=!1,this._lastScrollPosition=0,this._dropdown=$t.nativeElement}get currentPosition(){return this._currentPosition}get itemsLength(){return this._itemsLength}set itemsLength($e){$e!==this._itemsLength&&(this._itemsLength=$e,this._onItemsLengthChanged())}get _startOffset(){if(this.markedItem){const{itemHeight:$e,panelHeight:yt}=this._panelService.dimensions,It=this.markedItem.index*$e;return yt>It?0:It}return 0}ngOnInit(){this._select=this._dropdown.parentElement,this._virtualPadding=this.paddingElementRef.nativeElement,this._scrollablePanel=this.scrollElementRef.nativeElement,this._contentPanel=this.contentElementRef.nativeElement,this._handleScroll(),this._handleOutsideClick(),this._appendDropdown(),this._setupMousedownListener()}ngOnChanges($e){if($e.items){const yt=$e.items;this._onItemsChange(yt.currentValue,yt.firstChange)}}ngOnDestroy(){this._destroy$.next(),this._destroy$.complete(),this._destroy$.unsubscribe(),this.appendTo&&this._renderer.removeChild(this._dropdown.parentNode,this._dropdown)}scrollTo($e,yt=!1){if(!$e)return;const It=this.items.indexOf($e);if(It<0||It>=this.itemsLength)return;let $t;if(this.virtualScroll){const si=this._panelService.dimensions.itemHeight;$t=this._panelService.getScrollTo(It*si,si,this._lastScrollPosition)}else{const si=this._dropdown.querySelector(`#${$e.htmlId}`);$t=this._panelService.getScrollTo(si.offsetTop,si.clientHeight,yt?si.offsetTop:this._lastScrollPosition)}ti($t)&&(this._scrollablePanel.scrollTop=$t)}scrollToTag(){const $e=this._scrollablePanel;$e.scrollTop=$e.scrollHeight-$e.clientHeight}adjustPosition(){this._updateYPosition()}_handleDropdownPosition(){this._currentPosition=this._calculateCurrentPosition(this._dropdown),$n.includes(this._currentPosition)?this._updateDropdownClass(this._currentPosition):this._updateDropdownClass("bottom"),this.appendTo&&this._updateYPosition(),this._dropdown.style.opacity="1"}_updateDropdownClass($e){$n.forEach(It=>{const $t=`ng-select-${It}`;this._renderer.removeClass(this._dropdown,$t),this._renderer.removeClass(this._select,$t)});const yt=`ng-select-${$e}`;this._renderer.addClass(this._dropdown,yt),this._renderer.addClass(this._select,yt)}_handleScroll(){this._zone.runOutsideAngular(()=>{(0,r.R)(this.scrollElementRef.nativeElement,"scroll").pipe((0,V.Q)(this._destroy$),function fe(bt,xt=Pe.E){return function ve(bt){return(0,Z.N)((xt,$e)=>{let yt=!1,It=null,$t=null,si=!1;const Ti=()=>{if($t?.unsubscribe(),$t=null,yt){yt=!1;const Hi=It;It=null,$e.next(Hi)}si&&$e.complete()},Si=()=>{$t=null,si&&$e.complete()};xt.subscribe((0,re._)($e,Hi=>{yt=!0,It=Hi,$t||(0,ie.Tg)(bt(Hi)).subscribe($t=(0,re._)($e,Ti,Si))},()=>{si=!0,(!yt||!$t||$t.closed)&&$e.complete()}))})}(()=>(0,le.O)(bt,xt))}(0,$i)).subscribe($e=>{const yt=$e.path||$e.composedPath&&$e.composedPath();yt&&(0!==yt.length||$e.target)&&this._onContentScrolled(yt&&0!==yt.length?yt[0].scrollTop:$e.target.scrollTop)})})}_handleOutsideClick(){this._document&&this._zone.runOutsideAngular(()=>{(0,l.h)((0,r.R)(this._document,"touchstart",{capture:!0}),(0,r.R)(this._document,"mousedown",{capture:!0})).pipe((0,V.Q)(this._destroy$)).subscribe($e=>this._checkToClose($e))})}_checkToClose($e){if(this._select.contains($e.target)||this._dropdown.contains($e.target))return;const yt=$e.path||$e.composedPath&&$e.composedPath();$e.target&&$e.target.shadowRoot&&yt&&yt[0]&&this._select.contains(yt[0])||this._zone.run(()=>this.outsideClick.emit())}_onItemsChange($e,yt){this.items=$e||[],this._scrollToEndFired=!1,this.itemsLength=$e.length,this.virtualScroll?this._updateItemsRange(yt):(this._setVirtualHeight(),this._updateItems(yt))}_updateItems($e){this.update.emit(this.items),!1!==$e&&this._zone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this._panelService.setDimensions(0,this._scrollablePanel.clientHeight),this._handleDropdownPosition(),this.scrollTo(this.markedItem,$e)})})}_updateItemsRange($e){this._zone.runOutsideAngular(()=>{this._measureDimensions().then(()=>{$e?(this._renderItemsRange(this._startOffset),this._handleDropdownPosition()):this._renderItemsRange()})})}_onContentScrolled($e){this.virtualScroll&&this._renderItemsRange($e),this._lastScrollPosition=$e,this._fireScrollToEnd($e)}_updateVirtualHeight($e){this._updateScrollHeight&&(this._virtualPadding.style.height=`${$e}px`,this._updateScrollHeight=!1)}_setVirtualHeight(){this._virtualPadding&&(this._virtualPadding.style.height="0px")}_onItemsLengthChanged(){this._updateScrollHeight=!0}_renderItemsRange($e=null){if($e&&this._lastScrollPosition===$e)return;const yt=this._panelService.calculateItems($e=$e||this._scrollablePanel.scrollTop,this.itemsLength,this.bufferAmount);this._updateVirtualHeight(yt.scrollHeight),this._contentPanel.style.transform=`translateY(${yt.topPadding}px)`,this._zone.run(()=>{this.update.emit(this.items.slice(yt.start,yt.end)),this.scroll.emit({start:yt.start,end:yt.end})}),ti($e)&&0===this._lastScrollPosition&&(this._scrollablePanel.scrollTop=$e,this._lastScrollPosition=$e)}_measureDimensions(){if(this._panelService.dimensions.itemHeight>0||0===this.itemsLength)return Promise.resolve(this._panelService.dimensions);const[$e]=this.items;return this.update.emit([$e]),Promise.resolve().then(()=>{const It=this._dropdown.querySelector(`#${$e.htmlId}`).clientHeight;return this._virtualPadding.style.height=It*this.itemsLength+"px",this._panelService.setDimensions(It,this._scrollablePanel.clientHeight),this._panelService.dimensions})}_fireScrollToEnd($e){this._scrollToEndFired||0===$e||$e+this._dropdown.clientHeight>=(this.virtualScroll?this._virtualPadding:this._contentPanel).clientHeight-1&&(this._zone.run(()=>this.scrollToEnd.emit()),this._scrollToEndFired=!0)}_calculateCurrentPosition($e){if("auto"!==this.position)return this.position;const yt=this._select.getBoundingClientRect(),It=document.documentElement.scrollTop||document.body.scrollTop;return yt.top+window.pageYOffset+yt.height+$e.getBoundingClientRect().height>It+document.documentElement.clientHeight?"top":"bottom"}_appendDropdown(){if(this.appendTo){if(this._parent=document.querySelector(this.appendTo),!this._parent)throw new Error(`appendTo selector ${this.appendTo} did not found any parent element`);this._updateXPosition(),this._parent.appendChild(this._dropdown)}}_updateXPosition(){const $e=this._select.getBoundingClientRect(),yt=this._parent.getBoundingClientRect();this._dropdown.style.left=$e.left-yt.left+"px",this._dropdown.style.width=$e.width+"px",this._dropdown.style.minWidth=$e.width+"px"}_updateYPosition(){const $e=this._select.getBoundingClientRect(),yt=this._parent.getBoundingClientRect(),It=$e.height;"top"===this._currentPosition?(this._dropdown.style.bottom=yt.bottom-$e.bottom+It+"px",this._dropdown.style.top="auto"):"bottom"===this._currentPosition&&(this._dropdown.style.top=$e.top-yt.top+It+"px",this._dropdown.style.bottom="auto")}_setupMousedownListener(){this._zone.runOutsideAngular(()=>{(0,r.R)(this._dropdown,"mousedown").pipe((0,V.Q)(this._destroy$)).subscribe($e=>{"INPUT"!==$e.target.tagName&&$e.preventDefault()})})}static#e=this.\u0275fac=function(yt){return new(yt||bt)(M.rXU(M.sFG),M.rXU(M.SKi),M.rXU(As),M.rXU(M.aKT),M.rXU(d.qQ,8))};static#t=this.\u0275cmp=M.VBU({type:bt,selectors:[["ng-dropdown-panel"]],viewQuery:function(yt,It){if(1&yt&&(M.GBs(C,7,M.aKT),M.GBs(k,7,M.aKT),M.GBs(p,7,M.aKT)),2&yt){let $t;M.mGM($t=M.lsd())&&(It.contentElementRef=$t.first),M.mGM($t=M.lsd())&&(It.scrollElementRef=$t.first),M.mGM($t=M.lsd())&&(It.paddingElementRef=$t.first)}},inputs:{items:"items",markedItem:"markedItem",position:"position",appendTo:"appendTo",bufferAmount:"bufferAmount",virtualScroll:"virtualScroll",headerTemplate:"headerTemplate",footerTemplate:"footerTemplate",filterValue:"filterValue"},outputs:{update:"update",scroll:"scroll",scrollToEnd:"scrollToEnd",outsideClick:"outsideClick"},features:[M.OA$],ngContentSelectors:S,decls:9,vars:6,consts:[["scroll",""],["padding",""],["content",""],["class","ng-dropdown-header",4,"ngIf"],["role","listbox",1,"ng-dropdown-panel-items","scroll-host"],["class","ng-dropdown-footer",4,"ngIf"],[1,"ng-dropdown-header"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ng-dropdown-footer"]],template:function(yt,It){1&yt&&(M.NAR(),M.DNE(0,H,2,4,"div",3),M.j41(1,"div",4,0),M.nrm(3,"div",null,1),M.j41(5,"div",null,2),M.SdG(7),M.k0s()(),M.DNE(8,Y,2,4,"div",5)),2&yt&&(M.Y8G("ngIf",It.headerTemplate),M.R7$(3),M.AVh("total-padding",It.virtualScroll),M.R7$(2),M.AVh("scrollable-content",It.virtualScroll&&It.items.length),M.R7$(3),M.Y8G("ngIf",It.footerTemplate))},dependencies:[d.bT,d.T3],encapsulation:2,changeDetection:0})}return bt})(),Mn=(()=>{class bt{get disabled(){return this._disabled}set disabled($e){this._disabled=this._isDisabled($e)}constructor($e){this.elementRef=$e,this.stateChange$=new n.B,this._disabled=!1}get label(){return(this.elementRef.nativeElement.textContent||"").trim()}ngOnChanges($e){$e.disabled&&this.stateChange$.next({value:this.value,disabled:this._disabled})}ngAfterViewChecked(){this.label!==this._previousLabel&&(this._previousLabel=this.label,this.stateChange$.next({value:this.value,disabled:this._disabled,label:this.elementRef.nativeElement.innerHTML}))}ngOnDestroy(){this.stateChange$.complete()}_isDisabled($e){return null!=$e&&"false"!=`${$e}`}static#e=this.\u0275fac=function(yt){return new(yt||bt)(M.rXU(M.aKT))};static#t=this.\u0275cmp=M.VBU({type:bt,selectors:[["ng-option"]],inputs:{value:"value",disabled:"disabled"},features:[M.OA$],ngContentSelectors:S,decls:1,vars:0,template:function(yt,It){1&yt&&(M.NAR(),M.SdG(0))},encapsulation:2,changeDetection:0})}return bt})(),Br=(()=>{class bt{constructor(){this.notFoundText="No items found",this.typeToSearchText="Type to search",this.addTagText="Add item",this.loadingText="Loading...",this.clearAllText="Clear all",this.disableVirtualScroll=!0,this.openOnEnter=!0,this.appearance="underline"}static#e=this.\u0275fac=function(yt){return new(yt||bt)};static#t=this.\u0275prov=M.jDH({token:bt,factory:bt.\u0275fac,providedIn:"root"})}return bt})(),mo=(()=>{class bt{warn($e){console.warn($e)}static#e=this.\u0275fac=function(yt){return new(yt||bt)};static#t=this.\u0275prov=M.jDH({token:bt,factory:bt.\u0275fac,providedIn:"root"})}return bt})();const Kr=new M.nKC("ng-select-selection-model");let nr=(()=>{class bt{get items(){return this._items}set items($e){null===$e&&($e=[]),this._itemsAreUsed=!0,this._items=$e}get compareWith(){return this._compareWith}set compareWith($e){if(null!=$e&&!_t($e))throw Error("`compareWith` must be a function.");this._compareWith=$e}get clearSearchOnAdd(){return ti(this._clearSearchOnAdd)?this._clearSearchOnAdd:ti(this.config.clearSearchOnAdd)?this.config.clearSearchOnAdd:this.closeOnSelect}set clearSearchOnAdd($e){this._clearSearchOnAdd=$e}get deselectOnClick(){return ti(this._deselectOnClick)?this._deselectOnClick:ti(this.config.deselectOnClick)?this.config.deselectOnClick:this.multiple}set deselectOnClick($e){this._deselectOnClick=$e}get disabled(){return this.readonly||this._disabled}get filtered(){return!!this.searchTerm&&this.searchable||this._isComposing}get single(){return!this.multiple}get _editableSearchTerm(){return this.editableSearchTerm&&!this.multiple}constructor($e,yt,It,$t,si,Ti,Si){this.classes=$e,this.autoFocus=yt,this.config=It,this._cd=Ti,this._console=Si,this.markFirst=!0,this.dropdownPosition="auto",this.loading=!1,this.closeOnSelect=!0,this.hideSelected=!1,this.selectOnTab=!1,this.bufferAmount=4,this.selectableGroup=!1,this.selectableGroupAsModel=!0,this.searchFn=null,this.trackByFn=null,this.clearOnBackspace=!0,this.labelForId=null,this.inputAttrs={},this.readonly=!1,this.searchWhileComposing=!0,this.minTermLength=0,this.editableSearchTerm=!1,this.keyDownFn=Hi=>!0,this.multiple=!1,this.addTag=!1,this.searchable=!0,this.clearable=!0,this.isOpen=!1,this.blurEvent=new M.bkB,this.focusEvent=new M.bkB,this.changeEvent=new M.bkB,this.openEvent=new M.bkB,this.closeEvent=new M.bkB,this.searchEvent=new M.bkB,this.clearEvent=new M.bkB,this.addEvent=new M.bkB,this.removeEvent=new M.bkB,this.scroll=new M.bkB,this.scrollToEnd=new M.bkB,this.useDefaultClass=!0,this.viewPortItems=[],this.searchTerm=null,this.dropdownId=dn(),this.escapeHTML=!0,this._items=[],this._defaultLabel="label",this._pressedKeys=[],this._isComposing=!1,this._destroy$=new n.B,this._keyPress$=new n.B,this._onChange=Hi=>{},this._onTouched=()=>{},this.clearItem=Hi=>{const ss=this.selectedItems.find(un=>un.value===Hi);this.unselect(ss)},this.trackByOption=(Hi,ss)=>this.trackByFn?this.trackByFn(ss.value):ss,this._mergeGlobalConfig(It),this.itemsList=new On(this,$t()),this.element=si.nativeElement}get selectedItems(){return this.itemsList.selectedItems}get selectedValues(){return this.selectedItems.map($e=>$e.value)}get hasValue(){return this.selectedItems.length>0}get currentPanelPosition(){if(this.dropdownPanel)return this.dropdownPanel.currentPosition}ngOnInit(){this._handleKeyPresses(),this._setInputAttributes()}ngOnChanges($e){$e.multiple&&this.itemsList.clearSelected(),$e.items&&this._setItems($e.items.currentValue||[]),$e.isOpen&&(this._manualOpen=ti($e.isOpen.currentValue))}ngAfterViewInit(){this._itemsAreUsed||(this.escapeHTML=!1,this._setItemsFromNgOptions()),ti(this.autoFocus)&&this.focus()}ngOnDestroy(){this._destroy$.next(),this._destroy$.complete()}handleKeyDown($e){if(Pn[$e.which]){if(!1===this.keyDownFn($e))return;this.handleKeyCode($e)}else $e.key&&1===$e.key.length&&this._keyPress$.next($e.key.toLocaleLowerCase())}handleKeyCode($e){this.clearButton&&this.clearButton.nativeElement===$e.target?this.handleKeyCodeClear($e):this.handleKeyCodeInput($e)}handleKeyCodeInput($e){switch($e.which){case Pn.ArrowDown:this._handleArrowDown($e);break;case Pn.ArrowUp:this._handleArrowUp($e);break;case Pn.Space:this._handleSpace($e);break;case Pn.Enter:this._handleEnter($e);break;case Pn.Tab:this._handleTab($e);break;case Pn.Esc:this.close(),$e.preventDefault();break;case Pn.Backspace:this._handleBackspace()}}handleKeyCodeClear($e){$e.which===Pn.Enter&&(this.handleClearClick(),$e.preventDefault())}handleMousedown($e){const yt=$e.target;"INPUT"!==yt.tagName&&$e.preventDefault(),yt.classList.contains("ng-clear-wrapper")?this.handleClearClick():yt.classList.contains("ng-arrow-wrapper")?this.handleArrowClick():yt.classList.contains("ng-value-icon")||(this.focused||this.focus(),this.searchable?this.open():this.toggle())}handleArrowClick(){this.isOpen?this.close():this.open()}handleClearClick(){this.hasValue&&(this.itemsList.clearSelected(!0),this._updateNgModel()),this._clearSearch(),this.focus(),this.clearEvent.emit(),this._onSelectionChanged()}clearModel(){this.clearable&&(this.itemsList.clearSelected(),this._updateNgModel())}writeValue($e){this.itemsList.clearSelected(),this._handleWriteValue($e),this._cd.markForCheck()}registerOnChange($e){this._onChange=$e}registerOnTouched($e){this._onTouched=$e}setDisabledState($e){this._disabled=$e,this._cd.markForCheck()}toggle(){this.isOpen?this.close():this.open()}open(){this.disabled||this.isOpen||this._manualOpen||!this._isTypeahead&&!this.addTag&&this.itemsList.noItemsToSelect||(this.isOpen=!0,this.itemsList.markSelectedOrDefault(this.markFirst),this.openEvent.emit(),this.searchTerm||this.focus(),this.detectChanges())}close(){!this.isOpen||this._manualOpen||(this.isOpen=!1,this._isComposing=!1,this._editableSearchTerm?this.itemsList.resetFilteredItems():this._clearSearch(),this.itemsList.unmarkItem(),this._onTouched(),this.closeEvent.emit(),this._cd.markForCheck())}toggleItem($e){!$e||$e.disabled||this.disabled||(this.deselectOnClick&&$e.selected?this.unselect($e):this.select($e),this._editableSearchTerm&&this._setSearchTermFromItems(),this._onSelectionChanged())}select($e){$e.selected||(this.itemsList.select($e),this.clearSearchOnAdd&&!this._editableSearchTerm&&this._clearSearch(),this._updateNgModel(),this.multiple&&this.addEvent.emit($e.value)),(this.closeOnSelect||this.itemsList.noItemsToSelect)&&this.close()}focus(){this.searchInput.nativeElement.focus()}blur(){this.searchInput.nativeElement.blur()}unselect($e){$e&&(this.itemsList.unselect($e),this.focus(),this._updateNgModel(),this.removeEvent.emit($e.value))}selectTag(){let $e;$e=_t(this.addTag)?this.addTag(this.searchTerm):this._primitive?this.searchTerm:{[this.bindLabel]:this.searchTerm};const yt=It=>this._isTypeahead||!this.isOpen?this.itemsList.mapItem(It,null):this.itemsList.addItem(It);!function At(bt){return bt instanceof Promise}($e)?$e&&this.select(yt($e)):$e.then(It=>this.select(yt(It))).catch(()=>{})}showClear(){return this.clearable&&(this.hasValue||this.searchTerm)&&!this.disabled}focusOnClear(){this.blur(),this.clearButton&&this.clearButton.nativeElement.focus()}get showAddTag(){if(!this._validTerm)return!1;const $e=this.searchTerm.toLowerCase().trim();return this.addTag&&!this.itemsList.filteredItems.some(yt=>yt.label.toLowerCase()===$e)&&(!this.hideSelected&&this.isOpen||!this.selectedItems.some(yt=>yt.label.toLowerCase()===$e))&&!this.loading}showNoItemsFound(){const $e=0===this.itemsList.filteredItems.length;return($e&&!this._isTypeahead&&!this.loading||$e&&this._isTypeahead&&this._validTerm&&!this.loading)&&!this.showAddTag}showTypeToSearch(){return 0===this.itemsList.filteredItems.length&&this._isTypeahead&&!this._validTerm&&!this.loading}onCompositionStart(){this._isComposing=!0}onCompositionEnd($e){this._isComposing=!1,!this.searchWhileComposing&&this.filter($e)}filter($e){this._isComposing&&!this.searchWhileComposing||(this.searchTerm=$e,this._isTypeahead&&(this._validTerm||0===this.minTermLength)&&this.typeahead.next($e),this._isTypeahead||(this.itemsList.filter(this.searchTerm),this.isOpen&&this.itemsList.markSelectedOrDefault(this.markFirst)),this.searchEvent.emit({term:$e,items:this.itemsList.filteredItems.map(yt=>yt.value)}),this.open())}onInputFocus($e){this.focused||(this._editableSearchTerm&&this._setSearchTermFromItems(),this.element.classList.add("ng-select-focused"),this.focusEvent.emit($e),this.focused=!0)}onInputBlur($e){this.element.classList.remove("ng-select-focused"),this.blurEvent.emit($e),!this.isOpen&&!this.disabled&&this._onTouched(),this._editableSearchTerm&&this._setSearchTermFromItems(),this.focused=!1}onItemHover($e){$e.disabled||this.itemsList.markItem($e)}detectChanges(){this._cd.destroyed||this._cd.detectChanges()}_setSearchTermFromItems(){const $e=this.selectedItems&&this.selectedItems[0];this.searchTerm=$e&&$e.label||null}_setItems($e){const yt=$e[0];this.bindLabel=this.bindLabel||this._defaultLabel,this._primitive=ti(yt)?!Dt(yt):this._primitive||this.bindLabel===this._defaultLabel,this.itemsList.setItems($e),$e.length>0&&this.hasValue&&this.itemsList.mapSelectedItems(),this.isOpen&&ti(this.searchTerm)&&!this._isTypeahead&&this.itemsList.filter(this.searchTerm),(this._isTypeahead||this.isOpen)&&this.itemsList.markSelectedOrDefault(this.markFirst)}_setItemsFromNgOptions(){const $e=It=>{this.items=It.map($t=>({$ngOptionValue:$t.value,$ngOptionLabel:$t.elementRef.nativeElement.innerHTML,disabled:$t.disabled})),this.itemsList.setItems(this.items),this.hasValue&&this.itemsList.mapSelectedItems(),this.detectChanges()},yt=()=>{const It=(0,l.h)(this.ngOptions.changes,this._destroy$);(0,l.h)(...this.ngOptions.map($t=>$t.stateChange$)).pipe((0,V.Q)(It)).subscribe($t=>{const si=this.itemsList.findItem($t.value);si.disabled=$t.disabled,si.label=$t.label||si.label,this._cd.detectChanges()})};this.ngOptions.changes.pipe((0,pe.Z)(this.ngOptions),(0,V.Q)(this._destroy$)).subscribe(It=>{this.bindLabel=this._defaultLabel,$e(It),yt()})}_isValidWriteValue($e){if(!ti($e)||this.multiple&&""===$e||Array.isArray($e)&&0===$e.length)return!1;const yt=It=>!(!ti(this.compareWith)&&Dt(It)&&this.bindValue&&(this._console.warn(`Setting object(${JSON.stringify(It)}) as your model with bindValue is not allowed unless [compareWith] is used.`),1));return this.multiple?Array.isArray($e)?$e.every(It=>yt(It)):(this._console.warn("Multiple select ngModel should be array."),!1):yt($e)}_handleWriteValue($e){if(!this._isValidWriteValue($e))return;const yt=It=>{let $t=this.itemsList.findItem(It);if($t)this.itemsList.select($t);else{const si=Dt(It);si||!si&&!this.bindValue?this.itemsList.select(this.itemsList.mapItem(It,null)):this.bindValue&&($t={[this.bindLabel]:null,[this.bindValue]:It},this.itemsList.select(this.itemsList.mapItem($t,null)))}};this.multiple?$e.forEach(It=>yt(It)):yt($e)}_handleKeyPresses(){this.searchable||this._keyPress$.pipe((0,V.Q)(this._destroy$),(0,J.M)($e=>this._pressedKeys.push($e)),(0,te.B)(200),(0,$.p)(()=>this._pressedKeys.length>0),(0,A.T)(()=>this._pressedKeys.join(""))).subscribe($e=>{const yt=this.itemsList.findByLabel($e);yt&&(this.isOpen?(this.itemsList.markItem(yt),this._scrollToMarked(),this._cd.markForCheck()):this.select(yt)),this._pressedKeys=[]})}_setInputAttributes(){const $e=this.searchInput.nativeElement,yt={type:"text",autocorrect:"off",autocapitalize:"off",autocomplete:this.labelForId?"off":this.dropdownId,...this.inputAttrs};for(const It of Object.keys(yt))$e.setAttribute(It,yt[It])}_updateNgModel(){const $e=[];for(const It of this.selectedItems)if(this.bindValue){let $t=null;$t=It.children?It.value[(this.groupValue?this.bindValue:this.groupBy)||this.groupBy]:this.itemsList.resolveNested(It.value,this.bindValue),$e.push($t)}else $e.push(It.value);const yt=this.selectedItems.map(It=>It.value);this.multiple?(this._onChange($e),this.changeEvent.emit(yt)):(this._onChange(ti($e[0])?$e[0]:null),this.changeEvent.emit(yt[0])),this._cd.markForCheck()}_clearSearch(){this.searchTerm&&(this._changeSearch(null),this.itemsList.resetFilteredItems())}_changeSearch($e){this.searchTerm=$e,this._isTypeahead&&this.typeahead.next($e)}_scrollToMarked(){!this.isOpen||!this.dropdownPanel||this.dropdownPanel.scrollTo(this.itemsList.markedItem)}_scrollToTag(){!this.isOpen||!this.dropdownPanel||this.dropdownPanel.scrollToTag()}_onSelectionChanged(){this.isOpen&&this.deselectOnClick&&this.appendTo&&(this._cd.detectChanges(),this.dropdownPanel.adjustPosition())}_handleTab($e){if(!1===this.isOpen)if(this.showClear())this.focusOnClear(),$e.preventDefault();else if(!this.addTag)return;this.selectOnTab?this.itemsList.markedItem?(this.toggleItem(this.itemsList.markedItem),$e.preventDefault()):this.showAddTag?(this.selectTag(),$e.preventDefault()):this.close():this.close()}_handleEnter($e){if(this.isOpen||this._manualOpen)this.itemsList.markedItem?this.toggleItem(this.itemsList.markedItem):this.showAddTag&&this.selectTag();else{if(!this.openOnEnter)return;this.open()}$e.preventDefault()}_handleSpace($e){this.isOpen||this._manualOpen||(this.open(),$e.preventDefault())}_handleArrowDown($e){this._nextItemIsTag(1)?(this.itemsList.unmarkItem(),this._scrollToTag()):(this.itemsList.markNextItem(),this._scrollToMarked()),this.open(),$e.preventDefault()}_handleArrowUp($e){this.isOpen&&(this._nextItemIsTag(-1)?(this.itemsList.unmarkItem(),this._scrollToTag()):(this.itemsList.markPreviousItem(),this._scrollToMarked()),$e.preventDefault())}_nextItemIsTag($e){const yt=this.itemsList.markedIndex+$e;return this.addTag&&this.searchTerm&&this.itemsList.markedItem&&(yt<0||yt===this.itemsList.filteredItems.length)}_handleBackspace(){this.searchTerm||!this.clearable||!this.clearOnBackspace||!this.hasValue||(this.multiple?this.unselect(this.itemsList.lastSelectedItem):this.clearModel())}get _isTypeahead(){return this.typeahead&&this.typeahead.observers.length>0}get _validTerm(){const $e=this.searchTerm&&this.searchTerm.trim();return $e&&$e.length>=this.minTermLength}_mergeGlobalConfig($e){this.placeholder=this.placeholder||$e.placeholder,this.notFoundText=this.notFoundText||$e.notFoundText,this.typeToSearchText=this.typeToSearchText||$e.typeToSearchText,this.addTagText=this.addTagText||$e.addTagText,this.loadingText=this.loadingText||$e.loadingText,this.clearAllText=this.clearAllText||$e.clearAllText,this.virtualScroll=ti(this.virtualScroll)?this.virtualScroll:!!ti($e.disableVirtualScroll)&&!$e.disableVirtualScroll,this.openOnEnter=ti(this.openOnEnter)?this.openOnEnter:$e.openOnEnter,this.appendTo=this.appendTo||$e.appendTo,this.bindValue=this.bindValue||$e.bindValue,this.bindLabel=this.bindLabel||$e.bindLabel,this.appearance=this.appearance||$e.appearance}static#e=this.\u0275fac=function(yt){return new(yt||bt)(M.kS0("class"),M.kS0("autofocus"),M.rXU(Br),M.rXU(Kr),M.rXU(M.aKT),M.rXU(M.gRc),M.rXU(mo))};static#t=this.\u0275cmp=M.VBU({type:bt,selectors:[["ng-select"]],contentQueries:function(yt,It,$t){if(1&yt&&(M.wni($t,Qt,5,M.C4Q),M.wni($t,di,5,M.C4Q),M.wni($t,Fi,5,M.C4Q),M.wni($t,mi,5,M.C4Q),M.wni($t,vi,5,M.C4Q),M.wni($t,Gi,5,M.C4Q),M.wni($t,xs,5,M.C4Q),M.wni($t,jn,5,M.C4Q),M.wni($t,ls,5,M.C4Q),M.wni($t,fs,5,M.C4Q),M.wni($t,Gn,5,M.C4Q),M.wni($t,Mn,5)),2&yt){let si;M.mGM(si=M.lsd())&&(It.optionTemplate=si.first),M.mGM(si=M.lsd())&&(It.optgroupTemplate=si.first),M.mGM(si=M.lsd())&&(It.labelTemplate=si.first),M.mGM(si=M.lsd())&&(It.multiLabelTemplate=si.first),M.mGM(si=M.lsd())&&(It.headerTemplate=si.first),M.mGM(si=M.lsd())&&(It.footerTemplate=si.first),M.mGM(si=M.lsd())&&(It.notFoundTemplate=si.first),M.mGM(si=M.lsd())&&(It.typeToSearchTemplate=si.first),M.mGM(si=M.lsd())&&(It.loadingTextTemplate=si.first),M.mGM(si=M.lsd())&&(It.tagTemplate=si.first),M.mGM(si=M.lsd())&&(It.loadingSpinnerTemplate=si.first),M.mGM(si=M.lsd())&&(It.ngOptions=si)}},viewQuery:function(yt,It){if(1&yt&&(M.GBs(Cs,5),M.GBs(U,7),M.GBs(se,5)),2&yt){let $t;M.mGM($t=M.lsd())&&(It.dropdownPanel=$t.first),M.mGM($t=M.lsd())&&(It.searchInput=$t.first),M.mGM($t=M.lsd())&&(It.clearButton=$t.first)}},hostVars:20,hostBindings:function(yt,It){1&yt&&M.bIt("keydown",function(si){return It.handleKeyDown(si)}),2&yt&&M.AVh("ng-select-typeahead",It.typeahead)("ng-select-multiple",It.multiple)("ng-select-taggable",It.addTag)("ng-select-searchable",It.searchable)("ng-select-clearable",It.clearable)("ng-select-opened",It.isOpen)("ng-select",It.useDefaultClass)("ng-select-disabled",It.disabled)("ng-select-filtered",It.filtered)("ng-select-single",It.single)},inputs:{bindLabel:"bindLabel",bindValue:"bindValue",markFirst:"markFirst",placeholder:"placeholder",notFoundText:"notFoundText",typeToSearchText:"typeToSearchText",addTagText:"addTagText",loadingText:"loadingText",clearAllText:"clearAllText",appearance:"appearance",dropdownPosition:"dropdownPosition",appendTo:"appendTo",loading:"loading",closeOnSelect:"closeOnSelect",hideSelected:"hideSelected",selectOnTab:"selectOnTab",openOnEnter:"openOnEnter",maxSelectedItems:"maxSelectedItems",groupBy:"groupBy",groupValue:"groupValue",bufferAmount:"bufferAmount",virtualScroll:"virtualScroll",selectableGroup:"selectableGroup",selectableGroupAsModel:"selectableGroupAsModel",searchFn:"searchFn",trackByFn:"trackByFn",clearOnBackspace:"clearOnBackspace",labelForId:"labelForId",inputAttrs:"inputAttrs",tabIndex:"tabIndex",readonly:"readonly",searchWhileComposing:"searchWhileComposing",minTermLength:"minTermLength",editableSearchTerm:"editableSearchTerm",keyDownFn:"keyDownFn",typeahead:"typeahead",multiple:"multiple",addTag:"addTag",searchable:"searchable",clearable:"clearable",isOpen:"isOpen",items:"items",compareWith:"compareWith",clearSearchOnAdd:"clearSearchOnAdd",deselectOnClick:"deselectOnClick"},outputs:{blurEvent:"blur",focusEvent:"focus",changeEvent:"change",openEvent:"open",closeEvent:"close",searchEvent:"search",clearEvent:"clear",addEvent:"add",removeEvent:"remove",scroll:"scroll",scrollToEnd:"scrollToEnd"},features:[M.Jv_([{provide:e.kq,useExisting:(0,M.Rfq)(()=>bt),multi:!0},As]),M.OA$],decls:14,vars:19,consts:[["searchInput",""],["defaultLabelTemplate",""],["defaultLoadingSpinnerTemplate",""],["clearButton",""],["defaultOptionTemplate",""],["defaultTagTemplate",""],["defaultNotFoundTemplate",""],["defaultTypeToSearchTemplate",""],["defaultLoadingTextTemplate",""],[1,"ng-select-container",3,"mousedown"],[1,"ng-value-container"],[1,"ng-placeholder"],[4,"ngIf"],["role","combobox","aria-haspopup","listbox",1,"ng-input"],["aria-autocomplete","list",3,"input","compositionstart","compositionend","focus","blur","change","readOnly","disabled","value"],["class","ng-clear-wrapper","tabindex","0",3,"title",4,"ngIf"],[1,"ng-arrow-wrapper"],[1,"ng-arrow"],["class","ng-dropdown-panel","role","listbox","aria-label","Options list",3,"virtualScroll","bufferAmount","appendTo","position","headerTemplate","footerTemplate","filterValue","items","markedItem","ng-select-multiple","ngClass","id","update","scroll","scrollToEnd","outsideClick",4,"ngIf"],["class","ng-value",3,"ng-value-disabled",4,"ngFor","ngForOf","ngForTrackBy"],[1,"ng-value"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["aria-hidden","true",1,"ng-value-icon","left",3,"click"],[1,"ng-value-label",3,"ngItemLabel","escape"],[3,"ngTemplateOutlet"],[1,"ng-spinner-loader"],["tabindex","0",1,"ng-clear-wrapper",3,"title"],["aria-hidden","true",1,"ng-clear"],["role","listbox","aria-label","Options list",1,"ng-dropdown-panel",3,"update","scroll","scrollToEnd","outsideClick","virtualScroll","bufferAmount","appendTo","position","headerTemplate","footerTemplate","filterValue","items","markedItem","ngClass","id"],["class","ng-option",3,"ng-option-disabled","ng-option-selected","ng-optgroup","ng-option","ng-option-child","ng-option-marked","click","mouseover",4,"ngFor","ngForOf","ngForTrackBy"],["class","ng-option","role","option",3,"ng-option-marked","mouseover","click",4,"ngIf"],[1,"ng-option",3,"click","mouseover"],[1,"ng-option-label",3,"ngItemLabel","escape"],["role","option",1,"ng-option",3,"mouseover","click"],[1,"ng-tag-label"],[1,"ng-option","ng-option-disabled"]],template:function(yt,It){if(1&yt){const $t=M.RV6();M.j41(0,"div",9),M.bIt("mousedown",function(Ti){return M.eBV($t),M.Njj(It.handleMousedown(Ti))}),M.j41(1,"div",10)(2,"div",11),M.EFF(3),M.k0s(),M.DNE(4,K,2,2,"ng-container",12)(5,he,1,5,null,12),M.j41(6,"div",13)(7,"input",14,0),M.bIt("input",function(){M.eBV($t);const Ti=M.sdS(8);return M.Njj(It.filter(Ti.value))})("compositionstart",function(){return M.eBV($t),M.Njj(It.onCompositionStart())})("compositionend",function(){M.eBV($t);const Ti=M.sdS(8);return M.Njj(It.onCompositionEnd(Ti.value))})("focus",function(Ti){return M.eBV($t),M.Njj(It.onInputFocus(Ti))})("blur",function(Ti){return M.eBV($t),M.Njj(It.onInputBlur(Ti))})("change",function(Ti){return M.eBV($t),M.Njj(Ti.stopPropagation())}),M.k0s()()(),M.DNE(9,Se,4,1,"ng-container",12)(10,Oe,4,1,"span",15),M.j41(11,"span",16),M.nrm(12,"span",17),M.k0s()(),M.DNE(13,kt,7,19,"ng-dropdown-panel",18)}2&yt&&(M.AVh("ng-appearance-outline","outline"===It.appearance)("ng-has-value",It.hasValue),M.R7$(3),M.JRh(It.placeholder),M.R7$(),M.Y8G("ngIf",(!It.multiLabelTemplate||!It.multiple)&&It.selectedItems.length>0),M.R7$(),M.Y8G("ngIf",It.multiple&&It.multiLabelTemplate&&It.selectedValues.length>0),M.R7$(),M.BMQ("aria-expanded",It.isOpen)("aria-owns",It.isOpen?It.dropdownId:null),M.R7$(),M.Y8G("readOnly",!It.searchable||It.itemsList.maxItemsSelected)("disabled",It.disabled)("value",It.searchTerm?It.searchTerm:""),M.BMQ("id",It.labelForId)("tabindex",It.tabIndex)("aria-activedescendant",It.isOpen?null==It.itemsList||null==It.itemsList.markedItem?null:It.itemsList.markedItem.htmlId:null)("aria-controls",It.isOpen?It.dropdownId:null),M.R7$(2),M.Y8G("ngIf",It.loading),M.R7$(),M.Y8G("ngIf",It.showClear()),M.R7$(3),M.Y8G("ngIf",It.isOpen))},dependencies:[d.YU,d.Sq,d.bT,d.T3,Cs,wt],styles:['@charset "UTF-8";.ng-select{position:relative;display:block;box-sizing:border-box}.ng-select div,.ng-select input,.ng-select span{box-sizing:border-box}.ng-select [hidden]{display:none}.ng-select.ng-select-searchable .ng-select-container .ng-value-container .ng-input{opacity:1}.ng-select.ng-select-opened .ng-select-container{z-index:1001}.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-placeholder,.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value{-webkit-user-select:none;user-select:none;cursor:default}.ng-select.ng-select-disabled .ng-arrow-wrapper{cursor:default}.ng-select.ng-select-filtered .ng-placeholder{display:none}.ng-select .ng-select-container{cursor:default;display:flex;outline:none;overflow:hidden;position:relative;width:100%}.ng-select .ng-select-container .ng-value-container{display:flex;flex:1}.ng-select .ng-select-container .ng-value-container .ng-input{opacity:0}.ng-select .ng-select-container .ng-value-container .ng-input>input{box-sizing:content-box;background:none transparent;border:0 none;box-shadow:none;outline:none;padding:0;cursor:default;width:100%}.ng-select .ng-select-container .ng-value-container .ng-input>input::-ms-clear{display:none}.ng-select .ng-select-container .ng-value-container .ng-input>input[readonly]{-webkit-user-select:none;user-select:none;width:0;padding:0}.ng-select.ng-select-single.ng-select-filtered .ng-select-container .ng-value-container .ng-value{visibility:hidden}.ng-select.ng-select-single .ng-select-container .ng-value-container,.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{position:absolute;left:0;width:100%}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{flex-wrap:wrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{position:absolute}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{white-space:nowrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{cursor:pointer}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{flex:1;z-index:2}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{z-index:1}.ng-select .ng-clear-wrapper{cursor:pointer;position:relative;width:17px;-webkit-user-select:none;user-select:none}.ng-select .ng-clear-wrapper .ng-clear{display:inline-block;font-size:18px;line-height:1;pointer-events:none}.ng-select .ng-spinner-loader{border-radius:50%;width:17px;height:17px;margin-right:5px;font-size:10px;position:relative;text-indent:-9999em;border-top:2px solid rgba(66,66,66,.2);border-right:2px solid rgba(66,66,66,.2);border-bottom:2px solid rgba(66,66,66,.2);border-left:2px solid #424242;transform:translateZ(0);animation:load8 .8s infinite linear}.ng-select .ng-spinner-loader:after{border-radius:50%;width:17px;height:17px}@keyframes load8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ng-select .ng-arrow-wrapper{cursor:pointer;position:relative;text-align:center;-webkit-user-select:none;user-select:none}.ng-select .ng-arrow-wrapper .ng-arrow{pointer-events:none;display:inline-block;height:0;width:0;position:relative}.ng-dropdown-panel{box-sizing:border-box;position:absolute;opacity:0;width:100%;z-index:1050;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .ng-dropdown-panel-items{display:block;height:auto;box-sizing:border-box;max-height:240px;overflow-y:auto}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{box-sizing:border-box;cursor:pointer;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-option-label:empty:before{content:"\\200b"}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .highlighted{font-weight:700;text-decoration:underline}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.disabled{cursor:default}.ng-dropdown-panel .scroll-host{overflow:hidden;overflow-y:auto;position:relative;display:block;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .scrollable-content{top:0;left:0;width:100%;height:100%;position:absolute}.ng-dropdown-panel .total-padding{width:1px;opacity:0}\n'],encapsulation:2,changeDetection:0})}return bt})();function St(){return new Rt}class Rt{constructor(){this._selected=[]}get value(){return this._selected}select(xt,$e,yt){if(xt.selected=!0,(!xt.children||!$e&&yt)&&this._selected.push(xt),$e)if(xt.parent){const It=xt.parent.children.length,$t=xt.parent.children.filter(si=>si.selected).length;xt.parent.selected=It===$t}else xt.children&&(this._setChildrenSelectedState(xt.children,!0),this._removeChildren(xt),this._selected=yt&&this._activeChildren(xt)?[...this._selected.filter(It=>It.parent!==xt),xt]:[...this._selected,...xt.children.filter(It=>!It.disabled)])}unselect(xt,$e){if(this._selected=this._selected.filter(yt=>yt!==xt),xt.selected=!1,$e)if(xt.parent&&xt.parent.selected){const yt=xt.parent.children;this._removeParent(xt.parent),this._removeChildren(xt.parent),this._selected.push(...yt.filter(It=>It!==xt&&!It.disabled)),xt.parent.selected=!1}else xt.children&&(this._setChildrenSelectedState(xt.children,!1),this._removeChildren(xt))}clear(xt){this._selected=xt?this._selected.filter($e=>$e.disabled):[]}_setChildrenSelectedState(xt,$e){for(const yt of xt)yt.disabled||(yt.selected=$e)}_removeChildren(xt){this._selected=[...this._selected.filter($e=>$e.parent!==xt),...xt.children.filter($e=>$e.parent===xt&&$e.disabled&&$e.selected)]}_removeParent(xt){this._selected=this._selected.filter($e=>$e!==xt)}_activeChildren(xt){return xt.children.every($e=>!$e.disabled||$e.selected)}}let Nt=(()=>{class bt{static#e=this.\u0275fac=function(yt){return new(yt||bt)};static#t=this.\u0275mod=M.$C({type:bt});static#i=this.\u0275inj=M.G2t({providers:[{provide:Kr,useValue:St}],imports:[d.MD]})}return bt})()},19664:(ri,Ft,He)=>{"use strict";He.d(Ft,{Mm:()=>l,h:()=>C,D9:()=>d,c$:()=>r});var M=He(54438),e=He(7673),V=He(74402),Pe=He(27468),Z=He(28793),ie=He(59030),re=He(96697),ve=He(21413),le=He(86129);class fe extends ve.B{constructor(p=1/0,S=1/0,j=le.U){super(),this._bufferSize=p,this._windowTime=S,this._timestampProvider=j,this._buffer=[],this._infiniteTimeWindow=!0,this._infiniteTimeWindow=S===1/0,this._bufferSize=Math.max(1,p),this._windowTime=Math.max(1,S)}next(p){const{isStopped:S,_buffer:j,_infiniteTimeWindow:H,_timestampProvider:Y,_windowTime:U}=this;S||(j.push(p),!H&&j.push(Y.now()+U)),this._trimBuffer(),super.next(p)}_subscribe(p){this._throwIfClosed(),this._trimBuffer();const S=this._innerSubscribe(p),{_infiniteTimeWindow:j,_buffer:H}=this,Y=H.slice();for(let U=0;Unew fe(j,p,S),resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:H})}var te=He(96354),$=He(70274),A=He(25558);class B{}let F=(()=>{class k extends B{getTranslation(S){return(0,e.of)({})}static \u0275fac=(()=>{let S;return function(H){return(S||(S=M.xGo(k)))(H||k)}})();static \u0275prov=M.jDH({token:k,factory:k.\u0275fac})}return k})();class L{}let D=(()=>{class k{handle(S){return S.key}static \u0275fac=function(j){return new(j||k)};static \u0275prov=M.jDH({token:k,factory:k.\u0275fac})}return k})();function I(k,p){if(k===p)return!0;if(null===k||null===p)return!1;if(k!=k&&p!=p)return!0;let H,Y,U,S=typeof k;if(S==typeof p&&"object"==S){if(!Array.isArray(k)){if(Array.isArray(p))return!1;for(Y in U=Object.create(null),k){if(!I(k[Y],p[Y]))return!1;U[Y]=!0}for(Y in p)if(!(Y in U)&&typeof p[Y]<"u")return!1;return!0}if(!Array.isArray(p))return!1;if((H=k.length)==p.length){for(Y=0;Y{_(p[j])?j in k?S[j]=b(k[j],p[j]):Object.assign(S,{[j]:p[j]}):Object.assign(S,{[j]:p[j]})}),S}class T{}let z=(()=>{class k extends T{templateMatcher=/{{\s?([^{}\s]*)\s?}}/g;interpolate(S,j){let H;return H="string"==typeof S?this.interpolateString(S,j):"function"==typeof S?this.interpolateFunction(S,j):S,H}getValue(S,j){let H="string"==typeof j?j.split("."):[j];j="";do{j+=H.shift(),!E(S)||!E(S[j])||"object"!=typeof S[j]&&H.length?H.length?j+=".":S=void 0:(S=S[j],j="")}while(H.length);return S}interpolateFunction(S,j){return S(j)}interpolateString(S,j){return j?S.replace(this.templateMatcher,(H,Y)=>{let U=this.getValue(j,Y);return E(U)?U:H}):S}static \u0275fac=(()=>{let S;return function(H){return(S||(S=M.xGo(k)))(H||k)}})();static \u0275prov=M.jDH({token:k,factory:k.\u0275fac})}return k})();class O{}let f=(()=>{class k extends O{compile(S,j){return S}compileTranslations(S,j){return S}static \u0275fac=(()=>{let S;return function(H){return(S||(S=M.xGo(k)))(H||k)}})();static \u0275prov=M.jDH({token:k,factory:k.\u0275fac})}return k})();class a{defaultLang;currentLang=this.defaultLang;translations={};langs=[];onTranslationChange=new M.bkB;onLangChange=new M.bkB;onDefaultLangChange=new M.bkB}const g=new M.nKC("USE_STORE"),y=new M.nKC("USE_DEFAULT_LANG"),o=new M.nKC("DEFAULT_LANGUAGE"),n=new M.nKC("USE_EXTEND");let r=(()=>{class k{store;currentLoader;compiler;parser;missingTranslationHandler;useDefaultLang;isolate;extend;loadingTranslations;pending=!1;_onTranslationChange=new M.bkB;_onLangChange=new M.bkB;_onDefaultLangChange=new M.bkB;_defaultLang;_currentLang;_langs=[];_translations={};_translationRequests={};get onTranslationChange(){return this.isolate?this._onTranslationChange:this.store.onTranslationChange}get onLangChange(){return this.isolate?this._onLangChange:this.store.onLangChange}get onDefaultLangChange(){return this.isolate?this._onDefaultLangChange:this.store.onDefaultLangChange}get defaultLang(){return this.isolate?this._defaultLang:this.store.defaultLang}set defaultLang(S){this.isolate?this._defaultLang=S:this.store.defaultLang=S}get currentLang(){return this.isolate?this._currentLang:this.store.currentLang}set currentLang(S){this.isolate?this._currentLang=S:this.store.currentLang=S}get langs(){return this.isolate?this._langs:this.store.langs}set langs(S){this.isolate?this._langs=S:this.store.langs=S}get translations(){return this.isolate?this._translations:this.store.translations}set translations(S){this.isolate?this._translations=S:this.store.translations=S}constructor(S,j,H,Y,U,se=!0,w=!1,X=!1,G){this.store=S,this.currentLoader=j,this.compiler=H,this.parser=Y,this.missingTranslationHandler=U,this.useDefaultLang=se,this.isolate=w,this.extend=X,G&&this.setDefaultLang(G)}setDefaultLang(S){if(S===this.defaultLang)return;let j=this.retrieveTranslations(S);typeof j<"u"?(null==this.defaultLang&&(this.defaultLang=S),j.pipe((0,re.s)(1)).subscribe(H=>{this.changeDefaultLang(S)})):this.changeDefaultLang(S)}getDefaultLang(){return this.defaultLang}use(S){if(S===this.currentLang)return(0,e.of)(this.translations[S]);let j=this.retrieveTranslations(S);return typeof j<"u"?(this.currentLang||(this.currentLang=S),j.pipe((0,re.s)(1)).subscribe(H=>{this.changeLang(S)}),j):(this.changeLang(S),(0,e.of)(this.translations[S]))}retrieveTranslations(S){let j;return(typeof this.translations[S]>"u"||this.extend)&&(this._translationRequests[S]=this._translationRequests[S]||this.getTranslation(S),j=this._translationRequests[S]),j}getTranslation(S){this.pending=!0;const j=this.currentLoader.getTranslation(S).pipe(J(1),(0,re.s)(1));return this.loadingTranslations=j.pipe((0,te.T)(H=>this.compiler.compileTranslations(H,S)),J(1),(0,re.s)(1)),this.loadingTranslations.subscribe({next:H=>{this.translations[S]=this.extend&&this.translations[S]?{...H,...this.translations[S]}:H,this.updateLangs(),this.pending=!1},error:H=>{this.pending=!1}}),j}setTranslation(S,j,H=!1){j=this.compiler.compileTranslations(j,S),this.translations[S]=(H||this.extend)&&this.translations[S]?b(this.translations[S],j):j,this.updateLangs(),this.onTranslationChange.emit({lang:S,translations:this.translations[S]})}getLangs(){return this.langs}addLangs(S){S.forEach(j=>{-1===this.langs.indexOf(j)&&this.langs.push(j)})}updateLangs(){this.addLangs(Object.keys(this.translations))}getParsedResult(S,j,H){let Y;if(j instanceof Array){let U={},se=!1;for(let w of j)U[w]=this.getParsedResult(S,w,H),(0,V.A)(U[w])&&(se=!0);if(se){const w=j.map(X=>(0,V.A)(U[X])?U[X]:(0,e.of)(U[X]));return(0,Pe.p)(w).pipe((0,te.T)(X=>{let G={};return X.forEach((x,N)=>{G[j[N]]=x}),G}))}return U}if(S&&(Y=this.parser.interpolate(this.parser.getValue(S,j),H)),typeof Y>"u"&&null!=this.defaultLang&&this.defaultLang!==this.currentLang&&this.useDefaultLang&&(Y=this.parser.interpolate(this.parser.getValue(this.translations[this.defaultLang],j),H)),typeof Y>"u"){let U={key:j,translateService:this};typeof H<"u"&&(U.interpolateParams=H),Y=this.missingTranslationHandler.handle(U)}return typeof Y<"u"?Y:j}get(S,j){if(!E(S)||!S.length)throw new Error('Parameter "key" required');if(this.pending)return this.loadingTranslations.pipe((0,$.H)(H=>(H=this.getParsedResult(H,S,j),(0,V.A)(H)?H:(0,e.of)(H))));{let H=this.getParsedResult(this.translations[this.currentLang],S,j);return(0,V.A)(H)?H:(0,e.of)(H)}}getStreamOnTranslationChange(S,j){if(!E(S)||!S.length)throw new Error('Parameter "key" required');return(0,Z.x)((0,ie.v)(()=>this.get(S,j)),this.onTranslationChange.pipe((0,A.n)(H=>{const Y=this.getParsedResult(H.translations,S,j);return"function"==typeof Y.subscribe?Y:(0,e.of)(Y)})))}stream(S,j){if(!E(S)||!S.length)throw new Error('Parameter "key" required');return(0,Z.x)((0,ie.v)(()=>this.get(S,j)),this.onLangChange.pipe((0,A.n)(H=>{const Y=this.getParsedResult(H.translations,S,j);return(0,V.A)(Y)?Y:(0,e.of)(Y)})))}instant(S,j){if(!E(S)||!S.length)throw new Error('Parameter "key" required');let H=this.getParsedResult(this.translations[this.currentLang],S,j);if((0,V.A)(H)){if(S instanceof Array){let Y={};return S.forEach((U,se)=>{Y[S[se]]=S[se]}),Y}return S}return H}set(S,j,H=this.currentLang){this.translations[H][S]=this.compiler.compile(j,H),this.updateLangs(),this.onTranslationChange.emit({lang:H,translations:this.translations[H]})}changeLang(S){this.currentLang=S,this.onLangChange.emit({lang:S,translations:this.translations[S]}),null==this.defaultLang&&this.changeDefaultLang(S)}changeDefaultLang(S){this.defaultLang=S,this.onDefaultLangChange.emit({lang:S,translations:this.translations[S]})}reloadLang(S){return this.resetLang(S),this.getTranslation(S)}resetLang(S){this._translationRequests[S]=void 0,this.translations[S]=void 0}getBrowserLang(){if(typeof window>"u"||typeof window.navigator>"u")return;let S=window.navigator.languages?window.navigator.languages[0]:null;return S=S||window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage,typeof S>"u"?void 0:(-1!==S.indexOf("-")&&(S=S.split("-")[0]),-1!==S.indexOf("_")&&(S=S.split("_")[0]),S)}getBrowserCultureLang(){if(typeof window>"u"||typeof window.navigator>"u")return;let S=window.navigator.languages?window.navigator.languages[0]:null;return S=S||window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage,S}static \u0275fac=function(j){return new(j||k)(M.KVO(a),M.KVO(B),M.KVO(O),M.KVO(T),M.KVO(L),M.KVO(y),M.KVO(g),M.KVO(n),M.KVO(o))};static \u0275prov=M.jDH({token:k,factory:k.\u0275fac})}return k})(),l=(()=>{class k{translateService;element;_ref;key;lastParams;currentParams;onLangChangeSub;onDefaultLangChangeSub;onTranslationChangeSub;set translate(S){S&&(this.key=S,this.checkNodes())}set translateParams(S){I(this.currentParams,S)||(this.currentParams=S,this.checkNodes(!0))}constructor(S,j,H){this.translateService=S,this.element=j,this._ref=H,this.onTranslationChangeSub||(this.onTranslationChangeSub=this.translateService.onTranslationChange.subscribe(Y=>{Y.lang===this.translateService.currentLang&&this.checkNodes(!0,Y.translations)})),this.onLangChangeSub||(this.onLangChangeSub=this.translateService.onLangChange.subscribe(Y=>{this.checkNodes(!0,Y.translations)})),this.onDefaultLangChangeSub||(this.onDefaultLangChangeSub=this.translateService.onDefaultLangChange.subscribe(Y=>{this.checkNodes(!0)}))}ngAfterViewChecked(){this.checkNodes()}checkNodes(S=!1,j){let H=this.element.nativeElement.childNodes;H.length||(this.setContent(this.element.nativeElement,this.key),H=this.element.nativeElement.childNodes);for(let Y=0;Y{U!==S&&(j.lastKey=S),j.originalContent||(j.originalContent=this.getContent(j)),j.currentValue=E(U)?U:j.originalContent||S,this.setContent(j,this.key?j.currentValue:j.originalContent.replace(S,j.currentValue)),this._ref.markForCheck()};if(E(H)){let U=this.translateService.getParsedResult(H,S,this.currentParams);(0,V.A)(U)?U.subscribe({next:Y}):Y(U)}else this.translateService.get(S,this.currentParams).subscribe(Y)}}getContent(S){return E(S.textContent)?S.textContent:S.data}setContent(S,j){E(S.textContent)?S.textContent=j:S.data=j}ngOnDestroy(){this.onLangChangeSub&&this.onLangChangeSub.unsubscribe(),this.onDefaultLangChangeSub&&this.onDefaultLangChangeSub.unsubscribe(),this.onTranslationChangeSub&&this.onTranslationChangeSub.unsubscribe()}static \u0275fac=function(j){return new(j||k)(M.rXU(r),M.rXU(M.aKT),M.rXU(M.gRc))};static \u0275dir=M.FsC({type:k,selectors:[["","translate",""],["","ngx-translate",""]],inputs:{translate:"translate",translateParams:"translateParams"}})}return k})(),d=(()=>{class k{translate;_ref;value="";lastKey=null;lastParams=[];onTranslationChange;onLangChange;onDefaultLangChange;constructor(S,j){this.translate=S,this._ref=j}updateValue(S,j,H){let Y=U=>{this.value=void 0!==U?U:S,this.lastKey=S,this._ref.markForCheck()};if(H){let U=this.translate.getParsedResult(H,S,j);(0,V.A)(U.subscribe)?U.subscribe(Y):Y(U)}this.translate.get(S,j).subscribe(Y)}transform(S,...j){if(!S||!S.length)return S;if(I(S,this.lastKey)&&I(j,this.lastParams))return this.value;let H;if(E(j[0])&&j.length)if("string"==typeof j[0]&&j[0].length){let Y=j[0].replace(/(\')?([a-zA-Z0-9_]+)(\')?(\s)?:/g,'"$2":').replace(/:(\s)?(\')(.*?)(\')/g,':"$3"');try{H=JSON.parse(Y)}catch{throw new SyntaxError(`Wrong parameter in TranslatePipe. Expected a valid Object, received: ${j[0]}`)}}else"object"==typeof j[0]&&!Array.isArray(j[0])&&(H=j[0]);return this.lastKey=S,this.lastParams=j,this.updateValue(S,H),this._dispose(),this.onTranslationChange||(this.onTranslationChange=this.translate.onTranslationChange.subscribe(Y=>{this.lastKey&&Y.lang===this.translate.currentLang&&(this.lastKey=null,this.updateValue(S,H,Y.translations))})),this.onLangChange||(this.onLangChange=this.translate.onLangChange.subscribe(Y=>{this.lastKey&&(this.lastKey=null,this.updateValue(S,H,Y.translations))})),this.onDefaultLangChange||(this.onDefaultLangChange=this.translate.onDefaultLangChange.subscribe(()=>{this.lastKey&&(this.lastKey=null,this.updateValue(S,H))})),this.value}_dispose(){typeof this.onTranslationChange<"u"&&(this.onTranslationChange.unsubscribe(),this.onTranslationChange=void 0),typeof this.onLangChange<"u"&&(this.onLangChange.unsubscribe(),this.onLangChange=void 0),typeof this.onDefaultLangChange<"u"&&(this.onDefaultLangChange.unsubscribe(),this.onDefaultLangChange=void 0)}ngOnDestroy(){this._dispose()}static \u0275fac=function(j){return new(j||k)(M.rXU(r,16),M.rXU(M.gRc,16))};static \u0275pipe=M.EJ8({name:"translate",type:k,pure:!1});static \u0275prov=M.jDH({token:k,factory:k.\u0275fac})}return k})(),C=(()=>{class k{static forRoot(S={}){return{ngModule:k,providers:[S.loader||{provide:B,useClass:F},S.compiler||{provide:O,useClass:f},S.parser||{provide:T,useClass:z},S.missingTranslationHandler||{provide:L,useClass:D},a,{provide:g,useValue:S.isolate},{provide:y,useValue:S.useDefaultLang},{provide:n,useValue:S.extend},{provide:o,useValue:S.defaultLanguage},r]}}static forChild(S={}){return{ngModule:k,providers:[S.loader||{provide:B,useClass:F},S.compiler||{provide:O,useClass:f},S.parser||{provide:T,useClass:z},S.missingTranslationHandler||{provide:L,useClass:D},{provide:g,useValue:S.isolate},{provide:y,useValue:S.useDefaultLang},{provide:n,useValue:S.extend},{provide:o,useValue:S.defaultLanguage},r]}}static \u0275fac=function(j){return new(j||k)};static \u0275mod=M.$C({type:k});static \u0275inj=M.G2t({})}return k})()},91346:(ri,Ft,He)=>{"use strict";He.d(Ft,{t1:()=>J,S6:()=>B,Fr:()=>D,SV:()=>F});var M=He(21264),e=He.t(M,2),V=He(21413);class Pe extends V.B{constructor(){super(...arguments),this._value=null,this._hasValue=!1,this._isComplete=!1}_checkFinalizedStatuses(E){const{hasError:_,_hasValue:b,_value:T,thrownError:z,isStopped:O,_isComplete:f}=this;_?E.error(z):(O||f)&&(b&&E.next(T),E.complete())}next(E){this.isStopped||(this._value=E,this._hasValue=!0)}complete(){const{_hasValue:E,_value:_,_isComplete:b}=this;b||(this._isComplete=!0,E&&super.next(_),super.complete())}}var Z=He(54438),ie=He(12146),re=He.t(ie,2),ve=He(84191),le=He.t(ve,2),fe=He(31923),pe=He.t(fe,2);class J{constructor(E={series:[]}){this.options=E,this.refSubject=new Pe,this.ref$=this.refSubject.asObservable()}addPoint(E,_=0,b=!0,T=!1){this.ref$.subscribe(z=>{z.series.length>_&&z.series[_].addPoint(E,b,T)})}addSeries(E,_=!0,b){this.ref$.subscribe(T=>{T.addSeries(E,_,b)})}removePoint(E,_=0){this.ref$.subscribe(b=>{b.series.length>_&&b.series[_].data.length>E&&b.series[_].removePoint(E,!0)})}removeSeries(E){this.ref$.subscribe(_=>{_.series.length>E&&_.series[E].remove(!0)})}init(E){this.ref||M.chart(E.nativeElement,this.options,_=>{this.ref||(this.refSubject.next(_),this.ref=_,this.refSubject.complete())})}destroy(){this.ref&&(this.options=this.ref.options,this.ref.destroy(),this.ref=void 0,this.refSubject=new Pe,this.ref$=this.refSubject.asObservable())}}class te{constructor(E={series:[]}){this.options=E,this.refSubject=new Pe,this.ref$=this.refSubject.asObservable()}init(E){this.ref||ie.mapChart(E.nativeElement,this.options,_=>{this.ref||(this.refSubject.next(_),this.ref=_,this.refSubject.complete())})}destroy(){this.ref&&(this.options=this.ref.options,this.ref.destroy(),this.ref=void 0,this.refSubject=new Pe,this.ref$=this.refSubject.asObservable())}}class ${constructor(E={series:[]}){this.options=E,this.refSubject=new Pe,this.ref$=this.refSubject.asObservable()}init(E){this.ref||ve.stockChart(E.nativeElement,this.options,_=>{this.ref||(this.refSubject.next(_),this.ref=_,this.refSubject.complete())})}destroy(){this.ref&&(this.options=this.ref.options,this.ref.destroy(),this.ref=void 0,this.refSubject=new Pe,this.ref$=this.refSubject.asObservable())}}class A{constructor(E={series:[]}){this.options=E,this.refSubject=new Pe,this.ref$=this.refSubject.asObservable()}init(E){this.ref||fe.ganttChart(E.nativeElement,this.options,_=>{this.ref||(this.refSubject.next(_),this.ref=_,this.refSubject.complete())})}destroy(){this.ref&&(this.options=this.ref.options,this.ref.destroy(),this.ref=void 0,this.refSubject=new Pe,this.ref$=this.refSubject.asObservable())}}let B=(()=>{class I{constructor(_){this.el=_}ngOnChanges(_){_.chart?.isFirstChange()||(this.destroy(),this.init())}ngOnInit(){this.init()}ngOnDestroy(){this.destroy()}init(){(this.chart instanceof J||this.chart instanceof $||this.chart instanceof te||this.chart instanceof A)&&this.chart.init(this.el)}destroy(){(this.chart instanceof J||this.chart instanceof $||this.chart instanceof te||this.chart instanceof A)&&this.chart.destroy()}static#e=this.\u0275fac=function(b){return new(b||I)(Z.rXU(Z.aKT))};static#t=this.\u0275dir=Z.FsC({type:I,selectors:[["","chart",""]],inputs:{chart:"chart"},features:[Z.OA$]})}return I})(),F=new Z.nKC("HighchartsModules"),L=(()=>{class I{constructor(_){this.chartModules=_}initModules(){this.chartModules.forEach(_=>{[e,le,re,pe].forEach(_)})}static#e=this.\u0275fac=function(b){return new(b||I)(Z.KVO(F))};static#t=this.\u0275prov=Z.jDH({token:I,factory:I.\u0275fac})}return I})(),D=(()=>{class I{constructor(_){this.cs=_,this.cs.initModules()}static#e=this.\u0275fac=function(b){return new(b||I)(Z.KVO(L))};static#t=this.\u0275mod=Z.$C({type:I});static#i=this.\u0275inj=Z.G2t({providers:[{provide:F,useValue:[]},L]})}return I})()},37542:(ri,Ft,He)=>{"use strict";He.d(Ft,{HU:()=>pe,JV:()=>F,MH:()=>re,PI:()=>te,kA:()=>o,mP:()=>Fe});var M=He(54438),e=He(60177);function re(de,ye){const Te=ye?function ie(de){return"string"==typeof de?()=>{throw new Error(de)}:de}(ye):()=>{};let _e=!1;return(...Me)=>_e?Te(...Me):(_e=!0,de(...Me))}function ve(de,ye){if(null==de)throw new Error("Unexpected "+de+" value: "+ye);return de}He(345),He(33726),He(57786);const pe=new M.nKC("MATOMO_ROUTER_ENABLED",{factory:()=>!1}),J=new M.nKC("MATOMO_CONFIGURATION"),te=new M.nKC("INTERNAL_MATOMO_CONFIGURATION",{factory:()=>({disabled:!1,enableLinkTracking:!0,trackAppInitialLoad:!(0,M.WQX)(pe),requireConsent:F.NONE,enableJSErrorTracking:!1,runOutsideAngularZone:!1,...ve((0,M.WQX)(J,{optional:!0}),"No Matomo configuration found! Have you included Matomo module using NgxMatomoTrackerModule.forRoot() ?")})}),$=new M.nKC("DEFERRED_INTERNAL_MATOMO_CONFIGURATION",{factory:()=>{const de=(0,M.WQX)(te);let ye;return{configuration:new Promise(_e=>ye=_e),markReady(_e){ve(ye,"resolveFn")({...de,..._e})}}}});new M.nKC("ASYNC_INTERNAL_MATOMO_CONFIGURATION",{factory:()=>(0,M.WQX)($).configuration});var B=function(de){return de[de.AUTO=0]="AUTO",de[de.MANUAL=1]="MANUAL",de[de.AUTO_DEFERRED=2]="AUTO_DEFERRED",de}(B||{}),F=function(de){return de[de.NONE=0]="NONE",de[de.COOKIE=1]="COOKIE",de[de.TRACKING=2]="TRACKING",de}(F||{});function D(de){return null!=de.siteId&&null!=de.trackerUrl}function _(de){return Array.isArray(de.trackers)}function T(){window._paq=window._paq||[]}function f(de){const ye=[...de];for(;ye.length>0&&void 0===ye[ye.length-1];)ye.pop();return ye}let o=(()=>{class de{trackPageView(Te){this.push(["trackPageView",Te])}trackEvent(Te,_e,Me,Ee){this.push(["trackEvent",Te,_e,Me,Ee])}trackSiteSearch(Te,_e,Me){this.push(["trackSiteSearch",Te,_e,Me])}trackGoal(Te,_e){this.push(["trackGoal",Te,_e])}trackLink(Te,_e){this.push(["trackLink",Te,_e])}trackAllContentImpressions(){this.push(["trackAllContentImpressions"])}trackVisibleContentImpressions(Te,_e){this.push(["trackVisibleContentImpressions",Te,_e])}trackContentImpressionsWithinNode(Te){this.push(["trackContentImpressionsWithinNode",Te])}trackContentInteractionNode(Te,_e){this.push(["trackContentInteractionNode",Te,_e])}trackContentImpression(Te,_e,Me){this.push(["trackContentImpression",Te,_e,Me])}trackContentInteraction(Te,_e,Me,Ee){this.push(["trackContentInteraction",Te,_e,Me,Ee])}logAllContentBlocksOnPage(){this.push(["logAllContentBlocksOnPage"])}ping(){this.push(["ping"])}enableHeartBeatTimer(Te){this.push(["enableHeartBeatTimer",Te])}enableLinkTracking(Te=!1){this.push(["enableLinkTracking",Te])}disablePerformanceTracking(){this.push(["disablePerformanceTracking"])}enableCrossDomainLinking(){this.push(["enableCrossDomainLinking"])}setCrossDomainLinkingTimeout(Te){this.push(["setCrossDomainLinkingTimeout",Te])}getCrossDomainLinkingUrlParameter(){return this.get("getCrossDomainLinkingUrlParameter")}setDocumentTitle(Te){this.push(["setDocumentTitle",Te])}setDomains(Te){this.push(["setDomains",Te])}setCustomUrl(Te){this.push(["setCustomUrl",Te])}setReferrerUrl(Te){this.push(["setReferrerUrl",Te])}setSiteId(Te){this.push(["setSiteId",Te])}setApiUrl(Te){this.push(["setApiUrl",Te])}setTrackerUrl(Te){this.push(["setTrackerUrl",Te])}addTracker(Te,_e){this.push(["addTracker",Te,_e])}getMatomoUrl(){return this.get("getMatomoUrl")}getPiwikUrl(){return this.get("getPiwikUrl")}getCurrentUrl(){return this.get("getCurrentUrl")}setDownloadClasses(Te){this.push(["setDownloadClasses",Te])}setDownloadExtensions(Te){this.push(["setDownloadExtensions",Te])}addDownloadExtensions(Te){this.push(["addDownloadExtensions",Te])}removeDownloadExtensions(Te){this.push(["removeDownloadExtensions",Te])}setIgnoreClasses(Te){this.push(["setIgnoreClasses",Te])}setLinkClasses(Te){this.push(["setLinkClasses",Te])}setLinkTrackingTimer(Te){this.push(["setLinkTrackingTimer",Te])}getLinkTrackingTimer(){return this.get("getLinkTrackingTimer")}discardHashTag(Te){this.push(["discardHashTag",Te])}setGenerationTimeMs(Te){this.push(["setGenerationTimeMs",Te])}setPagePerformanceTiming(Te,_e,Me,Ee,Xe,Ze){let lt;"object"==typeof Te&&Te?(lt=Te.networkTimeInMs,_e=Te.serverTimeInMs,Me=Te.transferTimeInMs,Ee=Te.domProcessingTimeInMs,Xe=Te.domCompletionTimeInMs,Ze=Te.onloadTimeInMs):lt=Te,this.push(["setPagePerformanceTiming",lt,_e,Me,Ee,Xe,Ze])}getCustomPagePerformanceTiming(){return this.get("getCustomPagePerformanceTiming")}appendToTrackingUrl(Te){this.push(["appendToTrackingUrl",Te])}setDoNotTrack(Te){this.push(["setDoNotTrack",Te])}killFrame(){this.push(["killFrame"])}redirectFile(Te){this.push(["redirectFile",Te])}setHeartBeatTimer(Te,_e){this.push(["setHeartBeatTimer",Te,_e])}getVisitorId(){return this.get("getVisitorId")}setVisitorId(Te){this.push(["setVisitorId",Te])}getVisitorInfo(){return this.get("getVisitorInfo")}getAttributionInfo(){return this.get("getAttributionInfo")}getAttributionCampaignName(){return this.get("getAttributionCampaignName")}getAttributionCampaignKeyword(){return this.get("getAttributionCampaignKeyword")}getAttributionReferrerTimestamp(){return this.get("getAttributionReferrerTimestamp")}getAttributionReferrerUrl(){return this.get("getAttributionReferrerUrl")}getUserId(){return this.get("getUserId")}setUserId(Te){this.push(["setUserId",Te])}resetUserId(){this.push(["resetUserId"])}setPageViewId(Te){this.push(["setPageViewId",Te])}getPageViewId(){return this.get("getPageViewId")}setCustomVariable(Te,_e,Me,Ee){this.push(["setCustomVariable",Te,_e,Me,Ee])}deleteCustomVariable(Te,_e){this.push(["deleteCustomVariable",Te,_e])}deleteCustomVariables(Te){this.push(["deleteCustomVariables",Te])}getCustomVariable(Te,_e){return this.pushFn(Me=>Me.getCustomVariable(Te,_e))}storeCustomVariablesInCookie(){this.push(["storeCustomVariablesInCookie"])}setCustomDimension(Te,_e){this.push(["setCustomDimension",Te,_e])}deleteCustomDimension(Te){this.push(["deleteCustomDimension",Te])}getCustomDimension(Te){return this.pushFn(_e=>_e.getCustomDimension(Te))}setCampaignNameKey(Te){this.push(["setCampaignNameKey",Te])}setCampaignKeywordKey(Te){this.push(["setCampaignKeywordKey",Te])}setConversionAttributionFirstReferrer(Te){this.push(["setConversionAttributionFirstReferrer",Te])}setEcommerceView(Te,_e,Me,Ee){!function a(de){return"object"==typeof de&&1===Object.keys(de).length&&null!=de.productCategory}(Te)?function g(de){return"object"==typeof de&&"productSKU"in de}(Te)?this.push(["setEcommerceView",Te.productSKU,Te.productName,Te.productCategory,Te.price]):this.push(["setEcommerceView",Te,_e,Me,Ee]):this.push(["setEcommerceView",!1,!1,Te.productCategory])}addEcommerceItem(Te,_e,Me,Ee,Xe){this.push("string"==typeof Te?["addEcommerceItem",Te,_e,Me,Ee,Xe]:["addEcommerceItem",Te.productSKU,Te.productName,Te.productCategory,Te.price,Te.quantity])}removeEcommerceItem(Te){this.push(["removeEcommerceItem",Te])}clearEcommerceCart(){this.push(["clearEcommerceCart"])}getEcommerceItems(){return this.get("getEcommerceItems")}trackEcommerceCartUpdate(Te){this.push(["trackEcommerceCartUpdate",Te])}trackEcommerceOrder(Te,_e,Me,Ee,Xe,Ze){this.push(["trackEcommerceOrder",Te,_e,Me,Ee,Xe,Ze])}requireConsent(){this.push(["requireConsent"])}setConsentGiven(){this.push(["setConsentGiven"])}rememberConsentGiven(Te){this.push(["rememberConsentGiven",Te])}forgetConsentGiven(){this.push(["forgetConsentGiven"])}hasRememberedConsent(){return this.get("hasRememberedConsent")}getRememberedConsent(){return this.get("getRememberedConsent")}isConsentRequired(){return this.get("isConsentRequired")}requireCookieConsent(){this.push(["requireCookieConsent"])}setCookieConsentGiven(){this.push(["setCookieConsentGiven"])}rememberCookieConsentGiven(Te){this.push(["rememberCookieConsentGiven",Te])}forgetCookieConsentGiven(){this.push(["forgetCookieConsentGiven"])}getRememberedCookieConsent(){return this.get("getRememberedCookieConsent")}areCookiesEnabled(){return this.get("areCookiesEnabled")}optUserOut(){this.push(["optUserOut"])}forgetUserOptOut(){this.push(["forgetUserOptOut"])}isUserOptedOut(){return this.get("isUserOptedOut")}disableCookies(){this.push(["disableCookies"])}deleteCookies(){this.push(["deleteCookies"])}hasCookies(){return this.get("hasCookies")}setCookieNamePrefix(Te){this.push(["setCookieNamePrefix",Te])}setCookieDomain(Te){this.push(["setCookieDomain",Te])}setCookiePath(Te){this.push(["setCookiePath",Te])}setSecureCookie(Te){this.push(["setSecureCookie",Te])}setCookieSameSite(Te){this.push(["setCookieSameSite",Te])}setVisitorCookieTimeout(Te){this.push(["setVisitorCookieTimeout",Te])}setReferralCookieTimeout(Te){this.push(["setReferralCookieTimeout",Te])}setSessionCookieTimeout(Te){this.push(["setSessionCookieTimeout",Te])}addListener(Te){this.push(["addListener",Te])}setRequestMethod(Te){this.push(["setRequestMethod",Te])}setCustomRequestProcessing(Te){this.push(["setCustomRequestProcessing",Te])}setRequestContentType(Te){this.push(["setRequestContentType",Te])}disableQueueRequest(){this.push(["disableQueueRequest"])}setRequestQueueInterval(Te){this.push(["setRequestQueueInterval",Te])}disableAlwaysUseSendBeacon(){this.push(["disableAlwaysUseSendBeacon"])}alwaysUseSendBeacon(){this.push(["alwaysUseSendBeacon"])}enableJSErrorTracking(){this.push(["enableJSErrorTracking"])}enableFileTracking(){this.push(["enableFileTracking"])}setExcludedReferrers(...Te){const _e=Te.flat();this.push(["setExcludedReferrers",_e])}getExcludedReferrers(){return this.get("getExcludedReferrers")}disableBrowserFeatureDetection(){this.push(["disableBrowserFeatureDetection"])}enableBrowserFeatureDetection(){this.push(["enableBrowserFeatureDetection"])}get(Te){return this.pushFn(_e=>_e[Te]())}static#e=this.\u0275fac=function(_e){return new(_e||de)};static#t=this.\u0275prov=M.jDH({token:de,factory:function(_e){let Me=null;return Me=_e?new _e:function y(de,ye,Te){return de.disabled||!(0,e.UE)(ye)?new r:new n(Te,de)}(M.KVO(te),M.KVO(M.Agw),M.KVO(M.SKi)),Me},providedIn:"root"})}return de})();class n extends o{constructor(ye,Te){super(),this.ngZone=ye,this.config=Te,T()}pushFn(ye){return new Promise(Te=>{this.push([function(){Te(ye(this))}])})}push(ye){this.config.runOutsideAngularZone?this.ngZone.runOutsideAngular(()=>{window._paq.push(f(ye))}):window._paq.push(f(ye))}}class r extends o{push(ye){}pushFn(ye){return Promise.reject("MatomoTracker is disabled")}}const l=(de,ye)=>{const Te=ye.createElement("script");return Te.type="text/javascript",Te.defer=!0,Te.async=!0,Te.src=de,Te},d=new M.nKC("MATOMO_SCRIPT_FACTORY",{providedIn:"root",factory:()=>l});function C(de){return`${de}`}function k(de){return de.endsWith("/")?de:`${de}/`}function p(de,ye){return null==ye?k(de)+S:de+ye}const S="matomo.php";class Y{initialize(){}initializeTracker(ye){}}let U=(()=>{class de{constructor(){this.config=(0,M.WQX)(te),this.deferredConfig=(0,M.WQX)($),this.tracker=(0,M.WQX)(o),this.scriptFactory=(0,M.WQX)(d),this.injector=(0,M.WQX)(M.uvJ),this.document=(0,M.WQX)(e.qQ),this.initialize=re(()=>{this.runPreInitTasks(),function L(de){return null==de.mode||de.mode===B.AUTO}(this.config)&&this.injectMatomoScript(this.config)},"Matomo has already been initialized"),this.injectMatomoScript=re(Te=>{if(function E(de){return D(de)||_(de)}(Te)){const{scriptUrl:_e}=Te,[Me,...Ee]=function b(de){return _(de)?de.trackers:[{trackerUrl:de.trackerUrl,siteId:de.siteId,trackerUrlSuffix:de.trackerUrlSuffix}]}(Te),Xe=_e??k(Me.trackerUrl)+"matomo.js";this.registerMainTracker(Me),this.registerAdditionalTrackers(Ee),this.injectDOMScript(Xe)}else if(function I(de){return null!=de.scriptUrl&&!D(de)}(Te)){const{scriptUrl:_e,trackers:Me}={trackers:[],...Te};this.registerAdditionalTrackers(Me),this.injectDOMScript(_e)}this.deferredConfig.markReady(Te)},"Matomo trackers have already been initialized"),T()}init(){this.initialize()}initializeTracker(Te){this.injectMatomoScript(Te)}registerMainTracker(Te){const _e=p(Te.trackerUrl,Te.trackerUrlSuffix),Me=C(Te.siteId);this.tracker.setTrackerUrl(_e),this.tracker.setSiteId(Me)}registerAdditionalTrackers(Te){Te.forEach(({trackerUrl:_e,siteId:Me,trackerUrlSuffix:Ee})=>{const Xe=p(_e,Ee),Ze=C(Me);this.tracker.addTracker(Xe,Ze)})}injectDOMScript(Te){const _e=this.injector.runInContext(()=>this.scriptFactory(Te,this.document)),Me=ve(this.document.getElementsByTagName("script")[0],"no existing script found");ve(Me.parentNode,"no script's parent node found").insertBefore(_e,Me)}runPreInitTasks(){this.config.acceptDoNotTrack&&this.tracker.setDoNotTrack(!0),this.config.requireConsent===F.COOKIE?this.tracker.requireCookieConsent():this.config.requireConsent===F.TRACKING&&this.tracker.requireConsent(),this.config.enableJSErrorTracking&&this.tracker.enableJSErrorTracking(),this.config.trackAppInitialLoad&&this.tracker.trackPageView(),this.config.enableLinkTracking&&this.tracker.enableLinkTracking("enable-pseudo"===this.config.enableLinkTracking)}static#e=this.\u0275fac=function(_e){return new(_e||de)};static#t=this.\u0275prov=M.jDH({token:de,factory:()=>function H(){const de=(0,M.WQX)(te).disabled,ye=(0,e.UE)((0,M.WQX)(M.Agw));return de||!ye?new Y:new U}(),providedIn:"root"})}return de})();const se=Symbol("MATOMO_PROVIDERS");function Ae(de,ye){const Te=[];return ye&&Te.push(function G(de){return function w(de,ye){return{kind:de,[se]:ye}}(0,[{provide:d,useValue:de}])}(ye)),function X(de,...ye){const Te=[{provide:M.Z63,multi:!0,useValue(){(0,M.WQX)(U).initialize()}}],_e=[];Te.push("function"==typeof de?{provide:J,useFactory:de}:{provide:J,useValue:de});for(const Ee of ye)Te.push(...Ee[se]),_e.push(Ee.kind);const Me=[[2,"withRouterInterceptors()"],[3,"withRouteData()"]];for(const[Ee,Xe]of Me)if(_e.includes(Ee)&&!_e.includes(1))throw new Error(`Matomo feature ${Xe} cannot be used without router feature! Did you forget to call withRouter()?`);return(0,M.EmA)(Te)}(de,...Te)}let Fe=(()=>{class de{static forRoot(Te,_e){return{ngModule:de,providers:[Ae(Te,_e)]}}static#e=this.\u0275fac=function(_e){return new(_e||de)};static#t=this.\u0275mod=M.$C({type:de});static#i=this.\u0275inj=M.G2t({})}return de})()},36554:(ri,Ft,He)=>{"use strict";He.d(Ft,{PO:()=>b,et:()=>_,ex:()=>D});var M=He(54438),e=He(84412),V=He(21413),Pe=He(5964),Z=He(56977),ie=He(49969),re=He(60177),ve=He(345);const le=["overlay"],fe=["*"];function pe(T,z){1&T&&M.nrm(0,"div")}function J(T,z){if(1&T&&(M.j41(0,"div"),M.DNE(1,pe,1,0,"div",6),M.k0s()),2&T){const O=M.XpG(2);M.HbH(O.spinner.class),M.xc7("color",O.spinner.color),M.R7$(),M.Y8G("ngForOf",O.spinner.divArray)}}function te(T,z){if(1&T&&(M.nrm(0,"div",7),M.nI1(1,"safeHtml")),2&T){const O=M.XpG(2);M.Y8G("innerHTML",M.bMT(1,1,O.template),M.npT)}}function $(T,z){if(1&T&&(M.j41(0,"div",2,0),M.DNE(2,J,2,5,"div",3)(3,te,2,3,"div",4),M.j41(4,"div",5),M.SdG(5),M.k0s()()),2&T){const O=M.XpG();M.xc7("background-color",O.spinner.bdColor)("z-index",O.spinner.zIndex)("position",O.spinner.fullScreen?"fixed":"absolute"),M.Y8G("@.disabled",O.disableAnimation)("@fadeIn","in"),M.R7$(2),M.Y8G("ngIf",!O.template),M.R7$(),M.Y8G("ngIf",O.template),M.R7$(),M.xc7("z-index",O.spinner.zIndex)}}const A={"ball-8bits":16,"ball-atom":4,"ball-beat":3,"ball-circus":5,"ball-climbing-dot":4,"ball-clip-rotate":1,"ball-clip-rotate-multiple":2,"ball-clip-rotate-pulse":2,"ball-elastic-dots":5,"ball-fall":3,"ball-fussion":4,"ball-grid-beat":9,"ball-grid-pulse":9,"ball-newton-cradle":4,"ball-pulse":3,"ball-pulse-rise":5,"ball-pulse-sync":3,"ball-rotate":1,"ball-running-dots":5,"ball-scale":1,"ball-scale-multiple":3,"ball-scale-pulse":2,"ball-scale-ripple":1,"ball-scale-ripple-multiple":3,"ball-spin":8,"ball-spin-clockwise":8,"ball-spin-clockwise-fade":8,"ball-spin-clockwise-fade-rotating":8,"ball-spin-fade":8,"ball-spin-fade-rotating":8,"ball-spin-rotate":2,"ball-square-clockwise-spin":8,"ball-square-spin":8,"ball-triangle-path":3,"ball-zig-zag":2,"ball-zig-zag-deflect":2,cog:1,"cube-transition":2,fire:3,"line-scale":5,"line-scale-party":5,"line-scale-pulse-out":5,"line-scale-pulse-out-rapid":5,"line-spin-clockwise-fade":8,"line-spin-clockwise-fade-rotating":8,"line-spin-fade":8,"line-spin-fade-rotating":8,pacman:6,"square-jelly-box":2,"square-loader":1,"square-spin":1,timer:1,"triangle-skew-spin":1},F="primary";class L{constructor(z){Object.assign(this,z)}static create(z){return!z?.template&&!z?.type&&console.warn('[ngx-spinner]: Property "type" is missed. Please, provide animation type to component\n and ensure css is added to angular.json file'),new L(z)}}let D=(()=>{class T{constructor(){this.spinnerObservable=new e.t(null)}getSpinner(O){return this.spinnerObservable.asObservable().pipe((0,Pe.p)(f=>f&&f.name===O))}show(O=F,f){return new Promise((a,g)=>{setTimeout(()=>{f&&Object.keys(f).length?(f.name=O,this.spinnerObservable.next(new L({...f,show:!0})),a(!0)):(this.spinnerObservable.next(new L({name:O,show:!0})),a(!0))},10)})}hide(O=F,f=10){return new Promise((a,g)=>{setTimeout(()=>{this.spinnerObservable.next(new L({name:O,show:!1})),a(!0)},f)})}static#e=this.\u0275fac=function(f){return new(f||T)};static#t=this.\u0275prov=M.jDH({token:T,factory:T.\u0275fac,providedIn:"root"})}return T})();const I=new M.nKC("NGX_SPINNER_CONFIG");let E=(()=>{class T{constructor(O){this._sanitizer=O}transform(O){if(O)return this._sanitizer.bypassSecurityTrustHtml(O)}static#e=this.\u0275fac=function(f){return new(f||T)(M.rXU(ve.up,16))};static#t=this.\u0275pipe=M.EJ8({name:"safeHtml",type:T,pure:!0})}return T})(),_=(()=>{class T{constructor(O,f,a,g){this.spinnerService=O,this.changeDetector=f,this.elementRef=a,this.globalConfig=g,this.disableAnimation=!1,this.spinner=new L,this.ngUnsubscribe=new V.B,this.setDefaultOptions=()=>{const{type:y}=this.globalConfig??{};this.spinner=L.create({name:this.name,bdColor:this.bdColor,size:this.size,color:this.color,type:this.type??y,fullScreen:this.fullScreen,divArray:this.divArray,divCount:this.divCount,show:this.show,zIndex:this.zIndex,template:this.template,showSpinner:this.showSpinner})},this.bdColor="rgba(51,51,51,0.8)",this.zIndex=99999,this.color="#fff",this.size="large",this.fullScreen=!0,this.name=F,this.template=null,this.showSpinner=!1,this.divArray=[],this.divCount=0,this.show=!1}initObservable(){this.spinnerService.getSpinner(this.name).pipe((0,Z.Q)(this.ngUnsubscribe)).subscribe(O=>{this.setDefaultOptions(),Object.assign(this.spinner,O),O.show&&this.onInputChange(),this.changeDetector.detectChanges()})}ngOnInit(){this.setDefaultOptions(),this.initObservable()}isSpinnerZone(O){return O===this.elementRef.nativeElement.parentElement||O.parentNode&&this.isSpinnerZone(O.parentNode)}ngOnChanges(O){for(const f in O)if(f){const a=O[f];if(a.isFirstChange())return;typeof a.currentValue<"u"&&a.currentValue!==a.previousValue&&""!==a.currentValue&&(this.spinner[f]=a.currentValue,"showSpinner"===f&&(a.currentValue?this.spinnerService.show(this.spinner.name,this.spinner):this.spinnerService.hide(this.spinner.name)),"name"===f&&this.initObservable())}}getClass(O,f){this.spinner.divCount=A[O],this.spinner.divArray=Array(this.spinner.divCount).fill(0).map((g,y)=>y);let a="";switch(f.toLowerCase()){case"small":a="la-sm";break;case"medium":a="la-2x";break;case"large":a="la-3x"}return"la-"+O+" "+a}onInputChange(){this.spinner.class=this.getClass(this.spinner.type,this.spinner.size)}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}static#e=this.\u0275fac=function(f){return new(f||T)(M.rXU(D),M.rXU(M.gRc),M.rXU(M.aKT),M.rXU(I,8))};static#t=this.\u0275cmp=M.VBU({type:T,selectors:[["ngx-spinner"]],viewQuery:function(f,a){if(1&f&&M.GBs(le,5),2&f){let g;M.mGM(g=M.lsd())&&(a.spinnerDOM=g.first)}},inputs:{bdColor:"bdColor",size:"size",color:"color",type:"type",fullScreen:"fullScreen",name:"name",zIndex:"zIndex",template:"template",showSpinner:"showSpinner",disableAnimation:"disableAnimation"},features:[M.OA$],ngContentSelectors:fe,decls:1,vars:1,consts:[["overlay",""],["class","ngx-spinner-overlay",3,"background-color","z-index","position",4,"ngIf"],[1,"ngx-spinner-overlay"],[3,"class","color",4,"ngIf"],[3,"innerHTML",4,"ngIf"],[1,"loading-text"],[4,"ngFor","ngForOf"],[3,"innerHTML"]],template:function(f,a){1&f&&(M.NAR(),M.DNE(0,$,6,12,"div",1)),2&f&&M.Y8G("ngIf",a.spinner.show)},dependencies:[re.Sq,re.bT,E],styles:[".ngx-spinner-overlay[_ngcontent-%COMP%]{position:fixed;top:0;left:0;width:100%;height:100%}.ngx-spinner-overlay[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:not(.loading-text){top:50%;left:50%;margin:0;position:absolute;transform:translate(-50%,-50%)}.loading-text[_ngcontent-%COMP%]{position:absolute;top:60%;left:50%;transform:translate(-50%,-60%)}"],data:{animation:[(0,ie.hZ)("fadeIn",[(0,ie.wk)("in",(0,ie.iF)({opacity:1})),(0,ie.kY)(":enter",[(0,ie.iF)({opacity:0}),(0,ie.i0)(300)]),(0,ie.kY)(":leave",(0,ie.i0)(200,(0,ie.iF)({opacity:0})))])]},changeDetection:0})}return T})(),b=(()=>{class T{static forRoot(O){return{ngModule:T,providers:[{provide:I,useValue:O}]}}static#e=this.\u0275fac=function(f){return new(f||T)};static#t=this.\u0275mod=M.$C({type:T});static#i=this.\u0275inj=M.G2t({imports:[re.MD]})}return T})()},45794:(ri,Ft,He)=>{"use strict";He.d(Ft,{_B:()=>l,tw:()=>y});var M=He(54438),e=He(49969),V=He(60177),Pe=He(21413),Z=He(345);const ie=["toast-component",""];function re(S,j){if(1&S){const H=M.RV6();M.j41(0,"button",5),M.bIt("click",function(){M.eBV(H);const U=M.XpG();return M.Njj(U.remove())}),M.j41(1,"span",6),M.EFF(2,"\xd7"),M.k0s()()}}function ve(S,j){if(1&S&&(M.qex(0),M.EFF(1),M.bVm()),2&S){const H=M.XpG(2);M.R7$(),M.SpI("[",H.duplicatesCount+1,"]")}}function le(S,j){if(1&S&&(M.j41(0,"div"),M.EFF(1),M.DNE(2,ve,2,1,"ng-container",4),M.k0s()),2&S){const H=M.XpG();M.HbH(H.options.titleClass),M.BMQ("aria-label",H.title),M.R7$(),M.SpI(" ",H.title," "),M.R7$(),M.Y8G("ngIf",H.duplicatesCount)}}function fe(S,j){if(1&S&&M.nrm(0,"div",7),2&S){const H=M.XpG();M.HbH(H.options.messageClass),M.Y8G("innerHTML",H.message,M.npT)}}function pe(S,j){if(1&S&&(M.j41(0,"div",8),M.EFF(1),M.k0s()),2&S){const H=M.XpG();M.HbH(H.options.messageClass),M.BMQ("aria-label",H.message),M.R7$(),M.SpI(" ",H.message," ")}}function J(S,j){if(1&S&&(M.j41(0,"div"),M.nrm(1,"div",9),M.k0s()),2&S){const H=M.XpG();M.R7$(),M.xc7("width",H.width+"%")}}class I{_attachedHost;component;viewContainerRef;injector;constructor(j,H){this.component=j,this.injector=H}attach(j,H){return this._attachedHost=j,j.attach(this,H)}detach(){const j=this._attachedHost;if(j)return this._attachedHost=void 0,j.detach()}get isAttached(){return null!=this._attachedHost}setAttachedHost(j){this._attachedHost=j}}class E{_attachedPortal;_disposeFn;attach(j,H){return this._attachedPortal=j,this.attachComponentPortal(j,H)}detach(){this._attachedPortal&&this._attachedPortal.setAttachedHost(),this._attachedPortal=void 0,this._disposeFn&&(this._disposeFn(),this._disposeFn=void 0)}setDisposeFn(j){this._disposeFn=j}}class _{_overlayRef;componentInstance;duplicatesCount=0;_afterClosed=new Pe.B;_activate=new Pe.B;_manualClose=new Pe.B;_resetTimeout=new Pe.B;_countDuplicate=new Pe.B;constructor(j){this._overlayRef=j}manualClose(){this._manualClose.next(),this._manualClose.complete()}manualClosed(){return this._manualClose.asObservable()}timeoutReset(){return this._resetTimeout.asObservable()}countDuplicate(){return this._countDuplicate.asObservable()}close(){this._overlayRef.detach(),this._afterClosed.next(),this._manualClose.next(),this._afterClosed.complete(),this._manualClose.complete(),this._activate.complete(),this._resetTimeout.complete(),this._countDuplicate.complete()}afterClosed(){return this._afterClosed.asObservable()}isInactive(){return this._activate.isStopped}activate(){this._activate.next(),this._activate.complete()}afterActivate(){return this._activate.asObservable()}onDuplicate(j,H){j&&this._resetTimeout.next(),H&&this._countDuplicate.next(++this.duplicatesCount)}}class b{toastId;config;message;title;toastType;toastRef;_onTap=new Pe.B;_onAction=new Pe.B;constructor(j,H,Y,U,se,w){this.toastId=j,this.config=H,this.message=Y,this.title=U,this.toastType=se,this.toastRef=w,this.toastRef.afterClosed().subscribe(()=>{this._onAction.complete(),this._onTap.complete()})}triggerTap(){this._onTap.next(),this.config.tapToDismiss&&this._onTap.complete()}onTap(){return this._onTap.asObservable()}triggerAction(j){this._onAction.next(j)}onAction(){return this._onAction.asObservable()}}const z=new M.nKC("ToastConfig");class O extends E{_hostDomElement;_componentFactoryResolver;_appRef;constructor(j,H,Y){super(),this._hostDomElement=j,this._componentFactoryResolver=H,this._appRef=Y}attachComponentPortal(j,H){const Y=this._componentFactoryResolver.resolveComponentFactory(j.component);let U;return U=Y.create(j.injector),this._appRef.attachView(U.hostView),this.setDisposeFn(()=>{this._appRef.detachView(U.hostView),U.destroy()}),H?this._hostDomElement.insertBefore(this._getComponentRootNode(U),this._hostDomElement.firstChild):this._hostDomElement.appendChild(this._getComponentRootNode(U)),U}_getComponentRootNode(j){return j.hostView.rootNodes[0]}}let f=(()=>{class S{_document=(0,M.WQX)(V.qQ);_containerElement;ngOnDestroy(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const H=this._document.createElement("div");H.classList.add("overlay-container"),H.setAttribute("aria-live","polite"),this._document.body.appendChild(H),this._containerElement=H}static \u0275fac=function(Y){return new(Y||S)};static \u0275prov=M.jDH({token:S,factory:S.\u0275fac,providedIn:"root"})}return S})();class a{_portalHost;constructor(j){this._portalHost=j}attach(j,H=!0){return this._portalHost.attach(j,H)}detach(){return this._portalHost.detach()}}let g=(()=>{class S{_overlayContainer=(0,M.WQX)(f);_componentFactoryResolver=(0,M.WQX)(M.OM3);_appRef=(0,M.WQX)(M.o8S);_document=(0,M.WQX)(V.qQ);_paneElements=new Map;create(H,Y){return this._createOverlayRef(this.getPaneElement(H,Y))}getPaneElement(H="",Y){return this._paneElements.get(Y)||this._paneElements.set(Y,{}),this._paneElements.get(Y)[H]||(this._paneElements.get(Y)[H]=this._createPaneElement(H,Y)),this._paneElements.get(Y)[H]}_createPaneElement(H,Y){const U=this._document.createElement("div");return U.id="toast-container",U.classList.add(H),U.classList.add("toast-container"),Y?Y.getContainerElement().appendChild(U):this._overlayContainer.getContainerElement().appendChild(U),U}_createPortalHost(H){return new O(H,this._componentFactoryResolver,this._appRef)}_createOverlayRef(H){return new a(this._createPortalHost(H))}static \u0275fac=function(Y){return new(Y||S)};static \u0275prov=M.jDH({token:S,factory:S.\u0275fac,providedIn:"root"})}return S})(),y=(()=>{class S{overlay;_injector;sanitizer;ngZone;toastrConfig;currentlyActive=0;toasts=[];overlayContainer;previousToastMessage;index=0;constructor(H,Y,U,se,w){this.overlay=Y,this._injector=U,this.sanitizer=se,this.ngZone=w,this.toastrConfig={...H.default,...H.config},H.config.iconClasses&&(this.toastrConfig.iconClasses={...H.default.iconClasses,...H.config.iconClasses})}show(H,Y,U={},se=""){return this._preBuildNotification(se,H,Y,this.applyConfig(U))}success(H,Y,U={}){return this._preBuildNotification(this.toastrConfig.iconClasses.success||"",H,Y,this.applyConfig(U))}error(H,Y,U={}){return this._preBuildNotification(this.toastrConfig.iconClasses.error||"",H,Y,this.applyConfig(U))}info(H,Y,U={}){return this._preBuildNotification(this.toastrConfig.iconClasses.info||"",H,Y,this.applyConfig(U))}warning(H,Y,U={}){return this._preBuildNotification(this.toastrConfig.iconClasses.warning||"",H,Y,this.applyConfig(U))}clear(H){for(const Y of this.toasts)if(void 0!==H){if(Y.toastId===H)return void Y.toastRef.manualClose()}else Y.toastRef.manualClose()}remove(H){const Y=this._findToast(H);if(!Y||(Y.activeToast.toastRef.close(),this.toasts.splice(Y.index,1),this.currentlyActive=this.currentlyActive-1,!this.toastrConfig.maxOpened||!this.toasts.length))return!1;if(this.currentlyActivethis._buildNotification(H,Y,U,se)):this._buildNotification(H,Y,U,se)}_buildNotification(H,Y,U,se){if(!se.toastComponent)throw new Error("toastComponent required");const w=this.findDuplicate(U,Y,this.toastrConfig.resetTimeoutOnDuplicate&&se.timeOut>0,this.toastrConfig.countDuplicates);if((this.toastrConfig.includeTitleDuplicates&&U||Y)&&this.toastrConfig.preventDuplicates&&null!==w)return w;this.previousToastMessage=Y;let X=!1;this.toastrConfig.maxOpened&&this.currentlyActive>=this.toastrConfig.maxOpened&&(X=!0,this.toastrConfig.autoDismiss&&this.clear(this.toasts[0].toastId));const G=this.overlay.create(se.positionClass,this.overlayContainer);this.index=this.index+1;let x=Y;Y&&se.enableHtml&&(x=this.sanitizer.sanitize(M.WPN.HTML,Y));const N=new _(G),R=new b(this.index,se,x,U,H,N),q=M.zZn.create({providers:[{provide:b,useValue:R}],parent:this._injector}),he=new I(se.toastComponent,q),me=G.attach(he,se.newestOnTop);N.componentInstance=me.instance;const Ce={toastId:this.index,title:U||"",message:Y||"",toastRef:N,onShown:N.afterActivate(),onHidden:N.afterClosed(),onTap:R.onTap(),onAction:R.onAction(),portal:me};return X||(this.currentlyActive=this.currentlyActive+1,setTimeout(()=>{Ce.toastRef.activate()})),this.toasts.push(Ce),Ce}static \u0275fac=function(Y){return new(Y||S)(M.KVO(z),M.KVO(g),M.KVO(M.zZn),M.KVO(Z.up),M.KVO(M.SKi))};static \u0275prov=M.jDH({token:S,factory:S.\u0275fac,providedIn:"root"})}return S})();const n={maxOpened:0,autoDismiss:!1,newestOnTop:!0,preventDuplicates:!1,countDuplicates:!1,resetTimeoutOnDuplicate:!1,includeTitleDuplicates:!1,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},closeButton:!1,disableTimeOut:!1,timeOut:5e3,extendedTimeOut:1e3,enableHtml:!1,progressBar:!1,toastClass:"ngx-toastr",positionClass:"toast-top-right",titleClass:"toast-title",messageClass:"toast-message",easing:"ease-in",easeTime:300,tapToDismiss:!0,onActivateTick:!1,progressAnimation:"decreasing",toastComponent:(()=>{class S{toastrService;toastPackage;ngZone;message;title;options;duplicatesCount;originalTimeout;width=-1;toastClasses="";state;get displayStyle(){if("inactive"===this.state.value)return"none"}timeout;intervalId;hideTime;sub;sub1;sub2;sub3;constructor(H,Y,U){this.toastrService=H,this.toastPackage=Y,this.ngZone=U,this.message=Y.message,this.title=Y.title,this.options=Y.config,this.originalTimeout=Y.config.timeOut,this.toastClasses=`${Y.toastType} ${Y.config.toastClass}`,this.sub=Y.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=Y.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=Y.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=Y.toastRef.countDuplicate().subscribe(se=>{this.duplicatesCount=se}),this.state={value:"inactive",params:{easeTime:this.toastPackage.config.easeTime,easing:"ease-in"}}}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state={...this.state,value:"active"},!0!==this.options.disableTimeOut&&"timeOut"!==this.options.disableTimeOut&&this.options.timeOut&&(this.outsideTimeout(()=>this.remove(),this.options.timeOut),this.hideTime=(new Date).getTime()+this.options.timeOut,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}updateProgress(){if(0===this.width||100===this.width||!this.options.timeOut)return;const H=(new Date).getTime();this.width=(this.hideTime-H)/this.options.timeOut*100,"increasing"===this.options.progressAnimation&&(this.width=100-this.width),this.width<=0&&(this.width=0),this.width>=100&&(this.width=100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state={...this.state,value:"active"},this.outsideTimeout(()=>this.remove(),this.originalTimeout),this.options.timeOut=this.originalTimeout,this.hideTime=(new Date).getTime()+(this.options.timeOut||0),this.width=-1,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10)}remove(){"removed"!==this.state.value&&(clearTimeout(this.timeout),this.state={...this.state,value:"removed"},this.outsideTimeout(()=>this.toastrService.remove(this.toastPackage.toastId),+this.toastPackage.config.easeTime))}tapToast(){"removed"!==this.state.value&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){"removed"!==this.state.value&&"extendedTimeOut"!==this.options.disableTimeOut&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width=0)}delayedHideToast(){!0===this.options.disableTimeOut||"extendedTimeOut"===this.options.disableTimeOut||0===this.options.extendedTimeOut||"removed"===this.state.value||(this.outsideTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=(new Date).getTime()+(this.options.timeOut||0),this.width=-1,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}outsideTimeout(H,Y){this.ngZone?this.ngZone.runOutsideAngular(()=>this.timeout=setTimeout(()=>this.runInsideAngular(H),Y)):this.timeout=setTimeout(()=>H(),Y)}outsideInterval(H,Y){this.ngZone?this.ngZone.runOutsideAngular(()=>this.intervalId=setInterval(()=>this.runInsideAngular(H),Y)):this.intervalId=setInterval(()=>H(),Y)}runInsideAngular(H){this.ngZone?this.ngZone.run(()=>H()):H()}static \u0275fac=function(Y){return new(Y||S)(M.rXU(y),M.rXU(b),M.rXU(M.SKi))};static \u0275cmp=M.VBU({type:S,selectors:[["","toast-component",""]],hostVars:5,hostBindings:function(Y,U){1&Y&&M.bIt("click",function(){return U.tapToast()})("mouseenter",function(){return U.stickAround()})("mouseleave",function(){return U.delayedHideToast()}),2&Y&&(M.zvX("@flyInOut",U.state),M.HbH(U.toastClasses),M.xc7("display",U.displayStyle))},standalone:!0,features:[M.aNF],attrs:ie,decls:5,vars:5,consts:[["type","button","class","toast-close-button","aria-label","Close",3,"click",4,"ngIf"],[3,"class",4,"ngIf"],["role","alert",3,"class","innerHTML",4,"ngIf"],["role","alert",3,"class",4,"ngIf"],[4,"ngIf"],["type","button","aria-label","Close",1,"toast-close-button",3,"click"],["aria-hidden","true"],["role","alert",3,"innerHTML"],["role","alert"],[1,"toast-progress"]],template:function(Y,U){1&Y&&M.DNE(0,re,3,0,"button",0)(1,le,3,5,"div",1)(2,fe,1,3,"div",2)(3,pe,2,4,"div",3)(4,J,2,2,"div",4),2&Y&&(M.Y8G("ngIf",U.options.closeButton),M.R7$(),M.Y8G("ngIf",U.title),M.R7$(),M.Y8G("ngIf",U.message&&U.options.enableHtml),M.R7$(),M.Y8G("ngIf",U.message&&!U.options.enableHtml),M.R7$(),M.Y8G("ngIf",U.options.progressBar))},dependencies:[V.bT],encapsulation:2,data:{animation:[(0,e.hZ)("flyInOut",[(0,e.wk)("inactive",(0,e.iF)({opacity:0})),(0,e.wk)("active",(0,e.iF)({opacity:1})),(0,e.wk)("removed",(0,e.iF)({opacity:0})),(0,e.kY)("inactive => active",(0,e.i0)("{{ easeTime }}ms {{ easing }}")),(0,e.kY)("active => removed",(0,e.i0)("{{ easeTime }}ms {{ easing }}"))])]}})}return S})()},r=(S={})=>(0,M.EmA)([{provide:z,useValue:{default:n,config:S}}]);let l=(()=>{class S{static forRoot(H={}){return{ngModule:S,providers:[r(H)]}}static \u0275fac=function(Y){return new(Y||S)};static \u0275mod=M.$C({type:S});static \u0275inj=M.G2t({})}return S})()},5779:(ri,Ft,He)=>{"use strict";He.d(Ft,{E:()=>pe,Ei:()=>L,Gg:()=>D,Rn:()=>le,Y9:()=>B,Yj:()=>I,r1:()=>A,si:()=>te,tl:()=>fe,wi:()=>F});var M=He(54438),e=He(21413),V=He(54420),Pe=He(60177);const Z=["*"];let le=(()=>class _{static STARTS_WITH="startsWith";static CONTAINS="contains";static NOT_CONTAINS="notContains";static ENDS_WITH="endsWith";static EQUALS="equals";static NOT_EQUALS="notEquals";static IN="in";static LESS_THAN="lt";static LESS_THAN_OR_EQUAL_TO="lte";static GREATER_THAN="gt";static GREATER_THAN_OR_EQUAL_TO="gte";static BETWEEN="between";static IS="is";static IS_NOT="isNot";static BEFORE="before";static AFTER="after";static DATE_IS="dateIs";static DATE_IS_NOT="dateIsNot";static DATE_BEFORE="dateBefore";static DATE_AFTER="dateAfter"})(),fe=(()=>class _{static AND="and";static OR="or"})(),pe=(()=>{class _{filter(T,z,O,f,a){let g=[];if(T)for(let y of T)for(let o of z){let n=V.BF.resolveFieldData(y,o);if(this.filters[f](n,O,a)){g.push(y);break}}return g}filters={startsWith:(T,z,O)=>{if(null==z||""===z.trim())return!0;if(null==T)return!1;let f=V.BF.removeAccents(z.toString()).toLocaleLowerCase(O);return V.BF.removeAccents(T.toString()).toLocaleLowerCase(O).slice(0,f.length)===f},contains:(T,z,O)=>{if(null==z||"string"==typeof z&&""===z.trim())return!0;if(null==T)return!1;let f=V.BF.removeAccents(z.toString()).toLocaleLowerCase(O);return-1!==V.BF.removeAccents(T.toString()).toLocaleLowerCase(O).indexOf(f)},notContains:(T,z,O)=>{if(null==z||"string"==typeof z&&""===z.trim())return!0;if(null==T)return!1;let f=V.BF.removeAccents(z.toString()).toLocaleLowerCase(O);return-1===V.BF.removeAccents(T.toString()).toLocaleLowerCase(O).indexOf(f)},endsWith:(T,z,O)=>{if(null==z||""===z.trim())return!0;if(null==T)return!1;let f=V.BF.removeAccents(z.toString()).toLocaleLowerCase(O),a=V.BF.removeAccents(T.toString()).toLocaleLowerCase(O);return-1!==a.indexOf(f,a.length-f.length)},equals:(T,z,O)=>null==z||"string"==typeof z&&""===z.trim()||null!=T&&(T.getTime&&z.getTime?T.getTime()===z.getTime():V.BF.removeAccents(T.toString()).toLocaleLowerCase(O)==V.BF.removeAccents(z.toString()).toLocaleLowerCase(O)),notEquals:(T,z,O)=>!(null==z||"string"==typeof z&&""===z.trim()||null!=T&&(T.getTime&&z.getTime?T.getTime()===z.getTime():V.BF.removeAccents(T.toString()).toLocaleLowerCase(O)==V.BF.removeAccents(z.toString()).toLocaleLowerCase(O))),in:(T,z)=>{if(null==z||0===z.length)return!0;for(let O=0;Onull==z||null==z[0]||null==z[1]||null!=T&&(T.getTime?z[0].getTime()<=T.getTime()&&T.getTime()<=z[1].getTime():z[0]<=T&&T<=z[1]),lt:(T,z,O)=>null==z||null!=T&&(T.getTime&&z.getTime?T.getTime()null==z||null!=T&&(T.getTime&&z.getTime?T.getTime()<=z.getTime():T<=z),gt:(T,z,O)=>null==z||null!=T&&(T.getTime&&z.getTime?T.getTime()>z.getTime():T>z),gte:(T,z,O)=>null==z||null!=T&&(T.getTime&&z.getTime?T.getTime()>=z.getTime():T>=z),is:(T,z,O)=>this.filters.equals(T,z,O),isNot:(T,z,O)=>this.filters.notEquals(T,z,O),before:(T,z,O)=>this.filters.lt(T,z,O),after:(T,z,O)=>this.filters.gt(T,z,O),dateIs:(T,z)=>null==z||null!=T&&T.toDateString()===z.toDateString(),dateIsNot:(T,z)=>null==z||null!=T&&T.toDateString()!==z.toDateString(),dateBefore:(T,z)=>null==z||null!=T&&T.getTime()null==z||null!=T&&T.getTime()>z.getTime()};register(T,z){this.filters[T]=z}static \u0275fac=function(z){return new(z||_)};static \u0275prov=M.jDH({token:_,factory:_.\u0275fac,providedIn:"root"})}return _})(),te=(()=>{class _{clickSource=new e.B;clickObservable=this.clickSource.asObservable();add(T){T&&this.clickSource.next(T)}static \u0275fac=function(z){return new(z||_)};static \u0275prov=M.jDH({token:_,factory:_.\u0275fac,providedIn:"root"})}return _})(),A=(()=>{class _{ripple=!1;inputStyle="outlined";overlayOptions={};filterMatchModeOptions={text:[le.STARTS_WITH,le.CONTAINS,le.NOT_CONTAINS,le.ENDS_WITH,le.EQUALS,le.NOT_EQUALS],numeric:[le.EQUALS,le.NOT_EQUALS,le.LESS_THAN,le.LESS_THAN_OR_EQUAL_TO,le.GREATER_THAN,le.GREATER_THAN_OR_EQUAL_TO],date:[le.DATE_IS,le.DATE_IS_NOT,le.DATE_BEFORE,le.DATE_AFTER]};translation={startsWith:"Starts with",contains:"Contains",notContains:"Not contains",endsWith:"Ends with",equals:"Equals",notEquals:"Not equals",noFilter:"No Filter",lt:"Less than",lte:"Less than or equal to",gt:"Greater than",gte:"Greater than or equal to",is:"Is",isNot:"Is not",before:"Before",after:"After",dateIs:"Date is",dateIsNot:"Date is not",dateBefore:"Date is before",dateAfter:"Date is after",clear:"Clear",apply:"Apply",matchAll:"Match All",matchAny:"Match Any",addRule:"Add Rule",removeRule:"Remove Rule",accept:"Yes",reject:"No",choose:"Choose",upload:"Upload",cancel:"Cancel",pending:"Pending",fileSizeTypes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],chooseYear:"Choose Year",chooseMonth:"Choose Month",chooseDate:"Choose Date",prevDecade:"Previous Decade",nextDecade:"Next Decade",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",prevHour:"Previous Hour",nextHour:"Next Hour",prevMinute:"Previous Minute",nextMinute:"Next Minute",prevSecond:"Previous Second",nextSecond:"Next Second",am:"am",pm:"pm",dateFormat:"mm/dd/yy",firstDayOfWeek:0,today:"Today",weekHeader:"Wk",weak:"Weak",medium:"Medium",strong:"Strong",passwordPrompt:"Enter a password",emptyMessage:"No results found",searchMessage:"{0} results are available",selectionMessage:"{0} items selected",emptySelectionMessage:"No selected item",emptySearchMessage:"No results found",emptyFilterMessage:"No results found",aria:{trueLabel:"True",falseLabel:"False",nullLabel:"Not Selected",star:"1 star",stars:"{star} stars",selectAll:"All items selected",unselectAll:"All items unselected",close:"Close",previous:"Previous",next:"Next",navigation:"Navigation",scrollTop:"Scroll Top",moveTop:"Move Top",moveUp:"Move Up",moveDown:"Move Down",moveBottom:"Move Bottom",moveToTarget:"Move to Target",moveToSource:"Move to Source",moveAllToTarget:"Move All to Target",moveAllToSource:"Move All to Source",pageLabel:"{page}",firstPageLabel:"First Page",lastPageLabel:"Last Page",nextPageLabel:"Next Page",prevPageLabel:"Previous Page",rowsPerPageLabel:"Rows per page",previousPageLabel:"Previous Page",jumpToPageDropdownLabel:"Jump to Page Dropdown",jumpToPageInputLabel:"Jump to Page Input",selectRow:"Row Selected",unselectRow:"Row Unselected",expandRow:"Row Expanded",collapseRow:"Row Collapsed",showFilterMenu:"Show Filter Menu",hideFilterMenu:"Hide Filter Menu",filterOperator:"Filter Operator",filterConstraint:"Filter Constraint",editRow:"Row Edit",saveEdit:"Save Edit",cancelEdit:"Cancel Edit",listView:"List View",gridView:"Grid View",slide:"Slide",slideNumber:"{slideNumber}",zoomImage:"Zoom Image",zoomIn:"Zoom In",zoomOut:"Zoom Out",rotateRight:"Rotate Right",rotateLeft:"Rotate Left",listLabel:"Option List",selectColor:"Select a color",removeLabel:"Remove"}};zIndex={modal:1100,overlay:1e3,menu:1e3,tooltip:1100};translationSource=new e.B;translationObserver=this.translationSource.asObservable();getTranslation(T){return this.translation[T]}setTranslation(T){this.translation={...this.translation,...T},this.translationSource.next(this.translation)}static \u0275fac=function(z){return new(z||_)};static \u0275prov=M.jDH({token:_,factory:_.\u0275fac,providedIn:"root"})}return _})(),B=(()=>{class _{static \u0275fac=function(z){return new(z||_)};static \u0275cmp=M.VBU({type:_,selectors:[["p-header"]],ngContentSelectors:Z,decls:1,vars:0,template:function(z,O){1&z&&(M.NAR(),M.SdG(0))},encapsulation:2})}return _})(),F=(()=>{class _{static \u0275fac=function(z){return new(z||_)};static \u0275cmp=M.VBU({type:_,selectors:[["p-footer"]],ngContentSelectors:Z,decls:1,vars:0,template:function(z,O){1&z&&(M.NAR(),M.SdG(0))},encapsulation:2})}return _})(),L=(()=>{class _{template;type;name;constructor(T){this.template=T}getType(){return this.name}static \u0275fac=function(z){return new(z||_)(M.rXU(M.C4Q))};static \u0275dir=M.FsC({type:_,selectors:[["","pTemplate",""]],inputs:{type:"type",name:[M.Mj6.None,"pTemplate","name"]}})}return _})(),D=(()=>{class _{static \u0275fac=function(z){return new(z||_)};static \u0275mod=M.$C({type:_});static \u0275inj=M.G2t({imports:[Pe.MD]})}return _})(),I=(()=>class _{static STARTS_WITH="startsWith";static CONTAINS="contains";static NOT_CONTAINS="notContains";static ENDS_WITH="endsWith";static EQUALS="equals";static NOT_EQUALS="notEquals";static NO_FILTER="noFilter";static LT="lt";static LTE="lte";static GT="gt";static GTE="gte";static IS="is";static IS_NOT="isNot";static BEFORE="before";static AFTER="after";static CLEAR="clear";static APPLY="apply";static MATCH_ALL="matchAll";static MATCH_ANY="matchAny";static ADD_RULE="addRule";static REMOVE_RULE="removeRule";static ACCEPT="accept";static REJECT="reject";static CHOOSE="choose";static UPLOAD="upload";static CANCEL="cancel";static PENDING="pending";static FILE_SIZE_TYPES="fileSizeTypes";static DAY_NAMES="dayNames";static DAY_NAMES_SHORT="dayNamesShort";static DAY_NAMES_MIN="dayNamesMin";static MONTH_NAMES="monthNames";static MONTH_NAMES_SHORT="monthNamesShort";static FIRST_DAY_OF_WEEK="firstDayOfWeek";static TODAY="today";static WEEK_HEADER="weekHeader";static WEAK="weak";static MEDIUM="medium";static STRONG="strong";static PASSWORD_PROMPT="passwordPrompt";static EMPTY_MESSAGE="emptyMessage";static EMPTY_FILTER_MESSAGE="emptyFilterMessage";static SHOW_FILTER_MENU="showFilterMenu";static HIDE_FILTER_MENU="hideFilterMenu";static SELECTION_MESSAGE="selectionMessage";static ARIA="aria";static SELECT_COLOR="selectColor"})()},461:(ri,Ft,He)=>{"use strict";He.d(Ft,{h:()=>Pe});var M=He(54438),e=He(54420);const V=["*"];let Pe=(()=>{class Z{label;spin=!1;styleClass;role;ariaLabel;ariaHidden;ngOnInit(){this.getAttributes()}getAttributes(){const re=e.BF.isEmpty(this.label);this.role=re?void 0:"img",this.ariaLabel=re?void 0:this.label,this.ariaHidden=re}getClassNames(){return`p-icon ${this.styleClass?this.styleClass+" ":""}${this.spin?"p-icon-spin":""}`}static \u0275fac=function(ve){return new(ve||Z)};static \u0275cmp=M.VBU({type:Z,selectors:[["ng-component"]],hostAttrs:[1,"p-element","p-icon-wrapper"],inputs:{label:"label",spin:"spin",styleClass:"styleClass"},standalone:!0,features:[M.aNF],ngContentSelectors:V,decls:1,vars:0,template:function(ve,le){1&ve&&(M.NAR(),M.SdG(0))},encapsulation:2,changeDetection:0})}return Z})()},81141:(ri,Ft,He)=>{"use strict";He.d(Ft,{_f:()=>z,tm:()=>f});var M=He(60177),e=He(54438),V=He(5779),Pe=He(81455),Z=He(38757),ie=He(10563),re=He(54420);const T={button:"p-button",component:"p-component",iconOnly:"p-button-icon-only",disabled:"p-disabled",loading:"p-button-loading",labelOnly:"p-button-loading-label-only"};let z=(()=>{class a{el;document;iconPos="left";loadingIcon;get label(){return this._label}set label(y){this._label=y,this.initialized&&(this.updateLabel(),this.updateIcon(),this.setStyleClass())}get icon(){return this._icon}set icon(y){this._icon=y,this.initialized&&(this.updateIcon(),this.setStyleClass())}get loading(){return this._loading}set loading(y){this._loading=y,this.initialized&&(this.updateIcon(),this.setStyleClass())}_label;_icon;_loading=!1;initialized;get htmlElement(){return this.el.nativeElement}_internalClasses=Object.values(T);spinnerIcon='\n \n \n \n \n \n \n \n \n ';constructor(y,o){this.el=y,this.document=o}ngAfterViewInit(){Pe.D.addMultipleClasses(this.htmlElement,this.getStyleClass().join(" ")),this.createIcon(),this.createLabel(),this.initialized=!0}getStyleClass(){const y=[T.button,T.component];return this.icon&&!this.label&&re.BF.isEmpty(this.htmlElement.textContent)&&y.push(T.iconOnly),this.loading&&(y.push(T.disabled,T.loading),!this.icon&&this.label&&y.push(T.labelOnly),this.icon&&!this.label&&!re.BF.isEmpty(this.htmlElement.textContent)&&y.push(T.iconOnly)),y}setStyleClass(){const y=this.getStyleClass();this.htmlElement.classList.remove(...this._internalClasses),this.htmlElement.classList.add(...y)}createLabel(){if(!Pe.D.findSingle(this.htmlElement,".p-button-label")&&this.label){let o=this.document.createElement("span");this.icon&&!this.label&&o.setAttribute("aria-hidden","true"),o.className="p-button-label",o.appendChild(this.document.createTextNode(this.label)),this.htmlElement.appendChild(o)}}createIcon(){if(!Pe.D.findSingle(this.htmlElement,".p-button-icon")&&(this.icon||this.loading)){let o=this.document.createElement("span");o.className="p-button-icon",o.setAttribute("aria-hidden","true");let n=this.label?"p-button-icon-"+this.iconPos:null;n&&Pe.D.addClass(o,n);let r=this.getIconClass();r&&Pe.D.addMultipleClasses(o,r),!this.loadingIcon&&this.loading&&(o.innerHTML=this.spinnerIcon),this.htmlElement.insertBefore(o,this.htmlElement.firstChild)}}updateLabel(){let y=Pe.D.findSingle(this.htmlElement,".p-button-label");this.label?y?y.textContent=this.label:this.createLabel():y&&this.htmlElement.removeChild(y)}updateIcon(){let y=Pe.D.findSingle(this.htmlElement,".p-button-icon"),o=Pe.D.findSingle(this.htmlElement,".p-button-label");this.loading&&!this.loadingIcon&&y?y.innerHTML=this.spinnerIcon:y?.innerHTML&&(y.innerHTML=""),y?y.className=this.iconPos?"p-button-icon "+(o?"p-button-icon-"+this.iconPos:"")+" "+this.getIconClass():"p-button-icon "+this.getIconClass():this.createIcon()}getIconClass(){return this.loading?"p-button-loading-icon "+(this.loadingIcon?this.loadingIcon:"p-icon"):this.icon||"p-hidden"}ngOnDestroy(){this.initialized=!1}static \u0275fac=function(o){return new(o||a)(e.rXU(e.aKT),e.rXU(M.qQ))};static \u0275dir=e.FsC({type:a,selectors:[["","pButton",""]],hostAttrs:[1,"p-element"],inputs:{iconPos:"iconPos",loadingIcon:"loadingIcon",label:"label",icon:"icon",loading:"loading"}})}return a})(),f=(()=>{class a{static \u0275fac=function(o){return new(o||a)};static \u0275mod=e.$C({type:a});static \u0275inj=e.G2t({imports:[M.MD,ie.Z,V.Gg,Z.N,V.Gg]})}return a})()},41570:(ri,Ft,He)=>{"use strict";He.d(Ft,{l:()=>Fe,P:()=>oe});var M=He(49969),e=He(60177),V=He(54438),Pe=He(5779),Z=He(81455);let ie=(()=>{class ee{pFocusTrapDisabled=!1;host=(0,V.WQX)(V.aKT);onkeydown(ye){if(!0!==this.pFocusTrapDisabled){ye.preventDefault();const Te=Z.D.getNextFocusableElement(this.host.nativeElement,ye.shiftKey);Te&&(Te.focus(),Te.select?.())}}static \u0275fac=function(Te){return new(Te||ee)};static \u0275dir=V.FsC({type:ee,selectors:[["","pFocusTrap",""]],hostAttrs:[1,"p-element"],hostBindings:function(Te,_e){1&Te&&V.bIt("keydown.tab",function(Ee){return _e.onkeydown(Ee)})("keydown.shift.tab",function(Ee){return _e.onkeydown(Ee)})},inputs:{pFocusTrapDisabled:"pFocusTrapDisabled"}})}return ee})(),re=(()=>{class ee{static \u0275fac=function(Te){return new(Te||ee)};static \u0275mod=V.$C({type:ee});static \u0275inj=V.G2t({imports:[e.MD]})}return ee})();var ve=He(1512),le=He(461),fe=He(54420);let pe=(()=>{class ee extends le.h{pathId;ngOnInit(){this.pathId="url(#"+(0,fe._Y)()+")"}static \u0275fac=(()=>{let ye;return function(_e){return(ye||(ye=V.xGo(ee)))(_e||ee)}})();static \u0275cmp=V.VBU({type:ee,selectors:[["WindowMaximizeIcon"]],standalone:!0,features:[V.Vt3,V.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M7 14H11.8C12.3835 14 12.9431 13.7682 13.3556 13.3556C13.7682 12.9431 14 12.3835 14 11.8V2.2C14 1.61652 13.7682 1.05694 13.3556 0.644365C12.9431 0.231785 12.3835 0 11.8 0H2.2C1.61652 0 1.05694 0.231785 0.644365 0.644365C0.231785 1.05694 0 1.61652 0 2.2V7C0 7.15913 0.063214 7.31174 0.175736 7.42426C0.288258 7.53679 0.44087 7.6 0.6 7.6C0.75913 7.6 0.911742 7.53679 1.02426 7.42426C1.13679 7.31174 1.2 7.15913 1.2 7V2.2C1.2 1.93478 1.30536 1.68043 1.49289 1.49289C1.68043 1.30536 1.93478 1.2 2.2 1.2H11.8C12.0652 1.2 12.3196 1.30536 12.5071 1.49289C12.6946 1.68043 12.8 1.93478 12.8 2.2V11.8C12.8 12.0652 12.6946 12.3196 12.5071 12.5071C12.3196 12.6946 12.0652 12.8 11.8 12.8H7C6.84087 12.8 6.68826 12.8632 6.57574 12.9757C6.46321 13.0883 6.4 13.2409 6.4 13.4C6.4 13.5591 6.46321 13.7117 6.57574 13.8243C6.68826 13.9368 6.84087 14 7 14ZM9.77805 7.42192C9.89013 7.534 10.0415 7.59788 10.2 7.59995C10.3585 7.59788 10.5099 7.534 10.622 7.42192C10.7341 7.30985 10.798 7.15844 10.8 6.99995V3.94242C10.8066 3.90505 10.8096 3.86689 10.8089 3.82843C10.8079 3.77159 10.7988 3.7157 10.7824 3.6623C10.756 3.55552 10.701 3.45698 10.622 3.37798C10.5099 3.2659 10.3585 3.20202 10.2 3.19995H7.00002C6.84089 3.19995 6.68828 3.26317 6.57576 3.37569C6.46324 3.48821 6.40002 3.64082 6.40002 3.79995C6.40002 3.95908 6.46324 4.11169 6.57576 4.22422C6.68828 4.33674 6.84089 4.39995 7.00002 4.39995H8.80006L6.19997 7.00005C6.10158 7.11005 6.04718 7.25246 6.04718 7.40005C6.04718 7.54763 6.10158 7.69004 6.19997 7.80005C6.30202 7.91645 6.44561 7.98824 6.59997 8.00005C6.75432 7.98824 6.89791 7.91645 6.99997 7.80005L9.60002 5.26841V6.99995C9.6021 7.15844 9.66598 7.30985 9.77805 7.42192ZM1.4 14H3.8C4.17066 13.9979 4.52553 13.8498 4.78763 13.5877C5.04973 13.3256 5.1979 12.9707 5.2 12.6V10.2C5.1979 9.82939 5.04973 9.47452 4.78763 9.21242C4.52553 8.95032 4.17066 8.80215 3.8 8.80005H1.4C1.02934 8.80215 0.674468 8.95032 0.412371 9.21242C0.150274 9.47452 0.00210008 9.82939 0 10.2V12.6C0.00210008 12.9707 0.150274 13.3256 0.412371 13.5877C0.674468 13.8498 1.02934 13.9979 1.4 14ZM1.25858 10.0586C1.29609 10.0211 1.34696 10 1.4 10H3.8C3.85304 10 3.90391 10.0211 3.94142 10.0586C3.97893 10.0961 4 10.147 4 10.2V12.6C4 12.6531 3.97893 12.704 3.94142 12.7415C3.90391 12.779 3.85304 12.8 3.8 12.8H1.4C1.34696 12.8 1.29609 12.779 1.25858 12.7415C1.22107 12.704 1.2 12.6531 1.2 12.6V10.2C1.2 10.147 1.22107 10.0961 1.25858 10.0586Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(Te,_e){1&Te&&(V.qSk(),V.j41(0,"svg",0)(1,"g"),V.nrm(2,"path",1),V.k0s(),V.j41(3,"defs")(4,"clipPath",2),V.nrm(5,"rect",3),V.k0s()()()),2&Te&&(V.HbH(_e.getClassNames()),V.BMQ("aria-label",_e.ariaLabel)("aria-hidden",_e.ariaHidden)("role",_e.role),V.R7$(),V.BMQ("clip-path",_e.pathId),V.R7$(3),V.Y8G("id",_e.pathId))},encapsulation:2})}return ee})(),J=(()=>{class ee extends le.h{pathId;ngOnInit(){this.pathId="url(#"+(0,fe._Y)()+")"}static \u0275fac=(()=>{let ye;return function(_e){return(ye||(ye=V.xGo(ee)))(_e||ee)}})();static \u0275cmp=V.VBU({type:ee,selectors:[["WindowMinimizeIcon"]],standalone:!0,features:[V.Vt3,V.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M11.8 0H2.2C1.61652 0 1.05694 0.231785 0.644365 0.644365C0.231785 1.05694 0 1.61652 0 2.2V7C0 7.15913 0.063214 7.31174 0.175736 7.42426C0.288258 7.53679 0.44087 7.6 0.6 7.6C0.75913 7.6 0.911742 7.53679 1.02426 7.42426C1.13679 7.31174 1.2 7.15913 1.2 7V2.2C1.2 1.93478 1.30536 1.68043 1.49289 1.49289C1.68043 1.30536 1.93478 1.2 2.2 1.2H11.8C12.0652 1.2 12.3196 1.30536 12.5071 1.49289C12.6946 1.68043 12.8 1.93478 12.8 2.2V11.8C12.8 12.0652 12.6946 12.3196 12.5071 12.5071C12.3196 12.6946 12.0652 12.8 11.8 12.8H7C6.84087 12.8 6.68826 12.8632 6.57574 12.9757C6.46321 13.0883 6.4 13.2409 6.4 13.4C6.4 13.5591 6.46321 13.7117 6.57574 13.8243C6.68826 13.9368 6.84087 14 7 14H11.8C12.3835 14 12.9431 13.7682 13.3556 13.3556C13.7682 12.9431 14 12.3835 14 11.8V2.2C14 1.61652 13.7682 1.05694 13.3556 0.644365C12.9431 0.231785 12.3835 0 11.8 0ZM6.368 7.952C6.44137 7.98326 6.52025 7.99958 6.6 8H9.8C9.95913 8 10.1117 7.93678 10.2243 7.82426C10.3368 7.71174 10.4 7.55913 10.4 7.4C10.4 7.24087 10.3368 7.08826 10.2243 6.97574C10.1117 6.86321 9.95913 6.8 9.8 6.8H8.048L10.624 4.224C10.73 4.11026 10.7877 3.95982 10.7849 3.80438C10.7822 3.64894 10.7192 3.50063 10.6093 3.3907C10.4994 3.28077 10.3511 3.2178 10.1956 3.21506C10.0402 3.21232 9.88974 3.27002 9.776 3.376L7.2 5.952V4.2C7.2 4.04087 7.13679 3.88826 7.02426 3.77574C6.91174 3.66321 6.75913 3.6 6.6 3.6C6.44087 3.6 6.28826 3.66321 6.17574 3.77574C6.06321 3.88826 6 4.04087 6 4.2V7.4C6.00042 7.47975 6.01674 7.55862 6.048 7.632C6.07656 7.70442 6.11971 7.7702 6.17475 7.82524C6.2298 7.88029 6.29558 7.92344 6.368 7.952ZM1.4 8.80005H3.8C4.17066 8.80215 4.52553 8.95032 4.78763 9.21242C5.04973 9.47452 5.1979 9.82939 5.2 10.2V12.6C5.1979 12.9707 5.04973 13.3256 4.78763 13.5877C4.52553 13.8498 4.17066 13.9979 3.8 14H1.4C1.02934 13.9979 0.674468 13.8498 0.412371 13.5877C0.150274 13.3256 0.00210008 12.9707 0 12.6V10.2C0.00210008 9.82939 0.150274 9.47452 0.412371 9.21242C0.674468 8.95032 1.02934 8.80215 1.4 8.80005ZM3.94142 12.7415C3.97893 12.704 4 12.6531 4 12.6V10.2C4 10.147 3.97893 10.0961 3.94142 10.0586C3.90391 10.0211 3.85304 10 3.8 10H1.4C1.34696 10 1.29609 10.0211 1.25858 10.0586C1.22107 10.0961 1.2 10.147 1.2 10.2V12.6C1.2 12.6531 1.22107 12.704 1.25858 12.7415C1.29609 12.779 1.34696 12.8 1.4 12.8H3.8C3.85304 12.8 3.90391 12.779 3.94142 12.7415Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(Te,_e){1&Te&&(V.qSk(),V.j41(0,"svg",0)(1,"g"),V.nrm(2,"path",1),V.k0s(),V.j41(3,"defs")(4,"clipPath",2),V.nrm(5,"rect",3),V.k0s()()()),2&Te&&(V.HbH(_e.getClassNames()),V.BMQ("aria-label",_e.ariaLabel)("aria-hidden",_e.ariaHidden)("role",_e.role),V.R7$(),V.BMQ("clip-path",_e.pathId),V.R7$(3),V.Y8G("id",_e.pathId))},encapsulation:2})}return ee})();var te=He(10563),$=He(81141);const A=["titlebar"],B=["content"],F=["footer"],L=["*",[["p-header"]],[["p-footer"]]],D=["*","p-header","p-footer"],I=(ee,de,ye,Te,_e,Me,Ee,Xe,Ze,lt)=>({"p-dialog-mask":!0,"p-component-overlay p-component-overlay-enter":ee,"p-dialog-mask-scrollblocker":de,"p-dialog-left":ye,"p-dialog-right":Te,"p-dialog-top":_e,"p-dialog-top-left":Me,"p-dialog-top-right":Ee,"p-dialog-bottom":Xe,"p-dialog-bottom-left":Ze,"p-dialog-bottom-right":lt}),E=(ee,de,ye,Te)=>({"p-dialog p-component":!0,"p-dialog-rtl":ee,"p-dialog-draggable":de,"p-dialog-resizable":ye,"p-dialog-maximized":Te}),_=(ee,de)=>({transform:ee,transition:de}),b=ee=>({value:"visible",params:ee}),T=()=>({"p-dialog-header-icon p-dialog-header-maximize p-link":!0}),z=()=>({"p-dialog-header-icon p-dialog-header-close p-link":!0});function O(ee,de){1&ee&&V.eu8(0)}function f(ee,de){if(1&ee&&(V.qex(0),V.DNE(1,O,1,0,"ng-container",10),V.bVm()),2&ee){const ye=V.XpG(3);V.R7$(),V.Y8G("ngTemplateOutlet",ye.headlessTemplate)}}function a(ee,de){if(1&ee){const ye=V.RV6();V.j41(0,"div",15),V.bIt("mousedown",function(_e){V.eBV(ye);const Me=V.XpG(4);return V.Njj(Me.initResize(_e))}),V.k0s()}}function g(ee,de){if(1&ee&&(V.j41(0,"span",21),V.EFF(1),V.k0s()),2&ee){const ye=V.XpG(5);V.Y8G("id",ye.getAriaLabelledBy()),V.R7$(),V.JRh(ye.header)}}function y(ee,de){if(1&ee&&(V.j41(0,"span",21),V.SdG(1,1),V.k0s()),2&ee){const ye=V.XpG(5);V.Y8G("id",ye.getAriaLabelledBy())}}function o(ee,de){1&ee&&V.eu8(0)}function n(ee,de){if(1&ee&&V.nrm(0,"span",25),2&ee){const ye=V.XpG(6);V.Y8G("ngClass",ye.maximized?ye.minimizeIcon:ye.maximizeIcon)}}function r(ee,de){1&ee&&V.nrm(0,"WindowMaximizeIcon",27),2&ee&&V.Y8G("styleClass","p-dialog-header-maximize-icon")}function l(ee,de){1&ee&&V.nrm(0,"WindowMinimizeIcon",27),2&ee&&V.Y8G("styleClass","p-dialog-header-maximize-icon")}function d(ee,de){if(1&ee&&(V.qex(0),V.DNE(1,r,1,1,"WindowMaximizeIcon",26)(2,l,1,1,"WindowMinimizeIcon",26),V.bVm()),2&ee){const ye=V.XpG(6);V.R7$(),V.Y8G("ngIf",!ye.maximized&&!ye.maximizeIconTemplate),V.R7$(),V.Y8G("ngIf",ye.maximized&&!ye.minimizeIconTemplate)}}function C(ee,de){}function k(ee,de){1&ee&&V.DNE(0,C,0,0,"ng-template")}function p(ee,de){if(1&ee&&(V.qex(0),V.DNE(1,k,1,0,null,10),V.bVm()),2&ee){const ye=V.XpG(6);V.R7$(),V.Y8G("ngTemplateOutlet",ye.maximizeIconTemplate)}}function S(ee,de){}function j(ee,de){1&ee&&V.DNE(0,S,0,0,"ng-template")}function H(ee,de){if(1&ee&&(V.qex(0),V.DNE(1,j,1,0,null,10),V.bVm()),2&ee){const ye=V.XpG(6);V.R7$(),V.Y8G("ngTemplateOutlet",ye.minimizeIconTemplate)}}function Y(ee,de){if(1&ee){const ye=V.RV6();V.j41(0,"button",22),V.bIt("click",function(){V.eBV(ye);const _e=V.XpG(5);return V.Njj(_e.maximize())})("keydown.enter",function(){V.eBV(ye);const _e=V.XpG(5);return V.Njj(_e.maximize())}),V.DNE(1,n,1,1,"span",23)(2,d,3,2,"ng-container",24)(3,p,2,1,"ng-container",24)(4,H,2,1,"ng-container",24),V.k0s()}if(2&ee){const ye=V.XpG(5);V.Y8G("ngClass",V.lJ4(6,T)),V.BMQ("tabindex",ye.maximizable?"0":"-1"),V.R7$(),V.Y8G("ngIf",ye.maximizeIcon&&!ye.maximizeIconTemplate&&!ye.minimizeIconTemplate),V.R7$(),V.Y8G("ngIf",!ye.maximizeIcon),V.R7$(),V.Y8G("ngIf",!ye.maximized),V.R7$(),V.Y8G("ngIf",ye.maximized)}}function U(ee,de){if(1&ee&&V.nrm(0,"span",30),2&ee){const ye=V.XpG(7);V.Y8G("ngClass",ye.closeIcon)}}function se(ee,de){1&ee&&V.nrm(0,"TimesIcon",27),2&ee&&V.Y8G("styleClass","p-dialog-header-close-icon")}function w(ee,de){if(1&ee&&(V.qex(0),V.DNE(1,U,1,1,"span",29)(2,se,1,1,"TimesIcon",26),V.bVm()),2&ee){const ye=V.XpG(6);V.R7$(),V.Y8G("ngIf",ye.closeIcon),V.R7$(),V.Y8G("ngIf",!ye.closeIcon)}}function X(ee,de){}function G(ee,de){1&ee&&V.DNE(0,X,0,0,"ng-template")}function x(ee,de){if(1&ee&&(V.j41(0,"span"),V.DNE(1,G,1,0,null,10),V.k0s()),2&ee){const ye=V.XpG(6);V.R7$(),V.Y8G("ngTemplateOutlet",ye.closeIconTemplate)}}function N(ee,de){if(1&ee){const ye=V.RV6();V.j41(0,"button",28),V.bIt("click",function(_e){V.eBV(ye);const Me=V.XpG(5);return V.Njj(Me.close(_e))})("keydown.enter",function(_e){V.eBV(ye);const Me=V.XpG(5);return V.Njj(Me.close(_e))}),V.DNE(1,w,3,2,"ng-container",24)(2,x,2,1,"span",24),V.k0s()}if(2&ee){const ye=V.XpG(5);V.Y8G("ngClass",V.lJ4(5,z)),V.BMQ("aria-label",ye.closeAriaLabel)("tabindex",ye.closeTabindex),V.R7$(),V.Y8G("ngIf",!ye.closeIconTemplate),V.R7$(),V.Y8G("ngIf",ye.closeIconTemplate)}}function R(ee,de){if(1&ee){const ye=V.RV6();V.j41(0,"div",16,3),V.bIt("mousedown",function(_e){V.eBV(ye);const Me=V.XpG(4);return V.Njj(Me.initDrag(_e))}),V.DNE(2,g,2,2,"span",17)(3,y,2,1,"span",17)(4,o,1,0,"ng-container",10),V.j41(5,"div",18),V.DNE(6,Y,5,7,"button",19)(7,N,3,6,"button",20),V.k0s()()}if(2&ee){const ye=V.XpG(4);V.R7$(2),V.Y8G("ngIf",!ye.headerFacet&&!ye.headerTemplate),V.R7$(),V.Y8G("ngIf",ye.headerFacet),V.R7$(),V.Y8G("ngTemplateOutlet",ye.headerTemplate),V.R7$(2),V.Y8G("ngIf",ye.maximizable),V.R7$(),V.Y8G("ngIf",ye.closable)}}function K(ee,de){1&ee&&V.eu8(0)}function q(ee,de){1&ee&&V.eu8(0)}function he(ee,de){if(1&ee&&(V.j41(0,"div",31,4),V.SdG(2,2),V.DNE(3,q,1,0,"ng-container",10),V.k0s()),2&ee){const ye=V.XpG(4);V.R7$(3),V.Y8G("ngTemplateOutlet",ye.footerTemplate)}}function me(ee,de){if(1&ee&&(V.DNE(0,a,1,0,"div",11)(1,R,8,5,"div",12),V.j41(2,"div",13,2),V.SdG(4),V.DNE(5,K,1,0,"ng-container",10),V.k0s(),V.DNE(6,he,4,1,"div",14)),2&ee){const ye=V.XpG(3);V.Y8G("ngIf",ye.resizable),V.R7$(),V.Y8G("ngIf",ye.showHeader),V.R7$(),V.HbH(ye.contentStyleClass),V.Y8G("ngClass","p-dialog-content")("ngStyle",ye.contentStyle),V.R7$(3),V.Y8G("ngTemplateOutlet",ye.contentTemplate),V.R7$(),V.Y8G("ngIf",ye.footerFacet||ye.footerTemplate)}}function Ce(ee,de){if(1&ee){const ye=V.RV6();V.j41(0,"div",8,0),V.bIt("@animation.start",function(_e){V.eBV(ye);const Me=V.XpG(2);return V.Njj(Me.onAnimationStart(_e))})("@animation.done",function(_e){V.eBV(ye);const Me=V.XpG(2);return V.Njj(Me.onAnimationEnd(_e))}),V.DNE(2,f,2,1,"ng-container",9)(3,me,7,8,"ng-template",null,1,V.C5r),V.k0s()}if(2&ee){const ye=V.sdS(4),Te=V.XpG(2);V.HbH(Te.styleClass),V.Y8G("ngClass",V.ziG(10,E,Te.rtl,Te.draggable,Te.resizable,Te.maximized))("ngStyle",Te.style)("pFocusTrapDisabled",!1===Te.focusTrap)("@animation",V.eq3(18,b,V.l_i(15,_,Te.transformOptions,Te.transitionOptions))),V.BMQ("aria-labelledby",Te.ariaLabelledBy)("aria-modal",!0),V.R7$(2),V.Y8G("ngIf",Te.headlessTemplate)("ngIfElse",ye)}}function Se(ee,de){if(1&ee){const ye=V.RV6();V.j41(0,"div",6),V.bIt("focus",function(_e){V.eBV(ye);const Me=V.XpG();return V.Njj(Me.containerFocus(_e))}),V.DNE(1,Ce,5,20,"div",7),V.k0s()}if(2&ee){const ye=V.XpG();V.Aen(ye.maskStyle),V.HbH(ye.maskStyleClass),V.Y8G("ngClass",V.zJS(6,I,[ye.modal,ye.modal||ye.blockScroll,"left"===ye.position,"right"===ye.position,"top"===ye.position,"topleft"===ye.position||"top-left"===ye.position,"topright"===ye.position||"top-right"===ye.position,"bottom"===ye.position,"bottomleft"===ye.position||"bottom-left"===ye.position,"bottomright"===ye.position||"bottom-right"===ye.position])),V.R7$(),V.Y8G("ngIf",ye.visible)}}const Oe=(0,M.lY)([(0,M.iF)({transform:"{{transform}}",opacity:0}),(0,M.i0)("{{transition}}")]),Ae=(0,M.lY)([(0,M.i0)("{{transition}}",(0,M.iF)({transform:"{{transform}}",opacity:0}))]);let Fe=(()=>{class ee{document;platformId;el;renderer;zone;cd;config;header;draggable=!0;resizable=!0;get positionLeft(){return 0}set positionLeft(ye){console.log("positionLeft property is deprecated.")}get positionTop(){return 0}set positionTop(ye){console.log("positionTop property is deprecated.")}contentStyle;contentStyleClass;modal=!1;closeOnEscape=!0;dismissableMask=!1;rtl=!1;closable=!0;get responsive(){return!1}set responsive(ye){console.log("Responsive property is deprecated.")}appendTo;breakpoints;styleClass;maskStyleClass;maskStyle;showHeader=!0;get breakpoint(){return 649}set breakpoint(ye){console.log("Breakpoint property is not utilized and deprecated, use breakpoints or CSS media queries instead.")}blockScroll=!1;autoZIndex=!0;baseZIndex=0;minX=0;minY=0;focusOnShow=!0;maximizable=!1;keepInViewport=!0;focusTrap=!0;transitionOptions="150ms cubic-bezier(0, 0, 0.2, 1)";closeIcon;closeAriaLabel;closeTabindex="0";minimizeIcon;maximizeIcon;get visible(){return this._visible}set visible(ye){this._visible=ye,this._visible&&!this.maskVisible&&(this.maskVisible=!0)}get style(){return this._style}set style(ye){ye&&(this._style={...ye},this.originalStyle=ye)}get position(){return this._position}set position(ye){switch(this._position=ye,ye){case"topleft":case"bottomleft":case"left":this.transformOptions="translate3d(-100%, 0px, 0px)";break;case"topright":case"bottomright":case"right":this.transformOptions="translate3d(100%, 0px, 0px)";break;case"bottom":this.transformOptions="translate3d(0px, 100%, 0px)";break;case"top":this.transformOptions="translate3d(0px, -100%, 0px)";break;default:this.transformOptions="scale(0.7)"}}onShow=new V.bkB;onHide=new V.bkB;visibleChange=new V.bkB;onResizeInit=new V.bkB;onResizeEnd=new V.bkB;onDragEnd=new V.bkB;onMaximize=new V.bkB;headerFacet;footerFacet;templates;headerViewChild;contentViewChild;footerViewChild;headerTemplate;contentTemplate;footerTemplate;maximizeIconTemplate;closeIconTemplate;minimizeIconTemplate;headlessTemplate;_visible=!1;maskVisible;container;wrapper;dragging;ariaLabelledBy;documentDragListener;documentDragEndListener;resizing;documentResizeListener;documentResizeEndListener;documentEscapeListener;maskClickListener;lastPageX;lastPageY;preventVisibleChangePropagation;maximized;preMaximizeContentHeight;preMaximizeContainerWidth;preMaximizeContainerHeight;preMaximizePageX;preMaximizePageY;id=(0,fe._Y)();_style={};_position="center";originalStyle;transformOptions="scale(0.7)";styleElement;window;constructor(ye,Te,_e,Me,Ee,Xe,Ze){this.document=ye,this.platformId=Te,this.el=_e,this.renderer=Me,this.zone=Ee,this.cd=Xe,this.config=Ze,this.window=this.document.defaultView}ngAfterContentInit(){this.templates?.forEach(ye=>{switch(ye.getType()){case"header":this.headerTemplate=ye.template;break;case"content":default:this.contentTemplate=ye.template;break;case"footer":this.footerTemplate=ye.template;break;case"closeicon":this.closeIconTemplate=ye.template;break;case"maximizeicon":this.maximizeIconTemplate=ye.template;break;case"minimizeicon":this.minimizeIconTemplate=ye.template;break;case"headless":this.headlessTemplate=ye.template}})}ngOnInit(){this.breakpoints&&this.createStyle()}getAriaLabelledBy(){return null!==this.header?(0,fe._Y)()+"_header":null}focus(){let ye=Z.D.findSingle(this.container,"[autofocus]");ye&&this.zone.runOutsideAngular(()=>{setTimeout(()=>ye.focus(),5)})}close(ye){this.visibleChange.emit(!1),ye.preventDefault()}enableModality(){this.closable&&this.dismissableMask&&(this.maskClickListener=this.renderer.listen(this.wrapper,"mousedown",ye=>{this.wrapper&&this.wrapper.isSameNode(ye.target)&&this.close(ye)})),this.modal&&Z.D.blockBodyScroll()}disableModality(){if(this.wrapper){this.dismissableMask&&this.unbindMaskClickListener();const ye=document.querySelectorAll(".p-dialog-mask-scrollblocker");this.modal&&ye&&1==ye.length&&Z.D.unblockBodyScroll(),this.cd.destroyed||this.cd.detectChanges()}}maximize(){this.maximized=!this.maximized,!this.modal&&!this.blockScroll&&(this.maximized?Z.D.blockBodyScroll():Z.D.unblockBodyScroll()),this.onMaximize.emit({maximized:this.maximized})}unbindMaskClickListener(){this.maskClickListener&&(this.maskClickListener(),this.maskClickListener=null)}moveOnTop(){this.autoZIndex&&(fe.Q$.set("modal",this.container,this.baseZIndex+this.config.zIndex.modal),this.wrapper.style.zIndex=String(parseInt(this.container.style.zIndex,10)-1))}createStyle(){if((0,e.UE)(this.platformId)&&!this.styleElement){this.styleElement=this.renderer.createElement("style"),this.styleElement.type="text/css",this.renderer.appendChild(this.document.head,this.styleElement);let ye="";for(let Te in this.breakpoints)ye+=`\n @media screen and (max-width: ${Te}) {\n .p-dialog[${this.id}]:not(.p-dialog-maximized) {\n width: ${this.breakpoints[Te]} !important;\n }\n }\n `;this.renderer.setProperty(this.styleElement,"innerHTML",ye)}}initDrag(ye){Z.D.hasClass(ye.target,"p-dialog-header-icon")||Z.D.hasClass(ye.target.parentElement,"p-dialog-header-icon")||this.draggable&&(this.dragging=!0,this.lastPageX=ye.pageX,this.lastPageY=ye.pageY,this.container.style.margin="0",Z.D.addClass(this.document.body,"p-unselectable-text"))}onKeydown(ye){if(this.focusTrap&&9===ye.which){ye.preventDefault();let Te=Z.D.getFocusableElements(this.container);if(Te&&Te.length>0)if(Te[0].ownerDocument.activeElement){let _e=Te.indexOf(Te[0].ownerDocument.activeElement);ye.shiftKey?-1==_e||0===_e?Te[Te.length-1].focus():Te[_e-1].focus():-1==_e||_e===Te.length-1?Te[0].focus():Te[_e+1].focus()}else Te[0].focus()}}onDrag(ye){if(this.dragging){const Te=Z.D.getOuterWidth(this.container),_e=Z.D.getOuterHeight(this.container),Me=ye.pageX-this.lastPageX,Ee=ye.pageY-this.lastPageY,Xe=this.container.getBoundingClientRect(),Ze=getComputedStyle(this.container),lt=parseFloat(Ze.marginLeft),Qe=parseFloat(Ze.marginTop),st=Xe.left+Me-lt,kt=Xe.top+Ee-Qe,pt=Z.D.getViewport();this.container.style.position="fixed",this.keepInViewport?(st>=this.minX&&st+Te=this.minY&&kt+_eparseInt(Qe))&&kt.left+ZeparseInt(st))&&kt.top+lt{this.documentDragListener=this.renderer.listen(this.window,"mousemove",this.onDrag.bind(this))})}unbindDocumentDragListener(){this.documentDragListener&&(this.documentDragListener(),this.documentDragListener=null)}bindDocumentDragEndListener(){this.documentDragEndListener||this.zone.runOutsideAngular(()=>{this.documentDragEndListener=this.renderer.listen(this.window,"mouseup",this.endDrag.bind(this))})}unbindDocumentDragEndListener(){this.documentDragEndListener&&(this.documentDragEndListener(),this.documentDragEndListener=null)}bindDocumentResizeListeners(){!this.documentResizeListener&&!this.documentResizeEndListener&&this.zone.runOutsideAngular(()=>{this.documentResizeListener=this.renderer.listen(this.window,"mousemove",this.onResize.bind(this)),this.documentResizeEndListener=this.renderer.listen(this.window,"mouseup",this.resizeEnd.bind(this))})}unbindDocumentResizeListeners(){this.documentResizeListener&&this.documentResizeEndListener&&(this.documentResizeListener(),this.documentResizeEndListener(),this.documentResizeListener=null,this.documentResizeEndListener=null)}bindDocumentEscapeListener(){this.documentEscapeListener=this.renderer.listen(this.el?this.el.nativeElement.ownerDocument:"document","keydown",Te=>{27==Te.which&&this.close(Te)})}unbindDocumentEscapeListener(){this.documentEscapeListener&&(this.documentEscapeListener(),this.documentEscapeListener=null)}appendContainer(){this.appendTo&&("body"===this.appendTo?this.renderer.appendChild(this.document.body,this.wrapper):Z.D.appendChild(this.wrapper,this.appendTo))}restoreAppend(){this.container&&this.appendTo&&this.renderer.appendChild(this.el.nativeElement,this.wrapper)}onAnimationStart(ye){switch(ye.toState){case"visible":this.container=ye.element,this.wrapper=this.container?.parentElement,this.appendContainer(),this.moveOnTop(),this.bindGlobalListeners(),this.container?.setAttribute(this.id,""),this.modal&&this.enableModality(),!this.modal&&this.blockScroll&&Z.D.addClass(this.document.body,"p-overflow-hidden"),this.focusOnShow&&this.focus();break;case"void":this.wrapper&&this.modal&&Z.D.addClass(this.wrapper,"p-component-overlay-leave")}}onAnimationEnd(ye){switch(ye.toState){case"void":this.onContainerDestroy(),this.onHide.emit({}),this.cd.markForCheck();break;case"visible":this.onShow.emit({})}}onContainerDestroy(){this.unbindGlobalListeners(),this.dragging=!1,this.maskVisible=!1,this.maximized&&(Z.D.removeClass(this.document.body,"p-overflow-hidden"),this.document.body.style.removeProperty("--scrollbar-width"),this.maximized=!1),this.modal&&this.disableModality(),this.blockScroll&&Z.D.removeClass(this.document.body,"p-overflow-hidden"),this.container&&this.autoZIndex&&fe.Q$.clear(this.container),this.container=null,this.wrapper=null,this._style=this.originalStyle?{...this.originalStyle}:{}}destroyStyle(){this.styleElement&&(this.renderer.removeChild(this.document.head,this.styleElement),this.styleElement=null)}ngOnDestroy(){this.container&&(this.restoreAppend(),this.onContainerDestroy()),this.destroyStyle()}static \u0275fac=function(Te){return new(Te||ee)(V.rXU(e.qQ),V.rXU(V.Agw),V.rXU(V.aKT),V.rXU(V.sFG),V.rXU(V.SKi),V.rXU(V.gRc),V.rXU(Pe.r1))};static \u0275cmp=V.VBU({type:ee,selectors:[["p-dialog"]],contentQueries:function(Te,_e,Me){if(1&Te&&(V.wni(Me,Pe.Y9,5),V.wni(Me,Pe.wi,5),V.wni(Me,Pe.Ei,4)),2&Te){let Ee;V.mGM(Ee=V.lsd())&&(_e.headerFacet=Ee.first),V.mGM(Ee=V.lsd())&&(_e.footerFacet=Ee.first),V.mGM(Ee=V.lsd())&&(_e.templates=Ee)}},viewQuery:function(Te,_e){if(1&Te&&(V.GBs(A,5),V.GBs(B,5),V.GBs(F,5)),2&Te){let Me;V.mGM(Me=V.lsd())&&(_e.headerViewChild=Me.first),V.mGM(Me=V.lsd())&&(_e.contentViewChild=Me.first),V.mGM(Me=V.lsd())&&(_e.footerViewChild=Me.first)}},hostAttrs:[1,"p-element"],inputs:{header:"header",draggable:"draggable",resizable:"resizable",positionLeft:"positionLeft",positionTop:"positionTop",contentStyle:"contentStyle",contentStyleClass:"contentStyleClass",modal:"modal",closeOnEscape:"closeOnEscape",dismissableMask:"dismissableMask",rtl:"rtl",closable:"closable",responsive:"responsive",appendTo:"appendTo",breakpoints:"breakpoints",styleClass:"styleClass",maskStyleClass:"maskStyleClass",maskStyle:"maskStyle",showHeader:"showHeader",breakpoint:"breakpoint",blockScroll:"blockScroll",autoZIndex:"autoZIndex",baseZIndex:"baseZIndex",minX:"minX",minY:"minY",focusOnShow:"focusOnShow",maximizable:"maximizable",keepInViewport:"keepInViewport",focusTrap:"focusTrap",transitionOptions:"transitionOptions",closeIcon:"closeIcon",closeAriaLabel:"closeAriaLabel",closeTabindex:"closeTabindex",minimizeIcon:"minimizeIcon",maximizeIcon:"maximizeIcon",visible:"visible",style:"style",position:"position"},outputs:{onShow:"onShow",onHide:"onHide",visibleChange:"visibleChange",onResizeInit:"onResizeInit",onResizeEnd:"onResizeEnd",onDragEnd:"onDragEnd",onMaximize:"onMaximize"},ngContentSelectors:D,decls:1,vars:1,consts:[["container",""],["notHeadless",""],["content",""],["titlebar",""],["footer",""],[3,"class","style","ngClass","focus",4,"ngIf"],[3,"focus","ngClass"],["pFocusTrap","","role","dialog",3,"ngClass","ngStyle","class","pFocusTrapDisabled",4,"ngIf"],["pFocusTrap","","role","dialog",3,"ngClass","ngStyle","pFocusTrapDisabled"],[4,"ngIf","ngIfElse"],[4,"ngTemplateOutlet"],["class","p-resizable-handle","style","z-index: 90;",3,"mousedown",4,"ngIf"],["class","p-dialog-header",3,"mousedown",4,"ngIf"],[3,"ngClass","ngStyle"],["class","p-dialog-footer",4,"ngIf"],[1,"p-resizable-handle",2,"z-index","90",3,"mousedown"],[1,"p-dialog-header",3,"mousedown"],["class","p-dialog-title",3,"id",4,"ngIf"],[1,"p-dialog-header-icons"],["role","button","type","button","pRipple","","pButton","",3,"ngClass","click","keydown.enter",4,"ngIf"],["type","button","pRipple","","pButton","",3,"ngClass","click","keydown.enter",4,"ngIf"],[1,"p-dialog-title",3,"id"],["role","button","type","button","pRipple","","pButton","",3,"click","keydown.enter","ngClass"],["class","p-dialog-header-maximize-icon",3,"ngClass",4,"ngIf"],[4,"ngIf"],[1,"p-dialog-header-maximize-icon",3,"ngClass"],[3,"styleClass",4,"ngIf"],[3,"styleClass"],["type","button","pRipple","","pButton","",3,"click","keydown.enter","ngClass"],["class","p-dialog-header-close-icon",3,"ngClass",4,"ngIf"],[1,"p-dialog-header-close-icon",3,"ngClass"],[1,"p-dialog-footer"]],template:function(Te,_e){1&Te&&(V.NAR(L),V.DNE(0,Se,2,17,"div",5)),2&Te&&V.Y8G("ngIf",_e.maskVisible)},dependencies:()=>[e.YU,e.bT,e.T3,e.B3,ie,$._f,te.n,ve.A,pe,J],styles:["@layer primeng{.p-dialog-mask{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;pointer-events:none}.p-dialog-mask.p-component-overlay{pointer-events:auto}.p-dialog{display:flex;flex-direction:column;pointer-events:auto;max-height:90%;transform:scale(1);position:relative}.p-dialog-content{overflow-y:auto;flex-grow:1}.p-dialog-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.p-dialog-draggable .p-dialog-header{cursor:move}.p-dialog-footer{flex-shrink:0}.p-dialog .p-dialog-header-icons{display:flex;align-items:center}.p-dialog .p-dialog-header-icon{display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.p-fluid .p-dialog-footer .p-button{width:auto}.p-dialog-top .p-dialog,.p-dialog-bottom .p-dialog,.p-dialog-left .p-dialog,.p-dialog-right .p-dialog,.p-dialog-top-left .p-dialog,.p-dialog-top-right .p-dialog,.p-dialog-bottom-left .p-dialog,.p-dialog-bottom-right .p-dialog{margin:.75rem;transform:translateZ(0)}.p-dialog-maximized{-webkit-transition:none;transition:none;transform:none;width:100vw!important;height:100vh!important;top:0!important;left:0!important;max-height:100%;height:100%}.p-dialog-maximized .p-dialog-content{flex-grow:1}.p-dialog-left{justify-content:flex-start}.p-dialog-right{justify-content:flex-end}.p-dialog-top{align-items:flex-start}.p-dialog-top-left{justify-content:flex-start;align-items:flex-start}.p-dialog-top-right{justify-content:flex-end;align-items:flex-start}.p-dialog-bottom{align-items:flex-end}.p-dialog-bottom-left{justify-content:flex-start;align-items:flex-end}.p-dialog-bottom-right{justify-content:flex-end;align-items:flex-end}.p-dialog .p-resizable-handle{position:absolute;font-size:.1px;display:block;cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.p-confirm-dialog .p-dialog-content{display:flex;align-items:center}}\n"],encapsulation:2,data:{animation:[(0,M.hZ)("animation",[(0,M.kY)("void => visible",[(0,M.sM)(Oe)]),(0,M.kY)("visible => void",[(0,M.sM)(Ae)])])]},changeDetection:0})}return ee})(),oe=(()=>{class ee{static \u0275fac=function(Te){return new(Te||ee)};static \u0275mod=V.$C({type:ee});static \u0275inj=V.G2t({imports:[e.MD,re,$.tm,te.Z,ve.A,pe,J,Pe.Gg]})}return ee})()},81455:(ri,Ft,He)=>{"use strict";He.d(Ft,{D:()=>M,b:()=>e});let M=(()=>{class V{static zindex=1e3;static calculatedScrollbarWidth=null;static calculatedScrollbarHeight=null;static browser;static addClass(Z,ie){Z&&ie&&(Z.classList?Z.classList.add(ie):Z.className+=" "+ie)}static addMultipleClasses(Z,ie){if(Z&&ie)if(Z.classList){let re=ie.trim().split(" ");for(let ve=0;vere.split(" ").forEach(ve=>this.removeClass(Z,ve)))}static hasClass(Z,ie){return!(!Z||!ie)&&(Z.classList?Z.classList.contains(ie):new RegExp("(^| )"+ie+"( |$)","gi").test(Z.className))}static siblings(Z){return Array.prototype.filter.call(Z.parentNode.children,function(ie){return ie!==Z})}static find(Z,ie){return Array.from(Z.querySelectorAll(ie))}static findSingle(Z,ie){return this.isElement(Z)?Z.querySelector(ie):null}static index(Z){let ie=Z.parentNode.childNodes,re=0;for(var ve=0;ve{if(I)return"relative"===getComputedStyle(I).getPropertyValue("position")?I:re(I.parentElement)},ve=Z.offsetParent?{width:Z.offsetWidth,height:Z.offsetHeight}:this.getHiddenElementDimensions(Z),le=ie.offsetHeight,fe=ie.getBoundingClientRect(),pe=this.getWindowScrollTop(),J=this.getWindowScrollLeft(),te=this.getViewport(),A=re(Z)?.getBoundingClientRect()||{top:-1*pe,left:-1*J};let B,F;fe.top+le+ve.height>te.height?(B=fe.top-A.top-ve.height,Z.style.transformOrigin="bottom",fe.top+B<0&&(B=-1*fe.top)):(B=le+fe.top-A.top,Z.style.transformOrigin="top");const L=fe.left+ve.width-te.width;F=ve.width>te.width?-1*(fe.left-A.left):L>0?fe.left-A.left-L:fe.left-A.left,Z.style.top=B+"px",Z.style.left=F+"px"}static absolutePosition(Z,ie){const re=Z.offsetParent?{width:Z.offsetWidth,height:Z.offsetHeight}:this.getHiddenElementDimensions(Z),ve=re.height,le=re.width,fe=ie.offsetHeight,pe=ie.offsetWidth,J=ie.getBoundingClientRect(),te=this.getWindowScrollTop(),$=this.getWindowScrollLeft(),A=this.getViewport();let B,F;J.top+fe+ve>A.height?(B=J.top+te-ve,Z.style.transformOrigin="bottom",B<0&&(B=te)):(B=fe+J.top+te,Z.style.transformOrigin="top"),F=J.left+le>A.width?Math.max(0,J.left+$+pe-le):J.left+$,Z.style.top=B+"px",Z.style.left=F+"px"}static getParents(Z,ie=[]){return null===Z.parentNode?ie:this.getParents(Z.parentNode,ie.concat([Z.parentNode]))}static getScrollableParents(Z){let ie=[];if(Z){let re=this.getParents(Z);const ve=/(auto|scroll)/,le=fe=>{let pe=window.getComputedStyle(fe,null);return ve.test(pe.getPropertyValue("overflow"))||ve.test(pe.getPropertyValue("overflowX"))||ve.test(pe.getPropertyValue("overflowY"))};for(let fe of re){let pe=1===fe.nodeType&&fe.dataset.scrollselectors;if(pe){let J=pe.split(",");for(let te of J){let $=this.findSingle(fe,te);$&&le($)&&ie.push($)}}9!==fe.nodeType&&le(fe)&&ie.push(fe)}}return ie}static getHiddenElementOuterHeight(Z){Z.style.visibility="hidden",Z.style.display="block";let ie=Z.offsetHeight;return Z.style.display="none",Z.style.visibility="visible",ie}static getHiddenElementOuterWidth(Z){Z.style.visibility="hidden",Z.style.display="block";let ie=Z.offsetWidth;return Z.style.display="none",Z.style.visibility="visible",ie}static getHiddenElementDimensions(Z){let ie={};return Z.style.visibility="hidden",Z.style.display="block",ie.width=Z.offsetWidth,ie.height=Z.offsetHeight,Z.style.display="none",Z.style.visibility="visible",ie}static scrollInView(Z,ie){let re=getComputedStyle(Z).getPropertyValue("borderTopWidth"),ve=re?parseFloat(re):0,le=getComputedStyle(Z).getPropertyValue("paddingTop"),fe=le?parseFloat(le):0,pe=Z.getBoundingClientRect(),te=ie.getBoundingClientRect().top+document.body.scrollTop-(pe.top+document.body.scrollTop)-ve-fe,$=Z.scrollTop,A=Z.clientHeight,B=this.getOuterHeight(ie);te<0?Z.scrollTop=$+te:te+B>A&&(Z.scrollTop=$+te-A+B)}static fadeIn(Z,ie){Z.style.opacity=0;let re=+new Date,ve=0,le=function(){ve=+Z.style.opacity.replace(",",".")+((new Date).getTime()-re)/ie,Z.style.opacity=ve,re=+new Date,+ve<1&&(window.requestAnimationFrame&&requestAnimationFrame(le)||setTimeout(le,16))};le()}static fadeOut(Z,ie){var re=1,fe=50/ie;let pe=setInterval(()=>{(re-=fe)<=0&&(re=0,clearInterval(pe)),Z.style.opacity=re},50)}static getWindowScrollTop(){let Z=document.documentElement;return(window.pageYOffset||Z.scrollTop)-(Z.clientTop||0)}static getWindowScrollLeft(){let Z=document.documentElement;return(window.pageXOffset||Z.scrollLeft)-(Z.clientLeft||0)}static matches(Z,ie){var re=Element.prototype;return(re.matches||re.webkitMatchesSelector||re.mozMatchesSelector||re.msMatchesSelector||function(le){return-1!==[].indexOf.call(document.querySelectorAll(le),this)}).call(Z,ie)}static getOuterWidth(Z,ie){let re=Z.offsetWidth;if(ie){let ve=getComputedStyle(Z);re+=parseFloat(ve.marginLeft)+parseFloat(ve.marginRight)}return re}static getHorizontalPadding(Z){let ie=getComputedStyle(Z);return parseFloat(ie.paddingLeft)+parseFloat(ie.paddingRight)}static getHorizontalMargin(Z){let ie=getComputedStyle(Z);return parseFloat(ie.marginLeft)+parseFloat(ie.marginRight)}static innerWidth(Z){let ie=Z.offsetWidth,re=getComputedStyle(Z);return ie+=parseFloat(re.paddingLeft)+parseFloat(re.paddingRight),ie}static width(Z){let ie=Z.offsetWidth,re=getComputedStyle(Z);return ie-=parseFloat(re.paddingLeft)+parseFloat(re.paddingRight),ie}static getInnerHeight(Z){let ie=Z.offsetHeight,re=getComputedStyle(Z);return ie+=parseFloat(re.paddingTop)+parseFloat(re.paddingBottom),ie}static getOuterHeight(Z,ie){let re=Z.offsetHeight;if(ie){let ve=getComputedStyle(Z);re+=parseFloat(ve.marginTop)+parseFloat(ve.marginBottom)}return re}static getHeight(Z){let ie=Z.offsetHeight,re=getComputedStyle(Z);return ie-=parseFloat(re.paddingTop)+parseFloat(re.paddingBottom)+parseFloat(re.borderTopWidth)+parseFloat(re.borderBottomWidth),ie}static getWidth(Z){let ie=Z.offsetWidth,re=getComputedStyle(Z);return ie-=parseFloat(re.paddingLeft)+parseFloat(re.paddingRight)+parseFloat(re.borderLeftWidth)+parseFloat(re.borderRightWidth),ie}static getViewport(){let Z=window,ie=document,re=ie.documentElement,ve=ie.getElementsByTagName("body")[0];return{width:Z.innerWidth||re.clientWidth||ve.clientWidth,height:Z.innerHeight||re.clientHeight||ve.clientHeight}}static getOffset(Z){var ie=Z.getBoundingClientRect();return{top:ie.top+(window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0),left:ie.left+(window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0)}}static replaceElementWith(Z,ie){let re=Z.parentNode;if(!re)throw"Can't replace element";return re.replaceChild(ie,Z)}static getUserAgent(){if(navigator&&this.isClient())return navigator.userAgent}static isIE(){var Z=window.navigator.userAgent;return Z.indexOf("MSIE ")>0||(Z.indexOf("Trident/")>0?(Z.indexOf("rv:"),!0):Z.indexOf("Edge/")>0)}static isIOS(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream}static isAndroid(){return/(android)/i.test(navigator.userAgent)}static isTouchDevice(){return"ontouchstart"in window||navigator.maxTouchPoints>0}static appendChild(Z,ie){if(this.isElement(ie))ie.appendChild(Z);else{if(!(ie&&ie.el&&ie.el.nativeElement))throw"Cannot append "+ie+" to "+Z;ie.el.nativeElement.appendChild(Z)}}static removeChild(Z,ie){if(this.isElement(ie))ie.removeChild(Z);else{if(!ie.el||!ie.el.nativeElement)throw"Cannot remove "+Z+" from "+ie;ie.el.nativeElement.removeChild(Z)}}static removeElement(Z){"remove"in Element.prototype?Z.remove():Z.parentNode.removeChild(Z)}static isElement(Z){return"object"==typeof HTMLElement?Z instanceof HTMLElement:Z&&"object"==typeof Z&&null!==Z&&1===Z.nodeType&&"string"==typeof Z.nodeName}static calculateScrollbarWidth(Z){if(Z){let ie=getComputedStyle(Z);return Z.offsetWidth-Z.clientWidth-parseFloat(ie.borderLeftWidth)-parseFloat(ie.borderRightWidth)}{if(null!==this.calculatedScrollbarWidth)return this.calculatedScrollbarWidth;let ie=document.createElement("div");ie.className="p-scrollbar-measure",document.body.appendChild(ie);let re=ie.offsetWidth-ie.clientWidth;return document.body.removeChild(ie),this.calculatedScrollbarWidth=re,re}}static calculateScrollbarHeight(){if(null!==this.calculatedScrollbarHeight)return this.calculatedScrollbarHeight;let Z=document.createElement("div");Z.className="p-scrollbar-measure",document.body.appendChild(Z);let ie=Z.offsetHeight-Z.clientHeight;return document.body.removeChild(Z),this.calculatedScrollbarWidth=ie,ie}static invokeElementMethod(Z,ie,re){Z[ie].apply(Z,re)}static clearSelection(){if(window.getSelection)window.getSelection().empty?window.getSelection().empty():window.getSelection().removeAllRanges&&window.getSelection().rangeCount>0&&window.getSelection().getRangeAt(0).getClientRects().length>0&&window.getSelection().removeAllRanges();else if(document.selection&&document.selection.empty)try{document.selection.empty()}catch{}}static getBrowser(){if(!this.browser){let Z=this.resolveUserAgent();this.browser={},Z.browser&&(this.browser[Z.browser]=!0,this.browser.version=Z.version),this.browser.chrome?this.browser.webkit=!0:this.browser.webkit&&(this.browser.safari=!0)}return this.browser}static resolveUserAgent(){let Z=navigator.userAgent.toLowerCase(),ie=/(chrome)[ \/]([\w.]+)/.exec(Z)||/(webkit)[ \/]([\w.]+)/.exec(Z)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(Z)||/(msie) ([\w.]+)/.exec(Z)||Z.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(Z)||[];return{browser:ie[1]||"",version:ie[2]||"0"}}static isInteger(Z){return Number.isInteger?Number.isInteger(Z):"number"==typeof Z&&isFinite(Z)&&Math.floor(Z)===Z}static isHidden(Z){return!Z||null===Z.offsetParent}static isVisible(Z){return Z&&null!=Z.offsetParent}static isExist(Z){return null!==Z&&typeof Z<"u"&&Z.nodeName&&Z.parentNode}static focus(Z,ie){Z&&document.activeElement!==Z&&Z.focus(ie)}static getFocusableElements(Z,ie=""){let re=this.find(Z,`button:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ie},\n [href][clientHeight][clientWidth]:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ie},\n input:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ie},\n select:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ie},\n textarea:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ie},\n [tabIndex]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ie},\n [contenteditable]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ie}`),ve=[];for(let le of re){const fe=getComputedStyle(le);this.isVisible(le)&&"none"!=fe.display&&"hidden"!=fe.visibility&&ve.push(le)}return ve}static getFirstFocusableElement(Z,ie){const re=this.getFocusableElements(Z,ie);return re.length>0?re[0]:null}static getLastFocusableElement(Z,ie){const re=this.getFocusableElements(Z,ie);return re.length>0?re[re.length-1]:null}static getNextFocusableElement(Z,ie=!1){const re=V.getFocusableElements(Z);let ve=0;if(re&&re.length>0){const le=re.indexOf(re[0].ownerDocument.activeElement);ie?ve=-1==le||0===le?re.length-1:le-1:-1!=le&&le!==re.length-1&&(ve=le+1)}return re[ve]}static generateZIndex(){return this.zindex=this.zindex||999,++this.zindex}static getSelection(){return window.getSelection?window.getSelection().toString():document.getSelection?document.getSelection().toString():document.selection?document.selection.createRange().text:null}static getTargetElement(Z,ie){if(!Z)return null;switch(Z){case"document":return document;case"window":return window;case"@next":return ie?.nextElementSibling;case"@prev":return ie?.previousElementSibling;case"@parent":return ie?.parentElement;case"@grandparent":return ie?.parentElement.parentElement;default:const re=typeof Z;if("string"===re)return document.querySelector(Z);if("object"===re&&Z.hasOwnProperty("nativeElement"))return this.isExist(Z.nativeElement)?Z.nativeElement:void 0;const le=(fe=Z)&&fe.constructor&&fe.call&&fe.apply?Z():Z;return le&&9===le.nodeType||this.isExist(le)?le:null}var fe}static isClient(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}static getAttribute(Z,ie){if(Z){const re=Z.getAttribute(ie);return isNaN(re)?"true"===re||"false"===re?"true"===re:re:+re}}static calculateBodyScrollbarWidth(){return window.innerWidth-document.documentElement.offsetWidth}static blockBodyScroll(Z="p-overflow-hidden"){document.body.style.setProperty("--scrollbar-width",this.calculateBodyScrollbarWidth()+"px"),this.addClass(document.body,Z)}static unblockBodyScroll(Z="p-overflow-hidden"){document.body.style.removeProperty("--scrollbar-width"),this.removeClass(document.body,Z)}}return V})();class e{element;listener;scrollableParents;constructor(Pe,Z=(()=>{})){this.element=Pe,this.listener=Z}bindScrollListener(){this.scrollableParents=M.getScrollableParents(this.element);for(let Pe=0;Pe{"use strict";He.d(Ft,{N:()=>Pe});var M=He(54438),e=He(461),V=He(54420);let Pe=(()=>{class Z extends e.h{pathId;ngOnInit(){this.pathId="url(#"+(0,V._Y)()+")"}static \u0275fac=(()=>{let re;return function(le){return(re||(re=M.xGo(Z)))(le||Z)}})();static \u0275cmp=M.VBU({type:Z,selectors:[["SpinnerIcon"]],standalone:!0,features:[M.Vt3,M.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M6.99701 14C5.85441 13.999 4.72939 13.7186 3.72012 13.1832C2.71084 12.6478 1.84795 11.8737 1.20673 10.9284C0.565504 9.98305 0.165424 8.89526 0.041387 7.75989C-0.0826496 6.62453 0.073125 5.47607 0.495122 4.4147C0.917119 3.35333 1.59252 2.4113 2.46241 1.67077C3.33229 0.930247 4.37024 0.413729 5.4857 0.166275C6.60117 -0.0811796 7.76026 -0.0520535 8.86188 0.251112C9.9635 0.554278 10.9742 1.12227 11.8057 1.90555C11.915 2.01493 11.9764 2.16319 11.9764 2.31778C11.9764 2.47236 11.915 2.62062 11.8057 2.73C11.7521 2.78503 11.688 2.82877 11.6171 2.85864C11.5463 2.8885 11.4702 2.90389 11.3933 2.90389C11.3165 2.90389 11.2404 2.8885 11.1695 2.85864C11.0987 2.82877 11.0346 2.78503 10.9809 2.73C9.9998 1.81273 8.73246 1.26138 7.39226 1.16876C6.05206 1.07615 4.72086 1.44794 3.62279 2.22152C2.52471 2.99511 1.72683 4.12325 1.36345 5.41602C1.00008 6.70879 1.09342 8.08723 1.62775 9.31926C2.16209 10.5513 3.10478 11.5617 4.29713 12.1803C5.48947 12.7989 6.85865 12.988 8.17414 12.7157C9.48963 12.4435 10.6711 11.7264 11.5196 10.6854C12.3681 9.64432 12.8319 8.34282 12.8328 7C12.8328 6.84529 12.8943 6.69692 13.0038 6.58752C13.1132 6.47812 13.2616 6.41667 13.4164 6.41667C13.5712 6.41667 13.7196 6.47812 13.8291 6.58752C13.9385 6.69692 14 6.84529 14 7C14 8.85651 13.2622 10.637 11.9489 11.9497C10.6356 13.2625 8.85432 14 6.99701 14Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ve,le){1&ve&&(M.qSk(),M.j41(0,"svg",0)(1,"g"),M.nrm(2,"path",1),M.k0s(),M.j41(3,"defs")(4,"clipPath",2),M.nrm(5,"rect",3),M.k0s()()()),2&ve&&(M.HbH(le.getClassNames()),M.BMQ("aria-label",le.ariaLabel)("aria-hidden",le.ariaHidden)("role",le.role),M.R7$(),M.BMQ("clip-path",le.pathId),M.R7$(3),M.Y8G("id",le.pathId))},encapsulation:2})}return Z})()},1512:(ri,Ft,He)=>{"use strict";He.d(Ft,{A:()=>V});var M=He(54438),e=He(461);let V=(()=>{class Pe extends e.h{static \u0275fac=(()=>{let ie;return function(ve){return(ie||(ie=M.xGo(Pe)))(ve||Pe)}})();static \u0275cmp=M.VBU({type:Pe,selectors:[["TimesIcon"]],standalone:!0,features:[M.Vt3,M.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M8.01186 7.00933L12.27 2.75116C12.341 2.68501 12.398 2.60524 12.4375 2.51661C12.4769 2.42798 12.4982 2.3323 12.4999 2.23529C12.5016 2.13827 12.4838 2.0419 12.4474 1.95194C12.4111 1.86197 12.357 1.78024 12.2884 1.71163C12.2198 1.64302 12.138 1.58893 12.0481 1.55259C11.9581 1.51625 11.8617 1.4984 11.7647 1.50011C11.6677 1.50182 11.572 1.52306 11.4834 1.56255C11.3948 1.60204 11.315 1.65898 11.2488 1.72997L6.99067 5.98814L2.7325 1.72997C2.59553 1.60234 2.41437 1.53286 2.22718 1.53616C2.03999 1.53946 1.8614 1.61529 1.72901 1.74767C1.59663 1.88006 1.5208 2.05865 1.5175 2.24584C1.5142 2.43303 1.58368 2.61419 1.71131 2.75116L5.96948 7.00933L1.71131 11.2675C1.576 11.403 1.5 11.5866 1.5 11.7781C1.5 11.9696 1.576 12.1532 1.71131 12.2887C1.84679 12.424 2.03043 12.5 2.2219 12.5C2.41338 12.5 2.59702 12.424 2.7325 12.2887L6.99067 8.03052L11.2488 12.2887C11.3843 12.424 11.568 12.5 11.7594 12.5C11.9509 12.5 12.1346 12.424 12.27 12.2887C12.4053 12.1532 12.4813 11.9696 12.4813 11.7781C12.4813 11.5866 12.4053 11.403 12.27 11.2675L8.01186 7.00933Z","fill","currentColor"]],template:function(re,ve){1&re&&(M.qSk(),M.j41(0,"svg",0),M.nrm(1,"path",1),M.k0s()),2&re&&(M.HbH(ve.getClassNames()),M.BMQ("aria-label",ve.ariaLabel)("aria-hidden",ve.ariaHidden)("role",ve.role))},encapsulation:2})}return Pe})()},22242:(ri,Ft,He)=>{"use strict";He.d(Ft,{S:()=>Pe,u:()=>Z});var M=He(54438),e=He(60177),V=He(89417);let Pe=(()=>{class ie{el;ngModel;cd;filled;constructor(ve,le,fe){this.el=ve,this.ngModel=le,this.cd=fe}ngAfterViewInit(){this.updateFilledState(),this.cd.detectChanges()}ngDoCheck(){this.updateFilledState()}onInput(){this.updateFilledState()}updateFilledState(){this.filled=this.el.nativeElement.value&&this.el.nativeElement.value.length||this.ngModel&&this.ngModel.model}static \u0275fac=function(le){return new(le||ie)(M.rXU(M.aKT),M.rXU(V.vS,8),M.rXU(M.gRc))};static \u0275dir=M.FsC({type:ie,selectors:[["","pInputText",""]],hostAttrs:[1,"p-inputtext","p-component","p-element"],hostVars:2,hostBindings:function(le,fe){1&le&&M.bIt("input",function(J){return fe.onInput(J)}),2&le&&M.AVh("p-filled",fe.filled)}})}return ie})(),Z=(()=>{class ie{static \u0275fac=function(le){return new(le||ie)};static \u0275mod=M.$C({type:ie});static \u0275inj=M.G2t({imports:[e.MD]})}return ie})()},10563:(ri,Ft,He)=>{"use strict";He.d(Ft,{Z:()=>ie,n:()=>Z});var M=He(60177),e=He(54438),V=He(81455),Pe=He(5779);let Z=(()=>{class re{document;platformId;renderer;el;zone;config;constructor(le,fe,pe,J,te,$){this.document=le,this.platformId=fe,this.renderer=pe,this.el=J,this.zone=te,this.config=$}animationListener;mouseDownListener;timeout;ngAfterViewInit(){(0,M.UE)(this.platformId)&&this.config&&this.config.ripple&&this.zone.runOutsideAngular(()=>{this.create(),this.mouseDownListener=this.renderer.listen(this.el.nativeElement,"mousedown",this.onMouseDown.bind(this))})}onMouseDown(le){let fe=this.getInk();if(!fe||"none"===this.document.defaultView?.getComputedStyle(fe,null).display)return;if(V.D.removeClass(fe,"p-ink-active"),!V.D.getHeight(fe)&&!V.D.getWidth(fe)){let $=Math.max(V.D.getOuterWidth(this.el.nativeElement),V.D.getOuterHeight(this.el.nativeElement));fe.style.height=$+"px",fe.style.width=$+"px"}let pe=V.D.getOffset(this.el.nativeElement),J=le.pageX-pe.left+this.document.body.scrollTop-V.D.getWidth(fe)/2,te=le.pageY-pe.top+this.document.body.scrollLeft-V.D.getHeight(fe)/2;this.renderer.setStyle(fe,"top",te+"px"),this.renderer.setStyle(fe,"left",J+"px"),V.D.addClass(fe,"p-ink-active"),this.timeout=setTimeout(()=>{let $=this.getInk();$&&V.D.removeClass($,"p-ink-active")},401)}getInk(){const le=this.el.nativeElement.children;for(let fe=0;fe{class re{static \u0275fac=function(fe){return new(fe||re)};static \u0275mod=e.$C({type:re});static \u0275inj=e.G2t({imports:[M.MD]})}return re})()},46247:(ri,Ft,He)=>{"use strict";He.d(Ft,{c5:()=>En,hp:()=>Cn,FP:()=>Ai,yc:()=>ei,Tg:()=>Ut,XI:()=>Ne,bG:()=>cr});var M=He(60177),e=He(54438),V=He(89417),Pe=He(5779),Z=He(81141),ie=He(49969),re=He(81455),ve=He(10563),le=He(54420),fe=He(461);let pe=(()=>{class xe extends fe.h{static \u0275fac=(()=>{let u;return function(ue){return(u||(u=e.xGo(xe)))(ue||xe)}})();static \u0275cmp=e.VBU({type:xe,selectors:[["ChevronLeftIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M9.61296 13C9.50997 13.0005 9.40792 12.9804 9.3128 12.9409C9.21767 12.9014 9.13139 12.8433 9.05902 12.7701L3.83313 7.54416C3.68634 7.39718 3.60388 7.19795 3.60388 6.99022C3.60388 6.78249 3.68634 6.58325 3.83313 6.43628L9.05902 1.21039C9.20762 1.07192 9.40416 0.996539 9.60724 1.00012C9.81032 1.00371 10.0041 1.08597 10.1477 1.22959C10.2913 1.37322 10.3736 1.56698 10.3772 1.77005C10.3808 1.97313 10.3054 2.16968 10.1669 2.31827L5.49496 6.99022L10.1669 11.6622C10.3137 11.8091 10.3962 12.0084 10.3962 12.2161C10.3962 12.4238 10.3137 12.6231 10.1669 12.7701C10.0945 12.8433 10.0083 12.9014 9.91313 12.9409C9.81801 12.9804 9.71596 13.0005 9.61296 13Z","fill","currentColor"]],template:function(ne,ue){1&ne&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ne&&(e.HbH(ue.getClassNames()),e.BMQ("aria-label",ue.ariaLabel)("aria-hidden",ue.ariaHidden)("role",ue.role))},encapsulation:2})}return xe})(),J=(()=>{class xe extends fe.h{static \u0275fac=(()=>{let u;return function(ue){return(u||(u=e.xGo(xe)))(ue||xe)}})();static \u0275cmp=e.VBU({type:xe,selectors:[["ChevronRightIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M4.38708 13C4.28408 13.0005 4.18203 12.9804 4.08691 12.9409C3.99178 12.9014 3.9055 12.8433 3.83313 12.7701C3.68634 12.6231 3.60388 12.4238 3.60388 12.2161C3.60388 12.0084 3.68634 11.8091 3.83313 11.6622L8.50507 6.99022L3.83313 2.31827C3.69467 2.16968 3.61928 1.97313 3.62287 1.77005C3.62645 1.56698 3.70872 1.37322 3.85234 1.22959C3.99596 1.08597 4.18972 1.00371 4.3928 1.00012C4.59588 0.996539 4.79242 1.07192 4.94102 1.21039L10.1669 6.43628C10.3137 6.58325 10.3962 6.78249 10.3962 6.99022C10.3962 7.19795 10.3137 7.39718 10.1669 7.54416L4.94102 12.7701C4.86865 12.8433 4.78237 12.9014 4.68724 12.9409C4.59212 12.9804 4.49007 13.0005 4.38708 13Z","fill","currentColor"]],template:function(ne,ue){1&ne&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ne&&(e.HbH(ue.getClassNames()),e.BMQ("aria-label",ue.ariaLabel)("aria-hidden",ue.ariaHidden)("role",ue.role))},encapsulation:2})}return xe})(),te=(()=>{class xe extends fe.h{static \u0275fac=(()=>{let u;return function(ue){return(u||(u=e.xGo(xe)))(ue||xe)}})();static \u0275cmp=e.VBU({type:xe,selectors:[["ChevronUpIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M12.2097 10.4113C12.1057 10.4118 12.0027 10.3915 11.9067 10.3516C11.8107 10.3118 11.7237 10.2532 11.6506 10.1792L6.93602 5.46461L2.22139 10.1476C2.07272 10.244 1.89599 10.2877 1.71953 10.2717C1.54307 10.2556 1.3771 10.1808 1.24822 10.0593C1.11933 9.93766 1.035 9.77633 1.00874 9.6011C0.982477 9.42587 1.0158 9.2469 1.10338 9.09287L6.37701 3.81923C6.52533 3.6711 6.72639 3.58789 6.93602 3.58789C7.14565 3.58789 7.3467 3.6711 7.49502 3.81923L12.7687 9.09287C12.9168 9.24119 13 9.44225 13 9.65187C13 9.8615 12.9168 10.0626 12.7687 10.2109C12.616 10.3487 12.4151 10.4207 12.2097 10.4113Z","fill","currentColor"]],template:function(ne,ue){1&ne&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ne&&(e.HbH(ue.getClassNames()),e.BMQ("aria-label",ue.ariaLabel)("aria-hidden",ue.ariaHidden)("role",ue.role))},encapsulation:2})}return xe})(),$=(()=>{class xe extends fe.h{static \u0275fac=(()=>{let u;return function(ue){return(u||(u=e.xGo(xe)))(ue||xe)}})();static \u0275cmp=e.VBU({type:xe,selectors:[["ChevronDownIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M7.01744 10.398C6.91269 10.3985 6.8089 10.378 6.71215 10.3379C6.61541 10.2977 6.52766 10.2386 6.45405 10.1641L1.13907 4.84913C1.03306 4.69404 0.985221 4.5065 1.00399 4.31958C1.02276 4.13266 1.10693 3.95838 1.24166 3.82747C1.37639 3.69655 1.55301 3.61742 1.74039 3.60402C1.92777 3.59062 2.11386 3.64382 2.26584 3.75424L7.01744 8.47394L11.769 3.75424C11.9189 3.65709 12.097 3.61306 12.2748 3.62921C12.4527 3.64535 12.6199 3.72073 12.7498 3.84328C12.8797 3.96582 12.9647 4.12842 12.9912 4.30502C13.0177 4.48162 12.9841 4.662 12.8958 4.81724L7.58083 10.1322C7.50996 10.2125 7.42344 10.2775 7.32656 10.3232C7.22968 10.3689 7.12449 10.3944 7.01744 10.398Z","fill","currentColor"]],template:function(ne,ue){1&ne&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ne&&(e.HbH(ue.getClassNames()),e.BMQ("aria-label",ue.ariaLabel)("aria-hidden",ue.ariaHidden)("role",ue.role))},encapsulation:2})}return xe})();var A=He(1512);let B=(()=>{class xe extends fe.h{static \u0275fac=(()=>{let u;return function(ue){return(u||(u=e.xGo(xe)))(ue||xe)}})();static \u0275cmp=e.VBU({type:xe,selectors:[["CalendarIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M10.7838 1.51351H9.83783V0.567568C9.83783 0.417039 9.77804 0.272676 9.6716 0.166237C9.56516 0.0597971 9.42079 0 9.27027 0C9.11974 0 8.97538 0.0597971 8.86894 0.166237C8.7625 0.272676 8.7027 0.417039 8.7027 0.567568V1.51351H5.29729V0.567568C5.29729 0.417039 5.2375 0.272676 5.13106 0.166237C5.02462 0.0597971 4.88025 0 4.72973 0C4.5792 0 4.43484 0.0597971 4.3284 0.166237C4.22196 0.272676 4.16216 0.417039 4.16216 0.567568V1.51351H3.21621C2.66428 1.51351 2.13494 1.73277 1.74467 2.12305C1.35439 2.51333 1.13513 3.04266 1.13513 3.59459V11.9189C1.13513 12.4709 1.35439 13.0002 1.74467 13.3905C2.13494 13.7807 2.66428 14 3.21621 14H10.7838C11.3357 14 11.865 13.7807 12.2553 13.3905C12.6456 13.0002 12.8649 12.4709 12.8649 11.9189V3.59459C12.8649 3.04266 12.6456 2.51333 12.2553 2.12305C11.865 1.73277 11.3357 1.51351 10.7838 1.51351ZM3.21621 2.64865H4.16216V3.59459C4.16216 3.74512 4.22196 3.88949 4.3284 3.99593C4.43484 4.10237 4.5792 4.16216 4.72973 4.16216C4.88025 4.16216 5.02462 4.10237 5.13106 3.99593C5.2375 3.88949 5.29729 3.74512 5.29729 3.59459V2.64865H8.7027V3.59459C8.7027 3.74512 8.7625 3.88949 8.86894 3.99593C8.97538 4.10237 9.11974 4.16216 9.27027 4.16216C9.42079 4.16216 9.56516 4.10237 9.6716 3.99593C9.77804 3.88949 9.83783 3.74512 9.83783 3.59459V2.64865H10.7838C11.0347 2.64865 11.2753 2.74831 11.4527 2.92571C11.6301 3.10311 11.7297 3.34371 11.7297 3.59459V5.67568H2.27027V3.59459C2.27027 3.34371 2.36993 3.10311 2.54733 2.92571C2.72473 2.74831 2.96533 2.64865 3.21621 2.64865ZM10.7838 12.8649H3.21621C2.96533 12.8649 2.72473 12.7652 2.54733 12.5878C2.36993 12.4104 2.27027 12.1698 2.27027 11.9189V6.81081H11.7297V11.9189C11.7297 12.1698 11.6301 12.4104 11.4527 12.5878C11.2753 12.7652 11.0347 12.8649 10.7838 12.8649Z","fill","currentColor"]],template:function(ne,ue){1&ne&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ne&&(e.HbH(ue.getClassNames()),e.BMQ("aria-label",ue.ariaLabel)("aria-hidden",ue.ariaHidden)("role",ue.role))},encapsulation:2})}return xe})();const F=["container"],L=["inputfield"],D=["contentWrapper"],I=[[["p-header"]],[["p-footer"]]],E=["p-header","p-footer"],_=(xe,tt,u,ne,ue)=>({"p-calendar":!0,"p-input-icon-right":xe,"p-calendar-w-btn":tt,"p-calendar-timeonly":u,"p-calendar-disabled":ne,"p-focus":ue}),b=xe=>({clickCallBack:xe}),T=xe=>({"p-datepicker-icon":xe}),z=(xe,tt,u,ne,ue,Ie)=>({"p-datepicker p-component":!0,"p-datepicker-inline":xe,"p-disabled":tt,"p-datepicker-timeonly":u,"p-datepicker-multiple-month":ne,"p-datepicker-monthpicker":ue,"p-datepicker-touch-ui":Ie}),O=(xe,tt)=>({showTransitionParams:xe,hideTransitionParams:tt}),f=xe=>({value:"visibleTouchUI",params:xe}),a=xe=>({value:"visible",params:xe}),g=xe=>({$implicit:xe}),y=(xe,tt)=>({"p-datepicker-other-month":xe,"p-datepicker-today":tt}),o=(xe,tt)=>({"p-highlight":xe,"p-disabled":tt}),n=xe=>[xe];function r(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"TimesIcon",11),e.bIt("click",function(){e.eBV(u);const ue=e.XpG(3);return e.Njj(ue.clear())}),e.k0s()}2&xe&&e.Y8G("styleClass","p-calendar-clear-icon")}function l(xe,tt){}function d(xe,tt){1&xe&&e.DNE(0,l,0,0,"ng-template")}function C(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"span",12),e.bIt("click",function(){e.eBV(u);const ue=e.XpG(3);return e.Njj(ue.clear())}),e.DNE(1,d,1,0,null,13),e.k0s()}if(2&xe){const u=e.XpG(3);e.R7$(),e.Y8G("ngTemplateOutlet",u.clearIconTemplate)}}function k(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,r,1,1,"TimesIcon",9)(2,C,2,1,"span",10),e.bVm()),2&xe){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.clearIconTemplate),e.R7$(),e.Y8G("ngIf",u.clearIconTemplate)}}function p(xe,tt){if(1&xe&&e.nrm(0,"span",16),2&xe){const u=e.XpG(3);e.Y8G("ngClass",u.icon)}}function S(xe,tt){1&xe&&e.nrm(0,"CalendarIcon")}function j(xe,tt){}function H(xe,tt){1&xe&&e.DNE(0,j,0,0,"ng-template")}function Y(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,S,1,0,"CalendarIcon",7)(2,H,1,0,null,13),e.bVm()),2&xe){const u=e.XpG(3);e.R7$(),e.Y8G("ngIf",!u.triggerIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.triggerIconTemplate)}}function U(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"button",14),e.bIt("click",function(ue){e.eBV(u),e.XpG();const Ie=e.sdS(1),nt=e.XpG();return e.Njj(nt.onButtonClick(ue,Ie))}),e.DNE(1,p,1,1,"span",15)(2,Y,3,2,"ng-container",7),e.k0s()}if(2&xe){let u;const ne=e.XpG(2);e.Y8G("disabled",ne.disabled),e.BMQ("aria-label",ne.iconButtonAriaLabel)("aria-expanded",null!==(u=ne.overlayVisible)&&void 0!==u&&u)("aria-controls",ne.overlayVisible?ne.panelId:null),e.R7$(),e.Y8G("ngIf",ne.icon),e.R7$(),e.Y8G("ngIf",!ne.icon)}}function se(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"CalendarIcon",19),e.bIt("click",function(ue){e.eBV(u);const Ie=e.XpG(3);return e.Njj(Ie.onButtonClick(ue))}),e.k0s()}if(2&xe){const u=e.XpG(3);e.Y8G("ngClass",e.eq3(1,T,u.showOnFocus))}}function w(xe,tt){1&xe&&e.eu8(0)}function X(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,se,1,3,"CalendarIcon",17)(2,w,1,0,"ng-container",18),e.bVm()),2&xe){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.inputIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.inputIconTemplate)("ngTemplateOutletContext",e.eq3(3,b,u.onButtonClick.bind(u)))}}function G(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"input",6,1),e.bIt("focus",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onInputFocus(ue))})("keydown",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onInputKeydown(ue))})("click",function(){e.eBV(u);const ue=e.XpG();return e.Njj(ue.onInputClick())})("blur",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onInputBlur(ue))})("input",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onUserInput(ue))}),e.k0s(),e.DNE(2,k,3,2,"ng-container",7)(3,U,3,6,"button",8)(4,X,3,5,"ng-container",7)}if(2&xe){let u;const ne=e.XpG();e.HbH(ne.inputStyleClass),e.Y8G("value",ne.inputFieldValue)("readonly",ne.readonlyInput)("ngStyle",ne.inputStyle)("placeholder",ne.placeholder||"")("disabled",ne.disabled)("ngClass","p-inputtext p-component"),e.BMQ("id",ne.inputId)("name",ne.name)("required",ne.required)("aria-required",ne.required)("aria-expanded",null!==(u=ne.overlayVisible)&&void 0!==u&&u)("aria-controls",ne.overlayVisible?ne.panelId:null)("aria-labelledby",ne.ariaLabelledBy)("aria-label",ne.ariaLabel)("tabindex",ne.tabindex)("inputmode",ne.touchUI?"off":null),e.R7$(2),e.Y8G("ngIf",ne.showClear&&!ne.disabled&&null!=ne.value),e.R7$(),e.Y8G("ngIf",ne.showIcon&&"button"===ne.iconDisplay),e.R7$(),e.Y8G("ngIf","input"===ne.iconDisplay&&ne.showIcon)}}function x(xe,tt){1&xe&&e.eu8(0)}function N(xe,tt){1&xe&&e.nrm(0,"ChevronLeftIcon",40),2&xe&&e.Y8G("styleClass","p-datepicker-prev-icon")}function R(xe,tt){}function K(xe,tt){1&xe&&e.DNE(0,R,0,0,"ng-template")}function q(xe,tt){if(1&xe&&(e.j41(0,"span",41),e.DNE(1,K,1,0,null,13),e.k0s()),2&xe){const u=e.XpG(5);e.R7$(),e.Y8G("ngTemplateOutlet",u.previousIconTemplate)}}function he(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"button",38),e.bIt("keydown",function(ue){e.eBV(u);const Ie=e.XpG(4);return e.Njj(Ie.onContainerButtonKeydown(ue))})("click",function(ue){e.eBV(u);const Ie=e.XpG(4);return e.Njj(Ie.onPrevButtonClick(ue))}),e.DNE(1,N,1,1,"ChevronLeftIcon",35)(2,q,2,1,"span",39),e.k0s()}if(2&xe){const u=e.XpG(4);e.BMQ("aria-label",u.prevIconAriaLabel),e.R7$(),e.Y8G("ngIf",!u.previousIconTemplate),e.R7$(),e.Y8G("ngIf",u.previousIconTemplate)}}function me(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"button",42),e.bIt("click",function(ue){e.eBV(u);const Ie=e.XpG(4);return e.Njj(Ie.switchToMonthView(ue))})("keydown",function(ue){e.eBV(u);const Ie=e.XpG(4);return e.Njj(Ie.onContainerButtonKeydown(ue))}),e.EFF(1),e.k0s()}if(2&xe){const u=e.XpG().$implicit,ne=e.XpG(3);e.Y8G("disabled",ne.switchViewButtonDisabled()),e.BMQ("aria-label",ne.getTranslation("chooseMonth")),e.R7$(),e.SpI(" ",ne.getMonthName(u.month)," ")}}function Ce(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"button",43),e.bIt("click",function(ue){e.eBV(u);const Ie=e.XpG(4);return e.Njj(Ie.switchToYearView(ue))})("keydown",function(ue){e.eBV(u);const Ie=e.XpG(4);return e.Njj(Ie.onContainerButtonKeydown(ue))}),e.EFF(1),e.k0s()}if(2&xe){const u=e.XpG().$implicit,ne=e.XpG(3);e.Y8G("disabled",ne.switchViewButtonDisabled()),e.BMQ("aria-label",ne.getTranslation("chooseYear")),e.R7$(),e.SpI(" ",ne.getYear(u)," ")}}function Se(xe,tt){if(1&xe&&(e.qex(0),e.EFF(1),e.bVm()),2&xe){const u=e.XpG(5);e.R7$(),e.Lme("",u.yearPickerValues()[0]," - ",u.yearPickerValues()[u.yearPickerValues().length-1],"")}}function Oe(xe,tt){1&xe&&e.eu8(0)}function Ae(xe,tt){if(1&xe&&(e.j41(0,"span",44),e.DNE(1,Se,2,2,"ng-container",7)(2,Oe,1,0,"ng-container",18),e.k0s()),2&xe){const u=e.XpG(4);e.R7$(),e.Y8G("ngIf",!u.decadeTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decadeTemplate)("ngTemplateOutletContext",e.eq3(3,g,u.yearPickerValues))}}function Fe(xe,tt){1&xe&&e.nrm(0,"ChevronRightIcon",40),2&xe&&e.Y8G("styleClass","p-datepicker-next-icon")}function oe(xe,tt){}function ee(xe,tt){1&xe&&e.DNE(0,oe,0,0,"ng-template")}function de(xe,tt){if(1&xe&&(e.j41(0,"span",45),e.DNE(1,ee,1,0,null,13),e.k0s()),2&xe){const u=e.XpG(4);e.R7$(),e.Y8G("ngTemplateOutlet",u.nextIconTemplate)}}function ye(xe,tt){if(1&xe&&(e.j41(0,"th",51)(1,"span"),e.EFF(2),e.k0s()()),2&xe){const u=e.XpG(5);e.R7$(2),e.JRh(u.getTranslation("weekHeader"))}}function Te(xe,tt){if(1&xe&&(e.j41(0,"th",52)(1,"span"),e.EFF(2),e.k0s()()),2&xe){const u=tt.$implicit;e.R7$(2),e.JRh(u)}}function _e(xe,tt){if(1&xe&&(e.j41(0,"td",55)(1,"span",56),e.EFF(2),e.k0s()()),2&xe){const u=e.XpG().index,ne=e.XpG(2).$implicit;e.R7$(2),e.SpI(" ",ne.weekNumbers[u]," ")}}function Me(xe,tt){if(1&xe&&(e.qex(0),e.EFF(1),e.bVm()),2&xe){const u=e.XpG(2).$implicit;e.R7$(),e.JRh(u.day)}}function Ee(xe,tt){1&xe&&e.eu8(0)}function Xe(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,Ee,1,0,"ng-container",18),e.bVm()),2&xe){const u=e.XpG(2).$implicit,ne=e.XpG(6);e.R7$(),e.Y8G("ngTemplateOutlet",ne.dateTemplate)("ngTemplateOutletContext",e.eq3(2,g,u))}}function Ze(xe,tt){1&xe&&e.eu8(0)}function lt(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,Ze,1,0,"ng-container",18),e.bVm()),2&xe){const u=e.XpG(2).$implicit,ne=e.XpG(6);e.R7$(),e.Y8G("ngTemplateOutlet",ne.disabledDateTemplate)("ngTemplateOutletContext",e.eq3(2,g,u))}}function Qe(xe,tt){if(1&xe&&(e.j41(0,"div",59),e.EFF(1),e.k0s()),2&xe){const u=e.XpG(2).$implicit;e.R7$(),e.SpI(" ",u.day," ")}}function st(xe,tt){if(1&xe){const u=e.RV6();e.qex(0),e.j41(1,"span",57),e.bIt("click",function(ue){e.eBV(u);const Ie=e.XpG().$implicit,nt=e.XpG(6);return e.Njj(nt.onDateSelect(ue,Ie))})("keydown",function(ue){e.eBV(u);const Ie=e.XpG().$implicit,nt=e.XpG(3).index,Tt=e.XpG(3);return e.Njj(Tt.onDateCellKeydown(ue,Ie,nt))}),e.DNE(2,Me,2,1,"ng-container",7)(3,Xe,2,4,"ng-container",7)(4,lt,2,4,"ng-container",7),e.k0s(),e.DNE(5,Qe,2,1,"div",58),e.bVm()}if(2&xe){const u=e.XpG().$implicit,ne=e.XpG(6);e.R7$(),e.Y8G("ngClass",e.l_i(5,o,ne.isSelected(u)&&u.selectable,!u.selectable)),e.R7$(),e.Y8G("ngIf",!ne.dateTemplate&&(u.selectable||!ne.disabledDateTemplate)),e.R7$(),e.Y8G("ngIf",u.selectable||!ne.disabledDateTemplate),e.R7$(),e.Y8G("ngIf",!u.selectable),e.R7$(),e.Y8G("ngIf",ne.isSelected(u))}}function kt(xe,tt){if(1&xe&&(e.j41(0,"td",16),e.DNE(1,st,6,8,"ng-container",7),e.k0s()),2&xe){const u=tt.$implicit,ne=e.XpG(6);e.Y8G("ngClass",e.l_i(3,y,u.otherMonth,u.today)),e.BMQ("aria-label",u.day),e.R7$(),e.Y8G("ngIf",!u.otherMonth||ne.showOtherMonths)}}function pt(xe,tt){if(1&xe&&(e.j41(0,"tr"),e.DNE(1,_e,3,1,"td",53)(2,kt,2,6,"td",54),e.k0s()),2&xe){const u=tt.$implicit,ne=e.XpG(5);e.R7$(),e.Y8G("ngIf",ne.showWeek),e.R7$(),e.Y8G("ngForOf",u)}}function ht(xe,tt){if(1&xe&&(e.j41(0,"div",46)(1,"table",47)(2,"thead")(3,"tr"),e.DNE(4,ye,3,1,"th",48)(5,Te,3,1,"th",49),e.k0s()(),e.j41(6,"tbody"),e.DNE(7,pt,3,2,"tr",50),e.k0s()()()),2&xe){const u=e.XpG().$implicit,ne=e.XpG(3);e.R7$(4),e.Y8G("ngIf",ne.showWeek),e.R7$(),e.Y8G("ngForOf",ne.weekDays),e.R7$(2),e.Y8G("ngForOf",u.dates)}}function Lt(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"div",27)(1,"div",28),e.DNE(2,he,3,3,"button",29),e.j41(3,"div",30),e.DNE(4,me,2,3,"button",31)(5,Ce,2,3,"button",32)(6,Ae,3,5,"span",33),e.k0s(),e.j41(7,"button",34),e.bIt("keydown",function(ue){e.eBV(u);const Ie=e.XpG(3);return e.Njj(Ie.onContainerButtonKeydown(ue))})("click",function(ue){e.eBV(u);const Ie=e.XpG(3);return e.Njj(Ie.onNextButtonClick(ue))}),e.DNE(8,Fe,1,1,"ChevronRightIcon",35)(9,de,2,1,"span",36),e.k0s()(),e.DNE(10,ht,8,3,"div",37),e.k0s()}if(2&xe){const u=tt.index,ne=e.XpG(3);e.R7$(2),e.Y8G("ngIf",0===u),e.R7$(2),e.Y8G("ngIf","date"===ne.currentView),e.R7$(),e.Y8G("ngIf","year"!==ne.currentView),e.R7$(),e.Y8G("ngIf","year"===ne.currentView),e.R7$(),e.xc7("display",1===ne.numberOfMonths||u===ne.numberOfMonths-1?"inline-flex":"none"),e.BMQ("aria-label",ne.nextIconAriaLabel),e.R7$(),e.Y8G("ngIf",!ne.nextIconTemplate),e.R7$(),e.Y8G("ngIf",ne.nextIconTemplate),e.R7$(),e.Y8G("ngIf","date"===ne.currentView)}}function Gt(xe,tt){if(1&xe&&(e.j41(0,"div",59),e.EFF(1),e.k0s()),2&xe){const u=e.XpG().$implicit;e.R7$(),e.SpI(" ",u," ")}}function ti(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"span",62),e.bIt("click",function(ue){const Ie=e.eBV(u).index,nt=e.XpG(4);return e.Njj(nt.onMonthSelect(ue,Ie))})("keydown",function(ue){const Ie=e.eBV(u).index,nt=e.XpG(4);return e.Njj(nt.onMonthCellKeydown(ue,Ie))}),e.EFF(1),e.DNE(2,Gt,2,1,"div",58),e.k0s()}if(2&xe){const u=tt.$implicit,ne=tt.index,ue=e.XpG(4);e.Y8G("ngClass",e.l_i(3,o,ue.isMonthSelected(ne),ue.isMonthDisabled(ne))),e.R7$(),e.SpI(" ",u," "),e.R7$(),e.Y8G("ngIf",ue.isMonthSelected(ne))}}function Dt(xe,tt){if(1&xe&&(e.j41(0,"div",60),e.DNE(1,ti,3,6,"span",61),e.k0s()),2&xe){const u=e.XpG(3);e.R7$(),e.Y8G("ngForOf",u.monthPickerValues())}}function At(xe,tt){if(1&xe&&(e.j41(0,"div",59),e.EFF(1),e.k0s()),2&xe){const u=e.XpG().$implicit;e.R7$(),e.SpI(" ",u," ")}}function _t(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"span",65),e.bIt("click",function(ue){const Ie=e.eBV(u).$implicit,nt=e.XpG(4);return e.Njj(nt.onYearSelect(ue,Ie))})("keydown",function(ue){const Ie=e.eBV(u).$implicit,nt=e.XpG(4);return e.Njj(nt.onYearCellKeydown(ue,Ie))}),e.EFF(1),e.DNE(2,At,2,1,"div",58),e.k0s()}if(2&xe){const u=tt.$implicit,ne=e.XpG(4);e.Y8G("ngClass",e.l_i(3,o,ne.isYearSelected(u),ne.isYearDisabled(u))),e.R7$(),e.SpI(" ",u," "),e.R7$(),e.Y8G("ngIf",ne.isYearSelected(u))}}function wt(xe,tt){if(1&xe&&(e.j41(0,"div",63),e.DNE(1,_t,3,6,"span",64),e.k0s()),2&xe){const u=e.XpG(3);e.R7$(),e.Y8G("ngForOf",u.yearPickerValues())}}function Qt(xe,tt){if(1&xe&&(e.qex(0),e.j41(1,"div",23),e.DNE(2,Lt,11,10,"div",24),e.k0s(),e.DNE(3,Dt,2,1,"div",25)(4,wt,2,1,"div",26),e.bVm()),2&xe){const u=e.XpG(2);e.R7$(2),e.Y8G("ngForOf",u.months),e.R7$(),e.Y8G("ngIf","month"===u.currentView),e.R7$(),e.Y8G("ngIf","year"===u.currentView)}}function di(xe,tt){1&xe&&e.nrm(0,"ChevronUpIcon")}function Fi(xe,tt){}function mi(xe,tt){1&xe&&e.DNE(0,Fi,0,0,"ng-template")}function vi(xe,tt){1&xe&&(e.qex(0),e.EFF(1,"0"),e.bVm())}function Gi(xe,tt){1&xe&&e.nrm(0,"ChevronDownIcon")}function xs(xe,tt){}function jn(xe,tt){1&xe&&e.DNE(0,xs,0,0,"ng-template")}function ls(xe,tt){1&xe&&e.nrm(0,"ChevronUpIcon")}function fs(xe,tt){}function Gn(xe,tt){1&xe&&e.DNE(0,fs,0,0,"ng-template")}function dn(xe,tt){1&xe&&(e.qex(0),e.EFF(1,"0"),e.bVm())}function Mi(xe,tt){1&xe&&e.nrm(0,"ChevronDownIcon")}function _s(xe,tt){}function On(xe,tt){1&xe&&e.DNE(0,_s,0,0,"ng-template")}function Pn(xe,tt){if(1&xe&&(e.j41(0,"div",69)(1,"span"),e.EFF(2),e.k0s()()),2&xe){const u=e.XpG(3);e.R7$(2),e.JRh(u.timeSeparator)}}function As(xe,tt){1&xe&&e.nrm(0,"ChevronUpIcon")}function $n(xe,tt){}function $i(xe,tt){1&xe&&e.DNE(0,$n,0,0,"ng-template")}function Cs(xe,tt){1&xe&&(e.qex(0),e.EFF(1,"0"),e.bVm())}function Mn(xe,tt){1&xe&&e.nrm(0,"ChevronDownIcon")}function Br(xe,tt){}function mo(xe,tt){1&xe&&e.DNE(0,Br,0,0,"ng-template")}function Kr(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"div",74)(1,"button",68),e.bIt("keydown",function(ue){e.eBV(u);const Ie=e.XpG(3);return e.Njj(Ie.onContainerButtonKeydown(ue))})("keydown.enter",function(ue){e.eBV(u);const Ie=e.XpG(3);return e.Njj(Ie.incrementSecond(ue))})("keydown.space",function(ue){e.eBV(u);const Ie=e.XpG(3);return e.Njj(Ie.incrementSecond(ue))})("mousedown",function(ue){e.eBV(u);const Ie=e.XpG(3);return e.Njj(Ie.onTimePickerElementMouseDown(ue,2,1))})("mouseup",function(ue){e.eBV(u);const Ie=e.XpG(3);return e.Njj(Ie.onTimePickerElementMouseUp(ue))})("keyup.enter",function(ue){e.eBV(u);const Ie=e.XpG(3);return e.Njj(Ie.onTimePickerElementMouseUp(ue))})("keyup.space",function(ue){e.eBV(u);const Ie=e.XpG(3);return e.Njj(Ie.onTimePickerElementMouseUp(ue))})("mouseleave",function(){e.eBV(u);const ue=e.XpG(3);return e.Njj(ue.onTimePickerElementMouseLeave())}),e.DNE(2,As,1,0,"ChevronUpIcon",7)(3,$i,1,0,null,13),e.k0s(),e.j41(4,"span"),e.DNE(5,Cs,2,0,"ng-container",7),e.EFF(6),e.k0s(),e.j41(7,"button",68),e.bIt("keydown",function(ue){e.eBV(u);const Ie=e.XpG(3);return e.Njj(Ie.onContainerButtonKeydown(ue))})("keydown.enter",function(ue){e.eBV(u);const Ie=e.XpG(3);return e.Njj(Ie.decrementSecond(ue))})("keydown.space",function(ue){e.eBV(u);const Ie=e.XpG(3);return e.Njj(Ie.decrementSecond(ue))})("mousedown",function(ue){e.eBV(u);const Ie=e.XpG(3);return e.Njj(Ie.onTimePickerElementMouseDown(ue,2,-1))})("mouseup",function(ue){e.eBV(u);const Ie=e.XpG(3);return e.Njj(Ie.onTimePickerElementMouseUp(ue))})("keyup.enter",function(ue){e.eBV(u);const Ie=e.XpG(3);return e.Njj(Ie.onTimePickerElementMouseUp(ue))})("keyup.space",function(ue){e.eBV(u);const Ie=e.XpG(3);return e.Njj(Ie.onTimePickerElementMouseUp(ue))})("mouseleave",function(){e.eBV(u);const ue=e.XpG(3);return e.Njj(ue.onTimePickerElementMouseLeave())}),e.DNE(8,Mn,1,0,"ChevronDownIcon",7)(9,mo,1,0,null,13),e.k0s()()}if(2&xe){const u=e.XpG(3);e.R7$(),e.BMQ("aria-label",u.getTranslation("nextSecond")),e.R7$(),e.Y8G("ngIf",!u.incrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.incrementIconTemplate),e.R7$(2),e.Y8G("ngIf",u.currentSecond<10),e.R7$(),e.JRh(u.currentSecond),e.R7$(),e.BMQ("aria-label",u.getTranslation("prevSecond")),e.R7$(),e.Y8G("ngIf",!u.decrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decrementIconTemplate)}}function nr(xe,tt){1&xe&&e.nrm(0,"ChevronUpIcon")}function St(xe,tt){}function Rt(xe,tt){1&xe&&e.DNE(0,St,0,0,"ng-template")}function Nt(xe,tt){1&xe&&e.nrm(0,"ChevronDownIcon")}function bt(xe,tt){}function xt(xe,tt){1&xe&&e.DNE(0,bt,0,0,"ng-template")}function $e(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"div",75)(1,"button",76),e.bIt("keydown",function(ue){e.eBV(u);const Ie=e.XpG(3);return e.Njj(Ie.onContainerButtonKeydown(ue))})("click",function(ue){e.eBV(u);const Ie=e.XpG(3);return e.Njj(Ie.toggleAMPM(ue))})("keydown.enter",function(ue){e.eBV(u);const Ie=e.XpG(3);return e.Njj(Ie.toggleAMPM(ue))}),e.DNE(2,nr,1,0,"ChevronUpIcon",7)(3,Rt,1,0,null,13),e.k0s(),e.j41(4,"span"),e.EFF(5),e.k0s(),e.j41(6,"button",76),e.bIt("keydown",function(ue){e.eBV(u);const Ie=e.XpG(3);return e.Njj(Ie.onContainerButtonKeydown(ue))})("click",function(ue){e.eBV(u);const Ie=e.XpG(3);return e.Njj(Ie.toggleAMPM(ue))})("keydown.enter",function(ue){e.eBV(u);const Ie=e.XpG(3);return e.Njj(Ie.toggleAMPM(ue))}),e.DNE(7,Nt,1,0,"ChevronDownIcon",7)(8,xt,1,0,null,13),e.k0s()()}if(2&xe){const u=e.XpG(3);e.R7$(),e.BMQ("aria-label",u.getTranslation("am")),e.R7$(),e.Y8G("ngIf",!u.incrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.incrementIconTemplate),e.R7$(2),e.JRh(u.pm?"PM":"AM"),e.R7$(),e.BMQ("aria-label",u.getTranslation("pm")),e.R7$(),e.Y8G("ngIf",!u.decrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decrementIconTemplate)}}function yt(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"div",66)(1,"div",67)(2,"button",68),e.bIt("keydown",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onContainerButtonKeydown(ue))})("keydown.enter",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.incrementHour(ue))})("keydown.space",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.incrementHour(ue))})("mousedown",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onTimePickerElementMouseDown(ue,0,1))})("mouseup",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onTimePickerElementMouseUp(ue))})("keyup.enter",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onTimePickerElementMouseUp(ue))})("keyup.space",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onTimePickerElementMouseUp(ue))})("mouseleave",function(){e.eBV(u);const ue=e.XpG(2);return e.Njj(ue.onTimePickerElementMouseLeave())}),e.DNE(3,di,1,0,"ChevronUpIcon",7)(4,mi,1,0,null,13),e.k0s(),e.j41(5,"span"),e.DNE(6,vi,2,0,"ng-container",7),e.EFF(7),e.k0s(),e.j41(8,"button",68),e.bIt("keydown",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onContainerButtonKeydown(ue))})("keydown.enter",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.decrementHour(ue))})("keydown.space",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.decrementHour(ue))})("mousedown",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onTimePickerElementMouseDown(ue,0,-1))})("mouseup",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onTimePickerElementMouseUp(ue))})("keyup.enter",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onTimePickerElementMouseUp(ue))})("keyup.space",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onTimePickerElementMouseUp(ue))})("mouseleave",function(){e.eBV(u);const ue=e.XpG(2);return e.Njj(ue.onTimePickerElementMouseLeave())}),e.DNE(9,Gi,1,0,"ChevronDownIcon",7)(10,jn,1,0,null,13),e.k0s()(),e.j41(11,"div",69)(12,"span"),e.EFF(13),e.k0s()(),e.j41(14,"div",70)(15,"button",68),e.bIt("keydown",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onContainerButtonKeydown(ue))})("keydown.enter",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.incrementMinute(ue))})("keydown.space",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.incrementMinute(ue))})("mousedown",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onTimePickerElementMouseDown(ue,1,1))})("mouseup",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onTimePickerElementMouseUp(ue))})("keyup.enter",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onTimePickerElementMouseUp(ue))})("keyup.space",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onTimePickerElementMouseUp(ue))})("mouseleave",function(){e.eBV(u);const ue=e.XpG(2);return e.Njj(ue.onTimePickerElementMouseLeave())}),e.DNE(16,ls,1,0,"ChevronUpIcon",7)(17,Gn,1,0,null,13),e.k0s(),e.j41(18,"span"),e.DNE(19,dn,2,0,"ng-container",7),e.EFF(20),e.k0s(),e.j41(21,"button",68),e.bIt("keydown",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onContainerButtonKeydown(ue))})("keydown.enter",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.decrementMinute(ue))})("keydown.space",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.decrementMinute(ue))})("mousedown",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onTimePickerElementMouseDown(ue,1,-1))})("mouseup",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onTimePickerElementMouseUp(ue))})("keyup.enter",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onTimePickerElementMouseUp(ue))})("keyup.space",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onTimePickerElementMouseUp(ue))})("mouseleave",function(){e.eBV(u);const ue=e.XpG(2);return e.Njj(ue.onTimePickerElementMouseLeave())}),e.DNE(22,Mi,1,0,"ChevronDownIcon",7)(23,On,1,0,null,13),e.k0s()(),e.DNE(24,Pn,3,1,"div",71)(25,Kr,10,8,"div",72)(26,$e,9,7,"div",73),e.k0s()}if(2&xe){const u=e.XpG(2);e.R7$(2),e.BMQ("aria-label",u.getTranslation("nextHour")),e.R7$(),e.Y8G("ngIf",!u.incrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.incrementIconTemplate),e.R7$(2),e.Y8G("ngIf",u.currentHour<10),e.R7$(),e.JRh(u.currentHour),e.R7$(),e.BMQ("aria-label",u.getTranslation("prevHour")),e.R7$(),e.Y8G("ngIf",!u.decrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decrementIconTemplate),e.R7$(3),e.JRh(u.timeSeparator),e.R7$(2),e.BMQ("aria-label",u.getTranslation("nextMinute")),e.R7$(),e.Y8G("ngIf",!u.incrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.incrementIconTemplate),e.R7$(2),e.Y8G("ngIf",u.currentMinute<10),e.R7$(),e.JRh(u.currentMinute),e.R7$(),e.BMQ("aria-label",u.getTranslation("prevMinute")),e.R7$(),e.Y8G("ngIf",!u.decrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decrementIconTemplate),e.R7$(),e.Y8G("ngIf",u.showSeconds),e.R7$(),e.Y8G("ngIf",u.showSeconds),e.R7$(),e.Y8G("ngIf","12"==u.hourFormat)}}function It(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"div",77)(1,"button",78),e.bIt("keydown",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onContainerButtonKeydown(ue))})("click",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onTodayButtonClick(ue))}),e.k0s(),e.j41(2,"button",78),e.bIt("keydown",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onContainerButtonKeydown(ue))})("click",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onClearButtonClick(ue))}),e.k0s()()}if(2&xe){const u=e.XpG(2);e.R7$(),e.Y8G("label",u.getTranslation("today"))("ngClass",e.eq3(4,n,u.todayButtonStyleClass)),e.R7$(),e.Y8G("label",u.getTranslation("clear"))("ngClass",e.eq3(6,n,u.clearButtonStyleClass))}}function $t(xe,tt){1&xe&&e.eu8(0)}function si(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"div",20,2),e.bIt("@overlayAnimation.start",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onOverlayAnimationStart(ue))})("@overlayAnimation.done",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onOverlayAnimationDone(ue))})("click",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onOverlayClick(ue))}),e.SdG(2),e.DNE(3,x,1,0,"ng-container",13)(4,Qt,5,3,"ng-container",7)(5,yt,27,20,"div",21)(6,It,3,8,"div",22),e.SdG(7,1),e.DNE(8,$t,1,0,"ng-container",13),e.k0s()}if(2&xe){const u=e.XpG();e.HbH(u.panelStyleClass),e.Y8G("ngStyle",u.panelStyle)("ngClass",e.l4e(14,z,u.inline,u.disabled,u.timeOnly,u.numberOfMonths>1,"month"===u.view,u.touchUI))("@overlayAnimation",u.touchUI?e.eq3(24,f,e.l_i(21,O,u.showTransitionOptions,u.hideTransitionOptions)):e.eq3(29,a,e.l_i(26,O,u.showTransitionOptions,u.hideTransitionOptions)))("@.disabled",!0===u.inline),e.BMQ("aria-label",u.getTranslation("chooseDate"))("role",u.inline?null:"dialog")("aria-modal",u.inline?null:"true"),e.R7$(3),e.Y8G("ngTemplateOutlet",u.headerTemplate),e.R7$(),e.Y8G("ngIf",!u.timeOnly),e.R7$(),e.Y8G("ngIf",(u.showTime||u.timeOnly)&&"date"===u.currentView),e.R7$(),e.Y8G("ngIf",u.showButtonBar),e.R7$(2),e.Y8G("ngTemplateOutlet",u.footerTemplate)}}const Ti={provide:V.kq,useExisting:(0,e.Rfq)(()=>Si),multi:!0};let Si=(()=>{class xe{document;el;renderer;cd;zone;config;overlayService;iconDisplay="button";style;styleClass;inputStyle;inputId;name;inputStyleClass;placeholder;ariaLabelledBy;ariaLabel;iconAriaLabel;disabled;dateFormat;multipleSeparator=",";rangeSeparator="-";inline=!1;showOtherMonths=!0;selectOtherMonths;showIcon;icon;appendTo;readonlyInput;shortYearCutoff="+10";monthNavigator;yearNavigator;hourFormat="24";timeOnly;stepHour=1;stepMinute=1;stepSecond=1;showSeconds=!1;required;showOnFocus=!0;showWeek=!1;showClear=!1;dataType="date";selectionMode="single";maxDateCount;showButtonBar;todayButtonStyleClass="p-button-text";clearButtonStyleClass="p-button-text";autoZIndex=!0;baseZIndex=0;panelStyleClass;panelStyle;keepInvalid=!1;hideOnDateTimeSelect=!0;touchUI;timeSeparator=":";focusTrap=!0;showTransitionOptions=".12s cubic-bezier(0, 0, 0.2, 1)";hideTransitionOptions=".1s linear";tabindex;get minDate(){return this._minDate}set minDate(u){this._minDate=u,null!=this.currentMonth&&null!=this.currentMonth&&this.currentYear&&this.createMonths(this.currentMonth,this.currentYear)}get maxDate(){return this._maxDate}set maxDate(u){this._maxDate=u,null!=this.currentMonth&&null!=this.currentMonth&&this.currentYear&&this.createMonths(this.currentMonth,this.currentYear)}get disabledDates(){return this._disabledDates}set disabledDates(u){this._disabledDates=u,null!=this.currentMonth&&null!=this.currentMonth&&this.currentYear&&this.createMonths(this.currentMonth,this.currentYear)}get disabledDays(){return this._disabledDays}set disabledDays(u){this._disabledDays=u,null!=this.currentMonth&&null!=this.currentMonth&&this.currentYear&&this.createMonths(this.currentMonth,this.currentYear)}get yearRange(){return this._yearRange}set yearRange(u){if(this._yearRange=u,u){const ne=u.split(":"),ue=parseInt(ne[0]),Ie=parseInt(ne[1]);this.populateYearOptions(ue,Ie)}}get showTime(){return this._showTime}set showTime(u){this._showTime=u,void 0===this.currentHour&&this.initTime(this.value||new Date),this.updateInputfield()}get responsiveOptions(){return this._responsiveOptions}set responsiveOptions(u){this._responsiveOptions=u,this.destroyResponsiveStyleElement(),this.createResponsiveStyle()}get numberOfMonths(){return this._numberOfMonths}set numberOfMonths(u){this._numberOfMonths=u,this.destroyResponsiveStyleElement(),this.createResponsiveStyle()}get firstDayOfWeek(){return this._firstDayOfWeek}set firstDayOfWeek(u){this._firstDayOfWeek=u,this.createWeekDays()}set locale(u){console.warn("Locale property has no effect, use new i18n API instead.")}get view(){return this._view}set view(u){this._view=u,this.currentView=this._view}get defaultDate(){return this._defaultDate}set defaultDate(u){if(this._defaultDate=u,this.initialized){const ne=u||new Date;this.currentMonth=ne.getMonth(),this.currentYear=ne.getFullYear(),this.initTime(ne),this.createMonths(this.currentMonth,this.currentYear)}}onFocus=new e.bkB;onBlur=new e.bkB;onClose=new e.bkB;onSelect=new e.bkB;onClear=new e.bkB;onInput=new e.bkB;onTodayClick=new e.bkB;onClearClick=new e.bkB;onMonthChange=new e.bkB;onYearChange=new e.bkB;onClickOutside=new e.bkB;onShow=new e.bkB;templates;containerViewChild;inputfieldViewChild;set content(u){this.contentViewChild=u,this.contentViewChild&&(this.isMonthNavigate?(Promise.resolve(null).then(()=>this.updateFocus()),this.isMonthNavigate=!1):!this.focus&&!this.inline&&this.initFocusableCell())}contentViewChild;value;dates;months;weekDays;currentMonth;currentYear;currentHour;currentMinute;currentSecond;pm;mask;maskClickListener;overlay;responsiveStyleElement;overlayVisible;onModelChange=()=>{};onModelTouched=()=>{};calendarElement;timePickerTimer;documentClickListener;animationEndListener;ticksTo1970;yearOptions;focus;isKeydown;filled;inputFieldValue=null;_minDate;_maxDate;_showTime;_yearRange;preventDocumentListener;dateTemplate;headerTemplate;footerTemplate;disabledDateTemplate;decadeTemplate;previousIconTemplate;nextIconTemplate;triggerIconTemplate;clearIconTemplate;decrementIconTemplate;incrementIconTemplate;inputIconTemplate;_disabledDates;_disabledDays;selectElement;todayElement;focusElement;scrollHandler;documentResizeListener;navigationState=null;isMonthNavigate;initialized;translationSubscription;_locale;_responsiveOptions;currentView;attributeSelector;panelId;_numberOfMonths=1;_firstDayOfWeek;_view="date";preventFocus;_defaultDate;window;get locale(){return this._locale}get iconButtonAriaLabel(){return this.iconAriaLabel?this.iconAriaLabel:this.getTranslation("chooseDate")}get prevIconAriaLabel(){return this.getTranslation("year"===this.currentView?"prevDecade":"month"===this.currentView?"prevYear":"prevMonth")}get nextIconAriaLabel(){return this.getTranslation("year"===this.currentView?"nextDecade":"month"===this.currentView?"nextYear":"nextMonth")}constructor(u,ne,ue,Ie,nt,Tt,zt){this.document=u,this.el=ne,this.renderer=ue,this.cd=Ie,this.zone=nt,this.config=Tt,this.overlayService=zt,this.window=this.document.defaultView}ngOnInit(){this.attributeSelector=(0,le._Y)(),this.panelId=this.attributeSelector+"_panel";const u=this.defaultDate||new Date;this.createResponsiveStyle(),this.currentMonth=u.getMonth(),this.currentYear=u.getFullYear(),this.yearOptions=[],this.currentView=this.view,"date"===this.view&&(this.createWeekDays(),this.initTime(u),this.createMonths(this.currentMonth,this.currentYear),this.ticksTo1970=24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*60*60*1e7),this.translationSubscription=this.config.translationObserver.subscribe(()=>{this.createWeekDays(),this.cd.markForCheck()}),this.initialized=!0}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"date":default:this.dateTemplate=u.template;break;case"decade":this.decadeTemplate=u.template;break;case"disabledDate":this.disabledDateTemplate=u.template;break;case"header":this.headerTemplate=u.template;break;case"inputicon":this.inputIconTemplate=u.template;break;case"previousicon":this.previousIconTemplate=u.template;break;case"nexticon":this.nextIconTemplate=u.template;break;case"triggericon":this.triggerIconTemplate=u.template;break;case"clearicon":this.clearIconTemplate=u.template;break;case"decrementicon":this.decrementIconTemplate=u.template;break;case"incrementicon":this.incrementIconTemplate=u.template;break;case"footer":this.footerTemplate=u.template}})}ngAfterViewInit(){this.inline&&(this.contentViewChild&&this.contentViewChild.nativeElement.setAttribute(this.attributeSelector,""),!this.disabled&&!this.inline&&(this.initFocusableCell(),1===this.numberOfMonths&&this.contentViewChild&&this.contentViewChild.nativeElement&&(this.contentViewChild.nativeElement.style.width=re.D.getOuterWidth(this.containerViewChild?.nativeElement)+"px")))}getTranslation(u){return this.config.getTranslation(u)}populateYearOptions(u,ne){this.yearOptions=[];for(let ue=u;ue<=ne;ue++)this.yearOptions.push(ue)}createWeekDays(){this.weekDays=[];let u=this.getFirstDateOfWeek(),ne=this.getTranslation(Pe.Yj.DAY_NAMES_MIN);for(let ue=0;ue<7;ue++)this.weekDays.push(ne[u]),u=6==u?0:++u}monthPickerValues(){let u=[];for(let ne=0;ne<=11;ne++)u.push(this.config.getTranslation("monthNamesShort")[ne]);return u}yearPickerValues(){let u=[],ne=this.currentYear-this.currentYear%10;for(let ue=0;ue<10;ue++)u.push(ne+ue);return u}createMonths(u,ne){this.months=this.months=[];for(let ue=0;ue11&&(Ie=Ie%11-1,nt=ne+1),this.months.push(this.createMonth(Ie,nt))}}getWeekNumber(u){let ne=new Date(u.getTime());ne.setDate(ne.getDate()+4-(ne.getDay()||7));let ue=ne.getTime();return ne.setMonth(0),ne.setDate(1),Math.floor(Math.round((ue-ne.getTime())/864e5)/7)+1}createMonth(u,ne){let ue=[],Ie=this.getFirstDayOfMonthIndex(u,ne),nt=this.getDaysCountInMonth(u,ne),Tt=this.getDaysCountInPrevMonth(u,ne),zt=1,ai=new Date,oi=[],Li=Math.ceil((nt+Ie)/7);for(let Zi=0;Zint){let wn=this.getNextMonthAndYear(u,ne);Yi.push({day:zt-nt,month:wn.month,year:wn.year,otherMonth:!0,today:this.isToday(ai,zt-nt,wn.month,wn.year),selectable:this.isSelectable(zt-nt,wn.month,wn.year,!0)})}else Yi.push({day:zt,month:u,year:ne,today:this.isToday(ai,zt,u,ne),selectable:this.isSelectable(zt,u,ne,!1)});zt++}this.showWeek&&oi.push(this.getWeekNumber(new Date(Yi[0].year,Yi[0].month,Yi[0].day))),ue.push(Yi)}return{month:u,year:ne,dates:ue,weekNumbers:oi}}initTime(u){this.pm=u.getHours()>11,this.showTime?(this.currentMinute=u.getMinutes(),this.currentSecond=u.getSeconds(),this.setCurrentHourPM(u.getHours())):this.timeOnly&&(this.currentMinute=0,this.currentHour=0,this.currentSecond=0)}navBackward(u){this.disabled?u.preventDefault():(this.isMonthNavigate=!0,"month"===this.currentView?(this.decrementYear(),setTimeout(()=>{this.updateFocus()},1)):"year"===this.currentView?(this.decrementDecade(),setTimeout(()=>{this.updateFocus()},1)):(0===this.currentMonth?(this.currentMonth=11,this.decrementYear()):this.currentMonth--,this.onMonthChange.emit({month:this.currentMonth+1,year:this.currentYear}),this.createMonths(this.currentMonth,this.currentYear)))}navForward(u){this.disabled?u.preventDefault():(this.isMonthNavigate=!0,"month"===this.currentView?(this.incrementYear(),setTimeout(()=>{this.updateFocus()},1)):"year"===this.currentView?(this.incrementDecade(),setTimeout(()=>{this.updateFocus()},1)):(11===this.currentMonth?(this.currentMonth=0,this.incrementYear()):this.currentMonth++,this.onMonthChange.emit({month:this.currentMonth+1,year:this.currentYear}),this.createMonths(this.currentMonth,this.currentYear)))}decrementYear(){this.currentYear--;let u=this.yearOptions;if(this.yearNavigator&&this.currentYearu[u.length-1]){let ne=u[u.length-1]-u[0];this.populateYearOptions(u[0]+ne,u[u.length-1]+ne)}}switchToMonthView(u){this.setCurrentView("month"),u.preventDefault()}switchToYearView(u){this.setCurrentView("year"),u.preventDefault()}onDateSelect(u,ne){!this.disabled&&ne.selectable?(this.isMultipleSelection()&&this.isSelected(ne)?(this.value=this.value.filter((ue,Ie)=>!this.isDateEquals(ue,ne)),0===this.value.length&&(this.value=null),this.updateModel(this.value)):this.shouldSelectDate(ne)&&this.selectDate(ne),(this.isSingleSelection()&&this.hideOnDateTimeSelect||this.isRangeSelection()&&this.value[1])&&setTimeout(()=>{u.preventDefault(),this.hideOverlay(),this.mask&&this.disableModality(),this.cd.markForCheck()},150),this.updateInputfield(),u.preventDefault()):u.preventDefault()}shouldSelectDate(u){return!this.isMultipleSelection()||null==this.maxDateCount||this.maxDateCount>(this.value?this.value.length:0)}onMonthSelect(u,ne){"month"===this.view?this.onDateSelect(u,{year:this.currentYear,month:ne,day:1,selectable:!0}):(this.currentMonth=ne,this.createMonths(this.currentMonth,this.currentYear),this.setCurrentView("date"),this.onMonthChange.emit({month:this.currentMonth+1,year:this.currentYear}))}onYearSelect(u,ne){"year"===this.view?this.onDateSelect(u,{year:ne,month:0,day:1,selectable:!0}):(this.currentYear=ne,this.setCurrentView("month"),this.onYearChange.emit({month:this.currentMonth+1,year:this.currentYear}))}updateInputfield(){let u="";if(this.value)if(this.isSingleSelection())u=this.formatDateTime(this.value);else if(this.isMultipleSelection())for(let ne=0;ne11,this.currentHour=u>=12?12==u?12:u-12:0==u?12:u):this.currentHour=u}setCurrentView(u){this.currentView=u,this.cd.detectChanges(),this.alignOverlay()}selectDate(u){let ne=new Date(u.year,u.month,u.day);if(this.showTime&&(ne.setHours("12"==this.hourFormat?12===this.currentHour?this.pm?12:0:this.pm?this.currentHour+12:this.currentHour:this.currentHour),ne.setMinutes(this.currentMinute),ne.setSeconds(this.currentSecond)),this.minDate&&this.minDate>ne&&(ne=this.minDate,this.setCurrentHourPM(ne.getHours()),this.currentMinute=ne.getMinutes(),this.currentSecond=ne.getSeconds()),this.maxDate&&this.maxDate=ue.getTime()?Ie=ne:(ue=ne,Ie=null),this.updateModel([ue,Ie])}else this.updateModel([ne,null]);this.onSelect.emit(ne)}updateModel(u){if(this.value=u,"date"==this.dataType)this.onModelChange(this.value);else if("string"==this.dataType)if(this.isSingleSelection())this.onModelChange(this.formatDateTime(this.value));else{let ne=null;Array.isArray(this.value)&&(ne=this.value.map(ue=>this.formatDateTime(ue))),this.onModelChange(ne)}}getFirstDayOfMonthIndex(u,ne){let ue=new Date;ue.setDate(1),ue.setMonth(u),ue.setFullYear(ne);let Ie=ue.getDay()+this.getSundayIndex();return Ie>=7?Ie-7:Ie}getDaysCountInMonth(u,ne){return 32-this.daylightSavingAdjust(new Date(ne,u,32)).getDate()}getDaysCountInPrevMonth(u,ne){let ue=this.getPreviousMonthAndYear(u,ne);return this.getDaysCountInMonth(ue.month,ue.year)}getPreviousMonthAndYear(u,ne){let ue,Ie;return 0===u?(ue=11,Ie=ne-1):(ue=u-1,Ie=ne),{month:ue,year:Ie}}getNextMonthAndYear(u,ne){let ue,Ie;return 11===u?(ue=0,Ie=ne+1):(ue=u+1,Ie=ne),{month:ue,year:Ie}}getSundayIndex(){let u=this.getFirstDateOfWeek();return u>0?7-u:0}isSelected(u){if(!this.value)return!1;if(this.isSingleSelection())return this.isDateEquals(this.value,u);if(this.isMultipleSelection()){let ne=!1;for(let ue of this.value)if(ne=this.isDateEquals(ue,u),ne)break;return ne}return this.isRangeSelection()?this.value[1]?this.isDateEquals(this.value[0],u)||this.isDateEquals(this.value[1],u)||this.isDateBetween(this.value[0],this.value[1],u):this.isDateEquals(this.value[0],u):void 0}isComparable(){return null!=this.value&&"string"!=typeof this.value}isMonthSelected(u){if(this.isComparable()&&!this.isMultipleSelection()){const[ne,ue]=this.isRangeSelection()?this.value:[this.value,this.value],Ie=new Date(this.currentYear,u,1);return Ie>=ne&&Ie<=(ue??ne)}return!1}isMonthDisabled(u){for(let ne=1;ne=nt.getTime()}return!1}isSingleSelection(){return"single"===this.selectionMode}isRangeSelection(){return"range"===this.selectionMode}isMultipleSelection(){return"multiple"===this.selectionMode}isToday(u,ne,ue,Ie){return u.getDate()===ne&&u.getMonth()===ue&&u.getFullYear()===Ie}isSelectable(u,ne,ue,Ie){let nt=!0,Tt=!0,zt=!0,ai=!0;return!(Ie&&!this.selectOtherMonths)&&(this.minDate&&(this.minDate.getFullYear()>ue||this.minDate.getFullYear()===ue&&"year"!=this.currentView&&(this.minDate.getMonth()>ne||this.minDate.getMonth()===ne&&this.minDate.getDate()>u))&&(nt=!1),this.maxDate&&(this.maxDate.getFullYear()1||this.disabled}onPrevButtonClick(u){this.navigationState={backward:!0,button:!0},this.navBackward(u)}onNextButtonClick(u){this.navigationState={backward:!1,button:!0},this.navForward(u)}onContainerButtonKeydown(u){switch(u.which){case 9:if(this.inline||this.trapFocus(u),this.inline){const ne=re.D.findSingle(this.containerViewChild?.nativeElement,".p-datepicker-header");u.target==ne.children[ne.children.length-1]&&this.initFocusableCell()}break;case 27:this.inputfieldViewChild?.nativeElement.focus(),this.overlayVisible=!1,u.preventDefault()}}onInputKeydown(u){this.isKeydown=!0,40===u.keyCode&&this.contentViewChild?this.trapFocus(u):27===u.keyCode?this.overlayVisible&&(this.inputfieldViewChild?.nativeElement.focus(),this.overlayVisible=!1,u.preventDefault()):13===u.keyCode?this.overlayVisible&&(this.overlayVisible=!1,u.preventDefault()):9===u.keyCode&&this.contentViewChild&&(re.D.getFocusableElements(this.contentViewChild.nativeElement).forEach(ne=>ne.tabIndex="-1"),this.overlayVisible&&(this.overlayVisible=!1))}onDateCellKeydown(u,ne,ue){const Ie=u.currentTarget,nt=Ie.parentElement;switch(u.which){case 40:{Ie.tabIndex="-1";let Tt=re.D.index(nt),zt=nt.parentElement.nextElementSibling;zt?re.D.hasClass(zt.children[Tt].children[0],"p-disabled")?(this.navigationState={backward:!1},this.navForward(u)):(zt.children[Tt].children[0].tabIndex="0",zt.children[Tt].children[0].focus()):(this.navigationState={backward:!1},this.navForward(u)),u.preventDefault();break}case 38:{Ie.tabIndex="-1";let Tt=re.D.index(nt),zt=nt.parentElement.previousElementSibling;if(zt){let ai=zt.children[Tt].children[0];re.D.hasClass(ai,"p-disabled")?(this.navigationState={backward:!0},this.navBackward(u)):(ai.tabIndex="0",ai.focus())}else this.navigationState={backward:!0},this.navBackward(u);u.preventDefault();break}case 37:{Ie.tabIndex="-1";let Tt=nt.previousElementSibling;if(Tt){let zt=Tt.children[0];re.D.hasClass(zt,"p-disabled")||re.D.hasClass(zt.parentElement,"p-datepicker-weeknumber")?this.navigateToMonth(!0,ue):(zt.tabIndex="0",zt.focus())}else this.navigateToMonth(!0,ue);u.preventDefault();break}case 39:{Ie.tabIndex="-1";let Tt=nt.nextElementSibling;if(Tt){let zt=Tt.children[0];re.D.hasClass(zt,"p-disabled")?this.navigateToMonth(!1,ue):(zt.tabIndex="0",zt.focus())}else this.navigateToMonth(!1,ue);u.preventDefault();break}case 13:case 32:this.onDateSelect(u,ne),u.preventDefault();break;case 27:this.inputfieldViewChild?.nativeElement.focus(),this.overlayVisible=!1,u.preventDefault();break;case 9:this.inline||this.trapFocus(u)}}onMonthCellKeydown(u,ne){const ue=u.currentTarget;switch(u.which){case 38:case 40:{ue.tabIndex="-1";var Ie=ue.parentElement.children,nt=re.D.index(ue);let Tt=Ie[40===u.which?nt+3:nt-3];Tt&&(Tt.tabIndex="0",Tt.focus()),u.preventDefault();break}case 37:{ue.tabIndex="-1";let Tt=ue.previousElementSibling;Tt?(Tt.tabIndex="0",Tt.focus()):(this.navigationState={backward:!0},this.navBackward(u)),u.preventDefault();break}case 39:{ue.tabIndex="-1";let Tt=ue.nextElementSibling;Tt?(Tt.tabIndex="0",Tt.focus()):(this.navigationState={backward:!1},this.navForward(u)),u.preventDefault();break}case 13:case 32:this.onMonthSelect(u,ne),u.preventDefault();break;case 27:this.inputfieldViewChild?.nativeElement.focus(),this.overlayVisible=!1,u.preventDefault();break;case 9:this.inline||this.trapFocus(u)}}onYearCellKeydown(u,ne){const ue=u.currentTarget;switch(u.which){case 38:case 40:{ue.tabIndex="-1";var Ie=ue.parentElement.children,nt=re.D.index(ue);let Tt=Ie[40===u.which?nt+2:nt-2];Tt&&(Tt.tabIndex="0",Tt.focus()),u.preventDefault();break}case 37:{ue.tabIndex="-1";let Tt=ue.previousElementSibling;Tt?(Tt.tabIndex="0",Tt.focus()):(this.navigationState={backward:!0},this.navBackward(u)),u.preventDefault();break}case 39:{ue.tabIndex="-1";let Tt=ue.nextElementSibling;Tt?(Tt.tabIndex="0",Tt.focus()):(this.navigationState={backward:!1},this.navForward(u)),u.preventDefault();break}case 13:case 32:this.onYearSelect(u,ne),u.preventDefault();break;case 27:this.inputfieldViewChild?.nativeElement.focus(),this.overlayVisible=!1,u.preventDefault();break;case 9:this.trapFocus(u)}}navigateToMonth(u,ne){if(u)if(1===this.numberOfMonths||0===ne)this.navigationState={backward:!0},this.navBackward(event);else{let Ie=re.D.find(this.contentViewChild.nativeElement.children[ne-1],".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)"),nt=Ie[Ie.length-1];nt.tabIndex="0",nt.focus()}else if(1===this.numberOfMonths||ne===this.numberOfMonths-1)this.navigationState={backward:!1},this.navForward(event);else{let Ie=re.D.findSingle(this.contentViewChild.nativeElement.children[ne+1],".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)");Ie.tabIndex="0",Ie.focus()}}updateFocus(){let u;if(this.navigationState){if(this.navigationState.button)this.initFocusableCell(),this.navigationState.backward?re.D.findSingle(this.contentViewChild.nativeElement,".p-datepicker-prev").focus():re.D.findSingle(this.contentViewChild.nativeElement,".p-datepicker-next").focus();else{if(this.navigationState.backward){let ne;ne=re.D.find(this.contentViewChild.nativeElement,"month"===this.currentView?".p-monthpicker .p-monthpicker-month:not(.p-disabled)":"year"===this.currentView?".p-yearpicker .p-yearpicker-year:not(.p-disabled)":".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)"),ne&&ne.length>0&&(u=ne[ne.length-1])}else u=re.D.findSingle(this.contentViewChild.nativeElement,"month"===this.currentView?".p-monthpicker .p-monthpicker-month:not(.p-disabled)":"year"===this.currentView?".p-yearpicker .p-yearpicker-year:not(.p-disabled)":".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)");u&&(u.tabIndex="0",u.focus())}this.navigationState=null}else this.initFocusableCell()}initFocusableCell(){const u=this.contentViewChild?.nativeElement;let ne;if("month"===this.currentView){let ue=re.D.find(u,".p-monthpicker .p-monthpicker-month:not(.p-disabled)"),Ie=re.D.findSingle(u,".p-monthpicker .p-monthpicker-month.p-highlight");ue.forEach(nt=>nt.tabIndex=-1),ne=Ie||ue[0],0===ue.length&&re.D.find(u,'.p-monthpicker .p-monthpicker-month.p-disabled[tabindex = "0"]').forEach(Tt=>Tt.tabIndex=-1)}else if("year"===this.currentView){let ue=re.D.find(u,".p-yearpicker .p-yearpicker-year:not(.p-disabled)"),Ie=re.D.findSingle(u,".p-yearpicker .p-yearpicker-year.p-highlight");ue.forEach(nt=>nt.tabIndex=-1),ne=Ie||ue[0],0===ue.length&&re.D.find(u,'.p-yearpicker .p-yearpicker-year.p-disabled[tabindex = "0"]').forEach(Tt=>Tt.tabIndex=-1)}else if(ne=re.D.findSingle(u,"span.p-highlight"),!ne){let ue=re.D.findSingle(u,"td.p-datepicker-today span:not(.p-disabled):not(.p-ink)");ne=ue||re.D.findSingle(u,".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)")}ne&&(ne.tabIndex="0",!this.preventFocus&&(!this.navigationState||!this.navigationState.button)&&setTimeout(()=>{this.disabled||ne.focus()},1),this.preventFocus=!1)}trapFocus(u){let ne=re.D.getFocusableElements(this.contentViewChild.nativeElement);if(ne&&ne.length>0)if(ne[0].ownerDocument.activeElement){let ue=ne.indexOf(ne[0].ownerDocument.activeElement);if(u.shiftKey)if(-1==ue||0===ue)if(this.focusTrap)ne[ne.length-1].focus();else{if(-1===ue)return this.hideOverlay();if(0===ue)return}else ne[ue-1].focus();else if(-1==ue)if(this.timeOnly)ne[0].focus();else{let Ie=0;for(let nt=0;ntTt||this.minDate.getHours()===Tt&&(this.minDate.getMinutes()>ne||this.minDate.getMinutes()===ne&&this.minDate.getSeconds()>ue))||this.maxDate&&Li&&this.maxDate.toDateString()===Li&&(this.maxDate.getHours()=24?ue-24:ue:"12"==this.hourFormat&&(this.currentHour<12&&ue>11&&(Ie=!this.pm),ue=ue>=13?ue-12:ue),this.validateTime(ue,this.currentMinute,this.currentSecond,Ie)&&(this.currentHour=ue,this.pm=Ie),u.preventDefault()}onTimePickerElementMouseDown(u,ne,ue){this.disabled||(this.repeat(u,null,ne,ue),u.preventDefault())}onTimePickerElementMouseUp(u){this.disabled||(this.clearTimePickerTimer(),this.updateTime())}onTimePickerElementMouseLeave(){!this.disabled&&this.timePickerTimer&&(this.clearTimePickerTimer(),this.updateTime())}repeat(u,ne,ue,Ie){let nt=ne||500;switch(this.clearTimePickerTimer(),this.timePickerTimer=setTimeout(()=>{this.repeat(u,100,ue,Ie),this.cd.markForCheck()},nt),ue){case 0:1===Ie?this.incrementHour(u):this.decrementHour(u);break;case 1:1===Ie?this.incrementMinute(u):this.decrementMinute(u);break;case 2:1===Ie?this.incrementSecond(u):this.decrementSecond(u)}this.updateInputfield()}clearTimePickerTimer(){this.timePickerTimer&&(clearTimeout(this.timePickerTimer),this.timePickerTimer=null)}decrementHour(u){let ne=this.currentHour-this.stepHour,ue=this.pm;"24"==this.hourFormat?ne=ne<0?24+ne:ne:"12"==this.hourFormat&&(12===this.currentHour&&(ue=!this.pm),ne=ne<=0?12+ne:ne),this.validateTime(ne,this.currentMinute,this.currentSecond,ue)&&(this.currentHour=ne,this.pm=ue),u.preventDefault()}incrementMinute(u){let ne=this.currentMinute+this.stepMinute;ne=ne>59?ne-60:ne,this.validateTime(this.currentHour,ne,this.currentSecond,this.pm)&&(this.currentMinute=ne),u.preventDefault()}decrementMinute(u){let ne=this.currentMinute-this.stepMinute;ne=ne<0?60+ne:ne,this.validateTime(this.currentHour,ne,this.currentSecond,this.pm)&&(this.currentMinute=ne),u.preventDefault()}incrementSecond(u){let ne=this.currentSecond+this.stepSecond;ne=ne>59?ne-60:ne,this.validateTime(this.currentHour,this.currentMinute,ne,this.pm)&&(this.currentSecond=ne),u.preventDefault()}decrementSecond(u){let ne=this.currentSecond-this.stepSecond;ne=ne<0?60+ne:ne,this.validateTime(this.currentHour,this.currentMinute,ne,this.pm)&&(this.currentSecond=ne),u.preventDefault()}updateTime(){let u=this.value;this.isRangeSelection()&&(u=this.value[1]||this.value[0]),this.isMultipleSelection()&&(u=this.value[this.value.length-1]),u=u?new Date(u.getTime()):new Date,u.setHours("12"==this.hourFormat?12===this.currentHour?this.pm?12:0:this.pm?this.currentHour+12:this.currentHour:this.currentHour),u.setMinutes(this.currentMinute),u.setSeconds(this.currentSecond),this.isRangeSelection()&&(u=this.value[1]?[this.value[0],u]:[u,null]),this.isMultipleSelection()&&(u=[...this.value.slice(0,-1),u]),this.updateModel(u),this.onSelect.emit(u),this.updateInputfield()}toggleAMPM(u){const ne=!this.pm;this.validateTime(this.currentHour,this.currentMinute,this.currentSecond,ne)&&(this.pm=ne,this.updateTime()),u.preventDefault()}onUserInput(u){if(!this.isKeydown)return;this.isKeydown=!1;let ne=u.target.value;try{let ue=this.parseValueFromString(ne);this.isValidSelection(ue)?(this.updateModel(ue),this.updateUI()):this.keepInvalid&&this.updateModel(ue)}catch{this.updateModel(this.keepInvalid?ne:null)}this.filled=null!=ne&&ne.length,this.onInput.emit(u)}isValidSelection(u){let ne=!0;return this.isSingleSelection()?this.isSelectable(u.getDate(),u.getMonth(),u.getFullYear(),!1)||(ne=!1):u.every(ue=>this.isSelectable(ue.getDate(),ue.getMonth(),ue.getFullYear(),!1))&&this.isRangeSelection()&&(ne=u.length>1&&u[1]>u[0]),ne}parseValueFromString(u){if(!u||0===u.trim().length)return null;let ne;if(this.isSingleSelection())ne=this.parseDateTime(u);else if(this.isMultipleSelection()){let ue=u.split(this.multipleSeparator);ne=[];for(let Ie of ue)ne.push(this.parseDateTime(Ie.trim()))}else if(this.isRangeSelection()){let ue=u.split(" "+this.rangeSeparator+" ");ne=[];for(let Ie=0;Ie{this.disableModality(),this.overlayVisible=!1}),this.renderer.appendChild(this.document.body,this.mask),re.D.blockBodyScroll())}disableModality(){this.mask&&(re.D.addClass(this.mask,"p-component-overlay-leave"),this.animationEndListener||(this.animationEndListener=this.renderer.listen(this.mask,"animationend",this.destroyMask.bind(this))))}destroyMask(){if(!this.mask)return;this.renderer.removeChild(this.document.body,this.mask);let ne,u=this.document.body.children;for(let ue=0;ue{const Li=ue+1{let Yi=""+Li;if(Ie(oi))for(;Yi.lengthIe(oi)?Yi[Li]:Zi[Li];let zt="",ai=!1;if(u)for(ue=0;ue11&&12!=ue&&(ue-=12),ne+="12"==this.hourFormat&&0===ue?12:ue<10?"0"+ue:ue,ne+=":",ne+=Ie<10?"0"+Ie:Ie,this.showSeconds&&(ne+=":",ne+=nt<10?"0"+nt:nt),"12"==this.hourFormat&&(ne+=u.getHours()>11?" PM":" AM"),ne}parseTime(u){let ne=u.split(":");if(ne.length!==(this.showSeconds?3:2))throw"Invalid time";let Ie=parseInt(ne[0]),nt=parseInt(ne[1]),Tt=this.showSeconds?parseInt(ne[2]):null;if(isNaN(Ie)||isNaN(nt)||Ie>23||nt>59||"12"==this.hourFormat&&Ie>12||this.showSeconds&&(isNaN(Tt)||Tt>59))throw"Invalid time";return"12"==this.hourFormat&&(12!==Ie&&this.pm?Ie+=12:!this.pm&&12===Ie&&(Ie-=12)),{hour:Ie,minute:nt,second:Tt}}parseDate(u,ne){if(null==ne||null==u)throw"Invalid arguments";if(""===(u="object"==typeof u?u.toString():u+""))return null;let ue,Ie,nt,tn,Tt=0,zt="string"!=typeof this.shortYearCutoff?this.shortYearCutoff:(new Date).getFullYear()%100+parseInt(this.shortYearCutoff,10),ai=-1,oi=-1,Li=-1,Zi=-1,Yi=!1,wn=$s=>{let hr=ue+1{let hr=wn($s),lo="@"===$s?14:"!"===$s?20:"y"===$s&&hr?4:"o"===$s?3:2,_c=new RegExp("^\\d{"+("y"===$s?lo:1)+","+lo+"}"),Ia=u.substring(Tt).match(_c);if(!Ia)throw"Missing number at position "+Tt;return Tt+=Ia[0].length,parseInt(Ia[0],10)},qn=($s,hr,lo)=>{let Uo=-1,_c=wn($s)?lo:hr,Ia=[];for(let wr=0;wr<_c.length;wr++)Ia.push([wr,_c[wr]]);Ia.sort((wr,da)=>-(wr[1].length-da[1].length));for(let wr=0;wr{if(u.charAt(Tt)!==ne.charAt(ue))throw"Unexpected literal at position "+Tt;Tt++};for("month"===this.view&&(Li=1),ue=0;ue-1)for(oi=1,Li=Zi;Ie=this.getDaysCountInMonth(ai,oi-1),!(Li<=Ie);)oi++,Li-=Ie;if("year"===this.view&&(oi=-1===oi?1:oi,Li=-1===Li?1:Li),tn=this.daylightSavingAdjust(new Date(ai,oi-1,Li)),tn.getFullYear()!==ai||tn.getMonth()+1!==oi||tn.getDate()!==Li)throw"Invalid date";return tn}daylightSavingAdjust(u){return u?(u.setHours(u.getHours()>12?u.getHours()+2:0),u):null}updateFilledState(){this.filled=this.inputFieldValue&&""!=this.inputFieldValue}onTodayButtonClick(u){const ne=new Date,ue={day:ne.getDate(),month:ne.getMonth(),year:ne.getFullYear(),otherMonth:ne.getMonth()!==this.currentMonth||ne.getFullYear()!==this.currentYear,today:!0,selectable:!0};this.createMonths(ne.getMonth(),ne.getFullYear()),this.onDateSelect(u,ue),this.onTodayClick.emit(u)}onClearButtonClick(u){this.updateModel(null),this.updateInputfield(),this.hideOverlay(),this.onClearClick.emit(u)}createResponsiveStyle(){if(this.numberOfMonths>1&&this.responsiveOptions){this.responsiveStyleElement||(this.responsiveStyleElement=this.renderer.createElement("style"),this.responsiveStyleElement.type="text/css",this.renderer.appendChild(this.document.body,this.responsiveStyleElement));let u="";if(this.responsiveOptions){let ne=[...this.responsiveOptions].filter(ue=>!(!ue.breakpoint||!ue.numMonths)).sort((ue,Ie)=>-1*ue.breakpoint.localeCompare(Ie.breakpoint,void 0,{numeric:!0}));for(let ue=0;ue{this.documentClickListener=this.renderer.listen(this.el?this.el.nativeElement.ownerDocument:this.document,"mousedown",ne=>{this.isOutsideClicked(ne)&&this.overlayVisible&&this.zone.run(()=>{this.hideOverlay(),this.onClickOutside.emit(ne),this.cd.markForCheck()})})})}unbindDocumentClickListener(){this.documentClickListener&&(this.documentClickListener(),this.documentClickListener=null)}bindDocumentResizeListener(){!this.documentResizeListener&&!this.touchUI&&(this.documentResizeListener=this.renderer.listen(this.window,"resize",this.onWindowResize.bind(this)))}unbindDocumentResizeListener(){this.documentResizeListener&&(this.documentResizeListener(),this.documentResizeListener=null)}bindScrollListener(){this.scrollHandler||(this.scrollHandler=new re.b(this.containerViewChild?.nativeElement,()=>{this.overlayVisible&&this.hideOverlay()})),this.scrollHandler.bindScrollListener()}unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()}isOutsideClicked(u){return!(this.el.nativeElement.isSameNode(u.target)||this.isNavIconClicked(u)||this.el.nativeElement.contains(u.target)||this.overlay&&this.overlay.contains(u.target))}isNavIconClicked(u){return re.D.hasClass(u.target,"p-datepicker-prev")||re.D.hasClass(u.target,"p-datepicker-prev-icon")||re.D.hasClass(u.target,"p-datepicker-next")||re.D.hasClass(u.target,"p-datepicker-next-icon")}onWindowResize(){this.overlayVisible&&!re.D.isTouchDevice()&&this.hideOverlay()}onOverlayHide(){this.currentView=this.view,this.mask&&this.destroyMask(),this.unbindDocumentClickListener(),this.unbindDocumentResizeListener(),this.unbindScrollListener(),this.overlay=null}ngOnDestroy(){this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.translationSubscription&&this.translationSubscription.unsubscribe(),this.overlay&&this.autoZIndex&&le.Q$.clear(this.overlay),this.destroyResponsiveStyleElement(),this.clearTimePickerTimer(),this.restoreOverlayAppend(),this.onOverlayHide()}static \u0275fac=function(ne){return new(ne||xe)(e.rXU(M.qQ),e.rXU(e.aKT),e.rXU(e.sFG),e.rXU(e.gRc),e.rXU(e.SKi),e.rXU(Pe.r1),e.rXU(Pe.si))};static \u0275cmp=e.VBU({type:xe,selectors:[["p-calendar"]],contentQueries:function(ne,ue,Ie){if(1&ne&&e.wni(Ie,Pe.Ei,4),2&ne){let nt;e.mGM(nt=e.lsd())&&(ue.templates=nt)}},viewQuery:function(ne,ue){if(1&ne&&(e.GBs(F,5),e.GBs(L,5),e.GBs(D,5)),2&ne){let Ie;e.mGM(Ie=e.lsd())&&(ue.containerViewChild=Ie.first),e.mGM(Ie=e.lsd())&&(ue.inputfieldViewChild=Ie.first),e.mGM(Ie=e.lsd())&&(ue.content=Ie.first)}},hostAttrs:[1,"p-element","p-inputwrapper"],hostVars:6,hostBindings:function(ne,ue){2&ne&&e.AVh("p-inputwrapper-filled",ue.filled)("p-inputwrapper-focus",ue.focus)("p-calendar-clearable",ue.showClear&&!ue.disabled)},inputs:{iconDisplay:"iconDisplay",style:"style",styleClass:"styleClass",inputStyle:"inputStyle",inputId:"inputId",name:"name",inputStyleClass:"inputStyleClass",placeholder:"placeholder",ariaLabelledBy:"ariaLabelledBy",ariaLabel:"ariaLabel",iconAriaLabel:"iconAriaLabel",disabled:"disabled",dateFormat:"dateFormat",multipleSeparator:"multipleSeparator",rangeSeparator:"rangeSeparator",inline:"inline",showOtherMonths:"showOtherMonths",selectOtherMonths:"selectOtherMonths",showIcon:"showIcon",icon:"icon",appendTo:"appendTo",readonlyInput:"readonlyInput",shortYearCutoff:"shortYearCutoff",monthNavigator:"monthNavigator",yearNavigator:"yearNavigator",hourFormat:"hourFormat",timeOnly:"timeOnly",stepHour:"stepHour",stepMinute:"stepMinute",stepSecond:"stepSecond",showSeconds:"showSeconds",required:"required",showOnFocus:"showOnFocus",showWeek:"showWeek",showClear:"showClear",dataType:"dataType",selectionMode:"selectionMode",maxDateCount:"maxDateCount",showButtonBar:"showButtonBar",todayButtonStyleClass:"todayButtonStyleClass",clearButtonStyleClass:"clearButtonStyleClass",autoZIndex:"autoZIndex",baseZIndex:"baseZIndex",panelStyleClass:"panelStyleClass",panelStyle:"panelStyle",keepInvalid:"keepInvalid",hideOnDateTimeSelect:"hideOnDateTimeSelect",touchUI:"touchUI",timeSeparator:"timeSeparator",focusTrap:"focusTrap",showTransitionOptions:"showTransitionOptions",hideTransitionOptions:"hideTransitionOptions",tabindex:"tabindex",minDate:"minDate",maxDate:"maxDate",disabledDates:"disabledDates",disabledDays:"disabledDays",yearRange:"yearRange",showTime:"showTime",responsiveOptions:"responsiveOptions",numberOfMonths:"numberOfMonths",firstDayOfWeek:"firstDayOfWeek",locale:"locale",view:"view",defaultDate:"defaultDate"},outputs:{onFocus:"onFocus",onBlur:"onBlur",onClose:"onClose",onSelect:"onSelect",onClear:"onClear",onInput:"onInput",onTodayClick:"onTodayClick",onClearClick:"onClearClick",onMonthChange:"onMonthChange",onYearChange:"onYearChange",onClickOutside:"onClickOutside",onShow:"onShow"},features:[e.Jv_([Ti])],ngContentSelectors:E,decls:4,vars:12,consts:[["container",""],["inputfield",""],["contentWrapper",""],[3,"ngClass","ngStyle"],[3,"ngIf"],[3,"class","ngStyle","ngClass","click",4,"ngIf"],["type","text","role","combobox","aria-autocomplete","none","aria-haspopup","dialog","autocomplete","off",3,"focus","keydown","click","blur","input","value","readonly","ngStyle","placeholder","disabled","ngClass"],[4,"ngIf"],["type","button","aria-haspopup","dialog","pButton","","pRipple","","class","p-datepicker-trigger p-button-icon-only","tabindex","0",3,"disabled","click",4,"ngIf"],[3,"styleClass","click",4,"ngIf"],["class","p-calendar-clear-icon",3,"click",4,"ngIf"],[3,"click","styleClass"],[1,"p-calendar-clear-icon",3,"click"],[4,"ngTemplateOutlet"],["type","button","aria-haspopup","dialog","pButton","","pRipple","","tabindex","0",1,"p-datepicker-trigger","p-button-icon-only",3,"click","disabled"],[3,"ngClass",4,"ngIf"],[3,"ngClass"],[3,"ngClass","click",4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"click","ngClass"],[3,"click","ngStyle","ngClass"],["class","p-timepicker",4,"ngIf"],["class","p-datepicker-buttonbar",4,"ngIf"],[1,"p-datepicker-group-container"],["class","p-datepicker-group",4,"ngFor","ngForOf"],["class","p-monthpicker",4,"ngIf"],["class","p-yearpicker",4,"ngIf"],[1,"p-datepicker-group"],[1,"p-datepicker-header"],["class","p-datepicker-prev p-link","type","button","pRipple","",3,"keydown","click",4,"ngIf"],[1,"p-datepicker-title"],["type","button","class","p-datepicker-month p-link",3,"disabled","click","keydown",4,"ngIf"],["type","button","class","p-datepicker-year p-link",3,"disabled","click","keydown",4,"ngIf"],["class","p-datepicker-decade",4,"ngIf"],["type","button","pRipple","",1,"p-datepicker-next","p-link",3,"keydown","click"],[3,"styleClass",4,"ngIf"],["class","p-datepicker-next-icon",4,"ngIf"],["class","p-datepicker-calendar-container",4,"ngIf"],["type","button","pRipple","",1,"p-datepicker-prev","p-link",3,"keydown","click"],["class","p-datepicker-prev-icon",4,"ngIf"],[3,"styleClass"],[1,"p-datepicker-prev-icon"],["type","button",1,"p-datepicker-month","p-link",3,"click","keydown","disabled"],["type","button",1,"p-datepicker-year","p-link",3,"click","keydown","disabled"],[1,"p-datepicker-decade"],[1,"p-datepicker-next-icon"],[1,"p-datepicker-calendar-container"],["role","grid",1,"p-datepicker-calendar"],["class","p-datepicker-weekheader p-disabled",4,"ngIf"],["scope","col",4,"ngFor","ngForOf"],[4,"ngFor","ngForOf"],[1,"p-datepicker-weekheader","p-disabled"],["scope","col"],["class","p-datepicker-weeknumber",4,"ngIf"],[3,"ngClass",4,"ngFor","ngForOf"],[1,"p-datepicker-weeknumber"],[1,"p-disabled"],["draggable","false","pRipple","",3,"click","keydown","ngClass"],["class","p-hidden-accessible","aria-live","polite",4,"ngIf"],["aria-live","polite",1,"p-hidden-accessible"],[1,"p-monthpicker"],["class","p-monthpicker-month","pRipple","",3,"ngClass","click","keydown",4,"ngFor","ngForOf"],["pRipple","",1,"p-monthpicker-month",3,"click","keydown","ngClass"],[1,"p-yearpicker"],["class","p-yearpicker-year","pRipple","",3,"ngClass","click","keydown",4,"ngFor","ngForOf"],["pRipple","",1,"p-yearpicker-year",3,"click","keydown","ngClass"],[1,"p-timepicker"],[1,"p-hour-picker"],["type","button","pRipple","",1,"p-link",3,"keydown","keydown.enter","keydown.space","mousedown","mouseup","keyup.enter","keyup.space","mouseleave"],[1,"p-separator"],[1,"p-minute-picker"],["class","p-separator",4,"ngIf"],["class","p-second-picker",4,"ngIf"],["class","p-ampm-picker",4,"ngIf"],[1,"p-second-picker"],[1,"p-ampm-picker"],["type","button","pRipple","",1,"p-link",3,"keydown","click","keydown.enter"],[1,"p-datepicker-buttonbar"],["type","button","pButton","","pRipple","",3,"keydown","click","label","ngClass"]],template:function(ne,ue){1&ne&&(e.NAR(I),e.j41(0,"span",3,0),e.DNE(2,G,5,21,"ng-template",4)(3,si,9,31,"div",5),e.k0s()),2&ne&&(e.HbH(ue.styleClass),e.Y8G("ngClass",e.s1E(6,_,ue.showIcon&&"input"===ue.iconDisplay,ue.showIcon&&"button"===ue.iconDisplay,ue.timeOnly,ue.disabled,ue.focus||ue.overlayVisible))("ngStyle",ue.style),e.R7$(2),e.Y8G("ngIf",!ue.inline),e.R7$(),e.Y8G("ngIf",ue.inline||ue.overlayVisible))},dependencies:()=>[M.YU,M.Sq,M.bT,M.T3,M.B3,Z._f,ve.n,pe,J,te,$,A.A,B],styles:["@layer primeng{.p-calendar{position:relative;display:inline-flex;max-width:100%}.p-calendar .p-inputtext{flex:1 1 auto;width:1%}.p-calendar-w-btn .p-inputtext{border-top-right-radius:0;border-bottom-right-radius:0}.p-calendar-w-btn .p-datepicker-trigger{border-top-left-radius:0;border-bottom-left-radius:0}.p-fluid .p-calendar{display:flex}.p-fluid .p-calendar .p-inputtext{width:1%}.p-calendar .p-datepicker{min-width:100%}.p-datepicker{width:auto;position:absolute;top:0;left:0}.p-datepicker-inline{display:inline-block;position:static;overflow-x:auto}.p-datepicker-header{display:flex;align-items:center;justify-content:space-between}.p-datepicker-header .p-datepicker-title{margin:0 auto}.p-datepicker-prev,.p-datepicker-next{cursor:pointer;display:inline-flex;justify-content:center;align-items:center;overflow:hidden;position:relative}.p-datepicker-multiple-month .p-datepicker-group-container .p-datepicker-group{flex:1 1 auto}.p-datepicker-multiple-month .p-datepicker-group-container{display:flex}.p-datepicker table{width:100%;border-collapse:collapse}.p-datepicker td>span{display:flex;justify-content:center;align-items:center;cursor:pointer;margin:0 auto;overflow:hidden;position:relative}.p-monthpicker-month{width:33.3%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;position:relative}.p-datepicker-buttonbar{display:flex;justify-content:space-between;align-items:center}.p-timepicker{display:flex;justify-content:center;align-items:center}.p-timepicker button{display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;position:relative}.p-timepicker>div{display:flex;align-items:center;flex-direction:column}.p-datepicker-touch-ui,.p-calendar .p-datepicker-touch-ui{position:fixed;top:50%;left:50%;min-width:80vw;transform:translate(-50%,-50%)}.p-yearpicker-year{width:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;position:relative}.p-calendar-clear-icon{position:absolute;top:50%;margin-top:-.5rem;cursor:pointer}.p-datepicker-icon{pointer-events:none}.p-calendar-clearable{position:relative}}\n"],encapsulation:2,data:{animation:[(0,ie.hZ)("overlayAnimation",[(0,ie.wk)("visibleTouchUI",(0,ie.iF)({transform:"translate(-50%,-50%)",opacity:1})),(0,ie.kY)("void => visible",[(0,ie.iF)({opacity:0,transform:"scaleY(0.8)"}),(0,ie.i0)("{{showTransitionParams}}",(0,ie.iF)({opacity:1,transform:"*"}))]),(0,ie.kY)("visible => void",[(0,ie.i0)("{{hideTransitionParams}}",(0,ie.iF)({opacity:0}))]),(0,ie.kY)("void => visibleTouchUI",[(0,ie.iF)({opacity:0,transform:"translate3d(-50%, -40%, 0) scale(0.9)"}),(0,ie.i0)("{{showTransitionParams}}")]),(0,ie.kY)("visibleTouchUI => void",[(0,ie.i0)("{{hideTransitionParams}}",(0,ie.iF)({opacity:0,transform:"translate3d(-50%, -40%, 0) scale(0.9)"}))])])]},changeDetection:0})}return xe})(),Hi=(()=>{class xe{static \u0275fac=function(ne){return new(ne||xe)};static \u0275mod=e.$C({type:xe});static \u0275inj=e.G2t({imports:[M.MD,Z.tm,Pe.Gg,ve.Z,pe,J,te,$,A.A,B,Z.tm,Pe.Gg]})}return xe})(),ss=(()=>{class xe{host;constructor(u){this.host=u}autofocus;focused=!1;ngAfterContentChecked(){this.focused||this.autofocus&&setTimeout(()=>{const u=re.D.getFocusableElements(this.host.nativeElement);0===u.length&&this.host.nativeElement.focus(),u.length>0&&u[0].focus(),this.focused=!0})}static \u0275fac=function(ne){return new(ne||xe)(e.rXU(e.aKT))};static \u0275dir=e.FsC({type:xe,selectors:[["","pAutoFocus",""]],hostAttrs:[1,"p-element"],inputs:{autofocus:"autofocus"}})}return xe})(),un=(()=>{class xe{static \u0275fac=function(ne){return new(ne||xe)};static \u0275mod=e.$C({type:xe});static \u0275inj=e.G2t({imports:[M.MD]})}return xe})();const Xi=["overlay"],cn=["content"],rs=["*"],er=(xe,tt,u,ne,ue,Ie,nt,Tt,zt,ai,oi,Li,Zi,Yi)=>({"p-overlay p-component":!0,"p-overlay-modal p-component-overlay p-component-overlay-enter":xe,"p-overlay-center":tt,"p-overlay-top":u,"p-overlay-top-start":ne,"p-overlay-top-end":ue,"p-overlay-bottom":Ie,"p-overlay-bottom-start":nt,"p-overlay-bottom-end":Tt,"p-overlay-left":zt,"p-overlay-left-start":ai,"p-overlay-left-end":oi,"p-overlay-right":Li,"p-overlay-right-start":Zi,"p-overlay-right-end":Yi}),is=(xe,tt,u)=>({showTransitionParams:xe,hideTransitionParams:tt,transform:u}),Zr=xe=>({value:"visible",params:xe}),sr=xe=>({mode:xe}),Ls=xe=>({$implicit:xe});function jr(xe,tt){1&xe&&e.eu8(0)}function Ki(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"div",3,1),e.bIt("click",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onOverlayContentClick(ue))})("@overlayContentAnimation.start",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onOverlayContentAnimationStart(ue))})("@overlayContentAnimation.done",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onOverlayContentAnimationDone(ue))}),e.SdG(2),e.DNE(3,jr,1,0,"ng-container",4),e.k0s()}if(2&xe){const u=e.XpG(2);e.HbH(u.contentStyleClass),e.Y8G("ngStyle",u.contentStyle)("ngClass","p-overlay-content")("@overlayContentAnimation",e.eq3(11,Zr,e.sMw(7,is,u.showTransitionOptions,u.hideTransitionOptions,u.transformOptions[u.modal?u.overlayResponsiveDirection:"default"]))),e.R7$(3),e.Y8G("ngTemplateOutlet",u.contentTemplate)("ngTemplateOutletContext",e.eq3(15,Ls,e.eq3(13,sr,u.overlayMode)))}}function Tn(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"div",3,0),e.bIt("click",function(){e.eBV(u);const ue=e.XpG();return e.Njj(ue.onOverlayClick())}),e.DNE(2,Ki,4,17,"div",2),e.k0s()}if(2&xe){const u=e.XpG();e.HbH(u.styleClass),e.Y8G("ngStyle",u.style)("ngClass",e.zJS(5,er,[u.modal,u.modal&&"center"===u.overlayResponsiveDirection,u.modal&&"top"===u.overlayResponsiveDirection,u.modal&&"top-start"===u.overlayResponsiveDirection,u.modal&&"top-end"===u.overlayResponsiveDirection,u.modal&&"bottom"===u.overlayResponsiveDirection,u.modal&&"bottom-start"===u.overlayResponsiveDirection,u.modal&&"bottom-end"===u.overlayResponsiveDirection,u.modal&&"left"===u.overlayResponsiveDirection,u.modal&&"left-start"===u.overlayResponsiveDirection,u.modal&&"left-end"===u.overlayResponsiveDirection,u.modal&&"right"===u.overlayResponsiveDirection,u.modal&&"right-start"===u.overlayResponsiveDirection,u.modal&&"right-end"===u.overlayResponsiveDirection])),e.R7$(2),e.Y8G("ngIf",u.visible)}}const sc={provide:V.kq,useExisting:(0,e.Rfq)(()=>Pa),multi:!0},ur=(0,ie.lY)([(0,ie.iF)({transform:"{{transform}}",opacity:0}),(0,ie.i0)("{{showTransitionParams}}")]),Oa=(0,ie.lY)([(0,ie.i0)("{{hideTransitionParams}}",(0,ie.iF)({transform:"{{transform}}",opacity:0}))]);let Pa=(()=>{class xe{document;platformId;el;renderer;config;overlayService;cd;zone;get visible(){return this._visible}set visible(u){this._visible=u,this._visible&&!this.modalVisible&&(this.modalVisible=!0)}get mode(){return this._mode||this.overlayOptions?.mode}set mode(u){this._mode=u}get style(){return le.BF.merge(this._style,this.modal?this.overlayResponsiveOptions?.style:this.overlayOptions?.style)}set style(u){this._style=u}get styleClass(){return le.BF.merge(this._styleClass,this.modal?this.overlayResponsiveOptions?.styleClass:this.overlayOptions?.styleClass)}set styleClass(u){this._styleClass=u}get contentStyle(){return le.BF.merge(this._contentStyle,this.modal?this.overlayResponsiveOptions?.contentStyle:this.overlayOptions?.contentStyle)}set contentStyle(u){this._contentStyle=u}get contentStyleClass(){return le.BF.merge(this._contentStyleClass,this.modal?this.overlayResponsiveOptions?.contentStyleClass:this.overlayOptions?.contentStyleClass)}set contentStyleClass(u){this._contentStyleClass=u}get target(){const u=this._target||this.overlayOptions?.target;return void 0===u?"@prev":u}set target(u){this._target=u}get appendTo(){return this._appendTo||this.overlayOptions?.appendTo}set appendTo(u){this._appendTo=u}get autoZIndex(){const u=this._autoZIndex||this.overlayOptions?.autoZIndex;return void 0===u||u}set autoZIndex(u){this._autoZIndex=u}get baseZIndex(){const u=this._baseZIndex||this.overlayOptions?.baseZIndex;return void 0===u?0:u}set baseZIndex(u){this._baseZIndex=u}get showTransitionOptions(){const u=this._showTransitionOptions||this.overlayOptions?.showTransitionOptions;return void 0===u?".12s cubic-bezier(0, 0, 0.2, 1)":u}set showTransitionOptions(u){this._showTransitionOptions=u}get hideTransitionOptions(){const u=this._hideTransitionOptions||this.overlayOptions?.hideTransitionOptions;return void 0===u?".1s linear":u}set hideTransitionOptions(u){this._hideTransitionOptions=u}get listener(){return this._listener||this.overlayOptions?.listener}set listener(u){this._listener=u}get responsive(){return this._responsive||this.overlayOptions?.responsive}set responsive(u){this._responsive=u}get options(){return this._options}set options(u){this._options=u}visibleChange=new e.bkB;onBeforeShow=new e.bkB;onShow=new e.bkB;onBeforeHide=new e.bkB;onHide=new e.bkB;onAnimationStart=new e.bkB;onAnimationDone=new e.bkB;templates;overlayViewChild;contentViewChild;contentTemplate;_visible=!1;_mode;_style;_styleClass;_contentStyle;_contentStyleClass;_target;_appendTo;_autoZIndex;_baseZIndex;_showTransitionOptions;_hideTransitionOptions;_listener;_responsive;_options;modalVisible=!1;isOverlayClicked=!1;isOverlayContentClicked=!1;scrollHandler;documentClickListener;documentResizeListener;documentKeyboardListener;window;transformOptions={default:"scaleY(0.8)",center:"scale(0.7)",top:"translate3d(0px, -100%, 0px)","top-start":"translate3d(0px, -100%, 0px)","top-end":"translate3d(0px, -100%, 0px)",bottom:"translate3d(0px, 100%, 0px)","bottom-start":"translate3d(0px, 100%, 0px)","bottom-end":"translate3d(0px, 100%, 0px)",left:"translate3d(-100%, 0px, 0px)","left-start":"translate3d(-100%, 0px, 0px)","left-end":"translate3d(-100%, 0px, 0px)",right:"translate3d(100%, 0px, 0px)","right-start":"translate3d(100%, 0px, 0px)","right-end":"translate3d(100%, 0px, 0px)"};get modal(){if((0,M.UE)(this.platformId))return"modal"===this.mode||this.overlayResponsiveOptions&&this.window?.matchMedia(this.overlayResponsiveOptions.media?.replace("@media","")||`(max-width: ${this.overlayResponsiveOptions.breakpoint})`).matches}get overlayMode(){return this.mode||(this.modal?"modal":"overlay")}get overlayOptions(){return{...this.config?.overlayOptions,...this.options}}get overlayResponsiveOptions(){return{...this.overlayOptions?.responsive,...this.responsive}}get overlayResponsiveDirection(){return this.overlayResponsiveOptions?.direction||"center"}get overlayEl(){return this.overlayViewChild?.nativeElement}get contentEl(){return this.contentViewChild?.nativeElement}get targetEl(){return re.D.getTargetElement(this.target,this.el?.nativeElement)}constructor(u,ne,ue,Ie,nt,Tt,zt,ai){this.document=u,this.platformId=ne,this.el=ue,this.renderer=Ie,this.config=nt,this.overlayService=Tt,this.cd=zt,this.zone=ai,this.window=this.document.defaultView}ngAfterContentInit(){this.templates?.forEach(u=>{u.getType(),this.contentTemplate=u.template})}show(u,ne=!1){this.onVisibleChange(!0),this.handleEvents("onShow",{overlay:u||this.overlayEl,target:this.targetEl,mode:this.overlayMode}),ne&&re.D.focus(this.targetEl),this.modal&&re.D.addClass(this.document?.body,"p-overflow-hidden")}hide(u,ne=!1){this.visible&&(this.onVisibleChange(!1),this.handleEvents("onHide",{overlay:u||this.overlayEl,target:this.targetEl,mode:this.overlayMode}),ne&&re.D.focus(this.targetEl),this.modal&&re.D.removeClass(this.document?.body,"p-overflow-hidden"))}alignOverlay(){!this.modal&&re.D.alignOverlay(this.overlayEl,this.targetEl,this.appendTo)}onVisibleChange(u){this._visible=u,this.visibleChange.emit(u)}onOverlayClick(){this.isOverlayClicked=!0}onOverlayContentClick(u){this.overlayService.add({originalEvent:u,target:this.targetEl}),this.isOverlayContentClicked=!0}onOverlayContentAnimationStart(u){switch(u.toState){case"visible":this.handleEvents("onBeforeShow",{overlay:this.overlayEl,target:this.targetEl,mode:this.overlayMode}),this.autoZIndex&&le.Q$.set(this.overlayMode,this.overlayEl,this.baseZIndex+this.config?.zIndex[this.overlayMode]),re.D.appendOverlay(this.overlayEl,"body"===this.appendTo?this.document.body:this.appendTo,this.appendTo),this.alignOverlay();break;case"void":this.handleEvents("onBeforeHide",{overlay:this.overlayEl,target:this.targetEl,mode:this.overlayMode}),this.modal&&re.D.addClass(this.overlayEl,"p-component-overlay-leave")}this.handleEvents("onAnimationStart",u)}onOverlayContentAnimationDone(u){const ne=this.overlayEl||u.element.parentElement;switch(u.toState){case"visible":this.show(ne,!0),this.bindListeners();break;case"void":this.hide(ne,!0),this.unbindListeners(),re.D.appendOverlay(this.overlayEl,this.targetEl,this.appendTo),le.Q$.clear(ne),this.modalVisible=!1,this.cd.markForCheck()}this.handleEvents("onAnimationDone",u)}handleEvents(u,ne){this[u].emit(ne),this.options&&this.options[u]&&this.options[u](ne),this.config?.overlayOptions&&(this.config?.overlayOptions)[u]&&(this.config?.overlayOptions)[u](ne)}bindListeners(){this.bindScrollListener(),this.bindDocumentClickListener(),this.bindDocumentResizeListener(),this.bindDocumentKeyboardListener()}unbindListeners(){this.unbindScrollListener(),this.unbindDocumentClickListener(),this.unbindDocumentResizeListener(),this.unbindDocumentKeyboardListener()}bindScrollListener(){this.scrollHandler||(this.scrollHandler=new re.b(this.targetEl,u=>{(!this.listener||this.listener(u,{type:"scroll",mode:this.overlayMode,valid:!0}))&&this.hide(u,!0)})),this.scrollHandler.bindScrollListener()}unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()}bindDocumentClickListener(){this.documentClickListener||(this.documentClickListener=this.renderer.listen(this.document,"click",u=>{const ue=!(this.targetEl&&(this.targetEl.isSameNode(u.target)||!this.isOverlayClicked&&this.targetEl.contains(u.target))||this.isOverlayContentClicked);(this.listener?this.listener(u,{type:"outside",mode:this.overlayMode,valid:3!==u.which&&ue}):ue)&&this.hide(u),this.isOverlayClicked=this.isOverlayContentClicked=!1}))}unbindDocumentClickListener(){this.documentClickListener&&(this.documentClickListener(),this.documentClickListener=null)}bindDocumentResizeListener(){this.documentResizeListener||(this.documentResizeListener=this.renderer.listen(this.window,"resize",u=>{(this.listener?this.listener(u,{type:"resize",mode:this.overlayMode,valid:!re.D.isTouchDevice()}):!re.D.isTouchDevice())&&this.hide(u,!0)}))}unbindDocumentResizeListener(){this.documentResizeListener&&(this.documentResizeListener(),this.documentResizeListener=null)}bindDocumentKeyboardListener(){this.documentKeyboardListener||this.zone.runOutsideAngular(()=>{this.documentKeyboardListener=this.renderer.listen(this.window,"keydown",u=>{!1!==this.overlayOptions.hideOnEscape&&"Escape"===u.code&&(this.listener?this.listener(u,{type:"keydown",mode:this.overlayMode,valid:!re.D.isTouchDevice()}):!re.D.isTouchDevice())&&this.zone.run(()=>{this.hide(u,!0)})})})}unbindDocumentKeyboardListener(){this.documentKeyboardListener&&(this.documentKeyboardListener(),this.documentKeyboardListener=null)}ngOnDestroy(){this.hide(this.overlayEl,!0),this.overlayEl&&(re.D.appendOverlay(this.overlayEl,this.targetEl,this.appendTo),le.Q$.clear(this.overlayEl)),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.unbindListeners()}static \u0275fac=function(ne){return new(ne||xe)(e.rXU(M.qQ),e.rXU(e.Agw),e.rXU(e.aKT),e.rXU(e.sFG),e.rXU(Pe.r1),e.rXU(Pe.si),e.rXU(e.gRc),e.rXU(e.SKi))};static \u0275cmp=e.VBU({type:xe,selectors:[["p-overlay"]],contentQueries:function(ne,ue,Ie){if(1&ne&&e.wni(Ie,Pe.Ei,4),2&ne){let nt;e.mGM(nt=e.lsd())&&(ue.templates=nt)}},viewQuery:function(ne,ue){if(1&ne&&(e.GBs(Xi,5),e.GBs(cn,5)),2&ne){let Ie;e.mGM(Ie=e.lsd())&&(ue.overlayViewChild=Ie.first),e.mGM(Ie=e.lsd())&&(ue.contentViewChild=Ie.first)}},hostAttrs:[1,"p-element"],inputs:{visible:"visible",mode:"mode",style:"style",styleClass:"styleClass",contentStyle:"contentStyle",contentStyleClass:"contentStyleClass",target:"target",appendTo:"appendTo",autoZIndex:"autoZIndex",baseZIndex:"baseZIndex",showTransitionOptions:"showTransitionOptions",hideTransitionOptions:"hideTransitionOptions",listener:"listener",responsive:"responsive",options:"options"},outputs:{visibleChange:"visibleChange",onBeforeShow:"onBeforeShow",onShow:"onShow",onBeforeHide:"onBeforeHide",onHide:"onHide",onAnimationStart:"onAnimationStart",onAnimationDone:"onAnimationDone"},features:[e.Jv_([sc])],ngContentSelectors:rs,decls:1,vars:1,consts:[["overlay",""],["content",""],[3,"ngStyle","class","ngClass","click",4,"ngIf"],[3,"click","ngStyle","ngClass"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(ne,ue){1&ne&&(e.NAR(),e.DNE(0,Tn,3,20,"div",2)),2&ne&&e.Y8G("ngIf",ue.modalVisible)},dependencies:[M.YU,M.bT,M.T3,M.B3],styles:["@layer primeng{.p-overlay{position:absolute;top:0;left:0}.p-overlay-modal{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:100%;height:100%}.p-overlay-content{transform-origin:inherit}.p-overlay-modal>.p-overlay-content{z-index:1;width:90%}.p-overlay-top{align-items:flex-start}.p-overlay-top-start{align-items:flex-start;justify-content:flex-start}.p-overlay-top-end{align-items:flex-start;justify-content:flex-end}.p-overlay-bottom{align-items:flex-end}.p-overlay-bottom-start{align-items:flex-end;justify-content:flex-start}.p-overlay-bottom-end{align-items:flex-end;justify-content:flex-end}.p-overlay-left{justify-content:flex-start}.p-overlay-left-start{justify-content:flex-start;align-items:flex-start}.p-overlay-left-end{justify-content:flex-start;align-items:flex-end}.p-overlay-right{justify-content:flex-end}.p-overlay-right-start{justify-content:flex-end;align-items:flex-start}.p-overlay-right-end{justify-content:flex-end;align-items:flex-end}}\n"],encapsulation:2,data:{animation:[(0,ie.hZ)("overlayContentAnimation",[(0,ie.kY)(":enter",[(0,ie.sM)(ur)]),(0,ie.kY)(":leave",[(0,ie.sM)(Oa)])])]},changeDetection:0})}return xe})(),La=(()=>{class xe{static \u0275fac=function(ne){return new(ne||xe)};static \u0275mod=e.$C({type:xe});static \u0275inj=e.G2t({imports:[M.MD,Pe.Gg,Pe.Gg]})}return xe})();var qr=He(38757);const mn=["element"],Zo=["content"],rl=["*"],Gs=(xe,tt,u)=>({"p-scroller":!0,"p-scroller-inline":xe,"p-both-scroll":tt,"p-horizontal-scroll":u}),Qr=(xe,tt)=>({$implicit:xe,options:tt}),ol=xe=>({"p-scroller-loading":xe}),al=xe=>({"p-component-overlay":xe}),vr=xe=>({numCols:xe}),Hs=xe=>({options:xe}),yr=()=>({styleClass:"p-scroller-loading-icon"}),ll=(xe,tt)=>({rows:xe,columns:tt});function pa(xe,tt){1&xe&&e.eu8(0)}function Ra(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,pa,1,0,"ng-container",10),e.bVm()),2&xe){const u=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",u.contentTemplate)("ngTemplateOutletContext",e.l_i(2,Qr,u.loadedItems,u.getContentOptions()))}}function bo(xe,tt){1&xe&&e.eu8(0)}function xr(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,bo,1,0,"ng-container",10),e.bVm()),2&xe){const u=tt.$implicit,ne=tt.index,ue=e.XpG(3);e.R7$(),e.Y8G("ngTemplateOutlet",ue.itemTemplate)("ngTemplateOutletContext",e.l_i(2,Qr,u,ue.getOptions(ne)))}}function fa(xe,tt){if(1&xe&&(e.j41(0,"div",11,3),e.DNE(2,xr,2,5,"ng-container",12),e.k0s()),2&xe){const u=e.XpG(2);e.Y8G("ngClass",e.eq3(5,ol,u.d_loading))("ngStyle",u.contentStyle),e.BMQ("data-pc-section","content"),e.R7$(2),e.Y8G("ngForOf",u.loadedItems)("ngForTrackBy",u._trackBy||u.index)}}function kr(xe,tt){if(1&xe&&e.nrm(0,"div",13),2&xe){const u=e.XpG(2);e.Y8G("ngStyle",u.spacerStyle),e.BMQ("data-pc-section","spacer")}}function ga(xe,tt){1&xe&&e.eu8(0)}function Is(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,ga,1,0,"ng-container",10),e.bVm()),2&xe){const u=tt.index,ne=e.XpG(4);e.R7$(),e.Y8G("ngTemplateOutlet",ne.loaderTemplate)("ngTemplateOutletContext",e.eq3(4,Hs,ne.getLoaderOptions(u,ne.both&&e.eq3(2,vr,ne._numItemsInViewport.cols))))}}function Us(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,Is,2,6,"ng-container",15),e.bVm()),2&xe){const u=e.XpG(3);e.R7$(),e.Y8G("ngForOf",u.loaderArr)}}function qi(xe,tt){1&xe&&e.eu8(0)}function Vr(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,qi,1,0,"ng-container",10),e.bVm()),2&xe){const u=e.XpG(4);e.R7$(),e.Y8G("ngTemplateOutlet",u.loaderIconTemplate)("ngTemplateOutletContext",e.eq3(3,Hs,e.lJ4(2,yr)))}}function Io(xe,tt){1&xe&&e.nrm(0,"SpinnerIcon",16),2&xe&&(e.Y8G("styleClass","p-scroller-loading-icon pi-spin"),e.BMQ("data-pc-section","loadingIcon"))}function ma(xe,tt){if(1&xe&&e.DNE(0,Vr,2,5,"ng-container",6)(1,Io,1,2,"ng-template",null,5,e.C5r),2&xe){const u=e.sdS(2),ne=e.XpG(3);e.Y8G("ngIf",ne.loaderIconTemplate)("ngIfElse",u)}}function vo(xe,tt){if(1&xe&&(e.j41(0,"div",14),e.DNE(1,Us,2,1,"ng-container",6)(2,ma,3,2,"ng-template",null,4,e.C5r),e.k0s()),2&xe){const u=e.sdS(3),ne=e.XpG(2);e.Y8G("ngClass",e.eq3(4,al,!ne.loaderTemplate)),e.BMQ("data-pc-section","loader"),e.R7$(),e.Y8G("ngIf",ne.loaderTemplate)("ngIfElse",u)}}function ba(xe,tt){if(1&xe){const u=e.RV6();e.qex(0),e.j41(1,"div",7,1),e.bIt("scroll",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onContainerScroll(ue))}),e.DNE(3,Ra,2,5,"ng-container",6)(4,fa,3,7,"ng-template",null,2,e.C5r)(6,kr,1,2,"div",8)(7,vo,4,6,"div",9),e.k0s(),e.bVm()}if(2&xe){const u=e.sdS(5),ne=e.XpG();e.R7$(),e.HbH(ne._styleClass),e.Y8G("ngStyle",ne._style)("ngClass",e.sMw(12,Gs,ne.inline,ne.both,ne.horizontal)),e.BMQ("id",ne._id)("tabindex",ne.tabindex)("data-pc-name","scroller")("data-pc-section","root"),e.R7$(2),e.Y8G("ngIf",ne.contentTemplate)("ngIfElse",u),e.R7$(3),e.Y8G("ngIf",ne._showSpacer),e.R7$(),e.Y8G("ngIf",!ne.loaderDisabled&&ne._showLoader&&ne.d_loading)}}function cl(xe,tt){1&xe&&e.eu8(0)}function Oo(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,cl,1,0,"ng-container",10),e.bVm()),2&xe){const u=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",u.contentTemplate)("ngTemplateOutletContext",e.l_i(5,Qr,u.items,e.l_i(2,ll,u._items,u.loadedColumns)))}}function tr(xe,tt){if(1&xe&&(e.SdG(0),e.DNE(1,Oo,2,8,"ng-container",17)),2&xe){const u=e.XpG();e.R7$(),e.Y8G("ngIf",u.contentTemplate)}}let hl=(()=>{class xe{document;platformId;renderer;cd;zone;get id(){return this._id}set id(u){this._id=u}get style(){return this._style}set style(u){this._style=u}get styleClass(){return this._styleClass}set styleClass(u){this._styleClass=u}get tabindex(){return this._tabindex}set tabindex(u){this._tabindex=u}get items(){return this._items}set items(u){this._items=u}get itemSize(){return this._itemSize}set itemSize(u){this._itemSize=u}get scrollHeight(){return this._scrollHeight}set scrollHeight(u){this._scrollHeight=u}get scrollWidth(){return this._scrollWidth}set scrollWidth(u){this._scrollWidth=u}get orientation(){return this._orientation}set orientation(u){this._orientation=u}get step(){return this._step}set step(u){this._step=u}get delay(){return this._delay}set delay(u){this._delay=u}get resizeDelay(){return this._resizeDelay}set resizeDelay(u){this._resizeDelay=u}get appendOnly(){return this._appendOnly}set appendOnly(u){this._appendOnly=u}get inline(){return this._inline}set inline(u){this._inline=u}get lazy(){return this._lazy}set lazy(u){this._lazy=u}get disabled(){return this._disabled}set disabled(u){this._disabled=u}get loaderDisabled(){return this._loaderDisabled}set loaderDisabled(u){this._loaderDisabled=u}get columns(){return this._columns}set columns(u){this._columns=u}get showSpacer(){return this._showSpacer}set showSpacer(u){this._showSpacer=u}get showLoader(){return this._showLoader}set showLoader(u){this._showLoader=u}get numToleratedItems(){return this._numToleratedItems}set numToleratedItems(u){this._numToleratedItems=u}get loading(){return this._loading}set loading(u){this._loading=u}get autoSize(){return this._autoSize}set autoSize(u){this._autoSize=u}get trackBy(){return this._trackBy}set trackBy(u){this._trackBy=u}get options(){return this._options}set options(u){this._options=u,u&&"object"==typeof u&&Object.entries(u).forEach(([ne,ue])=>this[`_${ne}`]!==ue&&(this[`_${ne}`]=ue))}onLazyLoad=new e.bkB;onScroll=new e.bkB;onScrollIndexChange=new e.bkB;elementViewChild;contentViewChild;templates;_id;_style;_styleClass;_tabindex=0;_items;_itemSize=0;_scrollHeight;_scrollWidth;_orientation="vertical";_step=0;_delay=0;_resizeDelay=10;_appendOnly=!1;_inline=!1;_lazy=!1;_disabled=!1;_loaderDisabled=!1;_columns;_showSpacer=!0;_showLoader=!1;_numToleratedItems;_loading;_autoSize=!1;_trackBy;_options;d_loading=!1;d_numToleratedItems;contentEl;contentTemplate;itemTemplate;loaderTemplate;loaderIconTemplate;first=0;last=0;page=0;isRangeChanged=!1;numItemsInViewport=0;lastScrollPos=0;lazyLoadState={};loaderArr=[];spacerStyle={};contentStyle={};scrollTimeout;resizeTimeout;initialized=!1;windowResizeListener;defaultWidth;defaultHeight;defaultContentWidth;defaultContentHeight;get vertical(){return"vertical"===this._orientation}get horizontal(){return"horizontal"===this._orientation}get both(){return"both"===this._orientation}get loadedItems(){return this._items&&!this.d_loading?this.both?this._items.slice(this._appendOnly?0:this.first.rows,this.last.rows).map(u=>this._columns?u:u.slice(this._appendOnly?0:this.first.cols,this.last.cols)):this.horizontal&&this._columns?this._items:this._items.slice(this._appendOnly?0:this.first,this.last):[]}get loadedRows(){return this.d_loading?this._loaderDisabled?this.loaderArr:[]:this.loadedItems}get loadedColumns(){return this._columns&&(this.both||this.horizontal)?this.d_loading&&this._loaderDisabled?this.both?this.loaderArr[0]:this.loaderArr:this._columns.slice(this.both?this.first.cols:this.first,this.both?this.last.cols:this.last):this._columns}constructor(u,ne,ue,Ie,nt){this.document=u,this.platformId=ne,this.renderer=ue,this.cd=Ie,this.zone=nt}ngOnInit(){this.setInitialState()}ngOnChanges(u){let ne=!1;if(u.loading){const{previousValue:ue,currentValue:Ie}=u.loading;this.lazy&&ue!==Ie&&Ie!==this.d_loading&&(this.d_loading=Ie,ne=!0)}if(u.orientation&&(this.lastScrollPos=this.both?{top:0,left:0}:0),u.numToleratedItems){const{previousValue:ue,currentValue:Ie}=u.numToleratedItems;ue!==Ie&&Ie!==this.d_numToleratedItems&&(this.d_numToleratedItems=Ie)}if(u.options){const{previousValue:ue,currentValue:Ie}=u.options;this.lazy&&ue?.loading!==Ie?.loading&&Ie?.loading!==this.d_loading&&(this.d_loading=Ie.loading,ne=!0),ue?.numToleratedItems!==Ie?.numToleratedItems&&Ie?.numToleratedItems!==this.d_numToleratedItems&&(this.d_numToleratedItems=Ie.numToleratedItems)}this.initialized&&!ne&&(u.items?.previousValue?.length!==u.items?.currentValue?.length||u.itemSize||u.scrollHeight||u.scrollWidth)&&(this.init(),this.calculateAutoSize())}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"content":this.contentTemplate=u.template;break;case"item":default:this.itemTemplate=u.template;break;case"loader":this.loaderTemplate=u.template;break;case"loadericon":this.loaderIconTemplate=u.template}})}ngAfterViewInit(){Promise.resolve().then(()=>{this.viewInit()})}ngAfterViewChecked(){this.initialized||this.viewInit()}ngOnDestroy(){this.unbindResizeListener(),this.contentEl=null,this.initialized=!1}viewInit(){(0,M.UE)(this.platformId)&&re.D.isVisible(this.elementViewChild?.nativeElement)&&(this.setInitialState(),this.setContentEl(this.contentEl),this.init(),this.defaultWidth=re.D.getWidth(this.elementViewChild?.nativeElement),this.defaultHeight=re.D.getHeight(this.elementViewChild?.nativeElement),this.defaultContentWidth=re.D.getWidth(this.contentEl),this.defaultContentHeight=re.D.getHeight(this.contentEl),this.initialized=!0)}init(){this._disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize(),this.bindResizeListener(),this.cd.detectChanges())}setContentEl(u){this.contentEl=u||this.contentViewChild?.nativeElement||re.D.findSingle(this.elementViewChild?.nativeElement,".p-scroller-content")}setInitialState(){this.first=this.both?{rows:0,cols:0}:0,this.last=this.both?{rows:0,cols:0}:0,this.numItemsInViewport=this.both?{rows:0,cols:0}:0,this.lastScrollPos=this.both?{top:0,left:0}:0,this.d_loading=this._loading||!1,this.d_numToleratedItems=this._numToleratedItems,this.loaderArr=[],this.spacerStyle={},this.contentStyle={}}getElementRef(){return this.elementViewChild}getPageByFirst(u){return Math.floor(((u??this.first)+4*this.d_numToleratedItems)/(this._step||1))}isPageChanged(u){return!this._step||this.page!==this.getPageByFirst(u??this.first)}scrollTo(u){this.elementViewChild?.nativeElement?.scrollTo(u)}scrollToIndex(u,ne="auto"){if(this.both?u.every(Ie=>Ie>-1):u>-1){const Ie=this.first,{scrollTop:nt=0,scrollLeft:Tt=0}=this.elementViewChild?.nativeElement,{numToleratedItems:zt}=this.calculateNumItems(),ai=this.getContentPosition(),oi=this.itemSize,Li=(qn=0,Ds)=>qn<=Ds?0:qn,Zi=(qn,Ds,$s)=>qn*Ds+$s,Yi=(qn=0,Ds=0)=>this.scrollTo({left:qn,top:Ds,behavior:ne});let tn=this.both?{rows:0,cols:0}:0,wn=!1,nn=!1;this.both?(tn={rows:Li(u[0],zt[0]),cols:Li(u[1],zt[1])},Yi(Zi(tn.cols,oi[1],ai.left),Zi(tn.rows,oi[0],ai.top)),nn=this.lastScrollPos.top!==nt||this.lastScrollPos.left!==Tt,wn=tn.rows!==Ie.rows||tn.cols!==Ie.cols):(tn=Li(u,zt),this.horizontal?Yi(Zi(tn,oi,ai.left),nt):Yi(Tt,Zi(tn,oi,ai.top)),nn=this.lastScrollPos!==(this.horizontal?Tt:nt),wn=tn!==Ie),this.isRangeChanged=wn,nn&&(this.first=tn)}}scrollInView(u,ne,ue="auto"){if(ne){const{first:Ie,viewport:nt}=this.getRenderedRange(),Tt=(oi=0,Li=0)=>this.scrollTo({left:oi,top:Li,behavior:ue}),ai="to-end"===ne;if("to-start"===ne){if(this.both)nt.first.rows-Ie.rows>u[0]?Tt(nt.first.cols*this._itemSize[1],(nt.first.rows-1)*this._itemSize[0]):nt.first.cols-Ie.cols>u[1]&&Tt((nt.first.cols-1)*this._itemSize[1],nt.first.rows*this._itemSize[0]);else if(nt.first-Ie>u){const oi=(nt.first-1)*this._itemSize;this.horizontal?Tt(oi,0):Tt(0,oi)}}else if(ai)if(this.both)nt.last.rows-Ie.rows<=u[0]+1?Tt(nt.first.cols*this._itemSize[1],(nt.first.rows+1)*this._itemSize[0]):nt.last.cols-Ie.cols<=u[1]+1&&Tt((nt.first.cols+1)*this._itemSize[1],nt.first.rows*this._itemSize[0]);else if(nt.last-Ie<=u+1){const oi=(nt.first+1)*this._itemSize;this.horizontal?Tt(oi,0):Tt(0,oi)}}else this.scrollToIndex(u,ue)}getRenderedRange(){const u=(Ie,nt)=>Math.floor(Ie/(nt||Ie));let ne=this.first,ue=0;if(this.elementViewChild?.nativeElement){const{scrollTop:Ie,scrollLeft:nt}=this.elementViewChild.nativeElement;this.both?(ne={rows:u(Ie,this._itemSize[0]),cols:u(nt,this._itemSize[1])},ue={rows:ne.rows+this.numItemsInViewport.rows,cols:ne.cols+this.numItemsInViewport.cols}):(ne=u(this.horizontal?nt:Ie,this._itemSize),ue=ne+this.numItemsInViewport)}return{first:this.first,last:this.last,viewport:{first:ne,last:ue}}}calculateNumItems(){const u=this.getContentPosition(),ne=(this.elementViewChild?.nativeElement?this.elementViewChild.nativeElement.offsetWidth-u.left:0)||0,ue=(this.elementViewChild?.nativeElement?this.elementViewChild.nativeElement.offsetHeight-u.top:0)||0,Ie=(ai,oi)=>Math.ceil(ai/(oi||ai)),nt=ai=>Math.ceil(ai/2),Tt=this.both?{rows:Ie(ue,this._itemSize[0]),cols:Ie(ne,this._itemSize[1])}:Ie(this.horizontal?ne:ue,this._itemSize);return{numItemsInViewport:Tt,numToleratedItems:this.d_numToleratedItems||(this.both?[nt(Tt.rows),nt(Tt.cols)]:nt(Tt))}}calculateOptions(){const{numItemsInViewport:u,numToleratedItems:ne}=this.calculateNumItems(),ue=(Tt,zt,ai,oi=!1)=>this.getLast(Tt+zt+(TtArray.from({length:u.cols})):Array.from({length:u})),this._lazy&&Promise.resolve().then(()=>{this.lazyLoadState={first:this._step?this.both?{rows:0,cols:Ie.cols}:0:Ie,last:Math.min(this._step?this._step:this.last,this.items.length)},this.handleEvents("onLazyLoad",this.lazyLoadState)})}calculateAutoSize(){this._autoSize&&!this.d_loading&&Promise.resolve().then(()=>{if(this.contentEl){this.contentEl.style.minHeight=this.contentEl.style.minWidth="auto",this.contentEl.style.position="relative",this.elementViewChild.nativeElement.style.contain="none";const[u,ne]=[re.D.getWidth(this.contentEl),re.D.getHeight(this.contentEl)];u!==this.defaultContentWidth&&(this.elementViewChild.nativeElement.style.width=""),ne!==this.defaultContentHeight&&(this.elementViewChild.nativeElement.style.height="");const[ue,Ie]=[re.D.getWidth(this.elementViewChild.nativeElement),re.D.getHeight(this.elementViewChild.nativeElement)];(this.both||this.horizontal)&&(this.elementViewChild.nativeElement.style.width=uethis.elementViewChild.nativeElement.style[nt]=Tt;this.both||this.horizontal?(Ie("height",ue),Ie("width",ne)):Ie("height",ue)}}setSpacerSize(){if(this._items){const u=this.getContentPosition(),ne=(ue,Ie,nt,Tt=0)=>this.spacerStyle={...this.spacerStyle,[`${ue}`]:(Ie||[]).length*nt+Tt+"px"};this.both?(ne("height",this._items,this._itemSize[0],u.y),ne("width",this._columns||this._items[1],this._itemSize[1],u.x)):this.horizontal?ne("width",this._columns||this._items,this._itemSize,u.x):ne("height",this._items,this._itemSize,u.y)}}setContentPosition(u){if(this.contentEl&&!this._appendOnly){const ne=u?u.first:this.first,ue=(nt,Tt)=>nt*Tt,Ie=(nt=0,Tt=0)=>this.contentStyle={...this.contentStyle,transform:`translate3d(${nt}px, ${Tt}px, 0)`};if(this.both)Ie(ue(ne.cols,this._itemSize[1]),ue(ne.rows,this._itemSize[0]));else{const nt=ue(ne,this._itemSize);this.horizontal?Ie(nt,0):Ie(0,nt)}}}onScrollPositionChange(u){const ne=u.target,ue=this.getContentPosition(),Ie=(nn,qn)=>nn?nn>qn?nn-qn:nn:0,nt=(nn,qn)=>Math.floor(nn/(qn||nn)),Tt=(nn,qn,Ds,$s,hr,lo)=>nn<=hr?hr:lo?Ds-$s-hr:qn+hr-1,zt=(nn,qn,Ds,$s,hr,lo,Uo)=>nn<=lo?0:Math.max(0,Uo?nnqn?Ds:nn-2*lo),ai=(nn,qn,Ds,$s,hr,lo=!1)=>{let Uo=qn+$s+2*hr;return nn>=hr&&(Uo+=hr+1),this.getLast(Uo,lo)},oi=Ie(ne.scrollTop,ue.top),Li=Ie(ne.scrollLeft,ue.left);let Zi=this.both?{rows:0,cols:0}:0,Yi=this.last,tn=!1,wn=this.lastScrollPos;if(this.both){const nn=this.lastScrollPos.top<=oi,qn=this.lastScrollPos.left<=Li;if(!this._appendOnly||this._appendOnly&&(nn||qn)){const Ds={rows:nt(oi,this._itemSize[0]),cols:nt(Li,this._itemSize[1])},$s={rows:Tt(Ds.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],nn),cols:Tt(Ds.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],qn)};Zi={rows:zt(Ds.rows,$s.rows,this.first.rows,0,0,this.d_numToleratedItems[0],nn),cols:zt(Ds.cols,$s.cols,this.first.cols,0,0,this.d_numToleratedItems[1],qn)},Yi={rows:ai(Ds.rows,Zi.rows,0,this.numItemsInViewport.rows,this.d_numToleratedItems[0]),cols:ai(Ds.cols,Zi.cols,0,this.numItemsInViewport.cols,this.d_numToleratedItems[1],!0)},tn=Zi.rows!==this.first.rows||Yi.rows!==this.last.rows||Zi.cols!==this.first.cols||Yi.cols!==this.last.cols||this.isRangeChanged,wn={top:oi,left:Li}}}else{const nn=this.horizontal?Li:oi,qn=this.lastScrollPos<=nn;if(!this._appendOnly||this._appendOnly&&qn){const Ds=nt(nn,this._itemSize);Zi=zt(Ds,Tt(Ds,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,qn),this.first,0,0,this.d_numToleratedItems,qn),Yi=ai(Ds,Zi,0,this.numItemsInViewport,this.d_numToleratedItems),tn=Zi!==this.first||Yi!==this.last||this.isRangeChanged,wn=nn}}return{first:Zi,last:Yi,isRangeChanged:tn,scrollPos:wn}}onScrollChange(u){const{first:ne,last:ue,isRangeChanged:Ie,scrollPos:nt}=this.onScrollPositionChange(u);if(Ie){const Tt={first:ne,last:ue};if(this.setContentPosition(Tt),this.first=ne,this.last=ue,this.lastScrollPos=nt,this.handleEvents("onScrollIndexChange",Tt),this._lazy&&this.isPageChanged(ne)){const zt={first:this._step?Math.min(this.getPageByFirst(ne)*this._step,this.items.length-this._step):ne,last:Math.min(this._step?(this.getPageByFirst(ne)+1)*this._step:ue,this.items.length)};(this.lazyLoadState.first!==zt.first||this.lazyLoadState.last!==zt.last)&&this.handleEvents("onLazyLoad",zt),this.lazyLoadState=zt}}}onContainerScroll(u){if(this.handleEvents("onScroll",{originalEvent:u}),this._delay&&this.isPageChanged()){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),!this.d_loading&&this.showLoader){const{isRangeChanged:ne}=this.onScrollPositionChange(u);(ne||this._step&&this.isPageChanged())&&(this.d_loading=!0,this.cd.detectChanges())}this.scrollTimeout=setTimeout(()=>{this.onScrollChange(u),this.d_loading&&this.showLoader&&(!this._lazy||void 0===this._loading)&&(this.d_loading=!1,this.page=this.getPageByFirst(),this.cd.detectChanges())},this._delay)}else!this.d_loading&&this.onScrollChange(u)}bindResizeListener(){(0,M.UE)(this.platformId)&&(this.windowResizeListener||this.zone.runOutsideAngular(()=>{const u=this.document.defaultView,ne=re.D.isTouchDevice()?"orientationchange":"resize";this.windowResizeListener=this.renderer.listen(u,ne,this.onWindowResize.bind(this))}))}unbindResizeListener(){this.windowResizeListener&&(this.windowResizeListener(),this.windowResizeListener=null)}onWindowResize(){this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{if(re.D.isVisible(this.elementViewChild?.nativeElement)){const[u,ne]=[re.D.getWidth(this.elementViewChild?.nativeElement),re.D.getHeight(this.elementViewChild?.nativeElement)],[ue,Ie]=[u!==this.defaultWidth,ne!==this.defaultHeight];(this.both?ue||Ie:this.horizontal?ue:this.vertical&&Ie)&&this.zone.run(()=>{this.d_numToleratedItems=this._numToleratedItems,this.defaultWidth=u,this.defaultHeight=ne,this.defaultContentWidth=re.D.getWidth(this.contentEl),this.defaultContentHeight=re.D.getHeight(this.contentEl),this.init()})}},this._resizeDelay)}handleEvents(u,ne){return this.options&&this.options[u]?this.options[u](ne):this[u].emit(ne)}getContentOptions(){return{contentStyleClass:"p-scroller-content "+(this.d_loading?"p-scroller-loading":""),items:this.loadedItems,getItemOptions:u=>this.getOptions(u),loading:this.d_loading,getLoaderOptions:(u,ne)=>this.getLoaderOptions(u,ne),itemSize:this._itemSize,rows:this.loadedRows,columns:this.loadedColumns,spacerStyle:this.spacerStyle,contentStyle:this.contentStyle,vertical:this.vertical,horizontal:this.horizontal,both:this.both}}getOptions(u){const ne=(this._items||[]).length,ue=this.both?this.first.rows+u:this.first+u;return{index:ue,count:ne,first:0===ue,last:ue===ne-1,even:ue%2==0,odd:ue%2!=0}}getLoaderOptions(u,ne){const ue=this.loaderArr.length;return{index:u,count:ue,first:0===u,last:u===ue-1,even:u%2==0,odd:u%2!=0,...ne}}static \u0275fac=function(ne){return new(ne||xe)(e.rXU(M.qQ),e.rXU(e.Agw),e.rXU(e.sFG),e.rXU(e.gRc),e.rXU(e.SKi))};static \u0275cmp=e.VBU({type:xe,selectors:[["p-scroller"]],contentQueries:function(ne,ue,Ie){if(1&ne&&e.wni(Ie,Pe.Ei,4),2&ne){let nt;e.mGM(nt=e.lsd())&&(ue.templates=nt)}},viewQuery:function(ne,ue){if(1&ne&&(e.GBs(mn,5),e.GBs(Zo,5)),2&ne){let Ie;e.mGM(Ie=e.lsd())&&(ue.elementViewChild=Ie.first),e.mGM(Ie=e.lsd())&&(ue.contentViewChild=Ie.first)}},hostAttrs:[1,"p-scroller-viewport","p-element"],inputs:{id:"id",style:"style",styleClass:"styleClass",tabindex:"tabindex",items:"items",itemSize:"itemSize",scrollHeight:"scrollHeight",scrollWidth:"scrollWidth",orientation:"orientation",step:"step",delay:"delay",resizeDelay:"resizeDelay",appendOnly:"appendOnly",inline:"inline",lazy:"lazy",disabled:"disabled",loaderDisabled:"loaderDisabled",columns:"columns",showSpacer:"showSpacer",showLoader:"showLoader",numToleratedItems:"numToleratedItems",loading:"loading",autoSize:"autoSize",trackBy:"trackBy",options:"options"},outputs:{onLazyLoad:"onLazyLoad",onScroll:"onScroll",onScrollIndexChange:"onScrollIndexChange"},features:[e.OA$],ngContentSelectors:rl,decls:3,vars:2,consts:[["disabledContainer",""],["element",""],["buildInContent",""],["content",""],["buildInLoader",""],["buildInLoaderIcon",""],[4,"ngIf","ngIfElse"],[3,"scroll","ngStyle","ngClass"],["class","p-scroller-spacer",3,"ngStyle",4,"ngIf"],["class","p-scroller-loader",3,"ngClass",4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"p-scroller-content",3,"ngClass","ngStyle"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"p-scroller-spacer",3,"ngStyle"],[1,"p-scroller-loader",3,"ngClass"],[4,"ngFor","ngForOf"],[3,"styleClass"],[4,"ngIf"]],template:function(ne,ue){if(1&ne&&(e.NAR(),e.DNE(0,ba,8,16,"ng-container",6)(1,tr,2,1,"ng-template",null,0,e.C5r)),2&ne){const Ie=e.sdS(2);e.Y8G("ngIf",!ue._disabled)("ngIfElse",Ie)}},dependencies:()=>[M.YU,M.Sq,M.bT,M.T3,M.B3,qr.N],styles:["@layer primeng{p-scroller{flex:1;outline:0 none}.p-scroller{position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;outline:0 none}.p-scroller-content{position:absolute;top:0;left:0;min-height:100%;min-width:100%;will-change:transform}.p-scroller-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0;pointer-events:none}.p-scroller-loader{position:sticky;top:0;left:0;width:100%;height:100%}.p-scroller-loader.p-component-overlay{display:flex;align-items:center;justify-content:center}.p-scroller-loading-icon{scale:2}.p-scroller-inline .p-scroller-content{position:static}}\n"],encapsulation:2})}return xe})(),zr=(()=>{class xe{static \u0275fac=function(ne){return new(ne||xe)};static \u0275mod=e.$C({type:xe});static \u0275inj=e.G2t({imports:[M.MD,Pe.Gg,qr.N,Pe.Gg]})}return xe})(),dl=(()=>{class xe{platformId;el;zone;config;renderer;viewContainer;tooltipPosition;tooltipEvent="hover";appendTo;positionStyle;tooltipStyleClass;tooltipZIndex;escape=!0;showDelay;hideDelay;life;positionTop;positionLeft;autoHide=!0;fitContent=!0;hideOnEscape=!0;content;get disabled(){return this._disabled}set disabled(u){this._disabled=u,this.deactivate()}tooltipOptions;_tooltipOptions={tooltipLabel:null,tooltipPosition:"right",tooltipEvent:"hover",appendTo:"body",positionStyle:null,tooltipStyleClass:null,tooltipZIndex:"auto",escape:!0,disabled:null,showDelay:null,hideDelay:null,positionTop:null,positionLeft:null,life:null,autoHide:!0,hideOnEscape:!0,id:(0,le._Y)()+"_tooltip"};_disabled;container;styleClass;tooltipText;showTimeout;hideTimeout;active;mouseEnterListener;mouseLeaveListener;containerMouseleaveListener;clickListener;focusListener;blurListener;scrollHandler;resizeListener;constructor(u,ne,ue,Ie,nt,Tt){this.platformId=u,this.el=ne,this.zone=ue,this.config=Ie,this.renderer=nt,this.viewContainer=Tt}ngAfterViewInit(){(0,M.UE)(this.platformId)&&this.zone.runOutsideAngular(()=>{if("hover"===this.getOption("tooltipEvent"))this.mouseEnterListener=this.onMouseEnter.bind(this),this.mouseLeaveListener=this.onMouseLeave.bind(this),this.clickListener=this.onInputClick.bind(this),this.el.nativeElement.addEventListener("mouseenter",this.mouseEnterListener),this.el.nativeElement.addEventListener("click",this.clickListener),this.el.nativeElement.addEventListener("mouseleave",this.mouseLeaveListener);else if("focus"===this.getOption("tooltipEvent")){this.focusListener=this.onFocus.bind(this),this.blurListener=this.onBlur.bind(this);let u=this.getTarget(this.el.nativeElement);u.addEventListener("focus",this.focusListener),u.addEventListener("blur",this.blurListener)}})}ngOnChanges(u){u.tooltipPosition&&this.setOption({tooltipPosition:u.tooltipPosition.currentValue}),u.tooltipEvent&&this.setOption({tooltipEvent:u.tooltipEvent.currentValue}),u.appendTo&&this.setOption({appendTo:u.appendTo.currentValue}),u.positionStyle&&this.setOption({positionStyle:u.positionStyle.currentValue}),u.tooltipStyleClass&&this.setOption({tooltipStyleClass:u.tooltipStyleClass.currentValue}),u.tooltipZIndex&&this.setOption({tooltipZIndex:u.tooltipZIndex.currentValue}),u.escape&&this.setOption({escape:u.escape.currentValue}),u.showDelay&&this.setOption({showDelay:u.showDelay.currentValue}),u.hideDelay&&this.setOption({hideDelay:u.hideDelay.currentValue}),u.life&&this.setOption({life:u.life.currentValue}),u.positionTop&&this.setOption({positionTop:u.positionTop.currentValue}),u.positionLeft&&this.setOption({positionLeft:u.positionLeft.currentValue}),u.disabled&&this.setOption({disabled:u.disabled.currentValue}),u.content&&(this.setOption({tooltipLabel:u.content.currentValue}),this.active&&(u.content.currentValue?this.container&&this.container.offsetParent?(this.updateText(),this.align()):this.show():this.hide())),u.autoHide&&this.setOption({autoHide:u.autoHide.currentValue}),u.id&&this.setOption({id:u.id.currentValue}),u.tooltipOptions&&(this._tooltipOptions={...this._tooltipOptions,...u.tooltipOptions.currentValue},this.deactivate(),this.active&&(this.getOption("tooltipLabel")?this.container&&this.container.offsetParent?(this.updateText(),this.align()):this.show():this.hide()))}isAutoHide(){return this.getOption("autoHide")}onMouseEnter(u){!this.container&&!this.showTimeout&&this.activate()}onMouseLeave(u){(this.isAutoHide()||!(re.D.hasClass(u.relatedTarget,"p-tooltip")||re.D.hasClass(u.relatedTarget,"p-tooltip-text")||re.D.hasClass(u.relatedTarget,"p-tooltip-arrow")))&&this.deactivate()}onFocus(u){this.activate()}onBlur(u){this.deactivate()}onInputClick(u){this.deactivate()}onPressEscape(){this.hideOnEscape&&this.deactivate()}activate(){if(this.active=!0,this.clearHideTimeout(),this.getOption("showDelay")?this.showTimeout=setTimeout(()=>{this.show()},this.getOption("showDelay")):this.show(),this.getOption("life")){let u=this.getOption("showDelay")?this.getOption("life")+this.getOption("showDelay"):this.getOption("life");this.hideTimeout=setTimeout(()=>{this.hide()},u)}}deactivate(){this.active=!1,this.clearShowTimeout(),this.getOption("hideDelay")?(this.clearHideTimeout(),this.hideTimeout=setTimeout(()=>{this.hide()},this.getOption("hideDelay"))):this.hide()}create(){this.container&&(this.clearHideTimeout(),this.remove()),this.container=document.createElement("div"),this.container.setAttribute("id",this.getOption("id")),this.container.setAttribute("role","tooltip");let u=document.createElement("div");u.className="p-tooltip-arrow",this.container.appendChild(u),this.tooltipText=document.createElement("div"),this.tooltipText.className="p-tooltip-text",this.updateText(),this.getOption("positionStyle")&&(this.container.style.position=this.getOption("positionStyle")),this.container.appendChild(this.tooltipText),"body"===this.getOption("appendTo")?document.body.appendChild(this.container):"target"===this.getOption("appendTo")?re.D.appendChild(this.container,this.el.nativeElement):re.D.appendChild(this.container,this.getOption("appendTo")),this.container.style.display="inline-block",this.fitContent&&(this.container.style.width="fit-content"),this.isAutoHide()?this.container.style.pointerEvents="none":(this.container.style.pointerEvents="unset",this.bindContainerMouseleaveListener())}bindContainerMouseleaveListener(){this.containerMouseleaveListener||(this.containerMouseleaveListener=this.renderer.listen(this.container??this.container.nativeElement,"mouseleave",ne=>{this.deactivate()}))}unbindContainerMouseleaveListener(){this.containerMouseleaveListener&&(this.bindContainerMouseleaveListener(),this.containerMouseleaveListener=null)}show(){!this.getOption("tooltipLabel")||this.getOption("disabled")||(this.create(),this.align(),re.D.fadeIn(this.container,250),"auto"===this.getOption("tooltipZIndex")?le.Q$.set("tooltip",this.container,this.config.zIndex.tooltip):this.container.style.zIndex=this.getOption("tooltipZIndex"),this.bindDocumentResizeListener(),this.bindScrollListener())}hide(){"auto"===this.getOption("tooltipZIndex")&&le.Q$.clear(this.container),this.remove()}updateText(){const u=this.getOption("tooltipLabel");if(u instanceof e.C4Q){const ne=this.viewContainer.createEmbeddedView(u);ne.detectChanges(),ne.rootNodes.forEach(ue=>this.tooltipText.appendChild(ue))}else this.getOption("escape")?(this.tooltipText.innerHTML="",this.tooltipText.appendChild(document.createTextNode(u))):this.tooltipText.innerHTML=u}align(){switch(this.getOption("tooltipPosition")){case"top":this.alignTop(),this.isOutOfBounds()&&(this.alignBottom(),this.isOutOfBounds()&&(this.alignRight(),this.isOutOfBounds()&&this.alignLeft()));break;case"bottom":this.alignBottom(),this.isOutOfBounds()&&(this.alignTop(),this.isOutOfBounds()&&(this.alignRight(),this.isOutOfBounds()&&this.alignLeft()));break;case"left":this.alignLeft(),this.isOutOfBounds()&&(this.alignRight(),this.isOutOfBounds()&&(this.alignTop(),this.isOutOfBounds()&&this.alignBottom()));break;case"right":this.alignRight(),this.isOutOfBounds()&&(this.alignLeft(),this.isOutOfBounds()&&(this.alignTop(),this.isOutOfBounds()&&this.alignBottom()))}}getHostOffset(){if("body"===this.getOption("appendTo")||"target"===this.getOption("appendTo")){let u=this.el.nativeElement.getBoundingClientRect();return{left:u.left+re.D.getWindowScrollLeft(),top:u.top+re.D.getWindowScrollTop()}}return{left:0,top:0}}alignRight(){this.preAlign("right");let u=this.getHostOffset(),ne=u.left+re.D.getOuterWidth(this.el.nativeElement),ue=u.top+(re.D.getOuterHeight(this.el.nativeElement)-re.D.getOuterHeight(this.container))/2;this.container.style.left=ne+this.getOption("positionLeft")+"px",this.container.style.top=ue+this.getOption("positionTop")+"px"}alignLeft(){this.preAlign("left");let u=this.getHostOffset(),ne=u.left-re.D.getOuterWidth(this.container),ue=u.top+(re.D.getOuterHeight(this.el.nativeElement)-re.D.getOuterHeight(this.container))/2;this.container.style.left=ne+this.getOption("positionLeft")+"px",this.container.style.top=ue+this.getOption("positionTop")+"px"}alignTop(){this.preAlign("top");let u=this.getHostOffset(),ne=u.left+(re.D.getOuterWidth(this.el.nativeElement)-re.D.getOuterWidth(this.container))/2,ue=u.top-re.D.getOuterHeight(this.container);this.container.style.left=ne+this.getOption("positionLeft")+"px",this.container.style.top=ue+this.getOption("positionTop")+"px"}alignBottom(){this.preAlign("bottom");let u=this.getHostOffset(),ne=u.left+(re.D.getOuterWidth(this.el.nativeElement)-re.D.getOuterWidth(this.container))/2,ue=u.top+re.D.getOuterHeight(this.el.nativeElement);this.container.style.left=ne+this.getOption("positionLeft")+"px",this.container.style.top=ue+this.getOption("positionTop")+"px"}setOption(u){this._tooltipOptions={...this._tooltipOptions,...u}}getOption(u){return this._tooltipOptions[u]}getTarget(u){return re.D.hasClass(u,"p-inputwrapper")?re.D.findSingle(u,"input"):u}preAlign(u){this.container.style.left="-999px",this.container.style.top="-999px";let ne="p-tooltip p-component p-tooltip-"+u;this.container.className=this.getOption("tooltipStyleClass")?ne+" "+this.getOption("tooltipStyleClass"):ne}isOutOfBounds(){let u=this.container.getBoundingClientRect(),ne=u.top,ue=u.left,Ie=re.D.getOuterWidth(this.container),nt=re.D.getOuterHeight(this.container),Tt=re.D.getViewport();return ue+Ie>Tt.width||ue<0||ne<0||ne+nt>Tt.height}onWindowResize(u){this.hide()}bindDocumentResizeListener(){this.zone.runOutsideAngular(()=>{this.resizeListener=this.onWindowResize.bind(this),window.addEventListener("resize",this.resizeListener)})}unbindDocumentResizeListener(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)}bindScrollListener(){this.scrollHandler||(this.scrollHandler=new re.b(this.el.nativeElement,()=>{this.container&&this.hide()})),this.scrollHandler.bindScrollListener()}unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()}unbindEvents(){if("hover"===this.getOption("tooltipEvent"))this.el.nativeElement.removeEventListener("mouseenter",this.mouseEnterListener),this.el.nativeElement.removeEventListener("mouseleave",this.mouseLeaveListener),this.el.nativeElement.removeEventListener("click",this.clickListener);else if("focus"===this.getOption("tooltipEvent")){let u=this.getTarget(this.el.nativeElement);u.removeEventListener("focus",this.focusListener),u.removeEventListener("blur",this.blurListener)}this.unbindDocumentResizeListener()}remove(){this.container&&this.container.parentElement&&("body"===this.getOption("appendTo")?document.body.removeChild(this.container):"target"===this.getOption("appendTo")?this.el.nativeElement.removeChild(this.container):re.D.removeChild(this.container,this.getOption("appendTo"))),this.unbindDocumentResizeListener(),this.unbindScrollListener(),this.unbindContainerMouseleaveListener(),this.clearTimeouts(),this.container=null,this.scrollHandler=null}clearShowTimeout(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=null)}clearHideTimeout(){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=null)}clearTimeouts(){this.clearShowTimeout(),this.clearHideTimeout()}ngOnDestroy(){this.unbindEvents(),this.container&&le.Q$.clear(this.container),this.remove(),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null)}static \u0275fac=function(ne){return new(ne||xe)(e.rXU(e.Agw),e.rXU(e.aKT),e.rXU(e.SKi),e.rXU(Pe.r1),e.rXU(e.sFG),e.rXU(e.c1b))};static \u0275dir=e.FsC({type:xe,selectors:[["","pTooltip",""]],hostAttrs:[1,"p-element"],hostBindings:function(ne,ue){1&ne&&e.bIt("keydown.escape",function(nt){return ue.onPressEscape(nt)},!1,e.EBC)},inputs:{tooltipPosition:"tooltipPosition",tooltipEvent:"tooltipEvent",appendTo:"appendTo",positionStyle:"positionStyle",tooltipStyleClass:"tooltipStyleClass",tooltipZIndex:"tooltipZIndex",escape:"escape",showDelay:"showDelay",hideDelay:"hideDelay",life:"life",positionTop:"positionTop",positionLeft:"positionLeft",autoHide:"autoHide",fitContent:"fitContent",hideOnEscape:"hideOnEscape",content:[e.Mj6.None,"pTooltip","content"],disabled:[e.Mj6.None,"tooltipDisabled","disabled"],tooltipOptions:"tooltipOptions"},features:[e.OA$]})}return xe})(),Mr=(()=>{class xe{static \u0275fac=function(ne){return new(ne||xe)};static \u0275mod=e.$C({type:xe});static \u0275inj=e.G2t({imports:[M.MD]})}return xe})(),rr=(()=>{class xe extends fe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(ue){return(u||(u=e.xGo(xe)))(ue||xe)}})();static \u0275cmp=e.VBU({type:xe,selectors:[["SearchIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M2.67602 11.0265C3.6661 11.688 4.83011 12.0411 6.02086 12.0411C6.81149 12.0411 7.59438 11.8854 8.32483 11.5828C8.87005 11.357 9.37808 11.0526 9.83317 10.6803L12.9769 13.8241C13.0323 13.8801 13.0983 13.9245 13.171 13.9548C13.2438 13.985 13.3219 14.0003 13.4007 14C13.4795 14.0003 13.5575 13.985 13.6303 13.9548C13.7031 13.9245 13.7691 13.8801 13.8244 13.8241C13.9367 13.7116 13.9998 13.5592 13.9998 13.4003C13.9998 13.2414 13.9367 13.089 13.8244 12.9765L10.6807 9.8328C11.053 9.37773 11.3573 8.86972 11.5831 8.32452C11.8857 7.59408 12.0414 6.81119 12.0414 6.02056C12.0414 4.8298 11.6883 3.66579 11.0268 2.67572C10.3652 1.68564 9.42494 0.913972 8.32483 0.45829C7.22472 0.00260857 6.01418 -0.116618 4.84631 0.115686C3.67844 0.34799 2.60568 0.921393 1.76369 1.76338C0.921698 2.60537 0.348296 3.67813 0.115991 4.84601C-0.116313 6.01388 0.00291375 7.22441 0.458595 8.32452C0.914277 9.42464 1.68595 10.3649 2.67602 11.0265ZM3.35565 2.0158C4.14456 1.48867 5.07206 1.20731 6.02086 1.20731C7.29317 1.20731 8.51338 1.71274 9.41304 2.6124C10.3127 3.51206 10.8181 4.73226 10.8181 6.00457C10.8181 6.95337 10.5368 7.88088 10.0096 8.66978C9.48251 9.45868 8.73328 10.0736 7.85669 10.4367C6.98011 10.7997 6.01554 10.8947 5.08496 10.7096C4.15439 10.5245 3.2996 10.0676 2.62869 9.39674C1.95778 8.72583 1.50089 7.87104 1.31579 6.94046C1.13068 6.00989 1.22568 5.04532 1.58878 4.16874C1.95187 3.29215 2.56675 2.54292 3.35565 2.0158Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ne,ue){1&ne&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ne&&(e.HbH(ue.getClassNames()),e.BMQ("aria-label",ue.ariaLabel)("aria-hidden",ue.ariaHidden)("role",ue.role),e.R7$(),e.BMQ("clip-path",ue.pathId),e.R7$(3),e.Y8G("id",ue.pathId))},encapsulation:2})}return xe})();const cs=xe=>({height:xe}),Dr=(xe,tt,u)=>({"p-dropdown-item":!0,"p-highlight":xe,"p-disabled":tt,"p-focus":u}),qo=xe=>({$implicit:xe});function va(xe,tt){if(1&xe&&(e.j41(0,"span"),e.EFF(1),e.k0s()),2&xe){let u;const ne=e.XpG();e.R7$(),e.JRh(null!==(u=ne.label)&&void 0!==u?u:"empty")}}function Na(xe,tt){1&xe&&e.eu8(0)}const Po=["container"],Fa=["filter"],Ba=["focusInput"],ya=["editableInput"],Ys=["items"],Jr=["scroller"],Gr=["overlay"],eo=["firstHiddenFocusableEl"],rc=["lastHiddenFocusableEl"],Ks=xe=>({options:xe}),Dn=(xe,tt)=>({$implicit:xe,options:tt}),Lo=()=>({});function xa(xe,tt){if(1&xe&&(e.qex(0),e.EFF(1),e.bVm()),2&xe){const u=e.XpG(2);e.R7$(),e.JRh("p-emptylabel"===u.label()?"\xa0":u.label())}}function Qo(xe,tt){if(1&xe&&e.eu8(0,25),2&xe){const u=e.XpG(2);e.Y8G("ngTemplateOutlet",u.selectedItemTemplate)("ngTemplateOutletContext",e.eq3(2,qo,u.selectedOption))}}function yo(xe,tt){if(1&xe&&(e.j41(0,"span"),e.EFF(1),e.k0s()),2&xe){const u=e.XpG(3);e.R7$(),e.JRh("p-emptylabel"===u.label()?"\xa0":u.placeholder())}}function ul(xe,tt){if(1&xe&&e.DNE(0,yo,2,1,"span",17),2&xe){const u=e.XpG(2);e.Y8G("ngIf",u.displayPlaceholder())}}function Ro(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"span",22,2),e.bIt("focus",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onInputFocus(ue))})("blur",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onInputBlur(ue))})("keydown",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onKeyDown(ue))}),e.DNE(2,xa,2,1,"ng-container",23)(3,Qo,1,4,"ng-container",24)(4,ul,1,1,"ng-template",null,3,e.C5r),e.k0s()}if(2&xe){let u;const ne=e.sdS(5),ue=e.XpG();e.Y8G("ngClass",ue.inputClass)("pTooltip",ue.tooltip)("tooltipPosition",ue.tooltipPosition)("positionStyle",ue.tooltipPositionStyle)("tooltipStyleClass",ue.tooltipStyleClass)("autofocus",ue.autofocus),e.BMQ("aria-disabled",ue.disabled)("id",ue.inputId)("aria-label",ue.ariaLabel||("p-emptylabel"===ue.label()?void 0:ue.label()))("aria-labelledby",ue.ariaLabelledBy)("aria-haspopup","listbox")("aria-expanded",null!==(u=ue.overlayVisible)&&void 0!==u&&u)("aria-controls",ue.overlayVisible?ue.id+"_list":null)("tabindex",ue.disabled?-1:ue.tabindex)("aria-activedescendant",ue.focused?ue.focusedOptionId:void 0)("aria-required",ue.required)("required",ue.required),e.R7$(2),e.Y8G("ngIf",!ue.selectedItemTemplate)("ngIfElse",ne),e.R7$(),e.Y8G("ngIf",ue.selectedItemTemplate&&ue.selectedOption)}}function Qi(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"input",26,4),e.bIt("input",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onEditableInput(ue))})("keydown",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onKeyDown(ue))})("focus",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onInputFocus(ue))})("blur",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onInputBlur(ue))}),e.k0s()}if(2&xe){const u=e.XpG();e.Y8G("ngClass",u.inputClass)("disabled",u.disabled),e.BMQ("maxlength",u.maxlength)("placeholder",void 0===u.modelValue()||null===u.modelValue()?u.placeholder():void 0)}}function Jo(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"TimesIcon",29),e.bIt("click",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.clear(ue))}),e.k0s()}2&xe&&(e.Y8G("styleClass","p-dropdown-clear-icon"),e.BMQ("data-pc-section","clearicon"))}function ja(xe,tt){}function ot(xe,tt){1&xe&&e.DNE(0,ja,0,0,"ng-template")}function ct(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"span",30),e.bIt("click",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.clear(ue))}),e.DNE(1,ot,1,0,null,31),e.k0s()}if(2&xe){const u=e.XpG(2);e.BMQ("data-pc-section","clearicon"),e.R7$(),e.Y8G("ngTemplateOutlet",u.clearIconTemplate)}}function Ye(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,Jo,1,2,"TimesIcon",27)(2,ct,2,2,"span",28),e.bVm()),2&xe){const u=e.XpG();e.R7$(),e.Y8G("ngIf",!u.clearIconTemplate),e.R7$(),e.Y8G("ngIf",u.clearIconTemplate)}}function vt(xe,tt){if(1&xe&&e.nrm(0,"span",34),2&xe){const u=e.XpG(2);e.Y8G("ngClass",u.dropdownIcon)}}function Bt(xe,tt){1&xe&&e.nrm(0,"ChevronDownIcon",35),2&xe&&e.Y8G("styleClass","p-dropdown-trigger-icon")}function Vi(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,vt,1,1,"span",32)(2,Bt,1,1,"ChevronDownIcon",33),e.bVm()),2&xe){const u=e.XpG();e.R7$(),e.Y8G("ngIf",u.dropdownIcon),e.R7$(),e.Y8G("ngIf",!u.dropdownIcon)}}function bn(xe,tt){}function to(xe,tt){1&xe&&e.DNE(0,bn,0,0,"ng-template")}function Er(xe,tt){if(1&xe&&(e.j41(0,"span",36),e.DNE(1,to,1,0,null,31),e.k0s()),2&xe){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.dropdownIconTemplate)}}function Zs(xe,tt){1&xe&&e.eu8(0)}function Ar(xe,tt){1&xe&&e.eu8(0)}function or(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,Ar,1,0,"ng-container",43),e.bVm()),2&xe){const u=e.XpG(3);e.R7$(),e.Y8G("ngTemplateOutlet",u.filterTemplate)("ngTemplateOutletContext",e.eq3(2,Ks,u.filterOptions))}}function Ir(xe,tt){1&xe&&e.nrm(0,"SearchIcon",35),2&xe&&e.Y8G("styleClass","p-dropdown-filter-icon")}function Vn(xe,tt){}function pr(xe,tt){1&xe&&e.DNE(0,Vn,0,0,"ng-template")}function ea(xe,tt){if(1&xe&&(e.j41(0,"span",47),e.DNE(1,pr,1,0,null,31),e.k0s()),2&xe){const u=e.XpG(4);e.R7$(),e.Y8G("ngTemplateOutlet",u.filterIconTemplate)}}function oc(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"div",44)(1,"input",45,9),e.bIt("input",function(ue){e.eBV(u);const Ie=e.XpG(3);return e.Njj(Ie.onFilterInputChange(ue))})("keydown",function(ue){e.eBV(u);const Ie=e.XpG(3);return e.Njj(Ie.onFilterKeyDown(ue))})("blur",function(ue){e.eBV(u);const Ie=e.XpG(3);return e.Njj(Ie.onFilterBlur(ue))}),e.k0s(),e.DNE(3,Ir,1,1,"SearchIcon",33)(4,ea,2,1,"span",46),e.k0s()}if(2&xe){const u=e.XpG(3);e.R7$(),e.Y8G("value",u._filterValue()||""),e.BMQ("placeholder",u.filterPlaceholder)("aria-owns",u.id+"_list")("aria-label",u.ariaFilterLabel)("aria-activedescendant",u.focusedOptionId),e.R7$(2),e.Y8G("ngIf",!u.filterIconTemplate),e.R7$(),e.Y8G("ngIf",u.filterIconTemplate)}}function Rl(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"div",42),e.bIt("click",function(ue){return e.eBV(u),e.Njj(ue.stopPropagation())}),e.DNE(1,or,2,4,"ng-container",23)(2,oc,5,7,"ng-template",null,8,e.C5r),e.k0s()}if(2&xe){const u=e.sdS(3),ne=e.XpG(2);e.R7$(),e.Y8G("ngIf",ne.filterTemplate)("ngIfElse",u)}}function Yh(xe,tt){1&xe&&e.eu8(0)}function Kh(xe,tt){if(1&xe&&e.DNE(0,Yh,1,0,"ng-container",43),2&xe){const u=tt.$implicit,ne=tt.options;e.XpG(2);const ue=e.sdS(9);e.Y8G("ngTemplateOutlet",ue)("ngTemplateOutletContext",e.l_i(2,Dn,u,ne))}}function Dc(xe,tt){1&xe&&e.eu8(0)}function io(xe,tt){if(1&xe&&e.DNE(0,Dc,1,0,"ng-container",43),2&xe){const u=tt.options,ne=e.XpG(4);e.Y8G("ngTemplateOutlet",ne.loaderTemplate)("ngTemplateOutletContext",e.eq3(2,Ks,u))}}function Zh(xe,tt){1&xe&&(e.qex(0),e.DNE(1,io,1,4,"ng-template",49),e.bVm())}function Nl(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"p-scroller",48,10),e.bIt("onLazyLoad",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onLazyLoad.emit(ue))}),e.DNE(2,Kh,1,5,"ng-template",21)(3,Zh,2,0,"ng-container",17),e.k0s()}if(2&xe){const u=e.XpG(2);e.Aen(e.eq3(8,cs,u.scrollHeight)),e.Y8G("items",u.visibleOptions())("itemSize",u.virtualScrollItemSize||u._itemSize)("autoSize",!0)("lazy",u.lazy)("options",u.virtualScrollOptions),e.R7$(3),e.Y8G("ngIf",u.loaderTemplate)}}function Va(xe,tt){1&xe&&e.eu8(0)}function Or(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,Va,1,0,"ng-container",43),e.bVm()),2&xe){e.XpG();const u=e.sdS(9),ne=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u)("ngTemplateOutletContext",e.l_i(3,Dn,ne.visibleOptions(),e.lJ4(2,Lo)))}}function Ec(xe,tt){if(1&xe&&(e.j41(0,"span"),e.EFF(1),e.k0s()),2&xe){const u=e.XpG(2).$implicit,ne=e.XpG(3);e.R7$(),e.JRh(ne.getOptionGroupLabel(u.optionGroup))}}function hn(xe,tt){1&xe&&e.eu8(0)}function Rs(xe,tt){if(1&xe&&(e.qex(0),e.j41(1,"li",53),e.DNE(2,Ec,2,1,"span",17)(3,hn,1,0,"ng-container",43),e.k0s(),e.bVm()),2&xe){const u=e.XpG(),ne=u.$implicit,ue=u.index,Ie=e.XpG().options,nt=e.XpG(2);e.R7$(),e.Y8G("ngStyle",e.eq3(5,cs,Ie.itemSize+"px")),e.BMQ("id",nt.id+"_"+nt.getOptionIndex(ue,Ie)),e.R7$(),e.Y8G("ngIf",!nt.groupTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",nt.groupTemplate)("ngTemplateOutletContext",e.eq3(7,qo,ne.optionGroup))}}function Ss(xe,tt){if(1&xe){const u=e.RV6();e.qex(0),e.j41(1,"p-dropdownItem",54),e.bIt("onClick",function(ue){e.eBV(u);const Ie=e.XpG().$implicit,nt=e.XpG(3);return e.Njj(nt.onOptionSelect(ue,Ie))})("onMouseEnter",function(ue){e.eBV(u);const Ie=e.XpG().index,nt=e.XpG().options,Tt=e.XpG(2);return e.Njj(Tt.onOptionMouseEnter(ue,Tt.getOptionIndex(Ie,nt)))}),e.k0s(),e.bVm()}if(2&xe){const u=e.XpG(),ne=u.$implicit,ue=u.index,Ie=e.XpG().options,nt=e.XpG(2);e.R7$(),e.Y8G("id",nt.id+"_"+nt.getOptionIndex(ue,Ie))("option",ne)("selected",nt.isSelected(ne))("label",nt.getOptionLabel(ne))("disabled",nt.isOptionDisabled(ne))("template",nt.itemTemplate)("focused",nt.focusedOptionIndex()===nt.getOptionIndex(ue,Ie))("ariaPosInset",nt.getAriaPosInset(nt.getOptionIndex(ue,Ie)))("ariaSetSize",nt.ariaSetSize)}}function xo(xe,tt){if(1&xe&&e.DNE(0,Rs,4,9,"ng-container",17)(1,Ss,2,9,"ng-container",17),2&xe){const u=tt.$implicit,ne=e.XpG(3);e.Y8G("ngIf",ne.isOptionGroup(u)),e.R7$(),e.Y8G("ngIf",!ne.isOptionGroup(u))}}function qs(xe,tt){if(1&xe&&(e.qex(0),e.EFF(1),e.bVm()),2&xe){const u=e.XpG(4);e.R7$(),e.SpI(" ",u.emptyFilterMessageLabel," ")}}function pl(xe,tt){1&xe&&e.eu8(0,null,12)}function fl(xe,tt){if(1&xe&&(e.j41(0,"li",55),e.DNE(1,qs,2,1,"ng-container",23)(2,pl,2,0,"ng-container",31),e.k0s()),2&xe){const u=e.XpG().options,ne=e.XpG(2);e.Y8G("ngStyle",e.eq3(4,cs,u.itemSize+"px")),e.R7$(),e.Y8G("ngIf",!ne.emptyFilterTemplate&&!ne.emptyTemplate)("ngIfElse",ne.emptyFilter),e.R7$(),e.Y8G("ngTemplateOutlet",ne.emptyFilterTemplate||ne.emptyTemplate)}}function gl(xe,tt){if(1&xe&&(e.qex(0),e.EFF(1),e.bVm()),2&xe){const u=e.XpG(4);e.R7$(),e.SpI(" ",u.emptyMessageLabel," ")}}function Ac(xe,tt){1&xe&&e.eu8(0,null,13)}function ac(xe,tt){if(1&xe&&(e.j41(0,"li",55),e.DNE(1,gl,2,1,"ng-container",23)(2,Ac,2,0,"ng-container",31),e.k0s()),2&xe){const u=e.XpG().options,ne=e.XpG(2);e.Y8G("ngStyle",e.eq3(4,cs,u.itemSize+"px")),e.R7$(),e.Y8G("ngIf",!ne.emptyTemplate)("ngIfElse",ne.empty),e.R7$(),e.Y8G("ngTemplateOutlet",ne.emptyTemplate)}}function za(xe,tt){if(1&xe&&(e.j41(0,"ul",50,11),e.DNE(2,xo,2,2,"ng-template",51)(3,fl,3,6,"li",52)(4,ac,3,6,"li",52),e.k0s()),2&xe){const u=tt.$implicit,ne=tt.options,ue=e.XpG(2);e.Aen(ne.contentStyle),e.Y8G("ngClass",ne.contentStyleClass),e.BMQ("id",ue.id+"_list")("aria-label",ue.listLabel),e.R7$(2),e.Y8G("ngForOf",u),e.R7$(),e.Y8G("ngIf",ue.filterValue&&ue.isEmpty()),e.R7$(),e.Y8G("ngIf",!ue.filterValue&&ue.isEmpty())}}function Fl(xe,tt){1&xe&&e.eu8(0)}function ml(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"div",37)(1,"span",38,5),e.bIt("focus",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onFirstHiddenFocus(ue))}),e.k0s(),e.DNE(3,Zs,1,0,"ng-container",31)(4,Rl,4,2,"div",39),e.j41(5,"div",40),e.DNE(6,Nl,4,10,"p-scroller",41)(7,Or,2,6,"ng-container",17)(8,za,5,8,"ng-template",null,6,e.C5r),e.k0s(),e.DNE(10,Fl,1,0,"ng-container",31),e.j41(11,"span",38,7),e.bIt("focus",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onLastHiddenFocus(ue))}),e.k0s()()}if(2&xe){const u=e.XpG();e.HbH(u.panelStyleClass),e.Y8G("ngClass","p-dropdown-panel p-component")("ngStyle",u.panelStyle),e.R7$(),e.BMQ("aria-hidden",!0)("tabindex",0)("data-p-hidden-accessible",!0)("data-p-hidden-focusable",!0),e.R7$(2),e.Y8G("ngTemplateOutlet",u.headerTemplate),e.R7$(),e.Y8G("ngIf",u.filter),e.R7$(),e.xc7("max-height",u.virtualScroll?"auto":u.scrollHeight||"auto"),e.R7$(),e.Y8G("ngIf",u.virtualScroll),e.R7$(),e.Y8G("ngIf",!u.virtualScroll),e.R7$(3),e.Y8G("ngTemplateOutlet",u.footerTemplate),e.R7$(),e.BMQ("aria-hidden",!0)("tabindex",0)("data-p-hidden-accessible",!0)("data-p-hidden-focusable",!0)}}const Ic={provide:V.kq,useExisting:(0,e.Rfq)(()=>Oc),multi:!0};let lc=(()=>{class xe{id;option;selected;focused;label;disabled;visible;itemSize;ariaPosInset;ariaSetSize;template;onClick=new e.bkB;onMouseEnter=new e.bkB;ngOnInit(){}onOptionClick(u){this.onClick.emit(u)}onOptionMouseEnter(u){this.onMouseEnter.emit(u)}static \u0275fac=function(ne){return new(ne||xe)};static \u0275cmp=e.VBU({type:xe,selectors:[["p-dropdownItem"]],hostAttrs:[1,"p-element"],inputs:{id:"id",option:"option",selected:"selected",focused:"focused",label:"label",disabled:"disabled",visible:"visible",itemSize:"itemSize",ariaPosInset:"ariaPosInset",ariaSetSize:"ariaSetSize",template:"template"},outputs:{onClick:"onClick",onMouseEnter:"onMouseEnter"},decls:3,vars:21,consts:[["role","option","pRipple","",3,"click","mouseenter","id","ngStyle","ngClass"],[4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(ne,ue){1&ne&&(e.j41(0,"li",0),e.bIt("click",function(nt){return ue.onOptionClick(nt)})("mouseenter",function(nt){return ue.onOptionMouseEnter(nt)}),e.DNE(1,va,2,1,"span",1)(2,Na,1,0,"ng-container",2),e.k0s()),2&ne&&(e.Y8G("id",ue.id)("ngStyle",e.eq3(13,cs,ue.itemSize+"px"))("ngClass",e.sMw(15,Dr,ue.selected,ue.disabled,ue.focused)),e.BMQ("aria-label",ue.label)("aria-setsize",ue.ariaSetSize)("aria-posinset",ue.ariaPosInset)("aria-selected",ue.selected)("data-p-focused",ue.focused)("data-p-highlight",ue.selected)("data-p-disabled",ue.disabled),e.R7$(),e.Y8G("ngIf",!ue.template),e.R7$(),e.Y8G("ngTemplateOutlet",ue.template)("ngTemplateOutletContext",e.eq3(19,qo,ue.option)))},dependencies:[M.YU,M.bT,M.T3,M.B3,ve.n],encapsulation:2})}return xe})(),Oc=(()=>{class xe{el;renderer;cd;zone;filterService;config;id;scrollHeight="200px";filter;name;style;panelStyle;styleClass;panelStyleClass;readonly;required;editable;appendTo;tabindex=0;set placeholder(u){this._placeholder.set(u)}get placeholder(){return this._placeholder.asReadonly()}filterPlaceholder;filterLocale;inputId;dataKey;filterBy;filterFields;autofocus;resetFilterOnHide=!1;dropdownIcon;optionLabel;optionValue;optionDisabled;optionGroupLabel="label";optionGroupChildren="items";autoDisplayFirst=!0;group;showClear;emptyFilterMessage="";emptyMessage="";lazy=!1;virtualScroll;virtualScrollItemSize;virtualScrollOptions;overlayOptions;ariaFilterLabel;ariaLabel;ariaLabelledBy;filterMatchMode="contains";maxlength;tooltip="";tooltipPosition="right";tooltipPositionStyle="absolute";tooltipStyleClass;focusOnHover=!1;selectOnFocus=!1;autoOptionFocus=!0;autofocusFilter=!0;get disabled(){return this._disabled}set disabled(u){u&&(this.focused=!1,this.overlayVisible&&this.hide()),this._disabled=u,this.cd.destroyed||this.cd.detectChanges()}get itemSize(){return this._itemSize}set itemSize(u){this._itemSize=u,console.warn("The itemSize property is deprecated, use virtualScrollItemSize property instead.")}_itemSize;get autoZIndex(){return this._autoZIndex}set autoZIndex(u){this._autoZIndex=u,console.warn("The autoZIndex property is deprecated since v14.2.0, use overlayOptions property instead.")}_autoZIndex;get baseZIndex(){return this._baseZIndex}set baseZIndex(u){this._baseZIndex=u,console.warn("The baseZIndex property is deprecated since v14.2.0, use overlayOptions property instead.")}_baseZIndex;get showTransitionOptions(){return this._showTransitionOptions}set showTransitionOptions(u){this._showTransitionOptions=u,console.warn("The showTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.")}_showTransitionOptions;get hideTransitionOptions(){return this._hideTransitionOptions}set hideTransitionOptions(u){this._hideTransitionOptions=u,console.warn("The hideTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.")}_hideTransitionOptions;get filterValue(){return this._filterValue()}set filterValue(u){setTimeout(()=>{this._filterValue.set(u)})}get options(){return this._options()}set options(u){le.BF.deepEquals(u,this._options())||this._options.set(u)}onChange=new e.bkB;onFilter=new e.bkB;onFocus=new e.bkB;onBlur=new e.bkB;onClick=new e.bkB;onShow=new e.bkB;onHide=new e.bkB;onClear=new e.bkB;onLazyLoad=new e.bkB;containerViewChild;filterViewChild;focusInputViewChild;editableInputViewChild;itemsViewChild;scroller;overlayViewChild;firstHiddenFocusableElementOnOverlay;lastHiddenFocusableElementOnOverlay;templates;_disabled;itemsWrapper;itemTemplate;groupTemplate;loaderTemplate;selectedItemTemplate;headerTemplate;filterTemplate;footerTemplate;emptyFilterTemplate;emptyTemplate;dropdownIconTemplate;clearIconTemplate;filterIconTemplate;filterOptions;_options=(0,e.vPA)(null);_placeholder=(0,e.vPA)(void 0);modelValue=(0,e.vPA)(null);value;onModelChange=()=>{};onModelTouched=()=>{};hover;focused;overlayVisible;optionsChanged;panel;dimensionsUpdated;hoveredItem;selectedOptionUpdated;_filterValue=(0,e.vPA)(null);searchValue;searchIndex;searchTimeout;previousSearchChar;currentSearchChar;preventModelTouched;focusedOptionIndex=(0,e.vPA)(-1);labelId;listId;clicked=(0,e.vPA)(!1);get emptyMessageLabel(){return this.emptyMessage||this.config.getTranslation(Pe.Yj.EMPTY_MESSAGE)}get emptyFilterMessageLabel(){return this.emptyFilterMessage||this.config.getTranslation(Pe.Yj.EMPTY_FILTER_MESSAGE)}get isVisibleClearIcon(){return null!=this.modelValue()&&this.hasSelectedOption()&&this.showClear&&!this.disabled}get listLabel(){return this.config.getTranslation(Pe.Yj.ARIA).listLabel}get containerClass(){return{"p-dropdown p-component p-inputwrapper":!0,"p-disabled":this.disabled,"p-dropdown-clearable":this.showClear&&!this.disabled,"p-focus":this.focused,"p-inputwrapper-filled":void 0!==this.modelValue()&&null!==this.modelValue()&&!this.modelValue().length,"p-inputwrapper-focus":this.focused||this.overlayVisible}}get inputClass(){const u=this.label();return{"p-dropdown-label p-inputtext":!0,"p-placeholder":this.placeholder()&&u===this.placeholder(),"p-dropdown-label-empty":!(this.editable||this.selectedItemTemplate||null!=u&&"p-emptylabel"!==u&&0!==u.length)}}get panelClass(){return{"p-dropdown-panel p-component":!0,"p-input-filled":"filled"===this.config.inputStyle,"p-ripple-disabled":!1===this.config.ripple}}get focusedOptionId(){return-1!==this.focusedOptionIndex()?`${this.id}_${this.focusedOptionIndex()}`:null}visibleOptions=(0,e.EWP)(()=>{const u=this.getAllVisibleAndNonVisibleOptions();if(this._filterValue()){const ue=this.filterBy||this.optionLabel||this.filterFields||this.optionValue?this.filterService.filter(u,this.searchFields(),this._filterValue().trim(),this.filterMatchMode,this.filterLocale):this.options.filter(Ie=>Ie.label?-1!==Ie.label.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()):-1!==Ie.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()));if(this.group){const nt=[];return(this.options||[]).forEach(Tt=>{const ai=this.getOptionGroupChildren(Tt).filter(oi=>ue.includes(oi));ai.length>0&&nt.push({...Tt,["string"==typeof this.optionGroupChildren?this.optionGroupChildren:"items"]:[...ai]})}),this.flatOptions(nt)}return ue}return u});label=(0,e.EWP)(()=>{const u=this.getAllVisibleAndNonVisibleOptions(),ne=u.findIndex(ue=>this.isOptionValueEqualsModelValue(ue));return-1!==ne?this.getOptionLabel(u[ne]):this.placeholder()||"p-emptylabel"});filled=(0,e.EWP)(()=>"string"==typeof this.modelValue()?!!this.modelValue():"p-emptylabel"!==this.label()&&void 0!==this.modelValue()&&null!==this.modelValue());selectedOption;editableInputValue=(0,e.EWP)(()=>this.getOptionLabel(this.selectedOption)||this.modelValue()||"");constructor(u,ne,ue,Ie,nt,Tt){this.el=u,this.renderer=ne,this.cd=ue,this.zone=Ie,this.filterService=nt,this.config=Tt,(0,e.QZP)(()=>{const zt=this.modelValue(),ai=this.visibleOptions();if(ai&&le.BF.isNotEmpty(ai)){const oi=this.findSelectedOptionIndex();(-1!==oi||void 0===zt||"string"==typeof zt&&0===zt.length||this.isModelValueNotSet()||this.editable)&&(this.selectedOption=ai[oi])}le.BF.isEmpty(ai)&&(void 0===zt||this.isModelValueNotSet())&&le.BF.isNotEmpty(this.selectedOption)&&(this.selectedOption=null),void 0!==zt&&this.editable&&this.updateEditableLabel(),this.cd.markForCheck()})}isModelValueNotSet(){return null===this.modelValue()&&!this.isOptionValueEqualsModelValue(this.selectedOption)}displayPlaceholder(){return le.BF.isEmpty(this.selectedOption)&&this.label()===this.placeholder()}getAllVisibleAndNonVisibleOptions(){return this.group?this.flatOptions(this.options):this.options||[]}ngOnInit(){this.id=this.id||(0,le._Y)(),this.autoUpdateModel(),this.filterBy&&(this.filterOptions={filter:u=>this.onFilterInputChange(u),reset:()=>this.resetFilter()})}ngAfterViewChecked(){if(this.optionsChanged&&this.overlayVisible&&(this.optionsChanged=!1,this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.overlayViewChild&&this.overlayViewChild.alignOverlay()},1)})),this.selectedOptionUpdated&&this.itemsWrapper){let u=re.D.findSingle(this.overlayViewChild?.overlayViewChild?.nativeElement,"li.p-highlight");u&&re.D.scrollInView(this.itemsWrapper,u),this.selectedOptionUpdated=!1}}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"item":default:this.itemTemplate=u.template;break;case"selectedItem":this.selectedItemTemplate=u.template;break;case"header":this.headerTemplate=u.template;break;case"filter":this.filterTemplate=u.template;break;case"footer":this.footerTemplate=u.template;break;case"emptyfilter":this.emptyFilterTemplate=u.template;break;case"empty":this.emptyTemplate=u.template;break;case"group":this.groupTemplate=u.template;break;case"loader":this.loaderTemplate=u.template;break;case"dropdownicon":this.dropdownIconTemplate=u.template;break;case"clearicon":this.clearIconTemplate=u.template;break;case"filtericon":this.filterIconTemplate=u.template}})}flatOptions(u){return(u||[]).reduce((ne,ue,Ie)=>{ne.push({optionGroup:ue,group:!0,index:Ie});const nt=this.getOptionGroupChildren(ue);return nt&&nt.forEach(Tt=>ne.push(Tt)),ne},[])}autoUpdateModel(){if(this.selectOnFocus&&this.autoOptionFocus&&!this.hasSelectedOption()&&(this.focusedOptionIndex.set(this.findFirstFocusedOptionIndex()),this.onOptionSelect(null,this.visibleOptions()[this.focusedOptionIndex()],!1)),this.autoDisplayFirst&&(null===this.modelValue()||void 0===this.modelValue())&&!this.placeholder()){const u=this.findFirstOptionIndex();this.onOptionSelect(null,this.visibleOptions()[u],!1,!0)}}onOptionSelect(u,ne,ue=!0,Ie=!1){if(!this.isSelected(ne)){const nt=this.getOptionValue(ne);this.updateModel(nt,u),this.focusedOptionIndex.set(this.findSelectedOptionIndex()),!1===Ie&&this.onChange.emit({originalEvent:u,value:nt})}ue&&this.hide(!0)}onOptionMouseEnter(u,ne){this.focusOnHover&&this.changeFocusedOptionIndex(u,ne)}updateModel(u,ne){this.value=u,this.onModelChange(u),this.modelValue.set(u),this.selectedOptionUpdated=!0}writeValue(u){this.filter&&this.resetFilter(),this.value=u,this.allowModelChange()&&this.onModelChange(u),this.modelValue.set(this.value),this.updateEditableLabel(),this.cd.markForCheck()}allowModelChange(){return this.autoDisplayFirst&&!this.placeholder()&&(void 0===this.modelValue()||null===this.modelValue())&&!this.editable&&this.options&&this.options.length}isSelected(u){return this.isValidOption(u)&&this.isOptionValueEqualsModelValue(u)}isOptionValueEqualsModelValue(u){return le.BF.equals(this.modelValue(),this.getOptionValue(u),this.equalityKey())}ngAfterViewInit(){this.editable&&this.updateEditableLabel()}updateEditableLabel(){this.editableInputViewChild&&(this.editableInputViewChild.nativeElement.value=this.getOptionLabel(this.selectedOption)||this.modelValue()||"")}clearEditableLabel(){this.editableInputViewChild&&(this.editableInputViewChild.nativeElement.value="")}getOptionIndex(u,ne){return this.virtualScrollerDisabled?u:ne&&ne.getItemOptions(u).index}getOptionLabel(u){return null!=this.optionLabel?le.BF.resolveFieldData(u,this.optionLabel):u&&void 0!==u.label?u.label:u}getOptionValue(u){return this.optionValue&&null!==this.optionValue?le.BF.resolveFieldData(u,this.optionValue):!this.optionLabel&&u&&void 0!==u.value?u.value:u}isOptionDisabled(u){return!(this.getOptionValue(this.modelValue())===this.getOptionValue(u)||this.getOptionLabel(this.modelValue()===this.getOptionLabel(u))&&!1===u.disabled)&&(this.optionDisabled?le.BF.resolveFieldData(u,this.optionDisabled):!(!u||void 0===u.disabled)&&u.disabled)}getOptionGroupLabel(u){return null!=this.optionGroupLabel?le.BF.resolveFieldData(u,this.optionGroupLabel):u&&void 0!==u.label?u.label:u}getOptionGroupChildren(u){return null!=this.optionGroupChildren?le.BF.resolveFieldData(u,this.optionGroupChildren):u.items}getAriaPosInset(u){return(this.optionGroupLabel?u-this.visibleOptions().slice(0,u).filter(ne=>this.isOptionGroup(ne)).length:u)+1}get ariaSetSize(){return this.visibleOptions().filter(u=>!this.isOptionGroup(u)).length}resetFilter(){this._filterValue.set(null),this.filterViewChild&&this.filterViewChild.nativeElement&&(this.filterViewChild.nativeElement.value="")}registerOnChange(u){this.onModelChange=u}registerOnTouched(u){this.onModelTouched=u}setDisabledState(u){this.disabled=u,this.cd.markForCheck()}onContainerClick(u){this.disabled||this.readonly||(this.focusInputViewChild?.nativeElement.focus({preventScroll:!0}),"INPUT"!==u.target.tagName&&"clearicon"!==u.target.getAttribute("data-pc-section")&&!u.target.closest('[data-pc-section="clearicon"]')&&((!this.overlayViewChild||!this.overlayViewChild.el.nativeElement.contains(u.target))&&(this.overlayVisible?this.hide(!0):this.show(!0)),this.onClick.emit(u),this.clicked.set(!0),this.cd.detectChanges()))}isEmpty(){return!this._options()||this.visibleOptions()&&0===this.visibleOptions().length}onEditableInput(u){const ne=u.target.value;this.searchValue="",!this.searchOptions(u,ne)&&this.focusedOptionIndex.set(-1),this.onModelChange(ne),this.updateModel(ne,u),setTimeout(()=>{this.onChange.emit({originalEvent:u,value:ne})},1),!this.overlayVisible&&le.BF.isNotEmpty(ne)&&this.show()}show(u){this.overlayVisible=!0;const ne=-1!==this.focusedOptionIndex()?this.focusedOptionIndex():this.autoOptionFocus?this.findFirstFocusedOptionIndex():this.editable?-1:this.findSelectedOptionIndex();this.focusedOptionIndex.set(ne),u&&re.D.focus(this.focusInputViewChild?.nativeElement),this.cd.markForCheck()}onOverlayAnimationStart(u){if("visible"===u.toState){if(this.itemsWrapper=re.D.findSingle(this.overlayViewChild?.overlayViewChild?.nativeElement,this.virtualScroll?".p-scroller":".p-dropdown-items-wrapper"),this.virtualScroll&&this.scroller?.setContentEl(this.itemsViewChild?.nativeElement),this.options&&this.options.length)if(this.virtualScroll){const ne=this.modelValue()?this.focusedOptionIndex():-1;-1!==ne&&this.scroller?.scrollToIndex(ne)}else{let ne=re.D.findSingle(this.itemsWrapper,".p-dropdown-item.p-highlight");ne&&ne.scrollIntoView({block:"nearest",inline:"nearest"})}this.filterViewChild&&this.filterViewChild.nativeElement&&(this.preventModelTouched=!0,this.autofocusFilter&&!this.editable&&this.filterViewChild.nativeElement.focus()),this.onShow.emit(u)}"void"===u.toState&&(this.itemsWrapper=null,this.onModelTouched(),this.onHide.emit(u))}hide(u){this.overlayVisible=!1,this.focusedOptionIndex.set(-1),this.clicked.set(!1),this.searchValue="",this.filter&&this.resetFilterOnHide&&this.resetFilter(),u&&(this.focusInputViewChild&&re.D.focus(this.focusInputViewChild?.nativeElement),this.editable&&this.editableInputViewChild&&re.D.focus(this.editableInputViewChild?.nativeElement)),this.cd.markForCheck()}onInputFocus(u){if(this.disabled)return;this.focused=!0;const ne=-1!==this.focusedOptionIndex()?this.focusedOptionIndex():this.overlayVisible&&this.autoOptionFocus?this.findFirstFocusedOptionIndex():-1;this.focusedOptionIndex.set(ne),this.overlayVisible&&this.scrollInView(this.focusedOptionIndex()),this.onFocus.emit(u)}onInputBlur(u){this.focused=!1,!1===this.overlayVisible&&this.onBlur.emit(u),this.preventModelTouched||this.onModelTouched(),this.preventModelTouched=!1}onKeyDown(u,ne){if(!this.disabled&&!this.readonly){switch(u.code){case"ArrowDown":this.onArrowDownKey(u);break;case"ArrowUp":this.onArrowUpKey(u,this.editable);break;case"ArrowLeft":case"ArrowRight":this.onArrowLeftKey(u,this.editable);break;case"Delete":this.onDeleteKey(u);break;case"Home":this.onHomeKey(u,this.editable);break;case"End":this.onEndKey(u,this.editable);break;case"PageDown":this.onPageDownKey(u);break;case"PageUp":this.onPageUpKey(u);break;case"Space":this.onSpaceKey(u,ne);break;case"Enter":case"NumpadEnter":this.onEnterKey(u);break;case"Escape":this.onEscapeKey(u);break;case"Tab":this.onTabKey(u);break;case"Backspace":this.onBackspaceKey(u,this.editable);break;case"ShiftLeft":case"ShiftRight":break;default:!u.metaKey&&le.BF.isPrintableCharacter(u.key)&&(!this.overlayVisible&&this.show(),!this.editable&&this.searchOptions(u,u.key))}this.clicked.set(!1)}}onFilterKeyDown(u){switch(u.code){case"ArrowDown":this.onArrowDownKey(u);break;case"ArrowUp":this.onArrowUpKey(u,!0);break;case"ArrowLeft":case"ArrowRight":this.onArrowLeftKey(u,!0);break;case"Home":this.onHomeKey(u,!0);break;case"End":this.onEndKey(u,!0);break;case"Enter":this.onEnterKey(u,!0);break;case"Escape":this.onEscapeKey(u);break;case"Tab":this.onTabKey(u,!0)}}onFilterBlur(u){this.focusedOptionIndex.set(-1)}onArrowDownKey(u){if(this.overlayVisible){const ne=-1!==this.focusedOptionIndex()?this.findNextOptionIndex(this.focusedOptionIndex()):this.clicked()?this.findFirstOptionIndex():this.findFirstFocusedOptionIndex();this.changeFocusedOptionIndex(u,ne)}else this.show(),this.editable&&this.changeFocusedOptionIndex(u,this.findSelectedOptionIndex());u.preventDefault()}changeFocusedOptionIndex(u,ne){if(this.focusedOptionIndex()!==ne&&(this.focusedOptionIndex.set(ne),this.scrollInView(),this.selectOnFocus)){const ue=this.visibleOptions()[ne];this.onOptionSelect(u,ue,!1)}}get virtualScrollerDisabled(){return!this.virtualScroll}scrollInView(u=-1){if(this.itemsViewChild&&this.itemsViewChild.nativeElement){const ue=re.D.findSingle(this.itemsViewChild.nativeElement,`li[id="${-1!==u?`${this.id}_${u}`:this.focusedOptionId}"]`);ue?ue.scrollIntoView&&ue.scrollIntoView({block:"nearest",inline:"nearest"}):this.virtualScrollerDisabled||setTimeout(()=>{this.virtualScroll&&this.scroller?.scrollToIndex(-1!==u?u:this.focusedOptionIndex())},0)}}hasSelectedOption(){return void 0!==this.modelValue()}isValidSelectedOption(u){return this.isValidOption(u)&&this.isSelected(u)}equalityKey(){return this.optionValue?null:this.dataKey}findFirstFocusedOptionIndex(){const u=this.findSelectedOptionIndex();return u<0?this.findFirstOptionIndex():u}findFirstOptionIndex(){return this.visibleOptions().findIndex(u=>this.isValidOption(u))}findSelectedOptionIndex(){return this.hasSelectedOption()?this.visibleOptions().findIndex(u=>this.isValidSelectedOption(u)):-1}findNextOptionIndex(u){const ne=uthis.isValidOption(ue)):-1;return ne>-1?ne+u+1:u}findPrevOptionIndex(u){const ne=u>0?le.BF.findLastIndex(this.visibleOptions().slice(0,u),ue=>this.isValidOption(ue)):-1;return ne>-1?ne:u}findLastOptionIndex(){return le.BF.findLastIndex(this.visibleOptions(),u=>this.isValidOption(u))}findLastFocusedOptionIndex(){const u=this.findSelectedOptionIndex();return u<0?this.findLastOptionIndex():u}isValidOption(u){return null!=u&&!(this.isOptionDisabled(u)||this.isOptionGroup(u))}isOptionGroup(u){return null!=this.optionGroupLabel&&null!=u.optionGroup&&u.group}onArrowUpKey(u,ne=!1){if(u.altKey&&!ne){if(-1!==this.focusedOptionIndex()){const ue=this.visibleOptions()[this.focusedOptionIndex()];this.onOptionSelect(u,ue)}this.overlayVisible&&this.hide(),u.preventDefault()}else{const ue=-1!==this.focusedOptionIndex()?this.findPrevOptionIndex(this.focusedOptionIndex()):this.clicked()?this.findLastOptionIndex():this.findLastFocusedOptionIndex();this.changeFocusedOptionIndex(u,ue),!this.overlayVisible&&this.show(),u.preventDefault()}}onArrowLeftKey(u,ne=!1){ne&&this.focusedOptionIndex.set(-1)}onDeleteKey(u){this.showClear&&(this.clear(u),u.preventDefault())}onHomeKey(u,ne=!1){if(ne){const ue=u.currentTarget;u.shiftKey?ue.setSelectionRange(0,ue.value.length):(ue.setSelectionRange(0,0),this.focusedOptionIndex.set(-1))}else this.changeFocusedOptionIndex(u,this.findFirstOptionIndex()),!this.overlayVisible&&this.show();u.preventDefault()}onEndKey(u,ne=!1){if(ne){const ue=u.currentTarget;if(u.shiftKey)ue.setSelectionRange(0,ue.value.length);else{const Ie=ue.value.length;ue.setSelectionRange(Ie,Ie),this.focusedOptionIndex.set(-1)}}else this.changeFocusedOptionIndex(u,this.findLastOptionIndex()),!this.overlayVisible&&this.show();u.preventDefault()}onPageDownKey(u){this.scrollInView(this.visibleOptions().length-1),u.preventDefault()}onPageUpKey(u){this.scrollInView(0),u.preventDefault()}onSpaceKey(u,ne=!1){!this.editable&&!ne&&this.onEnterKey(u)}onEnterKey(u,ne=!1){if(this.overlayVisible){if(-1!==this.focusedOptionIndex()){const ue=this.visibleOptions()[this.focusedOptionIndex()];this.onOptionSelect(u,ue)}!ne&&this.hide()}else this.focusedOptionIndex.set(-1),this.onArrowDownKey(u);u.preventDefault()}onEscapeKey(u){this.overlayVisible&&this.hide(!0),u.preventDefault()}onTabKey(u,ne=!1){if(!ne)if(this.overlayVisible&&this.hasFocusableElements())re.D.focus(u.shiftKey?this.lastHiddenFocusableElementOnOverlay.nativeElement:this.firstHiddenFocusableElementOnOverlay.nativeElement),u.preventDefault();else{if(-1!==this.focusedOptionIndex()&&this.overlayVisible){const ue=this.visibleOptions()[this.focusedOptionIndex()];this.onOptionSelect(u,ue)}this.overlayVisible&&this.hide(this.filter)}}onFirstHiddenFocus(u){const ne=u.relatedTarget===this.focusInputViewChild?.nativeElement?re.D.getFirstFocusableElement(this.overlayViewChild.el?.nativeElement,":not(.p-hidden-focusable)"):this.focusInputViewChild?.nativeElement;re.D.focus(ne)}onLastHiddenFocus(u){const ne=u.relatedTarget===this.focusInputViewChild?.nativeElement?re.D.getLastFocusableElement(this.overlayViewChild?.overlayViewChild?.nativeElement,':not([data-p-hidden-focusable="true"])'):this.focusInputViewChild?.nativeElement;re.D.focus(ne)}hasFocusableElements(){return re.D.getFocusableElements(this.overlayViewChild.overlayViewChild.nativeElement,':not([data-p-hidden-focusable="true"])').length>0}onBackspaceKey(u,ne=!1){ne&&!this.overlayVisible&&this.show()}searchFields(){return this.filterBy?.split(",")||this.filterFields||[this.optionLabel]}searchOptions(u,ne){this.searchValue=(this.searchValue||"")+ne;let ue=-1,Ie=!1;return-1!==this.focusedOptionIndex()?(ue=this.visibleOptions().slice(this.focusedOptionIndex()).findIndex(nt=>this.isOptionMatched(nt)),ue=-1===ue?this.visibleOptions().slice(0,this.focusedOptionIndex()).findIndex(nt=>this.isOptionMatched(nt)):ue+this.focusedOptionIndex()):ue=this.visibleOptions().findIndex(nt=>this.isOptionMatched(nt)),-1!==ue&&(Ie=!0),-1===ue&&-1===this.focusedOptionIndex()&&(ue=this.findFirstFocusedOptionIndex()),-1!==ue&&this.changeFocusedOptionIndex(u,ue),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout(()=>{this.searchValue="",this.searchTimeout=null},500),Ie}isOptionMatched(u){return this.isValidOption(u)&&this.getOptionLabel(u).toString().toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale))}onFilterInputChange(u){this._filterValue.set(u.target.value),this.focusedOptionIndex.set(-1),this.onFilter.emit({originalEvent:u,filter:this._filterValue()}),!this.virtualScrollerDisabled&&this.scroller.scrollToIndex(0),setTimeout(()=>{this.overlayViewChild.alignOverlay()}),this.cd.markForCheck()}applyFocus(){this.editable?re.D.findSingle(this.el.nativeElement,".p-dropdown-label.p-inputtext").focus():re.D.focus(this.focusInputViewChild?.nativeElement)}focus(){this.applyFocus()}clear(u){this.updateModel(null,u),this.clearEditableLabel(),this.onModelTouched(),this.onChange.emit({originalEvent:u,value:this.value}),this.onClear.emit(u),this.resetFilter()}static \u0275fac=function(ne){return new(ne||xe)(e.rXU(e.aKT),e.rXU(e.sFG),e.rXU(e.gRc),e.rXU(e.SKi),e.rXU(Pe.E),e.rXU(Pe.r1))};static \u0275cmp=e.VBU({type:xe,selectors:[["p-dropdown"]],contentQueries:function(ne,ue,Ie){if(1&ne&&e.wni(Ie,Pe.Ei,4),2&ne){let nt;e.mGM(nt=e.lsd())&&(ue.templates=nt)}},viewQuery:function(ne,ue){if(1&ne&&(e.GBs(Po,5),e.GBs(Fa,5),e.GBs(Ba,5),e.GBs(ya,5),e.GBs(Ys,5),e.GBs(Jr,5),e.GBs(Gr,5),e.GBs(eo,5),e.GBs(rc,5)),2&ne){let Ie;e.mGM(Ie=e.lsd())&&(ue.containerViewChild=Ie.first),e.mGM(Ie=e.lsd())&&(ue.filterViewChild=Ie.first),e.mGM(Ie=e.lsd())&&(ue.focusInputViewChild=Ie.first),e.mGM(Ie=e.lsd())&&(ue.editableInputViewChild=Ie.first),e.mGM(Ie=e.lsd())&&(ue.itemsViewChild=Ie.first),e.mGM(Ie=e.lsd())&&(ue.scroller=Ie.first),e.mGM(Ie=e.lsd())&&(ue.overlayViewChild=Ie.first),e.mGM(Ie=e.lsd())&&(ue.firstHiddenFocusableElementOnOverlay=Ie.first),e.mGM(Ie=e.lsd())&&(ue.lastHiddenFocusableElementOnOverlay=Ie.first)}},hostAttrs:[1,"p-element","p-inputwrapper"],hostVars:4,hostBindings:function(ne,ue){2&ne&&e.AVh("p-inputwrapper-filled",ue.filled())("p-inputwrapper-focus",ue.focused||ue.overlayVisible)},inputs:{id:"id",scrollHeight:"scrollHeight",filter:"filter",name:"name",style:"style",panelStyle:"panelStyle",styleClass:"styleClass",panelStyleClass:"panelStyleClass",readonly:"readonly",required:"required",editable:"editable",appendTo:"appendTo",tabindex:"tabindex",placeholder:"placeholder",filterPlaceholder:"filterPlaceholder",filterLocale:"filterLocale",inputId:"inputId",dataKey:"dataKey",filterBy:"filterBy",filterFields:"filterFields",autofocus:"autofocus",resetFilterOnHide:"resetFilterOnHide",dropdownIcon:"dropdownIcon",optionLabel:"optionLabel",optionValue:"optionValue",optionDisabled:"optionDisabled",optionGroupLabel:"optionGroupLabel",optionGroupChildren:"optionGroupChildren",autoDisplayFirst:"autoDisplayFirst",group:"group",showClear:"showClear",emptyFilterMessage:"emptyFilterMessage",emptyMessage:"emptyMessage",lazy:"lazy",virtualScroll:"virtualScroll",virtualScrollItemSize:"virtualScrollItemSize",virtualScrollOptions:"virtualScrollOptions",overlayOptions:"overlayOptions",ariaFilterLabel:"ariaFilterLabel",ariaLabel:"ariaLabel",ariaLabelledBy:"ariaLabelledBy",filterMatchMode:"filterMatchMode",maxlength:"maxlength",tooltip:"tooltip",tooltipPosition:"tooltipPosition",tooltipPositionStyle:"tooltipPositionStyle",tooltipStyleClass:"tooltipStyleClass",focusOnHover:"focusOnHover",selectOnFocus:"selectOnFocus",autoOptionFocus:"autoOptionFocus",autofocusFilter:"autofocusFilter",disabled:"disabled",itemSize:"itemSize",autoZIndex:"autoZIndex",baseZIndex:"baseZIndex",showTransitionOptions:"showTransitionOptions",hideTransitionOptions:"hideTransitionOptions",filterValue:"filterValue",options:"options"},outputs:{onChange:"onChange",onFilter:"onFilter",onFocus:"onFocus",onBlur:"onBlur",onClick:"onClick",onShow:"onShow",onHide:"onHide",onClear:"onClear",onLazyLoad:"onLazyLoad"},features:[e.Jv_([Ic])],decls:11,vars:20,consts:[["container",""],["overlay",""],["focusInput",""],["defaultPlaceholder",""],["editableInput",""],["firstHiddenFocusableEl",""],["buildInItems",""],["lastHiddenFocusableEl",""],["builtInFilterElement",""],["filter",""],["scroller",""],["items",""],["emptyFilter",""],["empty",""],[3,"click","ngClass","ngStyle"],["role","combobox","pAutoFocus","",3,"ngClass","pTooltip","tooltipPosition","positionStyle","tooltipStyleClass","autofocus","focus","blur","keydown",4,"ngIf"],["type","text","aria-haspopup","listbox",3,"ngClass","disabled","input","keydown","focus","blur",4,"ngIf"],[4,"ngIf"],["role","button","aria-label","dropdown trigger","aria-haspopup","listbox",1,"p-dropdown-trigger"],["class","p-dropdown-trigger-icon",4,"ngIf"],[3,"visibleChange","onAnimationStart","onHide","visible","options","target","appendTo","autoZIndex","baseZIndex","showTransitionOptions","hideTransitionOptions"],["pTemplate","content"],["role","combobox","pAutoFocus","",3,"focus","blur","keydown","ngClass","pTooltip","tooltipPosition","positionStyle","tooltipStyleClass","autofocus"],[4,"ngIf","ngIfElse"],[3,"ngTemplateOutlet","ngTemplateOutletContext",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["type","text","aria-haspopup","listbox",3,"input","keydown","focus","blur","ngClass","disabled"],[3,"styleClass","click",4,"ngIf"],["class","p-dropdown-clear-icon",3,"click",4,"ngIf"],[3,"click","styleClass"],[1,"p-dropdown-clear-icon",3,"click"],[4,"ngTemplateOutlet"],["class","p-dropdown-trigger-icon",3,"ngClass",4,"ngIf"],[3,"styleClass",4,"ngIf"],[1,"p-dropdown-trigger-icon",3,"ngClass"],[3,"styleClass"],[1,"p-dropdown-trigger-icon"],[3,"ngClass","ngStyle"],["role","presentation",1,"p-hidden-accessible","p-hidden-focusable",3,"focus"],["class","p-dropdown-header",3,"click",4,"ngIf"],[1,"p-dropdown-items-wrapper"],[3,"items","style","itemSize","autoSize","lazy","options","onLazyLoad",4,"ngIf"],[1,"p-dropdown-header",3,"click"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"p-dropdown-filter-container"],["type","text","autocomplete","off",1,"p-dropdown-filter","p-inputtext","p-component",3,"input","keydown","blur","value"],["class","p-dropdown-filter-icon",4,"ngIf"],[1,"p-dropdown-filter-icon"],[3,"onLazyLoad","items","itemSize","autoSize","lazy","options"],["pTemplate","loader"],["role","listbox",1,"p-dropdown-items",3,"ngClass"],["ngFor","",3,"ngForOf"],["class","p-dropdown-empty-message",3,"ngStyle",4,"ngIf"],["role","option",1,"p-dropdown-item-group",3,"ngStyle"],[3,"onClick","onMouseEnter","id","option","selected","label","disabled","template","focused","ariaPosInset","ariaSetSize"],[1,"p-dropdown-empty-message",3,"ngStyle"]],template:function(ne,ue){if(1&ne){const Ie=e.RV6();e.j41(0,"div",14,0),e.bIt("click",function(Tt){return e.eBV(Ie),e.Njj(ue.onContainerClick(Tt))}),e.DNE(2,Ro,6,20,"span",15)(3,Qi,2,4,"input",16)(4,Ye,3,2,"ng-container",17),e.j41(5,"div",18),e.DNE(6,Vi,3,2,"ng-container",17)(7,Er,2,1,"span",19),e.k0s(),e.j41(8,"p-overlay",20,1),e.mxI("visibleChange",function(Tt){return e.eBV(Ie),e.DH7(ue.overlayVisible,Tt)||(ue.overlayVisible=Tt),e.Njj(Tt)}),e.bIt("onAnimationStart",function(Tt){return e.eBV(Ie),e.Njj(ue.onOverlayAnimationStart(Tt))})("onHide",function(){return e.eBV(Ie),e.Njj(ue.hide())}),e.DNE(10,ml,13,19,"ng-template",21),e.k0s()()}if(2&ne){let Ie;e.HbH(ue.styleClass),e.Y8G("ngClass",ue.containerClass)("ngStyle",ue.style),e.BMQ("id",ue.id),e.R7$(2),e.Y8G("ngIf",!ue.editable),e.R7$(),e.Y8G("ngIf",ue.editable),e.R7$(),e.Y8G("ngIf",ue.isVisibleClearIcon),e.R7$(),e.BMQ("aria-expanded",null!==(Ie=ue.overlayVisible)&&void 0!==Ie&&Ie)("data-pc-section","trigger"),e.R7$(),e.Y8G("ngIf",!ue.dropdownIconTemplate),e.R7$(),e.Y8G("ngIf",ue.dropdownIconTemplate),e.R7$(),e.R50("visible",ue.overlayVisible),e.Y8G("options",ue.overlayOptions)("target","@parent")("appendTo",ue.appendTo)("autoZIndex",ue.autoZIndex)("baseZIndex",ue.baseZIndex)("showTransitionOptions",ue.showTransitionOptions)("hideTransitionOptions",ue.hideTransitionOptions)}},dependencies:()=>[M.YU,M.Sq,M.bT,M.T3,M.B3,Pa,Pe.Ei,dl,hl,ss,A.A,$,rr,lc],styles:["@layer primeng{.p-dropdown{display:inline-flex;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.p-dropdown-clear-icon{position:absolute;top:50%;margin-top:-.5rem}.p-dropdown-trigger{display:flex;align-items:center;justify-content:center;flex-shrink:0}.p-dropdown-label{display:block;white-space:nowrap;overflow:hidden;flex:1 1 auto;width:1%;text-overflow:ellipsis;cursor:pointer}.p-dropdown-label-empty{overflow:hidden;opacity:0}input.p-dropdown-label{cursor:default}.p-dropdown .p-dropdown-panel{min-width:100%}.p-dropdown-items-wrapper{overflow:auto}.p-dropdown-item{cursor:pointer;font-weight:400;white-space:nowrap;position:relative;overflow:hidden}.p-dropdown-item-group{cursor:auto}.p-dropdown-items{margin:0;padding:0;list-style-type:none}.p-dropdown-filter{width:100%}.p-dropdown-filter-container{position:relative}.p-dropdown-filter-icon{position:absolute;top:50%;margin-top:-.5rem}.p-fluid .p-dropdown{display:flex}.p-fluid .p-dropdown .p-dropdown-label{width:1%}}\n"],encapsulation:2,changeDetection:0})}return xe})(),No=(()=>{class xe{static \u0275fac=function(ne){return new(ne||xe)};static \u0275mod=e.$C({type:xe});static \u0275inj=e.G2t({imports:[M.MD,La,Pe.Gg,Mr,ve.Z,zr,un,A.A,$,rr,La,Pe.Gg,zr]})}return xe})(),Pc=(()=>{class xe extends fe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(ue){return(u||(u=e.xGo(xe)))(ue||xe)}})();static \u0275cmp=e.VBU({type:xe,selectors:[["ArrowDownIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M6.99994 14C6.91097 14.0004 6.82281 13.983 6.74064 13.9489C6.65843 13.9148 6.58387 13.8646 6.52133 13.8013L1.10198 8.38193C0.982318 8.25351 0.917175 8.08367 0.920272 7.90817C0.923368 7.73267 0.994462 7.56523 1.11858 7.44111C1.24269 7.317 1.41014 7.2459 1.58563 7.2428C1.76113 7.23971 1.93098 7.30485 2.0594 7.42451L6.32263 11.6877V0.677419C6.32263 0.497756 6.394 0.325452 6.52104 0.198411C6.64808 0.0713706 6.82039 0 7.00005 0C7.17971 0 7.35202 0.0713706 7.47906 0.198411C7.6061 0.325452 7.67747 0.497756 7.67747 0.677419V11.6877L11.9407 7.42451C12.0691 7.30485 12.2389 7.23971 12.4144 7.2428C12.5899 7.2459 12.7574 7.317 12.8815 7.44111C13.0056 7.56523 13.0767 7.73267 13.0798 7.90817C13.0829 8.08367 13.0178 8.25351 12.8981 8.38193L7.47875 13.8013C7.41621 13.8646 7.34164 13.9148 7.25944 13.9489C7.17727 13.983 7.08912 14.0004 7.00015 14C7.00012 14 7.00009 14 7.00005 14C7.00001 14 6.99998 14 6.99994 14Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ne,ue){1&ne&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ne&&(e.HbH(ue.getClassNames()),e.BMQ("aria-label",ue.ariaLabel)("aria-hidden",ue.ariaHidden)("role",ue.role),e.R7$(),e.BMQ("clip-path",ue.pathId),e.R7$(3),e.Y8G("id",ue.pathId))},encapsulation:2})}return xe})(),Bl=(()=>{class xe extends fe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(ue){return(u||(u=e.xGo(xe)))(ue||xe)}})();static \u0275cmp=e.VBU({type:xe,selectors:[["ArrowUpIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M6.51551 13.799C6.64205 13.9255 6.813 13.9977 6.99193 14C7.17087 13.9977 7.34182 13.9255 7.46835 13.799C7.59489 13.6725 7.66701 13.5015 7.66935 13.3226V2.31233L11.9326 6.57554C11.9951 6.63887 12.0697 6.68907 12.1519 6.72319C12.2341 6.75731 12.3223 6.77467 12.4113 6.77425C12.5003 6.77467 12.5885 6.75731 12.6707 6.72319C12.7529 6.68907 12.8274 6.63887 12.89 6.57554C13.0168 6.44853 13.0881 6.27635 13.0881 6.09683C13.0881 5.91732 13.0168 5.74514 12.89 5.61812L7.48846 0.216594C7.48274 0.210436 7.4769 0.204374 7.47094 0.198411C7.3439 0.0713707 7.1716 0 6.99193 0C6.81227 0 6.63997 0.0713707 6.51293 0.198411C6.50704 0.204296 6.50128 0.210278 6.49563 0.216354L1.09386 5.61812C0.974201 5.74654 0.909057 5.91639 0.912154 6.09189C0.91525 6.26738 0.986345 6.43483 1.11046 6.55894C1.23457 6.68306 1.40202 6.75415 1.57752 6.75725C1.75302 6.76035 1.92286 6.6952 2.05128 6.57554L6.31451 2.31231V13.3226C6.31685 13.5015 6.38898 13.6725 6.51551 13.799Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ne,ue){1&ne&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ne&&(e.HbH(ue.getClassNames()),e.BMQ("aria-label",ue.ariaLabel)("aria-hidden",ue.ariaHidden)("role",ue.role),e.R7$(),e.BMQ("clip-path",ue.pathId),e.R7$(3),e.Y8G("id",ue.pathId))},encapsulation:2})}return xe})(),ir=(()=>{class xe extends fe.h{static \u0275fac=(()=>{let u;return function(ue){return(u||(u=e.xGo(xe)))(ue||xe)}})();static \u0275cmp=e.VBU({type:xe,selectors:[["CheckIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M4.86199 11.5948C4.78717 11.5923 4.71366 11.5745 4.64596 11.5426C4.57826 11.5107 4.51779 11.4652 4.46827 11.4091L0.753985 7.69483C0.683167 7.64891 0.623706 7.58751 0.580092 7.51525C0.536478 7.44299 0.509851 7.36177 0.502221 7.27771C0.49459 7.19366 0.506156 7.10897 0.536046 7.03004C0.565935 6.95111 0.613367 6.88 0.674759 6.82208C0.736151 6.76416 0.8099 6.72095 0.890436 6.69571C0.970973 6.67046 1.05619 6.66385 1.13966 6.67635C1.22313 6.68886 1.30266 6.72017 1.37226 6.76792C1.44186 6.81567 1.4997 6.8786 1.54141 6.95197L4.86199 10.2503L12.6397 2.49483C12.7444 2.42694 12.8689 2.39617 12.9932 2.40745C13.1174 2.41873 13.2343 2.47141 13.3251 2.55705C13.4159 2.64268 13.4753 2.75632 13.4938 2.87973C13.5123 3.00315 13.4888 3.1292 13.4271 3.23768L5.2557 11.4091C5.20618 11.4652 5.14571 11.5107 5.07801 11.5426C5.01031 11.5745 4.9368 11.5923 4.86199 11.5948Z","fill","currentColor"]],template:function(ne,ue){1&ne&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ne&&(e.HbH(ue.getClassNames()),e.BMQ("aria-label",ue.ariaLabel)("aria-hidden",ue.ariaHidden)("role",ue.role))},encapsulation:2})}return xe})(),Lc=(()=>{class xe extends fe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(ue){return(u||(u=e.xGo(xe)))(ue||xe)}})();static \u0275cmp=e.VBU({type:xe,selectors:[["FilterIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M8.64708 14H5.35296C5.18981 13.9979 5.03395 13.9321 4.91858 13.8167C4.8032 13.7014 4.73745 13.5455 4.73531 13.3824V7L0.329431 0.98C0.259794 0.889466 0.217389 0.780968 0.20718 0.667208C0.19697 0.553448 0.219379 0.439133 0.271783 0.337647C0.324282 0.236453 0.403423 0.151519 0.500663 0.0920138C0.597903 0.0325088 0.709548 0.000692754 0.823548 0H13.1765C13.2905 0.000692754 13.4021 0.0325088 13.4994 0.0920138C13.5966 0.151519 13.6758 0.236453 13.7283 0.337647C13.7807 0.439133 13.8031 0.553448 13.7929 0.667208C13.7826 0.780968 13.7402 0.889466 13.6706 0.98L9.26472 7V13.3824C9.26259 13.5455 9.19683 13.7014 9.08146 13.8167C8.96609 13.9321 8.81022 13.9979 8.64708 14ZM5.97061 12.7647H8.02943V6.79412C8.02878 6.66289 8.07229 6.53527 8.15296 6.43177L11.9412 1.23529H2.05884L5.86355 6.43177C5.94422 6.53527 5.98773 6.66289 5.98708 6.79412L5.97061 12.7647Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ne,ue){1&ne&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ne&&(e.HbH(ue.getClassNames()),e.BMQ("aria-label",ue.ariaLabel)("aria-hidden",ue.ariaHidden)("role",ue.role),e.R7$(),e.BMQ("clip-path",ue.pathId),e.R7$(3),e.Y8G("id",ue.pathId))},encapsulation:2})}return xe})(),Fo=(()=>{class xe extends fe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(ue){return(u||(u=e.xGo(xe)))(ue||xe)}})();static \u0275cmp=e.VBU({type:xe,selectors:[["FilterSlashIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M13.4994 0.0920138C13.5967 0.151519 13.6758 0.236453 13.7283 0.337647C13.7807 0.439133 13.8031 0.553448 13.7929 0.667208C13.7827 0.780968 13.7403 0.889466 13.6707 0.98L11.406 4.06823C11.3099 4.19928 11.1656 4.28679 11.005 4.3115C10.8444 4.33621 10.6805 4.2961 10.5495 4.2C10.4184 4.1039 10.3309 3.95967 10.3062 3.79905C10.2815 3.63843 10.3216 3.47458 10.4177 3.34353L11.9412 1.23529H7.41184C7.24803 1.23529 7.09093 1.17022 6.97509 1.05439C6.85926 0.938558 6.79419 0.781457 6.79419 0.617647C6.79419 0.453837 6.85926 0.296736 6.97509 0.180905C7.09093 0.0650733 7.24803 0 7.41184 0H13.1765C13.2905 0.000692754 13.4022 0.0325088 13.4994 0.0920138ZM4.20008 0.181168H4.24126L13.2013 9.03411C13.3169 9.14992 13.3819 9.3069 13.3819 9.47058C13.3819 9.63426 13.3169 9.79124 13.2013 9.90705C13.1445 9.96517 13.0766 10.0112 13.0016 10.0423C12.9266 10.0735 12.846 10.0891 12.7648 10.0882C12.6836 10.0886 12.6032 10.0728 12.5283 10.0417C12.4533 10.0106 12.3853 9.96479 12.3283 9.90705L9.3142 6.92587L9.26479 6.99999V13.3823C9.26265 13.5455 9.19689 13.7014 9.08152 13.8167C8.96615 13.9321 8.81029 13.9979 8.64714 14H5.35302C5.18987 13.9979 5.03401 13.9321 4.91864 13.8167C4.80327 13.7014 4.73751 13.5455 4.73537 13.3823V6.99999L0.329492 1.02117C0.259855 0.930634 0.21745 0.822137 0.207241 0.708376C0.197031 0.594616 0.21944 0.480301 0.271844 0.378815C0.324343 0.277621 0.403484 0.192687 0.500724 0.133182C0.597964 0.073677 0.709609 0.041861 0.823609 0.0411682H3.86243C3.92448 0.0461551 3.9855 0.060022 4.04361 0.0823446C4.10037 0.10735 4.15311 0.140655 4.20008 0.181168ZM8.02949 6.79411C8.02884 6.66289 8.07235 6.53526 8.15302 6.43176L8.42478 6.05293L3.55773 1.23529H2.0589L5.84714 6.43176C5.92781 6.53526 5.97132 6.66289 5.97067 6.79411V12.7647H8.02949V6.79411Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ne,ue){1&ne&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ne&&(e.HbH(ue.getClassNames()),e.BMQ("aria-label",ue.ariaLabel)("aria-hidden",ue.ariaHidden)("role",ue.role),e.R7$(),e.BMQ("clip-path",ue.pathId),e.R7$(3),e.Y8G("id",ue.pathId))},encapsulation:2})}return xe})(),_a=(()=>{class xe extends fe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(ue){return(u||(u=e.xGo(xe)))(ue||xe)}})();static \u0275cmp=e.VBU({type:xe,selectors:[["PlusIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M7.67742 6.32258V0.677419C7.67742 0.497757 7.60605 0.325452 7.47901 0.198411C7.35197 0.0713707 7.17966 0 7 0C6.82034 0 6.64803 0.0713707 6.52099 0.198411C6.39395 0.325452 6.32258 0.497757 6.32258 0.677419V6.32258H0.677419C0.497757 6.32258 0.325452 6.39395 0.198411 6.52099C0.0713707 6.64803 0 6.82034 0 7C0 7.17966 0.0713707 7.35197 0.198411 7.47901C0.325452 7.60605 0.497757 7.67742 0.677419 7.67742H6.32258V13.3226C6.32492 13.5015 6.39704 13.6725 6.52358 13.799C6.65012 13.9255 6.82106 13.9977 7 14C7.17966 14 7.35197 13.9286 7.47901 13.8016C7.60605 13.6745 7.67742 13.5022 7.67742 13.3226V7.67742H13.3226C13.5022 7.67742 13.6745 7.60605 13.8016 7.47901C13.9286 7.35197 14 7.17966 14 7C13.9977 6.82106 13.9255 6.65012 13.799 6.52358C13.6725 6.39704 13.5015 6.32492 13.3226 6.32258H7.67742Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ne,ue){1&ne&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ne&&(e.HbH(ue.getClassNames()),e.BMQ("aria-label",ue.ariaLabel)("aria-hidden",ue.ariaHidden)("role",ue.role),e.R7$(),e.BMQ("clip-path",ue.pathId),e.R7$(3),e.Y8G("id",ue.pathId))},encapsulation:2})}return xe})(),Fs=(()=>{class xe extends fe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(ue){return(u||(u=e.xGo(xe)))(ue||xe)}})();static \u0275cmp=e.VBU({type:xe,selectors:[["SortAltIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:9,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M5.64515 3.61291C5.47353 3.61291 5.30192 3.54968 5.16644 3.4142L3.38708 1.63484L1.60773 3.4142C1.34579 3.67613 0.912244 3.67613 0.650309 3.4142C0.388374 3.15226 0.388374 2.71871 0.650309 2.45678L2.90837 0.198712C3.17031 -0.0632236 3.60386 -0.0632236 3.86579 0.198712L6.12386 2.45678C6.38579 2.71871 6.38579 3.15226 6.12386 3.4142C5.98837 3.54968 5.81676 3.61291 5.64515 3.61291Z","fill","currentColor"],["d","M3.38714 14C3.01681 14 2.70972 13.6929 2.70972 13.3226V0.677419C2.70972 0.307097 3.01681 0 3.38714 0C3.75746 0 4.06456 0.307097 4.06456 0.677419V13.3226C4.06456 13.6929 3.75746 14 3.38714 14Z","fill","currentColor"],["d","M10.6129 14C10.4413 14 10.2697 13.9368 10.1342 13.8013L7.87611 11.5432C7.61418 11.2813 7.61418 10.8477 7.87611 10.5858C8.13805 10.3239 8.5716 10.3239 8.83353 10.5858L10.6129 12.3652L12.3922 10.5858C12.6542 10.3239 13.0877 10.3239 13.3497 10.5858C13.6116 10.8477 13.6116 11.2813 13.3497 11.5432L11.0916 13.8013C10.9561 13.9368 10.7845 14 10.6129 14Z","fill","currentColor"],["d","M10.6129 14C10.2426 14 9.93552 13.6929 9.93552 13.3226V0.677419C9.93552 0.307097 10.2426 0 10.6129 0C10.9833 0 11.2904 0.307097 11.2904 0.677419V13.3226C11.2904 13.6929 10.9832 14 10.6129 14Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ne,ue){1&ne&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1)(3,"path",2)(4,"path",3)(5,"path",4),e.k0s(),e.j41(6,"defs")(7,"clipPath",5),e.nrm(8,"rect",6),e.k0s()()()),2&ne&&(e.HbH(ue.getClassNames()),e.BMQ("aria-label",ue.ariaLabel)("aria-hidden",ue.ariaHidden)("role",ue.role),e.R7$(),e.BMQ("clip-path",ue.pathId),e.R7$(6),e.Y8G("id",ue.pathId))},encapsulation:2})}return xe})(),Bs=(()=>{class xe extends fe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(ue){return(u||(u=e.xGo(xe)))(ue||xe)}})();static \u0275cmp=e.VBU({type:xe,selectors:[["SortAmountDownIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M4.93953 10.5858L3.83759 11.6877V0.677419C3.83759 0.307097 3.53049 0 3.16017 0C2.78985 0 2.48275 0.307097 2.48275 0.677419V11.6877L1.38082 10.5858C1.11888 10.3239 0.685331 10.3239 0.423396 10.5858C0.16146 10.8477 0.16146 11.2813 0.423396 11.5432L2.68146 13.8013C2.74469 13.8645 2.81694 13.9097 2.89823 13.9458C2.97952 13.9819 3.06985 14 3.16017 14C3.25049 14 3.33178 13.9819 3.42211 13.9458C3.5034 13.9097 3.57565 13.8645 3.63888 13.8013L5.89694 11.5432C6.15888 11.2813 6.15888 10.8477 5.89694 10.5858C5.63501 10.3239 5.20146 10.3239 4.93953 10.5858ZM13.0957 0H7.22468C6.85436 0 6.54726 0.307097 6.54726 0.677419C6.54726 1.04774 6.85436 1.35484 7.22468 1.35484H13.0957C13.466 1.35484 13.7731 1.04774 13.7731 0.677419C13.7731 0.307097 13.466 0 13.0957 0ZM7.22468 5.41935H9.48275C9.85307 5.41935 10.1602 5.72645 10.1602 6.09677C10.1602 6.4671 9.85307 6.77419 9.48275 6.77419H7.22468C6.85436 6.77419 6.54726 6.4671 6.54726 6.09677C6.54726 5.72645 6.85436 5.41935 7.22468 5.41935ZM7.6763 8.12903H7.22468C6.85436 8.12903 6.54726 8.43613 6.54726 8.80645C6.54726 9.17677 6.85436 9.48387 7.22468 9.48387H7.6763C8.04662 9.48387 8.35372 9.17677 8.35372 8.80645C8.35372 8.43613 8.04662 8.12903 7.6763 8.12903ZM7.22468 2.70968H11.2892C11.6595 2.70968 11.9666 3.01677 11.9666 3.3871C11.9666 3.75742 11.6595 4.06452 11.2892 4.06452H7.22468C6.85436 4.06452 6.54726 3.75742 6.54726 3.3871C6.54726 3.01677 6.85436 2.70968 7.22468 2.70968Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ne,ue){1&ne&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ne&&(e.HbH(ue.getClassNames()),e.BMQ("aria-label",ue.ariaLabel)("aria-hidden",ue.ariaHidden)("role",ue.role),e.R7$(),e.BMQ("clip-path",ue.pathId),e.R7$(3),e.Y8G("id",ue.pathId))},encapsulation:2})}return xe})(),ta=(()=>{class xe extends fe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(ue){return(u||(u=e.xGo(xe)))(ue||xe)}})();static \u0275cmp=e.VBU({type:xe,selectors:[["SortAmountUpAltIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M3.63435 0.19871C3.57113 0.135484 3.49887 0.0903226 3.41758 0.0541935C3.255 -0.0180645 3.06532 -0.0180645 2.90274 0.0541935C2.82145 0.0903226 2.74919 0.135484 2.68597 0.19871L0.427901 2.45677C0.165965 2.71871 0.165965 3.15226 0.427901 3.41419C0.689836 3.67613 1.12338 3.67613 1.38532 3.41419L2.48726 2.31226V13.3226C2.48726 13.6929 2.79435 14 3.16467 14C3.535 14 3.84209 13.6929 3.84209 13.3226V2.31226L4.94403 3.41419C5.07951 3.54968 5.25113 3.6129 5.42274 3.6129C5.59435 3.6129 5.76597 3.54968 5.90145 3.41419C6.16338 3.15226 6.16338 2.71871 5.90145 2.45677L3.64338 0.19871H3.63435ZM13.7685 13.3226C13.7685 12.9523 13.4615 12.6452 13.0911 12.6452H7.22016C6.84984 12.6452 6.54274 12.9523 6.54274 13.3226C6.54274 13.6929 6.84984 14 7.22016 14H13.0911C13.4615 14 13.7685 13.6929 13.7685 13.3226ZM7.22016 8.58064C6.84984 8.58064 6.54274 8.27355 6.54274 7.90323C6.54274 7.5329 6.84984 7.22581 7.22016 7.22581H9.47823C9.84855 7.22581 10.1556 7.5329 10.1556 7.90323C10.1556 8.27355 9.84855 8.58064 9.47823 8.58064H7.22016ZM7.22016 5.87097H7.67177C8.0421 5.87097 8.34919 5.56387 8.34919 5.19355C8.34919 4.82323 8.0421 4.51613 7.67177 4.51613H7.22016C6.84984 4.51613 6.54274 4.82323 6.54274 5.19355C6.54274 5.56387 6.84984 5.87097 7.22016 5.87097ZM11.2847 11.2903H7.22016C6.84984 11.2903 6.54274 10.9832 6.54274 10.6129C6.54274 10.2426 6.84984 9.93548 7.22016 9.93548H11.2847C11.655 9.93548 11.9621 10.2426 11.9621 10.6129C11.9621 10.9832 11.655 11.2903 11.2847 11.2903Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ne,ue){1&ne&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ne&&(e.HbH(ue.getClassNames()),e.BMQ("aria-label",ue.ariaLabel)("aria-hidden",ue.ariaHidden)("role",ue.role),e.R7$(),e.BMQ("clip-path",ue.pathId),e.R7$(3),e.Y8G("id",ue.pathId))},encapsulation:2})}return xe})(),bl=(()=>{class xe extends fe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(ue){return(u||(u=e.xGo(xe)))(ue||xe)}})();static \u0275cmp=e.VBU({type:xe,selectors:[["TrashIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M3.44802 13.9955H10.552C10.8056 14.0129 11.06 13.9797 11.3006 13.898C11.5412 13.8163 11.7632 13.6877 11.9537 13.5196C12.1442 13.3515 12.2995 13.1473 12.4104 12.9188C12.5213 12.6903 12.5858 12.442 12.6 12.1884V4.36041H13.4C13.5591 4.36041 13.7117 4.29722 13.8243 4.18476C13.9368 4.07229 14 3.91976 14 3.76071C14 3.60166 13.9368 3.44912 13.8243 3.33666C13.7117 3.22419 13.5591 3.16101 13.4 3.16101H12.0537C12.0203 3.1557 11.9863 3.15299 11.952 3.15299C11.9178 3.15299 11.8838 3.1557 11.8503 3.16101H11.2285C11.2421 3.10893 11.2487 3.05513 11.248 3.00106V1.80966C11.2171 1.30262 10.9871 0.828306 10.608 0.48989C10.229 0.151475 9.73159 -0.0236625 9.22402 0.00257442H4.77602C4.27251 -0.0171866 3.78126 0.160868 3.40746 0.498617C3.03365 0.836366 2.807 1.30697 2.77602 1.80966V3.00106C2.77602 3.0556 2.78346 3.10936 2.79776 3.16101H0.6C0.521207 3.16101 0.443185 3.17652 0.37039 3.20666C0.297595 3.2368 0.231451 3.28097 0.175736 3.33666C0.120021 3.39235 0.0758251 3.45846 0.0456722 3.53121C0.0155194 3.60397 0 3.68196 0 3.76071C0 3.83946 0.0155194 3.91744 0.0456722 3.9902C0.0758251 4.06296 0.120021 4.12907 0.175736 4.18476C0.231451 4.24045 0.297595 4.28462 0.37039 4.31476C0.443185 4.3449 0.521207 4.36041 0.6 4.36041H1.40002V12.1884C1.41426 12.442 1.47871 12.6903 1.58965 12.9188C1.7006 13.1473 1.85582 13.3515 2.04633 13.5196C2.23683 13.6877 2.45882 13.8163 2.69944 13.898C2.94005 13.9797 3.1945 14.0129 3.44802 13.9955ZM2.60002 4.36041H11.304V12.1884C11.304 12.5163 10.952 12.7961 10.504 12.7961H3.40002C2.97602 12.7961 2.60002 12.5163 2.60002 12.1884V4.36041ZM3.95429 3.16101C3.96859 3.10936 3.97602 3.0556 3.97602 3.00106V1.80966C3.97602 1.48183 4.33602 1.20197 4.77602 1.20197H9.24802C9.66403 1.20197 10.048 1.48183 10.048 1.80966V3.00106C10.0473 3.05515 10.054 3.10896 10.0678 3.16101H3.95429ZM5.57571 10.997C5.41731 10.995 5.26597 10.9311 5.15395 10.8191C5.04193 10.7071 4.97808 10.5558 4.97601 10.3973V6.77517C4.97601 6.61612 5.0392 6.46359 5.15166 6.35112C5.26413 6.23866 5.41666 6.17548 5.57571 6.17548C5.73476 6.17548 5.8873 6.23866 5.99976 6.35112C6.11223 6.46359 6.17541 6.61612 6.17541 6.77517V10.3894C6.17647 10.4688 6.16174 10.5476 6.13208 10.6213C6.10241 10.695 6.05841 10.762 6.00261 10.8186C5.94682 10.8751 5.88035 10.92 5.80707 10.9506C5.73378 10.9813 5.65514 10.9971 5.57571 10.997ZM7.99968 10.8214C8.11215 10.9339 8.26468 10.997 8.42373 10.997C8.58351 10.9949 8.73604 10.93 8.84828 10.8163C8.96052 10.7025 9.02345 10.5491 9.02343 10.3894V6.77517C9.02343 6.61612 8.96025 6.46359 8.84778 6.35112C8.73532 6.23866 8.58278 6.17548 8.42373 6.17548C8.26468 6.17548 8.11215 6.23866 7.99968 6.35112C7.88722 6.46359 7.82404 6.61612 7.82404 6.77517V10.3973C7.82404 10.5564 7.88722 10.7089 7.99968 10.8214Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ne,ue){1&ne&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ne&&(e.HbH(ue.getClassNames()),e.BMQ("aria-label",ue.ariaLabel)("aria-hidden",ue.ariaHidden)("role",ue.role),e.R7$(),e.BMQ("clip-path",ue.pathId),e.R7$(3),e.Y8G("id",ue.pathId))},encapsulation:2})}return xe})(),_o=(()=>{class xe extends fe.h{static \u0275fac=(()=>{let u;return function(ue){return(u||(u=e.xGo(xe)))(ue||xe)}})();static \u0275cmp=e.VBU({type:xe,selectors:[["AngleDownIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M3.58659 4.5007C3.68513 4.50023 3.78277 4.51945 3.87379 4.55723C3.9648 4.59501 4.04735 4.65058 4.11659 4.7207L7.11659 7.7207L10.1166 4.7207C10.2619 4.65055 10.4259 4.62911 10.5843 4.65956C10.7427 4.69002 10.8871 4.77074 10.996 4.88976C11.1049 5.00877 11.1726 5.15973 11.1889 5.32022C11.2052 5.48072 11.1693 5.6422 11.0866 5.7807L7.58659 9.2807C7.44597 9.42115 7.25534 9.50004 7.05659 9.50004C6.85784 9.50004 6.66722 9.42115 6.52659 9.2807L3.02659 5.7807C2.88614 5.64007 2.80725 5.44945 2.80725 5.2507C2.80725 5.05195 2.88614 4.86132 3.02659 4.7207C3.09932 4.64685 3.18675 4.58911 3.28322 4.55121C3.37969 4.51331 3.48305 4.4961 3.58659 4.5007Z","fill","currentColor"]],template:function(ne,ue){1&ne&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ne&&(e.HbH(ue.getClassNames()),e.BMQ("aria-label",ue.ariaLabel)("aria-hidden",ue.ariaHidden)("role",ue.role))},encapsulation:2})}return xe})(),Co=(()=>{class xe extends fe.h{static \u0275fac=(()=>{let u;return function(ue){return(u||(u=e.xGo(xe)))(ue||xe)}})();static \u0275cmp=e.VBU({type:xe,selectors:[["AngleUpIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M10.4134 9.49931C10.3148 9.49977 10.2172 9.48055 10.1262 9.44278C10.0352 9.405 9.95263 9.34942 9.88338 9.27931L6.88338 6.27931L3.88338 9.27931C3.73811 9.34946 3.57409 9.3709 3.41567 9.34044C3.25724 9.30999 3.11286 9.22926 3.00395 9.11025C2.89504 8.99124 2.82741 8.84028 2.8111 8.67978C2.79478 8.51928 2.83065 8.35781 2.91338 8.21931L6.41338 4.71931C6.55401 4.57886 6.74463 4.49997 6.94338 4.49997C7.14213 4.49997 7.33276 4.57886 7.47338 4.71931L10.9734 8.21931C11.1138 8.35994 11.1927 8.55056 11.1927 8.74931C11.1927 8.94806 11.1138 9.13868 10.9734 9.27931C10.9007 9.35315 10.8132 9.41089 10.7168 9.44879C10.6203 9.48669 10.5169 9.5039 10.4134 9.49931Z","fill","currentColor"]],template:function(ne,ue){1&ne&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ne&&(e.HbH(ue.getClassNames()),e.BMQ("aria-label",ue.ariaLabel)("aria-hidden",ue.ariaHidden)("role",ue.role))},encapsulation:2})}return xe})();var Ca=He(22242);const wa=["input"],jl=(xe,tt,u)=>({"p-inputnumber p-component":!0,"p-inputnumber-buttons-stacked":xe,"p-inputnumber-buttons-horizontal":tt,"p-inputnumber-buttons-vertical":u}),Rc=()=>({"p-inputnumber-button p-inputnumber-button-up":!0}),vl=()=>({"p-inputnumber-button p-inputnumber-button-down":!0});function _r(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"TimesIcon",8),e.bIt("click",function(){e.eBV(u);const ue=e.XpG(2);return e.Njj(ue.clear())}),e.k0s()}2&xe&&(e.Y8G("ngClass","p-inputnumber-clear-icon"),e.BMQ("data-pc-section","clearIcon"))}function Ga(xe,tt){}function ia(xe,tt){1&xe&&e.DNE(0,Ga,0,0,"ng-template")}function Hr(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"span",9),e.bIt("click",function(){e.eBV(u);const ue=e.XpG(2);return e.Njj(ue.clear())}),e.DNE(1,ia,1,0,null,10),e.k0s()}if(2&xe){const u=e.XpG(2);e.BMQ("data-pc-section","clearIcon"),e.R7$(),e.Y8G("ngTemplateOutlet",u.clearIconTemplate)}}function na(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,_r,1,2,"TimesIcon",6)(2,Hr,2,2,"span",7),e.bVm()),2&xe){const u=e.XpG();e.R7$(),e.Y8G("ngIf",!u.clearIconTemplate),e.R7$(),e.Y8G("ngIf",u.clearIconTemplate)}}function Ha(xe,tt){if(1&xe&&e.nrm(0,"span",14),2&xe){const u=e.XpG(2);e.Y8G("ngClass",u.incrementButtonIcon),e.BMQ("data-pc-section","incrementbuttonicon")}}function sa(xe,tt){1&xe&&e.nrm(0,"AngleUpIcon"),2&xe&&e.BMQ("data-pc-section","incrementbuttonicon")}function Ge(xe,tt){}function ut(xe,tt){1&xe&&e.DNE(0,Ge,0,0,"ng-template")}function Ke(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,sa,1,1,"AngleUpIcon",3)(2,ut,1,0,null,10),e.bVm()),2&xe){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.incrementButtonIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.incrementButtonIconTemplate)}}function at(xe,tt){if(1&xe&&e.nrm(0,"span",14),2&xe){const u=e.XpG(2);e.Y8G("ngClass",u.decrementButtonIcon),e.BMQ("data-pc-section","decrementbuttonicon")}}function Et(xe,tt){1&xe&&e.nrm(0,"AngleDownIcon"),2&xe&&e.BMQ("data-pc-section","decrementbuttonicon")}function qt(xe,tt){}function ci(xe,tt){1&xe&&e.DNE(0,qt,0,0,"ng-template")}function Pi(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,Et,1,1,"AngleDownIcon",3)(2,ci,1,0,null,10),e.bVm()),2&xe){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.decrementButtonIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decrementButtonIconTemplate)}}function Xn(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"span",11)(1,"button",12),e.bIt("mousedown",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onUpButtonMouseDown(ue))})("mouseup",function(){e.eBV(u);const ue=e.XpG();return e.Njj(ue.onUpButtonMouseUp())})("mouseleave",function(){e.eBV(u);const ue=e.XpG();return e.Njj(ue.onUpButtonMouseLeave())})("keydown",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onUpButtonKeyDown(ue))})("keyup",function(){e.eBV(u);const ue=e.XpG();return e.Njj(ue.onUpButtonKeyUp())}),e.DNE(2,Ha,1,2,"span",13)(3,Ke,3,2,"ng-container",3),e.k0s(),e.j41(4,"button",12),e.bIt("mousedown",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onDownButtonMouseDown(ue))})("mouseup",function(){e.eBV(u);const ue=e.XpG();return e.Njj(ue.onDownButtonMouseUp())})("mouseleave",function(){e.eBV(u);const ue=e.XpG();return e.Njj(ue.onDownButtonMouseLeave())})("keydown",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onDownButtonKeyDown(ue))})("keyup",function(){e.eBV(u);const ue=e.XpG();return e.Njj(ue.onDownButtonKeyUp())}),e.DNE(5,at,1,2,"span",13)(6,Pi,3,2,"ng-container",3),e.k0s()()}if(2&xe){const u=e.XpG();e.BMQ("data-pc-section","buttonGroup"),e.R7$(),e.HbH(u.incrementButtonClass),e.Y8G("ngClass",e.lJ4(17,Rc))("disabled",u.disabled),e.BMQ("aria-hidden",!0)("data-pc-section","incrementbutton"),e.R7$(),e.Y8G("ngIf",u.incrementButtonIcon),e.R7$(),e.Y8G("ngIf",!u.incrementButtonIcon),e.R7$(),e.HbH(u.decrementButtonClass),e.Y8G("ngClass",e.lJ4(18,vl))("disabled",u.disabled),e.BMQ("aria-hidden",!0)("data-pc-section",u.decrementbutton),e.R7$(),e.Y8G("ngIf",u.decrementButtonIcon),e.R7$(),e.Y8G("ngIf",!u.decrementButtonIcon)}}function Qn(xe,tt){if(1&xe&&e.nrm(0,"span",14),2&xe){const u=e.XpG(2);e.Y8G("ngClass",u.incrementButtonIcon),e.BMQ("data-pc-section","incrementbuttonicon")}}function os(xe,tt){1&xe&&e.nrm(0,"AngleUpIcon"),2&xe&&e.BMQ("data-pc-section","incrementbuttonicon")}function Sn(xe,tt){}function us(xe,tt){1&xe&&e.DNE(0,Sn,0,0,"ng-template")}function ns(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,os,1,1,"AngleUpIcon",3)(2,us,1,0,null,10),e.bVm()),2&xe){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.incrementButtonIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.incrementButtonIconTemplate)}}function js(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"button",12),e.bIt("mousedown",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onUpButtonMouseDown(ue))})("mouseup",function(){e.eBV(u);const ue=e.XpG();return e.Njj(ue.onUpButtonMouseUp())})("mouseleave",function(){e.eBV(u);const ue=e.XpG();return e.Njj(ue.onUpButtonMouseLeave())})("keydown",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onUpButtonKeyDown(ue))})("keyup",function(){e.eBV(u);const ue=e.XpG();return e.Njj(ue.onUpButtonKeyUp())}),e.DNE(1,Qn,1,2,"span",13)(2,ns,3,2,"ng-container",3),e.k0s()}if(2&xe){const u=e.XpG();e.HbH(u.incrementButtonClass),e.Y8G("ngClass",e.lJ4(8,Rc))("disabled",u.disabled),e.BMQ("aria-hidden",!0)("data-pc-section","incrementbutton"),e.R7$(),e.Y8G("ngIf",u.incrementButtonIcon),e.R7$(),e.Y8G("ngIf",!u.incrementButtonIcon)}}function Pr(xe,tt){if(1&xe&&e.nrm(0,"span",14),2&xe){const u=e.XpG(2);e.Y8G("ngClass",u.decrementButtonIcon),e.BMQ("data-pc-section","decrementbuttonicon")}}function Hn(xe,tt){1&xe&&e.nrm(0,"AngleDownIcon"),2&xe&&e.BMQ("data-pc-section","decrementbuttonicon")}function ui(xe,tt){}function zi(xe,tt){1&xe&&e.DNE(0,ui,0,0,"ng-template")}function Yn(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,Hn,1,1,"AngleDownIcon",3)(2,zi,1,0,null,10),e.bVm()),2&xe){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.decrementButtonIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decrementButtonIconTemplate)}}function gs(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"button",12),e.bIt("mousedown",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onDownButtonMouseDown(ue))})("mouseup",function(){e.eBV(u);const ue=e.XpG();return e.Njj(ue.onDownButtonMouseUp())})("mouseleave",function(){e.eBV(u);const ue=e.XpG();return e.Njj(ue.onDownButtonMouseLeave())})("keydown",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onDownButtonKeyDown(ue))})("keyup",function(){e.eBV(u);const ue=e.XpG();return e.Njj(ue.onDownButtonKeyUp())}),e.DNE(1,Pr,1,2,"span",13)(2,Yn,3,2,"ng-container",3),e.k0s()}if(2&xe){const u=e.XpG();e.HbH(u.decrementButtonClass),e.Y8G("ngClass",e.lJ4(8,vl))("disabled",u.disabled),e.BMQ("aria-hidden",!0)("data-pc-section","decrementbutton"),e.R7$(),e.Y8G("ngIf",u.decrementButtonIcon),e.R7$(),e.Y8G("ngIf",!u.decrementButtonIcon)}}const ks={provide:V.kq,useExisting:(0,e.Rfq)(()=>ar),multi:!0};let ar=(()=>{class xe{document;el;cd;injector;showButtons=!1;format=!0;buttonLayout="stacked";inputId;styleClass;style;placeholder;size;maxlength;tabindex;title;ariaLabelledBy;ariaLabel;ariaRequired;name;required;autocomplete;min;max;incrementButtonClass;decrementButtonClass;incrementButtonIcon;decrementButtonIcon;readonly=!1;step=1;allowEmpty=!0;locale;localeMatcher;mode="decimal";currency;currencyDisplay;useGrouping=!0;minFractionDigits;maxFractionDigits;prefix;suffix;inputStyle;inputStyleClass;showClear=!1;get disabled(){return this._disabled}set disabled(u){u&&(this.focused=!1),this._disabled=u,this.timer&&this.clearTimer()}onInput=new e.bkB;onFocus=new e.bkB;onBlur=new e.bkB;onKeyDown=new e.bkB;onClear=new e.bkB;input;templates;clearIconTemplate;incrementButtonIconTemplate;decrementButtonIconTemplate;value;onModelChange=()=>{};onModelTouched=()=>{};focused;initialized;groupChar="";prefixChar="";suffixChar="";isSpecialChar;timer;lastValue;_numeral;numberFormat;_decimal;_decimalChar;_group;_minusSign;_currency;_prefix;_suffix;_index;_disabled;ngControl=null;constructor(u,ne,ue,Ie){this.document=u,this.el=ne,this.cd=ue,this.injector=Ie}ngOnChanges(u){["locale","localeMatcher","mode","currency","currencyDisplay","useGrouping","minFractionDigits","maxFractionDigits","prefix","suffix"].some(ue=>!!u[ue])&&this.updateConstructParser()}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"clearicon":this.clearIconTemplate=u.template;break;case"incrementbuttonicon":this.incrementButtonIconTemplate=u.template;break;case"decrementbuttonicon":this.decrementButtonIconTemplate=u.template}})}ngOnInit(){this.ngControl=this.injector.get(V.vO,null,{optional:!0}),this.constructParser(),this.initialized=!0}getOptions(){return{localeMatcher:this.localeMatcher,style:this.mode,currency:this.currency,currencyDisplay:this.currencyDisplay,useGrouping:this.useGrouping,minimumFractionDigits:this.minFractionDigits,maximumFractionDigits:this.maxFractionDigits}}constructParser(){this.numberFormat=new Intl.NumberFormat(this.locale,this.getOptions());const u=[...new Intl.NumberFormat(this.locale,{useGrouping:!1}).format(9876543210)].reverse(),ne=new Map(u.map((ue,Ie)=>[ue,Ie]));this._numeral=new RegExp(`[${u.join("")}]`,"g"),this._group=this.getGroupingExpression(),this._minusSign=this.getMinusSignExpression(),this._currency=this.getCurrencyExpression(),this._decimal=this.getDecimalExpression(),this._decimalChar=this.getDecimalChar(),this._suffix=this.getSuffixExpression(),this._prefix=this.getPrefixExpression(),this._index=ue=>ne.get(ue)}updateConstructParser(){this.initialized&&this.constructParser()}escapeRegExp(u){return u.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}getDecimalExpression(){const u=this.getDecimalChar();return new RegExp(`[${u}]`,"g")}getDecimalChar(){return new Intl.NumberFormat(this.locale,{...this.getOptions(),useGrouping:!1}).format(1.1).replace(this._currency,"").trim().replace(this._numeral,"")}getGroupingExpression(){const u=new Intl.NumberFormat(this.locale,{useGrouping:!0});return this.groupChar=u.format(1e6).trim().replace(this._numeral,"").charAt(0),new RegExp(`[${this.groupChar}]`,"g")}getMinusSignExpression(){const u=new Intl.NumberFormat(this.locale,{useGrouping:!1});return new RegExp(`[${u.format(-1).trim().replace(this._numeral,"")}]`,"g")}getCurrencyExpression(){if(this.currency){const u=new Intl.NumberFormat(this.locale,{style:"currency",currency:this.currency,currencyDisplay:this.currencyDisplay,minimumFractionDigits:0,maximumFractionDigits:0});return new RegExp(`[${u.format(1).replace(/\s/g,"").replace(this._numeral,"").replace(this._group,"")}]`,"g")}return new RegExp("[]","g")}getPrefixExpression(){if(this.prefix)this.prefixChar=this.prefix;else{const u=new Intl.NumberFormat(this.locale,{style:this.mode,currency:this.currency,currencyDisplay:this.currencyDisplay});this.prefixChar=u.format(1).split("1")[0]}return new RegExp(`${this.escapeRegExp(this.prefixChar||"")}`,"g")}getSuffixExpression(){if(this.suffix)this.suffixChar=this.suffix;else{const u=new Intl.NumberFormat(this.locale,{style:this.mode,currency:this.currency,currencyDisplay:this.currencyDisplay,minimumFractionDigits:0,maximumFractionDigits:0});this.suffixChar=u.format(1).split("1")[1]}return new RegExp(`${this.escapeRegExp(this.suffixChar||"")}`,"g")}formatValue(u){if(null!=u){if("-"===u)return u;if(this.format){let ue=new Intl.NumberFormat(this.locale,this.getOptions()).format(u);return this.prefix&&(ue=this.prefix+ue),this.suffix&&(ue+=this.suffix),ue}return u.toString()}return""}parseValue(u){let ne=u.replace(this._suffix,"").replace(this._prefix,"").trim().replace(/\s/g,"").replace(this._currency,"").replace(this._group,"").replace(this._minusSign,"-").replace(this._decimal,".").replace(this._numeral,this._index);if(ne){if("-"===ne)return ne;let ue=+ne;return isNaN(ue)?null:ue}return null}repeat(u,ne,ue){if(this.readonly)return;let Ie=ne||500;this.clearTimer(),this.timer=setTimeout(()=>{this.repeat(u,40,ue)},Ie),this.spin(u,ue)}spin(u,ne){let ue=this.step*ne,Ie=this.parseValue(this.input?.nativeElement.value)||0,nt=this.validateValue(Ie+ue);this.maxlength&&this.maxlength=0;Tt--)if(this.isNumeralChar(Ie.charAt(Tt))){this.input.nativeElement.setSelectionRange(Tt,Tt);break}break;case"Tab":case"Enter":nt=this.validateValue(this.parseValue(this.input.nativeElement.value)),this.input.nativeElement.value=this.formatValue(nt),this.input.nativeElement.setAttribute("aria-valuenow",nt),this.updateModel(u,nt);break;case"Backspace":if(u.preventDefault(),ne===ue){const Tt=Ie.charAt(ne-1),{decimalCharIndex:zt,decimalCharIndexWithoutPrefix:ai}=this.getDecimalCharIndexes(Ie);if(this.isNumeralChar(Tt)){const oi=this.getDecimalLength(Ie);if(this._group.test(Tt))this._group.lastIndex=0,nt=Ie.slice(0,ne-2)+Ie.slice(ne-1);else if(this._decimal.test(Tt))this._decimal.lastIndex=0,oi?this.input?.nativeElement.setSelectionRange(ne-1,ne-1):nt=Ie.slice(0,ne-1)+Ie.slice(ne);else if(zt>0&&ne>zt){const Li=this.isDecimalMode()&&(this.minFractionDigits||0)0?nt:""):nt=Ie.slice(0,ne-1)+Ie.slice(ne)}else"currency"===this.mode&&-1!=Tt.search(this._currency)&&(nt=Ie.slice(1));this.updateValue(u,nt,null,"delete-single")}else nt=this.deleteRange(Ie,ne,ue),this.updateValue(u,nt,null,"delete-range");break;case"Delete":if(u.preventDefault(),ne===ue){const Tt=Ie.charAt(ne),{decimalCharIndex:zt,decimalCharIndexWithoutPrefix:ai}=this.getDecimalCharIndexes(Ie);if(this.isNumeralChar(Tt)){const oi=this.getDecimalLength(Ie);if(this._group.test(Tt))this._group.lastIndex=0,nt=Ie.slice(0,ne)+Ie.slice(ne+2);else if(this._decimal.test(Tt))this._decimal.lastIndex=0,oi?this.input?.nativeElement.setSelectionRange(ne+1,ne+1):nt=Ie.slice(0,ne)+Ie.slice(ne+1);else if(zt>0&&ne>zt){const Li=this.isDecimalMode()&&(this.minFractionDigits||0)0?nt:""):nt=Ie.slice(0,ne)+Ie.slice(ne+1)}this.updateValue(u,nt,null,"delete-back-single")}else nt=this.deleteRange(Ie,ne,ue),this.updateValue(u,nt,null,"delete-range");break;case"Home":this.min&&(this.updateModel(u,this.min),u.preventDefault());break;case"End":this.max&&(this.updateModel(u,this.max),u.preventDefault())}this.onKeyDown.emit(u)}onInputKeyPress(u){if(this.readonly)return;let ne=u.which||u.keyCode,ue=String.fromCharCode(ne),Ie=this.isDecimalSign(ue);const nt=this.isMinusSign(ue);13!=ne&&u.preventDefault(),!Ie&&"NumpadDecimal"===u.code&&(Ie=!0,ue=this._decimalChar,ne=ue.charCodeAt(0));const Tt=this.parseValue(this.input.nativeElement.value+ue),zt=null!=Tt?Tt.toString():"";this.maxlength&&zt.length>this.maxlength||(48<=ne&&ne<=57||nt||Ie)&&this.insert(u,ue,{isDecimalSign:Ie,isMinusSign:nt})}onPaste(u){if(!this.disabled&&!this.readonly){u.preventDefault();let ne=(u.clipboardData||this.document.defaultView.clipboardData).getData("Text");if(ne){this.maxlength&&(ne=ne.toString().substring(0,this.maxlength));let ue=this.parseValue(ne);null!=ue&&this.insert(u,ue.toString())}}}allowMinusSign(){return null==this.min||this.min<0}isMinusSign(u){return!(!this._minusSign.test(u)&&"-"!==u||(this._minusSign.lastIndex=0,0))}isDecimalSign(u){return!!this._decimal.test(u)&&(this._decimal.lastIndex=0,!0)}isDecimalMode(){return"decimal"===this.mode}getDecimalCharIndexes(u){let ne=u.search(this._decimal);this._decimal.lastIndex=0;const Ie=u.replace(this._prefix,"").trim().replace(/\s/g,"").replace(this._currency,"").search(this._decimal);return this._decimal.lastIndex=0,{decimalCharIndex:ne,decimalCharIndexWithoutPrefix:Ie}}getCharIndexes(u){const ne=u.search(this._decimal);this._decimal.lastIndex=0;const ue=u.search(this._minusSign);this._minusSign.lastIndex=0;const Ie=u.search(this._suffix);this._suffix.lastIndex=0;const nt=u.search(this._currency);return this._currency.lastIndex=0,{decimalCharIndex:ne,minusCharIndex:ue,suffixCharIndex:Ie,currencyCharIndex:nt}}insert(u,ne,ue={isDecimalSign:!1,isMinusSign:!1}){const Ie=ne.search(this._minusSign);if(this._minusSign.lastIndex=0,!this.allowMinusSign()&&-1!==Ie)return;let nt=this.input?.nativeElement.selectionStart,Tt=this.input?.nativeElement.selectionEnd,zt=this.input?.nativeElement.value.trim();const{decimalCharIndex:ai,minusCharIndex:oi,suffixCharIndex:Li,currencyCharIndex:Zi}=this.getCharIndexes(zt);let Yi;if(ue.isMinusSign)0===nt&&(Yi=zt,(-1===oi||0!==Tt)&&(Yi=this.insertText(zt,ne,0,Tt)),this.updateValue(u,Yi,ne,"insert"));else if(ue.isDecimalSign)ai>0&&nt===ai?this.updateValue(u,zt,ne,"insert"):(ai>nt&&ai0&&nt>ai){if(nt+ne.length-(ai+1)<=tn){const nn=Zi>=nt?Zi-1:Li>=nt?Li:zt.length;Yi=zt.slice(0,nt)+ne+zt.slice(nt+ne.length,nn)+zt.slice(nn),this.updateValue(u,Yi,ne,wn)}}else Yi=this.insertText(zt,ne,nt,Tt),this.updateValue(u,Yi,ne,wn)}}insertText(u,ne,ue,Ie){if(2===("."===ne?ne:ne.split(".")).length){const Tt=u.slice(ue,Ie).search(this._decimal);return this._decimal.lastIndex=0,Tt>0?u.slice(0,ue)+this.formatValue(ne)+u.slice(Ie):u||this.formatValue(ne)}return Ie-ue===u.length?this.formatValue(ne):0===ue?ne+u.slice(Ie):Ie===u.length?u.slice(0,ue)+ne:u.slice(0,ue)+ne+u.slice(Ie)}deleteRange(u,ne,ue){let Ie;return Ie=ue-ne===u.length?"":0===ne?u.slice(ue):ue===u.length?u.slice(0,ne):u.slice(0,ne)+u.slice(ue),Ie}initCursor(){let u=this.input?.nativeElement.selectionStart,ne=this.input?.nativeElement.value,ue=ne.length,Ie=null,nt=(this.prefixChar||"").length;ne=ne.replace(this._prefix,""),u-=nt;let Tt=ne.charAt(u);if(this.isNumeralChar(Tt))return u+nt;let zt=u-1;for(;zt>=0;){if(Tt=ne.charAt(zt),this.isNumeralChar(Tt)){Ie=zt+nt;break}zt--}if(null!==Ie)this.input?.nativeElement.setSelectionRange(Ie+1,Ie+1);else{for(zt=u;ztthis.max?this.max:u}updateInput(u,ne,ue,Ie){ne=ne||"";let nt=this.input?.nativeElement.value,Tt=this.formatValue(u),zt=nt.length;if(Tt!==Ie&&(Tt=this.concatValues(Tt,Ie)),0===zt){this.input.nativeElement.value=Tt,this.input.nativeElement.setSelectionRange(0,0);const oi=this.initCursor()+ne.length;this.input.nativeElement.setSelectionRange(oi,oi)}else{let ai=this.input.nativeElement.selectionStart,oi=this.input.nativeElement.selectionEnd;if(this.maxlength&&Tt.length>this.maxlength&&(Tt=Tt.slice(0,this.maxlength),ai=Math.min(ai,this.maxlength),oi=Math.min(oi,this.maxlength)),this.maxlength&&this.maxlength0}clearTimer(){this.timer&&clearInterval(this.timer)}static \u0275fac=function(ne){return new(ne||xe)(e.rXU(M.qQ),e.rXU(e.aKT),e.rXU(e.gRc),e.rXU(e.zZn))};static \u0275cmp=e.VBU({type:xe,selectors:[["p-inputNumber"]],contentQueries:function(ne,ue,Ie){if(1&ne&&e.wni(Ie,Pe.Ei,4),2&ne){let nt;e.mGM(nt=e.lsd())&&(ue.templates=nt)}},viewQuery:function(ne,ue){if(1&ne&&e.GBs(wa,5),2&ne){let Ie;e.mGM(Ie=e.lsd())&&(ue.input=Ie.first)}},hostAttrs:[1,"p-element","p-inputwrapper"],hostVars:6,hostBindings:function(ne,ue){2&ne&&e.AVh("p-inputwrapper-filled",ue.filled)("p-inputwrapper-focus",ue.focused)("p-inputnumber-clearable",ue.showClear&&"vertical"!=ue.buttonLayout)},inputs:{showButtons:"showButtons",format:"format",buttonLayout:"buttonLayout",inputId:"inputId",styleClass:"styleClass",style:"style",placeholder:"placeholder",size:"size",maxlength:"maxlength",tabindex:"tabindex",title:"title",ariaLabelledBy:"ariaLabelledBy",ariaLabel:"ariaLabel",ariaRequired:"ariaRequired",name:"name",required:"required",autocomplete:"autocomplete",min:"min",max:"max",incrementButtonClass:"incrementButtonClass",decrementButtonClass:"decrementButtonClass",incrementButtonIcon:"incrementButtonIcon",decrementButtonIcon:"decrementButtonIcon",readonly:"readonly",step:"step",allowEmpty:"allowEmpty",locale:"locale",localeMatcher:"localeMatcher",mode:"mode",currency:"currency",currencyDisplay:"currencyDisplay",useGrouping:"useGrouping",minFractionDigits:"minFractionDigits",maxFractionDigits:"maxFractionDigits",prefix:"prefix",suffix:"suffix",inputStyle:"inputStyle",inputStyleClass:"inputStyleClass",showClear:"showClear",disabled:"disabled"},outputs:{onInput:"onInput",onFocus:"onFocus",onBlur:"onBlur",onKeyDown:"onKeyDown",onClear:"onClear"},features:[e.Jv_([ks]),e.OA$],decls:7,vars:39,consts:[["input",""],[3,"ngClass","ngStyle"],["pInputText","","role","spinbutton","inputmode","decimal",3,"input","keydown","keypress","paste","click","focus","blur","ngClass","ngStyle","value","disabled","readonly"],[4,"ngIf"],["class","p-inputnumber-button-group",4,"ngIf"],["type","button","pButton","","class","p-button-icon-only","tabindex","-1",3,"ngClass","class","disabled","mousedown","mouseup","mouseleave","keydown","keyup",4,"ngIf"],[3,"ngClass","click",4,"ngIf"],["class","p-inputnumber-clear-icon",3,"click",4,"ngIf"],[3,"click","ngClass"],[1,"p-inputnumber-clear-icon",3,"click"],[4,"ngTemplateOutlet"],[1,"p-inputnumber-button-group"],["type","button","pButton","","tabindex","-1",1,"p-button-icon-only",3,"mousedown","mouseup","mouseleave","keydown","keyup","ngClass","disabled"],[3,"ngClass",4,"ngIf"],[3,"ngClass"]],template:function(ne,ue){if(1&ne){const Ie=e.RV6();e.j41(0,"span",1)(1,"input",2,0),e.bIt("input",function(Tt){return e.eBV(Ie),e.Njj(ue.onUserInput(Tt))})("keydown",function(Tt){return e.eBV(Ie),e.Njj(ue.onInputKeyDown(Tt))})("keypress",function(Tt){return e.eBV(Ie),e.Njj(ue.onInputKeyPress(Tt))})("paste",function(Tt){return e.eBV(Ie),e.Njj(ue.onPaste(Tt))})("click",function(){return e.eBV(Ie),e.Njj(ue.onInputClick())})("focus",function(Tt){return e.eBV(Ie),e.Njj(ue.onInputFocus(Tt))})("blur",function(Tt){return e.eBV(Ie),e.Njj(ue.onInputBlur(Tt))}),e.k0s(),e.DNE(3,na,3,2,"ng-container",3)(4,Xn,7,19,"span",4)(5,js,3,9,"button",5)(6,gs,3,9,"button",5),e.k0s()}2&ne&&(e.HbH(ue.styleClass),e.Y8G("ngClass",e.sMw(35,jl,ue.showButtons&&"stacked"===ue.buttonLayout,ue.showButtons&&"horizontal"===ue.buttonLayout,ue.showButtons&&"vertical"===ue.buttonLayout))("ngStyle",ue.style),e.BMQ("data-pc-name","inputnumber")("data-pc-section","root"),e.R7$(),e.HbH(ue.inputStyleClass),e.Y8G("ngClass","p-inputnumber-input")("ngStyle",ue.inputStyle)("value",ue.formattedValue())("disabled",ue.disabled)("readonly",ue.readonly),e.BMQ("id",ue.inputId)("aria-valuemin",ue.min)("aria-valuemax",ue.max)("aria-valuenow",ue.value)("placeholder",ue.placeholder)("aria-label",ue.ariaLabel)("aria-labelledby",ue.ariaLabelledBy)("title",ue.title)("size",ue.size)("name",ue.name)("autocomplete",ue.autocomplete)("maxlength",ue.maxlength)("tabindex",ue.tabindex)("aria-required",ue.ariaRequired)("required",ue.required)("min",ue.min)("max",ue.max)("data-pc-section","input"),e.R7$(2),e.Y8G("ngIf","vertical"!=ue.buttonLayout&&ue.showClear&&ue.value),e.R7$(),e.Y8G("ngIf",ue.showButtons&&"stacked"===ue.buttonLayout),e.R7$(),e.Y8G("ngIf",ue.showButtons&&"stacked"!==ue.buttonLayout),e.R7$(),e.Y8G("ngIf",ue.showButtons&&"stacked"!==ue.buttonLayout))},dependencies:()=>[M.YU,M.bT,M.T3,M.B3,Ca.S,Z._f,A.A,Co,_o],styles:["@layer primeng{p-inputnumber,.p-inputnumber{display:inline-flex}.p-inputnumber-button{display:flex;align-items:center;justify-content:center;flex:0 0 auto}.p-inputnumber-buttons-stacked .p-button.p-inputnumber-button .p-button-label,.p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button .p-button-label{display:none}.p-inputnumber-buttons-stacked .p-button.p-inputnumber-button-up{border-top-left-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0;padding:0}.p-inputnumber-buttons-stacked .p-inputnumber-input{border-top-right-radius:0;border-bottom-right-radius:0}.p-inputnumber-buttons-stacked .p-button.p-inputnumber-button-down{border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:0;padding:0}.p-inputnumber-buttons-stacked .p-inputnumber-button-group{display:flex;flex-direction:column}.p-inputnumber-buttons-stacked .p-inputnumber-button-group .p-button.p-inputnumber-button{flex:1 1 auto}.p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button-up{order:3;border-top-left-radius:0;border-bottom-left-radius:0}.p-inputnumber-buttons-horizontal .p-inputnumber-input{order:2;border-radius:0}.p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button-down{order:1;border-top-right-radius:0;border-bottom-right-radius:0}.p-inputnumber-buttons-vertical{flex-direction:column}.p-inputnumber-buttons-vertical .p-button.p-inputnumber-button-up{order:1;border-bottom-left-radius:0;border-bottom-right-radius:0;width:100%}.p-inputnumber-buttons-vertical .p-inputnumber-input{order:2;border-radius:0;text-align:center}.p-inputnumber-buttons-vertical .p-button.p-inputnumber-button-down{order:3;border-top-left-radius:0;border-top-right-radius:0;width:100%}.p-inputnumber-input{flex:1 1 auto}.p-fluid p-inputnumber,.p-fluid .p-inputnumber{width:100%}.p-fluid .p-inputnumber .p-inputnumber-input{width:1%}.p-fluid .p-inputnumber-buttons-vertical .p-inputnumber-input{width:100%}.p-inputnumber-clear-icon{position:absolute;top:50%;margin-top:-.5rem;cursor:pointer}.p-inputnumber-clearable{position:relative}}\n"],encapsulation:2,changeDetection:0})}return xe})(),Ta=(()=>{class xe{static \u0275fac=function(ne){return new(ne||xe)};static \u0275mod=e.$C({type:xe});static \u0275inj=e.G2t({imports:[M.MD,Ca.u,Z.tm,A.A,Co,_o,Pe.Gg]})}return xe})(),ms=(()=>{class xe extends fe.h{static \u0275fac=(()=>{let u;return function(ue){return(u||(u=e.xGo(xe)))(ue||xe)}})();static \u0275cmp=e.VBU({type:xe,selectors:[["AngleDoubleLeftIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M5.71602 11.164C5.80782 11.2021 5.9063 11.2215 6.00569 11.221C6.20216 11.2301 6.39427 11.1612 6.54025 11.0294C6.68191 10.8875 6.76148 10.6953 6.76148 10.4948C6.76148 10.2943 6.68191 10.1021 6.54025 9.96024L3.51441 6.9344L6.54025 3.90855C6.624 3.76126 6.65587 3.59011 6.63076 3.42254C6.60564 3.25498 6.525 3.10069 6.40175 2.98442C6.2785 2.86815 6.11978 2.79662 5.95104 2.7813C5.78229 2.76598 5.61329 2.80776 5.47112 2.89994L1.97123 6.39983C1.82957 6.54167 1.75 6.73393 1.75 6.9344C1.75 7.13486 1.82957 7.32712 1.97123 7.46896L5.47112 10.9991C5.54096 11.0698 5.62422 11.1259 5.71602 11.164ZM11.0488 10.9689C11.1775 11.1156 11.3585 11.2061 11.5531 11.221C11.7477 11.2061 11.9288 11.1156 12.0574 10.9689C12.1815 10.8302 12.25 10.6506 12.25 10.4645C12.25 10.2785 12.1815 10.0989 12.0574 9.96024L9.03158 6.93439L12.0574 3.90855C12.1248 3.76739 12.1468 3.60881 12.1204 3.45463C12.0939 3.30045 12.0203 3.15826 11.9097 3.04765C11.7991 2.93703 11.6569 2.86343 11.5027 2.83698C11.3486 2.81053 11.19 2.83252 11.0488 2.89994L7.51865 6.36957C7.37699 6.51141 7.29742 6.70367 7.29742 6.90414C7.29742 7.1046 7.37699 7.29686 7.51865 7.4387L11.0488 10.9689Z","fill","currentColor"]],template:function(ne,ue){1&ne&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ne&&(e.HbH(ue.getClassNames()),e.BMQ("aria-label",ue.ariaLabel)("aria-hidden",ue.ariaHidden)("role",ue.role))},encapsulation:2})}return xe})(),fr=(()=>{class xe extends fe.h{static \u0275fac=(()=>{let u;return function(ue){return(u||(u=e.xGo(xe)))(ue||xe)}})();static \u0275cmp=e.VBU({type:xe,selectors:[["AngleDoubleRightIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M7.68757 11.1451C7.7791 11.1831 7.8773 11.2024 7.9764 11.2019C8.07769 11.1985 8.17721 11.1745 8.26886 11.1312C8.36052 11.088 8.44238 11.0265 8.50943 10.9505L12.0294 7.49085C12.1707 7.34942 12.25 7.15771 12.25 6.95782C12.25 6.75794 12.1707 6.56622 12.0294 6.42479L8.50943 2.90479C8.37014 2.82159 8.20774 2.78551 8.04633 2.80192C7.88491 2.81833 7.73309 2.88635 7.6134 2.99588C7.4937 3.10541 7.41252 3.25061 7.38189 3.40994C7.35126 3.56927 7.37282 3.73423 7.44337 3.88033L10.4605 6.89748L7.44337 9.91463C7.30212 10.0561 7.22278 10.2478 7.22278 10.4477C7.22278 10.6475 7.30212 10.8393 7.44337 10.9807C7.51301 11.0512 7.59603 11.1071 7.68757 11.1451ZM1.94207 10.9505C2.07037 11.0968 2.25089 11.1871 2.44493 11.2019C2.63898 11.1871 2.81949 11.0968 2.94779 10.9505L6.46779 7.49085C6.60905 7.34942 6.68839 7.15771 6.68839 6.95782C6.68839 6.75793 6.60905 6.56622 6.46779 6.42479L2.94779 2.90479C2.80704 2.83757 2.6489 2.81563 2.49517 2.84201C2.34143 2.86839 2.19965 2.94178 2.08936 3.05207C1.97906 3.16237 1.90567 3.30415 1.8793 3.45788C1.85292 3.61162 1.87485 3.76975 1.94207 3.9105L4.95922 6.92765L1.94207 9.9448C1.81838 10.0831 1.75 10.2621 1.75 10.4477C1.75 10.6332 1.81838 10.8122 1.94207 10.9505Z","fill","currentColor"]],template:function(ne,ue){1&ne&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ne&&(e.HbH(ue.getClassNames()),e.BMQ("aria-label",ue.ariaLabel)("aria-hidden",ue.ariaHidden)("role",ue.role))},encapsulation:2})}return xe})(),wo=(()=>{class xe extends fe.h{static \u0275fac=(()=>{let u;return function(ue){return(u||(u=e.xGo(xe)))(ue||xe)}})();static \u0275cmp=e.VBU({type:xe,selectors:[["AngleLeftIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M8.75 11.185C8.65146 11.1854 8.55381 11.1662 8.4628 11.1284C8.37179 11.0906 8.28924 11.0351 8.22 10.965L4.72 7.46496C4.57955 7.32433 4.50066 7.13371 4.50066 6.93496C4.50066 6.73621 4.57955 6.54558 4.72 6.40496L8.22 2.93496C8.36095 2.84357 8.52851 2.80215 8.69582 2.81733C8.86312 2.83252 9.02048 2.90344 9.14268 3.01872C9.26487 3.134 9.34483 3.28696 9.36973 3.4531C9.39463 3.61924 9.36303 3.78892 9.28 3.93496L6.28 6.93496L9.28 9.93496C9.42045 10.0756 9.49934 10.2662 9.49934 10.465C9.49934 10.6637 9.42045 10.8543 9.28 10.995C9.13526 11.1257 8.9448 11.1939 8.75 11.185Z","fill","currentColor"]],template:function(ne,ue){1&ne&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ne&&(e.HbH(ue.getClassNames()),e.BMQ("aria-label",ue.ariaLabel)("aria-hidden",ue.ariaHidden)("role",ue.role))},encapsulation:2})}return xe})(),en=(()=>{class xe extends fe.h{static \u0275fac=(()=>{let u;return function(ue){return(u||(u=e.xGo(xe)))(ue||xe)}})();static \u0275cmp=e.VBU({type:xe,selectors:[["AngleRightIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M5.25 11.1728C5.14929 11.1694 5.05033 11.1455 4.9592 11.1025C4.86806 11.0595 4.78666 10.9984 4.72 10.9228C4.57955 10.7822 4.50066 10.5916 4.50066 10.3928C4.50066 10.1941 4.57955 10.0035 4.72 9.86283L7.72 6.86283L4.72 3.86283C4.66067 3.71882 4.64765 3.55991 4.68275 3.40816C4.71785 3.25642 4.79932 3.11936 4.91585 3.01602C5.03238 2.91268 5.17819 2.84819 5.33305 2.83149C5.4879 2.81479 5.64411 2.84671 5.78 2.92283L9.28 6.42283C9.42045 6.56346 9.49934 6.75408 9.49934 6.95283C9.49934 7.15158 9.42045 7.34221 9.28 7.48283L5.78 10.9228C5.71333 10.9984 5.63193 11.0595 5.5408 11.1025C5.44966 11.1455 5.35071 11.1694 5.25 11.1728Z","fill","currentColor"]],template:function(ne,ue){1&ne&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ne&&(e.HbH(ue.getClassNames()),e.BMQ("aria-label",ue.ariaLabel)("aria-hidden",ue.ariaHidden)("role",ue.role))},encapsulation:2})}return xe})();const Bo=xe=>({"p-disabled":xe}),cc=xe=>({$implicit:xe}),bs=xe=>({"p-highlight":xe});function Kn(xe,tt){1&xe&&e.eu8(0)}function Sa(xe,tt){if(1&xe&&(e.j41(0,"div",15),e.DNE(1,Kn,1,0,"ng-container",16),e.k0s()),2&xe){const u=e.XpG(2);e.BMQ("data-pc-section","start"),e.R7$(),e.Y8G("ngTemplateOutlet",u.templateLeft)("ngTemplateOutletContext",e.eq3(3,cc,u.paginatorState))}}function Vl(xe,tt){if(1&xe&&(e.j41(0,"span",17),e.EFF(1),e.k0s()),2&xe){const u=e.XpG(2);e.R7$(),e.JRh(u.currentPageReport)}}function To(xe,tt){1&xe&&e.nrm(0,"AngleDoubleLeftIcon",19),2&xe&&e.Y8G("styleClass","p-paginator-icon")}function hc(xe,tt){}function ka(xe,tt){1&xe&&e.DNE(0,hc,0,0,"ng-template")}function jo(xe,tt){if(1&xe&&(e.j41(0,"span",20),e.DNE(1,ka,1,0,null,21),e.k0s()),2&xe){const u=e.XpG(3);e.R7$(),e.Y8G("ngTemplateOutlet",u.firstPageLinkIconTemplate)}}function yl(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"button",18),e.bIt("click",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.changePageToFirst(ue))}),e.DNE(1,To,1,1,"AngleDoubleLeftIcon",6)(2,jo,2,1,"span",7),e.k0s()}if(2&xe){const u=e.XpG(2);e.Y8G("disabled",u.isFirstPage()||u.empty())("ngClass",e.eq3(5,Bo,u.isFirstPage()||u.empty())),e.BMQ("aria-label",u.getAriaLabel("firstPageLabel")),e.R7$(),e.Y8G("ngIf",!u.firstPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.firstPageLinkIconTemplate)}}function Ua(xe,tt){1&xe&&e.nrm(0,"AngleLeftIcon",19),2&xe&&e.Y8G("styleClass","p-paginator-icon")}function rn(xe,tt){}function dc(xe,tt){1&xe&&e.DNE(0,rn,0,0,"ng-template")}function xl(xe,tt){if(1&xe&&(e.j41(0,"span",20),e.DNE(1,dc,1,0,null,21),e.k0s()),2&xe){const u=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",u.previousPageLinkIconTemplate)}}function Vo(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"button",24),e.bIt("click",function(ue){const Ie=e.eBV(u).$implicit,nt=e.XpG(3);return e.Njj(nt.onPageLinkClick(ue,Ie-1))}),e.EFF(1),e.k0s()}if(2&xe){const u=tt.$implicit,ne=e.XpG(3);e.Y8G("ngClass",e.eq3(4,bs,u-1==ne.getPage())),e.BMQ("aria-label",ne.getPageAriaLabel(u))("aria-current",u-1==ne.getPage()?"page":void 0),e.R7$(),e.SpI(" ",ne.getLocalization(u)," ")}}function uc(xe,tt){if(1&xe&&(e.j41(0,"span",22),e.DNE(1,Vo,2,6,"button",23),e.k0s()),2&xe){const u=e.XpG(2);e.R7$(),e.Y8G("ngForOf",u.pageLinks)}}function _l(xe,tt){if(1&xe&&e.EFF(0),2&xe){const u=e.XpG(3);e.JRh(u.currentPageReport)}}function Vs(xe,tt){1&xe&&e.eu8(0)}function pc(xe,tt){if(1&xe&&e.DNE(0,Vs,1,0,"ng-container",21),2&xe){const u=e.XpG(4);e.Y8G("ngTemplateOutlet",u.dropdownIconTemplate)}}function gr(xe,tt){1&xe&&e.DNE(0,pc,1,1,"ng-template",28)}function zs(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"p-dropdown",25),e.bIt("onChange",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onPageDropdownChange(ue))}),e.DNE(1,_l,1,1,"ng-template",26)(2,gr,1,0,null,27),e.k0s()}if(2&xe){const u=e.XpG(2);e.Y8G("options",u.pageItems)("ngModel",u.getPage())("disabled",u.empty())("appendTo",u.dropdownAppendTo)("scrollHeight",u.dropdownScrollHeight),e.BMQ("aria-label",u.getAriaLabel("jumpToPageDropdownLabel")),e.R7$(2),e.Y8G("ngIf",u.dropdownIconTemplate)}}function zl(xe,tt){1&xe&&e.nrm(0,"AngleRightIcon",19),2&xe&&e.Y8G("styleClass","p-paginator-icon")}function ra(xe,tt){}function Cl(xe,tt){1&xe&&e.DNE(0,ra,0,0,"ng-template")}function Ur(xe,tt){if(1&xe&&(e.j41(0,"span",20),e.DNE(1,Cl,1,0,null,21),e.k0s()),2&xe){const u=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",u.nextPageLinkIconTemplate)}}function Nc(xe,tt){1&xe&&e.nrm(0,"AngleDoubleRightIcon",19),2&xe&&e.Y8G("styleClass","p-paginator-icon")}function bh(xe,tt){}function qh(xe,tt){1&xe&&e.DNE(0,bh,0,0,"ng-template")}function Zn(xe,tt){if(1&xe&&(e.j41(0,"span",20),e.DNE(1,qh,1,0,null,21),e.k0s()),2&xe){const u=e.XpG(3);e.R7$(),e.Y8G("ngTemplateOutlet",u.lastPageLinkIconTemplate)}}function wl(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"button",29),e.bIt("click",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.changePageToLast(ue))}),e.DNE(1,Nc,1,1,"AngleDoubleRightIcon",6)(2,Zn,2,1,"span",7),e.k0s()}if(2&xe){const u=e.XpG(2);e.Y8G("disabled",u.isLastPage()||u.empty())("ngClass",e.eq3(5,Bo,u.isLastPage()||u.empty())),e.BMQ("aria-label",u.getAriaLabel("lastPageLabel")),e.R7$(),e.Y8G("ngIf",!u.lastPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.lastPageLinkIconTemplate)}}function Qh(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"p-inputNumber",30),e.bIt("ngModelChange",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.changePage(ue-1))}),e.k0s()}if(2&xe){const u=e.XpG(2);e.Y8G("ngModel",u.currentPage())("disabled",u.empty())}}function Jh(xe,tt){1&xe&&e.eu8(0)}function Lf(xe,tt){if(1&xe&&e.DNE(0,Jh,1,0,"ng-container",16),2&xe){const u=tt.$implicit,ne=e.XpG(4);e.Y8G("ngTemplateOutlet",ne.dropdownItemTemplate)("ngTemplateOutletContext",e.eq3(2,cc,u))}}function Hu(xe,tt){1&xe&&(e.qex(0),e.DNE(1,Lf,1,4,"ng-template",32),e.bVm())}function Uu(xe,tt){1&xe&&e.eu8(0)}function Id(xe,tt){if(1&xe&&e.DNE(0,Uu,1,0,"ng-container",21),2&xe){const u=e.XpG(4);e.Y8G("ngTemplateOutlet",u.dropdownIconTemplate)}}function ed(xe,tt){1&xe&&e.DNE(0,Id,1,1,"ng-template",28)}function Re(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"p-dropdown",31),e.mxI("ngModelChange",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.DH7(Ie.rows,ue)||(Ie.rows=ue),e.Njj(ue)}),e.bIt("onChange",function(ue){e.eBV(u);const Ie=e.XpG(2);return e.Njj(Ie.onRppChange(ue))}),e.DNE(1,Hu,2,0,"ng-container",27)(2,ed,1,0,null,27),e.k0s()}if(2&xe){const u=e.XpG(2);e.Y8G("options",u.rowsPerPageItems),e.R50("ngModel",u.rows),e.Y8G("disabled",u.empty())("appendTo",u.dropdownAppendTo)("scrollHeight",u.dropdownScrollHeight)("ariaLabel",u.getAriaLabel("rowsPerPageLabel")),e.R7$(),e.Y8G("ngIf",u.dropdownItemTemplate),e.R7$(),e.Y8G("ngIf",u.dropdownIconTemplate)}}function Ue(xe,tt){1&xe&&e.eu8(0)}function Be(xe,tt){if(1&xe&&(e.j41(0,"div",33),e.DNE(1,Ue,1,0,"ng-container",16),e.k0s()),2&xe){const u=e.XpG(2);e.BMQ("data-pc-section","end"),e.R7$(),e.Y8G("ngTemplateOutlet",u.templateRight)("ngTemplateOutletContext",e.eq3(3,cc,u.paginatorState))}}function We(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"div",1),e.DNE(1,Sa,2,5,"div",2)(2,Vl,2,1,"span",3)(3,yl,3,7,"button",4),e.j41(4,"button",5),e.bIt("click",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.changePageToPrev(ue))}),e.DNE(5,Ua,1,1,"AngleLeftIcon",6)(6,xl,2,1,"span",7),e.k0s(),e.DNE(7,uc,2,1,"span",8)(8,zs,3,7,"p-dropdown",9),e.j41(9,"button",10),e.bIt("click",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.changePageToNext(ue))}),e.DNE(10,zl,1,1,"AngleRightIcon",6)(11,Ur,2,1,"span",7),e.k0s(),e.DNE(12,wl,3,7,"button",11)(13,Qh,1,2,"p-inputNumber",12)(14,Re,3,8,"p-dropdown",13)(15,Be,2,5,"div",14),e.k0s()}if(2&xe){const u=e.XpG();e.HbH(u.styleClass),e.Y8G("ngStyle",u.style)("ngClass","p-paginator p-component"),e.BMQ("data-pc-section","paginator")("data-pc-section","root"),e.R7$(),e.Y8G("ngIf",u.templateLeft),e.R7$(),e.Y8G("ngIf",u.showCurrentPageReport),e.R7$(),e.Y8G("ngIf",u.showFirstLastIcon),e.R7$(),e.Y8G("disabled",u.isFirstPage()||u.empty())("ngClass",e.eq3(25,Bo,u.isFirstPage()||u.empty())),e.BMQ("aria-label",u.getAriaLabel("prevPageLabel")),e.R7$(),e.Y8G("ngIf",!u.previousPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.previousPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.showPageLinks),e.R7$(),e.Y8G("ngIf",u.showJumpToPageDropdown),e.R7$(),e.Y8G("disabled",u.isLastPage()||u.empty())("ngClass",e.eq3(27,Bo,u.isLastPage()||u.empty())),e.BMQ("aria-label",u.getAriaLabel("nextPageLabel")),e.R7$(),e.Y8G("ngIf",!u.nextPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.nextPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.showFirstLastIcon),e.R7$(),e.Y8G("ngIf",u.showJumpToPageInput),e.R7$(),e.Y8G("ngIf",u.rowsPerPageOptions),e.R7$(),e.Y8G("ngIf",u.templateRight)}}let rt=(()=>{class xe{cd;config;pageLinkSize=5;style;styleClass;alwaysShow=!0;dropdownAppendTo;templateLeft;templateRight;appendTo;dropdownScrollHeight="200px";currentPageReportTemplate="{currentPage} of {totalPages}";showCurrentPageReport;showFirstLastIcon=!0;totalRecords=0;rows=0;rowsPerPageOptions;showJumpToPageDropdown;showJumpToPageInput;showPageLinks=!0;locale;dropdownItemTemplate;get first(){return this._first}set first(u){this._first=u}onPageChange=new e.bkB;templates;dropdownIconTemplate;firstPageLinkIconTemplate;previousPageLinkIconTemplate;lastPageLinkIconTemplate;nextPageLinkIconTemplate;pageLinks;pageItems;rowsPerPageItems;paginatorState;_first=0;_page=0;constructor(u,ne){this.cd=u,this.config=ne}ngOnInit(){this.updatePaginatorState()}getAriaLabel(u){return this.config.translation.aria?this.config.translation.aria[u]:void 0}getPageAriaLabel(u){return this.config.translation.aria?this.config.translation.aria.pageLabel.replace(/{page}/g,`Page ${u}`):void 0}getLocalization(u){const ne=[...new Intl.NumberFormat(this.locale,{useGrouping:!1}).format(9876543210)].reverse(),ue=new Map(ne.map((Ie,nt)=>[nt,Ie]));return u>9?String(u).split("").map(nt=>ue.get(Number(nt))).join(""):ue.get(u)}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"dropdownicon":this.dropdownIconTemplate=u.template;break;case"firstpagelinkicon":this.firstPageLinkIconTemplate=u.template;break;case"previouspagelinkicon":this.previousPageLinkIconTemplate=u.template;break;case"lastpagelinkicon":this.lastPageLinkIconTemplate=u.template;break;case"nextpagelinkicon":this.nextPageLinkIconTemplate=u.template}})}ngOnChanges(u){u.totalRecords&&(this.updatePageLinks(),this.updatePaginatorState(),this.updateFirst(),this.updateRowsPerPageOptions()),u.first&&(this._first=u.first.currentValue,this.updatePageLinks(),this.updatePaginatorState()),u.rows&&(this.updatePageLinks(),this.updatePaginatorState()),u.rowsPerPageOptions&&this.updateRowsPerPageOptions()}updateRowsPerPageOptions(){if(this.rowsPerPageOptions){this.rowsPerPageItems=[];for(let u of this.rowsPerPageOptions)"object"==typeof u&&u.showAll?this.rowsPerPageItems.unshift({label:u.showAll,value:this.totalRecords}):this.rowsPerPageItems.push({label:String(this.getLocalization(u)),value:u})}}isFirstPage(){return 0===this.getPage()}isLastPage(){return this.getPage()===this.getPageCount()-1}getPageCount(){return Math.ceil(this.totalRecords/this.rows)}calculatePageLinkBoundaries(){let u=this.getPageCount(),ne=Math.min(this.pageLinkSize,u),ue=Math.max(0,Math.ceil(this.getPage()-ne/2)),Ie=Math.min(u-1,ue+ne-1);return ue=Math.max(0,ue-(this.pageLinkSize-(Ie-ue+1))),[ue,Ie]}updatePageLinks(){this.pageLinks=[];let u=this.calculatePageLinkBoundaries(),ue=u[1];for(let Ie=u[0];Ie<=ue;Ie++)this.pageLinks.push(Ie+1);if(this.showJumpToPageDropdown){this.pageItems=[];for(let Ie=0;Ie=0&&u0&&this.totalRecords&&this.first>=this.totalRecords&&Promise.resolve(null).then(()=>this.changePage(u-1))}getPage(){return Math.floor(this.first/this.rows)}changePageToFirst(u){this.isFirstPage()||this.changePage(0),u.preventDefault()}changePageToPrev(u){this.changePage(this.getPage()-1),u.preventDefault()}changePageToNext(u){this.changePage(this.getPage()+1),u.preventDefault()}changePageToLast(u){this.isLastPage()||this.changePage(this.getPageCount()-1),u.preventDefault()}onPageLinkClick(u,ne){this.changePage(ne),u.preventDefault()}onRppChange(u){this.changePage(this.getPage())}onPageDropdownChange(u){this.changePage(u.value)}updatePaginatorState(){this.paginatorState={page:this.getPage(),pageCount:this.getPageCount(),rows:this.rows,first:this.first,totalRecords:this.totalRecords}}empty(){return 0===this.getPageCount()}currentPage(){return this.getPageCount()>0?this.getPage()+1:0}get currentPageReport(){return this.currentPageReportTemplate.replace("{currentPage}",String(this.currentPage())).replace("{totalPages}",String(this.getPageCount())).replace("{first}",String(this.totalRecords>0?this._first+1:0)).replace("{last}",String(Math.min(this._first+this.rows,this.totalRecords))).replace("{rows}",String(this.rows)).replace("{totalRecords}",String(this.totalRecords))}static \u0275fac=function(ne){return new(ne||xe)(e.rXU(e.gRc),e.rXU(Pe.r1))};static \u0275cmp=e.VBU({type:xe,selectors:[["p-paginator"]],contentQueries:function(ne,ue,Ie){if(1&ne&&e.wni(Ie,Pe.Ei,4),2&ne){let nt;e.mGM(nt=e.lsd())&&(ue.templates=nt)}},hostAttrs:[1,"p-element"],inputs:{pageLinkSize:"pageLinkSize",style:"style",styleClass:"styleClass",alwaysShow:"alwaysShow",dropdownAppendTo:"dropdownAppendTo",templateLeft:"templateLeft",templateRight:"templateRight",appendTo:"appendTo",dropdownScrollHeight:"dropdownScrollHeight",currentPageReportTemplate:"currentPageReportTemplate",showCurrentPageReport:"showCurrentPageReport",showFirstLastIcon:"showFirstLastIcon",totalRecords:"totalRecords",rows:"rows",rowsPerPageOptions:"rowsPerPageOptions",showJumpToPageDropdown:"showJumpToPageDropdown",showJumpToPageInput:"showJumpToPageInput",showPageLinks:"showPageLinks",locale:"locale",dropdownItemTemplate:"dropdownItemTemplate",first:"first"},outputs:{onPageChange:"onPageChange"},features:[e.OA$],decls:1,vars:1,consts:[[3,"class","ngStyle","ngClass",4,"ngIf"],[3,"ngStyle","ngClass"],["class","p-paginator-left-content",4,"ngIf"],["class","p-paginator-current",4,"ngIf"],["type","button","pRipple","","class","p-paginator-first p-paginator-element p-link",3,"disabled","ngClass","click",4,"ngIf"],["type","button","pRipple","",1,"p-paginator-prev","p-paginator-element","p-link",3,"click","disabled","ngClass"],[3,"styleClass",4,"ngIf"],["class","p-paginator-icon",4,"ngIf"],["class","p-paginator-pages",4,"ngIf"],["styleClass","p-paginator-page-options",3,"options","ngModel","disabled","appendTo","scrollHeight","onChange",4,"ngIf"],["type","button","pRipple","",1,"p-paginator-next","p-paginator-element","p-link",3,"click","disabled","ngClass"],["type","button","pRipple","","class","p-paginator-last p-paginator-element p-link",3,"disabled","ngClass","click",4,"ngIf"],["class","p-paginator-page-input",3,"ngModel","disabled","ngModelChange",4,"ngIf"],["styleClass","p-paginator-rpp-options",3,"options","ngModel","disabled","appendTo","scrollHeight","ariaLabel","ngModelChange","onChange",4,"ngIf"],["class","p-paginator-right-content",4,"ngIf"],[1,"p-paginator-left-content"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"p-paginator-current"],["type","button","pRipple","",1,"p-paginator-first","p-paginator-element","p-link",3,"click","disabled","ngClass"],[3,"styleClass"],[1,"p-paginator-icon"],[4,"ngTemplateOutlet"],[1,"p-paginator-pages"],["type","button","class","p-paginator-page p-paginator-element p-link","pRipple","",3,"ngClass","click",4,"ngFor","ngForOf"],["type","button","pRipple","",1,"p-paginator-page","p-paginator-element","p-link",3,"click","ngClass"],["styleClass","p-paginator-page-options",3,"onChange","options","ngModel","disabled","appendTo","scrollHeight"],["pTemplate","selectedItem"],[4,"ngIf"],["pTemplate","dropdownicon"],["type","button","pRipple","",1,"p-paginator-last","p-paginator-element","p-link",3,"click","disabled","ngClass"],[1,"p-paginator-page-input",3,"ngModelChange","ngModel","disabled"],["styleClass","p-paginator-rpp-options",3,"ngModelChange","onChange","options","ngModel","disabled","appendTo","scrollHeight","ariaLabel"],["pTemplate","item"],[1,"p-paginator-right-content"]],template:function(ne,ue){1&ne&&e.DNE(0,We,16,29,"div",0),2&ne&&e.Y8G("ngIf",!!ue.alwaysShow||ue.pageLinks&&ue.pageLinks.length>1)},dependencies:()=>[M.YU,M.Sq,M.bT,M.T3,M.B3,Oc,Pe.Ei,ar,V.BC,V.vS,ve.n,ms,fr,wo,en],styles:["@layer primeng{.p-paginator{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}.p-paginator-left-content{margin-right:auto}.p-paginator-right-content{margin-left:auto}.p-paginator-page,.p-paginator-next,.p-paginator-last,.p-paginator-first,.p-paginator-prev,.p-paginator-current{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1;-webkit-user-select:none;user-select:none;overflow:hidden;position:relative}.p-paginator-element:focus{z-index:1;position:relative}}\n"],encapsulation:2,changeDetection:0})}return xe})(),mt=(()=>{class xe{static \u0275fac=function(ne){return new(ne||xe)};static \u0275mod=e.$C({type:xe});static \u0275inj=e.G2t({imports:[M.MD,No,Ta,V.YN,Pe.Gg,ve.Z,ms,fr,wo,en,No,Ta,V.YN,Pe.Gg]})}return xe})();const Ot=["container"],Jt=(xe,tt,u)=>({"p-highlight":xe,"p-disabled":tt,"p-button-icon-only":u}),Yt=(xe,tt)=>({$implicit:xe,index:tt});function Ii(xe,tt){if(1&xe&&e.nrm(0,"span",8),2&xe){const u=e.XpG(2).$implicit;e.HbH(u.icon),e.Y8G("ngClass","p-button-icon p-button-icon-left"),e.BMQ("data-pc-section","icon")}}function vn(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,Ii,1,4,"span",6),e.j41(2,"span",7),e.EFF(3),e.k0s(),e.bVm()),2&xe){const u=e.XpG().$implicit,ne=e.XpG();e.R7$(),e.Y8G("ngIf",u.icon),e.R7$(),e.BMQ("data-pc-section","label"),e.R7$(),e.JRh(ne.getOptionLabel(u))}}function In(xe,tt){1&xe&&e.eu8(0)}function Qs(xe,tt){if(1&xe&&e.DNE(0,In,1,0,"ng-container",9),2&xe){const u=e.XpG(),ne=u.$implicit,ue=u.index,Ie=e.XpG();e.Y8G("ngTemplateOutlet",Ie.selectButtonTemplate)("ngTemplateOutletContext",e.l_i(2,Yt,ne,ue))}}function Gl(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"div",4),e.bIt("click",function(ue){const Ie=e.eBV(u),nt=Ie.$implicit,Tt=Ie.index,zt=e.XpG();return e.Njj(zt.onOptionSelect(ue,nt,Tt))})("keydown",function(ue){const Ie=e.eBV(u),nt=Ie.$implicit,Tt=Ie.index,zt=e.XpG();return e.Njj(zt.onKeyDown(ue,nt,Tt))})("focus",function(ue){const Ie=e.eBV(u).index,nt=e.XpG();return e.Njj(nt.onFocus(ue,Ie))})("blur",function(){e.eBV(u);const ue=e.XpG();return e.Njj(ue.onBlur())}),e.DNE(1,vn,4,3,"ng-container",5)(2,Qs,1,5,"ng-template",null,1,e.C5r),e.k0s()}if(2&xe){const u=tt.$implicit,ne=tt.index,ue=e.sdS(3),Ie=e.XpG();e.HbH(u.styleClass),e.Y8G("role",Ie.multiple?"checkbox":"radio")("ngClass",e.sMw(14,Jt,Ie.isSelected(u),Ie.disabled||Ie.isOptionDisabled(u),u.icon&&!Ie.getOptionLabel(u))),e.BMQ("tabindex",ne===Ie.focusedIndex?"0":"-1")("aria-label",u.label)("aria-checked",Ie.isSelected(u))("aria-disabled",Ie.optionDisabled)("aria-pressed",Ie.isSelected(u))("title",u.title)("aria-labelledby",Ie.getOptionLabel(u))("data-pc-section","button"),e.R7$(),e.Y8G("ngIf",!Ie.itemTemplate)("ngIfElse",ue)}}const Hl={provide:V.kq,useExisting:(0,e.Rfq)(()=>Wa),multi:!0};let Wa=(()=>{class xe{cd;options;optionLabel;optionValue;optionDisabled;unselectable=!1;tabindex=0;multiple;allowEmpty=!0;style;styleClass;ariaLabelledBy;disabled;dataKey;onOptionClick=new e.bkB;onChange=new e.bkB;container;itemTemplate;get selectButtonTemplate(){return this.itemTemplate?.template}get equalityKey(){return this.optionValue?null:this.dataKey}value;onModelChange=()=>{};onModelTouched=()=>{};focusedIndex=0;constructor(u){this.cd=u}getOptionLabel(u){return this.optionLabel?le.BF.resolveFieldData(u,this.optionLabel):null!=u.label?u.label:u}getOptionValue(u){return this.optionValue?le.BF.resolveFieldData(u,this.optionValue):this.optionLabel||void 0===u.value?u:u.value}isOptionDisabled(u){return this.optionDisabled?le.BF.resolveFieldData(u,this.optionDisabled):void 0!==u.disabled&&u.disabled}writeValue(u){this.value=u,this.cd.markForCheck()}registerOnChange(u){this.onModelChange=u}registerOnTouched(u){this.onModelTouched=u}setDisabledState(u){this.disabled=u,this.cd.markForCheck()}onOptionSelect(u,ne,ue){if(this.disabled||this.isOptionDisabled(ne))return;let Ie=this.isSelected(ne);if(Ie&&this.unselectable)return;let Tt,nt=this.getOptionValue(ne);if(this.multiple)Tt=Ie?this.value.filter(zt=>!le.BF.equals(zt,nt,this.equalityKey)):this.value?[...this.value,nt]:[nt];else{if(Ie&&!this.allowEmpty)return;Tt=Ie?null:nt}this.focusedIndex=ue,this.value=Tt,this.onModelChange(this.value),this.onChange.emit({originalEvent:u,value:this.value}),this.onOptionClick.emit({originalEvent:u,option:ne,index:ue})}onKeyDown(u,ne,ue){switch(u.code){case"Space":this.onOptionSelect(u,ne,ue),u.preventDefault();break;case"ArrowDown":case"ArrowRight":this.changeTabIndexes(u,"next"),u.preventDefault();break;case"ArrowUp":case"ArrowLeft":this.changeTabIndexes(u,"prev"),u.preventDefault()}}changeTabIndexes(u,ne){let ue,Ie;for(let nt=0;nt<=this.container.nativeElement.children.length-1;nt++)"0"===this.container.nativeElement.children[nt].getAttribute("tabindex")&&(ue={elem:this.container.nativeElement.children[nt],index:nt});Ie="prev"===ne?0===ue.index?this.container.nativeElement.children.length-1:ue.index-1:ue.index===this.container.nativeElement.children.length-1?0:ue.index+1,this.focusedIndex=Ie,this.container.nativeElement.children[Ie].focus()}onFocus(u,ne){this.focusedIndex=ne}onBlur(){this.onModelTouched()}removeOption(u){this.value=this.value.filter(ne=>!le.BF.equals(ne,this.getOptionValue(u),this.dataKey))}isSelected(u){let ne=!1;const ue=this.getOptionValue(u);if(this.multiple){if(this.value&&Array.isArray(this.value))for(let Ie of this.value)if(le.BF.equals(Ie,ue,this.dataKey)){ne=!0;break}}else ne=le.BF.equals(this.getOptionValue(u),this.value,this.equalityKey);return ne}static \u0275fac=function(ne){return new(ne||xe)(e.rXU(e.gRc))};static \u0275cmp=e.VBU({type:xe,selectors:[["p-selectButton"]],contentQueries:function(ne,ue,Ie){if(1&ne&&e.wni(Ie,Pe.Ei,5),2&ne){let nt;e.mGM(nt=e.lsd())&&(ue.itemTemplate=nt.first)}},viewQuery:function(ne,ue){if(1&ne&&e.GBs(Ot,5),2&ne){let Ie;e.mGM(Ie=e.lsd())&&(ue.container=Ie.first)}},hostAttrs:[1,"p-element"],inputs:{options:"options",optionLabel:"optionLabel",optionValue:"optionValue",optionDisabled:"optionDisabled",unselectable:"unselectable",tabindex:"tabindex",multiple:"multiple",allowEmpty:"allowEmpty",style:"style",styleClass:"styleClass",ariaLabelledBy:"ariaLabelledBy",disabled:"disabled",dataKey:"dataKey"},outputs:{onOptionClick:"onOptionClick",onChange:"onChange"},features:[e.Jv_([Hl])],decls:3,vars:8,consts:[["container",""],["customcontent",""],["role","group",3,"ngClass","ngStyle"],["pRipple","","class","p-button p-component",3,"role","class","ngClass","click","keydown","focus","blur",4,"ngFor","ngForOf"],["pRipple","",1,"p-button","p-component",3,"click","keydown","focus","blur","role","ngClass"],[4,"ngIf","ngIfElse"],[3,"ngClass","class",4,"ngIf"],[1,"p-button-label"],[3,"ngClass"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(ne,ue){1&ne&&(e.j41(0,"div",2,0),e.DNE(2,Gl,4,18,"div",3),e.k0s()),2&ne&&(e.HbH(ue.styleClass),e.Y8G("ngClass","p-selectbutton p-buttonset p-component")("ngStyle",ue.style),e.BMQ("aria-labelledby",ue.ariaLabelledBy)("data-pc-name","selectbutton")("data-pc-section","root"),e.R7$(2),e.Y8G("ngForOf",ue.options))},dependencies:[M.YU,M.Sq,M.bT,M.T3,M.B3,ve.n],styles:['@layer primeng{.p-button{margin:0;display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;vertical-align:bottom;text-align:center;overflow:hidden;position:relative}.p-button-label{flex:1 1 auto}.p-button-icon-right{order:1}.p-button:disabled{cursor:default;pointer-events:none}.p-button-icon-only{justify-content:center}.p-button-icon-only:after{content:"p";visibility:hidden;clip:rect(0 0 0 0);width:0}.p-button-vertical{flex-direction:column}.p-button-icon-bottom{order:2}.p-button-group .p-button{margin:0}.p-button-group .p-button:focus,.p-button-group p-button:focus .p-button,.p-buttonset .p-button:focus,.p-buttonset p-button:focus .p-button{position:relative;z-index:1}.p-button-group .p-button:not(:last-child),.p-button-group .p-button:not(:last-child):hover,.p-button-group p-button:not(:last-child) .p-button,.p-button-group p-button:not(:last-child) .p-button:hover,.p-buttonset .p-button:not(:last-child),.p-buttonset .p-button:not(:last-child):hover,.p-buttonset p-button:not(:last-child) .p-button,.p-buttonset p-button:not(:last-child) .p-button:hover{border-right:0 none}.p-button-group .p-button:not(:first-of-type):not(:last-of-type),.p-button-group p-button:not(:first-of-type):not(:last-of-type) .p-button,.p-buttonset .p-button:not(:first-of-type):not(:last-of-type),.p-buttonset p-button:not(:first-of-type):not(:last-of-type) .p-button{border-radius:0}.p-button-group .p-button:first-of-type:not(:only-of-type),.p-button-group p-button:first-of-type:not(:only-of-type) .p-button,.p-buttonset .p-button:first-of-type:not(:only-of-type),.p-buttonset p-button:first-of-type:not(:only-of-type) .p-button{border-top-right-radius:0;border-bottom-right-radius:0}.p-button-group .p-button:last-of-type:not(:only-of-type),.p-button-group p-button:last-of-type:not(:only-of-type) .p-button,.p-buttonset .p-button:last-of-type:not(:only-of-type),.p-buttonset p-button:last-of-type:not(:only-of-type) .p-button{border-top-left-radius:0;border-bottom-left-radius:0}p-button[iconpos=right] spinnericon{order:1}}\n'],encapsulation:2,changeDetection:0})}return xe})(),Fc=(()=>{class xe{static \u0275fac=function(ne){return new(ne||xe)};static \u0275mod=e.$C({type:xe});static \u0275inj=e.G2t({imports:[M.MD,ve.Z,Pe.Gg,Pe.Gg]})}return xe})();const $a=(xe,tt)=>({"p-checkbox p-component":!0,"p-checkbox-disabled":xe,"p-checkbox-focused":tt}),Wu=(xe,tt,u)=>({"p-highlight":xe,"p-disabled":tt,"p-focus":u}),td=(xe,tt,u)=>({"p-checkbox-label-active":xe,"p-disabled":tt,"p-checkbox-label-focus":u});function $u(xe,tt){if(1&xe&&e.nrm(0,"span",8),2&xe){const u=e.XpG(2);e.Y8G("ngClass",u.checkboxTrueIcon),e.BMQ("data-pc-section","checkIcon")}}function Xu(xe,tt){1&xe&&e.nrm(0,"CheckIcon",11),2&xe&&(e.Y8G("styleClass","p-checkbox-icon"),e.BMQ("data-pc-section","checkIcon"))}function Od(xe,tt){}function Pd(xe,tt){1&xe&&e.DNE(0,Od,0,0,"ng-template")}function no(xe,tt){if(1&xe&&(e.j41(0,"span",12),e.DNE(1,Pd,1,0,null,13),e.k0s()),2&xe){const u=e.XpG(3);e.BMQ("data-pc-section","checkIcon"),e.R7$(),e.Y8G("ngTemplateOutlet",u.checkIconTemplate)}}function Ld(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,Xu,1,2,"CheckIcon",9)(2,no,2,2,"span",10),e.bVm()),2&xe){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.checkIconTemplate),e.R7$(),e.Y8G("ngIf",u.checkIconTemplate)}}function Yu(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,$u,1,2,"span",7)(2,Ld,3,2,"ng-container",5),e.bVm()),2&xe){const u=e.XpG();e.R7$(),e.Y8G("ngIf",u.checkboxTrueIcon),e.R7$(),e.Y8G("ngIf",!u.checkboxTrueIcon)}}function Ku(xe,tt){if(1&xe&&e.nrm(0,"span",8),2&xe){const u=e.XpG(2);e.Y8G("ngClass",u.checkboxFalseIcon),e.BMQ("data-pc-section","uncheckIcon")}}function Zu(xe,tt){1&xe&&e.nrm(0,"TimesIcon",11),2&xe&&(e.Y8G("styleClass","p-checkbox-icon"),e.BMQ("data-pc-section","uncheckIcon"))}function gm(xe,tt){}function ws(xe,tt){1&xe&&e.DNE(0,gm,0,0,"ng-template")}function id(xe,tt){if(1&xe&&(e.j41(0,"span",12),e.DNE(1,ws,1,0,null,13),e.k0s()),2&xe){const u=e.XpG(3);e.BMQ("data-pc-section","uncheckIcon"),e.R7$(),e.Y8G("ngTemplateOutlet",u.uncheckIconTemplate)}}function Bc(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,Zu,1,2,"TimesIcon",9)(2,id,2,2,"span",10),e.bVm()),2&xe){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.uncheckIconTemplate),e.R7$(),e.Y8G("ngIf",u.uncheckIconTemplate)}}function so(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,Ku,1,2,"span",7)(2,Bc,3,2,"ng-container",5),e.bVm()),2&xe){const u=e.XpG();e.R7$(),e.Y8G("ngIf",u.checkboxFalseIcon),e.R7$(),e.Y8G("ngIf",!u.checkboxFalseIcon)}}function Rf(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"label",14),e.bIt("click",function(ue){e.eBV(u);const Ie=e.XpG(),nt=e.sdS(3);return e.Njj(Ie.onClick(ue,nt))}),e.EFF(1),e.k0s()}if(2&xe){const u=e.XpG();e.Y8G("ngClass",e.sMw(3,td,null!=u.value,u.disabled,u.focused)),e.BMQ("for",u.inputId),e.R7$(),e.JRh(u.label)}}const vh={provide:V.kq,useExisting:(0,e.Rfq)(()=>jc),multi:!0};let jc=(()=>{class xe{cd;constructor(u){this.cd=u}disabled;name;ariaLabel;ariaLabelledBy;tabindex;inputId;style;styleClass;label;readonly;checkboxTrueIcon;checkboxFalseIcon;onChange=new e.bkB;templates;checkIconTemplate;uncheckIconTemplate;focused;value;onModelChange=()=>{};onModelTouched=()=>{};onClick(u,ne){!this.disabled&&!this.readonly&&(this.toggle(u),this.focused=!0,ne.focus())}onKeyDown(u){"Enter"===u.key&&(this.toggle(u),u.preventDefault())}toggle(u){null==this.value||null==this.value?this.value=!0:1==this.value?this.value=!1:0==this.value&&(this.value=null),this.onModelChange(this.value),this.onChange.emit({originalEvent:u,value:this.value})}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"checkicon":this.checkIconTemplate=u.template;break;case"uncheckicon":this.uncheckIconTemplate=u.template}})}onFocus(){this.focused=!0}onBlur(){this.focused=!1,this.onModelTouched()}registerOnChange(u){this.onModelChange=u}registerOnTouched(u){this.onModelTouched=u}writeValue(u){this.value=u,this.cd.markForCheck()}setDisabledState(u){this.disabled=u,this.cd.markForCheck()}static \u0275fac=function(ne){return new(ne||xe)(e.rXU(e.gRc))};static \u0275cmp=e.VBU({type:xe,selectors:[["p-triStateCheckbox"]],contentQueries:function(ne,ue,Ie){if(1&ne&&e.wni(Ie,Pe.Ei,4),2&ne){let nt;e.mGM(nt=e.lsd())&&(ue.templates=nt)}},hostAttrs:[1,"p-element"],inputs:{disabled:"disabled",name:"name",ariaLabel:"ariaLabel",ariaLabelledBy:"ariaLabelledBy",tabindex:"tabindex",inputId:"inputId",style:"style",styleClass:"styleClass",label:"label",readonly:"readonly",checkboxTrueIcon:"checkboxTrueIcon",checkboxFalseIcon:"checkboxFalseIcon"},outputs:{onChange:"onChange"},features:[e.Jv_([vh])],decls:8,vars:26,consts:[["input",""],[3,"click","ngStyle","ngClass"],[1,"p-hidden-accessible"],["type","checkbox","inputmode","none",3,"keydown","focus","blur","name","readonly","disabled"],["role","checkbox",1,"p-checkbox-box",3,"ngClass"],[4,"ngIf"],["class","p-checkbox-label",3,"ngClass","click",4,"ngIf"],["class","p-checkbox-icon",3,"ngClass",4,"ngIf"],[1,"p-checkbox-icon",3,"ngClass"],[3,"styleClass",4,"ngIf"],["class","p-checkbox-icon",4,"ngIf"],[3,"styleClass"],[1,"p-checkbox-icon"],[4,"ngTemplateOutlet"],[1,"p-checkbox-label",3,"click","ngClass"]],template:function(ne,ue){if(1&ne){const Ie=e.RV6();e.j41(0,"div",1),e.bIt("click",function(Tt){e.eBV(Ie);const zt=e.sdS(3);return e.Njj(ue.onClick(Tt,zt))}),e.j41(1,"div",2)(2,"input",3,0),e.bIt("keydown",function(Tt){return e.eBV(Ie),e.Njj(ue.onKeyDown(Tt))})("focus",function(){return e.eBV(Ie),e.Njj(ue.onFocus())})("blur",function(){return e.eBV(Ie),e.Njj(ue.onBlur())}),e.k0s()(),e.j41(4,"div",4),e.DNE(5,Yu,3,2,"ng-container",5)(6,so,3,2,"ng-container",5),e.k0s()(),e.DNE(7,Rf,2,7,"label",6)}2&ne&&(e.HbH(ue.styleClass),e.Y8G("ngStyle",ue.style)("ngClass",e.l_i(19,$a,ue.disabled,ue.focused)),e.BMQ("data-pc-name","tristatecheckbox")("data-pc-section","root"),e.R7$(2),e.Y8G("name",ue.name)("readonly",ue.readonly)("disabled",ue.disabled),e.BMQ("id",ue.inputId)("tabindex",ue.tabindex)("aria-labelledby",ue.ariaLabelledBy)("aria-label",ue.ariaLabel)("data-pc-section","hiddenInput"),e.R7$(2),e.Y8G("ngClass",e.sMw(22,Wu,null!=ue.value,ue.disabled,ue.focused)),e.BMQ("aria-checked",!0===ue.value),e.R7$(),e.Y8G("ngIf",!0===ue.value),e.R7$(),e.Y8G("ngIf",!1===ue.value),e.R7$(),e.Y8G("ngIf",ue.label))},dependencies:()=>[M.YU,M.bT,M.T3,M.B3,ir,A.A],encapsulation:2,changeDetection:0})}return xe})(),zo=(()=>{class xe{static \u0275fac=function(ne){return new(ne||xe)};static \u0275mod=e.$C({type:xe});static \u0275inj=e.G2t({imports:[M.MD,Pe.Gg,ir,A.A,Pe.Gg]})}return xe})();var Vc=He(21413);const nd=["container"],Nf=["resizeHelper"],Xa=["reorderIndicatorUp"],Rd=["reorderIndicatorDown"],Ff=["wrapper"],yh=["table"],Nd=["thead"],xh=["tfoot"],_h=["scroller"],ro=(xe,tt,u)=>({"p-datatable p-component":!0,"p-datatable-hoverable-rows":xe,"p-datatable-scrollable":tt,"p-datatable-flex-scrollable":u}),Ms=xe=>({maxHeight:xe}),Ya=xe=>({height:xe}),an=(xe,tt)=>({$implicit:xe,options:tt}),Ch=xe=>({columns:xe}),Bf=(xe,tt,u)=>({"p-datatable-table":!0,"p-datatable-scrollable-table":xe,"p-datatable-resizable-table":tt,"p-datatable-resizable-table-fit":u}),Tl=xe=>({$implicit:xe});function sd(xe,tt){if(1&xe&&e.nrm(0,"i"),2&xe){const u=e.XpG(2);e.HbH("p-datatable-loading-icon "+u.loadingIcon)}}function jf(xe,tt){1&xe&&e.nrm(0,"SpinnerIcon",25),2&xe&&e.Y8G("spin",!0)("styleClass","p-datatable-loading-icon")}function fc(xe,tt){}function Ka(xe,tt){1&xe&&e.DNE(0,fc,0,0,"ng-template")}function Fd(xe,tt){if(1&xe&&(e.j41(0,"span",26),e.DNE(1,Ka,1,0,null,27),e.k0s()),2&xe){const u=e.XpG(3);e.R7$(),e.Y8G("ngTemplateOutlet",u.loadingIconTemplate)}}function qu(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,jf,1,2,"SpinnerIcon",23)(2,Fd,2,1,"span",24),e.bVm()),2&xe){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.loadingIconTemplate),e.R7$(),e.Y8G("ngIf",u.loadingIconTemplate)}}function Qu(xe,tt){if(1&xe&&(e.j41(0,"div",21),e.DNE(1,sd,1,2,"i",22)(2,qu,3,2,"ng-container",16),e.k0s()),2&xe){const u=e.XpG();e.R7$(),e.Y8G("ngIf",u.loadingIcon),e.R7$(),e.Y8G("ngIf",!u.loadingIcon)}}function Ju(xe,tt){1&xe&&e.eu8(0)}function rd(xe,tt){if(1&xe&&(e.j41(0,"div",28),e.DNE(1,Ju,1,0,"ng-container",27),e.k0s()),2&xe){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.captionTemplate)}}function ni(xe,tt){1&xe&&e.eu8(0)}function pn(xe,tt){if(1&xe&&e.DNE(0,ni,1,0,"ng-container",27),2&xe){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorDropdownIconTemplate)}}function gc(xe,tt){1&xe&&e.DNE(0,pn,1,1,"ng-template",30)}function zc(xe,tt){1&xe&&e.eu8(0)}function hs(xe,tt){if(1&xe&&e.DNE(0,zc,1,0,"ng-container",27),2&xe){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorFirstPageLinkIconTemplate)}}function Gc(xe,tt){1&xe&&e.DNE(0,hs,1,1,"ng-template",31)}function oa(xe,tt){1&xe&&e.eu8(0)}function aa(xe,tt){if(1&xe&&e.DNE(0,oa,1,0,"ng-container",27),2&xe){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorPreviousPageLinkIconTemplate)}}function Bd(xe,tt){1&xe&&e.DNE(0,aa,1,1,"ng-template",32)}function od(xe,tt){1&xe&&e.eu8(0)}function Vf(xe,tt){if(1&xe&&e.DNE(0,od,1,0,"ng-container",27),2&xe){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorLastPageLinkIconTemplate)}}function mm(xe,tt){1&xe&&e.DNE(0,Vf,1,1,"ng-template",33)}function ep(xe,tt){1&xe&&e.eu8(0)}function oo(xe,tt){if(1&xe&&e.DNE(0,ep,1,0,"ng-container",27),2&xe){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorNextPageLinkIconTemplate)}}function So(xe,tt){1&xe&&e.DNE(0,oo,1,1,"ng-template",34)}function tp(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"p-paginator",29),e.bIt("onPageChange",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onPageChange(ue))}),e.DNE(1,gc,1,0,null,16)(2,Gc,1,0,null,16)(3,Bd,1,0,null,16)(4,mm,1,0,null,16)(5,So,1,0,null,16),e.k0s()}if(2&xe){const u=e.XpG();e.Y8G("rows",u.rows)("first",u.first)("totalRecords",u.totalRecords)("pageLinkSize",u.pageLinks)("alwaysShow",u.alwaysShowPaginator)("rowsPerPageOptions",u.rowsPerPageOptions)("templateLeft",u.paginatorLeftTemplate)("templateRight",u.paginatorRightTemplate)("dropdownAppendTo",u.paginatorDropdownAppendTo)("dropdownScrollHeight",u.paginatorDropdownScrollHeight)("currentPageReportTemplate",u.currentPageReportTemplate)("showFirstLastIcon",u.showFirstLastIcon)("dropdownItemTemplate",u.paginatorDropdownItemTemplate)("showCurrentPageReport",u.showCurrentPageReport)("showJumpToPageDropdown",u.showJumpToPageDropdown)("showJumpToPageInput",u.showJumpToPageInput)("showPageLinks",u.showPageLinks)("styleClass",u.getPaginatorStyleClasses("p-paginator-top"))("locale",u.paginatorLocale),e.R7$(),e.Y8G("ngIf",u.paginatorDropdownIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorFirstPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorPreviousPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorLastPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorNextPageLinkIconTemplate)}}function Ma(xe,tt){1&xe&&e.eu8(0)}function Sl(xe,tt){if(1&xe&&e.DNE(0,Ma,1,0,"ng-container",37),2&xe){const u=tt.$implicit,ne=tt.options;e.XpG(2);const ue=e.sdS(10);e.Y8G("ngTemplateOutlet",ue)("ngTemplateOutletContext",e.l_i(2,an,u,ne))}}function zf(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"p-scroller",35,3),e.bIt("onLazyLoad",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onLazyItemLoad(ue))}),e.DNE(2,Sl,1,5,"ng-template",36),e.k0s()}if(2&xe){const u=e.XpG();e.Aen(e.eq3(15,Ya,"flex"!==u.scrollHeight?u.scrollHeight:void 0)),e.Y8G("items",u.processedData)("columns",u.columns)("scrollHeight","flex"!==u.scrollHeight?void 0:"100%")("itemSize",u.virtualScrollItemSize||u._virtualRowHeight)("step",u.rows)("delay",u.lazy?u.virtualScrollDelay:0)("inline",!0)("lazy",u.lazy)("loaderDisabled",!0)("showSpacer",!1)("showLoader",u.loadingBodyTemplate)("options",u.virtualScrollOptions)("autoSize",!0)}}function jd(xe,tt){1&xe&&e.eu8(0)}function Vd(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,jd,1,0,"ng-container",37),e.bVm()),2&xe){const u=e.XpG(),ne=e.sdS(10);e.R7$(),e.Y8G("ngTemplateOutlet",ne)("ngTemplateOutletContext",e.l_i(4,an,u.processedData,e.eq3(2,Ch,u.columns)))}}function ad(xe,tt){1&xe&&e.eu8(0)}function wh(xe,tt){1&xe&&e.eu8(0)}function Th(xe,tt){if(1&xe&&e.nrm(0,"tbody",44),2&xe){const u=e.XpG().options,ne=e.XpG();e.Y8G("value",ne.frozenValue)("frozenRows",!0)("pTableBody",u.columns)("pTableBodyTemplate",ne.frozenBodyTemplate)("frozen",!0)}}function zd(xe,tt){if(1&xe&&e.nrm(0,"tbody",45),2&xe){const u=e.XpG().options;e.Aen("height: calc("+u.spacerStyle.height+" - "+u.rows.length*u.itemSize+"px);")}}function Hc(xe,tt){1&xe&&e.eu8(0)}function Gf(xe,tt){if(1&xe&&(e.j41(0,"tfoot",46,6),e.DNE(2,Hc,1,0,"ng-container",37),e.k0s()),2&xe){const u=e.XpG().options,ne=e.XpG();e.R7$(2),e.Y8G("ngTemplateOutlet",ne.footerGroupedTemplate||ne.footerTemplate)("ngTemplateOutletContext",e.eq3(2,Tl,u.columns))}}function Sh(xe,tt){if(1&xe&&(e.j41(0,"table",38,4),e.DNE(2,ad,1,0,"ng-container",37),e.j41(3,"thead",39,5),e.DNE(5,wh,1,0,"ng-container",37),e.k0s(),e.DNE(6,Th,1,5,"tbody",40),e.nrm(7,"tbody",41),e.DNE(8,zd,1,2,"tbody",42)(9,Gf,3,4,"tfoot",43),e.k0s()),2&xe){const u=tt.options,ne=e.XpG();e.Aen(ne.tableStyle),e.HbH(ne.tableStyleClass),e.Y8G("ngClass",e.sMw(20,Bf,ne.scrollable,ne.resizableColumns,ne.resizableColumns&&"fit"===ne.columnResizeMode)),e.BMQ("id",ne.id+"-table"),e.R7$(2),e.Y8G("ngTemplateOutlet",ne.colGroupTemplate)("ngTemplateOutletContext",e.eq3(24,Tl,u.columns)),e.R7$(3),e.Y8G("ngTemplateOutlet",ne.headerGroupedTemplate||ne.headerTemplate)("ngTemplateOutletContext",e.eq3(26,Tl,u.columns)),e.R7$(),e.Y8G("ngIf",ne.frozenValue||ne.frozenBodyTemplate),e.R7$(),e.Aen(u.contentStyle),e.Y8G("ngClass",u.contentStyleClass)("value",ne.dataToRender(u.rows))("pTableBody",u.columns)("pTableBodyTemplate",ne.bodyTemplate)("scrollerOptions",u),e.R7$(),e.Y8G("ngIf",u.spacerStyle),e.R7$(),e.Y8G("ngIf",ne.footerGroupedTemplate||ne.footerTemplate)}}function Gd(xe,tt){1&xe&&e.eu8(0)}function ip(xe,tt){if(1&xe&&e.DNE(0,Gd,1,0,"ng-container",27),2&xe){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorDropdownIconTemplate)}}function ld(xe,tt){1&xe&&e.DNE(0,ip,1,1,"ng-template",30)}function Hd(xe,tt){1&xe&&e.eu8(0)}function Ud(xe,tt){if(1&xe&&e.DNE(0,Hd,1,0,"ng-container",27),2&xe){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorFirstPageLinkIconTemplate)}}function cd(xe,tt){1&xe&&e.DNE(0,Ud,1,1,"ng-template",31)}function Hf(xe,tt){1&xe&&e.eu8(0)}function Wr(xe,tt){if(1&xe&&e.DNE(0,Hf,1,0,"ng-container",27),2&xe){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorPreviousPageLinkIconTemplate)}}function mc(xe,tt){1&xe&&e.DNE(0,Wr,1,1,"ng-template",32)}function Os(xe,tt){1&xe&&e.eu8(0)}function np(xe,tt){if(1&xe&&e.DNE(0,Os,1,0,"ng-container",27),2&xe){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorLastPageLinkIconTemplate)}}function Uf(xe,tt){1&xe&&e.DNE(0,np,1,1,"ng-template",33)}function sp(xe,tt){1&xe&&e.eu8(0)}function Wd(xe,tt){if(1&xe&&e.DNE(0,sp,1,0,"ng-container",27),2&xe){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorNextPageLinkIconTemplate)}}function hd(xe,tt){1&xe&&e.DNE(0,Wd,1,1,"ng-template",34)}function kh(xe,tt){if(1&xe){const u=e.RV6();e.j41(0,"p-paginator",29),e.bIt("onPageChange",function(ue){e.eBV(u);const Ie=e.XpG();return e.Njj(Ie.onPageChange(ue))}),e.DNE(1,ld,1,0,null,16)(2,cd,1,0,null,16)(3,mc,1,0,null,16)(4,Uf,1,0,null,16)(5,hd,1,0,null,16),e.k0s()}if(2&xe){const u=e.XpG();e.Y8G("rows",u.rows)("first",u.first)("totalRecords",u.totalRecords)("pageLinkSize",u.pageLinks)("alwaysShow",u.alwaysShowPaginator)("rowsPerPageOptions",u.rowsPerPageOptions)("templateLeft",u.paginatorLeftTemplate)("templateRight",u.paginatorRightTemplate)("dropdownAppendTo",u.paginatorDropdownAppendTo)("dropdownScrollHeight",u.paginatorDropdownScrollHeight)("currentPageReportTemplate",u.currentPageReportTemplate)("showFirstLastIcon",u.showFirstLastIcon)("dropdownItemTemplate",u.paginatorDropdownItemTemplate)("showCurrentPageReport",u.showCurrentPageReport)("showJumpToPageDropdown",u.showJumpToPageDropdown)("showJumpToPageInput",u.showJumpToPageInput)("showPageLinks",u.showPageLinks)("styleClass",u.getPaginatorStyleClasses("p-paginator-bottom"))("locale",u.paginatorLocale),e.R7$(),e.Y8G("ngIf",u.paginatorDropdownIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorFirstPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorPreviousPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorLastPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorNextPageLinkIconTemplate)}}function Uc(xe,tt){1&xe&&e.eu8(0)}function Go(xe,tt){if(1&xe&&(e.j41(0,"div",47),e.DNE(1,Uc,1,0,"ng-container",27),e.k0s()),2&xe){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.summaryTemplate)}}function Mh(xe,tt){1&xe&&e.nrm(0,"div",48,7)}function Wc(xe,tt){1&xe&&e.nrm(0,"ArrowDownIcon")}function Ul(xe,tt){}function dd(xe,tt){1&xe&&e.DNE(0,Ul,0,0,"ng-template")}function Dh(xe,tt){if(1&xe&&(e.j41(0,"span",49,8),e.DNE(2,Wc,1,0,"ArrowDownIcon",16)(3,dd,1,0,null,27),e.k0s()),2&xe){const u=e.XpG();e.R7$(2),e.Y8G("ngIf",!u.reorderIndicatorUpIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.reorderIndicatorUpIconTemplate)}}function $d(xe,tt){1&xe&&e.nrm(0,"ArrowUpIcon")}function kl(xe,tt){}function rp(xe,tt){1&xe&&e.DNE(0,kl,0,0,"ng-template")}function bc(xe,tt){if(1&xe&&(e.j41(0,"span",50,9),e.DNE(2,$d,1,0,"ArrowUpIcon",16)(3,rp,1,0,null,27),e.k0s()),2&xe){const u=e.XpG();e.R7$(2),e.Y8G("ngIf",!u.reorderIndicatorDownIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.reorderIndicatorDownIconTemplate)}}const $c=["pTableBody",""],Eh=(xe,tt,u,ne,ue)=>({$implicit:xe,rowIndex:tt,columns:u,editing:ne,frozen:ue}),Ah=(xe,tt,u,ne,ue,Ie,nt)=>({$implicit:xe,rowIndex:tt,columns:u,editing:ne,frozen:ue,rowgroup:Ie,rowspan:nt}),Ih=(xe,tt,u,ne,ue,Ie)=>({$implicit:xe,rowIndex:tt,columns:u,expanded:ne,editing:ue,frozen:Ie}),Xd=(xe,tt,u,ne)=>({$implicit:xe,rowIndex:tt,columns:u,frozen:ne}),Oh=(xe,tt)=>({$implicit:xe,frozen:tt});function Wf(xe,tt){1&xe&&e.eu8(0)}function op(xe,tt){if(1&xe&&(e.qex(0,3),e.DNE(1,Wf,1,0,"ng-container",4),e.bVm()),2&xe){const u=e.XpG(),ne=u.$implicit,ue=u.index,Ie=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ie.dt.groupHeaderTemplate)("ngTemplateOutletContext",e.s1E(2,Eh,ne,Ie.getRowIndex(ue),Ie.columns,"row"===Ie.dt.editMode&&Ie.dt.isRowEditing(ne),Ie.frozen))}}function Lr(xe,tt){1&xe&&e.eu8(0)}function Wl(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,Lr,1,0,"ng-container",4),e.bVm()),2&xe){const u=e.XpG(),ne=u.$implicit,ue=u.index,Ie=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",ne?Ie.template:Ie.dt.loadingBodyTemplate)("ngTemplateOutletContext",e.s1E(2,Eh,ne,Ie.getRowIndex(ue),Ie.columns,"row"===Ie.dt.editMode&&Ie.dt.isRowEditing(ne),Ie.frozen))}}function ap(xe,tt){1&xe&&e.eu8(0)}function Da(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,ap,1,0,"ng-container",4),e.bVm()),2&xe){const u=e.XpG(),ne=u.$implicit,ue=u.index,Ie=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",ne?Ie.template:Ie.dt.loadingBodyTemplate)("ngTemplateOutletContext",e.sGs(2,Ah,ne,Ie.getRowIndex(ue),Ie.columns,"row"===Ie.dt.editMode&&Ie.dt.isRowEditing(ne),Ie.frozen,Ie.shouldRenderRowspan(Ie.value,ne,ue),Ie.calculateRowGroupSize(Ie.value,ne,ue)))}}function $r(xe,tt){1&xe&&e.eu8(0)}function Xc(xe,tt){if(1&xe&&(e.qex(0,3),e.DNE(1,$r,1,0,"ng-container",4),e.bVm()),2&xe){const u=e.XpG(),ne=u.$implicit,ue=u.index,Ie=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ie.dt.groupFooterTemplate)("ngTemplateOutletContext",e.s1E(2,Eh,ne,Ie.getRowIndex(ue),Ie.columns,"row"===Ie.dt.editMode&&Ie.dt.isRowEditing(ne),Ie.frozen))}}function lp(xe,tt){if(1&xe&&e.DNE(0,op,2,8,"ng-container",2)(1,Wl,2,8,"ng-container",0)(2,Da,2,10,"ng-container",0)(3,Xc,2,8,"ng-container",2),2&xe){const u=tt.$implicit,ne=tt.index,ue=e.XpG(2);e.Y8G("ngIf",ue.dt.groupHeaderTemplate&&!ue.dt.virtualScroll&&"subheader"===ue.dt.rowGroupMode&&ue.shouldRenderRowGroupHeader(ue.value,u,ne)),e.R7$(),e.Y8G("ngIf","rowspan"!==ue.dt.rowGroupMode),e.R7$(),e.Y8G("ngIf","rowspan"===ue.dt.rowGroupMode),e.R7$(),e.Y8G("ngIf",ue.dt.groupFooterTemplate&&!ue.dt.virtualScroll&&"subheader"===ue.dt.rowGroupMode&&ue.shouldRenderRowGroupFooter(ue.value,u,ne))}}function $l(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,lp,4,4,"ng-template",1),e.bVm()),2&xe){const u=e.XpG();e.R7$(),e.Y8G("ngForOf",u.value)("ngForTrackBy",u.dt.rowTrackBy)}}function Yc(xe,tt){1&xe&&e.eu8(0)}function Ph(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,Yc,1,0,"ng-container",4),e.bVm()),2&xe){const u=e.XpG(),ne=u.$implicit,ue=u.index,Ie=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ie.template)("ngTemplateOutletContext",e.l4e(2,Ih,ne,Ie.getRowIndex(ue),Ie.columns,Ie.dt.isRowExpanded(ne),"row"===Ie.dt.editMode&&Ie.dt.isRowEditing(ne),Ie.frozen))}}function la(xe,tt){1&xe&&e.eu8(0)}function Yd(xe,tt){if(1&xe&&(e.qex(0,3),e.DNE(1,la,1,0,"ng-container",4),e.bVm()),2&xe){const u=e.XpG(),ne=u.$implicit,ue=u.index,Ie=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ie.dt.groupHeaderTemplate)("ngTemplateOutletContext",e.l4e(2,Ih,ne,Ie.getRowIndex(ue),Ie.columns,Ie.dt.isRowExpanded(ne),"row"===Ie.dt.editMode&&Ie.dt.isRowEditing(ne),Ie.frozen))}}function ud(xe,tt){1&xe&&e.eu8(0)}function Kc(xe,tt){1&xe&&e.eu8(0)}function pd(xe,tt){if(1&xe&&(e.qex(0,3),e.DNE(1,Kc,1,0,"ng-container",4),e.bVm()),2&xe){const u=e.XpG(2),ne=u.$implicit,ue=u.index,Ie=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ie.dt.groupFooterTemplate)("ngTemplateOutletContext",e.l4e(2,Ih,ne,Ie.getRowIndex(ue),Ie.columns,Ie.dt.isRowExpanded(ne),"row"===Ie.dt.editMode&&Ie.dt.isRowEditing(ne),Ie.frozen))}}function Zc(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,ud,1,0,"ng-container",4)(2,pd,2,9,"ng-container",2),e.bVm()),2&xe){const u=e.XpG(),ne=u.$implicit,ue=u.index,Ie=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ie.dt.expandedRowTemplate)("ngTemplateOutletContext",e.ziG(3,Xd,ne,Ie.getRowIndex(ue),Ie.columns,Ie.frozen)),e.R7$(),e.Y8G("ngIf",Ie.dt.groupFooterTemplate&&"subheader"===Ie.dt.rowGroupMode&&Ie.shouldRenderRowGroupFooter(Ie.value,ne,Ie.getRowIndex(ue)))}}function Kd(xe,tt){if(1&xe&&e.DNE(0,Ph,2,9,"ng-container",0)(1,Yd,2,9,"ng-container",2)(2,Zc,3,8,"ng-container",0),2&xe){const u=tt.$implicit,ne=tt.index,ue=e.XpG(2);e.Y8G("ngIf",!ue.dt.groupHeaderTemplate),e.R7$(),e.Y8G("ngIf",ue.dt.groupHeaderTemplate&&"subheader"===ue.dt.rowGroupMode&&ue.shouldRenderRowGroupHeader(ue.value,u,ue.getRowIndex(ne))),e.R7$(),e.Y8G("ngIf",ue.dt.isRowExpanded(u))}}function Zd(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,Kd,3,3,"ng-template",1),e.bVm()),2&xe){const u=e.XpG();e.R7$(),e.Y8G("ngForOf",u.value)("ngForTrackBy",u.dt.rowTrackBy)}}function Lh(xe,tt){1&xe&&e.eu8(0)}function Rh(xe,tt){1&xe&&e.eu8(0)}function Xl(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,Rh,1,0,"ng-container",4),e.bVm()),2&xe){const u=e.XpG(),ne=u.$implicit,ue=u.index,Ie=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ie.dt.frozenExpandedRowTemplate)("ngTemplateOutletContext",e.ziG(2,Xd,ne,Ie.getRowIndex(ue),Ie.columns,Ie.frozen))}}function Yl(xe,tt){if(1&xe&&e.DNE(0,Lh,1,0,"ng-container",4)(1,Xl,2,7,"ng-container",0),2&xe){const u=tt.$implicit,ne=tt.index,ue=e.XpG(2);e.Y8G("ngTemplateOutlet",ue.template)("ngTemplateOutletContext",e.l4e(3,Ih,u,ue.getRowIndex(ne),ue.columns,ue.dt.isRowExpanded(u),"row"===ue.dt.editMode&&ue.dt.isRowEditing(u),ue.frozen)),e.R7$(),e.Y8G("ngIf",ue.dt.isRowExpanded(u))}}function qc(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,Yl,2,10,"ng-template",1),e.bVm()),2&xe){const u=e.XpG();e.R7$(),e.Y8G("ngForOf",u.value)("ngForTrackBy",u.dt.rowTrackBy)}}function Ea(xe,tt){1&xe&&e.eu8(0)}function Ho(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,Ea,1,0,"ng-container",4),e.bVm()),2&xe){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.dt.loadingBodyTemplate)("ngTemplateOutletContext",e.l_i(2,Oh,u.columns,u.frozen))}}function ca(xe,tt){1&xe&&e.eu8(0)}function cp(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,ca,1,0,"ng-container",4),e.bVm()),2&xe){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.dt.emptyMessageTemplate)("ngTemplateOutletContext",e.l_i(2,Oh,u.columns,u.frozen))}}function hp(xe,tt){1&xe&&e.nrm(0,"SortAltIcon",4),2&xe&&e.Y8G("styleClass","p-sortable-column-icon")}function Kl(xe,tt){1&xe&&e.nrm(0,"SortAmountUpAltIcon",4),2&xe&&e.Y8G("styleClass","p-sortable-column-icon")}function vc(xe,tt){1&xe&&e.nrm(0,"SortAmountDownIcon",4),2&xe&&e.Y8G("styleClass","p-sortable-column-icon")}function lr(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,hp,1,1,"SortAltIcon",3)(2,Kl,1,1,"SortAmountUpAltIcon",3)(3,vc,1,1,"SortAmountDownIcon",3),e.bVm()),2&xe){const u=e.XpG();e.R7$(),e.Y8G("ngIf",0===u.sortOrder),e.R7$(),e.Y8G("ngIf",1===u.sortOrder),e.R7$(),e.Y8G("ngIf",-1===u.sortOrder)}}function dp(xe,tt){}function qd(xe,tt){1&xe&&e.DNE(0,dp,0,0,"ng-template")}function Nh(xe,tt){if(1&xe&&(e.j41(0,"span",5),e.DNE(1,qd,1,0,null,6),e.k0s()),2&xe){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.dt.sortIconTemplate)("ngTemplateOutletContext",e.eq3(2,Tl,u.sortOrder))}}function Qd(xe,tt){if(1&xe&&(e.j41(0,"span",7),e.EFF(1),e.k0s()),2&xe){const u=e.XpG();e.R7$(),e.JRh(u.getBadgeValue())}}function Jd(xe,tt){1&xe&&e.eu8(0)}function Qc(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,Jd,1,0,"ng-container",1),e.bVm()),2&xe){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.inputTemplate)}}function up(xe,tt){1&xe&&e.eu8(0)}function Zl(xe,tt){if(1&xe&&(e.qex(0),e.DNE(1,up,1,0,"ng-container",1),e.bVm()),2&xe){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.outputTemplate)}}let we=(()=>{class xe{sortSource=new Vc.B;selectionSource=new Vc.B;contextMenuSource=new Vc.B;valueSource=new Vc.B;totalRecordsSource=new Vc.B;columnsSource=new Vc.B;sortSource$=this.sortSource.asObservable();selectionSource$=this.selectionSource.asObservable();contextMenuSource$=this.contextMenuSource.asObservable();valueSource$=this.valueSource.asObservable();totalRecordsSource$=this.totalRecordsSource.asObservable();columnsSource$=this.columnsSource.asObservable();onSort(u){this.sortSource.next(u)}onSelectionChange(){this.selectionSource.next(null)}onContextMenu(u){this.contextMenuSource.next(u)}onValueChange(u){this.valueSource.next(u)}onTotalRecordsChange(u){this.totalRecordsSource.next(u)}onColumnsChange(u){this.columnsSource.next(u)}static \u0275fac=function(ne){return new(ne||xe)};static \u0275prov=e.jDH({token:xe,factory:xe.\u0275fac})}return xe})(),Ne=(()=>{class xe{document;platformId;renderer;el;zone;tableService;cd;filterService;overlayService;config;frozenColumns;frozenValue;style;styleClass;tableStyle;tableStyleClass;paginator;pageLinks=5;rowsPerPageOptions;alwaysShowPaginator=!0;paginatorPosition="bottom";paginatorStyleClass;paginatorDropdownAppendTo;paginatorDropdownScrollHeight="200px";currentPageReportTemplate="{currentPage} of {totalPages}";showCurrentPageReport;showJumpToPageDropdown;showJumpToPageInput;showFirstLastIcon=!0;showPageLinks=!0;defaultSortOrder=1;sortMode="single";resetPageOnSort=!0;selectionMode;selectionPageOnly;contextMenuSelection;contextMenuSelectionChange=new e.bkB;contextMenuSelectionMode="separate";dataKey;metaKeySelection=!1;rowSelectable;rowTrackBy=(u,ne)=>ne;lazy=!1;lazyLoadOnInit=!0;compareSelectionBy="deepEquals";csvSeparator=",";exportFilename="download";filters={};globalFilterFields;filterDelay=300;filterLocale;expandedRowKeys={};editingRowKeys={};rowExpandMode="multiple";scrollable;scrollDirection="vertical";rowGroupMode;scrollHeight;virtualScroll;virtualScrollItemSize;virtualScrollOptions;virtualScrollDelay=250;frozenWidth;get responsive(){return this._responsive}set responsive(u){this._responsive=u,console.warn("responsive property is deprecated as table is always responsive with scrollable behavior.")}_responsive;contextMenu;resizableColumns;columnResizeMode="fit";reorderableColumns;loading;loadingIcon;showLoader=!0;rowHover;customSort;showInitialSortBadge=!0;autoLayout;exportFunction;exportHeader;stateKey;stateStorage="session";editMode="cell";groupRowsBy;groupRowsByOrder=1;responsiveLayout="scroll";breakpoint="640px";paginatorLocale;get value(){return this._value}set value(u){this._value=u}get columns(){return this._columns}set columns(u){this._columns=u}get first(){return this._first}set first(u){this._first=u}get rows(){return this._rows}set rows(u){this._rows=u}get totalRecords(){return this._totalRecords}set totalRecords(u){this._totalRecords=u,this.tableService.onTotalRecordsChange(this._totalRecords)}get sortField(){return this._sortField}set sortField(u){this._sortField=u}get sortOrder(){return this._sortOrder}set sortOrder(u){this._sortOrder=u}get multiSortMeta(){return this._multiSortMeta}set multiSortMeta(u){this._multiSortMeta=u}get selection(){return this._selection}set selection(u){this._selection=u}get selectAll(){return this._selection}set selectAll(u){this._selection=u}selectAllChange=new e.bkB;selectionChange=new e.bkB;onRowSelect=new e.bkB;onRowUnselect=new e.bkB;onPage=new e.bkB;onSort=new e.bkB;onFilter=new e.bkB;onLazyLoad=new e.bkB;onRowExpand=new e.bkB;onRowCollapse=new e.bkB;onContextMenuSelect=new e.bkB;onColResize=new e.bkB;onColReorder=new e.bkB;onRowReorder=new e.bkB;onEditInit=new e.bkB;onEditComplete=new e.bkB;onEditCancel=new e.bkB;onHeaderCheckboxToggle=new e.bkB;sortFunction=new e.bkB;firstChange=new e.bkB;rowsChange=new e.bkB;onStateSave=new e.bkB;onStateRestore=new e.bkB;containerViewChild;resizeHelperViewChild;reorderIndicatorUpViewChild;reorderIndicatorDownViewChild;wrapperViewChild;tableViewChild;tableHeaderViewChild;tableFooterViewChild;scroller;templates;get virtualRowHeight(){return this._virtualRowHeight}set virtualRowHeight(u){this._virtualRowHeight=u,console.warn("The virtualRowHeight property is deprecated.")}_virtualRowHeight=28;_value=[];_columns;_totalRecords=0;_first=0;_rows;filteredValue;headerTemplate;headerGroupedTemplate;bodyTemplate;loadingBodyTemplate;captionTemplate;footerTemplate;footerGroupedTemplate;summaryTemplate;colGroupTemplate;expandedRowTemplate;groupHeaderTemplate;groupFooterTemplate;frozenExpandedRowTemplate;frozenHeaderTemplate;frozenBodyTemplate;frozenFooterTemplate;frozenColGroupTemplate;emptyMessageTemplate;paginatorLeftTemplate;paginatorRightTemplate;paginatorDropdownItemTemplate;loadingIconTemplate;reorderIndicatorUpIconTemplate;reorderIndicatorDownIconTemplate;sortIconTemplate;checkboxIconTemplate;headerCheckboxIconTemplate;paginatorDropdownIconTemplate;paginatorFirstPageLinkIconTemplate;paginatorLastPageLinkIconTemplate;paginatorPreviousPageLinkIconTemplate;paginatorNextPageLinkIconTemplate;selectionKeys={};lastResizerHelperX;reorderIconWidth;reorderIconHeight;draggedColumn;draggedRowIndex;droppedRowIndex;rowDragging;dropPosition;editingCell;editingCellData;editingCellField;editingCellRowIndex;selfClick;documentEditListener;_multiSortMeta;_sortField;_sortOrder=1;preventSelectionSetterPropagation;_selection;_selectAll=null;anchorRowIndex;rangeRowIndex;filterTimeout;initialized;rowTouched;restoringSort;restoringFilter;stateRestored;columnOrderStateRestored;columnWidthsState;tableWidthState;overlaySubscription;resizeColumnElement;columnResizing=!1;rowGroupHeaderStyleObject={};id=(0,le._Y)();styleElement;responsiveStyleElement;window;constructor(u,ne,ue,Ie,nt,Tt,zt,ai,oi,Li){this.document=u,this.platformId=ne,this.renderer=ue,this.el=Ie,this.zone=nt,this.tableService=Tt,this.cd=zt,this.filterService=ai,this.overlayService=oi,this.config=Li,this.window=this.document.defaultView}ngOnInit(){this.lazy&&this.lazyLoadOnInit&&(this.virtualScroll||this.onLazyLoad.emit(this.createLazyLoadMetadata()),this.restoringFilter&&(this.restoringFilter=!1)),"stack"===this.responsiveLayout&&this.createResponsiveStyle(),this.initialized=!0}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"caption":this.captionTemplate=u.template;break;case"header":this.headerTemplate=u.template;break;case"headergrouped":this.headerGroupedTemplate=u.template;break;case"body":this.bodyTemplate=u.template;break;case"loadingbody":this.loadingBodyTemplate=u.template;break;case"footer":this.footerTemplate=u.template;break;case"footergrouped":this.footerGroupedTemplate=u.template;break;case"summary":this.summaryTemplate=u.template;break;case"colgroup":this.colGroupTemplate=u.template;break;case"rowexpansion":this.expandedRowTemplate=u.template;break;case"groupheader":this.groupHeaderTemplate=u.template;break;case"groupfooter":this.groupFooterTemplate=u.template;break;case"frozenheader":this.frozenHeaderTemplate=u.template;break;case"frozenbody":this.frozenBodyTemplate=u.template;break;case"frozenfooter":this.frozenFooterTemplate=u.template;break;case"frozencolgroup":this.frozenColGroupTemplate=u.template;break;case"frozenrowexpansion":this.frozenExpandedRowTemplate=u.template;break;case"emptymessage":this.emptyMessageTemplate=u.template;break;case"paginatorleft":this.paginatorLeftTemplate=u.template;break;case"paginatorright":this.paginatorRightTemplate=u.template;break;case"paginatordropdownicon":this.paginatorDropdownIconTemplate=u.template;break;case"paginatordropdownitem":this.paginatorDropdownItemTemplate=u.template;break;case"paginatorfirstpagelinkicon":this.paginatorFirstPageLinkIconTemplate=u.template;break;case"paginatorlastpagelinkicon":this.paginatorLastPageLinkIconTemplate=u.template;break;case"paginatorpreviouspagelinkicon":this.paginatorPreviousPageLinkIconTemplate=u.template;break;case"paginatornextpagelinkicon":this.paginatorNextPageLinkIconTemplate=u.template;break;case"loadingicon":this.loadingIconTemplate=u.template;break;case"reorderindicatorupicon":this.reorderIndicatorUpIconTemplate=u.template;break;case"reorderindicatordownicon":this.reorderIndicatorDownIconTemplate=u.template;break;case"sorticon":this.sortIconTemplate=u.template;break;case"checkboxicon":this.checkboxIconTemplate=u.template;break;case"headercheckboxicon":this.headerCheckboxIconTemplate=u.template}})}ngAfterViewInit(){(0,M.UE)(this.platformId)&&this.isStateful()&&this.resizableColumns&&this.restoreColumnWidths()}ngOnChanges(u){u.value&&(this.isStateful()&&!this.stateRestored&&(0,M.UE)(this.platformId)&&this.restoreState(),this._value=u.value.currentValue,this.lazy||(this.totalRecords=this._value?this._value.length:0,"single"==this.sortMode&&(this.sortField||this.groupRowsBy)?this.sortSingle():"multiple"==this.sortMode&&(this.multiSortMeta||this.groupRowsBy)?this.sortMultiple():this.hasFilter()&&this._filter()),this.tableService.onValueChange(u.value.currentValue)),u.columns&&(this.isStateful()||(this._columns=u.columns.currentValue,this.tableService.onColumnsChange(u.columns.currentValue)),this._columns&&this.isStateful()&&this.reorderableColumns&&!this.columnOrderStateRestored&&(this.restoreColumnOrder(),this.tableService.onColumnsChange(this._columns))),u.sortField&&(this._sortField=u.sortField.currentValue,(!this.lazy||this.initialized)&&"single"===this.sortMode&&this.sortSingle()),u.groupRowsBy&&(!this.lazy||this.initialized)&&"single"===this.sortMode&&this.sortSingle(),u.sortOrder&&(this._sortOrder=u.sortOrder.currentValue,(!this.lazy||this.initialized)&&"single"===this.sortMode&&this.sortSingle()),u.groupRowsByOrder&&(!this.lazy||this.initialized)&&"single"===this.sortMode&&this.sortSingle(),u.multiSortMeta&&(this._multiSortMeta=u.multiSortMeta.currentValue,"multiple"===this.sortMode&&(this.initialized||!this.lazy&&!this.virtualScroll)&&this.sortMultiple()),u.selection&&(this._selection=u.selection.currentValue,this.preventSelectionSetterPropagation||(this.updateSelectionKeys(),this.tableService.onSelectionChange()),this.preventSelectionSetterPropagation=!1),u.selectAll&&(this._selectAll=u.selectAll.currentValue,this.preventSelectionSetterPropagation||(this.updateSelectionKeys(),this.tableService.onSelectionChange(),this.isStateful()&&this.saveState()),this.preventSelectionSetterPropagation=!1)}get processedData(){return this.filteredValue||this.value||[]}_initialColWidths;dataToRender(u){const ne=u||this.processedData;if(ne&&this.paginator){const ue=this.lazy?0:this.first;return ne.slice(ue,ue+this.rows)}return ne}updateSelectionKeys(){if(this.dataKey&&this._selection)if(this.selectionKeys={},Array.isArray(this._selection))for(let u of this._selection)this.selectionKeys[String(le.BF.resolveFieldData(u,this.dataKey))]=1;else this.selectionKeys[String(le.BF.resolveFieldData(this._selection,this.dataKey))]=1}onPageChange(u){this.first=u.first,this.rows=u.rows,this.onPage.emit({first:this.first,rows:this.rows}),this.lazy&&this.onLazyLoad.emit(this.createLazyLoadMetadata()),this.firstChange.emit(this.first),this.rowsChange.emit(this.rows),this.tableService.onValueChange(this.value),this.isStateful()&&this.saveState(),this.anchorRowIndex=null,this.scrollable&&this.resetScrollTop()}sort(u){let ne=u.originalEvent;if("single"===this.sortMode&&(this._sortOrder=this.sortField===u.field?-1*this.sortOrder:this.defaultSortOrder,this._sortField=u.field,this.resetPageOnSort&&(this._first=0,this.firstChange.emit(this._first),this.scrollable&&this.resetScrollTop()),this.sortSingle()),"multiple"===this.sortMode){let ue=ne.metaKey||ne.ctrlKey,Ie=this.getSortMeta(u.field);Ie?ue?Ie.order=-1*Ie.order:(this._multiSortMeta=[{field:u.field,order:-1*Ie.order}],this.resetPageOnSort&&(this._first=0,this.firstChange.emit(this._first),this.scrollable&&this.resetScrollTop())):((!ue||!this.multiSortMeta)&&(this._multiSortMeta=[],this.resetPageOnSort&&(this._first=0,this.firstChange.emit(this._first))),this._multiSortMeta.push({field:u.field,order:this.defaultSortOrder})),this.sortMultiple()}this.isStateful()&&this.saveState(),this.anchorRowIndex=null}sortSingle(){let u=this.sortField||this.groupRowsBy,ne=this.sortField?this.sortOrder:this.groupRowsByOrder;if(this.groupRowsBy&&this.sortField&&this.groupRowsBy!==this.sortField)return this._multiSortMeta=[this.getGroupRowsMeta(),{field:this.sortField,order:this.sortOrder}],void this.sortMultiple();if(u&&ne){this.restoringSort&&(this.restoringSort=!1),this.lazy?this.onLazyLoad.emit(this.createLazyLoadMetadata()):this.value&&(this.customSort?this.sortFunction.emit({data:this.value,mode:this.sortMode,field:u,order:ne}):(this.value.sort((Ie,nt)=>{let Tt=le.BF.resolveFieldData(Ie,u),zt=le.BF.resolveFieldData(nt,u),ai=null;return ai=null==Tt&&null!=zt?-1:null!=Tt&&null==zt?1:null==Tt&&null==zt?0:"string"==typeof Tt&&"string"==typeof zt?Tt.localeCompare(zt):Ttzt?1:0,ne*ai}),this._value=[...this.value]),this.hasFilter()&&this._filter());let ue={field:u,order:ne};this.onSort.emit(ue),this.tableService.onSort(ue)}}sortMultiple(){this.groupRowsBy&&(this._multiSortMeta?this.multiSortMeta[0].field!==this.groupRowsBy&&(this._multiSortMeta=[this.getGroupRowsMeta(),...this._multiSortMeta]):this._multiSortMeta=[this.getGroupRowsMeta()]),this.multiSortMeta&&(this.lazy?this.onLazyLoad.emit(this.createLazyLoadMetadata()):this.value&&(this.customSort?this.sortFunction.emit({data:this.value,mode:this.sortMode,multiSortMeta:this.multiSortMeta}):(this.value.sort((u,ne)=>this.multisortField(u,ne,this.multiSortMeta,0)),this._value=[...this.value]),this.hasFilter()&&this._filter()),this.onSort.emit({multisortmeta:this.multiSortMeta}),this.tableService.onSort(this.multiSortMeta))}multisortField(u,ne,ue,Ie){const nt=le.BF.resolveFieldData(u,ue[Ie].field),Tt=le.BF.resolveFieldData(ne,ue[Ie].field);return 0===le.BF.compare(nt,Tt,this.filterLocale)?ue.length-1>Ie?this.multisortField(u,ne,ue,Ie+1):0:this.compareValuesOnSort(nt,Tt,ue[Ie].order)}compareValuesOnSort(u,ne,ue){return le.BF.sort(u,ne,ue,this.filterLocale,this.sortOrder)}getSortMeta(u){if(this.multiSortMeta&&this.multiSortMeta.length)for(let ne=0;netn!=Zi),this.selectionChange.emit(this.selection),oi&&delete this.selectionKeys[oi]}this.onRowUnselect.emit({originalEvent:u.originalEvent,data:nt,type:"row"})}else this.isSingleSelectionMode()?(this._selection=nt,this.selectionChange.emit(nt),oi&&(this.selectionKeys={},this.selectionKeys[oi]=1)):this.isMultipleSelectionMode()&&(Li?this._selection=this.selection||[]:(this._selection=[],this.selectionKeys={}),this._selection=[...this.selection,nt],this.selectionChange.emit(this.selection),oi&&(this.selectionKeys[oi]=1)),this.onRowSelect.emit({originalEvent:u.originalEvent,data:nt,type:"row",index:Tt})}else if("single"===this.selectionMode)zt?(this._selection=null,this.selectionKeys={},this.selectionChange.emit(this.selection),this.onRowUnselect.emit({originalEvent:u.originalEvent,data:nt,type:"row",index:Tt})):(this._selection=nt,this.selectionChange.emit(this.selection),this.onRowSelect.emit({originalEvent:u.originalEvent,data:nt,type:"row",index:Tt}),oi&&(this.selectionKeys={},this.selectionKeys[oi]=1));else if("multiple"===this.selectionMode)if(zt){let Li=this.findIndexInSelection(nt);this._selection=this.selection.filter((Zi,Yi)=>Yi!=Li),this.selectionChange.emit(this.selection),this.onRowUnselect.emit({originalEvent:u.originalEvent,data:nt,type:"row",index:Tt}),oi&&delete this.selectionKeys[oi]}else this._selection=this.selection?[...this.selection,nt]:[nt],this.selectionChange.emit(this.selection),this.onRowSelect.emit({originalEvent:u.originalEvent,data:nt,type:"row",index:Tt}),oi&&(this.selectionKeys[oi]=1)}this.tableService.onSelectionChange(),this.isStateful()&&this.saveState()}this.rowTouched=!1}}handleRowTouchEnd(u){this.rowTouched=!0}handleRowRightClick(u){if(this.contextMenu){const ne=u.rowData,ue=u.rowIndex;if("separate"===this.contextMenuSelectionMode)this.contextMenuSelection=ne,this.contextMenuSelectionChange.emit(ne),this.onContextMenuSelect.emit({originalEvent:u.originalEvent,data:ne,index:u.rowIndex}),this.contextMenu.show(u.originalEvent),this.tableService.onContextMenu(ne);else if("joint"===this.contextMenuSelectionMode){this.preventSelectionSetterPropagation=!0;let Ie=this.isSelected(ne),nt=this.dataKey?String(le.BF.resolveFieldData(ne,this.dataKey)):null;if(!Ie){if(!this.isRowSelectable(ne,ue))return;this.isSingleSelectionMode()?(this.selection=ne,this.selectionChange.emit(ne),nt&&(this.selectionKeys={},this.selectionKeys[nt]=1)):this.isMultipleSelectionMode()&&(this._selection=this.selection?[...this.selection,ne]:[ne],this.selectionChange.emit(this.selection),nt&&(this.selectionKeys[nt]=1))}this.tableService.onSelectionChange(),this.contextMenu.show(u.originalEvent),this.onContextMenuSelect.emit({originalEvent:u,data:ne,index:u.rowIndex})}}}selectRange(u,ne){let ue,Ie;this.anchorRowIndex>ne?(ue=ne,Ie=this.anchorRowIndex):this.anchorRowIndexnt?(ne=this.anchorRowIndex,ue=this.rangeRowIndex):IeZi!=ai);let oi=this.dataKey?String(le.BF.resolveFieldData(zt,this.dataKey)):null;oi&&delete this.selectionKeys[oi],this.onRowUnselect.emit({originalEvent:u,data:zt,type:"row"})}}isSelected(u){return!(!u||!this.selection)&&(this.dataKey?void 0!==this.selectionKeys[le.BF.resolveFieldData(u,this.dataKey)]:Array.isArray(this.selection)?this.findIndexInSelection(u)>-1:this.equals(u,this.selection))}findIndexInSelection(u){let ne=-1;if(this.selection&&this.selection.length)for(let ue=0;uezt!=nt),this.selectionChange.emit(this.selection),this.onRowUnselect.emit({originalEvent:u.originalEvent,index:u.rowIndex,data:ne,type:"checkbox"}),Ie&&delete this.selectionKeys[Ie]}else{if(!this.isRowSelectable(ne,u.rowIndex))return;this._selection=this.selection?[...this.selection,ne]:[ne],this.selectionChange.emit(this.selection),this.onRowSelect.emit({originalEvent:u.originalEvent,index:u.rowIndex,data:ne,type:"checkbox"}),Ie&&(this.selectionKeys[Ie]=1)}this.tableService.onSelectionChange(),this.isStateful()&&this.saveState()}toggleRowsWithCheckbox(u,ne){if(null!==this._selectAll)this.selectAllChange.emit({originalEvent:u,checked:ne});else{const ue=this.selectionPageOnly?this.dataToRender(this.processedData):this.processedData;let Ie=this.selectionPageOnly&&this._selection?this._selection.filter(nt=>!ue.some(Tt=>this.equals(nt,Tt))):[];ne&&(Ie=this.frozenValue?[...Ie,...this.frozenValue,...ue]:[...Ie,...ue],Ie=this.rowSelectable?Ie.filter((nt,Tt)=>this.rowSelectable({data:nt,index:Tt})):Ie),this._selection=Ie,this.preventSelectionSetterPropagation=!0,this.updateSelectionKeys(),this.selectionChange.emit(this._selection),this.tableService.onSelectionChange(),this.onHeaderCheckboxToggle.emit({originalEvent:u,checked:ne}),this.isStateful()&&this.saveState()}}equals(u,ne){return"equals"===this.compareSelectionBy?u===ne:le.BF.equals(u,ne,this.dataKey)}filter(u,ne,ue){this.filterTimeout&&clearTimeout(this.filterTimeout),this.isFilterBlank(u)?this.filters[ne]&&delete this.filters[ne]:this.filters[ne]={value:u,matchMode:ue},this.filterTimeout=setTimeout(()=>{this._filter(),this.filterTimeout=null},this.filterDelay),this.anchorRowIndex=null}filterGlobal(u,ne){this.filter(u,"global",ne)}isFilterBlank(u){return null==u||!!("string"==typeof u&&0==u.trim().length||Array.isArray(u)&&0==u.length)}_filter(){if(this.restoringFilter||(this.first=0,this.firstChange.emit(this.first)),this.lazy)this.onLazyLoad.emit(this.createLazyLoadMetadata());else{if(!this.value)return;if(this.hasFilter()){let u;if(this.filters.global){if(!this.columns&&!this.globalFilterFields)throw new Error("Global filtering requires dynamic columns or globalFilterFields to be defined.");u=this.globalFilterFields||this.columns}this.filteredValue=[];for(let ne=0;nethis.cd.detectChanges()}}clear(){this._sortField=null,this._sortOrder=this.defaultSortOrder,this._multiSortMeta=null,this.tableService.onSort(null),this.clearFilterValues(),this.filteredValue=null,this.first=0,this.firstChange.emit(this.first),this.lazy?this.onLazyLoad.emit(this.createLazyLoadMetadata()):this.totalRecords=this._value?this._value.length:0}clearFilterValues(){for(const[,u]of Object.entries(this.filters))if(Array.isArray(u))for(let ne of u)ne.value=null;else u&&(u.value=null)}reset(){this.clear()}getExportHeader(u){return u[this.exportHeader]||u.header||u.field}exportCSV(u){let ne,ue="",Ie=this.columns;u&&u.selectionOnly?ne=this.selection||[]:u&&u.allValues?ne=this.value||[]:(ne=this.filteredValue||this.value,this.frozenValue&&(ne=ne?[...this.frozenValue,...ne]:this.frozenValue));const nt=Ie.filter(oi=>!1!==oi.exportable&&oi.field);ue+=nt.map(oi=>'"'+this.getExportHeader(oi)+'"').join(this.csvSeparator);const Tt=ne.map(oi=>nt.map(Li=>{let Zi=le.BF.resolveFieldData(oi,Li.field);return Zi=null!=Zi?this.exportFunction?this.exportFunction({data:Zi,field:Li.field}):String(Zi).replace(/"/g,'""'):"",'"'+Zi+'"'}).join(this.csvSeparator)).join("\n");Tt.length&&(ue+="\n"+Tt);let zt=new Blob([new Uint8Array([239,187,191]),ue],{type:"text/csv;charset=utf-8;"}),ai=this.renderer.createElement("a");ai.style.display="none",this.renderer.appendChild(this.document.body,ai),void 0!==ai.download?(ai.setAttribute("href",URL.createObjectURL(zt)),ai.setAttribute("download",this.exportFilename+".csv"),ai.click()):(ue="data:text/csv;charset=utf-8,"+ue,this.window.open(encodeURI(ue))),this.renderer.removeChild(this.document.body,ai)}onLazyItemLoad(u){this.onLazyLoad.emit({...this.createLazyLoadMetadata(),...u,rows:u.last-u.first})}resetScrollTop(){this.virtualScroll?this.scrollToVirtualIndex(0):this.scrollTo({top:0})}scrollToVirtualIndex(u){this.scroller&&this.scroller.scrollToIndex(u)}scrollTo(u){this.virtualScroll?this.scroller?.scrollTo(u):this.wrapperViewChild&&this.wrapperViewChild.nativeElement&&(this.wrapperViewChild.nativeElement.scrollTo?this.wrapperViewChild.nativeElement.scrollTo(u):(this.wrapperViewChild.nativeElement.scrollLeft=u.left,this.wrapperViewChild.nativeElement.scrollTop=u.top))}updateEditingCell(u,ne,ue,Ie){this.editingCell=u,this.editingCellData=ne,this.editingCellField=ue,this.editingCellRowIndex=Ie,this.bindDocumentEditListener()}isEditingCellValid(){return this.editingCell&&0===re.D.find(this.editingCell,".ng-invalid.ng-dirty").length}bindDocumentEditListener(){this.documentEditListener||(this.documentEditListener=this.renderer.listen(this.document,"click",u=>{this.editingCell&&!this.selfClick&&this.isEditingCellValid()&&(re.D.removeClass(this.editingCell,"p-cell-editing"),this.editingCell=null,this.onEditComplete.emit({field:this.editingCellField,data:this.editingCellData,originalEvent:u,index:this.editingCellRowIndex}),this.editingCellField=null,this.editingCellData=null,this.editingCellRowIndex=null,this.unbindDocumentEditListener(),this.cd.markForCheck(),this.overlaySubscription&&this.overlaySubscription.unsubscribe()),this.selfClick=!1}))}unbindDocumentEditListener(){this.documentEditListener&&(this.documentEditListener(),this.documentEditListener=null)}initRowEdit(u){let ne=String(le.BF.resolveFieldData(u,this.dataKey));this.editingRowKeys[ne]=!0}saveRowEdit(u,ne){if(0===re.D.find(ne,".ng-invalid.ng-dirty").length){let ue=String(le.BF.resolveFieldData(u,this.dataKey));delete this.editingRowKeys[ue]}}cancelRowEdit(u){let ne=String(le.BF.resolveFieldData(u,this.dataKey));delete this.editingRowKeys[ne]}toggleRow(u,ne){if(!this.dataKey)throw new Error("dataKey must be defined to use row expansion");let ue=String(le.BF.resolveFieldData(u,this.dataKey));null!=this.expandedRowKeys[ue]?(delete this.expandedRowKeys[ue],this.onRowCollapse.emit({originalEvent:ne,data:u})):("single"===this.rowExpandMode&&(this.expandedRowKeys={}),this.expandedRowKeys[ue]=!0,this.onRowExpand.emit({originalEvent:ne,data:u})),ne&&ne.preventDefault(),this.isStateful()&&this.saveState()}isRowExpanded(u){return!0===this.expandedRowKeys[String(le.BF.resolveFieldData(u,this.dataKey))]}isRowEditing(u){return!0===this.editingRowKeys[String(le.BF.resolveFieldData(u,this.dataKey))]}isSingleSelectionMode(){return"single"===this.selectionMode}isMultipleSelectionMode(){return"multiple"===this.selectionMode}onColumnResizeBegin(u){let ne=re.D.getOffset(this.containerViewChild?.nativeElement).left;this.resizeColumnElement=u.target.parentElement,this.columnResizing=!0,this.lastResizerHelperX=u.pageX-ne+this.containerViewChild?.nativeElement.scrollLeft,this.onColumnResize(u),u.preventDefault()}onColumnResize(u){let ne=re.D.getOffset(this.containerViewChild?.nativeElement).left;re.D.addClass(this.containerViewChild?.nativeElement,"p-unselectable-text"),this.resizeHelperViewChild.nativeElement.style.height=this.containerViewChild?.nativeElement.offsetHeight+"px",this.resizeHelperViewChild.nativeElement.style.top="0px",this.resizeHelperViewChild.nativeElement.style.left=u.pageX-ne+this.containerViewChild?.nativeElement.scrollLeft+"px",this.resizeHelperViewChild.nativeElement.style.display="block"}onColumnResizeEnd(){let u=this.resizeHelperViewChild?.nativeElement.offsetLeft-this.lastResizerHelperX,ue=this.resizeColumnElement.offsetWidth+u;if(ue>=(this.resizeColumnElement.style.minWidth.replace(/[^\d.]/g,"")||15)){if("fit"===this.columnResizeMode){let Tt=this.resizeColumnElement.nextElementSibling.offsetWidth-u;ue>15&&Tt>15&&this.resizeTableCells(ue,Tt)}else"expand"===this.columnResizeMode&&(this._initialColWidths=this._totalTableWidth(),this.setResizeTableWidth(this.tableViewChild?.nativeElement.offsetWidth+u+"px"),this.resizeTableCells(ue,null));this.onColResize.emit({element:this.resizeColumnElement,delta:u}),this.isStateful()&&this.saveState()}this.resizeHelperViewChild.nativeElement.style.display="none",re.D.removeClass(this.containerViewChild?.nativeElement,"p-unselectable-text")}_totalTableWidth(){let u=[];const ne=re.D.findSingle(this.containerViewChild.nativeElement,".p-datatable-thead");return re.D.find(ne,"tr > th").forEach(Ie=>u.push(re.D.getOuterWidth(Ie))),u}onColumnDragStart(u,ne){this.reorderIconWidth=re.D.getHiddenElementOuterWidth(this.reorderIndicatorUpViewChild?.nativeElement),this.reorderIconHeight=re.D.getHiddenElementOuterHeight(this.reorderIndicatorDownViewChild?.nativeElement),this.draggedColumn=ne,u.dataTransfer.setData("text","b")}onColumnDragEnter(u,ne){if(this.reorderableColumns&&this.draggedColumn&&ne){u.preventDefault();let ue=re.D.getOffset(this.containerViewChild?.nativeElement),Ie=re.D.getOffset(ne);if(this.draggedColumn!=ne){re.D.indexWithinGroup(this.draggedColumn,"preorderablecolumn"),re.D.indexWithinGroup(ne,"preorderablecolumn");let zt=Ie.left-ue.left,oi=Ie.left+ne.offsetWidth/2;this.reorderIndicatorUpViewChild.nativeElement.style.top=Ie.top-ue.top-(this.reorderIconHeight-1)+"px",this.reorderIndicatorDownViewChild.nativeElement.style.top=Ie.top-ue.top+ne.offsetHeight+"px",u.pageX>oi?(this.reorderIndicatorUpViewChild.nativeElement.style.left=zt+ne.offsetWidth-Math.ceil(this.reorderIconWidth/2)+"px",this.reorderIndicatorDownViewChild.nativeElement.style.left=zt+ne.offsetWidth-Math.ceil(this.reorderIconWidth/2)+"px",this.dropPosition=1):(this.reorderIndicatorUpViewChild.nativeElement.style.left=zt-Math.ceil(this.reorderIconWidth/2)+"px",this.reorderIndicatorDownViewChild.nativeElement.style.left=zt-Math.ceil(this.reorderIconWidth/2)+"px",this.dropPosition=-1),this.reorderIndicatorUpViewChild.nativeElement.style.display="block",this.reorderIndicatorDownViewChild.nativeElement.style.display="block"}else u.dataTransfer.dropEffect="none"}}onColumnDragLeave(u){this.reorderableColumns&&this.draggedColumn&&u.preventDefault()}onColumnDrop(u,ne){if(u.preventDefault(),this.draggedColumn){let ue=re.D.indexWithinGroup(this.draggedColumn,"preorderablecolumn"),Ie=re.D.indexWithinGroup(ne,"preorderablecolumn"),nt=ue!=Ie;if(nt&&(Ie-ue==1&&-1===this.dropPosition||ue-Ie==1&&1===this.dropPosition)&&(nt=!1),nt&&Ieue&&-1===this.dropPosition&&(Ie-=1),nt&&(le.BF.reorderArray(this.columns,ue,Ie),this.onColReorder.emit({dragIndex:ue,dropIndex:Ie,columns:this.columns}),this.isStateful()&&this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.saveState()})})),this.resizableColumns&&this.resizeColumnElement){let Tt="expand"===this.columnResizeMode?this._initialColWidths:this._totalTableWidth();le.BF.reorderArray(Tt,ue+1,Ie+1),this.updateStyleElement(Tt,ue,null,null)}this.reorderIndicatorUpViewChild.nativeElement.style.display="none",this.reorderIndicatorDownViewChild.nativeElement.style.display="none",this.draggedColumn.draggable=!1,this.draggedColumn=null,this.dropPosition=null}}resizeTableCells(u,ne){let ue=re.D.index(this.resizeColumnElement),Ie="expand"===this.columnResizeMode?this._initialColWidths:this._totalTableWidth();this.updateStyleElement(Ie,ue,u,ne)}updateStyleElement(u,ne,ue,Ie){this.destroyStyleElement(),this.createStyleElement();let nt="";u.forEach((Tt,zt)=>{let ai=zt===ne?ue:Ie&&zt===ne+1?Ie:Tt;nt+=`\n #${this.id}-table > .p-datatable-thead > tr > th:nth-child(${zt+1}),\n #${this.id}-table > .p-datatable-tbody > tr > td:nth-child(${zt+1}),\n #${this.id}-table > .p-datatable-tfoot > tr > td:nth-child(${zt+1}) {\n width: ${ai}px !important; max-width: ${ai}px !important;\n }\n `}),this.renderer.setProperty(this.styleElement,"innerHTML",nt)}onRowDragStart(u,ne){this.rowDragging=!0,this.draggedRowIndex=ne,u.dataTransfer.setData("text","b")}onRowDragOver(u,ne,ue){if(this.rowDragging&&this.draggedRowIndex!==ne){let Ie=re.D.getOffset(ue).top,nt=u.pageY,Tt=Ie+re.D.getOuterHeight(ue)/2,zt=ue.previousElementSibling;ntthis.droppedRowIndex?this.droppedRowIndex:0===this.droppedRowIndex?0:this.droppedRowIndex-1;le.BF.reorderArray(this.value,this.draggedRowIndex,ue),this.virtualScroll&&(this._value=[...this._value]),this.onRowReorder.emit({dragIndex:this.draggedRowIndex,dropIndex:ue})}this.onRowDragLeave(u,ne),this.onRowDragEnd(u)}isEmpty(){let u=this.filteredValue||this.value;return null==u||0==u.length}getBlockableElement(){return this.el.nativeElement.children[0]}getStorage(){if(!(0,M.UE)(this.platformId))throw new Error("Browser storage is not available in the server side.");switch(this.stateStorage){case"local":return window.localStorage;case"session":return window.sessionStorage;default:throw new Error(this.stateStorage+' is not a valid value for the state storage, supported values are "local" and "session".')}}isStateful(){return null!=this.stateKey}saveState(){const u=this.getStorage();let ne={};this.paginator&&(ne.first=this.first,ne.rows=this.rows),this.sortField&&(ne.sortField=this.sortField,ne.sortOrder=this.sortOrder),this.multiSortMeta&&(ne.multiSortMeta=this.multiSortMeta),this.hasFilter()&&(ne.filters=this.filters),this.resizableColumns&&this.saveColumnWidths(ne),this.reorderableColumns&&this.saveColumnOrder(ne),this.selection&&(ne.selection=this.selection),Object.keys(this.expandedRowKeys).length&&(ne.expandedRowKeys=this.expandedRowKeys),u.setItem(this.stateKey,JSON.stringify(ne)),this.onStateSave.emit(ne)}clearState(){const u=this.getStorage();this.stateKey&&u.removeItem(this.stateKey)}restoreState(){const ne=this.getStorage().getItem(this.stateKey),ue=/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/;if(ne){let nt=JSON.parse(ne,function(nt,Tt){return"string"==typeof Tt&&ue.test(Tt)?new Date(Tt):Tt});this.paginator&&(void 0!==this.first&&(this.first=nt.first,this.firstChange.emit(this.first)),void 0!==this.rows&&(this.rows=nt.rows,this.rowsChange.emit(this.rows))),nt.sortField&&(this.restoringSort=!0,this._sortField=nt.sortField,this._sortOrder=nt.sortOrder),nt.multiSortMeta&&(this.restoringSort=!0,this._multiSortMeta=nt.multiSortMeta),nt.filters&&(this.restoringFilter=!0,this.filters=nt.filters),this.resizableColumns&&(this.columnWidthsState=nt.columnWidths,this.tableWidthState=nt.tableWidth),this.reorderableColumns&&this.restoreColumnOrder(),nt.expandedRowKeys&&(this.expandedRowKeys=nt.expandedRowKeys),nt.selection&&Promise.resolve(null).then(()=>this.selectionChange.emit(nt.selection)),this.stateRestored=!0,this.onStateRestore.emit(nt)}}saveColumnWidths(u){let ne=[];re.D.find(this.containerViewChild?.nativeElement,".p-datatable-thead > tr > th").forEach(Ie=>ne.push(re.D.getOuterWidth(Ie))),u.columnWidths=ne.join(","),"expand"===this.columnResizeMode&&(u.tableWidth=re.D.getOuterWidth(this.tableViewChild?.nativeElement))}setResizeTableWidth(u){this.tableViewChild.nativeElement.style.width=u,this.tableViewChild.nativeElement.style.minWidth=u}restoreColumnWidths(){if(this.columnWidthsState){let u=this.columnWidthsState.split(",");if("expand"===this.columnResizeMode&&this.tableWidthState&&this.setResizeTableWidth(this.tableWidthState+"px"),le.BF.isNotEmpty(u)){this.createStyleElement();let ne="";u.forEach((ue,Ie)=>{ne+=`\n #${this.id}-table > .p-datatable-thead > tr > th:nth-child(${Ie+1}),\n #${this.id}-table > .p-datatable-tbody > tr > td:nth-child(${Ie+1}),\n #${this.id}-table > .p-datatable-tfoot > tr > td:nth-child(${Ie+1}) {\n width: ${ue}px !important; max-width: ${ue}px !important\n }\n `}),this.styleElement.innerHTML=ne}}}saveColumnOrder(u){if(this.columns){let ne=[];this.columns.map(ue=>{ne.push(ue.field||ue.key)}),u.columnOrder=ne}}restoreColumnOrder(){const ne=this.getStorage().getItem(this.stateKey);if(ne){let Ie=JSON.parse(ne).columnOrder;if(Ie){let nt=[];Ie.map(Tt=>{let zt=this.findColumnByKey(Tt);zt&&nt.push(zt)}),this.columnOrderStateRestored=!0,this.columns=nt}}}findColumnByKey(u){if(!this.columns)return null;for(let ne of this.columns)if(ne.key===u||ne.field===u)return ne}createStyleElement(){this.styleElement=this.renderer.createElement("style"),this.styleElement.type="text/css",this.renderer.appendChild(this.document.head,this.styleElement)}getGroupRowsMeta(){return{field:this.groupRowsBy,order:this.groupRowsByOrder}}createResponsiveStyle(){(0,M.UE)(this.platformId)&&!this.responsiveStyleElement&&(this.responsiveStyleElement=this.renderer.createElement("style"),this.responsiveStyleElement.type="text/css",this.renderer.appendChild(this.document.head,this.responsiveStyleElement),this.renderer.setProperty(this.responsiveStyleElement,"innerHTML",`\n @media screen and (max-width: ${this.breakpoint}) {\n #${this.id}-table > .p-datatable-thead > tr > th,\n #${this.id}-table > .p-datatable-tfoot > tr > td {\n display: none !important;\n }\n\n #${this.id}-table > .p-datatable-tbody > tr > td {\n display: flex;\n width: 100% !important;\n align-items: center;\n justify-content: space-between;\n }\n\n #${this.id}-table > .p-datatable-tbody > tr > td:not(:last-child) {\n border: 0 none;\n }\n\n #${this.id}.p-datatable-gridlines > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tbody > tr > td:last-child {\n border-top: 0;\n border-right: 0;\n border-left: 0;\n }\n\n #${this.id}-table > .p-datatable-tbody > tr > td > .p-column-title {\n display: block;\n }\n }\n `))}destroyResponsiveStyle(){this.responsiveStyleElement&&(this.renderer.removeChild(this.document.head,this.responsiveStyleElement),this.responsiveStyleElement=null)}destroyStyleElement(){this.styleElement&&(this.renderer.removeChild(this.document.head,this.styleElement),this.styleElement=null)}ngOnDestroy(){this.unbindDocumentEditListener(),this.editingCell=null,this.initialized=null,this.destroyStyleElement(),this.destroyResponsiveStyle()}getPaginatorStyleClasses(u){return[this.paginatorStyleClass,u].filter(ne=>!!ne).join(" ").trim()}static \u0275fac=function(ne){return new(ne||xe)(e.rXU(M.qQ),e.rXU(e.Agw),e.rXU(e.sFG),e.rXU(e.aKT),e.rXU(e.SKi),e.rXU(we),e.rXU(e.gRc),e.rXU(Pe.E),e.rXU(Pe.si),e.rXU(Pe.r1))};static \u0275cmp=e.VBU({type:xe,selectors:[["p-table"]],contentQueries:function(ne,ue,Ie){if(1&ne&&e.wni(Ie,Pe.Ei,4),2&ne){let nt;e.mGM(nt=e.lsd())&&(ue.templates=nt)}},viewQuery:function(ne,ue){if(1&ne&&(e.GBs(nd,5),e.GBs(Nf,5),e.GBs(Xa,5),e.GBs(Rd,5),e.GBs(Ff,5),e.GBs(yh,5),e.GBs(Nd,5),e.GBs(xh,5),e.GBs(_h,5)),2&ne){let Ie;e.mGM(Ie=e.lsd())&&(ue.containerViewChild=Ie.first),e.mGM(Ie=e.lsd())&&(ue.resizeHelperViewChild=Ie.first),e.mGM(Ie=e.lsd())&&(ue.reorderIndicatorUpViewChild=Ie.first),e.mGM(Ie=e.lsd())&&(ue.reorderIndicatorDownViewChild=Ie.first),e.mGM(Ie=e.lsd())&&(ue.wrapperViewChild=Ie.first),e.mGM(Ie=e.lsd())&&(ue.tableViewChild=Ie.first),e.mGM(Ie=e.lsd())&&(ue.tableHeaderViewChild=Ie.first),e.mGM(Ie=e.lsd())&&(ue.tableFooterViewChild=Ie.first),e.mGM(Ie=e.lsd())&&(ue.scroller=Ie.first)}},hostAttrs:[1,"p-element"],inputs:{frozenColumns:"frozenColumns",frozenValue:"frozenValue",style:"style",styleClass:"styleClass",tableStyle:"tableStyle",tableStyleClass:"tableStyleClass",paginator:"paginator",pageLinks:"pageLinks",rowsPerPageOptions:"rowsPerPageOptions",alwaysShowPaginator:"alwaysShowPaginator",paginatorPosition:"paginatorPosition",paginatorStyleClass:"paginatorStyleClass",paginatorDropdownAppendTo:"paginatorDropdownAppendTo",paginatorDropdownScrollHeight:"paginatorDropdownScrollHeight",currentPageReportTemplate:"currentPageReportTemplate",showCurrentPageReport:"showCurrentPageReport",showJumpToPageDropdown:"showJumpToPageDropdown",showJumpToPageInput:"showJumpToPageInput",showFirstLastIcon:"showFirstLastIcon",showPageLinks:"showPageLinks",defaultSortOrder:"defaultSortOrder",sortMode:"sortMode",resetPageOnSort:"resetPageOnSort",selectionMode:"selectionMode",selectionPageOnly:"selectionPageOnly",contextMenuSelection:"contextMenuSelection",contextMenuSelectionMode:"contextMenuSelectionMode",dataKey:"dataKey",metaKeySelection:"metaKeySelection",rowSelectable:"rowSelectable",rowTrackBy:"rowTrackBy",lazy:"lazy",lazyLoadOnInit:"lazyLoadOnInit",compareSelectionBy:"compareSelectionBy",csvSeparator:"csvSeparator",exportFilename:"exportFilename",filters:"filters",globalFilterFields:"globalFilterFields",filterDelay:"filterDelay",filterLocale:"filterLocale",expandedRowKeys:"expandedRowKeys",editingRowKeys:"editingRowKeys",rowExpandMode:"rowExpandMode",scrollable:"scrollable",scrollDirection:"scrollDirection",rowGroupMode:"rowGroupMode",scrollHeight:"scrollHeight",virtualScroll:"virtualScroll",virtualScrollItemSize:"virtualScrollItemSize",virtualScrollOptions:"virtualScrollOptions",virtualScrollDelay:"virtualScrollDelay",frozenWidth:"frozenWidth",responsive:"responsive",contextMenu:"contextMenu",resizableColumns:"resizableColumns",columnResizeMode:"columnResizeMode",reorderableColumns:"reorderableColumns",loading:"loading",loadingIcon:"loadingIcon",showLoader:"showLoader",rowHover:"rowHover",customSort:"customSort",showInitialSortBadge:"showInitialSortBadge",autoLayout:"autoLayout",exportFunction:"exportFunction",exportHeader:"exportHeader",stateKey:"stateKey",stateStorage:"stateStorage",editMode:"editMode",groupRowsBy:"groupRowsBy",groupRowsByOrder:"groupRowsByOrder",responsiveLayout:"responsiveLayout",breakpoint:"breakpoint",paginatorLocale:"paginatorLocale",value:"value",columns:"columns",first:"first",rows:"rows",totalRecords:"totalRecords",sortField:"sortField",sortOrder:"sortOrder",multiSortMeta:"multiSortMeta",selection:"selection",selectAll:"selectAll",virtualRowHeight:"virtualRowHeight"},outputs:{contextMenuSelectionChange:"contextMenuSelectionChange",selectAllChange:"selectAllChange",selectionChange:"selectionChange",onRowSelect:"onRowSelect",onRowUnselect:"onRowUnselect",onPage:"onPage",onSort:"onSort",onFilter:"onFilter",onLazyLoad:"onLazyLoad",onRowExpand:"onRowExpand",onRowCollapse:"onRowCollapse",onContextMenuSelect:"onContextMenuSelect",onColResize:"onColResize",onColReorder:"onColReorder",onRowReorder:"onRowReorder",onEditInit:"onEditInit",onEditComplete:"onEditComplete",onEditCancel:"onEditCancel",onHeaderCheckboxToggle:"onHeaderCheckboxToggle",sortFunction:"sortFunction",firstChange:"firstChange",rowsChange:"rowsChange",onStateSave:"onStateSave",onStateRestore:"onStateRestore"},features:[e.Jv_([we]),e.OA$],decls:16,vars:22,consts:[["container",""],["wrapper",""],["buildInTable",""],["scroller",""],["table",""],["thead",""],["tfoot",""],["resizeHelper",""],["reorderIndicatorUp",""],["reorderIndicatorDown",""],[3,"ngStyle","ngClass"],["class","p-datatable-loading-overlay p-component-overlay",4,"ngIf"],["class","p-datatable-header",4,"ngIf"],[3,"rows","first","totalRecords","pageLinkSize","alwaysShow","rowsPerPageOptions","templateLeft","templateRight","dropdownAppendTo","dropdownScrollHeight","currentPageReportTemplate","showFirstLastIcon","dropdownItemTemplate","showCurrentPageReport","showJumpToPageDropdown","showJumpToPageInput","showPageLinks","styleClass","locale","onPageChange",4,"ngIf"],[1,"p-datatable-wrapper",3,"ngStyle"],[3,"items","columns","style","scrollHeight","itemSize","step","delay","inline","lazy","loaderDisabled","showSpacer","showLoader","options","autoSize","onLazyLoad",4,"ngIf"],[4,"ngIf"],["class","p-datatable-footer",4,"ngIf"],["class","p-column-resizer-helper","style","display:none",4,"ngIf"],["class","p-datatable-reorder-indicator-up","style","display: none;",4,"ngIf"],["class","p-datatable-reorder-indicator-down","style","display: none;",4,"ngIf"],[1,"p-datatable-loading-overlay","p-component-overlay"],[3,"class",4,"ngIf"],[3,"spin","styleClass",4,"ngIf"],["class","p-datatable-loading-icon",4,"ngIf"],[3,"spin","styleClass"],[1,"p-datatable-loading-icon"],[4,"ngTemplateOutlet"],[1,"p-datatable-header"],[3,"onPageChange","rows","first","totalRecords","pageLinkSize","alwaysShow","rowsPerPageOptions","templateLeft","templateRight","dropdownAppendTo","dropdownScrollHeight","currentPageReportTemplate","showFirstLastIcon","dropdownItemTemplate","showCurrentPageReport","showJumpToPageDropdown","showJumpToPageInput","showPageLinks","styleClass","locale"],["pTemplate","dropdownicon"],["pTemplate","firstpagelinkicon"],["pTemplate","previouspagelinkicon"],["pTemplate","lastpagelinkicon"],["pTemplate","nextpagelinkicon"],[3,"onLazyLoad","items","columns","scrollHeight","itemSize","step","delay","inline","lazy","loaderDisabled","showSpacer","showLoader","options","autoSize"],["pTemplate","content"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["role","table",3,"ngClass"],["role","rowgroup",1,"p-datatable-thead"],["role","rowgroup","class","p-datatable-tbody p-datatable-frozen-tbody",3,"value","frozenRows","pTableBody","pTableBodyTemplate","frozen",4,"ngIf"],["role","rowgroup",1,"p-datatable-tbody",3,"ngClass","value","pTableBody","pTableBodyTemplate","scrollerOptions"],["role","rowgroup","class","p-datatable-scroller-spacer",3,"style",4,"ngIf"],["role","rowgroup","class","p-datatable-tfoot",4,"ngIf"],["role","rowgroup",1,"p-datatable-tbody","p-datatable-frozen-tbody",3,"value","frozenRows","pTableBody","pTableBodyTemplate","frozen"],["role","rowgroup",1,"p-datatable-scroller-spacer"],["role","rowgroup",1,"p-datatable-tfoot"],[1,"p-datatable-footer"],[1,"p-column-resizer-helper",2,"display","none"],[1,"p-datatable-reorder-indicator-up",2,"display","none"],[1,"p-datatable-reorder-indicator-down",2,"display","none"]],template:function(ne,ue){1&ne&&(e.j41(0,"div",10,0),e.DNE(2,Qu,3,2,"div",11)(3,rd,2,1,"div",12)(4,tp,6,24,"p-paginator",13),e.j41(5,"div",14,1),e.DNE(7,zf,3,17,"p-scroller",15)(8,Vd,2,7,"ng-container",16)(9,Sh,10,28,"ng-template",null,2,e.C5r),e.k0s(),e.DNE(11,kh,6,24,"p-paginator",13)(12,Go,2,1,"div",17)(13,Mh,2,0,"div",18)(14,Dh,4,2,"span",19)(15,bc,4,2,"span",20),e.k0s()),2&ne&&(e.HbH(ue.styleClass),e.Y8G("ngStyle",ue.style)("ngClass",e.sMw(16,ro,ue.rowHover||ue.selectionMode,ue.scrollable,ue.scrollable&&"flex"===ue.scrollHeight)),e.BMQ("id",ue.id),e.R7$(2),e.Y8G("ngIf",ue.loading&&ue.showLoader),e.R7$(),e.Y8G("ngIf",ue.captionTemplate),e.R7$(),e.Y8G("ngIf",ue.paginator&&("top"===ue.paginatorPosition||"both"==ue.paginatorPosition)),e.R7$(),e.Y8G("ngStyle",e.eq3(20,Ms,ue.virtualScroll?"":ue.scrollHeight)),e.R7$(2),e.Y8G("ngIf",ue.virtualScroll),e.R7$(),e.Y8G("ngIf",!ue.virtualScroll),e.R7$(3),e.Y8G("ngIf",ue.paginator&&("bottom"===ue.paginatorPosition||"both"==ue.paginatorPosition)),e.R7$(),e.Y8G("ngIf",ue.summaryTemplate),e.R7$(),e.Y8G("ngIf",ue.resizableColumns),e.R7$(),e.Y8G("ngIf",ue.reorderableColumns),e.R7$(),e.Y8G("ngIf",ue.reorderableColumns))},dependencies:()=>[M.YU,M.bT,M.T3,M.B3,rt,Pe.Ei,hl,Pc,Bl,qr.N,it],styles:["@layer primeng{.p-datatable{position:relative}.p-datatable>.p-datatable-wrapper{overflow:auto}.p-datatable-table{border-spacing:0px;width:100%}.p-datatable .p-sortable-column{cursor:pointer;-webkit-user-select:none;user-select:none}.p-datatable .p-sortable-column .p-column-title,.p-datatable .p-sortable-column .p-sortable-column-icon,.p-datatable .p-sortable-column .p-sortable-column-badge{vertical-align:middle}.p-datatable .p-sortable-column .p-icon-wrapper{display:inline}.p-datatable .p-sortable-column .p-sortable-column-badge{display:inline-flex;align-items:center;justify-content:center}.p-datatable-hoverable-rows .p-selectable-row{cursor:pointer}.p-datatable-scrollable>.p-datatable-wrapper{position:relative}.p-datatable-scrollable-table>.p-datatable-thead{position:sticky;top:0;z-index:2}.p-datatable-scrollable-table>.p-datatable-frozen-tbody{position:sticky;z-index:1}.p-datatable-scrollable-table>.p-datatable-tfoot{position:sticky;bottom:0;z-index:1}.p-datatable-scrollable .p-frozen-column{position:sticky;background:inherit;z-index:1}.p-datatable-scrollable th.p-frozen-column{z-index:1}.p-datatable-flex-scrollable{display:flex;flex-direction:column;height:100%}.p-datatable-flex-scrollable>.p-datatable-wrapper{display:flex;flex-direction:column;flex:1;height:100%}.p-datatable-scrollable-table>.p-datatable-tbody>.p-rowgroup-header{position:sticky;z-index:2}.p-datatable-resizable-table>.p-datatable-thead>tr>th,.p-datatable-resizable-table>.p-datatable-tfoot>tr>td,.p-datatable-resizable-table>.p-datatable-tbody>tr>td{overflow:hidden;white-space:nowrap}.p-datatable-resizable-table>.p-datatable-thead>tr>th.p-resizable-column:not(.p-frozen-column){background-clip:padding-box;position:relative}.p-datatable-resizable-table-fit>.p-datatable-thead>tr>th.p-resizable-column:last-child .p-column-resizer{display:none}.p-datatable .p-column-resizer{display:block;position:absolute!important;top:0;right:0;margin:0;width:.5rem;height:100%;padding:0;cursor:col-resize;border:1px solid transparent}.p-datatable .p-column-resizer-helper{width:1px;position:absolute;z-index:10;display:none}.p-datatable .p-row-editor-init,.p-datatable .p-row-editor-save,.p-datatable .p-row-editor-cancel,.p-datatable .p-row-toggler{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.p-datatable-reorder-indicator-up,.p-datatable-reorder-indicator-down{position:absolute}.p-datatable-reorderablerow-handle,[pReorderableColumn]{cursor:move}.p-datatable .p-datatable-loading-overlay{position:absolute;display:flex;align-items:center;justify-content:center;z-index:3}.p-column-filter-row{display:flex;align-items:center;width:100%}.p-column-filter-menu{display:inline-flex}.p-column-filter-row p-columnfilterformelement{flex:1 1 auto;width:1%}.p-column-filter-menu-button,.p-column-filter-clear-button{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;text-decoration:none;overflow:hidden;position:relative}.p-column-filter-overlay{position:absolute;top:0;left:0}.p-column-filter-row-items{margin:0;padding:0;list-style:none}.p-column-filter-row-item{cursor:pointer}.p-column-filter-add-button,.p-column-filter-remove-button{justify-content:center}.p-column-filter-add-button .p-button-label,.p-column-filter-remove-button .p-button-label{flex-grow:0}.p-column-filter-buttonbar{display:flex;align-items:center;justify-content:space-between}.p-column-filter-buttonbar .p-button{width:auto}.p-datatable-tbody>tr>td>.p-column-title{display:none}.p-datatable-scroller-spacer{display:flex}.p-datatable .p-scroller .p-scroller-loading{transform:none!important;min-height:0;position:sticky;top:0;left:0}}\n"],encapsulation:2})}return xe})(),it=(()=>{class xe{dt;tableService;cd;el;columns;template;get value(){return this._value}set value(u){this._value=u,this.frozenRows&&this.updateFrozenRowStickyPosition(),this.dt.scrollable&&"subheader"===this.dt.rowGroupMode&&this.updateFrozenRowGroupHeaderStickyPosition()}frozen;frozenRows;scrollerOptions;subscription;_value;ngAfterViewInit(){this.frozenRows&&this.updateFrozenRowStickyPosition(),this.dt.scrollable&&"subheader"===this.dt.rowGroupMode&&this.updateFrozenRowGroupHeaderStickyPosition()}constructor(u,ne,ue,Ie){this.dt=u,this.tableService=ne,this.cd=ue,this.el=Ie,this.subscription=this.dt.tableService.valueSource$.subscribe(()=>{this.dt.virtualScroll&&this.cd.detectChanges()})}shouldRenderRowGroupHeader(u,ne,ue){let Ie=le.BF.resolveFieldData(ne,this.dt.groupRowsBy),nt=u[ue-1];return!nt||Ie!==le.BF.resolveFieldData(nt,this.dt.groupRowsBy)}shouldRenderRowGroupFooter(u,ne,ue){let Ie=le.BF.resolveFieldData(ne,this.dt.groupRowsBy),nt=u[ue+1];return!nt||Ie!==le.BF.resolveFieldData(nt,this.dt.groupRowsBy)}shouldRenderRowspan(u,ne,ue){let Ie=le.BF.resolveFieldData(ne,this.dt.groupRowsBy),nt=u[ue-1];return!nt||Ie!==le.BF.resolveFieldData(nt,this.dt.groupRowsBy)}calculateRowGroupSize(u,ne,ue){let Ie=le.BF.resolveFieldData(ne,this.dt.groupRowsBy),nt=Ie,Tt=0;for(;Ie===nt;){Tt++;let zt=u[++ue];if(!zt)break;nt=le.BF.resolveFieldData(zt,this.dt.groupRowsBy)}return 1===Tt?null:Tt}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}updateFrozenRowStickyPosition(){this.el.nativeElement.style.top=re.D.getOuterHeight(this.el.nativeElement.previousElementSibling)+"px"}updateFrozenRowGroupHeaderStickyPosition(){if(this.el.nativeElement.previousElementSibling){let u=re.D.getOuterHeight(this.el.nativeElement.previousElementSibling);this.dt.rowGroupHeaderStyleObject.top=u+"px"}}getScrollerOption(u,ne){return this.dt.virtualScroll&&(ne=ne||this.scrollerOptions)?ne[u]:null}getRowIndex(u){const ne=this.dt.paginator?this.dt.first+u:u,ue=this.getScrollerOption("getItemOptions");return ue?ue(ne).index:ne}static \u0275fac=function(ne){return new(ne||xe)(e.rXU(Ne),e.rXU(we),e.rXU(e.gRc),e.rXU(e.aKT))};static \u0275cmp=e.VBU({type:xe,selectors:[["","pTableBody",""]],hostAttrs:[1,"p-element"],inputs:{columns:[e.Mj6.None,"pTableBody","columns"],template:[e.Mj6.None,"pTableBodyTemplate","template"],value:"value",frozen:"frozen",frozenRows:"frozenRows",scrollerOptions:"scrollerOptions"},attrs:$c,decls:5,vars:5,consts:[[4,"ngIf"],["ngFor","",3,"ngForOf","ngForTrackBy"],["role","row",4,"ngIf"],["role","row"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(ne,ue){1&ne&&e.DNE(0,$l,2,2,"ng-container",0)(1,Zd,2,2,"ng-container",0)(2,qc,2,2,"ng-container",0)(3,Ho,2,5,"ng-container",0)(4,cp,2,5,"ng-container",0),2&ne&&(e.Y8G("ngIf",!ue.dt.expandedRowTemplate),e.R7$(),e.Y8G("ngIf",ue.dt.expandedRowTemplate&&!(ue.frozen&&ue.dt.frozenExpandedRowTemplate)),e.R7$(),e.Y8G("ngIf",ue.dt.frozenExpandedRowTemplate&&ue.frozen),e.R7$(),e.Y8G("ngIf",ue.dt.loading),e.R7$(),e.Y8G("ngIf",ue.dt.isEmpty()&&!ue.dt.loading))},dependencies:[M.Sq,M.bT,M.T3],encapsulation:2})}return xe})(),Ut=(()=>{class xe{dt;field;pSortableColumnDisabled;sorted;sortOrder;subscription;constructor(u){this.dt=u,this.isEnabled()&&(this.subscription=this.dt.tableService.sortSource$.subscribe(ne=>{this.updateSortState()}))}ngOnInit(){this.isEnabled()&&this.updateSortState()}updateSortState(){this.sorted=this.dt.isSorted(this.field),this.sortOrder=this.sorted?1===this.dt.sortOrder?"ascending":"descending":"none"}onClick(u){this.isEnabled()&&!this.isFilterElement(u.target)&&(this.updateSortState(),this.dt.sort({originalEvent:u,field:this.field}),re.D.clearSelection())}onEnterKey(u){this.onClick(u),u.preventDefault()}isEnabled(){return!0!==this.pSortableColumnDisabled}isFilterElement(u){return this.isFilterElementIconOrButton(u)||this.isFilterElementIconOrButton(u?.parentElement?.parentElement)}isFilterElementIconOrButton(u){return re.D.hasClass(u,"pi-filter-icon")||re.D.hasClass(u,"p-column-filter-menu-button")}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}static \u0275fac=function(ne){return new(ne||xe)(e.rXU(Ne))};static \u0275dir=e.FsC({type:xe,selectors:[["","pSortableColumn",""]],hostAttrs:[1,"p-element"],hostVars:7,hostBindings:function(ne,ue){1&ne&&e.bIt("click",function(nt){return ue.onClick(nt)})("keydown.space",function(nt){return ue.onEnterKey(nt)})("keydown.enter",function(nt){return ue.onEnterKey(nt)}),2&ne&&(e.BMQ("tabindex",ue.isEnabled()?"0":null)("role","columnheader")("aria-sort",ue.sortOrder),e.AVh("p-sortable-column",ue.isEnabled())("p-highlight",ue.sorted))},inputs:{field:[e.Mj6.None,"pSortableColumn","field"],pSortableColumnDisabled:"pSortableColumnDisabled"}})}return xe})(),ei=(()=>{class xe{dt;cd;field;subscription;sortOrder;constructor(u,ne){this.dt=u,this.cd=ne,this.subscription=this.dt.tableService.sortSource$.subscribe(ue=>{this.updateSortState()})}ngOnInit(){this.updateSortState()}onClick(u){u.preventDefault()}updateSortState(){if("single"===this.dt.sortMode)this.sortOrder=this.dt.isSorted(this.field)?this.dt.sortOrder:0;else if("multiple"===this.dt.sortMode){let u=this.dt.getSortMeta(this.field);this.sortOrder=u?u.order:0}this.cd.markForCheck()}getMultiSortMetaIndex(){let u=this.dt._multiSortMeta,ne=-1;if(u&&"multiple"===this.dt.sortMode&&this.dt.showInitialSortBadge&&u.length>1)for(let ue=0;ue-1?u:u+1}isMultiSorted(){return"multiple"===this.dt.sortMode&&this.getMultiSortMetaIndex()>-1}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}static \u0275fac=function(ne){return new(ne||xe)(e.rXU(Ne),e.rXU(e.gRc))};static \u0275cmp=e.VBU({type:xe,selectors:[["p-sortIcon"]],hostAttrs:[1,"p-element"],inputs:{field:"field"},decls:3,vars:3,consts:[[4,"ngIf"],["class","p-sortable-column-icon",4,"ngIf"],["class","p-sortable-column-badge",4,"ngIf"],[3,"styleClass",4,"ngIf"],[3,"styleClass"],[1,"p-sortable-column-icon"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"p-sortable-column-badge"]],template:function(ne,ue){1&ne&&e.DNE(0,lr,4,3,"ng-container",0)(1,Nh,2,4,"span",1)(2,Qd,2,1,"span",2),2&ne&&(e.Y8G("ngIf",!ue.dt.sortIconTemplate),e.R7$(),e.Y8G("ngIf",ue.dt.sortIconTemplate),e.R7$(),e.Y8G("ngIf",ue.isMultiSorted()))},dependencies:()=>[M.bT,M.T3,Fs,ta,Bs],encapsulation:2,changeDetection:0})}return xe})(),Ai=(()=>{class xe{dt;data;pRowTogglerDisabled;constructor(u){this.dt=u}onClick(u){this.isEnabled()&&(this.dt.toggleRow(this.data,u),u.preventDefault())}isEnabled(){return!0!==this.pRowTogglerDisabled}static \u0275fac=function(ne){return new(ne||xe)(e.rXU(Ne))};static \u0275dir=e.FsC({type:xe,selectors:[["","pRowToggler",""]],hostAttrs:[1,"p-element"],hostBindings:function(ne,ue){1&ne&&e.bIt("click",function(nt){return ue.onClick(nt)})},inputs:{data:[e.Mj6.None,"pRowToggler","data"],pRowTogglerDisabled:"pRowTogglerDisabled"}})}return xe})(),Cn=(()=>{class xe{dt;el;zone;data;field;rowIndex;pEditableColumnDisabled;pFocusCellSelector;overlayEventListener;constructor(u,ne,ue){this.dt=u,this.el=ne,this.zone=ue}ngOnChanges(u){this.el.nativeElement&&!u.data?.firstChange&&this.dt.updateEditingCell(this.el.nativeElement,this.data,this.field,this.rowIndex)}ngAfterViewInit(){this.isEnabled()&&re.D.addClass(this.el.nativeElement,"p-editable-column")}onClick(u){if(this.isEnabled())if(this.dt.selfClick=!0,this.dt.editingCell){if(this.dt.editingCell!==this.el.nativeElement){if(!this.dt.isEditingCellValid())return;this.closeEditingCell(!0,u),this.openCell()}}else this.openCell()}openCell(){this.dt.updateEditingCell(this.el.nativeElement,this.data,this.field,this.rowIndex),re.D.addClass(this.el.nativeElement,"p-cell-editing"),this.dt.onEditInit.emit({field:this.field,data:this.data,index:this.rowIndex}),this.zone.runOutsideAngular(()=>{setTimeout(()=>{let ne=re.D.findSingle(this.el.nativeElement,this.pFocusCellSelector||"input, textarea, select");ne&&ne.focus()},50)}),this.overlayEventListener=u=>{this.el&&this.el.nativeElement.contains(u.target)&&(this.dt.selfClick=!0)},this.dt.overlaySubscription=this.dt.overlayService.clickObservable.subscribe(this.overlayEventListener)}closeEditingCell(u,ne){const ue={field:this.dt.editingCellField,data:this.dt.editingCellData,originalEvent:ne,index:this.dt.editingCellRowIndex};u?this.dt.onEditComplete.emit(ue):(this.dt.onEditCancel.emit(ue),this.dt.value.forEach(Ie=>{Ie[this.dt.editingCellField]===this.data&&(Ie[this.dt.editingCellField]=this.dt.editingCellData)})),re.D.removeClass(this.dt.editingCell,"p-cell-editing"),this.dt.editingCell=null,this.dt.editingCellData=null,this.dt.editingCellField=null,this.dt.unbindDocumentEditListener(),this.dt.overlaySubscription&&this.dt.overlaySubscription.unsubscribe()}onEnterKeyDown(u){this.isEnabled()&&!u.shiftKey&&(this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u),u.preventDefault())}onTabKeyDown(u){this.isEnabled()&&(this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u),u.preventDefault())}onEscapeKeyDown(u){this.isEnabled()&&(this.dt.isEditingCellValid()&&this.closeEditingCell(!1,u),u.preventDefault())}onShiftKeyDown(u){this.isEnabled()&&(u.shiftKey?this.moveToPreviousCell(u):this.moveToNextCell(u))}onArrowDown(u){if(this.isEnabled()){let ne=this.findCell(u.target);if(ne){let ue=re.D.index(ne),Ie=this.findNextEditableColumnByIndex(ne,ue);Ie&&(this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u),re.D.invokeElementMethod(u.target,"blur"),re.D.invokeElementMethod(Ie,"click")),u.preventDefault()}}}onArrowUp(u){if(this.isEnabled()){let ne=this.findCell(u.target);if(ne){let ue=re.D.index(ne),Ie=this.findPrevEditableColumnByIndex(ne,ue);Ie&&(this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u),re.D.invokeElementMethod(u.target,"blur"),re.D.invokeElementMethod(Ie,"click")),u.preventDefault()}}}onArrowLeft(u){this.isEnabled()&&this.moveToPreviousCell(u)}onArrowRight(u){this.isEnabled()&&this.moveToNextCell(u)}findCell(u){if(u){let ne=u;for(;ne&&!re.D.hasClass(ne,"p-cell-editing");)ne=ne.parentElement;return ne}return null}moveToPreviousCell(u){let ne=this.findCell(u.target);if(ne){let ue=this.findPreviousEditableColumn(ne);ue&&(this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u),re.D.invokeElementMethod(u.target,"blur"),re.D.invokeElementMethod(ue,"click"),u.preventDefault())}}moveToNextCell(u){let ne=this.findCell(u.target);if(ne){let ue=this.findNextEditableColumn(ne);ue?(this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u),re.D.invokeElementMethod(u.target,"blur"),re.D.invokeElementMethod(ue,"click"),u.preventDefault()):this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u)}}findPreviousEditableColumn(u){let ne=u.previousElementSibling;if(!ne){let ue=u.parentElement?.previousElementSibling;ue&&(ne=ue.lastElementChild)}return ne?re.D.hasClass(ne,"p-editable-column")?ne:this.findPreviousEditableColumn(ne):null}findNextEditableColumn(u){let ne=u.nextElementSibling;if(!ne){let ue=u.parentElement?.nextElementSibling;ue&&(ne=ue.firstElementChild)}return ne?re.D.hasClass(ne,"p-editable-column")?ne:this.findNextEditableColumn(ne):null}findNextEditableColumnByIndex(u,ne){let ue=u.parentElement?.nextElementSibling;if(ue){let Ie=ue.children[ne];return Ie&&re.D.hasClass(Ie,"p-editable-column")?Ie:null}return null}findPrevEditableColumnByIndex(u,ne){let ue=u.parentElement?.previousElementSibling;if(ue){let Ie=ue.children[ne];return Ie&&re.D.hasClass(Ie,"p-editable-column")?Ie:null}return null}isEnabled(){return!0!==this.pEditableColumnDisabled}ngOnDestroy(){this.dt.overlaySubscription&&this.dt.overlaySubscription.unsubscribe()}static \u0275fac=function(ne){return new(ne||xe)(e.rXU(Ne),e.rXU(e.aKT),e.rXU(e.SKi))};static \u0275dir=e.FsC({type:xe,selectors:[["","pEditableColumn",""]],hostAttrs:[1,"p-element"],hostBindings:function(ne,ue){1&ne&&e.bIt("click",function(nt){return ue.onClick(nt)})("keydown.enter",function(nt){return ue.onEnterKeyDown(nt)})("keydown.tab",function(nt){return ue.onShiftKeyDown(nt)})("keydown.escape",function(nt){return ue.onEscapeKeyDown(nt)})("keydown.shift.tab",function(nt){return ue.onShiftKeyDown(nt)})("keydown.meta.tab",function(nt){return ue.onShiftKeyDown(nt)})("keydown.arrowdown",function(nt){return ue.onArrowDown(nt)})("keydown.arrowup",function(nt){return ue.onArrowUp(nt)})("keydown.arrowleft",function(nt){return ue.onArrowLeft(nt)})("keydown.arrowright",function(nt){return ue.onArrowRight(nt)})},inputs:{data:[e.Mj6.None,"pEditableColumn","data"],field:[e.Mj6.None,"pEditableColumnField","field"],rowIndex:[e.Mj6.None,"pEditableColumnRowIndex","rowIndex"],pEditableColumnDisabled:"pEditableColumnDisabled",pFocusCellSelector:"pFocusCellSelector"},features:[e.OA$]})}return xe})(),Ln=(()=>{class xe{el;data;pEditableRowDisabled;constructor(u){this.el=u}isEnabled(){return!0!==this.pEditableRowDisabled}static \u0275fac=function(ne){return new(ne||xe)(e.rXU(e.aKT))};static \u0275dir=e.FsC({type:xe,selectors:[["","pEditableRow",""]],hostAttrs:[1,"p-element"],inputs:{data:[e.Mj6.None,"pEditableRow","data"],pEditableRowDisabled:"pEditableRowDisabled"}})}return xe})(),En=(()=>{class xe{dt;editableColumn;editableRow;templates;inputTemplate;outputTemplate;constructor(u,ne,ue){this.dt=u,this.editableColumn=ne,this.editableRow=ue}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"input":this.inputTemplate=u.template;break;case"output":this.outputTemplate=u.template}})}get editing(){return this.dt.editingCell&&this.editableColumn&&this.dt.editingCell===this.editableColumn.el.nativeElement||this.editableRow&&"row"===this.dt.editMode&&this.dt.isRowEditing(this.editableRow.data)}static \u0275fac=function(ne){return new(ne||xe)(e.rXU(Ne),e.rXU(Cn,8),e.rXU(Ln,8))};static \u0275cmp=e.VBU({type:xe,selectors:[["p-cellEditor"]],contentQueries:function(ne,ue,Ie){if(1&ne&&e.wni(Ie,Pe.Ei,4),2&ne){let nt;e.mGM(nt=e.lsd())&&(ue.templates=nt)}},hostAttrs:[1,"p-element"],decls:2,vars:2,consts:[[4,"ngIf"],[4,"ngTemplateOutlet"]],template:function(ne,ue){1&ne&&e.DNE(0,Qc,2,1,"ng-container",0)(1,Zl,2,1,"ng-container",0),2&ne&&(e.Y8G("ngIf",ue.editing),e.R7$(),e.Y8G("ngIf",!ue.editing))},dependencies:[M.bT,M.T3],encapsulation:2})}return xe})(),cr=(()=>{class xe{static \u0275fac=function(ne){return new(ne||xe)};static \u0275mod=e.$C({type:xe});static \u0275inj=e.G2t({imports:[M.MD,mt,Ca.u,No,V.YN,Z.tm,Fc,Hi,Ta,zo,zr,Pc,Bl,qr.N,Fs,ta,Bs,ir,Lc,Fo,_a,bl,Pe.Gg,zr]})}return xe})()},54420:(ri,Ft,He)=>{"use strict";He.d(Ft,{BF:()=>M,Q$:()=>Z,_Y:()=>V});class M{static isArray(re,ve=!0){return Array.isArray(re)&&(ve||0!==re.length)}static isObject(re,ve=!0){return"object"==typeof re&&!Array.isArray(re)&&null!=re&&(ve||0!==Object.keys(re).length)}static equals(re,ve,le){return le?this.resolveFieldData(re,le)===this.resolveFieldData(ve,le):this.equalsByValue(re,ve)}static equalsByValue(re,ve){if(re===ve)return!0;if(re&&ve&&"object"==typeof re&&"object"==typeof ve){var pe,J,te,le=Array.isArray(re),fe=Array.isArray(ve);if(le&&fe){if((J=re.length)!=ve.length)return!1;for(pe=J;0!=pe--;)if(!this.equalsByValue(re[pe],ve[pe]))return!1;return!0}if(le!=fe)return!1;var $=this.isDate(re),A=this.isDate(ve);if($!=A)return!1;if($&&A)return re.getTime()==ve.getTime();var B=re instanceof RegExp,F=ve instanceof RegExp;if(B!=F)return!1;if(B&&F)return re.toString()==ve.toString();var L=Object.keys(re);if((J=L.length)!==Object.keys(ve).length)return!1;for(pe=J;0!=pe--;)if(!Object.prototype.hasOwnProperty.call(ve,L[pe]))return!1;for(pe=J;0!=pe--;)if(!this.equalsByValue(re[te=L[pe]],ve[te]))return!1;return!0}return re!=re&&ve!=ve}static resolveFieldData(re,ve){if(re&&ve){if(this.isFunction(ve))return ve(re);if(-1==ve.indexOf("."))return re[ve];{let le=ve.split("."),fe=re;for(let pe=0,J=le.length;pe=re.length&&(le%=re.length,ve%=re.length),re.splice(le,0,re.splice(ve,1)[0]))}static insertIntoOrderedArray(re,ve,le,fe){if(le.length>0){let pe=!1;for(let J=0;Jve){le.splice(J,0,re),pe=!0;break}pe||le.push(re)}else le.push(re)}static findIndexInList(re,ve){let le=-1;if(ve)for(let fe=0;feve?1:0,pe}static sort(re,ve,le=1,fe,pe=1){const J=M.compare(re,ve,fe,le);let te=le;return(M.isEmpty(re)||M.isEmpty(ve))&&(te=1===pe?le:pe),te*J}static merge(re,ve){if(null!=re||null!=ve)return null!=re&&"object"!=typeof re||null!=ve&&"object"!=typeof ve?null!=re&&"string"!=typeof re||null!=ve&&"string"!=typeof ve?ve||re:[re||"",ve||""].join(" "):{...re||{},...ve||{}}}static isPrintableCharacter(re=""){return this.isNotEmpty(re)&&1===re.length&&re.match(/\S| /)}static getItemValue(re,...ve){return this.isFunction(re)?re(...ve):re}static findLastIndex(re,ve){let le=-1;if(this.isNotEmpty(re))try{le=re.findLastIndex(ve)}catch{le=re.lastIndexOf([...re].reverse().find(ve))}return le}static findLast(re,ve){let le;if(this.isNotEmpty(re))try{le=re.findLast(ve)}catch{le=[...re].reverse().find(ve)}return le}static deepEquals(re,ve){if(re===ve)return!0;if(re&&ve&&"object"==typeof re&&"object"==typeof ve){var pe,J,te,le=Array.isArray(re),fe=Array.isArray(ve);if(le&&fe){if((J=re.length)!=ve.length)return!1;for(pe=J;0!=pe--;)if(!this.deepEquals(re[pe],ve[pe]))return!1;return!0}if(le!=fe)return!1;var $=re instanceof Date,A=ve instanceof Date;if($!=A)return!1;if($&&A)return re.getTime()==ve.getTime();var B=re instanceof RegExp,F=ve instanceof RegExp;if(B!=F)return!1;if(B&&F)return re.toString()==ve.toString();var L=Object.keys(re);if((J=L.length)!==Object.keys(ve).length)return!1;for(pe=J;0!=pe--;)if(!Object.prototype.hasOwnProperty.call(ve,L[pe]))return!1;for(pe=J;0!=pe--;)if(!this.deepEquals(re[te=L[pe]],ve[te]))return!1;return!0}return re!=re&&ve!=ve}}var e=0;function V(ie="pn_id_"){return`${ie}${++e}`}var Z=function Pe(){let ie=[];const fe=pe=>pe&&parseInt(pe.style.zIndex,10)||0;return{get:fe,set:(pe,J,te)=>{J&&(J.style.zIndex=String(((pe,J)=>{let te=ie.length>0?ie[ie.length-1]:{key:pe,value:J},$=te.value+(te.key===pe?0:J)+2;return ie.push({key:pe,value:$}),$})(pe,te)))},clear:pe=>{pe&&((pe=>{ie=ie.filter(J=>J.value!==pe)})(fe(pe)),pe.style.zIndex="")},getCurrent:()=>ie.length>0?ie[ie.length-1].value:0}}()},10467:(ri,Ft,He)=>{"use strict";function M(V,Pe,Z,ie,re,ve,le){try{var fe=V[ve](le),pe=fe.value}catch(J){return void Z(J)}fe.done?Pe(pe):Promise.resolve(pe).then(ie,re)}function e(V){return function(){var Pe=this,Z=arguments;return new Promise(function(ie,re){var ve=V.apply(Pe,Z);function le(pe){M(ve,ie,re,le,fe,"next",pe)}function fe(pe){M(ve,ie,re,le,fe,"throw",pe)}le(void 0)})}}He.d(Ft,{A:()=>e})},31635:(ri,Ft,He)=>{"use strict";function Z(C,k,p,S){var Y,j=arguments.length,H=j<3?k:null===S?S=Object.getOwnPropertyDescriptor(k,p):S;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)H=Reflect.decorate(C,k,p,S);else for(var U=C.length-1;U>=0;U--)(Y=C[U])&&(H=(j<3?Y(H):j>3?Y(k,p,H):Y(k,p))||H);return j>3&&H&&Object.defineProperty(k,p,H),H}function J(C,k,p,S){return new(p||(p=Promise))(function(H,Y){function U(X){try{w(S.next(X))}catch(G){Y(G)}}function se(X){try{w(S.throw(X))}catch(G){Y(G)}}function w(X){X.done?H(X.value):function j(H){return H instanceof p?H:new p(function(Y){Y(H)})}(X.value).then(U,se)}w((S=S.apply(C,k||[])).next())})}function E(C){return this instanceof E?(this.v=C,this):new E(C)}function _(C,k,p){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var j,S=p.apply(C,k||[]),H=[];return j={},Y("next"),Y("throw"),Y("return"),j[Symbol.asyncIterator]=function(){return this},j;function Y(x){S[x]&&(j[x]=function(N){return new Promise(function(R,K){H.push([x,N,R,K])>1||U(x,N)})})}function U(x,N){try{!function se(x){x.value instanceof E?Promise.resolve(x.value.v).then(w,X):G(H[0][2],x)}(S[x](N))}catch(R){G(H[0][3],R)}}function w(x){U("next",x)}function X(x){U("throw",x)}function G(x,N){x(N),H.shift(),H.length&&U(H[0][0],H[0][1])}}function T(C){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var p,k=C[Symbol.asyncIterator];return k?k.call(C):(C=function B(C){var k="function"==typeof Symbol&&Symbol.iterator,p=k&&C[k],S=0;if(p)return p.call(C);if(C&&"number"==typeof C.length)return{next:function(){return C&&S>=C.length&&(C=void 0),{value:C&&C[S++],done:!C}}};throw new TypeError(k?"Object is not iterable.":"Symbol.iterator is not defined.")}(C),p={},S("next"),S("throw"),S("return"),p[Symbol.asyncIterator]=function(){return this},p);function S(H){p[H]=C[H]&&function(Y){return new Promise(function(U,se){!function j(H,Y,U,se){Promise.resolve(se).then(function(w){H({value:w,done:U})},Y)}(U,se,(Y=C[H](Y)).done,Y.value)})}}}He.d(Ft,{AQ:()=>_,Cg:()=>Z,N3:()=>E,sH:()=>J,xN:()=>T}),"function"==typeof SuppressedError&&SuppressedError}},ri=>{ri(ri.s=40476)}]); \ No newline at end of file diff --git a/www/z4d/runtime.d2f1aeee7ac9ef47.js b/www/z4d/runtime.d5745d958be89c98.js similarity index 58% rename from www/z4d/runtime.d2f1aeee7ac9ef47.js rename to www/z4d/runtime.d5745d958be89c98.js index a8b9a941c..e8d3a0e41 100644 --- a/www/z4d/runtime.d2f1aeee7ac9ef47.js +++ b/www/z4d/runtime.d5745d958be89c98.js @@ -1 +1 @@ -(()=>{"use strict";var e,g={},m={};function r(e){var o=m[e];if(void 0!==o)return o.exports;var t=m[e]={exports:{}};return g[e].call(t.exports,t,t.exports,r),t.exports}r.m=g,e=[],r.O=(o,t,n,i)=>{if(!t){var a=1/0;for(f=0;f=i)&&Object.keys(r.O).every(b=>r.O[b](t[d]))?t.splice(d--,1):(c=!1,i0&&e[f-1][2]>i;f--)e[f]=e[f-1];e[f]=[t,n,i]},(()=>{var o,e=Object.getPrototypeOf?t=>Object.getPrototypeOf(t):t=>t.__proto__;r.t=function(t,n){if(1&n&&(t=this(t)),8&n||"object"==typeof t&&t&&(4&n&&t.__esModule||16&n&&"function"==typeof t.then))return t;var i=Object.create(null);r.r(i);var f={};o=o||[null,e({}),e([]),e(e)];for(var a=2&n&&t;"object"==typeof a&&!~o.indexOf(a);a=e(a))Object.getOwnPropertyNames(a).forEach(c=>f[c]=()=>t[c]);return f.default=()=>t,r.d(i,f),i}})(),r.d=(e,o)=>{for(var t in o)r.o(o,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:o[t]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((o,t)=>(r.f[t](e,o),o),[])),r.u=e=>(76===e?"common":e)+"."+{12:"445878b6b97c587c",76:"481b903deeb9dee7",317:"59bbe14d2339e649",521:"4a2e700ea1ed6d2d",577:"d8ab166ec1c4b8d8",644:"e5bbcc7e1d18b79d",837:"e9d5b18d020927e4",846:"273fca847945652d",908:"08c26a5f1272a6a5"}[e]+".js",r.miniCssF=e=>{},r.o=(e,o)=>Object.prototype.hasOwnProperty.call(e,o),(()=>{var e={},o="z4d-plugin:";r.l=(t,n,i,f)=>{if(e[t])e[t].push(n);else{var a,c;if(void 0!==i)for(var d=document.getElementsByTagName("script"),l=0;l{a.onerror=a.onload=null,clearTimeout(p);var _=e[t];if(delete e[t],a.parentNode&&a.parentNode.removeChild(a),_&&_.forEach(y=>y(b)),v)return v(b)},p=setTimeout(s.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=s.bind(null,a.onerror),a.onload=s.bind(null,a.onload),c&&document.head.appendChild(a)}}})(),r.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:o=>o},typeof trustedTypes<"u"&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="",(()=>{var e={121:0};r.f.j=(n,i)=>{var f=r.o(e,n)?e[n]:void 0;if(0!==f)if(f)i.push(f[2]);else if(121!=n){var a=new Promise((u,s)=>f=e[n]=[u,s]);i.push(f[2]=a);var c=r.p+r.u(n),d=new Error;r.l(c,u=>{if(r.o(e,n)&&(0!==(f=e[n])&&(e[n]=void 0),f)){var s=u&&("load"===u.type?"missing":u.type),p=u&&u.target&&u.target.src;d.message="Loading chunk "+n+" failed.\n("+s+": "+p+")",d.name="ChunkLoadError",d.type=s,d.request=p,f[1](d)}},"chunk-"+n,n)}else e[n]=0},r.O.j=n=>0===e[n];var o=(n,i)=>{var d,l,[f,a,c]=i,u=0;if(f.some(p=>0!==e[p])){for(d in a)r.o(a,d)&&(r.m[d]=a[d]);if(c)var s=c(r)}for(n&&n(i);u{"use strict";var e,g={},m={};function r(e){var o=m[e];if(void 0!==o)return o.exports;var t=m[e]={exports:{}};return g[e].call(t.exports,t,t.exports,r),t.exports}r.m=g,e=[],r.O=(o,t,n,i)=>{if(!t){var a=1/0;for(f=0;f=i)&&Object.keys(r.O).every(b=>r.O[b](t[d]))?t.splice(d--,1):(l=!1,i0&&e[f-1][2]>i;f--)e[f]=e[f-1];e[f]=[t,n,i]},(()=>{var o,e=Object.getPrototypeOf?t=>Object.getPrototypeOf(t):t=>t.__proto__;r.t=function(t,n){if(1&n&&(t=this(t)),8&n||"object"==typeof t&&t&&(4&n&&t.__esModule||16&n&&"function"==typeof t.then))return t;var i=Object.create(null);r.r(i);var f={};o=o||[null,e({}),e([]),e(e)];for(var a=2&n&&t;"object"==typeof a&&!~o.indexOf(a);a=e(a))Object.getOwnPropertyNames(a).forEach(l=>f[l]=()=>t[l]);return f.default=()=>t,r.d(i,f),i}})(),r.d=(e,o)=>{for(var t in o)r.o(o,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:o[t]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((o,t)=>(r.f[t](e,o),o),[])),r.u=e=>(76===e?"common":e)+"."+{12:"9b43b1ddebc052a8",76:"481b903deeb9dee7",317:"8348e1df39faeac7",521:"3fdfd13040e64239",577:"fa69d399ab88eb5c",644:"06ec887a183e3377",837:"bb9840a9999b6259",846:"79a43d02dda5caf6",908:"bcd45ae997039883"}[e]+".js",r.miniCssF=e=>{},r.o=(e,o)=>Object.prototype.hasOwnProperty.call(e,o),(()=>{var e={},o="z4d-plugin:";r.l=(t,n,i,f)=>{if(e[t])e[t].push(n);else{var a,l;if(void 0!==i)for(var d=document.getElementsByTagName("script"),u=0;u{a.onerror=a.onload=null,clearTimeout(p);var _=e[t];if(delete e[t],a.parentNode&&a.parentNode.removeChild(a),_&&_.forEach(y=>y(b)),v)return v(b)},p=setTimeout(s.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=s.bind(null,a.onerror),a.onload=s.bind(null,a.onload),l&&document.head.appendChild(a)}}})(),r.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:o=>o},typeof trustedTypes<"u"&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="",(()=>{var e={121:0};r.f.j=(n,i)=>{var f=r.o(e,n)?e[n]:void 0;if(0!==f)if(f)i.push(f[2]);else if(121!=n){var a=new Promise((c,s)=>f=e[n]=[c,s]);i.push(f[2]=a);var l=r.p+r.u(n),d=new Error;r.l(l,c=>{if(r.o(e,n)&&(0!==(f=e[n])&&(e[n]=void 0),f)){var s=c&&("load"===c.type?"missing":c.type),p=c&&c.target&&c.target.src;d.message="Loading chunk "+n+" failed.\n("+s+": "+p+")",d.name="ChunkLoadError",d.type=s,d.request=p,f[1](d)}},"chunk-"+n,n)}else e[n]=0},r.O.j=n=>0===e[n];var o=(n,i)=>{var d,u,[f,a,l]=i,c=0;if(f.some(p=>0!==e[p])){for(d in a)r.o(a,d)&&(r.m[d]=a[d]);if(l)var s=l(r)}for(n&&n(i);c